πŸ“ˆ GH Trending Explorer 🎲 Surprise me

← all repos

AskTheWay / dsh-auto-memory

git clone https://github.com/AskTheWay/dsh-auto-memory.git v0.9.0 Β· 4d ago

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.

+0
stars, 24h Β· #30,309
+~0
stars, 7 days Β· #30,784
+111
stars, 30 days Β· #4,645
101
β˜… total
7
forks Β· 3 open issues

Star history (as recorded here)

2026-10-20 Β· 111 β˜… 2026-10-22 Β· 101 β˜…
LanguageTypeScript
LicenseMIT
Created2026-09-22 (1mo ago)
Last push2d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
# dsh-auto-memory
English | δΈ­ζ–‡
> ### 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.
 [code] 
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.
## One minute to feel it
 [code] 
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**:
 [code] 
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 `memory` collides with
 `MEMORY.md` on case-insensitive filesystems β€” the write *succeeds* while
 destroying the record. Blocked by a reserved-name guard.
- **The pois