Agents Secrets 与变量
区分组织和仓库值、普通环境变量与 MCP 专用凭据,并处理旧配置迁移。
cloud agent 使用独立的 Agents secrets 和 variables 类型,为私有包仓库、初始化脚本及 MCP 服务器提供配置。它不会获得 Actions、Codespaces 或 Dependabot 类型的 secrets/variables。
配置位置和权限
| 级别 | 配置入口 | 所需角色 |
|---|---|---|
| 仓库 | Settings → Secrets and variables → Agents | Repository administrator |
| 组织 | Settings → Secrets and variables → Agents | Organization owner |
在对应的 Secrets 或 Variables 标签页创建项目,填写名称和值并保存。组织级项目可以选择 All repositories、Private repositories 或 Selected repositories;其中 Private repositories 选项也包括 internal repositories。
同名值在多个级别存在时,更低层级优先,例如仓库级 secret 覆盖同名组织级 secret。不要据此自行推断同一层级的 secret 与 variable 冲突规则。
普通变量与 MCP 专用变量
普通 Agents 值自动作为开发环境的环境变量提供给代理、脚本和工具,也可供 copilot-setup-steps.yml 使用。Secret 值会在会话日志中掩码显示。
以 COPILOT_MCP_ 开头的值是例外:它们只提供给 MCP 服务器。仓库 MCP 配置也只能引用带这一前缀的 Agents secrets/variables,见MCP 配置格式。
因此,为 setup 脚本准备普通包仓库凭据,与为 MCP 提供同一服务的 API key,可能需要不同的配置名称和传递方式。按实际使用者选择,不要仅为命名统一给所有值加 MCP 前缀。
名称要求
- 名称使用英文字母、数字与下划线,不能有空格。
- 不能以数字开头,也不能以
GITHUB_开头。 - 名称不区分大小写,小写会转换成大写。
- 在创建所在层级中必须唯一。
MCP 配置可以把 $COPILOT_MCP_API_KEY 映射到服务器需要的其他环境变量名;名称转换不要求外部服务器也使用 GitHub 的前缀。
从旧 copilot environment 迁移
官方当前说明:以前配置在仓库 Actions 的 copilot environment 中的 secrets/variables,已经自动迁移到仓库级 Agents 类型,不需要再做迁移操作。以后在新的 Agents 设置页管理。
某些旧示例仍含 environment: copilot,不能把它当作当前保存新凭据的首选入口。以专门的 Secrets 文档和实际设置界面为准。
定位值未生效
依次检查项目是否保存在 Agents 类型、组织访问范围是否包含仓库、是否被同名仓库值覆盖,以及 MCP 前缀是否用在正确位置。配置被保存与外部 token 有足够权限仍是两个条件;外部服务拒绝请求时,还应检查其授权范围。