SuperAPI AI 工具集

codegraph-brain

codegraph-brain 是一个供 AI 智能体查询的代码图谱系统(CGIS),基于 tree-sitter 将代码仓库解析为全限定符号及其调用、导入与包含关系图,存储在 SQLite 中,并通过 MCP 提供给 AI 智能体。它支持 Python 和 TypeScript/TSX,完全本地运行,无需账号、无遥测,图谱不会离开本机。主要能力包括:变更影响分析、调用链追踪、多跳影响分析、授权可达性审计、耦合度量和架构漂移检测。相比让 AI 智能体去 grep 和读取整个文件,它让智能体直接询问“改这个会破坏什么”,返回真实调用链而非猜测。内置 Guardian 代码审查功能,用图谱作为上下文审查 Pull Request。

访问官网

工具介绍

用途

codegraph-brain(又名 CGIS:Code Graph Intelligence System)是一个“AI 智能体可以查询而不是猜测”的代码图谱。当 AI 智能体需要询问“如果我修改这里,什么会被破坏?”时,它返回调用链,而不是靠猜测。CGIS 用 tree-sitter 解析代码仓库,生成由全限定符号以及它们之间的调用、导入和包含关系组成的图,将图存储于 SQLite,并通过 MCP 提供给 AI 智能体。

主要能力

  • 解析语言:Python、TypeScript / TSX。
  • 将每个调用点在源码允许时解析为全限定名;无法解析的边保持标记为 unresolved 并计数,不会用看似合理的猜测填充。
  • 通过 MCP 提供图给 AI 智能体使用。
  • 内置 Guardian:图谱感知的代码审查工具,使用图谱作为上下文审查 Pull Request,而不仅仅是 diff 文本。Guardian 在 CI 中运行并发布锚定到精确行的内联评论。
  • 两阶段、召回优先:finder 发现所有可能的缺陷(针对召回率优化),独立的 skeptic 阶段过滤误报。
  • 本地或云端 LLM,无锁定:可指向 Ollama(qwen2.5-coder、llama3.1、granite-code 等)进行免费本地推理,或指向云端的 Mistral / Gemini,也可以混合使用。
  • 确定性锚定:每条内联评论由 diff 中的逐字引用定位,而非模型(常常错误)的行号猜测。
  • 全部 14 个工具及参数见 MCP_REFERENCE.md。

使用方式

在 Claude Code 中(最快)安装后会提供 MCP 服务器、一个教导智能体何时查询图谱而非读取文件的 skill,以及用于首次使用时构建图谱的 /cgis:ingest。服务器通过 uvx 按需从 PyPI 拉取,无需克隆或构建。

其他 MCP 客户端(Cursor、Claude Desktop 等)也可使用。

从终端使用:或永久安装:pip install codegraph-brain(Python 3.12+),然后直接使用 cgis。完整命令列表见 CLI_USAGE.md。

工作原理

  1. 提取:tree-sitter 解析器将每个文件转换为节点和原始调用边。
  2. 解析:ResolverEngine 将原始调用映射为全限定名,或显式标记为未解析。
  3. 存储:SQLite 保存图谱;查询为对其的广度优先遍历。

细节及 CGIS 每次变更时从自身源码重新生成的流水线图见 HOW_IT_WORKS.md。

适用场景

  • 变更影响分析与调用链追踪。
  • 多跳影响分析、授权可达性审计、耦合指标和架构漂移检测。
  • AI 智能体替代 grep 和读取整个文件。
  • 代码审查(Guardian)在 CI 中运行,基于图谱上下文检测结构和约定缺陷。

限制与注意事项

  • 需要 Python 3.12+ 和 uv。
  • 支持语言仅限 Python 和 TypeScript / TSX。
  • 对于无法解析的调用边,明确保持为未解析并计数;存在已知的解析器缺口(例如在应用根目录摄取会剥离导入携带的 app. 前缀,在包根目录摄取后报告百分比不同)。
  • CGIS 不收集任何数据:无遥测、无分析、无账号;代码和图谱保留在用户机器上。唯一例外是可选的:若使用云模型运行 Guardian,则会将审查的 diff 发送给所选提供商。详见 PRIVACY.md。
  • 贡献标准见 CONTRIBUTING.md:严格 MyPy、linting、ontology compliance。

商业审计服务

CGIS 免费且可自行运行。作者还提供代码库结构固定价格审计服务:授权覆盖、爆炸半径、耦合、架构漂移,五个工作日内交付,固定价格 $2,400,并列出分析无法看到的内容。