ByteNoteByteNote
code-review-graph:为 AI 编码工具打造的本地代码知识图谱

字节笔记本

2026年5月6日

code-review-graph:为 AI 编码工具打造的本地代码知识图谱

API中转
¥120

本文介绍 code-review-graph,一个为 Claude Code 等 AI 编码工具打造的本地知识图谱。它通过 Tree-sitter 构建代码库的持久化结构映射,让 AI 只读取相关文件,代码审查时平均减少 8.2 倍 token 消耗,日常编码任务最高减少 49 倍。

项目简介

code-review-graph 是一个开源的本地知识图谱工具,由 tirth8205 开发维护,使用 Python 编写,基于 MIT 协议发布。它通过将代码库解析为抽象语法树(AST),提取函数、类、导入等节点及其调用、继承、测试覆盖等边关系,构建出一张完整的代码结构图谱,存储在本地 SQLite 中。

核心解决的问题:AI 编码助手在每次任务时会重新读取整个代码库,造成大量 token 浪费。code-review-graph 通过追踪增量变更和爆炸半径分析,让 AI 只读取必要的文件。

核心特性

  • 增量更新:仅重新解析变更文件,2900 文件项目重新索引不到 2 秒
  • 23 种语言 + Notebook 支持:Python、TypeScript/TSX、JavaScript、Vue、Svelte、Go、Rust、Java、Scala、C#、Ruby、Kotlin、Swift、PHP、Solidity、C/C++、Dart、R、Perl、Lua、Zig、PowerShell、Julia、Jupyter/Databricks
  • 爆炸半径分析:精确展示哪些函数、类和文件受任何变更影响
  • 语义搜索:支持 sentence-transformers、Google Gemini、OpenAI 兼容端点的向量嵌入
  • 交互式可视化:D3.js 力导向图,支持搜索、社区图例切换、度数缩放节点
  • 28 个 MCP 工具:覆盖图谱构建、变更检测、架构分析、重构建议等场景
  • 多仓库守护进程:后台自动监听多个仓库的文件变更并更新图谱

工作原理

  1. AST 解析:使用 Tree-sitter 将仓库解析为抽象语法树
  2. 图谱存储:以节点(函数、类、导入)和边(调用、继承、测试覆盖)的图谱形式存储在 SQLite 中
  3. 爆炸半径分析:文件变更时,追踪所有可能受影响的调用者、依赖项和测试
  4. 增量更新:每次 git commit 或文件保存时,通过 SHA-256 哈希检查只重新解析变更文件

性能基准

Token 效率(平均 8.2 倍减少):

仓库朴素 Token图谱 Token减少倍数
fastapi4,9446148.1x
flask44,7514,2529.1x
gin21,9721,15316.4x
httpx12,0441,7286.9x
nextjs9,8821,2498.0x

构建性能:

仓库文件数节点数边数搜索延迟
express1411,91017,5530.7ms
fastapi1,1226,28527,1171.5ms
gin991,28616,7620.5ms

安装指南

前置要求

  • Python 3.10+
  • pip

安装步骤

bash
pip install code-review-graph
code-review-graph install          # 自动检测并配置所有支持的平台
code-review-graph build            # 解析代码库

指定平台安装:

bash
code-review-graph install --platform claude-code  # 仅配置 Claude Code
code-review-graph install --platform cursor       # 仅配置 Cursor
code-review-graph install --platform codex        # 仅配置 Codex

兼容平台:Codex、Claude Code、Cursor、Windsurf、Zed、Continue、OpenCode、Antigravity、Qwen、Qoder、Kiro。

快速开始

基础用法

bash
# 构建代码图谱
code-review-graph build

# 增量更新(仅解析变更文件)
code-review-graph update

# 查看图谱统计
code-review-graph status

# 文件变更时自动更新
code-review-graph watch

可视化

bash
# 生成交互式 HTML 图谱
code-review-graph visualize

# 导出为 GraphML(适用于 Gephi/yEd)
code-review-graph visualize --format graphml

# 导出为 SVG 静态图
code-review-graph visualize --format svg

# 导出为 Obsidian 知识库
code-review-graph visualize --format obsidian

# 导出为 Neo4j Cypher
code-review-graph visualize --format cypher

使用示例

场景一:代码审查

在 Claude Code 中使用内置的 Slash 命令:

命令描述
/code-review-graph:build-graph构建或重建代码图谱
/code-review-graph:review-delta审查自上次提交以来的变更
/code-review-graph:review-pr完整 PR 审查 + 爆炸半径分析

场景二:变更影响分析

bash
# 风险评分的变更影响分析
code-review-graph detect-changes

工具会自动映射 diff 到受影响的函数、执行流和测试缺口,输出风险评分。

场景三:多仓库管理

bash
# 注册多个仓库
crg-daemon add ~/project-a --alias proj-a
crg-daemon add ~/project-b

# 启动守护进程(后台自动更新图谱)
crg-daemon start

# 查看状态
crg-daemon status

# 查看日志
crg-daemon logs --repo proj-a -f

核心 MCP 工具

code-review-graph 提供 28 个 MCP 工具,以下是关键工具:

工具描述
get_minimal_context_tool超紧凑上下文(约 100 token)
get_impact_radius_tool变更文件的爆炸半径
query_graph_tool调用者、被调用者、测试、导入查询
traverse_graph_toolBFS/DFS 图遍历
semantic_search_nodes_tool语义搜索代码实体
detect_changes_tool风险评分变更分析
get_hub_nodes_tool查找架构热点
get_bridge_nodes_tool查找架构瓶颈
get_knowledge_gaps_tool识别结构弱点
refactor_tool重构预览和死代码检测

配置参考

排除路径

在项目根目录创建 .code-review-graphignore

text
generated/**
*.generated.ts
vendor/**
node_modules/**

环境变量

变量描述默认值
CRG_GIT_TIMEOUTGit 操作超时(秒)30
CRG_EMBEDDING_MODEL向量嵌入模型all-MiniLM-L6-v2
CRG_MAX_IMPACT_NODES影响分析最大节点数500
CRG_MAX_IMPACT_DEPTH爆炸半径搜索深度2
CRG_TOOLS限制 MCP 工具子集全部

可选依赖

bash
pip install code-review-graph[embeddings]          # 本地向量嵌入
pip install code-review-graph[google-embeddings]   # Google Gemini 嵌入
pip install code-review-graph[communities]         # 社区检测
pip install code-review-graph[all]                 # 所有可选依赖

项目链接

分享: