Appearance
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 | 提供商类型:openai、azure、anthropic |
COPILOT_PROVIDER_API_KEY | API 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:32bOllama 使用 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,看响应风格是否与预期模型一致。