Copilot Content Exclusions 怎么在 Agent 工作流里排除敏感代码
GitHub Copilot App 和 CLI 现在支持 content exclusions,管理员配置后敏感代码不会被 Agent 读取为上下文,适用于 Business 和 Enterprise 计划。

2026 年 9 月 2 日,GitHub 宣布 Copilot App 和 Copilot CLI 正式支持 content exclusion 策略。配置后,Copilot 在 Agent 模式下执行任务时,被排除的文件不会被用作上下文,不读取、不分析、不出现在 Agent 的输入里。这个功能面向 Copilot Business 和 Enterprise 用户。
解决的核心问题
AI Agent 执行编程任务时需要读取大量文件作为上下文来理解代码库。在企业环境里,代码库往往包含不应该被 AI 模型处理的内容:密钥文件、内部安全策略、合规相关的配置、客户数据处理逻辑等。
之前 Copilot 在 IDE(VS Code、JetBrains)里已经支持 content exclusions,但 Copilot App(GitHub 网页端和移动端的 Agent)和 Copilot CLI 不支持。这意味着同一个企业的开发者在 IDE 里受保护,换到 CLI 或网页端用 Agent 时保护就失效了,同一个文件可能在 IDE 里被排除,在 CLI 里却被读取。
现在三端统一了:IDE、App、CLI 都遵守同一套 content exclusion 规则。
怎么配置
Content exclusions 在三个层级配置,优先级从高到低:
- 企业级(Enterprise):企业管理员在 GitHub Enterprise 设置里配置,适用于企业下所有组织和仓库
- 组织级(Organization):组织管理员配置,适用于组织下所有仓库
- 仓库级(Repository):仓库管理员在仓库 Settings → Copilot → Content exclusions 里配置
配置格式使用 glob 模式,和 .gitignore 语法类似。举几个常见场景:
排除所有环境变量文件和密钥目录:
**/.env*
**/secrets/**
**/keys/**
排除特定的合规相关目录:
src/compliance/**
docs/internal-security/**
排除特定文件类型:
**/*.pem
**/*.key
**/*.p12
配置后 Copilot 在处理代码时会跳过匹配的文件。不需要重启 IDE 或 CLI,策略变更会在下一次 Copilot 请求时生效。
在 Agent 工作流里的实际效果
Copilot Agent(包括 coding agent 和 code review)在执行任务时会自动检查 content exclusion 规则。被排除的文件表现为:
- Agent 搜索代码时不会检索这些文件
- Agent 分析代码依赖关系时会跳过这些文件的内容
- Agent 生成代码时不会把这些文件作为参考上下文
- Code Review 审查 PR 时不会读取被排除文件的 diff
这意味着 Agent 可能会因为缺少上下文而给出不完整的建议。比如你排除了 .env.example 文件,Agent 在需要配置环境变量时就不知道有哪些变量名可用。这是合理的取舍,安全性优先于便利性。
和其他工具的对比
Cursor 通过 .cursorignore 文件实现类似功能,但配置粒度不同:.cursorignore 是项目级别的,而 Copilot 的 content exclusions 支持企业级统一策略下发。对于个人开发者差异不大,对于企业来说集中管控是关键能力。
Claude Code 通过 .claudeignore 实现排除,同样是项目级别。
如果你在不同工具之间切换工作,需要分别维护各工具的排除配置。目前没有统一的跨工具排除标准,.gitignore 只控制 Git 追踪,不一定被 AI 工具尊重(Cursor 在 3.12 后确认 .gitignore 规则会被 Instant Grep 遵守)。
如果你在 Cursor 里也需要类似的排除能力,可以参考 Cursor 隐私模式配置了解 .cursorignore 和隐私模式的用法。
注意事项
- Content exclusions 只对 Copilot Business 和 Enterprise 用户可用,免费版和 Pro/Pro+/Max 个人用户目前不支持
- 排除规则不影响已经提交到 PR 里的代码。如果一个被排除的文件出现在 PR 的 diff 里,code review 不会审查它的内容,但 PR 本身仍然会被创建和合并
- 配置后建议验证效果:在 Copilot Chat 里问一个需要读取被排除文件才能回答的问题,确认 Copilot 确实没有引用该文件的内容