四个代码知识图谱项目对比:Understand-Anything、codegraph、GitNexus、codebase-memory-mcp 怎么选?
四个代码知识图谱项目对比:Understand-Anything、codegraph、GitNexus、codebase-memory-mcp 怎么选?
AI coding agent 变强之后,新的瓶颈不是“模型不会写代码”,而是“模型不知道该看哪些代码”。
一个中大型项目里,agent 为了回答一句“这个请求怎么走到数据库?”可能会先grep、再glob、再Read一堆文件,最后把大量无关上下文塞进模型窗口。结果就是:慢、贵、容易漏调用链,还经常把 token 烧得像开水龙头。
于是,最近这类“代码知识图谱 / code intelligence / MCP memory”项目开始冒出来。它们的共同目标是:提前把代码库解析成结构化图谱,让人或 AI agent 不再盲读代码。
本文对比四个代表项目:
- Understand-Anything
- codegraph
- GitNexus
- codebase-memory-mcp
先说结论:
Understand-Anything 是给人看的项目地图。
codegraph 是给 agent 用的轻量本地代码索引。
GitNexus 是给 agent 用的重型 Graph RAG / 工作流平台。
codebase-memory-mcp 是给 agent 用的高性能本地代码记忆引擎。
一、先用一张表看全局
| 项目 | 最像什么 | 主要服务对象 | 最适合场景 |
|---|---|---|---|
| Understand-Anything | 项目架构导游 | 人类开发者、新人、架构师、PM | onboarding、架构理解、业务域梳理、中文图谱 |
| codegraph | agent 的轻量代码索引 | Claude Code / Cursor / Codex 等 agent | 少 grep、少读文件、少工具调用、日常 AI coding |
| GitNexus | agent 的代码智能平台 | 重度 AI coding / 团队级工作流 | MCP、skills/hooks、Graph RAG、Web UI、多 repo |
| codebase-memory-mcp | agent 的高速长期代码记忆 | 大仓库、极致 token 压缩、本地 MCP 用户 | 高性能索引、结构查询、调用链、影响分析、多语言覆盖 |
这四个项目不是简单的替代关系,而是站在不同层级解决问题。
Understand-Anything的目标是把代码库、知识库或文档变成交互式知识图谱,用户可以搜索、浏览、提问,并通过 dashboard 理解项目结构;它还强调 guided tours、业务逻辑视图、语义搜索、diff impact analysis 和中文等多语言输出。(GitHub)
codegraph明确面向 AI coding agent:它让 agent 不再靠 grep、glob、Read 一点点探索项目,而是直接查询预构建的 symbol、call edge、dependency 图谱,一次拿到相关源码、调用路径和 blast radius。(GitHub)
GitNexus把自己定位成 “agent context 的神经系统”:它索引 dependency、call chain、cluster、execution flow,并通过 CLI + MCP 给 AI agents 提供深度代码库感知能力。(GitHub)
codebase-memory-mcp则更偏性能派:README 称它可以把代码库索引成持久知识图谱,支持 158 种语言、14 个 MCP tools、单个静态二进制、零依赖,并能解析函数、类、调用链、HTTP routes 和跨服务链接。(GitHub)
二、Understand-Anything:给人看的“项目地图”
Understand-Anything 的关键词不是“省 token”,而是看懂项目。
它非常适合这种场景:
- 新人刚加入团队,不知道项目从哪里看起;
- 架构师想快速梳理系统分层;
- 后端同学想理解一个业务流程,比如支付、订单、权限;
- 团队想生成 onboarding guide;
- 想要一个可以浏览、搜索、点击节点的 dashboard;
- 想用中文解释代码结构。
它会扫描项目,抽取文件、函数、类和依赖关系,然后生成.understand-anything/knowledge-graph.json。用户可以打开 dashboard,用图谱方式浏览项目,并查看节点的自然语言解释、关系和 guided tours。(GitHub)
它的一个亮点是业务域视图。很多代码图谱工具停留在“函数 A 调用函数 B”,但真实项目里,人更想知道的是:“订单创建流程涉及哪些 controller、service、model、job、event?”Understand-Anything 的 domain view 会把代码映射到 domains、flows、steps,这对业务系统非常友好。(GitHub)
不过它也有代价。Understand-Anything 的初次/understand会分析整个代码库,大项目可能消耗较多 token;官方 README 也建议大项目初始化时使用订阅方案或本地模型,后续增量分析才会显著减少 token。(GitHub)
所以,Understand-Anything 最适合被当成:
项目理解工具、架构文档工具、团队 onboarding 工具。
它不是最适合每天常驻给 agent 查调用链的那一个。
三、codegraph:轻量、本地、专注 agent 提效
codegraph 的定位非常干净:
给 Claude Code、Cursor、Codex、OpenCode、Gemini、Antigravity、Kiro 等 AI coding agent 一个本地代码知识图谱,让它们少读文件、少调用工具、更快回答问题。
它的核心思路是:提前建立 symbol、call edge、dependency、files、FTS5 全文索引;agent 需要理解代码时,不再盲目 grep,而是直接通过 MCP 查询。codegraph 的 README 明确写到:一次explore调用可以返回相关 symbols 的源码、调用路径和 blast-radius summary,底层是 SQLite knowledge graph。(GitHub)
它的 benchmark 也比较实在。官方测试显示,在 7 个真实开源项目上,启用 CodeGraph 后出现了58% fewer tool calls、22% faster、文件读取接近 0的结果;同时 README 也提醒,token 和美元成本节省会随仓库规模而变化,小项目主要收益是速度和精确上下文,大项目才更容易看到明显成本优势。(GitHub)
在一些具体项目中,codegraph 的 token 降幅也很明显:例如部分 benchmark 表里显示 60%、38%、54%、23%、64% 的 total tokens 降幅。(GitHub)
我对 codegraph 的评价是:
它不是功能最多的,但它很像“刚刚好”的 agent 索引工具。
它轻、清晰、本地、MIT,适合每天放在 Claude Code / Cursor / Codex 旁边用。codegraph 的 package.json 也显示它是 MIT license,并描述为“semantic code intelligence — surgical context, fewer tool calls, faster answers, 100% local”。(GitHub)
如果你的目标很朴素:
- 让 agent 少 grep;
- 少读无关文件;
- 快速查调用链;
- 看改动影响范围;
- 不想引入重型平台;
那 codegraph 是一个很稳的选择。
四、GitNexus:更像平台,而不是小工具
GitNexus 和 codegraph 都服务 AI agent,但 GitNexus 明显更“重”。
它不只是一个本地调用图索引,还包括:
- CLI + MCP;
- Web UI;
- Graph RAG Agent;
- skills/hooks;
- embeddings;
- agent context 文件生成;
- 多 repo / 企业版能力;
- PR blast radius、auto-updating code wiki 等企业功能。
官方 README 推荐用 CLI + MCP:npx gitnexus analyze会索引 repo、安装 agent skills、注册 Claude Code hooks,并生成AGENTS.md/CLAUDE.md上下文文件。(GitHub)
它对 Claude Code、Codex、Cursor、Antigravity、OpenCode 等都有 MCP 配置说明,其中 Claude Code 是 MCP + skills + hooks 的完整支持。(GitHub)
GitNexus 的优势是体系完整。如果你想做的是“团队级 code intelligence 平台”,它比 codegraph 更有想象力。比如 repo chat、Graph RAG、自动 reindex、skills、hooks、Web UI,这些都不是 codegraph 的主战场。
但 GitNexus 有两个明显注意点。
第一,它更复杂。package.json 显示它依赖@huggingface/transformers、@ladybugdb/core、@modelcontextprotocol/sdk、onnxruntime-node、tree-sitter以及多种 tree-sitter grammar,并要求 Node >= 22。(GitHub)
第二,许可证要特别注意。GitNexus 的 package.json 写的是PolyForm-Noncommercial-1.0.0,LICENSE 文件也显示 PolyForm Noncommercial License 1.0.0;README 里还单独提到商业授权和企业版。(GitHub)
所以,GitNexus 很强,但不适合无脑装进公司商业项目里。先看 license,再谈落地。别让法务突然从黑暗里刷新出来,那场面一般不太优雅。
五、codebase-memory-mcp:高性能本地代码记忆层
codebase-memory-mcp 是这四个里面最像“性能怪兽”的一个。
它的定位是:
高性能 code intelligence MCP server,把代码库索引成持久知识图谱,供 AI coding agent 查询。
它强调几个点:
- 单静态二进制;
- 零运行时依赖;
- 本地运行;
- 158 种语言;
- 14 个 MCP tools;
- sub-ms 查询;
- 支持函数、类、调用链、HTTP routes、跨服务链接;
- 支持 Claude Code、Codex、Gemini、OpenCode、Aider、VS Code 等多个 agent。(GitHub)
它和 codegraph 最像,都是“给 agent 查代码结构的本地 MCP 工具”。但 codebase-memory-mcp 更激进:README 称它可以在 Apple M3 Pro 上 3 分钟索引 Linux kernel,Django full index 约 6 秒,Cypher 查询小于 1ms;还声称 5 个结构查询约 3,400 tokens,而文件逐个 grep 探索约 412,000 tokens,token reduction 达 99.2%。(GitHub)
它还有一个值得注意的设计选择:不内置 LLM。官方说明说,codebase-memory-mcp 是结构分析 backend,只负责构建和查询知识图谱;自然语言理解和解释交给 MCP client,比如 Claude Code。这样避免了额外 API key、额外模型成本和额外配置。(GitHub)
功能上,它支持 architecture overview、ADR、Louvain community detection、git diff impact mapping、call graph、dead code detection、Cypher-like queries、semantic search、BM25 search、cross-service linking、cross-repo intelligence 等。(GitHub)
许可证方面,codebase-memory-mcp 是 MIT。(GitHub)
我的判断是:
如果你想要一个比 codegraph 更激进、更高性能、更偏“大仓库/多语言/极致 token 压缩”的本地 MCP 记忆层,codebase-memory-mcp 很值得优先试。
但它也有一个现实问题:越激进的工具,越需要在自己的 repo 上实测。尤其是调用图准确率、框架识别、agent 是否真的优先使用它、查询结果是否过度压缩,都要用真实任务验证。
六、四个项目怎么选?
1. 想让人快速理解项目:选 Understand-Anything
如果你的目标是:
- 接手陌生项目;
- 给新人 onboarding;
- 做架构 walkthrough;
- 输出中文解释;
- 看业务域和业务流程;
- 给团队沉淀文档;
那首选Understand-Anything。
它是“人类友好”的工具。它输出的是 dashboard、guided tours、plain-English summaries、业务域视图,而不是只给 agent 返回一堆结构化 JSON。
2. 想让 agent 日常改代码更快:选 codegraph
如果你的目标是:
- Claude Code / Cursor / Codex 少读文件;
- 少 grep;
- 少 tool calls;
- 快速定位调用链;
- 减少不必要上下文;
- 保持工具简单、轻量、本地;
那codegraph是最稳的选择。
它没有太多平台化负担,也没有复杂 license 风险。它像一个专用小扳手:不花哨,但每天都能用。
3. 想搭 agent code intelligence 平台:选 GitNexus
如果你的目标是:
- Web UI;
- repo chat;
- Graph RAG;
- MCP + skills + hooks;
- 多 repo;
- 自动 reindex;
- 企业级 PR blast radius;
- 团队级 code intelligence;
那GitNexus更像完整平台。
但公司项目使用前务必确认商业授权。它不是 MIT/Apache 那种随手拿来用的宽松许可证项目。
4. 想极致本地性能和 token 压缩:选 codebase-memory-mcp
如果你的目标是:
- 大仓库;
- 多语言;
- 单二进制;
- 零依赖;
- 极快索引;
- sub-ms 图查询;
- 结构化 call graph / impact / architecture 查询;
- 尽量少 token;
那codebase-memory-mcp是目前很值得试的选择。
它是 codegraph 的强竞争者,尤其是在性能、语言覆盖、Cypher-like 查询和 token 压缩宣传上更激进。
七、我的实际推荐组合
如果你是个人开发者或后端工程师,平时主要用 Claude Code / Cursor / Codex,我建议不要一开始四个全装。
更合理的顺序是:
第一步:先试 codebase-memory-mcp 或 codegraph
这两个最直接改善日常 AI coding 体验。
如果你喜欢稳定、轻量、行为清晰,先试codegraph。
如果你想冲性能、多语言、大仓库、极致 token 压缩,先试codebase-memory-mcp。
第二步:项目理解时补 Understand-Anything
当你接手新项目、要给团队讲架构、要做中文 onboarding,跑Understand-Anything。
它和前两个不冲突。前两个是 agent 的眼睛,Understand-Anything 是人的地图。
第三步:需要平台化时再评估 GitNexus
当你真的需要 Graph RAG、Web UI、skills/hooks、多 repo 工作流,再考虑GitNexus。
但它更重,而且 license 要先过关。
八、最终结论
这四个项目可以分成四层:
| 层级 | 项目 | 一句话 |
|---|---|---|
| 人类理解层 | Understand-Anything | 把项目讲清楚,适合 onboarding、架构图、业务域理解 |
| 轻量 agent 索引层 | codegraph | 让 agent 少 grep、少 Read、少 tool calls |
| 平台级 agent 智能层 | GitNexus | Graph RAG、Web UI、skills/hooks、多 repo,但更重且 license 要注意 |
| 高性能 agent 记忆层 | codebase-memory-mcp | 单二进制、本地、高速、多语言、极致 token 压缩 |
如果只能记一句话:
人看项目,用 Understand-Anything;agent 改代码,用 codegraph 或 codebase-memory-mcp;团队做平台,再看 GitNexus。
我的默认推荐是:
日常 AI coding:先试 codebase-memory-mcp 和 codegraph 二选一。
项目理解和团队文档:用 Understand-Anything。
Graph RAG / 多 repo / hooks / 企业工作流:再评估 GitNexus。
