Preface¶
In DeepSeek Harness (DSH), agents re-enter the context for every session. If project preferences, deployment constraints, test commands, decisions, and project notes are left in a single conversation, subsequent sessions cannot use this information.
dsh-memory-vault is a cross-session memory plugin for DSH. It provides three model tools: memory_remember / memory_recall / memory_forget, injects newer memories into every round of system prompt assembly, and provides a browser management entry in the settings page.
What is this¶
dsh-memory-vault is a DSH plugin maintained by flymysql, under the MIT license. It turns “remember, recall, forget” into callable model tools and stores persistent records in DSH’s storage domain.
It mainly solves one problem: allowing facts, preferences, decisions, and project notes to be retained across sessions, rather than existing only in a single conversation context.
Core Features¶
Verified capabilities include:
- 3 model tools:
memory_remember/memory_recall/memory_forget - Per-turn prompt injection: newer memory entries are injected into every system-prompt assembly
- Durable storage: records are saved in the DSH storage domain (
dsh_memoryunit, defaults to json backend) - Browser management page: browse, add, and delete entries in the “Memory Vault / Memory” page of Settings
memory_recallsorting rules: scored by tag matches (×2) and content matches, newest first
Installation and Enablement¶
Use the official installation command:
dsh plugin --profile web add dsh-memory-vault
The package name here is dsh-memory-vault. It is recommended to check the source code and MIT license before installing, and to confirm that you trust the plugin to run with the current dsh process permissions.
Typical Usage¶
First, let the agent remember information:
Remember: the deployment target for this project is Windows, and the test command is `pnpm test`.
The agent can call memory_remember, optionally passing in tags:
memory_remember(content="User prefers Windows deployment; test command is `pnpm test`", tags=["project:demo", "user"])
When you need to retrieve context from a previous session, call:
memory_recall(query="Windows deploy")
If a memory entry is outdated or incorrect, you can delete it by id:
memory_forget(id="m-...")
You can also delete by tag:
memory_forget(tag="project:demo")
Configuration¶
The plugin provides two configuration items:
| Config Item | Type | Default | Meaning |
|---|---|---|---|
injectLimit |
int | 8 | Max number of entries injected per system-prompt assembly |
recallLimit |
int | 10 | Max number of entries returned by memory_recall |
Browser Management Page¶
In Settings, you can see the “Memory Vault / Memory” page, used to browse, add, and delete memory entries.
Verified materials also mention the interface shape: published packages use public same-origin JSON endpoints GET/POST /dsh-memory/entries; dynamic plugin prototypes use sandbox-only harness.handle / host.call package RPC.
Applicable Scenarios and Notes¶
Suitable for projects that need to retain cross-session context in DSH, especially scenarios involving stable preferences, deployment targets, test commands, project decisions, and recurring project notes.
Usage notes:
- The plugin runs with the current
dshprocess permissions; you should check the source code, dependencies, and MIT license before installing. memory_recallreturn results are limited byrecallLimit, defaulting to a max of 10 entries.- Entries injected per system-prompt assembly are limited by
injectLimit, defaulting to a max of 8 entries. memory_forgetsupports deletion by id or tag; it is recommended to confirm the target entry before deleting.
Conclusion¶
The core value of dsh-memory-vault is turning cross-session memory into a set of stable, callable tools, and lowering maintenance costs through per-turn prompt injection and a browser management page.
GitHub repository:
https://github.com/flymysql/dsh-memory
The Directory page URL was not found in the verified materials.