前言¶
在 DeepSeek Harness(DSH)里跑智能体时,跨会话记住稳定事实、在任务开始前检索历史记忆,往往需要自己拼 MCP 客户端、技能目录和提示规则。社区里的 compound-memory 已经提供无 LLM 的记忆 MCP 服务,但把它和 DSH 的 Cordis 配置、技能挂载对齐,仍要手写 patch 行和环境变量。
dsh-compound-memory 是维护者 chinwe 发布的 DSH bundle 插件:启动既有 compound-memory MCP 进程、挂载包内 skills/compound-memory 技能,并在每个 live agent 会话首次进入时注入一段简短用法提醒。它不重新实现记忆逻辑,也不增加第六个 MCP 工具。
这是什么¶
dsh-compound-memory(npm 包名与插件名一致,当前版本 0.1.5,MIT 许可证)面向已使用 DSH 0.2 预发布线的开发者。插件通过 package.json 中的 dsh.bundle.patch 指向 ./cordis.patch.yml,向配置插入三行:
mcp-compound-memory:内置@deepseek-ai/dsh-mcp-client,以 stdio 方式执行uvx --from compound-memory compound-memory-servercompound-memory-rules:本包index.js,负责会话级用法提醒compound-memory-skill:内置@deepseek-ai/dsh-skill-filesystem,仅挂载本包skills/目录
engines.dsh 要求 >=0.2.0-rc.1 <0.3.0-0。包内不声明 @deepseek-ai/* 依赖;请勿自行再装旧版 MCP 客户端,DSH 0.2 已自带匹配客户端。
目录页:skillhub.cn/plugins/chinwe/dsh-compound-memory。源码与说明:github.com/chinwe/dsh-compound-memory。
核心功能¶
MCP 工具与 DSH 命名¶
底层仍是 compound-memory 的五个工具;在 DSH 中调用名如下:
| MCP tool | DSH 内名称 |
|---|---|
memory_search |
mcp__compound-memory__memory_search |
memory_get |
mcp__compound-memory__memory_get |
memory_write |
mcp__compound-memory__memory_write |
memory_link |
mcp__compound-memory__memory_link |
memory_feedback |
mcp__compound-memory__memory_feedback |
文档注明:memory_search 返回对象的 hits 字段为数组。
会话级用法提醒¶
compound-memory-rules 监听 agent/pre-step,在 live agent 第一次符合条件的 enter 时追加一条 user 角色消息(同一会话后续步骤不再重复)。提醒文本定义在 index.js 的 RULES 中(约 356 字符),要点包括:用 COMPOUND_MEMORY_AGENT_ID(默认 agent-dsh)作为 source 与 agent;非琐碎任务前先 memory_search,采纳命中后调用 memory_feedback;在仓库内优先项目范围记忆;仅使用上述五个 mcp__compound-memory__memory_* 工具。
捆绑技能¶
skills/compound-memory/SKILL.md 是五个工具的详细用法;注入提醒是短规则,技能文档是长说明。非琐碎任务应先 memory_search,实际使用命中后调用 memory_feedback,且 agent 与 COMPOUND_MEMORY_AGENT_ID 一致;只写入稳定事实。
安装与启用¶
前提:已安装 dsh CLI;启动 dsh 的进程 PATH 上要有 uv / uvx。首次 uvx 拉取 PyPI 上的 compound-memory 需要网络;Python 由 uv 提供,不依赖系统 Python。本包无 install、lifecycle 或 postinstall 脚本。
从 npm 安装(资料中的官方命令):
dsh plugin --profile web add dsh-compound-memory
从 GitHub 安装:
dsh plugin --profile web add github:chinwe/dsh-compound-memory
从本地插件根目录安装(非子目录):
dsh plugin --profile web add /absolute/path/to/dsh-compound-memory
安装后重启 dsh。用下面命令确认出现 # == dsh-compound-memory 层及上述三行配置:
dsh --profile web --dump-config
若记忆库尚未初始化,可先执行:
uvx --from compound-memory compound-memory init
环境变量¶
在启动 dsh 的进程上设置;patch 加载配置时通过 !!js 读取。未设置或为空则使用默认值(均非密钥)。stdio 子进程从精简后的父环境启动,配置的 env 会合并覆盖。
| 变量 | 未设置或为空时的默认 |
|---|---|
COMPOUND_MEMORY_AGENT_ID |
agent-dsh |
COMPOUND_MEMORY_ROOT |
$HOME/.agents/memory(可选;服务端会展开 $HOME 或 ~) |
若本机应以别的宿主 id 区分记忆,在启动 dsh 前设置 COMPOUND_MEMORY_AGENT_ID。若要把 command 指向绝对路径的 uvx,需在 ~/.dsh/profiles/web/cordis.patch.yml 中重写对应 MCP 行(字段与 patch 中一致)。
典型用法¶
1、完成安装并重启后,新开一轮会话,发送一条消息。转录中应出现一条 source.kind 为 plugin:dsh-compound-memory、正文以 compound-memory: 开头的 user 提醒;同一会话后续步骤不应再追加。
2、处理非琐碎任务时,先调用 mcp__compound-memory__memory_search;在仓库场景下优先项目范围记忆。
3、采纳检索结果后,调用 mcp__compound-memory__memory_feedback,agent 设为 agent-dsh(或你配置的 COMPOUND_MEMORY_AGENT_ID)。
4、需要写入时,通过 memory_write 等工具只记录稳定事实;详细参数与流程见包内 SKILL.md。
仅关闭提醒、保留 MCP 与技能时,在 profile 或 home 的 cordis.patch.yml 增加:
- id: compound-memory-rules
disabled: true
mcp-compound-memory 与 compound-memory-skill 仍为独立 id,不受影响。卸载插件:
dsh plugin --profile web remove dsh-compound-memory
会移除上述三行。
适用场景与注意¶
适合希望在 DSH web profile 下快速接入 compound-memory、又不想手写 Cordis patch 的开发者。插件以当前 dsh 进程权限运行 MCP 子进程并读写记忆目录;安装前请自行查看 源码 与 MIT 许可证,确认符合你的安全与合规要求。
注意:DSH 生态强调「一切皆插件」;skillhub.cn 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本插件不实现记忆服务器本身,行为与 compound-memory ADR-0001 一致——服务端无 LLM,本 wrapper 也不增加模型调用。
结尾¶
dsh-compound-memory 把 compound-memory MCP、捆绑技能与会话级规则提醒打成一条安装路径,让 DSH 0.2 用户用官方命令即可挂上五条 memory_* 工具。进一步说明见 GitHub README,插件目录页见 skillhub.cn/plugins/chinwe/dsh-compound-memory。