code-review-graph v2.3.7:给你的 AI 编程助手装上「代码地图」,审查时少读 82% 文件
用 Cursor、Claude Code、Codex 这些 AI 编程工具做代码审查时,你大概率遇到过这个问题:改了一个文件,AI 却要把半个仓库重新读一遍,既浪费 token,又容易在无关代码里迷失方向。
code-review-graph 就是来解决这个根问题的。它用 Tree-sitter 把你的代码库解析成一张结构化的「关系图」——函数、类、调用链、测试覆盖、依赖关系全部建模——然后通过 MCP 协议,只把真正受影响的那几个文件喂给你的 AI 助手。
项目刚发布 v2.3.7,是一次维护者整合更新,把 v2.3.6 以来社区验证通过的所有改进合入主线,没有破坏性变更。
核心思路:blast radius,而不是全量扫描
传统做法是让 AI grep 整个仓库,或者靠 RAG 做语义检索。code-review-graph 走了另一条路:
- 构建图谱:用 Tree-sitter 解析 AST,提取函数、类、import、调用、继承、测试覆盖等节点和边,存为本地图数据库
- 增量更新:文件保存或 git commit 时,只 diff 变更部分,图自动更新
- 精准上下文:当某个文件变更时,沿图追踪所有调用方、依赖方、相关测试——这就是变更的「blast radius」——AI 只读这些文件
官方基准测试显示,中位数情况下 AI 只需读取约 1/82 的文件就能完成审查,极端最优情况可达 528 倍缩减。项目在 v2.3.6 已将基准测试改为更诚实的表述:82x 是中位数,528x 是最佳情况而非标题数字。
v2.3.7 更新了什么
这次版本的核心改进:
- CLI 工作流扩展:新增 quiet/JSON 输出模式,方便脚本和 CI 集成;新增 enrichment 和 dead code 分析命令
- CommonJS 解析支持:Node.js 项目的 require/module.exports 现在也能正确建模
- 语言覆盖大幅扩展:新增 Terraform、Ansible、VB.NET、SystemVerilog、Rust、PHP/Laravel、Julia、Python、C#、Java/Spring/WebFlux 的图谱支持
- 分析能力增强:bounded transitive test coverage(有界传递测试覆盖)、churn risk(代码变动风险)、weighted impact ranking(加权影响排序)、graph provenance(图谱溯源)、documentation-aware embeddings(文档感知嵌入)
- 新平台支持:新增 CodeBuddy 和 OpenCode 的官方集成配置,目前共支持 Cursor、Claude Code、Codex、Gemini CLI、Kiro、GitHub Copilot(VS Code + CLI)、CodeBuddy、OpenCode 共 8 个平台
- 安全加固:关闭了全部 3 个高危 CodeQL 告警;更安全的卸载流程和平台配置
- 基础设施:MCP 并发处理加固、守护进程生命周期改进、Windows 进程处理修复、Git 路径解析修复
怎么上手
三条命令,自动检测你已安装的 AI 编程工具并写入 MCP 配置:
```bash
pip install code-review-graph
code-review-graph install # 自动检测并配置所有支持的平台
code-review-graph build # 解析代码库,构建图谱
```
install 命令会自动识别你装了哪些工具(Cursor、Claude Code 等),写入对应的 MCP 配置和平台规则。也可以指定单个平台:code-review-graph install --platform cursor。
初始构建 500 个文件的项目大约 10 秒。之后开启 watch 模式或 git hook,图谱会随代码变更自动增量更新。
项目还提供了 GitHub Action,可以在 CI 里自动构建图谱、生成风险评分的 PR review comment。
适用场景与限制
适合:
- 大型仓库的代码审查和 PR review,尤其是跨模块变更
- 想减少 AI 编程工具 token 消耗的团队
- 需要理解代码变更「影响范围」的场景
需要注意:
- 需要 Python 3.10+,推荐安装 uv 以获得最佳体验
- 首次构建大型仓库需要一定时间
- 目前对部分小众语言的支持仍在完善中
项目基于 MIT 协议开源,代码和文档在 [GitHub](https://github.com/tirth8205/code-review-graph)。