dsh-compound-memory
DeepSeek Harness bundle that launches the compound-memory stdio MCP server, mounts the bundled compound-memory skill, and injects a short once-per-session usage reminder.
這個插件適合誰
- 想讓 AI 記住長期對話的人
安装
dsh plugin --profile web add dsh-compound-memory
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| T0 静态检查 | — |
| T1 安装 | ✓ |
| T2 列装 | ✓ |
| T3 挂载 | ✓ |
| T4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-compound-memory

English | [中文](#中文)
DeepSeek Harness bundle that launches the existing compound-memory MCP server (uvx --from compound-memory compound-memory-server), mounts the bundled skills/compound-memory skill, and injects a short once-per-session usage reminder. It does not reimplement memory, it does not add a sixth MCP tool, and the server still has no LLM (ADR-0001). This wrapper adds none. There are no install, lifecycle, or postinstall scripts.
package.json declares dsh.bundle.patch = ./cordis.patch.yml. That file inserts three rows: the in-box @deepseek-ai/dsh-mcp-client row (mcp-compound-memory), this package's own plugin (compound-memory-rules → dsh-compound-memory → index.js), and an in-box @deepseek-ai/dsh-skill-filesystem row (compound-memory-skill) whose only root is this package's skills/. Do not install that client yourself: DSH 0.2 already ships it, and a separately installed 0.1 client will not match (discussion #8202). This package declares no @deepseek-ai/* dependencies. The rules module does not import @deepseek-ai/cordis or the MCP client: Cordis calls apply(ctx), and the publish guide says to pin a peer only when the plugin must share that package's instance. engines.dsh is >=0.2.0-rc.1 <0.3.0-0 so current 0.2 prereleases match and 0.3 prereleases do not (publish guide, market index).
MCP tool · Name inside 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 returns an object whose hits field is an array.
Install
Requires the dsh CLI and uv / uvx on the PATH of the process that starts dsh. The first uvx run needs network access to fetch compound-memory from PyPI. uv supplies the tool's Python; a system Python is not required.
Package version 0.1.8, published on npm as dsh-compound-memory:
dsh plugin --profile web add dsh-compound-memory
From GitHub:
dsh plugin --profile web add github:chinwe/dsh-compound-memory
From a checkout of this repository (the plugin root, not a subdirectory):
dsh plugin --profile web add /absolute/path/to/dsh-compound-memory
Git install does not need allowBuilds: the package has no prepare script. Restart dsh. dsh --profile web --dump-config should show a # == dsh-compound-memory layer and the mcp-compound-memory, compound-memory-rules, and compound-memory-skill rows.
If the store does not exist yet:
uvx --from compound-memory compound-memory init
Environment
Set these on the process that launches dsh. The patch reads them with !!js when config loads. Unset or blank uses the default. Nothing here is a secret. The stdio child starts from a scrubbed parent environment; configured env is merged on top.
Variable · Default when unset or blank
COMPOUND_MEMORY_AGENT_ID · agent-dsh
COMPOUND_MEMORY_ROOT · $HOME/.agents/memory (optional; the Python server expands a leading $HOME or ~)
agent-dsh is this host's stable id. Set COMPOUND_MEMORY_AGENT_ID before starting dsh when this process should be a different host. A later patch layer replaces the whole config. To point command at an absolute uvx, restate the row in ~/.dsh/profiles/web/cordis.patch.yml (same fields: serverName, transport, command, args, env, failOnStartupError).
Usage reminder
compound-memory-rules listens on agent/pre-step with { prepend: true }. On the first eligible enter of a live agent (the decision is enter and the step signal is not aborted) it appends one user-role message. Later steps of that agent do not append it again. A new agent object whose session log already contains the reminder (resume, or this process restarted) does not get a second copy. The listener does not read the memory store and does not call a model (ADR-0001).
The message text is RULES in [index.js](index.js) (356 characters, under the 400-character Claude SessionStart budget). It states:
COMPOUND_MEMORY_AGENT_IDdefaults toagent-dsh(overridable); pass that same id assourceandagentmemory_searchbefore non-trivial work;memory_feedbackafter an adopted hit compounds the store- in a repo, prefer project-scoped memories
- five MCP tools only, named
mcp__compound-memory__memory_*; this package does not reimplement them
The source is { kind: 'plugin:dsh-compound-memory', form: 'instructions' }, and the message has a fresh id. Session format v4 rejects the retired { kind: 'plugin', plugin } wrapper and fails the whole turn (discussion #8432). plugin:dsh-compound-memory is the producer-owned kind the v3→v4 rewriter would derive for this package. A static systemPrompt.section was not required: pre-step accepts the message, and injecting once keeps it out of every l
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
嵌入徽章
两个徽章各用自己站的标识:左边是**标准**(DSHIO 发布),右边是**检测机构**(deepseekbase 检测)。每次展示都指向标准原文和检验报告。
Markdown(推荐,两个一起)
[](https://dshio.org/10/) [](https://deepseekbase.com/zh/plugins/dsh-compound-memory/)
注意:这不是认证。DSHIO/T 32 认证规则尚未启用。
版本
npm 上共发布:10,最后更新 2026-10-30
链接
常見問題
dsh plugin --profile web add dsh-compound-memory。如果你用的是 DSH Desktop,也可以在插件頁面直接貼套件名。dsh --version),再看上面測試結果區的第一條錯誤。還不行就到 GitHub 倉庫提 issue。dsh plugin --profile web remove dsh-compound-memory。