
GitHub Copilot API Key 配置 4 条路
GitHub Copilot 并没有一个叫「API Key」的东西,它的接口调用靠四条鉴权路径:交互式 OAuth 登录、细粒度个人访问令牌(PAT)配环境变量、GitHub CLI 令牌回退,以及面向服务的安装访问令牌。选哪条,取决于你是人坐在终端前用,还是在 CI 里无人值守地跑。

为什么你在设置里找不到 API Key
Copilot 是订阅制产品,鉴权对象是「账号或组织的授权」,不是一把可以随便复制的密钥。你在 GitHub 账号里能生成的叫 personal access token,在组织里能生成的是 GitHub App 安装令牌,官方文档里从来没有独立的 Copilot API Key 字段。
这里要顺带纠正一个流传很广的误解:很多人搜「GitHub Copilot API Key」,其实想找的是已经退役的 GitHub Models(一个独立的模型推理服务)。
GitHub 官方公告写明,GitHub Models 已于 2026 年 7 月 30 日完全退役,playground、模型目录、推理接口和自带密钥(BYOK)功能对所有客户停止服务。官方同时强调,GitHub Models 与 GitHub Copilot 是两套不相关的服务,所以你在 Copilot 里找不到「GitHub Models 的 Key」是正常的。
需要模型推理接口的话,官方的指向是 Azure AI Foundry;要在 GitHub 上做 AI 工作流,就走 GitHub Copilot 体系。
前置条件
动手之前先确认两件事:
- 账号有有效的 GitHub Copilot 订阅,这是 Copilot CLI 的硬门槛。
- 本地装了 Copilot CLI 或 GitHub CLI,CLI 是配置和验证令牌最直观的入口。
学生和教师身份可以走教育认证拿免费额度,申请入口和步骤可参考GitHub Copilot 学生免费申请入口与步骤。
路径一:OAuth 交互登录
这是官方默认方式,适合人在终端前操作的场景,也是第一次使用时最省事的做法。
在 Copilot CLI 里输入斜杠命令 /login,或在终端直接跑 copilot login,两种入口都支持浏览器授权和一次性设备码两种流程:
- 选择要登录的账号,个人账号选 GitHub.com,带数据驻留的企业云账号输入
*.ghe.com主机名。 - 本地终端优先走浏览器流程,远程、无头环境自动切设备码流程,页面上填一次性码完成授权。
- 授权成功后终端会显示登录成功的账号名,凭证存到本地。
想强制某种流程可以加 --web-flow 或 --device-code;企业云实例用 copilot login --host HOSTNAME 指定主机名。
一个细节:登出用 /logout,它只删除本地存储的令牌,不会在 GitHub 侧撤销授权。要彻底撤销,得去账号设置里把已授权的 OAuth 应用移除。

路径二:细粒度 PAT 配环境变量
无人值守环境(CI/CD、容器、无头服务器)里,官方推荐用带 Copilot Requests 权限的细粒度个人访问令牌,完整流程见官方鉴权文档。
创建步骤:
- 打开 Fine-grained personal access tokens 页面,Resource owner 选个人账号,不要选组织。
- Repository access 按需要选公开仓库、全部仓库或指定仓库。
- 在 Permissions 里切到 Account 标签,点 Add permissions,勾选
Copilot Requests。 - 生成令牌后导出到终端或环境变量配置里。
这里有个官方限制必须注意:Copilot Requests 权限只在个人拥有的细粒度 PAT 上提供,组织拥有的令牌上没有这一项,所以这一步不能换成组织账号。
导出时按下面的优先级设置变量:
| 环境变量 | 优先级 | 说明 |
|---|---|---|
COPILOT_GITHUB_TOKEN |
最高 | 推荐写这个,语义最明确 |
GH_TOKEN |
第二 | GitHub 生态通用变量 |
GITHUB_TOKEN |
第三 | GitHub Actions 里默认存在 |
Copilot CLI 的其他常用变量也一并列一下:COPILOT_MODEL 指定模型,COPILOT_HOME 改配置目录(默认 ~/.copilot),COPILOT_AUTO_UPDATE=false 用于在 CI 里锁住版本,COPILOT_ALLOW_ALL=true 表示不限制工具权限(谨慎使用)。完整清单可以在终端里跑 copilot help environment 查看。

