code-review-graph:基于代码知识图谱的AI代码评审上下文优化工具
一、code-review-graph 是什么
code-review-graph 是一款开源、本地优先构建代码知识图谱的工具,依托 Tree-sitter 解析代码抽象语法树(AST),自动梳理项目内代码依赖关系。
核心目标解决 Cursor、Claude Code、Copilot 等AI编程工具痛点:传统模式直接加载整个仓库代码造成大量Token浪费,评审效率低下。
工具会分析代码变更爆炸半径,筛选变更真正关联的最小代码片段,向AI提供精准上下文,降低Token消耗,同时提升代码审查、重构、架构分析质量。项目采用MIT开源协议,基于Python开发,所有图谱数据本地存储,默认不上传源码至第三方服务器。

二、功能特色
变更影响范围分析(爆炸半径计算)
修改文件后自动追溯直接、间接代码依赖,筛选最小关联文件集合,剔除无关代码,大幅减少送入大模型的上下文。多语言AST解析
原生支持Python、JavaScript/TypeScript、Go、Rust、Java、C/C++、PHP、Terraform等主流编程语言,支持通过languages.toml配置扩展新语言,针对PHP提供Laravel框架专项语义解析。增量图谱构建
首次执行全库索引,文件变更、Git提交触发增量更新,无需重复解析整个项目,千文件级别项目增量更新耗时通常低于2秒。混合检索系统
融合FTS5全文关键词检索 + 向量嵌入语义检索;兼容OpenAI、Gemini、Voyage、本地sentence-transformers向量模型,按需选用。架构可视化与分析
使用Leiden算法实现模块社区聚类,自动识别系统架构枢纽、代码耦合问题、缺乏测试的热点代码;支持导出D3交互式图谱、GraphML、SVG、Cypher脚本,兼容Obsidian知识库导入。MCP协议原生支持
内置MCP服务,可无缝对接Cursor、Claude Code、Windsurf、Zed等主流AI编辑器,编辑器内直接调用图谱数据完成智能代码评审。自动化CI集成
提供GitHub Action,支持在PR阶段自动执行代码风险检测,生成评审意见,可配置高风险变更阻断合并流程。辅助代码重构
实现死代码扫描、函数/类重命名影响预览,辅助开发者安全开展代码重构工作。过滤机制
支持.code-review-graphignore配置文件自定义忽略目录,自动跳过Git ignore内文件,减少无效索引。
三、技术细节
底层解析引擎:Tree-sitter,生成代码AST,提取类、函数、导入语句作为图谱节点;函数调用、类继承、模块依赖作为图谱边。
数据存储:本地SQLite数据库
graph.db持久化存储图谱,无需部署外部数据库,开箱即用。核心算法
图遍历算法:实现依赖正向、反向链路检索,计算变更爆炸半径;
Leiden社区检测算法:用于代码模块聚类,识别架构边界;
FTS5内置全文检索,向量嵌入为可选模块。
通信协议:MCP(Model Context Protocol),作为AI编辑器与图谱引擎中间通信标准。
运行模式
CLI模式:手动执行构建、检索、可视化命令;
Daemon守护进程:后台常驻,同时监控多个代码仓库,持续维护最新图谱;
项目技术栈:主体Python,配套少量TypeScript辅助前端可视化组件。

四、应用场景
AI代码评审:Cursor、Claude Code本地开发,优化上下文,降低Token开销,提升评审准确度;
大型单体项目架构梳理:新人快速熟悉模块依赖,识别不合理耦合;
Pull Request风险评估:CI流水线自动分析改动波及范围,预判潜在缺陷;
代码重构前期调研:查询函数/类修改带来的连锁影响;
项目技术债务排查:定位无测试覆盖的核心代码、冗余死代码;
知识库沉淀:导出图谱数据导入Obsidian,搭建项目代码文档。
五、使用方法
1. 安装
# 基础安装 pip install code-review-graph # 如需向量检索完整功能 pip install code-review-graph[embeddings] # 全功能安装 pip install code-review-graph[all]
2. 基础命令
# 自动识别编辑器并配置MCP接入 code-review-graph install # 在项目根目录构建代码图谱 code-review-graph build # 监听文件变化,自动增量更新图谱 code-review-graph watch # 启动可视化图谱页面 code-review-graph visualize # 分析当前代码变更影响范围 code-review-graph detect-changes
3. 基础流程
项目根目录执行
build初始化图谱;编辑器运行
install完成MCP对接;日常开发开启
watch保持图谱实时更新;发起代码评审时,AI工具自动调用图谱获取关联代码。
六、竞品对比
选取2款同赛道代码上下文/代码图谱工具进行横向对比
| 工具名称 | code-review-graph | Aider Code Map | Sourcegraph OSS |
|---|---|---|---|
| 核心定位 | 面向AI代码评审,精简LLM上下文 | 通用AI编程辅助代码索引 | 全局代码语义搜索平台 |
| 部署方式 | 本地单机运行,SQLite内置存储 | 本地运行,轻量索引文件 | 需要独立服务部署,资源占用高 |
| 原生MCP支持 | ✅ 内置MCP协议 | ❌ 无原生MCP | ❌ 需要额外API封装 |
| 变更爆炸半径分析 | ✅ 核心内置能力 | ❌ 仅基础文件检索 | ❌ 不支持自动影响范围推演 |
| 适用场景 | Cursor/Claude本地开发、PR评审 | 轻量AI代码补全辅助 | 团队大规模代码检索、企业搜索 |
| 资源开销 | 低,增量更新机制 | 低 | 较高,长期占用服务器资源 |
| 开源协议 | MIT | MIT | Apache 2.0 |

七、常见问题解答
Q:小型项目(几百行代码)使用code-review-graph能获得收益吗?
A:极小单文件项目优势不明显,图谱元数据会小幅增加Token;更适合多文件、存在复杂依赖的中小型、大型项目。
Q:工具是否会自动上传我的源代码到外部服务器?
A:默认所有图谱数据与源码解析过程完全本地执行,不存在后台上传行为;仅当手动启用云端向量嵌入服务时,才会向对应大模型服务商发送向量文本,可关闭向量功能做到完全离线。
Q:支持Windows系统使用吗?会出现MCP连接失败问题如何处理?
A:支持Windows系统;出现连接报错,需要设置完整程序路径并开启系统UTF-8编码环境变量。
Q:代码依赖分析结果出现多余无关文件(假阳性),怎么解决?
A:图遍历策略优先保证不漏掉风险代码,因此存在少量假阳性;可以通过配置文件设置依赖遍历最大深度,限制扩散范围,减少无关文件输出。
Q:能否同时管理多个不同代码仓库?
A:支持,启动crg-daemon守护进程,即可后台监控多个仓库,独立维护各自图谱。
Q:Tree-sitter不支持的小众编程语言该如何接入?
A:可编辑languages.toml配置文件,添加对应语言Tree-sitter解析器配置,无需修改项目源代码。
八、相关链接
九、总结
code-review-graph通过Tree-sitter构建本地代码知识图谱,创新性引入变更爆炸半径分析解决AI编程工具上下文冗余痛点,依托MCP协议无缝接入当下主流AI代码编辑器,兼顾离线隐私、低资源消耗与代码评审实用性,不管是个人开发者日常本地编码,还是CI流水线自动化PR风险检测,都能够有效缩减大模型Token消耗,提升代码审查与架构分析的工作效率。
版权及免责申明:本文由@97ai原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/code-review-graph.html

