AI 编程中的代码知识图谱与上下文工具:七款开源工具能力对比与快速上手

目录
[隐藏]

7 款代码知识图谱与上下文/语义搜索开源工具的调研笔记,覆盖技术原理、核心特性、性能对比与选型建议。它们为 AI 编码代理提供精准上下文,是降低 Token 消耗、提升审查与理解准确度的基础设施。

配套阅读:代码审查 Agent 的介绍见 AI 代码审查工具技术介绍。审查 Agent(如 open-code-review)可通过 MCP 调用本文这些图谱/搜索工具获取上下文,二者是"消费端 × 供给端"的互补关系。

背景:AI 编程时代的上下文新挑战

随着 Claude Code、Cursor、Codex 等 AI 编码代理的普及,代码生成速度大幅提升,但同时也带来了新的挑战:

  • 上下文窗口有限:即便模型支持 200K+ token,面对百万行级代码库时仍力不从心,AI 难以获取精准的跨文件上下文。
  • Token 成本高昂:AI 反复读取大量文件,单次任务动辄消耗数十万 token,成本与延迟双重压力。
  • 代码理解成本高:新人上手、跨团队协作、遗留系统维护,都需要快速理解代码结构与依赖关系。
  • 变更影响难评估:改动一处代码,究竟会波及哪些调用方、测试与上下游服务,人工梳理成本极高。

为应对这些挑战,一批基于知识图谱、AST 解析与 MCP 协议的代码工具应运而生:将代码库预结构化为知识图谱,让 AI 一次查询即可获取精准上下文,在降低 Token 消耗的同时提升审查与理解的准确度。

工具分类与技术全景

本文涉及的工具按核心能力可分为两大类:

类别 核心能力 代表项目
代码知识图谱 / 上下文引擎 将代码库索引为知识图谱,为 AI Agent 提供精准上下文 code-review-graph、gitnexus、graphtify、Understand-Anything、CodeGraph、codebase-memory-mcp
代码语义搜索引擎 自然语言/代码查询即时返回最相关片段 semble

这两类工具是互补关系:知识图谱引擎为审查 Agent 提供结构化上下文,语义搜索则补充细粒度检索能力。二者又都可作为审查 Agent(如 open-code-review)的 MCP 上游。

共性技术原理

尽管各工具实现各异,但共享以下核心技术栈:

1. Tree-sitter AST 解析

几乎所有工具都采用 Tree-sitter 进行增量式语法解析,提取函数、类、方法、导入、调用、继承等代码实体。Tree-sitter 的优势在于:支持 150+ 语言、增量解析(仅重新解析变更部分)、容错性强(语法错误仍可提取部分结构)。

2. 知识图谱建模

将代码实体建模为节点(函数/类/模块/文件),关系建模为(调用/导入/继承/实现/测试覆盖)。通过图遍历即可回答"谁调用了这个函数""修改此处会影响哪些测试"等问题,无需让 LLM 逐文件阅读推理。

3. MCP 协议(Model Context Protocol)

Anthropic 推出的 MCP 协议 已成为 AI Agent 调用外部工具的事实标准。上述工具普遍提供 MCP Server,使 Claude Code、Cursor、Codex 等 Agent 能以统一方式查询代码图谱,无需各工具各自为政。

4. 增量更新与变更影响分析

通过文件哈希(SHA-256)检测变更,仅重新解析变化部分,实现秒级增量更新。基于图的可达性分析,可精确计算某次修改的"爆炸半径"——受影响的调用方、测试文件、上下游服务。

5. 混合检索

结合 BM25 词法检索(精确匹配标识符/API 名)与语义嵌入(理解自然语言意图),以 RRF(Reciprocal Rank Fusion)融合排序,兼顾精确召回与语义相关。

6. 社区检测算法

采用 Louvain / Leiden 等图聚类算法,自动将代码符号分组为功能社区,识别架构热点(中心节点)、架构瓶颈(桥接节点)和异常耦合(意外连接),辅助架构治理。

相关开源工具简介与使用入门

目录概览:

  • code-review-graph 专为AI代码审查优化的效率工具
  • gitnexus 为 AI Agent 构建代码上下文的神经系统
  • graphtify 一个面向 AI 编码助手的技能
  • Understand-Anything 将任意代码库、知识库或文档转化为可探索、可搜索、可对话的交互式知识图谱
  • CodeGraph 面向 AI Agent,轻量化本地索引,极速查询调用链,省 Token、提速编码
  • codebase-memory-mcp 高性能代码智能 MCP 服务器,毫秒级全量索引、158 种语言、亚毫秒查询、节省约 99% Token,单一静态二进制、零依赖
  • semble 为 AI Agent 打造的代码搜索引擎,自然语言/代码查询即时返回最相关片段,相比 grep+read 节省约 98% Token,全库索引+搜索端到端不到 1 秒

