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 tools - not usable without it.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:xinchen03/minta#path:/dsh-plugin
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
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 19minta_*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 19 mcp__minta__* 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 19mcp__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.
Links
More in this category
volcengine/OpenViking#examples/dsh-memory-plugin★ 34580
OpenViking memory and context bundle for DeepSeek Harness: pre-step auto-recall and profile injection, session capture, `viking://` URI guarding, and recall/write memory tools backed by an OpenViking server.
vectorize-io/hindsight#coding-agents★ 21937
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
agentscope-ai/ReMe#typescript★ 3374
Connects DeepSeek Harness to ReMe's local-first, self-evolving personal knowledge base: automatically captures completed main-agent conversations as user-owned Markdown memory, searches conversations and source material through reme_search with BM25, optional embeddings, and wikilink expansion, and schedules daily memory consolidation.
zilliztech/memsearch#MemSearch★ 2533
Shared Markdown memory for DSH and other coding agents, with automatic capture, pre-step context injection, searchable recall, and memory-to-skill self-evolution through a review panel.
vshulcz/deja-vu#extensions/dsh★ 742
Reads the session files nineteen other coding agents on this machine already wrote — Claude Code, Codex, Cursor, opencode, Antigravity, Kimi, Cline, Zed and more — including sessions from before it was installed: six tools (deja_recall, deja_session, deja_blame, deja_fix, deja_how, deja_remember), a /deja command, and optional automatic recall added to the runtime context. Local BM25 index, no LLM, no embeddings, no network (dsh plugin --profile web add dsh-deja).
adoresever/graph-memory★ 586
Traceable, searchable cross-session memory for DeepSeek Harness — conversation knowledge as typed graph nodes (TASK/SKILL/EVENT) and typed edges.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.