遥测与数据上报
CloudBase CLI 会收集匿名使用数据,用于改进产品体验、定位故障与评估功能使用情况。本文说明上报的内容、脱敏范围,以及如何关闭上报。
上报的内容
CLI 在命令执行过程中(执行成功、失败、以及无效命令)上报以下数据:
| 类别 | 具体内容 |
|---|---|
| 命令调用 | 命令名、子命令、执行耗时、是否成功、错误类型与错误信息(已脱敏) |
| 运行环境 | 操作系统类型与版本、CPU 架构、Node.js 版本、CLI 版本 |
| 设备标识 | 基于主机名、CPU 型号与网卡 MAC 地址计算的 SHA256 哈希(取前 32 位,不可逆) |
| 账号与环境 | 登录账号 ID、当前环境 ID(仅在已登录或已指定环境时上报) |
| 调用方来源 | 识别到的 AI 编程工具名(如 codebuddy)、识别方式与置信度、判定所依据的环境变量名 |
关于「调用方来源」
CLI 会探测当前命令是否运行在 AI 编程工具(如 Cursor、CodeBuddy 等)的会话中,以便改进这些工具下的使用体验。此处仅上报归一化后的工具名(如 codebuddy)与判定依据的环境变量名(用于审计),不上报环境变量的取值。
识别失败时该字段留空,不会用 unknown 之类的占位值填充。
数据脱敏
所有上报数据在发送前都会经过统一脱敏:
- 密钥类字段(SecretId、SecretKey、Token、密码等)整值替换为
[REDACTED] - 命令行参数(
argv):先按参数名脱敏,再做文本模式匹配 —— 覆盖内联在参数里的临时密钥、JWT、长串凭据 - 错误信息与堆栈(
message、stack):按文本模式脱敏其中的密钥 - 形如 JWT 的字 符串整体替换
关闭上报
将环境变量 TCB_DISABLE_REPORT 设为任意非空值,即可关闭全部数据上报。
# 仅对本次命令生效
TCB_DISABLE_REPORT=1 tcb env list
# 对当前终端会话内的所有命令生效
export TCB_DISABLE_REPORT=1
如需长期关闭,可写入 shell 配置文件:
# zsh(macOS 默认)
echo 'export TCB_DISABLE_REPORT=1' >> ~/.zshrc
# bash
echo 'export TCB_DISABLE_REPORT=1' >> ~/.bashrc
关闭后 CLI 不会再发起任何上报请求,所有功能均不受影响。
该变量只要非空即生效 —— 即使是
TCB_DISABLE_REPORT=0或=false也会关闭上报(CLI 判断的是「有没有值」,而不是「值是不是真」)。它优先级最高,其他开关无法覆盖。
上报行为说明
- 上报在后台异步进行,不阻塞命令执行、不影响命令输出
- 上报失败会被静默忽略,不会中断命令,也不会打印错误
- 上报接口为腾讯灯塔(
otheve.beacon.qq.com)