TREG_TELEMETRY=0关闭treg遥测:隐私设置与数据收集说明
【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg
treg(tools-registry)是一个开源的 Agent 工具注册中心,口号是 "OpenRouter for agent tools"——用一把统一的密钥调用 2000+ 工具 API。它的 CLI 在使用官方托管服务时会向 PostHog 发送匿名遥测数据(命令名、退出码、耗时等),而通过设置环境变量TREG_TELEMETRY=0或DO_NOT_TRACK=1就能一键关闭遥测。本文完整讲清:treg 收集什么、不收集什么,以及如何快速关闭 treg 数据收集。
treg 遥测到底收集哪些数据?
先说结论:treg CLI 的遥测是尽力而为的匿名统计,源码在 cli_analytics.py 中实现。每次命令执行后,它会发送一个cli_command_completed事件,内容只有:
| 收集项 | 说明 |
|---|---|
| 命令名 | 固定的命令标识,如version、call |
| 退出码 / 成功标志 | 判断命令是否成功 |
| 执行耗时 | 毫秒级 |
| CLI 版本、操作系统 | 如0.19.0、Linux |
| 本地安装 ID | 随机 UUID,保存在配置目录旁的analytics-id文件 |
而以下内容明确不收集(这一点在 USAGE.md 和 cli.md 中有明文说明):
- ❌ 命令行参数(比如你传入的密钥名、参数值)
- ❌ 凭证、Token、请求/响应内容
- ❌ 文件路径、邮箱、团队标识
项目自带的测试 test_cli_analytics.py 还会专门验证"参数内容永远不会进入事件",例如断言secret add private-name --value secret-token后,private-name和secret-token都不出现在上报数据中。🔒
如何快速关闭 treg 遥测(TREG_TELEMETRY=0)
关闭方法非常简单,任选其一即可:
# 方法一:推荐,显式关闭遥测 export TREG_TELEMETRY=0 # 方法二:遵循业界通用的 DNT 约定 export DO_NOT_TRACK=1几个值得了解的细节(见 cli_analytics.py):
TREG_TELEMETRY接受0、false、off三种值(不区分大小写),都能生效- 关闭后不仅停止上报,连本地
analytics-id文件的创建都会被跳过(测试test_disabled_has_no_side_effects专门验证了"无任何副作用") - 官方 README.md 也写明:The CLI sends anonymous command usage to PostHog when using treg.to. Disable with
TREG_TELEMETRY=0orDO_NOT_TRACK=1
💡小贴士:如果不想污染全局环境,也可以在单次命令前临时设置,例如TREG_TELEMETRY=0 treg version。
遥测只在官方托管模式下默认开启
这一点容易被忽略:遥测开关与你连接的是哪个注册中心有关。
- 官方托管(
https://treg.to及其别名):默认使用内置的公共 PostHog 采集密钥上报 - 自部署注册中心:默认完全不上报——除非你主动设置
TREG_CLI_POSTHOG_KEY(并可选TREG_CLI_POSTHOG_HOST)指向自己的 PostHog 项目
也就是说,自托管用户天然就是"零遥测"状态,只有官方托管用户需要决定是否关闭。📦
关闭遥测对性能有影响吗?
几乎没有,放心关。遥测的设计原则是"绝不影响命令本身":
- 上报在守护线程中执行,网络请求超时 0.2 秒,命令退出时最多等待 1 秒
- 网络慢或离线时,事件会被直接丢弃,不重试
- 任何上报失败都是静默的,不会改变命令输出或退出状态
相关行为由测试 test_cli_analytics.py 中的test_slow_ingestion_does_not_block_exit和test_sdk_failure_is_silent保证。
如何验证遥测已关闭?
验证方法很直观——关闭后不应再产生任何上报事件。你可以观察两点:
- 配置文件目录:关闭模式下不再新建
analytics-id文件(已存在的旧 ID 文件不会被删除,也不会有新数据带它上报) - 抓包观察:使用
TREG_CLI_POSTHOG_HOST指向本地服务,确认设置TREG_TELEMETRY=0后没有任何cli_command_completed请求发出(这正是官方测试 test_cli_analytics.py 的验证思路)
常见问题(FAQ)
Q1:关闭遥测会影响 treg 的正常使用吗?
不会。遥测与登录、密钥、调用完全解耦,treg call、treg tool add等功能均不受任何影响。
Q2:TREG_TELEMETRY=0和DO_NOT_TRACK=1有区别吗?
功能上没有区别,两者都会在 cli_analytics.py 中被优先检查并直接返回。DO_NOT_TRACK=1更符合跨工具的隐私约定,适合希望"一套环境变量管所有工具"的用户。
Q3:遥测数据存在哪里?能要求删除吗?
数据通过 PostHog(欧盟端点eu.i.posthog.com)接收,本地仅存一个随机 UUID。由于 ID 与登录状态无关、也不含个人信息,它本身无法定位到你的身份。
总结:一张表看懂 treg 隐私设置
| 场景 | 遥测行为 | 推荐操作 |
|---|---|---|
| 官方托管 + 默认 | 上报匿名命令统计 | 介意则设置TREG_TELEMETRY=0 |
| 官方托管 + 已关闭 | 不上报、不创建 ID | 无需额外操作 |
| 自部署注册中心 | 默认不上报 | 无需额外操作 |
| CI/测试环境 | 项目测试已全局禁用 | 参考 tests/conftest.py |
一句话总结:treg 的数据收集是"最小化 + 可关闭"的——默认只收集匿名命令统计,设置TREG_TELEMETRY=0即可彻底关闭且无任何副作用。如果你更关心完整的 CLI 参数与隐私边界,建议通读 USAGE.md 的 "Anonymous usage analytics" 章节。
【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考