@xxinchen/dsh-plugin
DSH-native integration layer for the Minta memory engine: composes the official dsh-mcp-client row, registers the minta-memory-governance skill plus a session-start memory prewarm, and ships a Minta agent preset; requires the separately deployed Minta engine (Python/Docker) to provide the 19 MCP too
Install
dsh plugin --profile web add @xxinchen/dsh-plugin
Sandbox test
This plugin has not been tested yet. Submit a test →
README
@xxinchen/dsh-plugin
One command → 13 working memory tools → your agent stops re-explaining the project.
Memories are governed, not hoarded: stale/conflict/redundancy checks, and
nothing becomes permanent until you confirm it in the inbox.
Minta — context quality layer for DeepSeek Harness.
Installing this package composes two Cordis rows into a DSH profile:
mcp-client-minta— official@deepseek-ai/dsh-mcp-clientwired to the local
Minta engine's streamable-HTTP endpoint (its 13 Community minta_* tools reach the agent).
minta-plugin— this package as a real Cordis plugin. At mount it registers a
runtime skill (minta-memory-governance, content derived from the Minta
interaction guide) and a agent/session-start hook that prewarms engine
health + recent memory over the Minta REST API (fail-open: an unreachable
engine never breaks a session).
The memory engine itself is a separately deployed service (see Prerequisites);
the plugin is a thin DSH-native surface over it. See docs/dsh-integration.md
for the verified end-to-end flow.
Prerequisites
- DeepSeek Harness (
npx @deepseek-ai/dsh web) - Minta engine running locally:
python minta_cli.py start(serves MCP at
127.0.0.1:18721 and API at 8772), or docker compose up -d
Install (verified 2026-08-23)
dsh plugin --profile web add @xxinchen/dsh-plugin
Restart dsh web. The MCP client row is composed automatically — no manual
config editing. Verify in a new session: "list all tools whose name contains
minta" → the 13 mcp__minta__* Community tools.
Note: the engine must be running before the tools respond; `failOnStartupError:
false` means a stopped engine does not break DSH sessions.
Using Minta in a session
1. Keep the engine running — python minta_cli.py start (or Docker).
2. After dsh plugin add + one restart of dsh web, start a new session and
ask: "list all tools whose name contains minta" — expect the 13
mcp__minta__* tools. If they are absent, restart dsh web once more.
3. First session: call minta_login (your Minta credentials) so the tools
operate with your identity.
4. Automatically at session start: the plugin checks engine health and
recent memory (logged; never blocks the session). The skill
minta-memory-governance is registered and available to the model.
5. Manual first answer: say "用 Minta 先把记忆找出来再回答" — or just ask
about prior work; the skilled model will minta_search_context first.
6. To save something durable: tell the model to remember it — it will
minta_append_inbox, and you confirm or discard in the Minta UI
(http://127.0.0.1:8772, inbox review). Your memory is never edited
silently.
7. Engine stopped / unreachable: sessions keep working; tools and prewarm
just report unavailable (fail-open).
Minta agent preset (per-turn protocol)
For turn-level automation (DSH rc.2 has no per-step/turn-end events, so the
protocol is carried by the preset persona, which the model follows every
turn), install the preset shipped in this package:
mkdir -p ~/.dsh/.agent-presets cp -r <node_modules>/@xxinchen/dsh-plugin/presets/minta ~/.dsh/.agent-presets/ # or cp -r the repo's dsh-plugin/presets/minta
Then, in DSH, pick Minta in the session preset picker — or set it as the
default by overriding the agent-presets row (in ~/.dsh/profiles/web/cordis.patch.yml):
- id: agent-presets
config:
default: minta
The preset persona adds the per-turn protocol: minta_autopilot_preflight
before answering about prior work, minta_autopilot_postflight after each
reply, inbox-only writes, and graceful degradation when the engine is offline.
Migrating from the manual cordis.patch.yml block
If you previously set Minta up by appending the mcp-client-minta block to
~/.dsh/profiles/web/cordis.patch.yml, **remove that block before installing
this plugin**. The bundle patch and the manual block insert the same loader
entry id mcp-client-minta; with both present the profile fails to boot with
duplicate loader entry id: mcp-client-minta. Check you are clean with:
grep -A6 mcp-client-minta ~/.dsh/profiles/web/cordis.patch.yml # expect no output
(A patch file containing only [] is valid and means "no overrides".)
Manual alternative (no npm install)
Append to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: mcp-client-minta
name: '@deepseek-ai/dsh-mcp-client'
config:
transport: streamable-http
serverName: minta
url: http://127.0.0.1:18721/mcp
failOnStartupError: false
Roadmap and known boundaries
Shipped: MCP wiring, runtime skill registration, session-start prewarm.
Not here yet (and why):
- Automatic pre/post-flight per turn — DeepSeek Harness 0.1.1-rc.2 exposes
no per-step or turn-end agent events, so per-message autopilot stays a
model-facing tool call (minta_autopilot_preflight / minta_autopilot_postflight,
instructed by the registered skill) rather than a hidden automatic hook.
- Prompt injection of the prewarm result — the profile-level plugin cannot
safely shadow the deployment persona (the prompt registry owns that slot);
prewarm currently logs engine state, and the agent reads memory on demand
through the MCP tools.
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::8,最后更新 2026-09-08