Code Review Graph:Claude Code 的代码地图。这个工具解决的是个老问题:Claude Code 每次都要重新读你的整个代码库。
举个例子,你有个 500 文件的项目。修改了一个函数。Claude Code 却要读遍所有 500 个文件,才能理解"这个改动的影响范围是什么"。结果是Token 爆炸,成本和速度都很糟。比如 Flask 项目,一次代码审查:不用图的话 44,751 token,用图只需 4,252 token,9.1x 省下来
Code Review Graph 干了三件事:
1. 把你的代码编成地图
用 Tree-sitter 解析代码,把函数、类、import、调用关系都记下来,存成图的形式(Graph Database 风格,用 SQLite)。支持 18 种语言,从 Python、TypeScript 到 Rust、Go、Java 都行。
初次解析一个 500 文件项目,10 秒。之后每次你改文件,Hook 自动触发增量更新,2 秒搞定。
2. 追踪影响范围
你改了一个函数。Graph 会自动找出:
- 谁调用了这个函数
- 哪些类继承了这个类
- 哪些测试覆盖了这段代码
- 间接受影响的函数和模块
这叫「Blast Radius 分析」。结果是,Claude 只用读这些相关文件,不用读整个项目。
精准度呢?完美查全率(100% recall),虽然会有过度预测(保守策略,宁可多读不漏读),但 F1 平均 0.54,已经很不错。
3. 给 Claude 提供结构化上下文
不是把整个文件扔给 Claude,而是给它一个精准的上下文:
- 改了哪些节点(函数、类)
- 这些节点的调用链是什么
- 哪些测试应该 cover 这些改动
- 相关的其他模块是什么
Claude 拿着这个"地图",不但省 token,质量还更好(因为噪音少了)。
亮点:
1. 增量更新:不是每次都重新解析整个项目,而是只解析变过的文件,再跟图做 diff。一个 2900 文件的项目,commit 后 2 秒搞定。
2. 自动化配置:code-review-graph install 一条命令,自动检测你用的是 Claude Code、Cursor、Windsurf、Zed、Continue 还是 OpenCode,然后写入对应的 MCP 配置。重启编辑器就行。
3. 本地存储:SQLite 文件在 .code-review-graph/ 目录,没有云依赖,没有外部数据库。你的代码地图就在本地。
4. 可视化:可以生成交互式 D3.js 图,看看你的代码架构长什么样。社区检测(Leiden 算法)会自动聚类相关的模块。
项目:github.com/tirth8205/code-review-graph