# GitHub CLI 遥测

GitHub CLI 发送伪匿名遥测数据，用于帮助改进产品。 了解收集的数据以及如何选择退出。

## 为什么 GitHub CLI 收集遥测数据

随着 GitHub CLI 在智能体领域的采用率不断增长，深入了解各项功能在实际中的使用情况，将有助于 GitHub 改进产品。 遥测数据可帮助我们确定开发工作的优先级，并评估功能是否符合实际用户需求。

例如，当新的子命令交付时，遥测会显示是否有人使用它以及如何使用它。 如果采用率较低，则表明需要重新访问该功能的可发现性或设计。 如果某个子命令在搭配特定选项时被广泛使用，则说明应该专注于提升相关用户体验。

> \[!IMPORTANT]
> 当目标为GitHub Enterprise Server或用户使用主机进行身份验证GitHub CLIGitHub Enterprise Server时，不会收集遥测数据。

## 审阅遥测数据

GitHub CLI 是开源的。 可以在 [cli/cli](https://github.com/cli/cli) 存储库中查看遥测实现。 如果想要确切地查看在未实际发送的情况下发送的内容，可以使用环境变量或配置选项启用日志记录模式。

**环境变量：**

```shell
export GH_TELEMETRY=log
```

**CLI 配置：**

```shell
gh config set telemetry log
```

在日志记录模式下，通常发送的 JSON 有效负载会被输出到 stderr。 这允许在决定是否启用遥测之前检查每个字段。 例如：

```shell
GH_TELEMETRY=log gh skill install github/awesome-copilot git-commit --agent github-copilot --scope project
```

这会打印如下内容：

```text
Telemetry payload:
{
  "events": [
    {
      "type": "skill_install",
      "dimensions": {
        "agent": "",
        "agent_hosts": "github-copilot",
        "architecture": "arm64",
        "ci": "false",
        "device_id": "1e9a73a6-c8bd-4e1e-be02-78f4b11de4e1",
        "github_actions": "false",
        "invocation_id": "96d4862f-26c9-4385-961d-d749ae519c81",
        "is_tty": "true",
        "os": "darwin",
        "repo_visibility": "public",
        "skill_host_type": "github.com",
        "skill_names": "git-commit",
        "skill_owner": "github",
        "skill_repo": "awesome-copilot",
        "timestamp": "2026-04-24T11:54:51.057Z",
        "upstream_source": "none",
        "version": "2.91.0"
      }
    },
    {
      "type": "command_invocation",
      "dimensions": {
        "agent": "",
        "architecture": "arm64",
        "ci": "false",
        "command": "gh skill install",
        "device_id": "1e9a73a6-c8bd-4e1e-be02-78f4b11de4e1",
        "flags": "agent,scope",
        "github_actions": "false",
        "invocation_id": "96d4862f-26c9-4385-961d-d749ae519c81",
        "is_tty": "true",
        "os": "darwin",
        "timestamp": "2026-04-24T11:54:51.057Z",
        "version": "2.91.0"
      }
    }
  ]
}
```

某些命令可能包含基于上下文的其他遥测维度。 在此示例中，由于 `repo_visibility` 为 `public`，因此包含 `skill_` 字段。

> \[!NOTE]
> 此命令只能记录运行它的确切命令和上下文的遥测数据。 更改环境变量或经过身份验证的帐户可能会更改有效负载中包含的事件和事件维度。

## 如何选择退出

你可以使用环境变量或配置选项，选择不参与上述 `log` 模式中所展示的遥测收集。

**环境变量：**

```shell
export GH_TELEMETRY=false
```

任何虚构值都有效： `0`、 `false`、 `disabled`或空字符串。 你还可以使用 `DO_NOT_TRACK` 这种约定：

```shell
export DO_NOT_TRACK=true
```

**CLI 配置：**

```shell
gh config set telemetry disabled
```

> \[!NOTE]
> 环境变量优先于配置值。

## 发送数据的位置

遥测事件将发送到 GitHub内部分析基础结构。 如何处理您的数据的更多信息，请参阅 GitHub 和 [GitHub 一般隐私声明](/zh/site-policy/privacy-policies/github-general-privacy-statement)。

## 其他信息

GitHub CLI 允许您通过安装由GitHub开发的扩展和第三方扩展（包括代理）向产品添加功能。 这些扩展可能会收集其自己的使用情况数据，并且不受选择退出的控制。请参阅特定扩展的文档，了解其遥测报告及其是否可以禁用。

本页描述了GitHub CLI的客户端数据收集（`gh`）。 它不适用于 GitHub Copilot 或 GitHub Copilot 命令行界面 (CLI)，因为它们分别处理数据收集。 有关该 GitHub Copilot 命令行界面 (CLI)信息，请参阅 [关于 GitHub Copilot CLI](/zh/copilot/concepts/agents/copilot-cli/about-copilot-cli) 和 [应用卡片：GitHub Copilot 智能体](/zh/copilot/responsible-use/copilot-cli)。