Argent 遥测安全与隐私指南:到底收集了什么,如何为整个团队一键关闭
【免费下载链接】argentAn agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.项目地址: https://gitcode.com/gh_mirrors/arg/argent
Argent 是由 Software Mansion 打造的 AI Agent 移动开发工具包,用于控制、调试和剖析 iOS 与 Android 应用。它默认开启遥测(telemetry),但设计上极其克制:不收集源码、文件路径、工具输入参数或错误内容。本指南带你 5 分钟搞懂 Argent 遥测隐私机制——它到底上报了什么、数据去了哪里,以及如何用一条命令为整个团队一键关闭遥测。
一分钟看懂:Argent 遥测收集什么?
Argent 的遥测定位为「最小化使用统计」,目的是了解功能使用频率、定位安装与工具链故障。完整的官方说明见隐私声明 Telemetry.md,全部事件清单定义在 packages/telemetry/src/events.ts 中。
| 类别 | 收集内容 |
|---|---|
| 🔧 安装与更新 | 安装/更新/卸载的进度:选了哪些选项、成功还是失败、在哪一步取消 |
| 🛠️ 工具调用 | 调用了哪个 Argent 工具、成功还是报错、耗时多久、由哪个 AI 编码工具驱动 |
| 🎨 Lens 设计评审 | 仅聚合计数:提案了多少元素和变体、留了几条评论、一轮评审耗时——从不收集评论文字 |
| 🖥️ 环境信息 | Argent 版本、Node.js 版本、操作系统、是否终端/CI 环境、目标平台类型(iOS/Android/Chromium 等) |
| 📊 诊断 | 错误是否发生(仅事件类型和错误码)、调试器连接状态(固定编码原因) |
| 🆔 标识符 | 安装标识(单向 HMAC-SHA256 哈希,原始设备标识永不上传、不可逆)+ 随机会话 ID |
明确不收集的「红线清单」
官方在 Telemetry.md 中用一整节明确承诺,遥测永远不包含:
- ❌ 工具输入或参数值(校验失败时只记录哪些参数名出错,从不记录你填的值)
- ❌ 文件路径或文件名
- ❌ 源码及其内容
- ❌ 应用数据
- ❌ 设备标识符(硬件 ID、MAC 地址、序列号等)
- ❌ 错误消息的内容或文字
💡 一个细节:设备标识只在本地用于推断「这是模拟器还是真机」,原始值从不离开你的电脑(见 packages/telemetry/src/events.ts 中
device_kind的注释)。
首次运行提示:同意决策链长什么样?
argent init首次运行时,终端会弹出遥测通知并询问「Enable telemetry?」(默认选中 Enabled)。这套交互实现在 packages/argent-installer/src/first-run-notice.ts,提示文案定义在 packages/telemetry/src/notice.ts。
决策优先级(从高到低)设计得非常透明,完整逻辑见 packages/telemetry/src/consent.ts:
--no-telemetry标志:初始化时直接带这个参数,无条件关闭;- 环境变量
DO_NOT_TRACK=1或ARGENT_TELEMETRY=0:优先级高于一切配置文件,CI 场景首选; - 项目/全局配置文件:
.argent/config.json中的telemetry.enabled; - 默认值:都没设置时默认开启。
关键点:每次调用track()前都会重新评估同意状态,所以关闭遥测后无需重启,立即生效。
一键关闭步骤:三条命令管到底
CLI 命令实现位于 packages/argent-cli/src/telemetry.ts,用法极简:
# 1. 查看当前状态(含来源:环境变量?配置文件?还是默认值?) argent telemetry status # 2. 一键关闭(写入全局配置 ~/.argent/config.json,立即永久生效) argent telemetry disable # 3. 想改主意时重新开启 argent telemetry enablestatus输出会告诉你是哪一层策略在生效,例如「config.json (global)」或「environment (DO_NOT_TRACK=1)」,排障时一目了然。官方承诺:关闭遥测不影响 Argent 任何功能。
为整个团队一键关闭:项目级作用域
这是本指南的核心技巧 👇argent telemetry支持--scope参数切换作用域:
# 写入 <项目根目录>/.argent/config.json,提交到仓库即可覆盖所有克隆者 argent telemetry disable --scope project提交后,任何git clone该仓库的同事,其机器上的遥测都会自动保持关闭——无需任何额外沟通。
这套机制采用「限制性合并」策略(false优先):
- 项目级
false覆盖所有人的全局设置,团队成员的 opt-out 在每台机器上持续生效; - 反过来,项目文件无法重新开启已被个人全局关闭的遥测——个人意愿永远优先;
- 两层任一为
false,遥测即为关闭状态。
对于 CI/CD 流水线,推荐更彻底的方式:在 CI 环境全局设置DO_NOT_TRACK=1,它拥有最高优先级,任何配置都无法覆盖(相关实现见 packages/telemetry/src/consent.ts 中getConsentState的优先级判断)。
数据去了哪里?保留多久?
根据 Telemetry.md 隐私声明:
- 📡 数据通过OpenTelemetry(OTLP)协议发送到 Software Mansion 自建的遥测收集端点,不经过任何第三方产品分析平台;
- 🔒 端点与鉴权令牌在代码中硬编码(见 packages/telemetry/src/otel.ts),防止被环境变量劫持改道——这是刻意的防数据外泄设计;
- 🌍 数据存储在欧洲经济区(EEA)境内;
- ⏳ 保留期为72 个月,之后删除或聚合为不可识别的统计值;
- 🚫 不用于广告、营销、用户画像或自动决策,也不与任何账号关联。
快速自查清单
完成以下三步,你的 Argent 隐私设置就无懈可击了:
- 运行
argent telemetry status,确认state: disabled; - 团队仓库中已提交包含
telemetry.enabled: false的.argent/config.json(--scope project一条命令搞定); - CI 环境变量中已加入
DO_NOT_TRACK=1。
Argent 的隐私设计哲学很清晰:默认开启但最小化收集,退出永远是一步之遥。了解机制之后,你可以根据团队合规要求自由决定开关——无论怎么选,工具功能都不打折扣。
【免费下载链接】argentAn agentic toolkit to control, debug, and profile iOS and Android apps. Made by Software Mansion.项目地址: https://gitcode.com/gh_mirrors/arg/argent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考