code-review-graph: 它是什么,解决了什么问题以及为什么它正受到关注

code-review-graph: 它是什么,解决了什么问题以及为什么它正受到关注

它解决了什么问题

AI 编程助手在进行审查任务时,经常会因为重新读取代码库的大部分内容而浪费 token 并降低精度。code-review-graph 通过为 AI 工具提供精确的结构化代码映射,减少了这种 token 浪费,确保助手仅读取与特定更改实际相关的文件和函数。

它是如何工作的

该工具使用 Tree-sitter 将代码库解析为抽象语法树 (AST),然后将其作为节点(函数、类、导入)和边(调用、继承、测试覆盖率)的图存储在 SQLite 数据库中。

关键机制包括:

  • 影响范围分析 (Blast-radius analysis):当文件发生更改时,图会追踪所有受该更改影响的调用者、依赖项和测试,从而为 AI 创建一个“最小审查集”。
  • 增量更新:系统会对更改的文件进行 diff,并仅重新解析必要的部分,使得大型项目可以在 2 秒内完成重新索引。
  • MCP 集成:它使用 Model Context Protocol (MCP) 将此图数据提供给 AI 助手(如 Cursor、Claude Code 或 Zed),允许它们查询图,而不是扫描整个语料库。
  • CI 集成:GitHub Action 可以在 CI 运行器上构建图,以发布带有风险评分的 PR 审查,并在不将源代码发送到外部服务的情况下识别测试缺口。

适用人群

  • 开发者:使用 AI 编程工具并希望降低 token 成本并提高审查准确性的开发者。
  • 大型 monorepo 的维护者:在全上下文窗口不足或成本过高的情况下。
  • DevOps/CI 工程师:寻求自动化风险评分拉取请求 (PR) 审查的工程师。

亮点

  • 大幅减少 Token 使用:基准测试显示,每个问题的 token 减少量中位数为 ~82x。
  • 广泛的语言支持:支持大量语言,包括 Python、JS/TS、Go、Rust、Java、C++,甚至 Jupyter/Databricks notebooks。
  • 可扩展性:可以通过简单的 .toml 配置添加新语言,而无需 fork 项目。
  • 本地优先:知识图谱存储在本地 SQLite 中,确保了隐私和安全性。
  • 高级分析:包括社区检测(Leiden 算法)、枢纽/桥接检测以及执行流追踪。

Sources