code-review-graph

  • code-review-graph 专为AI代码审查优化的效率工具,通过"爆炸半径分析"精准推送上下文,大幅减少 AI 审查Token消耗。AI 编码工具在审查任务中可能会反复读取代码库的大量内容。code-review-graph 解决了这个问题。它使用 Tree-sitter 构建代码的结构化映射,增量跟踪变更,并通过 MCP 为 AI 助手提供精准的上下文,使其只读取真正需要的内容。
  • 文档
  • 核心原理:三步构建代码智能图谱——① 使用 Tree-sitter 将代码解析为 AST;② 将代码实体(函数、类、导入)存储为节点,关系(调用、继承、测试覆盖)存储为边,存入本地 SQLite;③ AI 工具通过 MCP 协议查询图谱,计算审查所需的最小文件集。通过 SHA-256 哈希检测变更,实现增量更新(仅重新解析变化部分)。
  • 关键特性:30+ 语言支持(含 Jupyter Notebook)、30 个 MCP 工具(涵盖上下文查询、图遍历、语义搜索、统计分析、社区检测、架构审查、多仓库支持等)、三大核心分析能力(中心节点检测找架构热点、桥接节点检测找架构瓶颈、意外耦合检测找异常连接)、多维度导出(GraphML / Neo4j Cypher / Obsidian Vault / SVG)、GitHub Action 集成(PR 风险评分 + 合并门控)、自定义语言支持(无需 fork,通过 .code-review-graph/languages.toml 配置)。
  • 性能:Token 效率中位数减少 ~82 倍(最高 528 倍)、增量更新 < 2 秒、搜索延迟 0.4-1.5ms、影响分析平均 F1 分数 0.714。
  • 许可证:MIT
  • 技术栈:Python 91.6% + TypeScript 8.1%

安装:

pip install code-review-graph      # 或: pipx install code-review-graph
code-review-graph install          # 自动检测并配置所有支持的平台,支持 --platfrom claude-code 方式指定平台
code-review-graph build            # 解析代码库

命令参考:

code-review-graph install          # 自动检测并配置所有平台
code-review-graph install --platform <name>  # 指定特定平台
code-review-graph build            # 解析整个代码库
code-review-graph update           # 增量更新(仅变更文件)
code-review-graph status           # 图统计信息
code-review-graph watch            # 文件变更时自动更新
code-review-graph visualize        # 生成交互式 HTML 图
code-review-graph visualize --format graphml   # 导出为 GraphML
code-review-graph visualize --format svg       # 导出为 SVG
code-review-graph visualize --format obsidian  # 导出为 Obsidian 知识库
code-review-graph visualize --format cypher    # 导出为 Neo4j Cypher
code-review-graph wiki             # 从社区结构生成 Markdown Wiki
code-review-graph detect-changes   # 风险评分的变更影响分析
code-review-graph register <path>  # 将仓库注册到多仓库注册表
code-review-graph unregister <id>  # 从注册表移除仓库
code-review-graph repos            # 列出已注册的仓库
code-review-graph eval             # 运行评估基准测试
code-review-graph serve            # 启动 MCP 服务器

斜杠命令(AI 编程工具中使用):

/code-review-graph:build-graph  # 构建或重新构建代码图
/code-review-graph:review-delta # 审查自上次提交以来的变更
/code-review-graph:review-pr      # 完整的 PR 审查,含影响半径分析

默认忽略 .gitignore 中的文件会自动跳过,可以通过 .code-review-graphignore 文件来指定其他需要忽略的文件。

