
Jelee0145/dsh-mem
30Last commit Aug 14, 2026
dsh-mem DSH plugin
dsh-mem is a bundle plugin for DeepSeek Harness that implements a capability seam for long-term memory. It persists facts, preferences, and decisions to a JSON file shared across every session, enabling agents to remember and recall information across conversations.
How to install the dsh-mem DSH plugin
dsh plugin --profile <name> add dsh-memThis source command needs manual review. Copying does not run it.
dsh-mem DSH plugin data source
dsh-mem DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-mem DSH plugin can do
- memory_save: persists a fact with optional tags and project field
- memory_recall: searches memory by substring match on content and exact tag match
- memory_forget: deletes a specific memory entry by ID
- memory_list: lists all memory entries, with optional project filter and result cap
- Atomic file write with temp file + rename for durability
- Zero-dependency on other profiles: works in headless and web profiles without conflicting storage rows
Where the dsh-mem DSH plugin fits
- Let an agent remember user preferences across multiple sessions
- Store project-specific conventions (e.g., 'Project X uses pnpm workspaces') for consistent agent behavior
- Maintain context in long-running conversations by saving and recalling key facts
- Debug or audit what the agent has learned over time via memory_list
Who the dsh-mem DSH plugin is for
- Developers building multi-session agents with DeepSeek Harness
- Users who want their agents to have durable, persistent memory without external databases
dsh-mem DSH plugin limitations
- Single-process writer: does not support concurrent dsh processes sharing the same root directory
- No edit API: to update a fact, you must forget then save again
- No structured schema for content: all memory is free text; for fielded facts, you need to agree on a fixed text format with the model
dsh-mem DSH plugin: from the repository README
Quoted from the Jelee0145/dsh-mem README, the upstream source of the dsh-mem DSH plugin. Copyright remains with the original authors.
English | [中文](README.zh.md) An out-of-tree **bundle** plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (dsh) that implements a complete **capability seam** — Service Definition + Service Provider + Consumer. It gives agents durable long-term memory shared across every session: the `memory_save` / `memory_recall` / `memory_forget` / `memory_list` tools persist facts, preferences, and decisions to `$DSH_HOME/memory/memory.json`. ## Install Install from the **npm registry** (published as `dsh-mem`): ```sh dsh plugin --profile <name> add dsh-mem ``` > `dsh plugin add` is the dsh way to install a plugin: it resolves the package from npm (via pnpm) into the profile and registers its bundle layer. Do **not** use `npm install dsh-mem` — that installs the package as a plain dependency without activating any profile layer. From git instead (runs the package's self-contained `prepare` build; the first install asks you to allow the build in the profile's `pnpm-workspace.yaml`): ```sh dsh plugin --profile demo add github:Jelee0145/dsh-mem ``` Or from a local checkout: ```sh dsh plugin --profile demo add ./dsh-memory ``` Verify the composed layer without
Read the full READMEThe repository declares no license. Check with the authors before using it.
dsh-mem DSH plugin questions
How do I install dsh-mem?
Use the dsh plugin command: `dsh plugin --profile <name> add dsh-mem`. This will install the package from npm and activate its bundle layer. Do not use `npm install dsh-mem` as it won't register the plugin correctly.
Where is the memory data stored?
Memory data is stored in `$DSH_HOME/memory/memory.json`, which defaults to `~/.dsh/memory/memory.json`. You can back it up or delete it manually to clear all memory. Uninstalling the plugin does not touch the data.
Can I disable the plugin without uninstalling?
Yes, you can disable the plugin by modifying the profile's `cordis.patch.yml` file. Set `disabled: true` for the rows with `id: memory` and `id: tool-memory`. This is hot-reloaded and does not require restarting dsh.
Does dsh-mem work with multiple dsh processes?
No, dsh-mem currently does not support concurrent dsh processes sharing the same root directory. All memory operations are serialized on a single in-process queue, and there is no cross-process lock. Running multiple processes with the same root may cause data corruption.
How can I extend dsh-mem or replace its storage backend?
You can subclass `MemoryService` and point the `memory` row in `cordis.patch.yml` to your custom class. The tools and contract remain unchanged. You can also add human commands via `ctx.commands` or inject memory into agent turns using listeners.