Project-scoped persistent key-value memories with set/get/list/delete/search model tools and JSON-file storage.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:DamonKoy/dsh-plugins#path:/packages/dsh-memories
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. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Project-scoped memory system for DeepSeek Harness. Inspired by Codex 0.145/0.146 memories (persisted names, project-scoped memories, efficient resume).
English | 中文
What it does
- Persistent key-value memories stored per scope in
~/.dsh/dsh-memories/<scope>.json— survive across sessions and restarts. - Model tools:
memory_set(scope, key, value)— upsert one memorymemory_get(scope, key)— read one memorymemory_list(scope)— list memories (newest first)memory_delete(scope, key)— remove one memorymemory_search(scope, query)— substring search over keys and values
- Client RPC:
memories/scopes,memories/list,memories/get,memories/upsert,memories/remove— ready for a settings/memory panel UI.
Use scopes = project names (e.g. my-project) to keep per-project context
separate; omit scope for global memories.
Install
dsh plugin --profile web add github:DamonKoy/dsh-plugins#path:/packages/dsh-memories
Restart dsh web.
Storage
Plain JSON files, one per scope:
{
"entries": {
"deploy-command": {
"value": "pnpm run deploy:prod",
"createdAt": 1786000000000,
"updatedAt": 1786000000000
}
}
}
Scopes are sanitized to [A-Za-z0-9._-] and capped at 80 chars; global is
the fallback scope. Corrupted files fall back to an empty store instead of
crashing the plugin.
Security notes
- Memories are plaintext local files in your home directory (mode honors
your umask). Do not store credentials — use the credential service or
dsh-secret-redactorfor sensitive material. - No data ever leaves the machine.
Roadmap
- Prompt-section injection of the current scope's summary at session start.
- Memory panel UI (list / edit / delete) via the client RPC.
- Automatic scope from the session workspace instead of explicit arguments.
License
MIT
Links
More in this category
volcengine/OpenViking#examples/dsh-memory-plugin★ 28734
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★ 20059
Hindsight, agent memory that learns: long-term project memory with auto recall and retain, knowledge pages, deep reflection, and per-repo memory banks.
dsh-engramory★ 155
The Engramory curated-memory discipline as an installable plugin ([npm: dsh-engramory](https://www.npmjs.com/package/dsh-engramory)): a deterministic 200-line / 25 KB cap on the `MEMORY.md` index via `ctx.tools.guard()` — growth denied, a shrinking rewrite always passes — plus the protocol registered as a runtime skill. The store is plain markdown, one file per fact, shared with Claude Code, Codex, Kiro, and OpenClaw.
bowenliang123/dsh-context★ 116
Context insight panel: see what the model's context window is made of and how it evolves — composition vs. window size, per-request history, compression/injection events, and per-message token stats.
omdsh-dev/dsh-mnemon★ 62
Cross-agent, local-first persistent memory plugin for DeepSeek Harness (DSH), powered by Mnemon. It shares long-term memory across Mnemon-enabled agents and adds runtime memory, searchable project documents, semantic recall, knowledge graph, and a Sidebar UI.
LoserFox/distill★ 19
Automatic conversation distillation: background subagent reflection + skill create/update.