Code Review Graph:用代码图谱让 AI 编码工具节省 82 倍 Token
TL;DR: AI 编码工具(Claude Code、Cursor、Copilot)在代码审查时会重新读取整个代码库,浪费大量 token。code-review-graph 用 Tree-sitter 构建代码结构图谱,通过 MCP 协议为 AI 工具提供精准上下文,实测减少 82 倍 token 消耗。
这是什么项目?
code-review-graph 是一个本地优先的代码智能图谱工具,今天(2026-07-21)登上 GitHub Trending 第一,24 小时内涨星 1,876,总星数突破 22,900。
核心问题: 当你用 Claude Code 或 Cursor 做代码审查时,AI 会重新读取大量代码文件,即使只改了一个函数。对于大型项目,这意味着每次审查都要消耗数万甚至数十万 token。
解决方案: code-review-graph 用 Tree-sitter 解析代码为 AST(抽象语法树),构建函数、类、导入、调用关系的图谱。当文件变更时,图谱追踪所有调用者、依赖项和受影响的测试,计算出"爆炸半径"——AI 只需要读取这些相关文件,而不是整个代码库。
实测数据: - 中位数 token 减少:82 倍(6 个开源项目测试) - 最佳案例:FastAPI 项目减少 528 倍(95 万 token → 2,169 token) - 增量更新:2,900 文件项目 2 秒内完成重新索引
安装配置
系统要求
- Python 3.10+
- Git 或 SVN 仓库
- 推荐安装 uv(更快的包管理器)
一键安装
# 安装 code-review-graph
pip install code-review-graph
# 或使用 pipx
pipx install code-review-graph
# 自动检测并配置所有支持的 AI 编码工具
code-review-graph install
# 构建代码图谱(首次约 10 秒/500 文件)
code-review-graph build
install 命令会自动检测你安装了哪些 AI 编码工具(Claude Code、Cursor、Copilot、Gemini CLI、Codex、Kiro 等),为每个工具写入正确的 MCP 配置,安装平台原生的 hooks/skills,并注入图谱感知指令。
指定平台配置
如果只想配置特定工具:
# 只配置 Claude Code
code-review-graph install --platform claude-code
# 只配置 Cursor
code-review-graph install --platform cursor
# 只配置 GitHub Copilot
code-review-graph install --platform copilot
# 只配置 Gemini CLI
code-review-graph install --platform gemini-cli
安装完成后,重启你的编辑器或 AI 工具。
快速上手
第一步:构建图谱
在你的项目根目录运行:
cd /path/to/your/project
code-review-graph build
首次构建会解析所有代码文件,提取函数、类、导入、调用关系,存储为图谱数据库。500 文件项目约 10 秒。
第二步:使用 AI 工具
打开你的 AI 编码工具(Claude Code、Cursor 等),直接提问:
Build the code review graph for this project
AI 会通过 MCP 协议查询图谱,获取精准的代码上下文。
第三步:代码审查
当你做 PR 审查时,AI 工具会自动: 1. 检测变更的文件 2. 查询图谱,找出所有调用者、依赖项、受影响的测试 3. 只读取这些相关文件(而不是整个代码库) 4. 生成精准的审查意见
示例场景: 你修改了 auth.py 中的 validate_token() 函数。图谱会追踪:
- 所有调用 validate_token() 的文件
- 继承自相关基类的类
- 相关的测试文件
- 依赖这些文件的其他模块
AI 只需要读取这些文件(通常 10-20 个),而不是整个代码库(可能上千个文件)。
进阶功能
MCP 集成原理
code-review-graph 通过 MCP(Model Context Protocol) 与 AI 工具通信。MCP 是一个开放协议,让 AI 模型能够访问外部工具和数据源。
工作流程: 1. AI 工具收到代码审查请求 2. 通过 MCP 调用 code-review-graph 的工具 3. code-review-graph 查询图谱,返回最小文件集合 4. AI 只读取这些文件,生成审查意见
支持的 MCP 工具(30+):
- get_review_context:获取审查上下文
- get_blast_radius:获取变更影响范围
- get_callers:获取函数调用者
- get_dependencies:获取文件依赖
- get_test_coverage:获取测试覆盖情况
- ...
GitHub Action 集成
code-review-graph 提供官方 GitHub Action,可以在 PR 上自动生成代码审查评论。
# .github/workflows/code-review-graph.yml
name: Code Review Graph
on:
pull_request:
permissions:
contents: read
pull-requests: write
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: tirth8205/code-review-graph@v2.3.6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
功能:
- 每个 PR 自动生成一条粘性评论(sticky comment)
- 包含风险评分的函数、受影响的执行流、测试缺口
- 每次 push 自动更新评论
- 可选 fail-on-risk 输入,将审查作为合并门禁
本地优先: 知识图谱完全在 CI runner 上构建和查询,不会将源代码发送到任何外部服务。
增量更新与 Watch 模式
当启用 hooks 或 watch 模式时,文件保存和提交钩子会触发增量更新:
# 启用 watch 模式(文件保存时自动更新)
code-review-graph watch
# 启用 pre-commit hook
code-review-graph install --hooks
增量更新流程: 1. 检测变更的文件 2. 通过 SHA-256 哈希检查,找出受影响的依赖 3. 只重新解析变更的文件 4. 更新图谱数据库
2,900 文件项目增量更新 < 2 秒。
自定义语言支持
code-review-graph 支持 40+ 种编程语言(Python、JavaScript/TypeScript、Go、Rust、Java、C/C++、C#、Ruby、Kotlin、Swift 等)。
如果你的项目使用未支持的语言,可以在 .code-review-graph/languages.toml 中自定义:
[languages.erlang]
extensions = [".erl"]
grammar = "erlang"
function_node_types = ["function_clause"]
class_node_types = ["record_decl"]
import_node_types = ["import_attribute"]
call_node_types = ["call"]
Tree-sitter 解析器会自动处理提取,无需修改代码。详见 docs/CUSTOM_LANGUAGES.md。
卸载
# 预览卸载操作
code-review-graph uninstall --dry-run
# 确认并卸载
code-review-graph uninstall
# 跳过确认
code-review-graph uninstall --yes
# 清理所有仓库
code-review-graph uninstall --all-repos
# 保留图谱数据库
code-review-graph uninstall --keep-data
卸载只移除 code-review-graph 相关的文件和配置,不会影响其他 MCP 服务器或工具。
性能数据
code-review-graph 在 6 个真实开源项目上进行了基准测试(13 个提交):
| 项目 | 代码库 Token 数 | 图谱查询 Token 数 | 减少倍数 |
|---|---|---|---|
| FastAPI | 951,071 | 2,169 | 528.4x |
| code-review-graph | 208,821 | 2,495 | 93.0x |
| Gin | 166,868 | 1,990 | 91.8x |
| Flask | 125,022 | 1,986 | 71.4x |
| Express | 135,955 | 3,465 | 40.6x |
| httpx | 89,492 | 2,438 | 38.0x |
中位数:82 倍减少
注意: 528 倍是最佳案例(FastAPI,最大代码库),不是典型结果。实际减少取决于项目大小和查询类型。
对比基线: 上述"全代码库"是理论上限,实际 AI 工具会 grep 搜索标识符,只读取最匹配的文件。code-review-graph 的优势在于: - 精确追踪依赖关系(不只是文本匹配) - 包含调用链、继承关系、测试覆盖 - 增量更新,避免重复解析
适用场景
适合使用
- 大型代码库: 1000+ 文件的项目,token 浪费最严重
- 频繁代码审查: 每天多个 PR 的团队
- 单体仓库(Monorepo): 27,700+ 文件的超大项目
- CI/CD 集成: 自动化代码审查门禁
- 多语言项目: 支持 40+ 种语言
不太适合
- 小型项目: 100 文件以下,token 消耗本身不大
- 纯前端项目: 如果没有复杂依赖关系,收益有限
- 非 Git/SVN 项目: 目前只支持 Git 和 SVN
总结
code-review-graph 解决了 AI 编码工具的一个核心痛点:token 浪费。通过构建代码结构图谱,AI 工具可以精准获取上下文,而不是重新读取整个代码库。
核心优势: - ✅ 节省 token: 中位数 82 倍减少,降低 API 成本 - ✅ 精准审查: 追踪依赖关系,不遗漏影响范围 - ✅ 本地优先: 代码不离开本地,安全合规 - ✅ 增量更新: 2 秒内完成大型项目重新索引 - ✅ 广泛集成: 支持 Claude Code、Cursor、Copilot、Gemini CLI 等 - ✅ GitHub Action: 自动化 PR 审查
下一步: 1. 在你的项目上安装 code-review-graph 2. 构建图谱,体验 token 节省效果 3. 集成到 CI/CD,自动化代码审查 4. 查看 官方文档 了解更多高级用法
项目链接: - GitHub:tirth8205/code-review-graph - 官网:code-review-graph.com - Discord:加入社区
延伸阅读: - Claude Code 接入 DeepSeek V4 终端 AI 编程指南 - 2026 年终端模拟器横评:Ghostty vs Tabby vs Alacritty vs Kitty - OpenCode:开源终端 AI 编码 Agent 完全指南