
AskTheWay/dsh-auto-memory
dsh-auto-memory
Claude Code-style auto-memory plugin for DeepSeek Harness (dsh): typed memory files + MEMORY.md index auto-injected into the system prompt. File-only, no external services.
Install
npx @deepseek-ai/dsh plugin --profile demo add dsh-auto-memoryRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/asktheway-dsh-auto-memory)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from AskTheWay/dsh-auto-memory, cleaned of badges and images.
dsh-auto-memory
Your dsh agent forgets everything you tell it. Every. Single. Session.
Fix it with one command. Claude Code-style persistent memory for DeepSeek Harness — native, zero servers, zero embeddings, zero setup.
dsh plugin --profile demo add dsh-auto-memory
Say "Remember: I'm a Python backend engineer preparing for interviews" today — open a brand-new session tomorrow, ask "what do you know about me?", and it remembers.
Highlights
0.7 — update-replace semantics: consolidation updates facts in place instead of piling up near-duplicates, with a matching core shared between product and eval harness. Verified against the official desktop client (0.2.0-rc.2). Full history: CHANGELOG.md · Releases
Claude Code has this. dsh didn't. Now it does.
DeepSeek Harness is the hottest open agent harness on GitHub right now — models, tools, sandboxes, everything is a plugin. But it ships with no memory subsystem at all. The official answer is three default-off MCP configs to third-party servers, which the official docs themselves qualify: not auto-injected, no forgetting policy, substring-only search. Your agent has amnesia by design.
dsh-auto-memory closes that gap natively:
| MCP bridge approach | dsh-auto-memory | |
|---|---|---|
| Memories injected into every system prompt, automatically | ✗ | ✓ (zero tokens when empty) |
| Typed memories: user / feedback / project / reference | ✗ | ✓ |
| Workspace + user scope layers — no cross-project leakage | ✗ | ✓ |
| Crash & concurrency safety (cross-process locks, orphan recovery) | — | ✓ |
| External services / databases / embeddings required | ✓✓✓ | none — just plain Markdown files |
Memories are ordinary files under $DSH_HOME/memory/ — hand-editable,
grep-able, git-friendly, yours.
Trustworthy, not just persistent (1.0.0)
Model-consolidated memories can be confidently wrong — and a wrong memory
gets re-injected every session. So memories carry a trust status:
consolidation products are born candidate (with a verbatim evidence quote
from the transcript — fabricated citations are dropped by checking against
it), verified can only be granted by you in the panel, disputed /
superseded are never injected. Every write path passes an injection-pattern
guard at the store choke point; content changes downgrade trust and expire
old evidence. A 🩺 health board surfaces unverified / zombie / conflicting
memories for review. Same flat files, same zero services — now with an audit
trail for whether to believe them.
One minute to feel it
node scripts/demo.mjs # no API key, no browser: watch write → index → inject → recall → forget
Or for real, in a chat: tell your agent things worth remembering. The model
calls memory_write / memory_read / memory_list / memory_delete,
following Claude Code's write discipline: dedupe-and-update over piling up,
absolute dates only, [[name]] cross-links, feedback memories carry
Why: / How to apply: lines.
Import from Claude Code — and take it back
…

