tirth8205/code-review-graph · 上手攻略

  • 仓库:tirth8205/code-review-graph
  • 链接:https://github.com/tirth8205/code-review-graph
  • 分类:开发者工具 · AI 辅助编程 · 代码分析
  • 作者:Tom
  • 更新:2026-07-21

它是什么

code-review-graph(简称 CRG)是一个本地优先的代码智能图谱工具,为 MCP(Model Context Protocol)兼容的 AI 编程助手和 CLI 环境设计。它的核心思路是:先把你的代码库解析成一张结构化的知识图谱(节点 = 函数/类/导入,边 = 调用/继承/测试覆盖),然后在 AI 做代码审查时只喂给它真正相关的文件,而不是把整个代码库都塞进去。

官方标称数据:在 6 个真实开源仓库上,Token 消耗削减 38 倍到 528 倍;一个 2,900 文件的项目增量重索引只需不到 2 秒。最新版本为 v2.3.4,支持 MCP 1.0。


解决什么问题

AI 编程助手做代码审查时,通常需要读取大量代码上下文才能给出有意义的建议。对于小型项目这不是问题,但到了大型 monorepo(数千个文件)就会变成噩梦:

  • Token 浪费:AI 反复读取大量无关代码,每次 API 调用都在烧钱
  • 响应变慢:上下文太长,模型处理时间显著增加
  • 质量下降:上下文噪音过多,AI 容易给出泛泛而论的评审意见

code-review-graph 解决这个问题的思路是:在 AI 读代码之前,先用 Tree-sitter 把代码结构解析成图谱,然后根据变更内容计算"影响半径"(blast radius)——只让 AI 读它真正需要看的文件。


快速安装

