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 完全指南