dsh-memory
Manifest validPersistent cross-session memory plugin for DeepSeek Harness: workspace-scoped durable facts with memory_write/list/search/forget tools and bounded prompt injection
dsh-memory
Persistent cross-session memory plugin for DeepSeek Harness. Facts the model saves are stored durably per workspace (the owning session's cwd) on the harness storage-domain seam, and injected as a bounded prompt section into later sessions in the same workspace — so something important established in one session carries over to the next.
ctx.memoryservice:save/list/search/forget- Model tools:
memory_write,memory_list,memory_search,memory_forget - Prompt section:
app:memory(order 50, default 8 lines) in every session of the workspace
Requirements
The harness profile must mount the storage seam with a backend:
@deepseek-ai/dsh-storage(the hub)@deepseek-ai/dsh-storage-json(default, human-readable JSON files) or@deepseek-ai/dsh-storage-sqlite@deepseek-ai/dsh-storage-domain(the domain facility this plugin opens thememorydomain on)
The shipped web profile already mounts all three with the json backend — no extra setup needed there.
Install
# from this repo (sources build on install via prepare)
dsh plugin --profile web add github:guntur-d/dsh-memory
# or from npm once published
dsh plugin --profile web add @guntur-d/dsh-memory
The dsh.bundle.patch manifest field makes the plugin a bundle layer: the included cordis.patch.yml row activates the plugin automatically in the profile. GitHub-topic discovery: dsh-plugin.
Usage
The model calls memory_write when something durable is established (a port, a preference, a non-obvious project fact). You can prompt it explicitly:
Please remember: the staging server listens on port 3080 and the deploy script is deploy.sh
A later session in the same workspace starts with an app:memory section listing the recent memories, and can memory_list / memory_search / memory_forget (by id) on demand.
Config
interface Config {
maxEntriesPerWorkspace: number // default 500; the oldest are evicted past it
maxTextChars: number // default 2000; longer saves are refused
maxContextEntries: number // default 8; memories rendered into the prompt section
maxListEntries: number // default 50; memories one list/search call returns
}
The storage backend route is decided by the deployment's dsh-storage-domain config (routes for the memory domain, else its default backend).
Semantics
- Entries are scoped by the owning session's
cwd; sessions without acwdshare one anonymous workspace. - A monotonic
seq(minted on the domain's atomic write chain) keeps ordering and eviction deterministic even when wall-clock timestamps tie. - Saves and forgets await durability on the backend; reads are synchronous from the domain's in-memory state.
- The model decides what is worth saving — no automatic summarization.
Develop
pnpm run check # typecheck against a deepseek-harness checkout (tsconfig.check.json)
Notes:
- The npm-published
@deepseek-ai/*dependency chain is currently incomplete (a peer package@deepseek-ai/dsh-type-metais not published), so a from-npmpnpm installof this plugin fails until upstream completes the publish chain. Thetsconfig.check.jsontypechecks this source against a localdeepseek-harnesscheckout instead (edit the absolute path in itspathsif your checkout lives elsewhere). - Until the npm chain is fixed, install the plugin from a checkout:
dsh plugin --profile web add .from this repo (the profile resolves@deepseek-ai/*through the harness installation).
Comments
Loading…
Similar plugins
by guyuefangyuanl
Cross-session persistent memory for the DeepSeek Harness: a model-facing memory tool, an always-on index section, and a bundled maintenance skill.
★ 3
↓ 370/wk
MIT
JavaScript
Aug 21, 2026
dsh plugin --profile web add dsh-memoryby douglarek
Cross-session persistent memory plugin for DeepSeek Harness (DSH)
★ 0
MIT
JavaScript
Oct 23, 2026
dsh plugin --profile web add dsh-memoryby Culeot
Cross-session long-term memory plugin for DeepSeek Harness (DSH)
★ 8
MIT
JavaScript
Sep 26, 2026
dsh plugin --profile web add dsh-agent-memoryby menotbobbybrown
Persistent long-term memory for DeepSeek Harness: a JSON store of typed entries (fact, preference, entity, rule, episodic) exposed as the memory_remember and memory_recall agent tools, with recall ran
★ 0
MIT
TypeScript
Sep 8, 2026
dsh plugin --profile web add @modelnorth/dsh-plugin-memoryby yan5236
Two-phase long-term memory plugin for DeepSeek Harness (DSH): per-session extraction + global consolidation, always-injected summary, and memory_list/read/search/add tools.
★ 3
MIT
TypeScript
Aug 25, 2026
dsh plugin --profile web add @nanmicoder/dsh-memoryby tluoluo
Persistent memory for DeepSeek Harness: per-conversation notes, selective injection, project memory, semantic Vault search + automatic retrieval.
★ 4
↓ 115/wk
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-persist