DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在构建需要深入理解代码库的智能体时,如何高效地检索符号、追溯调用链或获取架构概览是常见痛点。@lovedolove/dsh-codebase-memory-mcp 是一个独立的 Codebase Memory MCP 桥接插件,它将 Codebase Memory MCP 的能力注入到 DSH 的工具链中。
该插件由维护者 LoveDoLove 维护,注册了六种基于知识图谱的代码工具,并随插件自动启动后端服务与可视化界面,同时附带了一套代理技能和状态检查命令。
核心功能¶
插件主要完成以下工作:
- 注册工具:在 DSH 工具面注册了六个知识图谱工具,用于代码搜索、片段读取、架构概览和调用链追踪。
- 自动启动:加载插件时自动启动
codebase-memory-mcp守护进程及其图形化 Web UI。 - 系统提示注入:向模型注入“Codebase Memory — Knowledge Graph Policy”策略,指导模型在何时优先使用图谱工具而非传统的
grep或read。 - 代理技能:捆绑了一个名为
codebase-memory的代理技能,可通过skill工具加载。 - 斜杠命令:注册了
/cbm命令,用于查询可执行文件路径、Web UI 链接及已索引项目。 - 跨平台检测:支持跨平台可执行文件检测,包括
CBM_EXE环境变量覆盖、系统目录、PATH以及 WSL 互操作性。
前置要求¶
在安装插件前,必须确保以下环境已就绪:
- DeepSeek Harness:版本需满足
>=0.1.2-rc.1 <0.3.0-0。 - Node.js:版本需满足
>=18 <25。 - 可执行文件:
codebase-memory-mcp可执行文件必须预先安装。插件仅在加载时检测该二进制文件,若未找到,守护进程将不会启动,工具也不会注册。
安装¶
使用官方命令将插件安装到指定的 DSH Profile(例如 web)中:
dsh plugin --profile web add @lovedolove/dsh-codebase-memory-mcp
安装后,DSH 会自动激活该 Bundle。如果遇到依赖缺失(如 @deepseek-ai/dsh-commands),插件会通过优雅降级处理,仅保留核心的 tools 注入功能。
典型用法¶
插件安装并启动后,智能体或用户可以直接调用相应的工具或命令。
工具调用示例¶
-
确认索引状态
首先调用cbm_projects()确认当前项目已被正确索引。 -
符号搜索
使用cbm_search根据名称或路径查找符号:
cbm_search(name_pattern=".*auth.*")
- 调用链追踪
查找某个函数的调用者与被调用者,设置最大深度:
cbm_trace(symbol="login", direction="both", max_depth=3)
- 读取片段
获取精确的代码定义,无需加载完整文件:
cbm_snippet(qualified_name="app.auth.login")
- 架构概览
获取特定目录下的组件结构:
cbm_arch(directory="src")
状态检查¶
通过 /cbm 命令查看服务状态:
- 显示可执行文件路径。
- 显示 Web UI 访问链接(默认端口 9749)。
- 列出当前已索引的项目列表。
若未找到可执行文件,该命令会提示安装或设置环境变量 CBM_EXE。
注意事项¶
该插件作为 Bridge 插件运行,其核心逻辑依赖于 codebase-memory-mcp 的上游项目。建议在安装前检查源码与许可证(MIT)。插件支持跨平台,但在 Windows 上需注意二进制文件路径的解析与 WSL 环境的兼容性。