gitnexus

  • gitnexus 为 AI Agent 构建代码上下文的神经系统。把任意代码库索引成一张知识图谱,提前分析依赖关系、调用链、功能聚类和执行流,再通过 MCP、CLI、Web UI 等方式交给 AI Agent 使用。
  • 文档
  • 核心原理预计算关系智能(Precomputed Relational Intelligence)——传统 Graph RAG 把原始图边交给 LLM 让其自行探索,GitNexus 则在索引时预计算结构(聚类、追踪、评分),让工具一次调用即可返回完整上下文。六阶段索引流水线:① 结构(文件树遍历)→ ② 解析(Tree-sitter AST 提取函数/类/方法/接口)→ ③ 解析(跨文件解析导入/调用/继承/构造函数推断)→ ④ 聚类(相关符号分组为功能社区)→ ⑤ 流程(从入口点追踪执行流)→ ⑥ 搜索(构建混合搜索索引)。
  • 关键特性:17 个 MCP 工具(含 impact 爆炸半径分析、trace 最短路径、detect_changes 提交前影响分析、query 进程分组混合搜索)、MCP 资源(repo 上下文/聚类/流程/模式 schema)、2 个 MCP 提示词(detect_impact/generate_map)、自动安装 6 个 agent skills(Exploring 导航/Debugging 调试追踪/Impact Analysis 爆炸半径/Refactoring 安全重构/Guide 工具参考/CLI 命令运行)、14 种语言深度支持(TS/JS/Python/Java/Kotlin/C#/Go/Rust/PHP/Ruby/Swift/C/C++/Dart)、多仓库全局注册表(一个 MCP 服务所有已索引仓库)、Web UI(浏览器内,代码不出本机)、Docker 部署(GHCR/Docker Hub 双签名镜像)。
  • 性能创新:声明"模型民主化"——小模型也能获得完整架构清晰度,一次工具调用返回预结构化响应(无需 4+ 次查询链);支持混合搜索(BM25 + 语义 + RRF)。
  • 许可证:PolyForm Noncommercial(非商业许可,商业使用需单独授权)
  • 技术栈:Node.js(native)+ Tree-sitter native bindings + LadybugDB(嵌入式图数据库,原生支持向量)+ HuggingFace transformers.js
# 全局安装
npm install -g gitnexus

# 代码分析(索引整个仓库,自动安装 skills、注册 hooks、生成 AGENTS.md/CLAUDE.md)
gitnexus analyze

# 交互式配置 MCP(自动检测 Claude Code、Cursor、Codex 等)
gitnexus setup

命令参考:

gitnexus setup                   # Configure MCP for detected editors (one-time; use -c to select)
gitnexus uninstall               # Preview removal of GitNexus MCP/skills/hooks (add --force to apply)
gitnexus analyze [path]          # Index a repository (or update stale index)
gitnexus analyze --repair-fts    # Fast path: rebuild/verify only FTS indexes on existing index data
gitnexus analyze --force         # Full rebuild: re-parse + graph rebuild + FTS rebuild
gitnexus analyze --skills        # Generate repo-specific skill files from detected communities
gitnexus analyze --skip-embeddings  # Skip embedding generation (faster)
gitnexus analyze --skip-agents-md  # Preserve custom AGENTS.md/CLAUDE.md gitnexus section edits
gitnexus analyze --skip-skills     # Skip installing .claude/skills/gitnexus/ skill files
gitnexus analyze --default-branch develop  # Branch used in the generated regression-compare example (base_ref)
gitnexus analyze --skip-git        # Index folders that are not Git repositories
gitnexus analyze --embeddings [limit]  # Enable embedding generation (slower, better search)
gitnexus analyze --verbose       # Log skipped files when parsers are unavailable
gitnexus analyze --worker-timeout 60  # Increase worker idle timeout for slow parses
gitnexus analyze --wal-checkpoint-threshold 67108864  # 64 MiB. Control LadybugDB WAL auto-checkpoint threshold (default: 67108864 = 64 MiB; -1 keeps Ladybug stock ~16 MiB)
gitnexus analyze --workers <n>        # Parse worker pool size (>=1; default: cores-1, capped at 16, auto-sized to the repo). 0 is rejected — there is no sequential mode.
gitnexus mcp                     # Start MCP server (stdio) — serves all indexed repos
gitnexus serve                   # Start local HTTP server (multi-repo) for web UI connection
gitnexus list                    # List all indexed repositories
gitnexus status                  # Show index status for current repo
gitnexus clean                   # Delete index for current repo
gitnexus clean --all --force     # Delete all indexes
gitnexus wiki [path]             # Generate repository wiki from knowledge graph
gitnexus wiki --model <model>    # Wiki with custom LLM model (default: gpt-4o-mini)
gitnexus wiki --base-url <url>   # Wiki with custom LLM API base URL
gitnexus publish                 # Notify the understand-quickly registry (opt-in, see below)

# Repository groups (multi-repo / monorepo service tracking)
gitnexus group create <name>                                   # Create a repository group
gitnexus group add <group> <groupPath> <registryName>          # Add a repo to a group. <groupPath> is a hierarchy path (e.g. hr/hiring/backend); <registryName> is the repo's name from the registry (see `gitnexus list`)
gitnexus group remove <group> <groupPath>                      # Remove a repo from a group by its hierarchy path
gitnexus group list [name]                                     # List groups, or show one group's config
gitnexus group sync <name>                                     # Extract contracts and match across repos/services
gitnexus group contracts <name>  # Inspect extracted contracts and cross-links
gitnexus group query <name> <q>  # Search execution flows across all repos in a group
gitnexus group status <name>     # Check staleness of repos in a group

多编辑器支持:

编辑器 MCP Skills Hooks 支持级别
Claude Code ✅ Pre+Post 完整
Cursor 完整
Antigravity (Google) 完整
Codex 完整
OpenCode MCP + Skills
CodeBuddy (腾讯) MCP + Skills
Qoder (阿里) MCP + Skills
Windsurf MCP

Claude Code 与 Codex 集成最深:MCP 工具 + agent skills + PreToolUse 钩子(注入图上下文) + PostToolUse 钩子(提交后检测索引过期并提示重建)。

Web UI(浏览器端): gitnexus.vercel.app 在线使用,或本地 gitnexus serve 启动 HTTP 服务(端口 4747),Web UI 自动连接本地后端,无需重新上传/索引即可浏览所有已索引仓库。完全在浏览器内运行,代码不出本机。

Docker 部署: docker compose up -d 启动服务端(4747)+ Web UI(4173),官方提供 GHCR 与 Docker Hub 双签名镜像(Cosign 无密钥签名 + SLSA 证明,供应链安全可验证)。

项目级配置(.gitnexusrc): 在仓库根目录提交 JSON 配置预置 analyze 选项(如 defaultBranchembeddingsskipSkills),CLI 参数优先于配置文件。

企业版: 提供 SaaS / 自托管部署,含 PR 自动审查、自动重索引、OCaml 支持、多仓库统一图等能力(商业使用需按 PolyForm Noncommercial 授权)。

graphtify

  • graphtify 一个面向 AI 编码助手的技能。 在 Claude Code、CodeBuddy、Codex、OpenCode、OpenClaw、Factory Droid 或 Trae 中输入 /graphify,它会读取你的文件、构建知识图谱,并把原本不明显的结构关系还给你。更快理解代码库,找到架构决策背后的"为什么"。
  • 文档
  • 核心原理:代码解析完全本地化,无需 LLM——① 使用 Tree-sitter 对 36+ 种语言进行 AST 解析,提取函数、类、导入、调用关系;② 对文档(Markdown、PDF)、图片、视频等非代码内容,通过可选 AI 后端进行语义分析生成节点和边;③ 使用 Leiden 算法进行社区检测,自动拆分子系统并生成标签;④ 构建可遍历的真实图结构(JSON 格式),不使用向量数据库。
  • 关键特性:God Nodes 自动识别核心枢纽节点、跨文件关系链接(calls/imports/inherits/mixes_in)、自然语言查询/路径追踪/节点解释、设计原理提取(从 # NOTE:/# WHY:/# HACK: 注释及 ADR/RFC 文档)、多模态支持(代码 + 文档 + 图片 + 视频)、本地优先(代码解析零 API 调用)、PR 影响分析仪表盘、跨项目全局图、20+ 平台集成、团队协作(图谱可提交 Git、自动 union-merge)。
  • 性能:LOCOMO 基准测试 recall@10 达 0.497(对比 mem0: 0.048, supermemory: 0.149)、LongMemEval-S QA 准确率 76%、图谱构建零 LLM 调用成本。
  • 许可证:无显式声明(GitHub 公共仓库,使用前建议确认许可条款)
  • 技术栈:Python(PyPI 包名 graphifyy)+ tree-sitter(36+ 语言 AST 解析)+ Leiden 算法(社区检测,自动拆分子系统)+ 可选 LLM 后端(文档/图片/视频语义分析)+ Graphology/Sigma.js(WebGL 可视化)
# 安装
pip install graphify
graphify install

# 在 Claude Code 中输入 /graphify . 即可使用

命令与用法:

/graphify                          # 对当前目录运行
/graphify ./raw                    # 对指定目录运行
/graphify ./raw --mode deep        # 更激进地抽取 INFERRED 边
/graphify ./raw --update           # 只重新提取变更文件,并合并到已有图谱
/graphify ./raw --cluster-only     # 只重新聚类已有图谱,不重新提取
/graphify ./raw --no-viz           # 跳过 HTML,只生成 report + JSON
/graphify ./raw --obsidian         # 额外生成 Obsidian vault(可选)

/graphify add https://arxiv.org/abs/1706.03762        # 拉取论文、保存并更新图谱
/graphify add https://x.com/karpathy/status/...       # 拉取推文
/graphify add https://... --author "Name"             # 标记原作者
/graphify add https://... --contributor "Name"        # 标记是谁把它加入语料库的

/graphify query "what connects attention to the optimizer?"
/graphify query "what connects attention to the optimizer?" --dfs   # 追踪一条具体路径
/graphify query "what connects attention to the optimizer?" --budget 1500  # 把预算限制在 N tokens
/graphify path "DigestAuth" "Response"
/graphify explain "SwinTransformer"

/graphify ./raw --watch            # 文件变更时自动同步图谱(代码:立即更新;文档:提醒你)
/graphify ./raw --wiki             # 构建可供 agent 抓取的 wiki(index.md + 每个 community 一篇文章)
/graphify ./raw --svg              # 导出 graph.svg
/graphify ./raw --graphml          # 导出 graph.graphml(Gephi、yEd)
/graphify ./raw --neo4j            # 生成给 Neo4j 用的 cypher.txt
/graphify ./raw --neo4j-push bolt://localhost:7687    # 直接推送到运行中的 Neo4j
/graphify ./raw --mcp              # 启动 MCP stdio server

# git hooks - 跨平台,在 commit 和切分支后重建图谱
graphify hook install
graphify hook uninstall
graphify hook status

# 常驻助手规则 - 按平台区分
graphify claude install            # CLAUDE.md + PreToolUse hook(Claude Code)
graphify claude uninstall
graphify codex install             # AGENTS.md(Codex)
graphify opencode install          # AGENTS.md(OpenCode)
graphify claw install              # AGENTS.md(OpenClaw)
graphify droid install             # AGENTS.md(Factory Droid)
graphify trae install              # AGENTS.md(Trae)
graphify trae uninstall
graphify trae-cn install           # AGENTS.md(Trae CN)
graphify trae-cn uninstall

Understand-Anything

  • Understand-Anything 一个面向 AI 编码助手的技能。 在 Claude Code、CodeBuddy、Codex、OpenCode、OpenClaw、Factory Droid 或 Trae 中输入 /understand-anything,它会读取你的文件、构建知识图谱,并把原本不明显的结构关系还给你。更快理解代码库,找到架构决策背后的"为什么"。
  • 文档
  • 核心原理Tree-sitter + LLM 混合分析 + 多智能体架构——确定性工作交给静态分析(Tree-sitter 解析 AST,提取导入/导出/函数/类定义/调用点/继承关系,作为增量更新指纹基础),语义工作交给 LLM(生成摘要、标签、架构层归属、业务领域映射、引导路径、语言概念标注)。/understand 命令并行调用 5 个 agent(project-scanner 扫描 → file-analyzer 提取结构 → architecture-analyzer 识别架构层 → tour-builder 生成学习路径 → graph-reviewer 验证完整性),/understand-domain 额外调用第 6 个 agent(domain-analyzer 提取业务领域/流程/步骤),/understand-knowledge 再调用第 7 个 agent(article-analyzer 从 wiki 文章提取实体、论断与隐式关系)。文件分析器最多 3 个并发,支持增量更新(仅重新分析变更文件)。
  • 关键特性:交互式代码结构知识图谱(节点可点击/搜索/探索)、业务逻辑领域视图(领域/流程/步骤水平图)、Karpathy 模式 LLM Wiki 知识库分析(/understand-knowledge)、引导式学习路径(按依赖顺序)、语义搜索 + 模糊搜索、变更影响分析(/understand-diff)、用户角色自适应 UI(初级开发/项目经理/高级用户)、层级可视化(按 API/服务/数据/UI 颜色编码)、12 种编程模式概念解释、多语言输出(en/zh/zh-TW/ja/ko/ru)、图谱可提交 Git 与团队共享(配合 git-lfs 跟踪大文件,新人跳过分析直接复用)、14+ 平台支持(Claude Code 原生 + 13 平台一行命令安装)。
  • 许可证:MIT
  • 技术栈:Claude Code Plugin 架构(TypeScript),底层 pnpm monorepo(核心包 @understand-anything/core

安装(Claude Code 为例):

# 1. Claude Code 安装插件
/plugin marketplace add Egonex-AI/Understand-Anything
/plugin install understand-anything

其他平台一行命令安装(Codex / OpenCode / OpenClaw / Antigravity / Gemini CLI / Pi Agent / Vibe CLI / VS Code Copilot / Hermes / Cline / KIMI CLI / Nanobot / Kiro):

curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash
# 也可以直接传入平台名跳过交互提示:
curl -fsSL https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.sh | bash -s codex

# windows powershell
iwr -useb https://raw.githubusercontent.com/Egonex-AI/Understand-Anything/main/install.ps1 | iex

支持平台(16 个):

平台 安装方式
Claude Code 原生插件市场
Cursor 自动发现(克隆即识别)
VS Code + GitHub Copilot 自动发现(v1.108+)
Copilot CLI 插件安装
Codex install.sh codex
OpenCode install.sh opencode
OpenClaw install.sh openclaw
Antigravity install.sh antigravity
Gemini CLI install.sh gemini
Pi Agent install.sh pi
Vibe CLI install.sh vibe
Hermes install.sh hermes
Cline install.sh cline
KIMI CLI install.sh kimi
Nanobot install.sh nanobot
Kiro CLI / IDE install.sh kiro

在线演示:understand-anything.com/demo/ 可交互探索知识图谱。

使用参考:

# 1. 分析你的代码库:
# 注意:首次运行 /understand 会分析整个代码库,在大型项目上可能消耗大量 token
/understand
# 生成中文内容(知识图节点描述和 Dashboard UI)支持的语言:en(默认)、zh、zh-TW、ja、ko、ru
/understand --language zh

# 2. 打开数据看板
/understand-dashboard

深度使用:

# 询问任意代码库的问题
/understand-chat How does the payment flow work?

# 分析当前修改的影响
/understand-diff

# 深入理解某个文件
/understand-explain src/auth/login.ts

# 为新团队成员生成指南
/understand-onboard

# 提取业务领域知识(领域、流程、步骤)
/understand-domain

# 分析 Karpathy 模式的 LLM Wiki 知识库
/understand-knowledge ~/path/to/wiki

# 直接重跑即可 —— 默认增量更新,只分析变更的文件
/understand

# 安装 post-commit 钩子,每次提交自动增量更新
/understand --auto-update

# 大型 monorepo?把分析范围限定到某个子目录
/understand src/frontend

CodeGraph

  • CodeGraph 面向 AI Agent 的语义代码智能工具,通过预构建代码知识图谱(tree-sitter AST + SQLite FTS5),让 AI 代理一次工具调用即可获取精确上下文,显著减少工具调用次数和 Token 消耗。
  • 文档
  • 核心原理:本地预解析源码 AST,提取符号(函数、类、方法)和关系边(调用、导入、继承),存入 SQLite 并启用 FTS5 全文搜索,AI 代理通过 codegraph_explore 一次查询即可获得入口点、相关符号源码和调用路径。
  • 关键特性:100% 本地运行(数据不出机器)、20+ 语言支持、文件监听自动增量同步(2s 防抖)、框架感知路由识别(17 种 Web 框架)、混合 iOS/React Native/Expo 桥接分析。
  • 性能:在 VS Code、Django、Tokio 等 7 个真实项目基准测试中,平均减少 58% 工具调用、加速 22%、文件读取接近零。
  • 许可证:MIT
  • 技术栈:Rust(自带运行时,无需 Node.js)+ tree-sitter(AST 解析)+ SQLite + FTS5(全文检索)

安装与使用:

# 安装 CLI(无需 Node.js,自带运行时)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex

# 或通过 npm
npm i -g @colbymchenry/codegraph

# 连接 AI 代理(自动检测并配置 Claude Code、Cursor、Codex CLI 等)
codegraph install

# 初始化项目(构建完整代码图谱)
cd your-project
codegraph init

# 升级到最新版本
codegraph upgrade

常用命令:

# 查看项目索引状态
codegraph status

# 手动增量同步(文件变更后 2s 自动触发,也可手动执行)
codegraph sync

# 强制完整重建索引
codegraph index --force

# 搜索符号
codegraph query UserService

# 获取符号的调用者
codegraph callers handleLogin

# 获取符号调用了什么
codegraph callees handleLogin

# 分析修改某符号的影响范围
codegraph impact handleLogin

# 查找受变更影响的测试文件
codegraph affected src/auth/login.ts

MCP 工具:默认暴露 codegraph_explore 一站式查询工具,AI 代理可直接调用获取上下文。可按需启用更多工具:

# 环境变量控制暴露哪些 MCP 工具
CODEGRAPH_MCP_TOOLS=explore,node,search,callers

配置(codegraph.json):默认零配置,自动遵循 .gitignore、排除 node_modules/dist 等常见目录、跳过大于 1MB 的文件。可按需自定义:

{
  "exclude": ["static/", "**/vendor/**"],
  "include": ["Tools/", "Local/typescript/"],
  "extensions": {
    ".dota_lua": "lua",
    ".tpl": "php"
  }
}

卸载:

codegraph uninstall        # 从代理中移除 CodeGraph
codegraph uninit [path]    # 移除项目的 .codegraph/ 目录

codebase-memory-mcp

  • codebase-memory-mcp 面向 AI 编程代理的高性能代码智能 MCP 服务器,将代码库索引为持久化知识图谱,毫秒级全量索引、158 种语言、亚毫秒查询、节省约 99% Token,单一静态二进制、零依赖。
  • 文档
  • 核心原理:作为纯结构分析后端构建/查询知识图谱,自身不包含 LLM,由 MCP 客户端(如 Claude Code)充当智能翻译层。基于 tree-sitter AST 分析 158 种语言提取函数/类/调用链/HTTP 路由等实体,结合 Hybrid LSP 语义类型解析(Python/TS/JS/PHP/C#/Go/C/C++/Java/Kotlin/Rust 等)补全跨文件类型,生成持久化知识图谱(节点/边存于内存 SQLite,LZ4 压缩、RAM 优先)。
  • 关键特性:14 个 MCP 工具(索引/搜索/追溯/变更检测/架构/代码搜索/ADR 管理等)、语义搜索(内置 Nomic 嵌入,无 API Key)+ BM25 全文(SQLite FTS5)+ 结构搜索、跨服务/跨仓库链接(HTTP/gRPC/GraphQL/tRPC 路由匹配、CROSS_* 边、多星系 3D UI)、Louvain 社区发现 + Git diff 影响映射 + 死代码检测、IaC(Docker/K8s/Kustomize)索引、后台观察者自动同步、团队共享图谱工件(.codebase-memory/graph.db.zst 提交后队友免全量重建)、内置 3D 图谱可视化 UI(localhost:9749)。
  • 性能:Linux 内核(2800 万行、7.5 万文件)全量索引仅 3 分钟、生成 481 万节点;结构查询 <1ms;5 次结构查询约 3400 token,对比逐文件搜索约 41.2 万 token,减少 99.2%。
  • 许可证:MIT
  • 技术栈:C 88.3% + C++ 9.9%(单一静态二进制,零运行时依赖)+ tree-sitter(158 语言内嵌)+ SQLite(内存索引 + FTS5 + WAL 持久化)+ LZ4(RAM 优先管道)+ Hybrid LSP(自研轻量 C 实现)+ Nomic 嵌入(语义搜索)+ 自研 Cypher 引擎(只读 openCypher 子集)+ Louvain 算法

安装方式(一行脚本):

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
# 带 3D 可视化 UI
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --ui

# Windows (PowerShell)
Invoke-WebRequest -Uri https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.ps1 -OutFile install.ps1
Unblock-File .\install.ps1
.\install.ps1

# 其他包管理器
npm i -g codebase-memory-mcp          # npm
pip install codebase-memory-mcp       # PyPI
brew install deusdata/tap/codebase-memory-mcp   # Homebrew
winget install DeusData.codebase-memory-mcp      # Winget

安装脚本自动检测并配置 11 种代理(Claude Code / Codex CLI / Gemini CLI / Zed / OpenCode 等)的 MCP 条目、指令文件与钩子;重启代理后自然语言提问(如 "Index this project" / "what calls ProcessOrder?")即可。

命令与用法:

# 自动索引(重启代理后说 "Index this project" 也可触发)
codebase-memory-mcp config set auto_index true
codebase-memory-mcp config set auto_watch true    # 文件变更后台自动同步

# CLI 模式直接调用
codebase-memory-mcp cli index_repository '{"repo_path": "/path/to/repo"}'
codebase-memory-mcp cli search_graph '{"name_pattern": ".*Handler.*"}'
codebase-memory-mcp cli trace_path '{"function_name": "Search", "direction": "both"}'

# 3D 图谱可视化 UI
codebase-memory-mcp --ui=true --port=9749   # 浏览器打开 http://localhost:9749

# 更新 / 卸载
codebase-memory-mcp update
codebase-memory-mcp uninstall

MCP 工具(14 个):

index_repository   # 索引代码库
list_projects      # 列出已索引项目
delete_project     # 删除索引
index_status       # 索引状态
search_graph       # 结构/语义搜索图节点
trace_path         # 追溯调用路径
detect_changes     # 变更影响分析
query_graph        # 类 Cypher 查询(MATCH/WHERE/RETURN/ORDER BY)
get_graph_schema   # 图 schema
get_code_snippet   # 取代码片段
get_architecture   # 架构概览 + ADR 管理 + 社区发现 + Git diff 影响映射 + 调用图 + 死代码检测
search_code        # 代码搜索
manage_adr         # 架构决策记录管理
ingest_traces      # 导入运行时 trace

semble

  • semble 为 AI Agent 打造的代码搜索引擎,用自然语言/代码查询即时返回最相关的代码片段,相比 grep+read 节省约 98% Token;全库索引+搜索端到端不到 1 秒。
  • 文档
  • 核心原理:用 tree-sitter 把每个文件切成代码感知的 chunk,再用两套互补检索器对每个查询打分——静态 Model2Vec 嵌入(代码专用 potion-code-16M 模型,做语义相似度)+ BM25(标识符/API 名词法匹配),二者以 Reciprocal Rank Fusion(RRF)融合;融合后还用一组代码感知信号重排(自适应加权、定义优先、标识符词干、文件内聚、噪声降权)。因嵌入模型静态、查询时无 transformer 前向计算,全程毫秒级运行在 CPU。
  • 关键特性:MCP 服务器(2 个工具:search / find_related)让 Agent 直接调用、支持本地路径或 git URL、文件变更自动重索引;CLI 工具(可写进 AGENTS.md 在脚本里用,首次运行建索引并缓存);独立 sub-agent(semble-search);semble savings 统计 token 节省;.gitignore + .sembleignore 控制索引范围(支持 ! 强制包含非默认扩展名);Python 库可编程调用;本地/远程仓库(git URL 按需 clone)均可。
  • 性能:平均仓库索引 ~250ms、查询 ~1.5ms(均 CPU);NDCG@10 达 0.854(与专门代码 transformer 相当),索引比 CodeRankEmbed 快 218 倍、达到其 99% 检索质量;相比 grep+read 节省约 98% Token,在仅 2k token 时即达 94% recall(而 grep+read 需铺满 100k 上下文窗口才到 85%)。
  • 许可证:MIT
  • 技术栈:Python(PyPI 包 semble)+ tree-sitter(代码感知分块)+ Model2Vec 静态嵌入(potion-code-16M)+ BM25s(词法检索)+ RRF 融合;纯 CPU、无 API Key/GPU/外部服务

安装(交互式安装器,需先装 uv):

uv tool install semble
semble install          # 自动检测 Claude Code / Codex / OpenCode 等,选择启用 MCP / 指令 / sub-agent 集成

其他安装方式:

# 无头/脚本环境:跳过交互,指定 agent 与集成类型
semble install --agent claude --type mcp subagent --yes

# 升级
uv tool upgrade semble

# 卸载
semble uninstall

使用参考:

# CLI:搜索本地仓库(首次自动建索引并缓存)
semble search "authentication flow" ./my-project

# 搜索远程仓库(按需 clone)
semble search "save model to disk" https://github.com/MinishLab/model2vec

# 限制结果数 / 搜索 docs/config/all 而非仅 code
semble search "deployment guide" ./my-project --top-k 10
semble search "deployment guide" ./my-project --content docs   # code(默认) / docs / config / all

# 找与某位置相似的代码
semble find-related src/auth.py 42 ./my-project

# 查看累计 token 节省
semble savings

MCP 工具(2 个):

search         # 自然语言/代码查询代码库,repo 传本地路径或 https git URL
find_related   # 给定文件路径+行号,返回与该位置语义相似的 chunk

作为 Python 库:

from semble import ContentType, SembleIndex
index = SembleIndex.from_path("./my-project")                       # 索引本地目录(默认仅 code)
index = SembleIndex.from_git("https://github.com/MinishLab/model2vec")  # 索引远程仓库
results = index.search("save model to disk", top_k=3)
related = index.find_related(results[0], top_k=3)

工具横向对比

功能特性对比

工具 类型 语言支持 存储后端 MCP 增量更新 可视化 许可证
code-review-graph 知识图谱 30+ SQLite ✅ <2s HTML/GraphML/SVG MIT
gitnexus 知识图谱 14 LadybugDB Web UI PolyForm NC
graphtify 知识图谱 36+ JSON 文件 WebGL HTML 无显式
Understand-Anything 知识图谱 依平台 JSON 交互式 Web MIT
CodeGraph 知识图谱 20+ SQLite+FTS5 ✅ 2s 防抖 MIT
codebase-memory-mcp 知识图谱 158 SQLite+LZ4 ✅ 后台观察 3D UI MIT
semble 语义搜索 依 tree-sitter 内存缓存 ✅ 自动 MIT

性能指标对比

工具 索引速度 查询延迟 Token 节省 基准测试
code-review-graph 0.4-1.5ms ~82 倍(中位) F1=0.714
gitnexus 1 次调用 vs 4+ 次
graphtify 零 LLM 调用 recall@10=0.497
CodeGraph 58% 工具调用 7 个真实项目
codebase-memory-mcp 3 分钟/2800 万行 <1ms 99.2% Linux 内核
semble ~250ms ~1.5ms 98% NDCG@10=0.854

选型建议

场景一:为 AI 编码代理提供代码上下文

  • 超大型代码库(千万行级)codebase-memory-mcp:C 语言实现、亚毫秒查询、158 语言、Linux 内核 3 分钟索引。
  • 多仓库 / Monorepogitnexus:多仓库全局注册表、跨服务契约匹配、仓库分组管理。
  • 快速上手 / 轻量级CodeGraph:Rust 单二进制、零依赖、20+ 语言、框架感知路由识别。
  • 多模态(代码+文档+图片+视频)graphtify:36+ 语言、社区检测、设计原理提取、零 LLM 成本构建图谱。

场景二:快速理解陌生代码库 / 新人 onboarding

→ 选择 Understand-Anything。多智能体架构生成交互式知识图谱 + 引导式学习路径 + 业务领域视图,支持角色自适应 UI 与多语言输出。

场景三:极致 Token 优化的代码搜索

→ 选择 semble。纯 CPU 毫秒级查询,2K token 即达 94% recall,对比 grep+read 节省 98% token。

场景四:PR 风险评分与合并门控

→ 选择 code-review-graph。爆炸半径分析 + GitHub Action 集成,自动计算变更风险评分并门控合并。

与审查 Agent 组合:本文的上下文/搜索工具与代码审查 Agent open-code-review 配合可形成完整链路——open-code-review(审查)+ codebase-memory-mcpCodeGraph(上下文)+ semble(搜索)。

其他主流工具

  • DeepWiki DeepWiki 可以为任何 GitHub、GitLab 或 BitBucket 代码仓库自动创建美观、交互式的 Wiki!

实践:为 AI 编码代理构建上下文基础设施

推荐工作流架构

┌─────────────────────────────────────────────────────┐
│                   AI 编码代理                        │
│            (Claude Code / Cursor / Codex)            │
├──────────────┬──────────────┬───────────────────────┤
│   代码审查    │   上下文查询  │      代码搜索          │
│      ↓       │      ↓       │         ↓             │
│ open-code-   │ codebase-    │      semble           │
│ review       │ memory-mcp   │    (MCP search)       │
│   (Agent)    │   (MCP)      │                       │
├──────────────┴──────────────┴───────────────────────┤
│              MCP 协议(统一接口层)                   │
├─────────────────────────────────────────────────────┤
│         代码知识图谱(预构建 + 增量更新)              │
│    Tree-sitter AST → 节点/边 → SQLite/LadybugDB     │
├─────────────────────────────────────────────────────┤
│                   代码仓库                           │
└─────────────────────────────────────────────────────┘

图中的代码审查 Agent(open-code-review)详见 AI 代码审查工具技术介绍

集成实践要点

  1. 预构建图谱,按需更新:在项目初始化时一次性构建完整知识图谱,后续通过文件监听或 git hook 增量同步,避免每次任务重复索引。

  2. 图谱团队共享codebase-memory-mcpUnderstand-Anything 支持将图谱产物提交 Git,新成员 clone 后直接复用,跳过全量索引,显著降低上手成本。

  3. 多工具协同:通过 MCP 协议,审查 Agent 可在评审时调用知识图谱工具(如 open-code-review 调用 CodeGraph),实现"审查时按需获取精准上下文"。

注意事项

  • 许可证合规:gitnexus 采用 PolyForm Noncommercial 许可,商业使用需单独授权;graphtify 无显式许可证声明,企业使用前需确认。
  • 资源消耗:知识图谱构建在大型代码库上可能消耗大量内存与磁盘,建议在 CI Runner 或专用机器上构建。
  • Token 预算:首次全量分析(如 /understand)在大型项目上可能消耗大量 token,建议先用 --preview 或限定子目录。
  • 增量同步可靠性:文件监听 + 增量更新可能出现索引漂移,建议定期 --force 全量重建保证一致性。

趋势与展望

  1. Skills/MCP 协议是标配:几乎所有新工具都内置 MCP Server,AI Agent 调用外部工具的方式走向标准化,工具间可组合、可替换。

  2. 知识图谱从"锦上添花"到"刚需":随着代码库规模与 AI 代理使用频率增长,预构建知识图谱已成为降低 Token 成本、提升审查精准度的必要基础设施。

  3. 多仓库与跨服务分析:微服务架构下,单仓库知识图谱已不够用,gitnexus 的多仓库注册表与跨服务契约匹配代表了演进方向。

  4. 模型民主化:通过预计算与知识图谱,小模型也能获得完整的架构理解能力(如 gitnexus 的理念),降低对顶级大模型的依赖。

相关参考

  • code-review-graph 专为AI代码审查优化的效率工具
  • gitnexus 为 AI Agent 构建代码上下文的神经系统
  • graphtify 一个面向 AI 编码助手的技能
  • Understand-Anything 将任意代码库、知识库或文档转化为可探索、可搜索、可对话的交互式知识图谱
  • CodeGraph 面向 AI Agent,轻量化本地索引,极速查询调用链,省 Token、提速编码
  • codebase-memory-mcp 高性能代码智能 MCP 服务器,毫秒级全量索引、158 种语言、亚毫秒查询、节省约 99% Token,单一静态二进制、零依赖
  • semble 为 AI Agent 打造的代码搜索引擎,自然语言/代码查询即时返回最相关片段,相比 grep+read 节省约 98% Token,全库索引+搜索端到端不到 1 秒