104 lines
3.4 KiB
Markdown
104 lines
3.4 KiB
Markdown
# codebase-memory-mcp (CBM) — 安装与自动化记录
|
||
|
||
> 安装日期:2026-07-30
|
||
> 当前版本:v0.9.0
|
||
> 上游:https://github.com/DeusData/codebase-memory-mcp
|
||
> Gitea:http://192.168.123.11:3000/xiaoxue_admin/codebase-memory-mcp
|
||
> 论文:arXiv:2603.27277
|
||
> 相关 skill:`cbm-code-analysis`(代码分析自动调用)
|
||
|
||
## 文件位置
|
||
|
||
| 项目 | 路径 |
|
||
|------|------|
|
||
| Binary | `~/.local/bin/codebase-memory-mcp`(270MB 静态编译) |
|
||
| Gitea 仓库 | http://192.168.123.11:3000/xiaoxue_admin/codebase-memory-mcp |
|
||
| 配置 | Hermes MCP: `~/.hermes/config.yaml` → codebase-memory-mcp |
|
||
| 缓存 | `~/.cache/codebase-memory-mcp/`(SQLite 图谱) |
|
||
|
||
## 安装步骤(2026-07-30)
|
||
|
||
```bash
|
||
# 1. 下载 release binary(GFW 规避:先代理,直连保底)
|
||
curl -fsSL --max-time 300 \
|
||
"https://gh-proxy.com/https://github.com/DeusData/codebase-memory-mcp/releases/latest/download/codebase-memory-mcp-linux-amd64.tar.gz" \
|
||
-o /tmp/cbm.tar.gz
|
||
# 代理 28MB/37MB 超时后,直连反而成功
|
||
|
||
# 2. 解压
|
||
cd /tmp && tar xzf cbm.tar.gz
|
||
|
||
# 3. 安装 binary
|
||
mkdir -p ~/.local/bin
|
||
cp /tmp/codebase-memory-mcp ~/.local/bin/
|
||
chmod 755 ~/.local/bin/codebase-memory-mcp
|
||
|
||
# 4. 自动配置客户端
|
||
codebase-memory-mcp install -y
|
||
# 配了 OpenCode MCP + AGENTS.md + OpenClaw MCP
|
||
|
||
# 5. 额外配 Hermes MCP(交互式确认用 echo "Y" 管道)
|
||
echo "Y" | hermes mcp add codebase-memory-mcp \
|
||
--command /home/muc/.local/bin/codebase-memory-mcp
|
||
# 8/8 tools enabled
|
||
```
|
||
|
||
## 验证
|
||
|
||
```bash
|
||
codebase-memory-mcp --version # v0.9.0
|
||
hermes mcp list # 应显示 codebase-memory-mcp ✓ enabled
|
||
codebase-memory-mcp cli list_projects # 列出已索引项目
|
||
```
|
||
|
||
## 8 个 MCP 工具
|
||
|
||
| 工具 | 用途 |
|
||
|------|------|
|
||
| `index_repository` | 索引项目到知识图谱 |
|
||
| `search_graph` | 按名称/标签/文件搜索节点 |
|
||
| `query_graph` | Cypher 查询(read-only 子集) |
|
||
| `trace_path` | BFS 调用链追踪(入站/出站) |
|
||
| `get_code_snippet` | 按 qualified name 读源码 |
|
||
| `get_graph_schema` | 图谱结构(节点/边类型) |
|
||
| `get_architecture` | 项目架构概览(包/路由/热点) |
|
||
| `search_code` | 图谱增强的 grep 搜索 |
|
||
|
||
## 自动化体系
|
||
|
||
### 看门狗监控
|
||
- 脚本:`~/.hermes/scripts/health-watchdog.sh`
|
||
- 进程名:`codebase-memory-mcp`(别名 `cbm`)
|
||
- 挂了自动 `systemctl --user start`
|
||
- 每30min检查 → 异常飞书告警 → 恢复通知
|
||
|
||
### 自动索引 cron
|
||
- ID: `fd4fab3ddb5a`
|
||
- 调度:每天 3:00 AM
|
||
- 模式:no-agent watchdog
|
||
- 职能:git pull 织忆项目 → `index_repository` → 刷新 ~/.hermes 索引
|
||
|
||
### 代码分析 skill
|
||
- 名:`cbm-code-analysis`(software-development 分类)
|
||
- 触发词见 SOUL.md "CBM 代码图谱自动调用规则"
|
||
- 优先用图查询替代 grep/文件遍历
|
||
|
||
## 索引统计(2026-07-30)
|
||
|
||
| 项目 | 路径 | 节点 | 边 |
|
||
|------|------|------|----|
|
||
| ~/.hermes(大脑配置) | `~/.hermes/` | 146,012 | 622,921 |
|
||
| 织忆(Go 项目) | `/tmp/memoryweave/` | 5,331 | 20,403 |
|
||
|
||
## 与织忆的关系
|
||
|
||
- CBM = 代码知识图谱(函数/类/调用链)
|
||
- 织忆 = 语义/对话记忆(用户偏好/上下文)
|
||
- 互补关系,不冲突
|
||
|
||
## 已知问题
|
||
|
||
- 二进制 270MB(含 vendored tree-sitter 158 语法 + mimalloc + sqlite3)
|
||
- 有 crash 文件时 worker 会 exit_nonzero,重试即可(不持久损坏)
|
||
- 数据存 `~/.cache/codebase-memory-mcp/`
|