AI 编程中的代码知识图谱与上下文工具:七款开源工具能力对比与快速上手
- AI技术
- 14天前
- 7热度
- 1评论
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 选项(如 defaultBranch、embeddings、skipSkills),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 分钟索引。
- 多仓库 / Monorepo → gitnexus:多仓库全局注册表、跨服务契约匹配、仓库分组管理。
- 快速上手 / 轻量级 → 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-mcp或CodeGraph(上下文)+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 代码审查工具技术介绍。
集成实践要点
-
预构建图谱,按需更新:在项目初始化时一次性构建完整知识图谱,后续通过文件监听或 git hook 增量同步,避免每次任务重复索引。
-
图谱团队共享:
codebase-memory-mcp和Understand-Anything支持将图谱产物提交 Git,新成员 clone 后直接复用,跳过全量索引,显著降低上手成本。 -
多工具协同:通过 MCP 协议,审查 Agent 可在评审时调用知识图谱工具(如 open-code-review 调用 CodeGraph),实现"审查时按需获取精准上下文"。
注意事项
- 许可证合规:gitnexus 采用 PolyForm Noncommercial 许可,商业使用需单独授权;graphtify 无显式许可证声明,企业使用前需确认。
- 资源消耗:知识图谱构建在大型代码库上可能消耗大量内存与磁盘,建议在 CI Runner 或专用机器上构建。
- Token 预算:首次全量分析(如
/understand)在大型项目上可能消耗大量 token,建议先用--preview或限定子目录。 - 增量同步可靠性:文件监听 + 增量更新可能出现索引漂移,建议定期
--force全量重建保证一致性。
趋势与展望
-
Skills/MCP 协议是标配:几乎所有新工具都内置 MCP Server,AI Agent 调用外部工具的方式走向标准化,工具间可组合、可替换。
-
知识图谱从"锦上添花"到"刚需":随着代码库规模与 AI 代理使用频率增长,预构建知识图谱已成为降低 Token 成本、提升审查精准度的必要基础设施。
-
多仓库与跨服务分析:微服务架构下,单仓库知识图谱已不够用,gitnexus 的多仓库注册表与跨服务契约匹配代表了演进方向。
-
模型民主化:通过预计算与知识图谱,小模型也能获得完整的架构理解能力(如 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 秒
[…] AI 编码代理提供上下文的知识图谱/语义搜索类工具,见 AI 代码知识图谱与上下文工具。审查 Agent(如 open-code-review)可通过 MCP […]