
字
字节笔记本
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 工具:覆盖图谱构建、变更检测、架构分析、重构建议等场景
- 多仓库守护进程:后台自动监听多个仓库的文件变更并更新图谱
工作原理
- AST 解析:使用 Tree-sitter 将仓库解析为抽象语法树
- 图谱存储:以节点(函数、类、导入)和边(调用、继承、测试覆盖)的图谱形式存储在 SQLite 中
- 爆炸半径分析:文件变更时,追踪所有可能受影响的调用者、依赖项和测试
- 增量更新:每次 git commit 或文件保存时,通过 SHA-256 哈希检查只重新解析变更文件
性能基准
Token 效率(平均 8.2 倍减少):
| 仓库 | 朴素 Token | 图谱 Token | 减少倍数 |
|---|---|---|---|
| fastapi | 4,944 | 614 | 8.1x |
| flask | 44,751 | 4,252 | 9.1x |
| gin | 21,972 | 1,153 | 16.4x |
| httpx | 12,044 | 1,728 | 6.9x |
| nextjs | 9,882 | 1,249 | 8.0x |
构建性能:
| 仓库 | 文件数 | 节点数 | 边数 | 搜索延迟 |
|---|---|---|---|---|
| express | 141 | 1,910 | 17,553 | 0.7ms |
| fastapi | 1,122 | 6,285 | 27,117 | 1.5ms |
| gin | 99 | 1,286 | 16,762 | 0.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_tool | BFS/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_TIMEOUT | Git 操作超时(秒) | 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] # 所有可选依赖项目链接
- GitHub 仓库:https://github.com/tirth8205/code-review-graph
- 官方网站:https://code-review-graph.com
- 许可证:MIT
分享: