dsh-plugin
Đã xác minh@xxinchen/dsh-plugin · v0.2.2 · Apache-2.0
Minta for DeepSeek Harness — bundles the MCP wiring, a real Cordis plugin (runtime skill + session-start prewarm), and the minta agent preset (per-turn preflight/postflight protocol) over the Minta memory engine.
Cài đặt
dsh plugin add @xxinchen/dsh-plugin Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Tác giả
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 Communityminta_*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 aagent/session-starthook 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), ordocker 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
- Keep the engine running —
python minta_cli.py start(or Docker). - After
dsh plugin add+ one restart ofdsh web, start a new session and ask: "list all tools whose name contains minta" — expect the 13mcp__minta__*tools. If they are absent, restartdsh webonce more. - First session: call
minta_login(your Minta credentials) so the tools operate with your identity. - Automatically at session start: the plugin checks engine health and
recent memory (logged; never blocks the session). The skill
minta-memory-governanceis registered and available to the model. - Manual first answer: say "用 Minta 先把记忆找出来再回答" — or just ask
about prior work; the skilled model will
minta_search_contextfirst. - 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. - 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.