路径三:复用 GitHub CLI 的令牌
如果你本地已经装好并登录了 GitHub CLI,Copilot CLI 可以直接借用它的令牌,不用再配一遍。
这条路径优先级最低,只有在没有任何环境变量、也没有已存令牌时才会启用。验证方式是先跑 gh auth status 确认已登录,再执行 copilot,然后在会话里用 /user 确认当前身份。
需要注意:如果账号是带数据驻留的企业云实例,要用 gh auth status --hostname HOSTNAME 确认对应主机名也已认证。
路径四:服务端安装令牌(无人值守的组织场景)
服务要在没有用户凭证的情况下代表组织发起 Copilot 请求时,用的是安装访问令牌,而不是用户令牌,官方步骤见服务端令牌文档。
在 GitHub Actions 里最简单:给工作流的内置 GITHUB_TOKEN 授予 copilot-requests: write 权限即可,不需要建 GitHub App,也不需要存任何密钥。前提是组织已开启「允许 Copilot CLI 费用计入组织」的策略。
在 Actions 之外的服务和 CI 系统里,步骤是:
- 创建一个 GitHub App,把
Copilot Requests仓库权限设为 Read & write。 - 把它安装到需要计费的组织上,注意当前权限校验要求 All repositories 访问权限。
- 用
repository_ids加permissions: copilot_requests: write的请求体生成安装令牌。 - 把生成的
ghs_令牌通过COPILOT_GITHUB_TOKEN传给运行时。
三个官方提醒很重要:安装令牌一小时后过期,要在过期前重新签发;费用落在 GitHub App 安装者身上,想按组织计费就用组织安装;不要把安装令牌塞进 SDK 的用户令牌参数里,它必须走运行时环境变量的鉴权通道。

顺带说清:BYOK 里那个 API Key 是什么
如果你要的是「填一把第三方模型厂商的 Key 让 Copilot 用」,那是 BYOK(自带模型密钥)功能,配置在模型提供方这一层,不在 Copilot 账号这一层。
Copilot CLI 支持通过环境变量接入自定义模型提供方,例如 COPILOT_PROVIDER_BASE_URL 和 COPILOT_PROVIDER_API_KEY,配置方式见自带模型提供方文档。官方文档特别说明:配置了 BYOK 的提供方变量后,模型请求走这套凭证,和你有没有完成 GitHub 登录无关;GitHub 令牌只在用到 GitHub 托管功能时才需要。
配置完怎么验证
三步就能确认配好了:
- 跑
gh auth status看 GitHub 侧登录状态是否正常。 - 在 Copilot CLI 里执行
/user,确认当前鉴权到的账号。 - 跑一条非交互命令,例如
copilot -p "解释这个项目做什么" -s,能返回内容说明令牌链路通了。
常见报错与排查
| 现象 | 可能原因 | 解法 |
|---|---|---|
| 提示未登录或授权失败 | 本地没有有效令牌,OAuth 授权被撤销 | 重跑 /login 或 copilot login,必要时重新授权 |
| 401 Unauthorized | 组织未允许 GitHub App 安装方式发起 Copilot 请求 | 找组织管理员确认策略开关 |
| 403 Resource not accessible by integration | 安装令牌没放进 COPILOT_GITHUB_TOKEN |
改用运行时环境变量通道传入 |
| 403 Forbidden(来自 Copilot API) | 令牌请求缺 repository_ids 或 copilot_requests: write |
按官方示例补全请求体后重新签发 |
401 且用的是 gh 的令牌 |
GitHub CLI 未登录或主机名不匹配 | gh auth status 检查并重新登录 |
| 模型不可用 | 组织策略未开放该模型 | 联系管理员放开模型权限 |
Copilot CLI 本身也支持多种模型,用 --model 参数或 COPILOT_MODEL 变量指定;具体模型字符串可在交互会话里用 /model 查看。要横向比较这类编程助手的取舍,可以看GitHub Copilot 和 Cursor 哪个好。
常见问题
GitHub Copilot 到底有没有 API Key?
答:没有一个叫「API Key」的独立字段。官方提供的是 OAuth 授权、细粒度 PAT、GitHub CLI 令牌回退和服务端安装令牌四条路径,本质都是对账号或组织的授权凭证。
GitHub Models 的 Key 还能用吗?
答:不能。GitHub Models 已于 2026 年 7 月 30 日完全退役,playground、模型目录、推理接口和 BYOK 都停止了服务,官方建议改用 Azure AI Foundry 等替代方案。
CI 里应该用 PAT 还是安装令牌?
答:个人或小团队项目用细粒度 PAT 配环境变量就够;要在组织级按组织计费、且不希望依赖个人账号时,用 GitHub App 安装令牌更合适,代价是要处理一小时过期的问题。
为什么组织里生成不出 Copilot Requests 权限的令牌?
答:这是官方限制。`Copilot Requests` 权限只存在于个人拥有的细粒度 PAT 上,Resource owner 必须选个人账号,不能选组织。
Copilot 的令牌和普通模型 API Key 有什么区别?
答:Copilot 走的是订阅授权加令牌回退,令牌短、可撤销、绑定账号或组织;其他模型服务通常是一把长期有效的 API Key,配置思路可见[Kimi K2.8 Preview API Key 怎么配置](/ai-guide/kimi-k2-8-preview-api-key-setup)与[OpenAI Agents API 怎么用](/ai-guide/openai-agents-api-tutorial)。

京ICP备2024094994号-29