GitHub CLI 现在收集伪匿名遥测

发布: (2026年4月22日 GMT+8 19:58)
4 分钟阅读

Source: Hacker News

Telemetry

GitHub CLI 会发送伪匿名遥测数据,以帮助我们改进产品。我们希望您了解发送了哪些信息以及原因。

为什么收集遥测

随着 GitHub CLI 的自主采用不断增长,我们的团队需要了解功能在实际使用中的情况。我们使用这些数据来:

  • 确定工作优先级
  • 评估功能是否满足真实用户需求

例如,当我们发布一个新子命令时,我们想了解是否有人在使用它以及如何使用。如果采纳率低,我们就知道需要重新审视该功能的可发现性或设计。如果某个子命令在特定标志下使用频繁,这会告诉我们应在何处投入更好的体验。

查看遥测

GitHub CLI 是开源的;您可以在 cli/cli 仓库中查看遥测实现。如果您想在不实际发送的情况下查看将会发送的内容,可通过环境变量或配置选项启用日志模式。

环境变量

export GH_TELEMETRY=log

CLI 配置

gh config set telemetry log

在日志模式下,原本会发送的 JSON 负载会打印到 stderr。这让您在决定是否保持遥测开启之前检查每个字段,例如:

GH_TELEMETRY=log gh repo list --archived

该命令会输出类似以下内容:

Telemetry payload:
{
  "events": [
    {
      "type": "command_invocation",
      "dimensions": {
        "agent": "",
        "architecture": "arm64",
        "command": "gh repo list",
        "device_id": "1e9a73a6-c8bd-4e1e-be02-78f4b11de4e1",
        "flags": "archived",
        "invocation_id": "eda780f5-27f9-433c-a7ae-7a033361e572",
        "is_tty": "true",
        "os": "darwin",
        "timestamp": "2026-04-16T14:55:13.418Z",
        "version": "2.91.0"
      }
    }
  ]
}

注意: 此命令只能记录其运行时的确切命令和上下文的遥测。更改环境变量、认证账户或其他因素可能会改变负载中包含的事件和维度。

如何选择退出

您可以通过环境变量或配置选项来退出遥测。

环境变量

export GH_TELEMETRY=false

任何假值均可生效:0falsedisabled 或空字符串。您也可以使用 DO_NOT_TRACK 约定:

export DO_NOT_TRACK=true

CLI 配置

gh config set telemetry disabled

注意: 环境变量的优先级高于配置值。

数据发送位置

遥测事件会发送到 GitHub 的内部分析基础设施。有关 GitHub 如何处理您的数据的更多信息,请参阅 GitHub 通用隐私声明

附加信息

  • GitHub CLI 允许您通过安装 GitHub 和第三方扩展(包括代理)来添加功能。这些扩展可能会收集它们自己的使用数据,且不受退出遥测的控制。请查阅各扩展的文档以了解其遥测报告及禁用方法。
  • 本页描述的是 GitHub CLI(gh)的客户端数据收集。它 不适用于 GitHub Copilot 或 Copilot CLI,后者有独立的数据收集方式。有关 Copilot CLI 的信息,请参阅:
0 浏览
Back to Blog

相关文章

阅读更多 »

Zed 中的并行代理

Zed 现在允许您在同一窗口中并行运行多个代理/并行代理。全新的 Threads Sidebar 可让您精确控制哪些…

灯光,摄像,开源!

他们探讨了开源项目及其维护者为何对观众来说是如此有趣的故事,以及作为局外人如何帮助他们讲述这些……