尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
如何看懂 CodeWhale 遥测设计:opt-in 采集、golden 信封与一键 kill switch 完全指南
如何看懂 CodeWhale 遥测设计opt-in 采集、golden 信封与一键 kill switch 完全指南【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/CodewhaleCodeWhale 是一个用 Rust 编写的开源终端 AI 编码代理。本文带你读懂它遥测设计的三大核心机制opt-in 采集政策、golden 信封封闭 schema和一键 kill switch终止开关——即使统计默认开启你的代码、对话和凭据也永远不会离开本机。一、遥测政策为什么默认开启却敢于公开很多开源工具要么悄悄收集要么把隐私选项藏得很深。CodeWhale 的做法是默认开启 明确告知 随时退出首次交互启动时会显示一条本地化、非阻塞的告知notice version5明确列出 Codewhale 与 PostHog并直接提供关闭入口你此前的明确退出telemetry false跨版本升级持续生效隐私状态不可读时系统失败关闭fail closed——宁可关闭也不猜。一句话显示告知 ≠ 记录同意退出记录才是一票否决。相关规则定义在 crates/telemetry/src/notice.rs。二、golden 信封一次 POST 到底发什么所有界面上报的批次共用同一个信封envelope长这样节选{ schema_version: 3, notice_version: 5, sent_at: 2026-08-03T18:04:11Z, install_id: 3f2a9c1e-…-000000000001, app_version: 0.9.4, git_sha: null, surface: tui, os: macos, arch: aarch64, libc: none, tty: true, events: [ … ] }这个 schema 最狠的三点设计含义 全封闭字段除app_version、git_sha、panic_site三个有界字符串外全部是整数、布尔或封闭枚举——没有自由文本字段也没有开放键映射 六类事件install_or_upgrade、session_start、session_end、panic、product_usage、operations_summary多一个都会被拒绝️ 文档即契约测试直接解析 docs/TELEMETRY.md 里的字段名与实际序列化结构体做集合相等断言文档与代码漂移 构建失败固定样例批次golden snapshot就存放在仓库里crates/telemetry/tests/golden/v3.json接收端还会用客户端自己的 golden 批次做逐字节回灌测试——客户端、文档、服务端三者无法悄悄漂移。 关于git_sha只有发布构建Release CI 打 SHA 戳的二进制才非空本地构建无条件为 null且绝不取用户工作区的提交号——那是一条红线。事件都是计数器不是时间线主力事件session_end一次性汇总整段会话时长分桶、退出类别、提供商类型仅枚举名永不发模型 ID、功能计数器如turns、tool_calls和错误计数器仅变体判别值。没有逐回合、逐工具调用的时间线事件本身不携带任何时间戳。三、一键 kill switch三种关闭方式对比方式命令效果是否擦除本地数据⭐ opt-out持久退出codewhale config set telemetry false停采集 写 tombstone 墓碑✅ 删除 install_id、清空缓冲区擦除失败即关闭 环境变量 kill switchCODEWHALE_TELEMETRY0 codewhale仅本次运行关闭❌ 磁盘什么都不动 命令行 flagcodewhale --telemetry false单条命令关闭❌ 同上设计意图很清晰会删数据的开关必须显式持久而脚本/agent 临时设置的开关绝不能悄悄毁掉机器主人的记录。kill switch 里拼写错误的环境变量值一律解析为 off——终止开关里的 typo 绝不能变成 on。另外两个细节值得点赞仓库无法替你打开遥测仓库本地的.codewhale/config.toml和工作区.env被禁止设置telemetry与telemetry_endpoint别人的仓库不能把遥测指向他们选定的主机dry-run 审计模式把telemetry_endpoint设为空字符串批次会逐字节写入本机$CODEWHALE_HOME/telemetry/dryrun.jsonl与服务端本会收到的完全一致且永不构造任何 HTTP 客户端——这是你对照现实审计文档的方式。四、数据放哪占多少磁盘全部本地状态都在$CODEWHALE_HOME/telemetry/目录0700、文件0600文件作用buffer.jsonl待发送事件每行一个 JSON 对象dryrun.jsonl端点为空时的本地批次落点install_id.json随机 v4 UUID 及铸造时间state.json上次版本与上次 flush 尝试disabledtombstone存在即代表一切停止 两个 JSONL 都是环形缓冲512 条或 256 KiB 先到先截整个目录占用上限约 512 KiB 几百字节元数据 install_id 是纯随机 UUID绝不从主机名、MAC、machine-id、用户名等派生派生 id 设备指纹且每 90 天强制轮换⏱️ 网络发送只在会话退出时尝试一次限时 3 秒失败即丢弃批次不重试、不重排队离线机器永不积压队列。五、永不收集的红线清单docs/TELEMETRY.md 用一整段文字列出永不收集的内容提示词、补全、代码、工具参数、diff、文件内容、文件名/路径/仓库名/分支名、git remote、聊天历史、API 密钥与 token、任意模型 ID、MCP 服务器名/命令/URL、审批规则文本、错误信息原文、panic 消息文本、按键、剪贴板、截图、麦克风、摄像头、位置……接收端 telemetry-ingest/一个完整的 Cloudflare Worker源码就在这个仓库里还会做双重保险封闭字段校验批次里出现任何未知键整批400拒绝——未来客户端 bug 想偷塞一个路径或提示词会被服务端拒收而不是悄悄入库入口即剥离 IP存储行里根本没有 IP/国家/地区列handler 只读content-type与content-length两个请求头全源码无日志调用还有测试no-ip.test.ts读源码文本发现地址/地理字样直接让构建失败保留期 3 个月这是存储引擎的固定窗口是上限而非可调策略。六、想继续深挖关键文件导航资料路径遥测总文档英文即 schema 契约docs/TELEMETRY.md遥测总文档简体中文docs/zh_hans/TELEMETRY.md事件与信封定义crates/telemetry/src/event.rs、crates/telemetry/src/envelope.rs发送前决策逻辑crates/telemetry/src/decision.rs契约测试文档-代码对齐crates/telemetry/src/tests.rs接收端点校验器与说明telemetry-ingest/src/schema.ts、telemetry-ingest/README.mdpanic 事件钩子示例锚点crates/tui/src/lib.rs小结CodeWhale 的遥测设计可以浓缩成三句话默认开启但有明确告知与一键退出发送内容被封闭 schema 和 golden 测试钉死接收端在结构上就存不下 IP 和自由文本。对新手来说最实用的操作只有两条——不想被统计就执行codewhale config set telemetry false想自己验证线上数据形态就设telemetry_endpoint 看本地 dry-run 文件。【免费下载链接】CodewhaleOpen-source coding agent for your terminal, built in Rust and on a journey of continuous community improvement. Issues and PRs welcome.项目地址: https://gitcode.com/GitHub_Trending/de/Codewhale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

