先厘清一个常见误解
很多人把 AGENTS.md 当成"GitHub 的知识库"——其实不是。AGENTS.md 是规则文件,告诉 AI"该怎么干活"(跑什么命令、遵守什么代码风格、PR 怎么提)。
而真正的知识库要解决的是另一个问题:让 AI"知道什么"。项目架构怎么走的、三年前的架构决策为什么这么定、某个内部服务的鉴权逻辑在哪、踩过哪些坑——这些是事实性知识,写成规则没用,得能被检索、能随代码更新。
GitHub 官方对应的功能叫 Copilot Spaces,2025 年上线,现在已经可以通过 GitHub MCP Server 被 IDE 里的 AI 直接调用。单点维护、自动同步、团队共享,这才是"统一知识库"该有的样子。
Copilot Spaces 是什么
一句话:把散落在仓库、PR、Issue、文档、笔记里的上下文收进一个"空间",让 AI 每次都带着这份上下文回答。
一个 Space 可以放进四类东西:
| 类型 | 具体内容 |
|---|---|
| Sources(来源) | 仓库、文件夹、单个文件;PR / Issue 的 URL;本地上传的文件(图片、文本、富文档、表格);直接粘贴的自由文本(会议记录、笔记) |
| Instructions(指令) | 一段自由文本,说明这个空间里 AI 该扮演什么角色、擅长什么、避开什么 |
| 共享范围 | 个人所有或组织所有,配不同权限 |
| 对话 | 直接在空间里问答,答案以空间内容为依据 |
关键机制有两个,决定了它能不能当"单点维护"的知识库:
- GitHub 来源自动同步:Space 里引用的仓库、文件始终取
main分支的最新版本。代码改了,知识库跟着改,不需要手工更新副本。 - 两种挂载方式,语义不同: - 挂整个仓库:不把项目全量塞进上下文,而是按问题检索最相关的内容。适合"整个文档库都能问"的场景。 - 挂具体文件:文件全文进入上下文窗口,每次提问都会带上。适合必须优先遵守的少数核心文档。
这个区分很重要:很多人抱怨"AI 答得不准",其实是把该挂文件的挂成了仓库,或者反过来把该检索的硬塞进了上下文。
怎么让各个 AI 工具都来调用
这是 Spaces 从"Copilot 的笔记本"变成"通用知识库"的关键一步:通过 GitHub MCP Server 暴露成工具。
具体是两个工具:
| 工具 | 作用 |
|---|---|
list_copilot_spaces |
列出当前账号可见的所有空间 |
get_copilot_space |
按 owner + name 加载某个空间的全部上下文 |
配置(VS Code / Copilot 扩展,mcp.json):
{
"servers": {
"github": {
"type": "http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"X-MCP-Toolsets": "default,copilot_spaces"
}
}
}
}
或者直接用专用端点,只暴露 Spaces 工具:
https://api.githubcopilot.com/mcp/x/copilot_spaces
这个端点同样支持 /readonly 后缀,组成 https://api.githubcopilot.com/mcp/x/copilot_spaces/readonly,只给读权限——放到团队环境里更安全。
几个必须知道的限制:
- 只能在 Agent 模式用。Spaces 是通过 MCP 访问的,普通聊天模式没有工具调用能力。在 Copilot Chat 里把模式切到
Agent,点工具图标,确认 GitHub MCP server 下有get_copilot_space和list_copilot_spaces两项已启用。 - IDE 里拿不到仓库代码和上传文件。官方明确说明:在 IDE 中使用时,仓库上下文和上传的文件不支持;可用的是"Add text content"加入的文本、GitHub 文件、Issue、PR 以及空间里的 instructions。也就是说,纯代码类知识在 IDE 里要依靠 GitHub 文件路径引用,而不是仓库挂载。
- 按用量计费。在空间里提问算作 Copilot Chat 请求,按模型和 token 消耗 AI credits;Copilot Free 计入每月聊天额度,Business / Enterprise 走企业共享额度池。
调用方式很自然,不用记工具名:
用 myorganization 的 Copilot space「支付链路设计」,总结一下我们的重试策略。
AI 会自己调 list_copilot_spaces 找到匹配的空间,再 get_copilot_space 拉取上下文。同一轮对话里的后续追问会自动继承这个空间。
五分钟搭一个
- 打开
https://github.com/copilot/spaces,点 Create space。 - 起名,选归属:个人账号,或你所属的组织(组织级才能用 GitHub 权限模型共享)。
- 写描述(不影响 AI 回答,只给人看)。
- 填 Instructions,比如:
你是本项目的支付链路专家。回答时优先引用空间内的设计文档和 ADR,
不要臆测未在来源中出现的外部接口。涉及金额计算时必须指出对应代码位置。
- 加 Sources:核心设计文档用"挂文件",整个
docs/目录或仓库用"挂仓库",历史决策用"贴 PR / Issue 链接",访谈记录用"Add text content"。 - 在 IDE 里按上面的 JSON 配好 MCP,Agent 模式下提问。
日常维护时,你在代码文件页右上角的下拉菜单里就能把当前文件加进空间,不用离开代码视图。
团队共享与权限
组织级空间支持四级角色:
- Viewer:可以提问、查看附件和 instructions
- Editor:可改附件、名称、描述、instructions,但不能改共享设置或删除
- Admin:可改共享设置、删除
- No access:对组织其它成员隐藏
个人级空间可以公开("Anyone with link",默认只读)、指定 GitHub 用户、或完全私有。注意:查看者只能看到自己有权限访问的来源——这是 GitHub 原生权限模型在起作用,不会因为共享了空间就泄露私有仓库内容。
典型用法:
- 新人 onboarding:代码、文档、架构图、checklist 全放一个空间,随便问
- 系统知识沉淀:鉴权、CI 流水线这类复杂子系统,单独建一个空间长期维护
- 规范与评审清单:团队编码规范、可访问性检查清单,让 AI 提建议时直接引用
和规则文件怎么分工
| AGENTS.md | Copilot Spaces | |
|---|---|---|
| 本质 | 规则 / 指令 | 知识 / 事实来源 |
| 存放 | 跟着仓库走,git 版本控制 |
云端空间,跨仓库组织 |
| 内容 | 构建命令、代码风格、PR 规范 | 架构文档、历史决策、PR/Issue、笔记 |
| 更新 | 提交代码时一起改 | GitHub 来源自动同步;文本内容手动维护 |
| 跨工具 | 20+ 工具原生读取 | 通过 GitHub MCP Server 调用 |
| 适合 | "所有项目都要遵守的规矩" | "这个系统到底是怎么设计的" |
两者是互补关系,不是二选一:AGENTS.md 管"怎么做",Spaces 管"知道什么"。一个项目同时配好这两个,AI 才既有纪律又有背景知识。
如果不是 Copilot 用户
Spaces 依赖 Copilot license 和 api.githubcopilot.com,纯开源栈用不了。这时候有两个成熟的替代路径,思路相同——把 GitHub 仓库变成 MCP 知识库端点:
- GitMCP:
https://gitmcp.io/{owner}/{repo},任意公开仓库秒变 MCP 端点,提供拉取文档、搜索仓库、列文件、读指定路径等工具,始终对齐main分支最新内容。免费、可自托管,Claude Desktop / Cursor / VS Code 都能接。 - DeepWiki MCP:
https://mcp.deepwiki.com,Cognition 出品,自动为公开仓库生成可读 wiki,并把它作为 MCP 工具暴露给任意 MCP 客户端,可以按结构拉取、按页拉取。
这两个的能力边界要清楚:它们基于代码和 README 自动生成知识,适合"读懂别人的库";而 Spaces 的价值在于人工策展——你能把架构决策、踩坑记录、内部规范这些只存在于人脑里的内容放进去。自动生成和人工策展解决的不是同一类问题。
结语
"统一知识库"的难点从来不是存,而是单一事实来源 + 多工具可达 + 不脱节。Copilot Spaces 的组合恰好命中这三点:GitHub 源自动同步解决脱节,云端共享解决单点维护,MCP 工具集解决多工具可达。
如果你们团队已经在用 Copilot,现在就可以建第一个空间——建议从"新人 onboarding"或"某个复杂子系统"开始,这类场景 ROI 最直接。如果不在 Copilot 生态里,用 GitMCP 把核心仓库接进 MCP,也比继续靠人肉贴上下文强得多。
相关链接
- Copilot Spaces 概览:https://docs.github.com/en/copilot/concepts/context/spaces
- 创建空间:https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/create-copilot-spaces
- 在 IDE 中使用 Spaces:https://docs.github.com/en/copilot/how-tos/copilot-in-your-ide/customize-copilot/extend-copilot-with-tools-and-context/use-copilot-spaces
- 团队共享与权限:https://docs.github.com/en/copilot/how-tos/copilot-on-github/customize-copilot/copilot-spaces/collaborate-with-others
- 远程 GitHub MCP Server:https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md
- DeepWiki MCP:https://mcp.deepwiki.com
- GitMCP:https://gitmcp.io

评论(0)
暂无评论,来抢沙发~
请 登录 后发表评论