开源项目
开源项目

codebase-memory-mcp:AI coding agent 的代码智能引擎,Linux 内核 3 分钟索引

GitHub 热点(arXiv 论文)代码智能引擎。tree-sitter AST + Hybrid LSP,158 语言,Linux 内核 28M LOC 3 分钟索引,查询 <1ms,120× 省 token。单静态二进制零依赖,15 MCP 工具,3D 图谱可视化。和 graphify 互补。

发布于 2026年7月25日10 分钟阅读更新于 2026年7月28日
<!-- codebase-memory-mcp-resource | resource | codebase-memory-mcp 代码智能引擎 -->

codebase-memory-mcp 是给 AI coding agent 用的代码智能引擎,即持久化的代码记忆 MCP server。截至 2026 年 7 月底,35,958 颗星、2,812 个 fork、MIT 协议、纯 C 写成,最新版 v0.9.0,距 2026 年 2 月 24 日首提交约 5 个月。它干的事一句话能说明白:把整个仓库索引成一张知识图谱(函数、类、调用链、HTTP 路由、跨服务链接),通过 15 个 MCP 工具暴露给 Claude Code、Codex、Cursor、Windsurf、Gemini CLI、OpenCode、KiloCode 等 43 个 agent 客户端,让 agent 查图谱而不是逐文件 grep。arXiv 论文(2603.27277)在 31 个真实仓库测出 83% 答案质量、10× 省 token、2.1× 少工具调用;Linux 内核(28M 行、75K 文件)3 分钟索引完,查询 <1ms。

解决什么痛点

用过 AI coding agent 的人都踩过这几样:agent 上下文窗口有限,看不了整个仓库,只能瞎 grep,跨文件调用链断在半路;接手新项目,agent 没记忆,每个 session 从零重新读文件,昨天聊过的架构今天全忘;改一个函数,agent 不知道波及哪里,要么不告你要么漏报;HTTP 路由、gRPC、事件通道这些跨服务链接 agent 根本看不到;token 烧得快,官方测过 5 个结构查询逐文件搜要 412,000 token。codebase-memory-mcp 把整个仓库预先索引成知识图谱,SQLite 持久化,agent 查图谱拿结构化结果,一次图谱查询顶几十次 grep/read。核心转变是从「让 agent 逐文件读代码」换成「让 agent 查代码图谱」,仓库再大、session 再多、重启多少次,图谱常驻不动。

知识图谱怎么造:tree-sitter + Hybrid LSP + 跨服务链接

