github-copilot 提供商使用您的 Copilot 套餐(Free、Pro、Pro+、Max、Business 或 Enterprise)所包含的模型调用 GitHub Copilot API。用量从套餐的 GitHub AI Credits 中扣除,而不是使用模型厂商的 API 密钥。
类型名为 github-copilot 而不是 copilot,以免与 Microsoft Copilot 混淆。
配置
凭据是一个拥有 Copilot 访问权限的账号的 GitHub OAuth Token(gho_...):
config.yaml 中:
获取 Token
该账号的任何 GitHub OAuth Token 都可以使用,例如:model_not_supported,即使 /models 列出了它。
Business 和 Enterprise
个人套餐(Free、Pro、Pro+、Max)使用默认 Base URLhttps://api.githubcopilot.com。Business 或 Enterprise 席位可能由其他端点提供服务;当请求返回 401 或 model_not_supported 时请设置它:
curl -H "Authorization: Bearer $GITHUB_COPILOT_API_KEY" https://api.github.com/copilot_internal/user
响应中的 endpoints.api。
模型
GoModel 从 Copilot 的/models 获取模型列表。套餐列出但账号未启用的模型(policy 为 disabled)会被略去;在 Copilot 设置中启用后,它们会在下一次刷新模型时出现。
如只想提供其中一部分,请过滤列表:
GITHUB_COPILOT_MODELS 是备用列表,仅在 /models 失败或为空时使用;CONFIGURED_PROVIDER_MODELS_MODE=allowlist 会使其成为唯一列表并跳过 /models。
每个模型都支持 Chat Completions 和 Responses
Copilot 仅通过/responses 提供 GPT-5 及更新的模型,而 Claude、Kimi 和较旧的 GPT 模型仅通过 /chat/completions 提供。GoModel 从 /models 读取每个模型的端点,并为每个模型提供这两种 API:
在 GoModel 读取到某个模型的端点之前(例如
/models 无法访问时),该模型的请求会发送到 /chat/completions。
如果发往仅支持 Responses 的模型的聊天请求包含转换无法精确映射的字段(例如 logit_bias),该请求会以 400 被拒绝;请改为发送到 /v1/responses。
支持 Embeddings(text-embedding-3-small)。Copilot 只接受列表形式的 input,因此单个字符串会被包装为只含一个元素的列表。