环境要求

  • Python 3.10+
  • 推荐安装 uv(可加速包管理,且 MCP 配置会自动使用 uvx

安装命令

pip install code-review-graph
# 或
pipx install code-review-graph

初始化配置(一键自动检测)

code-review-graph install

这条命令会自动: 1. 检测你安装了哪些 AI 编程工具(Codex、Cursor、Claude Code、Copilot 等) 2. 为每个工具写入对应的 MCP 配置文件 3. 安装平台原生 Hook/Skill(若支持) 4. 将图谱感知指令注入平台规则

安装后重启编辑器或工具使配置生效。

指定平台安装

code-review-graph install --platform codex       # 仅配置 Codex
code-review-graph install --platform cursor      # 仅配置 Cursor
code-review-graph install --platform claude-code # 仅配置 Claude Code
code-review-graph install --platform copilot      # 仅配置 GitHub Copilot (VS Code)
code-review-graph install --platform gemini-cli   # 仅配置 Gemini CLI
code-review-graph install --platform kiro          # 仅配置 Kiro

构建图谱

code-review-graph build   # 解析整个代码库,构建本地图谱

500 个文件的项目首次构建约需 10 秒。


核心用法

基本工作流

1. 安装完成后,在项目目录执行:
   code-review-graph build

2. 向 AI 助手发送指令:
   "Build the code review graph for this project"

3. 之后每次代码变更,CRG 自动追踪影响范围,
   AI 只需读取最小相关文件集

影响半径分析(Blast Radius)

当某个文件发生变更时,图谱会追踪所有可能受影响的调用方、依赖方和测试——这就是变更的"影响半径"。

code-review-graph detect-changes   # 检出变更并分析影响范围

AI 读取的将从整个代码库缩减为:变更文件本身 + 直接影响文件 + 间接受影响文件 + 相关测试。

增量更新

启用 Hook 或 Watch 模式后,文件保存和 Git 提交会自动触发增量更新:

# 监听模式(工作目录有变更时自动更新图谱)
code-review-graph watch

# git commit 触发自动更新(需配合平台 hook)
# 一个 2,900 文件项目增量重索引 < 2 秒

卸载

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 # 保留图谱数据库,只移除集成

MCP 斜杠命令

命令 说明
/code-review-graph:build-graph 构建或重建代码图谱
/code-review-graph:review-delta 审查自上次提交以来的变更
/code-review-graph:review-pr 完整 PR 审查,含影响半径分析

典型适用场景

场景一:大型 Monorepo 的 AI Code Review

27,700+ 文件的巨型仓库,AI 原本需要读取大量无关代码。使用 CRG 后,实际读取约 15 个文件,Token 消耗削减可达 528 倍(官方基准数据)。每个 PR 的 AI 审查成本大幅下降。

场景二:多语言混合项目的增量维护

项目包含 Python + TypeScript + Go + Rust 等多语言,AI 很难理解跨语言依赖关系。CRG 的 Tree-sitter 解析器支持 40+ 编程语言,可以构建跨语言的调用图谱,帮助 AI 理解不同语言模块之间的实际依赖。

场景三:AI 结对编程的上下文优化

在使用 Claude Code、Cursor 等 AI 编程工具时,工具容易"迷失"在庞大的代码库里。CRG 作为 MCP 服务器挂在工具上,每次对话只给 AI 提供与当前任务最相关的上下文,让 AI 真正变成"懂代码结构"的助手。

场景四:代码库结构探索与知识沉淀

CRG 不只是给 AI 用——它的图谱也可以被人用来理解陌生代码库的结构。提供架构概览、社区检测、知识缺口分析、可视化力导向图(基于 D3.js)等功能,帮助人类开发者快速把握代码全貌。


核心功能一览

功能 说明
增量更新 仅重解析变更文件,2,900 文件项目 < 2 秒
多语言覆盖 Python, JS/TS, Go, Rust, Java, C/C++, C#, Ruby, Kotlin, Swift, PHP, Scala, Solidity, Dart, R, Perl, Lua, Objective-C, Shell, Elixir, Zig, PowerShell, Julia, ReScript, GDScript, Nix, Verilog, SQL, Vue/Svelte SFC, Astro, Jupyter Notebook 等
影响半径分析 追踪变更的所有下游影响
自动更新钩子 文件编辑和 git 提交自动触发图谱更新
语义搜索 支持 sentence-transformers / Gemini / MiniMax / OpenAI 兼容端点
交互式可视化 D3.js 力导向图,可搜索、按社区图例切换
Hub 与 Bridge 检测 介数中心性发现架构瓶颈
异常评分 检测跨社区、跨语言、外围到核心的异常耦合
导出格式 GraphML(Gephi/yEd)、Neo4j Cypher、Obsidian wikilinks、SVG
图差异 比较不同时间点的图快照变化
记忆循环 将问答结果持久化为 Markdown 供后续摄入学习
全文搜索 FTS5 混合搜索(关键词 + 向量相似度)
本地存储 SQLite,无需外部数据库或云服务

坑与注意

⚠️ Python 3.10+ 硬性要求

CRG 不支持 Python 3.9 及以下版本。如果你的系统默认 Python 版本过低,请使用 uvpipx 安装特定版本,或使用虚拟环境指定 Python 版本:

python3.10 -m venv crg-env
source crg-env/bin/activate
pip install code-review-graph

⚠️ uv 安装时 MCP 配置差异

如果通过 uvx code-review-graph 运行,MCP 配置文件会使用 uvx 作为命令前缀;如果通过 pip install 安装,则直接使用 code-review-graph 命令。install 子命令会自动检测并生成正确格式的配置,但如果你手动配置 MCP,注意这个差异。

⚠️ 大型仓库首次构建耗时

虽然官方说 500 文件约 10 秒,但超大型 monorepo(5,000+ 文件)首次构建可能需要更长时间。建议在 CI/CD 环境中使用 code-review-graph build 时设置合理的超时。

⚠️ 不支持通用 YAML 解析

CRG 的解析器将 YAML 当作配置文件而非源代码,不做语义解析。如果你的项目中有自定义 YAML 领域语言(DSL),CRG 无法构建其内部结构。

⚠️ MCP 服务器兼容性

CRG 作为 MCP 服务器工作,需要你的 AI 编程工具支持 MCP 协议。确认你的工具(Claude Code、Cursor 等)在使用的版本支持 MCP 接入。部分较老版本的工具可能不支持。

⚠️ 增量更新依赖 Git/SVN

增量更新功能依赖 Git 或 SVN 的变更追踪。如果你的项目不使用版本控制系统,增量更新功能将不可用,每次都需要全量重建。


与同类对比

工具 核心思路 Token 优化 MCP 支持 本地存储 多语言
code-review-graph 代码结构图谱 + 影响半径 38x-528x 削减 ✅ 原生 MCP 1.0 ✅ SQLite 40+ 语言
GitHub Copilot 统计语言模型补全 ❌ 无针对性优化 数十种
BBOT(OSINT 工具) 多步骤安全扫描 有限
Dagger(CI/CD) 可编程 CI 管道 通用

CRG 的差异化优势在于专为 AI 代码审查场景设计的图谱结构对 MCP 协议的深度整合。它不是通用的代码分析工具,而是专门解决"AI 编程助手的上下文膨胀"问题的基础设施。


一句话推荐结论

如果你在大型代码库中使用 Claude Code、Cursor、Codex 等 AI 编程工具做 Code Review,code-review-graph 是目前最成熟的本地图谱方案——一次建图、永久增量、Token 消耗可降一到两个数量级,隐私数据全留本地。


本攻略基于仓库 README(v2.3.4)、官方文档及 code-review-graph.com 公开信息撰写。基准测试数据来自 6 个真实开源仓库的自动化评估。各平台 MCP 集成细节请参考官方 USAGECOMMANDS 文档。