它和普通代码搜索的根本分野在这:普通搜索是文本匹配,codebase-memory-mcp 是结构化建图,底层分两层跑。第一层 tree-sitter AST,158 种语言语法解析器全部 vendored 编译进二进制,提取定义、调用、导入。第二层 Hybrid LSP 语义类型解析,针对 10 种语言(Python、TypeScript、PHP、C#、Go、C/C++、Java、Kotlin、Rust、Perl)做类型推导--能告诉你 user.profile.display_name() 解析到三个模块外的 Profile.display_name,tree-sitter 单干做不到,因为它不跟踪导入、泛型、继承。这层是轻量 C 实现,兼容 tsserver/pyright/gopls/rust-analyzer,不起 language server,不用 API key。建图管道 RAM-first:LZ4 压缩、内存 SQLite、Aho-Corasick 匹配,索引完 dump 落盘、内存还 OS,Linux 内核 3 分钟出 4.81M 节点 7.72M 边。边类型除了 CALLS/IMPORTS/DEFINES,还有跨服务 HTTP_CALLS、事件 EMITS/LISTENS_ONDATA_FLOWS、近似克隆 SIMILAR_TO;跨服务链接覆盖 HTTP 路由匹配、gRPC/GraphQL/tRPC 检测、pub-sub 通道(8 种语言)。连 Dockerfile、K8s manifest 都当图谱节点,Louvain 社区发现按调用边聚类挖功能模块。

15 个 MCP 工具 + Cypher:agent 怎么查图谱

15 个工具分四类:索引(index_repository/list_projects)、查询(search_graph 按标签/名字正则/度数过滤、trace_path BFS 遍历谁调用谁深度 1-5、get_architecture 一次返回语言/路由/热点/分层)、分析(detect_changes 把 git diff 映射到受影响符号 + 爆炸半径 + 风险分级、死代码检测找零调用者、manage_adr 持久化架构决策)、Cypher(query_graph 跑 openCypher 只读子集,支持 MATCH/WHERE/变长路径 [*1..3]/EXISTS {},死代码直接 WHERE NOT EXISTS { (f)<-[:CALLS]-() } 一把查出)。一个设计取舍:它不含内置 LLM,是结构分析后端--别的代码图谱工具内嵌 LLM 做自然语言转图查询,多套 API key;它走 MCP 路线,你正在对话的 agent 就是查询翻译器,你说"谁调用 ProcessOrder",agent 自己调 trace_path,它跑图查询返回结构化结果,agent 再用大白话讲给你。搜索不止图查询:semantic_query 用内置 Nomic 嵌入(40K token、768 维 int8,编译进二进制,不要 API key/Ollama/Docker)做向量搜,BM25 全文走 SQLite FTS5 带 camelCase/snake_case 感知分词器。3D 可视化在 localhost:9749。省 token 是硬指标:5 个查询约 3,400 token vs 逐文件搜 412,000,降 99.2%。

43 个 agent 客户端 + 团队共享图谱

装一次自动配 43 个客户端面(37 自动 + 6 条件),覆盖 Claude Code、Codex、Cursor、Windsurf、Gemini CLI、OpenCode、KiloCode 等。install 自动写各客户端 MCP 配置 + 持久指令/skill/hook--Claude Code 挂 SessionStart 和非阻塞 PreToolUse(观察 Grep/Glob 注入图谱符号),Codex CLI 写 AGENTS.md + 三个只读 agent。每个客户端拿到三档 profile:Scout(Tier 1 快速正向发现)、Verify(Tier 2 默认,图证据 + 源码核对)、Auditor(Tier 3 有界范围 + 完整分页);Cursor、Cline 这类子 agent 不安全用 MCP 的走父级 handoff。跨 session 协调靠一个 per-account daemon:Claude Code、Codex、OpenCode 共享同一守护进程,第一个 session 起、最后一个关,管 watcher 和共享索引。团队协作靠一个提交进仓库的共享 artifact:.codebase-memory/graph.db.zst 是知识图谱的 zstd 压缩快照(8-13:1),队友 clone 后解压增量索引不用全量重建,分 Best(zstd -9)和 Fast(zstd -3)两档,.gitattributes 自动加 merge=ours 防冲突。数据持久化是 SQLite(WAL 模式 ACID 安全)落在 ~/.cache/codebase-memory-mcp/,重启不丢,auto_watch 跟 git 变化自动重索引。发版单静态二进制,macOS/Linux/Windows 全覆盖,零运行时依赖。

三分钟上手

bash
# 1. 一键装(macOS / Linux,加 --ui 开 3D 可视化)
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash

# 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

# 2. install 自动检测已装 agent 并写好 MCP 配置(43 客户端面)
# 3. 重启 agent,说 "Index this project" 就完事

手动配往 ~/.claude.json.mcp.json 加一条 MCP server 配置即可,/mcp 验证应看到 15 个工具。已有 coding agent 直接对 Claude Code 说 "Install this MCP server: https://github.com/DeusData/codebase-memory-mcp" 它自己装。

适合谁 + 踩坑

适合:接手大仓库想先看图谱的新人;用 Claude Code / Codex / Cursor 想给 agent 加代码记忆、省 token 的人;做代码审查、死代码清理、影响分析的人;跨服务架构做 HTTP/gRPC 链路追溯的团队。踩坑记五条:一是它不含内置 LLM,是结构分析后端,自然语言到图查询靠你正在用的 agent 翻译;二是 Hybrid LSP 只覆盖 10 种语言,其余 148 种回退到文本解析(有答案但不一定准),OCaml/Haskell 在功能档(<75%);三是内存,大仓库索引时 RAM 飙,索引完释放,容器里用 CBM_MEM_BUDGET_MB 钉预算;四是 Windows 上部分客户端 hook 被 withheld(GitLab Duo、Devin、Factory);五是安全:读代码库、写 agent 配置,但 100% 本地零遥测,二进制签名 + SLSA Level 3 + VirusTotal 扫。另:CBM_CACHE_DIR 一个账号同时只能用一个 cache root。

和竞品比

和 graphify 比,graphify 是 AI coding skill(/graphify 触发,按需轻量),codebase-memory-mcp 是 MCP server(常驻,15 工具,重型全索引);graphify 输出 graphify-out/ 目录,codebase-memory-mcp 输出单个压缩 artifact(两档压缩、完整性校验、防冲突),两者可叠加。和 Cline 这类 agent 自带记忆比,Cline 记对话/偏好/决策,codebase-memory-mcp 记代码结构--谁调用谁、哪里是死代码、改一处波及哪;两者不冲突,Cline 本身也是支持的 43 个客户端之一。和普通 RAG(向量搜代码)比,RAG 找语义相近代码块但不知道调用链和跨文件结构,回答不了"谁调用 ProcessOrder、改它会断什么";codebase-memory-mcp 给结构图谱,token 降 99.2%。一句话:要 agent 记对话偏好用 Cline 记忆,要按需出图用 graphify,要给 agent 一个常驻、可查、可团队共享的代码结构记忆,选 codebase-memory-mcp。


参考来源

本文由 AI 辅助生成,经人工审核编辑。最后更新:2026-07-28

相关文章