GitHub Copilot API Key 配置 4 条路封面图
AI 编程约 10 分钟

GitHub Copilot API Key 配置 4 条路

AI 指南··◉ 0 浏览

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

GitHub Copilot API Key 鉴权路径与优先级示意图

为什么你在设置里找不到 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 体系。

前置条件

动手之前先确认两件事:

  1. 账号有有效的 GitHub Copilot 订阅,这是 Copilot CLI 的硬门槛。
  2. 本地装了 Copilot CLI 或 GitHub CLI,CLI 是配置和验证令牌最直观的入口。

学生和教师身份可以走教育认证拿免费额度,申请入口和步骤可参考GitHub Copilot 学生免费申请入口与步骤。

路径一:OAuth 交互登录

这是官方默认方式,适合人在终端前操作的场景,也是第一次使用时最省事的做法。

在 Copilot CLI 里输入斜杠命令 /login,或在终端直接跑 copilot login,两种入口都支持浏览器授权和一次性设备码两种流程:

  1. 选择要登录的账号,个人账号选 GitHub.com,带数据驻留的企业云账号输入 *.ghe.com 主机名。
  2. 本地终端优先走浏览器流程,远程、无头环境自动切设备码流程,页面上填一次性码完成授权。
  3. 授权成功后终端会显示登录成功的账号名,凭证存到本地。

想强制某种流程可以加 --web-flow 或 --device-code;企业云实例用 copilot login --host HOSTNAME 指定主机名。

一个细节:登出用 /logout,它只删除本地存储的令牌,不会在 GitHub 侧撤销授权。要彻底撤销,得去账号设置里把已授权的 OAuth 应用移除。

GitHub Copilot CLI 的 OAuth 登录流程界面

路径二:细粒度 PAT 配环境变量

无人值守环境(CI/CD、容器、无头服务器)里,官方推荐用带 Copilot Requests 权限的细粒度个人访问令牌,完整流程见官方鉴权文档。

创建步骤:

  1. 打开 Fine-grained personal access tokens 页面,Resource owner 选个人账号,不要选组织。
  2. Repository access 按需要选公开仓库、全部仓库或指定仓库。
  3. 在 Permissions 里切到 Account 标签,点 Add permissions,勾选 Copilot Requests。
  4. 生成令牌后导出到终端或环境变量配置里。

这里有个官方限制必须注意: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 查看。

创建细粒度 PAT 并勾选 Copilot Requests 权限的界面

路径三:复用 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 系统里,步骤是:

  1. 创建一个 GitHub App,把 Copilot Requests 仓库权限设为 Read & write。
  2. 把它安装到需要计费的组织上,注意当前权限校验要求 All repositories 访问权限。
  3. 用 repository_ids 加 permissions: copilot_requests: write 的请求体生成安装令牌。
  4. 把生成的 ghs_ 令牌通过 COPILOT_GITHUB_TOKEN 传给运行时。

三个官方提醒很重要:安装令牌一小时后过期,要在过期前重新签发;费用落在 GitHub App 安装者身上,想按组织计费就用组织安装;不要把安装令牌塞进 SDK 的用户令牌参数里,它必须走运行时环境变量的鉴权通道。

GitHub Copilot 服务端鉴权的令牌类型与过期时间

顺带说清:BYOK 里那个 API Key 是什么

如果你要的是「填一把第三方模型厂商的 Key 让 Copilot 用」,那是 BYOK(自带模型密钥)功能,配置在模型提供方这一层,不在 Copilot 账号这一层。

Copilot CLI 支持通过环境变量接入自定义模型提供方,例如 COPILOT_PROVIDER_BASE_URL 和 COPILOT_PROVIDER_API_KEY,配置方式见自带模型提供方文档。官方文档特别说明:配置了 BYOK 的提供方变量后,模型请求走这套凭证,和你有没有完成 GitHub 登录无关;GitHub 令牌只在用到 GitHub 托管功能时才需要。

配置完怎么验证

三步就能确认配好了:

  1. 跑 gh auth status 看 GitHub 侧登录状态是否正常。
  2. 在 Copilot CLI 里执行 /user,确认当前鉴权到的账号。
  3. 跑一条非交互命令,例如 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)。

评论 (0)

?
0/1

还没有评论,来发第一条吧

网站上的服务均为第三方提供,
请用户注意自行甄别。

北京酷讯互动科技有限公司

备案京ICP备2024094994号-29

© 2026 AI345 · All Rights Reserved

用户服务协议·隐私政策