关于 Cartographer
Cartographer 是面向团队的 Go MCP 服务,用于让 Agent 共享并维护受治理、由 git 支持的知识库。它会校验变更、将写入记录到 git,并向支持的客户端分发知识库指令和 Agent 配置。
主要功能
- 01共享 Markdown 与 YAML 知识库
- 02基于 git 的写入与签名审计日志
- 03架构、链接和 lint 检查
- 04同步技能、子 Agent、钩子和指令
- 05Atlas 界面中的搜索与图谱视图
- 06按需解析加密密钥
适用场景
- 01让多个 Agent 共享积累的团队知识
- 02检查知识库中的失效或过时内容
- 03向支持的客户端分发 Agent 配置
- 04在 Atlas 图谱中查看知识和变更
MCP 相关
通过 MCP 工具提供知识库访问与维护能力,写入由服务端检查并记录在 git 历史中。同一服务还可连接 MCP 客户端,并将知识库产物同步到支持的 Agent 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/beppetemp/cartographer:v0.27.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/beppetemp/cartographer:v0.27.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
为团队的 AI Agent 提供共享记忆——一个它们共同阅读、共同扩展,且谁也无法破坏的维基。
同事的 Agent 周一得出的结论,你的 Agent 周二就已知晓——即使使用的是另一个客户端。
Claude Code、Codex、OpenCode 和[任意 MCP 客户端](docs/mcp-clients.md):一个 Go 二进制文件,底层由 git 支持。
由 Atlas 自带的图谱引擎绘制。1.0 之前:不兼容变更会提升次版本号,并在 变更日志中说明。
立即试用
在线体验 Cartographer——无需安装、无需令牌、无需注册。它提供两个知识库:一个可供探索的天文图谱, 以及一个访客留言簿,访客的 Agent 可以在其中留言。
1. 连接你的 Agent 至 https://cartographer-demo.beppetemp.com/mcp
- Claude 或 ChatGPT — 网页版、桌面版或手机版:将其添加为自定义连接器,无需登录 (在 Claude 中选择 Customize → Connectors → Add custom connector;在 ChatGPT 中选择 Plugins → + → Add custom MCP server, 并将身份验证设为 None)。
- Claude Code:
claude mcp add --transport http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
Codex、OpenCode、Antigravity、GitHub Copilot CLI、Crush、Kiro
# Codex
codex mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp
# OpenCode
opencode mcp add cartographer-demo --url https://cartographer-demo.beppetemp.com/mcp --global
# Antigravity
agy mcp add --type http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
# GitHub Copilot CLI
copilot mcp add --transport http cartographer-demo https://cartographer-demo.beppetemp.com/mcp
# Crush
echo 'mcp add cartographer-demo --type http --url https://cartographer-demo.beppetemp.com/mcp' >> ~/.config/crush/crushrc
# Kiro: add to "mcpServers" in ~/.kiro/settings/mcp.json
# "cartographer-demo": { "url": "https://cartographer-demo.beppetemp.com/mcp" }
2. 向它提问
- “这个知识库了解哪些关于黑洞的信息?它们与什么有关联?”
- “对知识库进行健康检查:有哪些内容已损坏、过时或缺失?”
- “这个知识库会在我的编码 Agent 中安装哪些技能、子 Agent 和钩子?”
3. 留下消息,看看它如何出现
询问 “在留言簿中留个言:说说你使用的客户端,以及你希望共享维基保留哪些内容”, 然后打开在线 Atlas →:你的留言会出现在图谱中, 与其他人的 Agent 留下的留言相邻。多个 Agent,共用一个维基。
除留言簿消息外,所有内容均为只读。留言簿消息公开、匿名,且经过审核并受到频率限制。 如需为你的 Agent 提供专属知识库,请参阅快速入门。
为什么需要它
AI Agent 在每次会话开始时都一无所知;在团队中,每位同事的 Agent 也都从各自的零基础开始:一个人学到的内容只留在那个人的机器和客户端上。常见的解决方案各自只解决了三分之一的问题:
- RAG 可以检索,但不会累积——Agent 永远无法记下自己学到的内容。
- Markdown 文件夹 可以由 Agent 自由编辑,但最终会出现链接失效、历史记录丢失和悄无声息的数据损坏。
- 技能、子 Agent 和指令 被手动复制到
.claude/、.codex/、.kiro/……并且在每台机器上逐渐出现分歧。
Cartographer 将这三者集中到一处:你的 Agent 只能通过 MCP 工具读取和扩展知识库,由服务强制执行规则;同一知识库还包含你的 Agent 配置方式。
你将获得
-
🧠 不断累积的记忆
Agent 会随着时间推移不断构建维基(Karpathy 的 LLM Wiki 模式):纯 Markdown + YAML,每个知识库对应一个 git 仓库,可在 Obsidian 或任何编辑器中阅读。没有厂商锁定。 -
🛡️ 依靠防护机制,而非良好意愿
架构验证、链接检查、lint、不可变性关卡、乐观并发控制、每次写入一次提交,以及签名审计日志。Agent 无法让知识库处于损坏状态。 -
🧩 一个知识库配置所有 Agent
技能、子 Agent、钩子和常驻指令存放在知识库中,并以各客户端的原生格式提供给它们(下文)。只需编辑一次,每台机器都会保持同步。 -
👥 专为团队打造
一个服务后端可承载多个知识库——作为原生用户服务、容器或 Kubernetes 工作负载运行——并提供按知识库和按地图划分的访问控制,支持持有者令牌角色、以 git 作为同步层、将冲突转化为引导式工作流,以及 Ed25519 签名工件。 -
🗺️ 在 Atlas 中一览全貌
同一二进制文件中内置的只读 Web UI:一个实时 3D 图谱、搜索功能、Agent 的更改、知识库提供给它们的内容,以及需要修复的问题。无需额外服务,也无需 CDN。 -
🔑 妥善处理机密信息
由 SOPS 加密、通过概念引用并按需解析的值;绝不存储明文。
由同一二进制文件提供服务的 Atlas,展示生成的演示知识库。
快速开始
你需要 git 和一个自己拥有的空 git 仓库(GitHub、Gitea 或任何主机),用来存放第一个知识库。
brew install beppetemp/tap/cartographer # macOS — Windows, Linux and source: see Install
cartographer setup # server, first KB and your agents, in one guided step
setup 会先显示执行计划,再进行任何操作;随后安装本地服务、创建知识库、连接检测到的所有 Agent 客户端,并验证结果。重启已经打开的 Agent 会话,然后询问你的 Agent 它知道些什么。分步说明:
docs/getting-started.md。
希望让 Agent 为你安装? 粘贴以下内容:
Set up Cartographer on this machine by following
https://raw.githubusercontent.com/BeppeTemp/cartographer/main/docs/agent-install.md
My first knowledge base is at: `<git remote URL>`
如果你是受托安装 Cartographer 的 Agent:请遵循该操作手册,而非快速开始指南。
一个知识库,适用于所有 Agent
cartographer connect 会检测已安装的客户端,并以各自的格式写入以下内容:
| Claude Code | Codex | OpenCode | Kiro | Antigravity | Crush | Copilot CLI | |
|---|---|---|---|---|---|---|---|
| MCP 端点 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 指令 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 技能 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 子 Agent | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| 钩子 | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
子 Agent 和钩子会经过转换,而非直接复制。每个 — 都表示一个有明确原因的差异,绝不会悄无声息地遗漏。Cartographer 会在会话开始时重新同步(没有钩子的客户端则按定时器同步),恢复被手动编辑或删除的文件,并且只会触碰它创建的内容。确切路径和原因见:docs/sync.md。
安装
# macOS (Homebrew)
brew install beppetemp/tap/cartographer
# Windows (PowerShell; no administrator rights)
irm https://raw.githubusercontent.com/BeppeTemp/cartographer/main/install.ps1 | iex
# Linux / macOS without Homebrew
curl -fsSL https://raw.githubusercontent.com/BeppeTemp/cartographer/main/install.sh | sh
# From source (Go 1.26+)
go install github.com/BeppeTemp/cartographer/cmd/cartographer@latest
安装位置、升级和卸载:
docs/getting-started.md。服务配置、
环境变量和部署拓扑:docs/deployment.md。
文档
可在 beppetemp.github.io/cartographer 浏览;文档地图位于 docs/index.md。
参与贡献
问题和开放式想法请前往
Discussions;Bug 和具体提议请提交到 issues。欢迎提交 issues 和 PR:CONTRIBUTING.md 介绍了构建、
测试和 PR 流程。Cartographer 是一个个人项目,维护工作会尽力而为。
安全问题请报告至:SECURITY.md。
许可证
Apache License 2.0 — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。