dsh-auto-memory
Manifest valid★ 19Claude 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.
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.
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.
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.
What the model actually sees
Every request, one system-prompt section (order 4000) carries the index — re-evaluated per step, byte-budgeted, and gone entirely when the store is empty:
# Persistent memory index
## Project memories
- [压测过 PostgreSQL](https://github.com/AskTheWay/dsh-auto-memory/blob/HEAD/id-generator-benchmark.md) — psycopg2 连接池有踩坑经验 (2026-09)
- [用户是 Python 后端工程师](https://github.com/AskTheWay/dsh-auto-memory/blob/HEAD/user-prefers-python.md) — 正在准备面试; 偏好中文交流
Chinese titles, YAML frontmatter, one file per memory — exactly the Claude
Code MEMORY.md model, rebuilt natively on dsh's prompt-assembly pipeline.
Hardened before first release
This plugin survived a 12-agent adversarial code review (680k tokens of source-level scrutiny) before v0.1.0. Five production-grade traps were caught and fixed — with regression tests — including two that would have been field incidents:
- The NTFS silent destroyer: a memory named
memorycollides withMEMORY.mdon case-insensitive filesystems — the write succeeds while destroying the record. Blocked by a reserved-name guard. - The poisoned-prompt bomb: three literal
{{{ }}}braces in any memory could crash every model request in the workspace — with no way for the model to self-recover. Neutralized by a converging sanitizer.
Plus: orphaned-lock self-healing (Ctrl+C can't brick your memory store), symlink-read protection, malformed-file tolerance, stable index ordering to protect KV-prefix caches, and a strict no-custom-session-events policy (they make dsh sessions refuse to resume).
40 tests. 0 runtime deps beyond yaml. 15 kB installed.
Install
dsh plugin --profile demo add dsh-auto-memory # from npm (prebuilt)
dsh --profile demo # restart the profile
From source: npm install && npm run build && dsh plugin --profile demo add /abs/path.
Requires @deepseek-ai/dsh >= 0.1.5-rc.2 (Node ^22.19 || >=24).
Configuration
Override in your profile's cordis.patch.yml (config replaces wholesale):
- id: auto-memory
config:
maxBytes: 4096 # injection budget
memoryDir: D:/memories # default: $DSH_HOME/memory
enableUserScope: true # false: user layer off on every path
How it works (60 seconds)
- Write: tool
execute→ name normalized to[a-z0-9-](reserved names rejected) → cross-process file lock (officialdsh-atomic-write) → atomic write → full index rebuild inside the lock. - Inject: one dynamic section re-evaluated on every step assembly; reads
the index synchronously, enforces the byte budget, neutralizes
{{. Tool writes take effect on the very next request — no restart, ever. - Audit: no custom session events (third-party types make dsh refuse to
resume); everything flows through standard
tool/call/tool/result.
Deep dives: design decisions · dsh source-level research · postmortem: shipping a PR to awesome-dsh-plugin
Roadmap
- P0 — typed store, four tools, prompt injection, scoped layers, crash safety
- P1 — auto-consolidation on session end, forgetting & eviction, recall expansion
- P2 — Web UI memory cards, token-cost / recall-quality benchmarks
License
MIT
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.1.0 | — | — |
| 0.2.0 | — | — |
| 0.3.0 | — | — |
Comments
Loading…
Similar plugins
by hr98w
融合 Claude Code 的 Auto Memory 与 Codex 的 Session 记忆整理,为 DeepSeek Harness 提供简单、透明、上下文友好的长期记忆。Claude Code-inspired Auto Memory meets Codex-inspired Session consolidation, bringing simple, transparent, and
★ 26
↓ 250/wk
MIT
TypeScript
Sep 10, 2026
dsh plugin --profile web add @hr98w/dsh-memoryby justhalfbit
DeepSeek Harness (DSH) 跨会话记忆插件:对话模型边干边记的 Markdown 项目记忆,支持专题文件渐进式披露、可选后台静默蒸馏、按项目隔离与热更新设置面板。机制对齐 Claude Code auto memory。 | Agent-maintained cross-session Markdown memory: progressive-disclosure topic f
★ 13
↓ 472/wk
MIT
JavaScript
Sep 13, 2026
dsh plugin --profile web add dsh-plugin-memoryby yihefeikong-rgb
Persistent memory for DeepSeek Harness: memory read/write/retrieve tools, per-turn auto-recording, project-scoped recall injection and a management UI, with non-destructive Claude Code memory import.
★ 1
↓ 462/wk
MIT
TypeScript
Sep 13, 2026
dsh plugin --profile web add dsh-memoryby zhang-guo-wen
Claude-compatible memory for DeepSeek Harness: a user-chosen memory directory with MEMORY.md index and topic files, the memory tool, and a settings page
★ 0
Apache-2.0
TypeScript
Sep 27, 2026
dsh plugin --profile web add @guowenzhang/dsh-memoryby Ryu6Zero
🧠 Cross-session memory for DeepSeek Harness backed by Hindsight. Self-contained dsh-plugin: /hindsight commands + hindsight_recall/remember/status/list/forget agent tools. Lightweight, no dsh-mnemon,
★ 0
↓ 196/wk
MIT
TypeScript
Aug 28, 2026
dsh plugin --profile web add dsh-hindsightby EternalNight996
Self-built DSH memory plugin: SQLite persistent storage + database-level audit guard (enforceAudit) + audit log. Auto-captures knowledge after conversations, agents recall via memory_recall, supports
★ 10
↓ 358/wk
MIT
JavaScript
Sep 22, 2026
dsh plugin --profile web add memory-eternal