Skip to content

Copilot CLI 不只能用 GitHub 内置模型,通过四个环境变量可以接入任何 OpenAI 兼容的模型端点——包括 Azure OpenAI、Anthropic API 和本地 Ollama。对于想用自托管模型或特定版本模型的团队,这是一个重要的自由度。

GitHub Copilot CLI BYOK 自定义模型:接入 OpenAI、Anthropic 或本地 Ollama

什么是 BYOK

BYOK(Bring Your Own Key)模式允许你绕过 GitHub 内置的模型,使用自己的 API Key 或私有模型端点。适合场景:

  • 需要使用特定版本的模型(而不是 GitHub 默认提供的版本)
  • 使用公司内部部署的大模型(Ollama、vLLM 等)
  • 希望通过私有 Azure OpenAI 端点处理敏感代码
  • 降低成本:直接调用模型 API,跳过 Copilot 的 Premium Requests 计费

注意:模型必须支持工具调用(tool calling)流式输出(streaming),否则 Copilot CLI 无法正常工作。

配置环境变量

通过以下四个环境变量配置 BYOK 模式:

变量说明
COPILOT_PROVIDER_BASE_URL模型 API 端点地址
COPILOT_PROVIDER_TYPE提供商类型:openaiazureanthropic
COPILOT_PROVIDER_API_KEYAPI Key(部分提供商可选)
COPILOT_MODEL模型标识符

配置示例

使用 Anthropic Claude

bash
export COPILOT_PROVIDER_TYPE=anthropic
export COPILOT_PROVIDER_BASE_URL=https://api.anthropic.com
export COPILOT_PROVIDER_API_KEY=sk-ant-xxx
export COPILOT_MODEL=claude-opus-4-7-20251101

使用 Azure OpenAI

bash
export COPILOT_PROVIDER_TYPE=azure
export COPILOT_PROVIDER_BASE_URL=https://YOUR-RESOURCE.openai.azure.com
export COPILOT_PROVIDER_API_KEY=YOUR-AZURE-KEY
export COPILOT_MODEL=gpt-4o

使用本地 Ollama

bash
export COPILOT_PROVIDER_TYPE=openai
export COPILOT_PROVIDER_BASE_URL=http://localhost:11434/v1
export COPILOT_PROVIDER_API_KEY=ollama   # 任意非空字符串
export COPILOT_MODEL=qwen3:32b

Ollama 使用 OpenAI 兼容 API(/v1),type 设为 openai 即可。

使用 OpenAI 官方 API

bash
export COPILOT_PROVIDER_TYPE=openai
export COPILOT_PROVIDER_BASE_URL=https://api.openai.com/v1
export COPILOT_PROVIDER_API_KEY=sk-xxx
export COPILOT_MODEL=gpt-4o

离线模式

如果需要确保所有流量只发向你配置的自定义端点(不连接 GitHub 服务器),启用离线模式:

bash
export COPILOT_OFFLINE=true

离线模式会关闭 GitHub 认证和遥测,适合在完全隔离的内网环境中使用私有模型。

查看支持的提供商

bash
copilot help providers

这个命令列出所有支持的提供商类型及其配置示例。

注意事项

  • BYOK 模式下的 AI 使用费用由对应的模型提供商计收,不走 Copilot 的 AI Credits
  • 部分 Copilot 功能(如 Cloud Agent 集成、Copilot 策略控制)在 BYOK 模式下可能受限
  • 本地模型(Ollama)响应速度取决于本机硬件,大任务可能较慢

常见问题

Q: BYOK 模式下 Copilot 的代码引用(Code Referencing)功能还有效吗?

A: 代码引用功能依赖 GitHub 的公开代码索引服务,在 BYOK 离线模式下不可用。如果只是配置了自定义模型但没有开启 COPILOT_OFFLINE=true,部分功能可能仍然工作。

Q: 公司安全团队要求代码不离开内网,BYOK 有没有帮助?

A: 配合离线模式(COPILOT_OFFLINE=true)和内网 Ollama 或 Azure OpenAI Private Endpoint,可以实现代码不出内网。但需要验证 Copilot CLI 所有的流量路径,建议在安全团队协助下测试。

Q: 如何快速验证 BYOK 配置是否生效?

A: 设置环境变量后启动 Copilot CLI,启动信息会显示当前使用的提供商和模型信息。或者发一条简单的 Prompt,看响应风格是否与预期模型一致。