GitHub - DeusData/codebase-memory-mcp:高性能代码智能 MCP 服务器。将代码库索引到持久化知识图谱——平均毫秒级处理仓库。

📅 2026/6/19 4:09:45
GitHub - DeusData/codebase-memory-mcp:高性能代码智能 MCP 服务器。将代码库索引到持久化知识图谱——平均毫秒级处理仓库。
codebase-memory-mcp面向 AI 编程 Agent 的最快、最高效的代码智能引擎。可在毫秒内完成对普通代码库的全量索引Linux 内核2800 万行代码75K 个文件仅需 3 分钟。结构化查询响应时间低于 1ms。以单一静态二进制文件的形式分发支持 macOS、Linux 和 Windows——下载、运行install搞定。通过 tree-sitter AST 分析实现对全部 158 种编程语言的高质量解析并结合Hybrid LSP语义类型解析支持 Python、TypeScript / JavaScript / JSX / TSX、PHP、C#、Go、C、C、Java、Kotlin 和 Rust——生成涵盖函数、类、调用链、HTTP 路由及跨服务链接的持久化知识图谱。14 个 MCP 工具。零依赖。可无缝接入 11 种编程 Agent。研究— 本项目的设计思路与基准测试详见预印本Codebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCParXiv:2603.27277。在 31 个真实代码库上的评估结果答案质量达 83%相比逐文件探索方式减少 10 倍 token 消耗减少 2.1 倍工具调用次数。安全与信任— 本工具会读取你的代码库并向你的 Agent 配置文件写入内容这正是它的设计用途。如果你希望在运行前先进行审计完整源代码在此——每个发布的二进制文件均已签名、校验和并经 70 余个杀毒引擎扫描。所有处理均在本地完成你的代码绝不会离开你的机器。发现安全问题我们希望知晓——请参阅 SECURITY.md。安全是我们的第一优先级。内置 3D 图谱可视化界面UI 版本——在 localhost:9749 探索你的知识图谱为什么选择 codebase-memory-mcp极速索引— Linux 内核2800 万行代码75K 个文件仅需 3 分钟。内存优先流水线LZ4 压缩、内存版 SQLite、融合 Aho-Corasick 模式匹配。索引完成后内存即释放。即插即用— 适用于 macOSarm64/amd64、Linuxarm64/amd64和 Windowsamd64的单一静态二进制文件。无需 Docker无运行时依赖无需 API 密钥。下载 →install→ 重启 Agent → 完成。158 种语言— tree-sitter 语法文件已预编译进二进制文件。无需额外安装不会出现兼容性问题。减少 120 倍 token 消耗— 5 次结构化查询约消耗 3,400 个 token而逐文件搜索约消耗 412,000 个 token。一次图谱查询可替代数十次 grep/read 操作。11 个 Agent一条命令—install自动检测 Claude Code、Codex CLI、Gemini CLI、Zed、OpenCode、Antigravity、Aider、KiloCode、VS Code、OpenClaw 和 Kiro——为每个 Agent 配置 MCP 条目、指令文件和预工具钩子。内置图谱可视化— 在localhost:9749提供 3D 交互界面可选 UI 二进制版本。基础设施即代码索引— Dockerfile、Kubernetes 清单和 Kustomize 覆盖层作为图谱节点进行索引并建立交叉引用。K8s 类型对应Resource节点Kustomize 覆盖层对应Module节点并通过IMPORTS边连接到所引用的资源。14 个 MCP 工具— 搜索、追踪、架构分析、影响分析、Cypher 查询、死代码检测、跨服务 HTTP 链接、ADR 管理等。快速开始一行安装命令macOS / Linuxcurl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash含图谱可视化界面curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash -s -- --uiWindowsPowerShell# 1. Download the installer Invoke-WebRequest - Uri https: // raw.githubusercontent.com / DeusData / codebase - memory - mcp / main / install.ps1 - OutFile install.ps1 # 2. (Optional but recommended) Inspect the script notepad install.ps1 # 3. Run it .\install.ps1选项--ui图谱可视化、--skip-config仅二进制文件不配置 Agent、--dir自定义安装路径。重启你的编程 Agent。说一句Index this project——完成。手动安装下载最新版本中适用于你平台的压缩包codebase-memory-mcp- - .tar.gzmacOS/Linux或.zipWindows——标准版codebase-memory-mcp-ui- - .tar.gz/.zip— 含图谱可视化版本解压并安装每个压缩包均包含install.sh或install.ps1macOS / Linuxtar xzf codebase-memory-mcp- * .tar.gz ./install.shWindowsPowerShellExpand-Archive codebase - memory - mcp - windows - amd64.zip - DestinationPath . .\install.ps1重启你的编程 Agent。install命令会自动去除 macOS 隔离属性并对二进制文件进行临时签名——无需手动执行xattr/codesign。install命令会自动检测所有已安装的编程 Agent并为每个 Agent 配置 MCP 服务器条目、指令文件、技能和预工具钩子。图谱可视化界面如果你下载的是ui版本codebase-memory-mcp --uitrue --port9749在浏览器中打开http://localhost:9749。界面以后台线程方式与 MCP 服务器并行运行——只要你的 Agent 已连接界面便随时可用。自动索引在 MCP 会话启动时启用自动索引codebase-memory-mcp config set auto_index true启用后新项目在首次连接时会自动进行索引。已索引的项目会注册到后台监视器持续进行基于 git 的变更检测。可配置文件数量上限config set auto_index_limit 50000。保持更新codebase-memory-mcp updateMCP 服务器还会在启动时检查更新若有新版本发布会在首次工具调用时发出通知。卸载codebase-memory-mcp uninstall移除所有 Agent 配置、技能、钩子和指令文件但不会删除二进制文件或 SQLite 数据库。功能特性图谱与分析架构概览get_architecture通过单次调用返回编程语言、包、入口点、路由、热点、边界、层次和模块集群架构决策记录manage_adr跨会话持久化架构决策Louvain 社区检测通过对调用边进行聚类发现功能模块Git diff 影响映射detect_changes将未提交的变更映射到受影响的符号并进行风险分级调用图谱跨文件和包解析函数调用支持导入感知、类型推断死代码检测查找零调用方的函数排除入口点类 Cypher 查询MATCH (f:Function)-[:CALLS]-(g) WHERE f.name main RETURN g.name搜索语义搜索semantic_query基于整个图谱的向量搜索由内置的 Nomicnomic-embed-code嵌入40K token768 维 int8驱动已编译进二进制文件——无需 API 密钥无需 Ollama无需 Docker。11 路信号综合评分TF-IDF、RRI、API/类型/装饰器签名、AST 特征、数据流、Halstead-lite、MinHash、模块邻近度、图谱扩散。BM25 全文搜索通过 SQLite FTS5 与cbm_camel_split分词器实现支持 camelCase / snake_case结构化搜索search_graph正则名称模式、标签过滤、最小/最大度数、文件范围限定代码搜索search_code仅在已索引文件上进行图谱增强的 grep跨服务链接HTTP路由 ↔ 调用点匹配含置信度评分gRPC、GraphQL、tRPC服务检测支持 protobuf Route 提取通道检测EMITS/LISTENS_ON跨 8 种语言检测 Socket.IO、EventEmitter 及通用发布-订阅模式支持常量解析跨代码库智能CROSS_*边链接在同一存储下索引的多个代码库中的节点多星系 3D 界面布局用于跨代码库架构可视化跨代码库架构摘要汇总已索引的所有代码库的服务、路由和依赖关系边类型部分CALLS、IMPORTS、DEFINES、IMPLEMENTS、INHERITSHTTP_CALLS、ASYNC_CALLS跨服务EMITS、LISTENS_ON通道DATA_FLOWS含参数到形参映射及字段访问链SIMILAR_TOMinHash LSH 近似克隆检测Jaccard 评分SEMANTICALLY_RELATED词汇不匹配相同语言评分 ≥ 0.80索引流水线158 个预置 tree-sitter 语法文件已编译进二进制文件通用包/模块解析— 裸说明符如myorg/pkg、github.com/foo/bar、use my_crate::foo通过扫描清单文件解析package.json、go.mod、Cargo.toml、pyproject.toml、composer.json、pubspec.yaml、pom.xml、build.gradle、mix.exs、*.gemspec基础设施即代码索引— Dockerfile、Kubernetes 清单、Kustomize 覆盖层作为图谱节点Hybrid LSP 语义类型解析支持 Python、TypeScript / JavaScript / JSX / TSX、PHP、C#、Go、C、C、Java、Kotlin 和 Rust——一套轻量级 C 语言实现的类型解析算法在结构上参考并兼容主流语言服务器包括 tsserver / typescript-go、pyright、gopls、Roslyn、Eclipse JDT 和 rust-analyzer参数绑定、返回类型推断、泛型替换、JSX 组件分发、plain JS 文件的 JSDoc 推断、PHP 的命名空间 trait 后期静态绑定解析、C# 的文件范围命名空间 record LINQ 方法语法、Java 的类层次 重载 lambda 解析、Kotlin 的扩展函数 作用域函数解析、Rust 的 trait 方法 UFCS 解析内存优先流水线LZ4 压缩、内存版 SQLite、结束时一次性落盘。内存随后释放。分发与运维单一静态二进制零基础设施基于 SQLite持久化至~/.cache/codebase-memory-mcp/自动同步后台监视器检测文件变更并自动重新索引路由节点REST 端点作为图谱的一等实体CLI 模式codebase-memory-mcp cli search_graph {name_pattern: .*Handler.*}可通过以下方式获取npm、PyPI、Homebrew、Scoop、Winget、Chocolatey、AUR、go install团队共享图谱产物将单个压缩文件提交到代码库你的队友即可跳过重新索引步骤。.codebase-memory/graph.db.zst是一个 zstd 压缩的知识图谱快照与你的源代码并排存放。当你进行索引时该产物会被写入或刷新当队友克隆代码库并首次运行codebase-memory-mcp时该产物会被解压随后通过增量索引填入本地差异。格式SQLite 数据库去除索引VACUUM INTO压缩再经 zstd 1.5.7 压缩典型压缩比 8–13:1两个层级最优zstd -9 去除索引 VACUUM INTO——在显式执行index_repository时写入快速zstd -3——由监视器写入用于低延迟增量更新引导启动当本地数据库不存在但产物文件存在时index_repository会先导入产物再运行增量索引——从而避免完整重建索引的开销无合并冲突首次导出时会自动创建包含mergeours的.gitattributes行使得对二进制产物的并发编辑不会产生冲突可选除非你希望保留否则不会提交。如果你希望每个人都从头重新索引请将.codebase-memory/添加到.gitignore。其结果在精神上与 graphify 的graphify-out/目录类似但以单个压缩文件的形式呈现具备显式的双层导出、完整性校验的导入以及零合并摩擦。How It Workscodebase-memory-mcp 是一个结构分析后端—— 它负责构建和查询知识图谱不内置 LLM。它依赖你的 MCP 客户端Claude Code 或任何兼容 MCP 的 Agent作为智能层。You: what calls ProcessOrder? Agent calls: trace_path(function_nameProcessOrder, directioninbound) codebase-memory-mcp: executes graph query, returns structured results Agent: presents the call chain in plain English为什么不内置 LLM其他代码图谱工具内嵌了 LLM用于将自然语言转换为图查询。这意味着额外的 API Key、额外的费用以及需要另外配置一个模型。有了 MCP你已经在交互的 Agent本身就是查询翻译器。Performance在 Apple M3 Pro 上的基准测试结果| 操作 | 耗时 | 备注 ||Linux 内核完整索引|3 分钟| 2800 万行代码75K 文件 → 481 万节点772 万边 || Linux 内核快速索引 | 1 分 12 秒 | 188 万节点 || Django 完整索引 | ~6 秒 | 4.9 万节点19.6 万边 || Cypher 查询 | 1ms | 关系遍历 || 名称搜索正则 | 10ms | SQL LIKE 预过滤 || 死代码检测 | ~150ms | 带度过滤的全图扫描 || 追踪调用路径depth5 | 10ms | BFS 遍历 |内存优先流水线所有索引均在内存中运行LZ4 HC 压缩读取、内存内 SQLite、结束时一次性写盘。索引完成后内存会释放回操作系统。Token 效率通过 codebase-memory-mcp 执行五次结构查询共消耗约 3,400 个 token而逐文件 grep 探索方式则需消耗约 412,000 个 token ——减少了 99.2%。InstallationPre-built Binaries| 平台 | 标准版 | 含图形 UI 版 || macOSApple Silicon |codebase-memory-mcp-darwin-arm64.tar.gz|codebase-memory-mcp-ui-darwin-arm64.tar.gz|| macOSIntel |codebase-memory-mcp-darwin-amd64.tar.gz|codebase-memory-mcp-ui-darwin-amd64.tar.gz|| Linuxx86_64 |codebase-memory-mcp-linux-amd64.tar.gz|codebase-memory-mcp-ui-linux-amd64.tar.gz|| LinuxARM64 |codebase-memory-mcp-linux-arm64.tar.gz|codebase-memory-mcp-ui-linux-arm64.tar.gz|| Windowsx86_64 |codebase-memory-mcp-windows-amd64.zip|codebase-memory-mcp-ui-windows-amd64.zip|每个版本均包含带有 SHA-256 哈希值的checksums.txt。所有二进制文件均为静态链接无共享库依赖。Windows 说明SmartScreen 可能会对未签名软件显示警告。点击**更多信息** →仍要运行。可通过checksums.txt验证完整性。Setup Scripts自动下载 安装macOS / Linuxcurl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/scripts/setup.sh | bashWindowsPowerShellirm https: // raw.githubusercontent.com / DeusData / codebase - memory - mcp / main / scripts / setup - windows.ps1 | iexAUR (Arch Linux)yay -S codebase-memory-mcp-binparu -S codebase-memory-mcp-bincodebase-memory-mcp-bin软件包地址https://aur.archlinux.org/packages/codebase-memory-mcp-binInstall via Claude CodeYou: Install this MCP server: https://github.com/DeusData/codebase-memory-mcpBuild from Source前提条件C 编译器 zlib| 依赖项 | 检查命令 | 安装方式 ||C 编译器gcc 或 clang |gcc --version或clang --version| macOSxcode-select --installLinuxapt install build-essential||C 编译器|g --version或clang --version| 同上 ||zlib| — | macOS已内置Linuxapt install zlib1g-dev||Git|git --version| 大多数系统已预装 |git clone https://github.com/DeusData/codebase-memory-mcp.git cd codebase-memory-mcp scripts/build.sh # standard binary scripts/build.sh --with-ui # with graph visualization # Binary at: build/c/codebase-memory-mcpManual MCP Configuration如果你不想使用安装命令添加到~/.claude/.mcp.json全局或项目.mcp.json{ mcpServers : { codebase-memory-mcp : { command : /path/to/codebase-memory-mcp , args : [] } } }重启你的 Agent。通过/mcp验证 —— 你应该看到包含 14 个工具的codebase-memory-mcp。Multi-Agent Supportinstall会自动检测并配置所有已安装的 Agent| Agent | MCP 配置 | 指令 | Hooks || Claude Code |.claude/.mcp.json| 4 个 Skills | PreToolUseGrep/Glob 图增强非阻塞 || Codex CLI |.codex/config.toml|.codex/AGENTS.md| SessionStart 提醒 || Gemini CLI |.gemini/settings.json|.gemini/GEMINI.md| BeforeToolgrep 提醒 SessionStart 提醒 || Zed |settings.jsonJSONC | — | — || OpenCode |opencode.json|AGENTS.md| — || Antigravity |.gemini/config/mcp_config.json共享 |antigravity-cli/AGENTS.md| SessionStart 提醒 || Aider | — |CONVENTIONS.md| — || KiloCode |mcp_settings.json|~/.kilocode/rules/| — || VS Code |Code/User/mcp.json| — | — || OpenClaw |openclaw.json| — | — || Kiro |.kiro/settings/mcp.json| — | — |Hooks 在结构上为非阻塞退出码为 0所有失败路径均如此。对于 Claude CodePreToolUsehook 会拦截Grep/Glob从不拦截Read—— 拦截Read会破坏编辑前必须先读取的不变性约束当搜索 token 与已索引的符号匹配时通过search_graph将其作为additionalContext注入使 Agent 在获得正常搜索结果的同时得到结构化上下文。对于 Codex、Gemini CLI 和 AntigravitySessionStarthook 会将一行代码发现提示作为会话上下文注入Gemini CLI 还会保留其BeforeTool提醒。已安装的 Claude shim 文件命名为cbm-code-discovery-gate以保持与现有安装的向后兼容性尽管名称是遗留命名但它从不拦截、也从不阻塞。CLI Mode每个 MCP 工具都可以从命令行调用codebase-memory-mcp cli index_repository {repo_path: /path/to/repo} codebase-memory-mcp cli search_graph {name_pattern: .*Handler.*, label: Function} codebase-memory-mcp cli trace_path {function_name: Search, direction: both} codebase-memory-mcp cli query_graph {query: MATCH (f:Function) RETURN f.name LIMIT 5} codebase-memory-mcp cli list_projects codebase-memory-mcp cli --raw search_graph {label: Function} | jq .results[].name MCP ToolsIndexing| 工具 | 描述 ||index_repository| 将仓库索引到图谱中。此后自动同步保持更新。 ||list_projects| 列出所有已索引的项目及其节点/边数量。 ||delete_project| 删除一个项目及其所有图谱数据。 ||index_status| 检查某个项目的索引状态。 |Querying| 工具 | 描述 ||search_graph| 按标签、名称模式、文件模式、度过滤器进行结构化搜索支持通过 limit/offset 分页。 ||trace_path| BFS 遍历 —— 查看谁调用了某函数以及该函数调用了什么别名trace_call_path。深度 1–5。 ||detect_changes| 将 git diff 映射到受影响的符号及影响半径并附带风险分类。 ||query_graph| 执行类 Cypher 图查询只读。 ||get_graph_schema| 节点/边数量、关系模式、每个标签的属性定义。建议首先运行此工具。 ||get_code_snippet| 通过限定名读取函数的源代码。 ||get_architecture| 代码库概览语言、包、路由、热点、聚类、ADR。 ||search_code| 在已索引的项目文件中进行类 grep 文本搜索。 ||manage_adr| 架构决策记录ADR的增删改查。 ||ingest_traces| 接收运行时追踪数据以验证 HTTP_CALLS 边。 |Graph Data ModelNode LabelsProject、Package、Folder、File、Module、Class、Function、Method、Interface、Enum、Type、Route、ResourceEdge TypesCONTAINS_PACKAGE、CONTAINS_FOLDER、CONTAINS_FILE、DEFINES、DEFINES_METHOD、IMPORTS、CALLS、HTTP_CALLS、ASYNC_CALLS、IMPLEMENTS、HANDLES、USAGE、CONFIGURES、WRITES、MEMBER_OF、TESTS、USES_TYPE、FILE_CHANGES_WITHQualified Namesget_code_snippet使用限定名. .。请先使用search_graph发现它们。Supported Cypher (openCypher read subset)query_graph是一个只读的 openCypher 子集子句MATCH、OPTIONAL MATCH、多个MATCH、WHERE、WITHWITH … WHERE、RETURN、ORDER BY、SKIP、LIMIT、DISTINCT、UNWIND、UNION/UNION ALL、CASE。模式带标签节点、标签备选(n:A|B)、关系类型/方向、可变长路径[*1..3]、内联属性映射。WHERE 、AND/OR/XOR/NOT、IN、CONTAINS、STARTS WITH、ENDS WITH、IS [NOT] NULL、正则~、标签测试n:Label以及EXISTS { (n)-[:TYPE]-() }单跳存在性检查 —— 非常适合死代码检测例如 WHERE NOT EXISTS { (f)| 变量 | 默认值 | 描述 ||CBM_CACHE_DIR|~/.cache/codebase-memory-mcp| 覆盖数据库存储目录。所有项目索引和配置均存储于此。 ||CBM_DIAGNOSTICS|false| 设为1或true以开启定期诊断输出到/tmp/cbm-diagnostics- .json。 ||CBM_DOWNLOAD_URL|GitHub releases| 覆盖更新的下载 URL。用于测试或自托管部署。 ||CBM_LOG_LEVEL|info| 设置最低日志级别。可接受的值大小写不敏感debug、info、warn、error、none—— 或其对应的数字值0–4与内部枚举对应。日志输出到 stderrstdout 保留给 MCP JSON-RPC。 ||CBM_WORKERS|自动检测| 覆盖cbm_default_worker_count返回的并行索引 worker 数量。在容器内sysconf(_SC_NPROCESSORS_ONLN)上报的是宿主机 CPU 数而非 cgroup 的有效配额时特别有用。范围 1–256无效值会被忽略并输出警告。 |# Store indexes in a custom directory export CBM_CACHE_DIR ~ /my-projects/cbm-dataCustom File Extensions通过 JSON 配置文件将额外的文件扩展名映射到已支持的语言。适用于框架专属扩展名如.blade.phpLaravel或.mjsES modules。按项目配置放在你的仓库根目录// .codebase-memory.json { extra_extensions : { .blade.php : php , .mjs : javascript }}全局配置适用于所有项目// ~/.config/codebase-memory-mcp/config.json (or $XDG_CONFIG_HOME/...) { extra_extensions : { .twig : html , .phtml : php }}项目配置会覆盖全局配置中冲突的扩展名。未知的语言值会被静默跳过缺失的配置文件会被忽略。PersistenceSQLite 数据库存储于~/.cache/codebase-memory-mcp/。跨重启持久化WAL 模式ACID 安全。如需重置rm -rf ~/.cache/codebase-memory-mcp/。Troubleshooting| 问题 | 解决方法 ||/mcp未显示服务器 | 检查.mcp.json路径是否为绝对路径。重启 Agent。测试echo {} \| /path/to/binary应输出 JSON。 ||index_repository失败 | 传入绝对路径index_repository(repo_path/absolute/path)||trace_path返回 0 条结果 | 先使用search_graph(name_pattern.*PartialName.*)找到确切名称。 || 查询返回错误项目的结果 | 添加projectname参数。使用list_projects查看名称。 || 安装后找不到二进制文件 | 添加到 PATHexport PATH$HOME/.local/bin:$PATH|| UI 无法加载 | 确认下载的是ui变体并已运行--uitrue。检查http://localhost:9749。 |Hybrid LSP超越 tree-sitter 的语义类型解析。tree-sitter 单独提供的是语法 AST能很好地处理命名、结构和调用点但它无法告诉你user.profile.display_name()解析到三个模块之外声明的Profile.display_name—— tree-sitter 不追踪导入、泛型、继承或标准库类型。codebase-memory-mcp 内置了一套轻量级 C 语言实现的类型解析算法在结构上受主流语言服务器tsserver / typescript-go、pyright、gopls、Roslyn、Eclipse JDT、rust-analyzer启发并与之兼容直接嵌入静态二进制文件中。无需启动语言服务器进程无需逐项目配置无需 API Key。我们将这一层称为Hybrid LSP它在每次解析时与 tree-sitter 并行运行并使用类型信息精化CALLS、USAGE和RESOLVED_CALLS边使生成的图谱能够反映 IDE跳转到定义所能解析的结果。已完整支持 Hybrid LSP 的语言| 语言 | 处理范围 ||Pythonv0.7.0 新增| import 及带点号的子模块遍历、dataclass、Self返回类型、泛型、property、match/case类模式、SQLAlchemy 2.0Mapped[T]、PydanticBaseModel、typing.Annotated/ClassVar/Final/InitVar、async/await、classmethod/staticmethod、类型收窄isinstance/is not None/ walrus、typing.cast/assert_type、常用标准库logging、pathlib、json、functools。目标对符合惯用法的代码达到约 95% 的解析率。 ||TypeScript / JavaScript / JSX / TSX| 泛型、JSX 组件分发、面向纯 JS 的 JSDoc 推断、.d.ts声明、模块重导出、基于返回类型传播的方法链、按文件的覆盖层链接到共享的跨文件注册表 ||PHPv0.7.0 新增| 命名空间、trait、后期静态绑定、PHPDoc 推断、参数绑定、返回类型推断 ||C#v0.7.0 新增| 全局 using、文件作用域命名空间、record包含 C# 12 主构造函数、LINQ 方法语法、async Task/ValueTask解包、泛型方法、this/base分发、var推断、常用 BCL 标准库 ||Gov0.7.0 强化| 预构建的按包跨文件注册表、泛型、嵌入式结构体、接口满足性检查、包感知的 import 解析 ||C / Cv0.7.0 强化| 预构建的跨文件注册表在 C 和 C 之间共享C 侧处理宏 typedef链 头文件与源文件的关联C 侧处理模板、命名空间、auto推断以及基于类层次结构的方法解析 ||Javav0.8.0 新增| import单类型、按需、静态、带this/super分发的类层次结构、泛型、注解、按参数个数和参数类型的重载匹配、绑定到函数式接口的 lambda / 方法引用、字段类型推断、常用 JDK 标准库 ||Kotlinv0.8.0 新增| import 同包解析、class / object / companion object、扩展函数、data class、可空类型解包、作用域函数let/apply/run/also/with、中缀调用、常用标准库 ||Rustv0.8.0 新增|use声明 模块路径、impl块及 trait 方法、结构体字段、带 trait 约束的泛型、运算符 trait 去语法糖、derive 宏方法合成、UFCS 静态路径、常用 std prelude |双层架构Tree-sitter 层— 快速、基于语法适用于全部 158 种语言。负责提取定义、调用和 import。Hybrid LSP 层— 类型感知运行于 tree-sitter 层之上按语言生效。利用 import 图以及按文件或预构建的跨文件定义注册表来精化调用边。尚未支持 Hybrid LSP 的语言会回退到基于文本的解析因此始终能得到某种结果。最终生成的知识图谱精确度足以驱动跨包、继承层次结构和标准库调用的trace_path——而无需为每个项目单独启动语言服务器进程。语言支持共 158 种语言全部通过内嵌到二进制文件中的 tree-sitter 语法解析器进行解析。已在 64 个真实开源仓库节点数从 78 到 49K 不等上完成基准测试| 等级 | 得分 | 语言 ||优秀 90% | | Lua、Kotlin、C、Perl、Objective-C、Groovy、C、Bash、Zig、Swift、CSS、YAML、TOML、HTML、SCSS、HCL、Dockerfile ||良好75-89% | | Python、TypeScript、TSX、Go、Rust、Java、R、Dart、JavaScript、Erlang、Elixir、Scala、Ruby、PHP、C#、SQL ||可用 75% | | OCaml、Haskell |另支持以下语言暂未完成基准测试Ada、Agda、Apex、Assembly (NASM)、Astro、AWK、Beancount、BibTeX、Bicep、Bitbake、Blade、Cairo、Capn Proto、Clojure、CMake、COBOL、Common Lisp、Crystal、CSV、CUDA、D、Devicetree、Diff、.env、Elm、Emacs Lisp、F#、Fennel、Fish、FORM、Fortran、FunC、GDScript、.gitattributes、.gitignore、Gleam、GLSL、GN、Go module、Go template、GraphQL、Hare、HLSL、Hyprlang、INI、ISPC、Janet、Jinja2、JSDoc、JSON、JSON5、Jsonnet、Julia、Just、Kconfig、KDL、Lean 4、Linker Script、Liquid、LLVM IR、Luau、Magma、Makefile、Markdown、MATLAB、Mermaid、Meson、Move、Nickel、Nim、Nix、Odin、Pascal、Pkl、PO (gettext)、Pony、PowerShell、Prisma、.properties、Protobuf、Puppet、PureScript、Racket、Regex、requirements.txt、ReScript、RON、reStructuredText、Scheme、Slang、Smali、Smithy、Solidity、SOQL、SOSL、Squirrel、SSH config、Starlark、Svelte、Sway、SystemVerilog、TableGen、Tcl、Teal、Templ、Thrift、TLA、Typst、Verilog、VHDL、Vim script、Vue、WGSL、WIT、Wolfram、XML、Zsh。架构src/ main.c Entry point (MCP stdio server CLI install/update/config) mcp/ MCP server (14 tools, JSON-RPC 2.0, session detection, auto-index) cli/ Install/uninstall/update/config (10 agents, hooks, instructions) store/ SQLite graph storage (nodes, edges, traversal, search, Louvain) pipeline/ Multi-pass indexing (structure → definitions → calls → HTTP links → config → tests) cypher/ Cypher query lexer, parser, planner, executor discover/ File discovery (.gitignore, .cbmignore, symlink handling) watcher/ Background auto-sync (git polling, adaptive intervals) traces/ Runtime trace ingestion ui/ Embedded HTTP server 3D graph visualization foundation/ Platform abstractions (threads, filesystem, logging, memory) internal/cbm/ Vendored tree-sitter grammars (158 languages) AST extraction engine安全性每个发布的二进制文件在发布前均经过多层流水线验证VirusTotal— 所有二进制文件通过 70 款杀毒引擎扫描发布要求零检出SLSA Level 3— 由 GitHub Actions 生成加密构建来源证明可使用gh attestation verify --repo DeusData/codebase-memory-mcp进行验证Sigstore cosign— 对所有产物进行无密钥签名每次发布均附带签名包SHA-256 校验和— 每次发布随附checksums.txt两个安装脚本在解压前均会进行验证CodeQL SAST— 若存在任何未解决的告警则阻断发布流水线零运行时依赖— 无传递性供应链风险所有库均在编译时静态内嵌v0.7.0 VirusTotal 扫描结果| 二进制文件 | SHA-256 | VirusTotal ||linux-amd64|8e12bb2d6ead7f20a6d3...| 0/72 ✅ ||linux-arm64|10f7136bfbf3950c6b2a...| 0/72 ✅ ||darwin-arm64|7062a7408906344bf4f8...| 0/72 ✅ ||darwin-amd64|28c6d640e1a0ac7bfcab...| 0/72 ✅ ||windows-amd64|9c3ddcf78368fd4fa891...| 0/72 ✅ |每次发布的扫描链接也会自动附在 GitHub Release 说明中。许可证MIT