跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

Agents Secrets 与变量

区分组织和仓库值、普通环境变量与 MCP 专用凭据,并处理旧配置迁移。

cloud agent 使用独立的 Agents secrets 和 variables 类型,为私有包仓库、初始化脚本及 MCP 服务器提供配置。它不会获得 Actions、Codespaces 或 Dependabot 类型的 secrets/variables。

配置位置和权限

级别配置入口所需角色
仓库Settings → Secrets and variables → AgentsRepository administrator
组织Settings → Secrets and variables → AgentsOrganization 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 有足够权限仍是两个条件;外部服务拒绝请求时,还应检查其授权范围。