Copilot 应用只有 Read-only 权限,为什么仍会产生费用?

Tech
浏览 4

夜间运行的分析代理有时依赖某位员工的登录状态。GitHub 于 10 月 27 日为安装在组织中的 GitHub App 开放 Copilot SDK 服务器间认证公开预览。服务可以使用应用安装的身份发起请求。值得注意的是,所需的 Read-only 权限也能授权付费请求。

只读不等于免费

应用获得组织级 Copilot Requests: Read-only 权限,并使用短期安装令牌。用量和账单归属于拥有该安装的组织。这里的读取权限允许发起消耗 AI 额度的请求。

自行制作的认证路径对比:上方为组织应用 Copilot Requests: Read-only,下方为 Actions 的 GITHUB_TOKEN 与 copilot-requests: write。并非产品截图或运行结果。
自行制作的认证路径对比:上方为组织应用 Copilot Requests: Read-only,下方为 Actions 的 GITHUB_TOKEN 与 copilot-requests: write。并非产品截图或运行结果。

假设一家公司同时运行分析应用和文档摘要应用。两者即使都标为只读,也能产生费用。不修改文件与消耗模型能力可以同时发生。工作负载身份改变了责任主体,并未取消推理成本。

Actions 与外部服务器走不同入口

外部服务或其他 CI 系统需要生成安装令牌,并通过 gitHubToken 等 SDK 显式选项传入。只支持组织安装,不包括个人账户或企业级安装。之前介绍的企业安装正式发布与本次认证预览范围不同。

组织仓库的 GitHub Actions 可以改用 GITHUB_TOKEN。该路径需要 YAML 中的 copilot-requests: write,以及 Allow use of Copilot CLI billed to the organization 策略。组织应用认证无需该策略。Read-only 与 write 属于不同认证路径,不能直接互换。

一小时后如何继续使用同一身份

安装令牌一小时后过期。除了生成新令牌,还需把它交给运行进程。官方文档要求用新令牌重启子进程客户端;进程内或已有运行时则重启宿主。修改文件本身不能证明进程已经采用新值。

useLoggedInUser: false 会关闭自动凭据发现,包括环境变量中的令牌。因此需要通过 SDK 选项显式传入。若个人电脑成功而服务器失败,应区分意外回退到个人登录与真正传入运行时的令牌。

假设时间轴:在一小时有效期届满前生成并传入新令牌。自行制作,不是实测遥测数据。
假设时间轴:在一小时有效期届满前生成并传入新令牌。自行制作,不是实测遥测数据。

按应用归因,按组织设预算

组织所有者可在 AI 用量 CSV 中通过 organization 和 app_client_id 找到应用用量,再与安装列表 API 的 client_id 匹配以识别 app_slug。网页 AI 用量视图目前不提供这一区分。应用级可见性也不意味着存在应用级预算;仅通知的预算不会停止消耗。

暂停或卸载安装也会阻止它访问其他组织资源。此次变化的价值是在模型与支出策略内,让自动任务的责任主体更清晰。将服务从个人账户中分离时,令牌更新路径与费用归属也应一起迁移。

官方资料

GitHub Changelog · 2026-10-27

GitHub Docs · Server-to-server authentication

GitHub Docs · Manage app Copilot access