CodeGraph vs GitNexus
对比两款面向 AI Agent 的代码分析 MCP 工具:CodeGraph 主打外科手术式精准源码检索,GitNexus 主打预计算架构知识图谱,并给出按任务阶段的选型判断与许可证警示。
[!info] related notes
- 所属 MOC: AI MOC, Coding Agent MOC
- 原子资源: CodeGraph, GitNexus
- 相邻工具: Repomix(上下文打包器,非关系图谱), Repomix 与代码关系图谱工具的区别
- 背景: Knowledge Graph, MCP 协议
CodeGraph vs GitNexus
范围
对比两款面向 AI Agent 的代码分析 MCP 工具:
- CodeGraph ——
colbymchenry/codegraph,v1.5.0,MIT License - GitNexus ——
abhigyanpatwari/GitNexus,v1.6.9,PolyForm Noncommercial 1.0.0
两者都不是 RAG 文档库,而是 AST 静态分析 + 本地图数据库 + MCP。本文只对比它们的定位、原理差异与选型判断,不复制各自架构细节(见 CodeGraph 与 GitNexus)。
为什么要放在一起理解
两者共用的底层思路一致:
源代码 → Tree-sitter AST → 提取函数/类/方法/文件节点 → 提取调用/导入/继承关系 → 本地图数据库 → 通过 MCP 给 Codex/Claude Code/Cursor
它们真正解析 AST,建立类似 File └─ contains ─> Class └─ contains ─> Method └─ calls ─> Function 的关系,更接近静态分析器 / 代码索引器 / 调用图数据库 / 面向 Agent 的代码查询层,而不是“切块 → 向量 → LLM 猜结构”。
真正的区别在于目标函数不同:
CodeGraph:代码 → 结构图 → 查询时组合精确上下文
GitNexus:代码 → 结构图 → 进一步预计算社区/流程/架构知识 → 多种图分析工具
核心差异(对比表)
| 维度 | CodeGraph | GitNexus |
|---|---|---|
| 核心定位 | 精确代码上下文检索 | 架构知识图谱与图分析 |
| 图数据库 | SQLite + FTS5 | LadybugDB 属性图 |
| 图模型 | 统一 Node/Edge 表 | 多种节点表 + CodeRelation |
| 解析方式 | Tree-sitter + Rust 内核 | Tree-sitter + 多阶段语义解析 |
| 检索 | FTS5、符号、路径和图关系 | BM25 + 可选 Embedding + RRF |
| 社区发现 | 无核心 Community 模型 | Leiden 功能社区 |
| 执行流程 | 查询时寻找调用路径 | 预计算 Process 和步骤 |
| MCP 策略 | 默认一个 explore 工具 | 17 个专业工具 |
| 源码输出 | 强调直接返回真实源码 | 更强调结构化图查询结果 |
| 动态调用 | 启发式补边 | scope resolution + callable flow + 图推断 |
| 数据流分析 | 主要是符号和调用层 | 可选 CFG/PDG/污点分析 |
| 跨仓库 | 按 projectPath 分项目查询 | Repo Group、Contract Registry、跨仓库 trace |
| 更新方式 | 文件监听、自动增量同步 | analyze 更新索引,Hooks 检测陈旧状态 |
| 部署复杂度 | 较低 | 较高 |
| License | MIT | 非商业许可证 |
两种设计哲学
CodeGraph:让 Agent 少读代码。
它关心的是:如何只给 Agent 6 个真正相关的函数,而不是让它打开 30 个文件。精力放在 MCP 工具返回格式、输出大小、文件聚合、源码窗口、Agent 工具选择、动态调用覆盖、自动同步、避免 Agent 回退 grep。更像“AI Agent 的智能版 grep + LSP + call hierarchy + Read”。
GitNexus:让图数据库先理解架构。
它关心的是:如何在索引阶段把项目的架构、流程、社区和依赖提前计算出来。精力放在多阶段语义解析、社区检测、流程检测、影响分析、API 契约、跨仓库依赖、PDG、污点分析、Cypher 查询、架构文档生成。更像“面向 AI Agent 的静态分析平台和代码架构数据库”。
选型决策规则
按任务阶段选择:
- 初次深度研究与生成完整文档 → GitNexus:原生具备 Community、Process、architecture map、trace、context、impact、route map、Cypher、可选 Embedding / PDG,适合让 AI 输出模块划分、核心执行流程、主要入口、关键调用链、跨模块依赖、扩展影响范围、Mermaid 架构图。
- 后续频繁开发、调试、小范围修改 → CodeGraph:快速理解当前函数、少消耗 Token、修改后图自动更新、一次拿到源码与调用链、工具少不易选错。
只选一个时,若首要目标是“理解陌生项目并生成系统文档”,GitNexus 更契合;若首要目标是“长期日常开发、尽量让 Agent 少读代码”,CodeGraph 更优雅。两者同时安装通常会产生重复上下文与工具竞争,更合理的是先单独用 GitNexus 完成项目知识文档,等文档稳定后再评估是否切换到 CodeGraph 作为日常开发索引器。
许可证警示
若项目未来用于商业开发:
- GitNexus 是 PolyForm Noncommercial 1.0.0,限制商业用途;
- CodeGraph 是 MIT,无此限制。
许可证可能成为最终选型中的决定性因素——商业场景优先 CodeGraph,或先确认 GitNexus 的授权范围。
相关资源
- CodeGraph —— 高精度源码检索与调用关系引擎
- GitNexus —— 预计算架构知识图谱平台
- Knowledge Graph —— 图结构与 Cypher 背景
- MCP 协议 —— 两者都通过 MCP 暴露给 Agent