微信小程序波形播放器源码解析:音频控制与Canvas绘制

微信小程序波形播放器源码解析:音频控制与Canvas绘制

简介:基于微信小程序开发的带音频波形图的音乐播放器项目源码,面向小程序初学者与希望提升音频可视化能力的开发者。项目完整展示音频加载、播放、暂停、进度控制,并借助采样数据实时绘制波形图,帮助理解小程序音频接口与Canvas绘…

📅 2026/9/15 20:05:42
Windows开机自启动怎么关?三个入口和四个藏身位置全解析

Windows开机自启动怎么关?三个入口和四个藏身位置全解析

开机自启动这个事儿,几乎每个用Windows的人都遇到过。装个软件,明明只是偶尔用一次,结果每次开机它都抢着报到,硬盘灯狂闪、风扇狂转、右下角弹窗一个接一个。更烦的是,你想关掉它,打开任务管理器一看&…

📅 2026/9/15 20:00:42
Loop:免费开源的 macOS 窗口管理工具,3 秒摆好一个窗口

Loop:免费开源的 macOS 窗口管理工具,3 秒摆好一个窗口

Loop:免费开源的 macOS 窗口管理工具,3 秒摆好一个窗口 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 场景:屏幕上一堆窗口,往哪拖 下午的代码、文档、…

📅 2026/9/15 20:00:42
MORE NEWS

更多资讯

📰

Sine混沌麻雀搜索优化BP神经网络回归预测MATLAB实现

简介:基于Sine混沌映射改进的麻雀搜索算法SSA优化BP神经网络的MATLAB实现代码包,面向需要提升回归预测精度的研究人员、算法学习者及MATLAB开发者。资源将混沌映射的全局探索能力与SSA快速收敛特性结合,针对BP神经网络易陷入局部最优和收敛慢…

📰

网站“不安全”提示?SSL配置问题排查与Nginx部署指南

网站提示不安全?根源大概率是SSL配置做网站这些年,最常被朋友喊去救火的问题之一,就是浏览器地址栏里那个刺眼的“不安全”提示。用户访问站点时看到“您的连接不是私密连接”或者“NET::ERR_CERT_DATE_INVALID”,第一反应是网站被…

📰

Python实现AES-128加密算法:从Rijndael原理到代码实践

简介:这是一份基于Rijndael算法实现AES(128)加密/解密功能的Python源码工具包,面向学习对称加密原理的初学者,以及需要在项目中快速集成加密能力的开发者。工具严格遵循AES-128标准规范,采用128位密钥,在合理使用下具备…

📰

Lighttools光学仿真:矩形阵列与条形光源联合照明设计

1. 项目概述前阵子一直在折腾Lighttools 8.4.0的光学仿真,起因是想验证一个实际照明方案:在一个矩形工作台面上,同时用条形光源做主照明,再用矩形阵列光源做局部补光,最后看合成后的照度分布是否均匀。这个项目说复杂不…

📰

3DMax从零制作马克杯:建模、材质、渲染全流程实战

聊到 3DMax 马克杯制作,估计不少刚接触三维设计的朋友第一反应都是“一个杯子而已,拉个圆柱掏个洞不就完事了?”真上手了才发现,不是杯把接缝处穿帮,就是渲染出来陶瓷质感假得要命,导进其他软件后比例还莫名…

📰

MFC扫雷实战:Windows原生GUI开发最小闭环

简介:本资源是一份基于MFC框架开发的Windows桌面版扫雷游戏完整工程,面向C初学者与MFC入门学习者,用于实践Windows GUI编程、消息响应机制及GDI绘图技术。项目代码结构清晰,包含标准文档/视图架构(Doc/View&#xff09…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