plur-ai/dsh-plugin

PLUR persistent memory: engram is rendered into the system prompt (the text of the section is a function) in each assembly, rather than hidden after the tool call - the memory block is replaced rather than appended, and the context length does not grow with the session (actually measured for 60 rounds); fully local BM25 + BGE hybrid retrieval (RRF fusion, zero API calls), editable pure YAML storage, scope divided by workspace, /plur and /plur-memory commands

@plur-ai/dsh gives DeepSeek Harness persistent cross-session memory by putting memories in the prompt rather than exposing them as a tool the model must remember to call. Corrections, project conventions and the decisions behind them are detected and stored; on a new session in the same directory the agent already knows them — no reminder and no tool call. /plur-memory shows what it knows. Everything stays on the machine as plain YAML in ~/.plur that you can read, edit and delete; uninstalling the plugin does not touch the memory files. Because peer ranges use a caret and every host registration is contained, if a future harness release changes a host contract the plugin degrades to 'no memory' rather than breaking the agent.

Memory Enhancement ★ 0 updated 2026-08-15 — untested
View on GitHub ↗

Install

dsh plugin --profile web add @plur-ai/dsh

npm @plur-ai/dsh 0.1.0 verified 2026-09-04 (repository field → github.com/plur-ai/plur monorepo — source lives in the monorepo; this repo is the plugin's public entry point; README EN primary with 中文). Install: dsh plugin --profile web add @plur-ai/dsh, then restart dsh. Requires @plur-ai/core, which installs alongside it. Memory lives in ~/.plur as plain YAML independent of the plugin.

Compatibility

DeepSeek Harness ^0.1.0-rc.6 (0.1.x line), Cordis ^4.0.1, Node 20/22/24/26 (CI-tested); last verified against dsh 0.1.0-rc.6 per README.

Details

Recent updates

0.1.0 is the current npm latest (verified 2026-09-04).

FAQ

How is this different from a memory tool?
Exposing memory as a tool still requires the model to decide to call it; this plugin puts the memories themselves in the prompt, so a correction made once is already known in a fresh session without a reminder.
Where is the memory stored?
Locally as plain YAML under ~/.plur, readable, editable and deletable; uninstalling the plugin leaves the memory files untouched.
What if a future dsh release breaks a contract?
Peer ranges use a caret and every host registration is contained, so the plugin degrades to 'no memory' rather than breaking your agent — /plur will show the failure.

Alternatives

boomzikazita/dsh-memory · flymysql/dsh-memory

More plugins in Memory Enhancement

Browse more in Memory Enhancement

Guides for Memory Enhancement plugins