注意
此功能目前处于技术预览版,可能会发生更改。
您可以将 Copilot CLI 配置为在断连或物理隔离环境中与 GitHub Enterprise Server 配合使用,而无需连接到 GitHub Cloud。 管理员为实例配置模型提供程序,用户使用其Copilot CLI凭据进行连接GitHub Enterprise Server。
设置此功能涉及两个角色:
- 管理员:使用
ghe-config配置实例上的GitHub Enterprise Server模型提供程序。 这是一次性设置,需要管理 SSH 访问权限。 - 最终用户:设置本地计算机上的环境变量以连接到 Copilot CLI 实例。
先决条件
- 你拥有对 GitHub Enterprise Server 实例的 SSH 管理访问权限。
- 你拥有受支持 LLM 提供程序的 API 密钥。
- Copilot CLI 安装在客户端计算机上。 请参阅“安装 GitHub Copilot CLI”。
- GitHub CLI(
gh)安装在客户端计算机上。 请参阅GitHub CLI文档中的GitHub CLI手册。
有关支持的提供程序和模型要求的信息,请参阅 在 GitHub Copilot CLI 中使用自己的 LLM 模型。
配置您的 GitHub Enterprise Server 实例
此步骤适用于实例的 GitHub Enterprise Server 操作员或管理员。
通过管理 SSH 访问 GitHub Enterprise Server 实例,使用以下 ghe-config 值配置模型提供程序。 配置后,运行 ghe-config-apply 以应用更改。
| 变量名称 | 必需 | 选项 | Description |
|---|---|---|---|
app.copilot-proxy.enabled | 是的 | ||
true、false | 启用或禁用该功能。 | ||
app.copilot-proxy.endpoint-url | 是的 | URI | 完整的上游基础 URL,包括任何版本前缀(例如,https:/)。 |
secrets.copilot-proxy.endpoint-key | 是的 | String | 上游服务提供商的 API 密钥。 |
app.copilot-proxy.provider-model-id | 是的 | String | |
| Copilot CLI 在内部查找模型时使用的提供程序模型 ID。 | |||
app.copilot-proxy.provider-type | 是的 | ||
openai、azure、anthropic | 提供程序类型。 OpenAI 包括 OpenAI、Ollama、vLLM、Foundry Local,以及任何其他兼容 OpenAI Chat Completions API 的端点。 | ||
app.copilot-proxy.upstream-timeout | 否 | 整数,以秒为单位 | 上游请求的读取/发送超时时间(秒)。 如果未设置,请回退到默认超时。 |
app.copilot-proxy.provider-wire-api | 否 | ||
completions、responses | 提供方的线传输 API 格式。 | ||
app.copilot-proxy.provider-wire-model | 否 | String | 如果发送给上游提供方的模型标识符与内部模型 ID 不同,则覆盖该模型标识符。 |
app.copilot-proxy.enable-upstream-probe | 否 | ||
true、false | 启用或禁用启动上游探测。 默认为启用。 禁用时,将跳过启动探测。 |
例如,以下命令配置 OpenAI 提供程序。
ghe-config app.copilot-proxy.enabled true
ghe-config app.copilot-proxy.endpoint-url 'https://api.openai.com/v1'
ghe-config secrets.copilot-proxy.endpoint-key 'YOUR-API-KEY'
ghe-config app.copilot-proxy.provider-model-id 'gpt-5.5'
ghe-config app.copilot-proxy.provider-wire-model 'gpt-5.5'
ghe-config app.copilot-proxy.provider-type openai
ghe-config app.copilot-proxy.upstream-timeout 300
ghe-config app.copilot-proxy.enable-upstream-probe false
ghe-config-apply
在应用该配置之前,请将 YOUR-API-KEY 替换为真实的 API 密钥。
配置您的 Copilot CLI 客户端(终端用户)
在启动Copilot CLI之前,请设置以下环境变量,将GitHub Enterprise Server配置为连接到您的Copilot CLI实例。
| 环境变量 | 必需 | Description |
|---|---|---|
COPILOT_PROVIDER_ | 是的 | 实例的 GitHub Enterprise Server 主机名。 |
COPILOT_PROVIDER_ | 是的 | 用于 personal access token 实例的 GitHub Enterprise Server。 此令牌用于对发送到该实例的请求进行身份验证。 |
COPILOT_OFFLINE | 是的 | 启用脱机模式。 仅当启用脱机模式时,提供程序 GitHub Enterprise Server 才处于活动状态。 |
了解客户端(最终用户)令牌
Copilot CLI 需要访问 LLM 推理,因此 COPILOT_PROVIDER_GHES_TOKEN 始终是必需的。 你可能也非常希望 Copilot CLI 执行 GitHub 诸如创建问题、拉取请求和搜索存储库等操作。 此类操作可以通过 GitHub CLI 进行。
建议优先运行 gh auth login --hostname YOUR-GHES-HOSTNAME。 成功后,下一步是将 COPILOT_PROVIDER_GHES_TOKEN 设置为在 gh auth login --hostname YOUR-GHES-HOSTNAME 中生成的令牌。 动态获取令牌比从 ~/.config/gh/hosts.yml 复制令牌更安全。 您可以通过使用COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)"来实现。
或者,您可以在 personal access token 实例上生成一个 GitHub Enterprise Server,将该令牌设为 COPILOT_PROVIDER_GHES_TOKEN,并在运行 gh auth login --hostname YOUR-GHES-HOSTNAME 时使用同一个令牌。
在以交互方式使用 Copilot CLI 时,上述方法有效。 对于自动化,需要以不同的方式执行一些操作:
- 将
GITHUB_ENTERPRISE_TOKEN(或GH_ENTERPRISE_TOKEN)设为personal access token。 - 将
GH_HOST设置为您的服务器主机名。 - 当针对同一主机同时存在
GH_ENTERPRISE_TOKEN凭据和gh auth login凭据时,环境变量具有更高的优先级。
建议的最终用户设置
-
进行身份验证GitHub CLI。
gh auth login --hostname YOUR-GHES-HOSTNAME -
设置 Copilot CLI 所需的环境变量。
export COPILOT_PROVIDER_GHES_HOST=YOUR-GHES-HOSTNAME export COPILOT_PROVIDER_GHES_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" export COPILOT_OFFLINE=true如果你已使用
gh auth login通过多个帐户完成身份验证,则可以将GH_HOST设置为你的服务器主机名,并将GH_ENTERPRISE_TOKEN(或"$(gh auth token --hostname YOUR-GHES-HOSTNAME)")设置为GITHUB_ENTERPRISE_TOKEN。 这样可确保 GitHub CLI 以 GitHub Enterprise Server 实例为目标。export GH_HOST=YOUR-GHES-HOSTNAME export GH_ENTERPRISE_TOKEN="$(gh auth token --hostname YOUR-GHES-HOSTNAME)" -
启动 Copilot CLI。
copilot
可以将整个设置作为脚本运行。
Examples
如果 GitHub Enterprise Server 和你的 Copilot CLI 配置都正确,那么你应该会在 Copilot CLI 会话中看到如下所示的响应。
• fabric-core-mcp — disabled
• powerbi-mcp — disabled
• slack — connected
● Current model: gpt-5.5
❯ Hello 13:31
● Hello!
❯ what is going on in github/codeql-action repo? 13:33
● I’ll check recent repository activity on the GHES host: repo metadata, open
PRs/issues, and latest commits.
$ Shell Fetch repo metadata 2 lines… 5s
gh api --hostname "$GH_HOST" repos/github/codeql-action --jq '{name_with_own…
GitHub Enterprise Server 支持的功能
有关 Copilot CLI 功能的最新信息,请参阅 GitHub Copilot CLI,以其作为主要准确信息来源。 通常,在 GitHub 离线配置中,任何依赖于连接到 GitHub Enterprise Server 云服务的功能均不可用。
下表对 GitHub Enterprise Server 产品/服务中可提供的内容作了方向性概览。
| 能力 | GitHub / GitHub Enterprise Cloud | GitHub Enterprise Server |
|---|---|---|
| AI 辅助编码(提示、代码生成、调试) | ||
| Shell 命令和文件操作 | ||
GitHub 操作(问题、PR、存储库)通过 gh CLI | ||
(需要已通过该实例身份验证的 gh CLI) | ||
| GitHub MCP 服务器工具 | ||
| Web 搜索和 Web 提取 | ||
| Copilot 模型选择(由 GitHub 托管的模型) | ||
| 遥测和使用情况报告 | ||
| 自动更新 |