by AskTheWay
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.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
# Add to your Claude Code skills
git clone https://github.com/AskTheWay/dsh-auto-memoryGuides for using ai agents skills like dsh-auto-memory.
See how dsh-auto-memory compares with popular alternatives.
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.

pinned: true on memory_write): pinned entries lead
the index, survive budget truncation, and are exempt from staleness
eviction — a trust anchor the user controls.autoSummarize: true): when a root session ends, a
background LLM pass extracts durable new facts from the session and files
them as memories — deduplicated, capped, fully silent on failure. Claude
Code doesn't do this automatically.memory_read counts references; staleAfterDays
soft-hides zero-reference stale memories from the injected index (files
kept); memory_prune lists (dry-run) or deletes aged memories.memory_read resolves [[name]] cross-links one
level and attaches linked summaries.memory_delete_all — guarded by tools/pre-execute human approval:
the model cannot self-confirm irreversible bulk deletes.clear
(no concurrent-write escape), conditional index rebuild on touch
(no O(N) amplification), session-start stale refresh, subagent capture
cleanup, abortable consolidation.Tools: memory_write / memory_read / memory_list / memory_delete /
memory_prune / memory_delete_all.
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.
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.
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](id-generator-benchmark.md) — psycopg2 连接池有踩坑经验 (2026-09)
- [用户是 Python 后端工程师](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.
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:
memory collides with
MEMORY.md on case-insensitive filesystems — the write succeeds while
destroying the record. Blocked by a reserved-name guard.{{{ }}} 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).
A deterministic evaluation layer (evals/) runs in CI — no LLM, fully reproducible:
This evaluation layer already caught a real bug: the byte budget used to exclude the policy text, overshooting by ~800 bytes (fixed, regression-tested).
78 tests (incl. a deterministic eval layer). 0 runtime deps beyond yaml. 15 kB installed.
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).
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
execute → name normalized to [a-z0-9-] (reserved names
rejected) → cross-process file lock (official dsh-atomic-write) → atomic
write → full index rebuild inside the lock.{{.
Tool writes take effect on the very next request — no restart, ever.tool/call / tool/result.Deep dives: design decisions · dsh source-level research · postmortem: shipping a PR to awesome-dsh-plugin
MIT
dsh-auto-memory is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by AskTheWay. 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. It has 50 GitHub stars.
dsh-auto-memory's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/AskTheWay/dsh-auto-memory" and add it to your Claude Code skills directory (see the Installation section above).
dsh-auto-memory is primarily written in TypeScript. It is open-source under AskTheWay on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dsh-auto-memory against similar tools.
No comments yet. Be the first to share your thoughts!