MIT-licensed DSH plugin bringing Hermes' dual memory libraries, frozen-snapshot injection, atomic curation and bounded background review to DeepSeek Harness, with an approval panel for background edits.
DSH integration
Native runtime
Author-claimed
Safety audit
Unaudited
Last verified
2026-11-14
License
MIT
01What can it help you accomplish?
Keep durable facts about the user and the environment across DSH sessions without stuffing them into every prompt
Two curated, bounded libraries — `user` (identity, long-term preferences, communication style) and `memory` (cross-task environment facts, tool conventions, paths) — injected into a session as a frozen snapshot
DeepSeek Harness users who keep re-explaining the same preferences and environment facts
Let the agent save memory on its own, on a bounded schedule, without letting it approve its own edits
A background review every 10 real user turns (at most 16 extra model requests, 120 s budget) that may add facts directly, while edits and deletions of existing entries land in a pending queue you approve or discard in the 「记忆」 panel
Users who want memory to accumulate automatically but stay auditable and reversible
Inspect and correct what the agent remembers from inside DSH
A 「记忆」 panel plus `memory_list` / `memory_search` / `memory_stats` / `memory_debug` tools, with `add` / `patch` / `remove` operations validated against the library budget before a batch is written
Users who need to see why the agent said something and fix it instead of starting a new session
02How to install into DeepSeek Harness
Prerequisites
- A DSH profile with the JSON storage backend plus the `tools`, `timer` and `sessionProjections` services — the Web profile already ships the storage components, so they must not be declared again
- A logged-in DSH web session for the memory panel and its `/hermes-memory/*` routes
Installation steps
- 01
Install or enable the bundle in the DSH plugin manager, then refresh the page and click 「记忆」 at the bottom of the sidebar
- 02
Or from the published package: `dsh plugin --profile web add dsh-hermes-memory`
$ dsh plugin --profile web add dsh-hermes-memory
- 03
For a source install, add the package directory instead of the published package name
Verify the integration
- After the refresh, 「记忆」 appears at the bottom of the sidebar and opens the memory panel with the two libraries, background status and pending changes
- Verified on DSH 0.2.2-alpha.2 with Node 24.22.2 in the current v4 session format — the README notes the peer range is not a runtime compatibility guarantee
03DSH integration and capability boundaries
DSH plugin bundle installed with `dsh plugin --profile web add dsh-hermes-memory`; it registers `memory` / `memory_list` / `memory_search` / `memory_stats` / `memory_pending` tools, a frozen-snapshot injection, a 「记忆」 sidebar panel and `/hermes-memory/*` web routes
Two bounded memory libraries
facts the model curates with `add` / `patch` / `remove` operations on one target per call→`user` (default 1375 characters) and `memory` (default 2200 characters) libraries, validated as a whole batch against the final budget before a single atomic write
writes are persisted to `~/.dsh/storages/hermes_memory.json` through DSH's JSON KvUnitone fact belongs to exactly one libraryBackground review of memory
the conversation text captured at the triggering turn plus the currently enabled libraries→a bounded model loop that may add grounded long-term facts, or decide nothing is worth saving; its edits and deletions of existing entries become pending proposals
spends extra LLM quota — at most 16 extra requests per review with a 120 s budget by defaultonly the `memory` and `memory_list` tools are available to the background loopReview, approve or discard proposals in the DSH panel
pending proposals recorded in the runtime file→an approval flow where only a logged-in user can approve or discard, and each approval re-validates the full original entry so a stale proposal cannot overwrite newer content
the model can list proposals but never approve themthe background review has no access to the approval toolsAuthenticated web routes for the panel
requests from the DSH web UI→`/hermes-memory/stats` (GET), `/hermes-memory/ops` (POST: read both libraries, edit directly, list pending) and `/hermes-memory/pending` (GET / POST: list, approve or discard by id)
uses DSH owner identity authentication plus Host/Origin checks and forbids caching of responses
04Who is it for? When not to use it?
Good for
- DeepSeek Harness users who keep re-explaining the same preferences and environment facts
- Users who want memory to accumulate automatically but stay auditable and reversible
- Users who need to see why the agent said something and fix it instead of starting a new session
Not for
- The static v2.0.0 bundle enables background review by default, so it issues extra LLM requests and spends quota; the library character budgets do not cap total tokens or cost, and turning review off still leaves the main model's curation and injection consuming tokens.
- Memory lives in DSH's JSON KvUnit at `~/.dsh/storages/hermes_memory.json`, with review metadata in `hermes_memory_runtime.json`; static and dynamic plugins share the same store and only one writer instance is allowed — multiple DSH processes writing the same directory, or editing the files externally while running, are not supported.
- Automatic review only fires on a real user turn that ended successfully with a non-empty final answer containing no tool calls; cancelled, failed, empty or tool-running turns do not trigger, plain sub-agents never trigger, and only one review runs per session with overlapping triggers skipped rather than queued.
- The dynamic sandbox has no native request-cancellation interface, so only the static bundle provides background review; the dynamic form offers memory tools, snapshot and stats with the background status shown as `unavailable`.
05Compatibility, maintenance and safety notes
- The static v2.0.0 bundle enables background review by default, so it issues extra LLM requests and spends quota; the library character budgets do not cap total tokens or cost, and turning review off still leaves the main model's curation and injection consuming tokens.
- Memory lives in DSH's JSON KvUnit at `~/.dsh/storages/hermes_memory.json`, with review metadata in `hermes_memory_runtime.json`; static and dynamic plugins share the same store and only one writer instance is allowed — multiple DSH processes writing the same directory, or editing the files externally while running, are not supported.
- Automatic review only fires on a real user turn that ended successfully with a non-empty final answer containing no tool calls; cancelled, failed, empty or tool-running turns do not trigger, plain sub-agents never trigger, and only one review runs per session with overlapping triggers skipped rather than queued.
- The dynamic sandbox has no native request-cancellation interface, so only the static bundle provides background review; the dynamic form offers memory tools, snapshot and stats with the background status shown as `unavailable`.
MIT · README evidence only, latest release v2.0.0, no security audit
06Frequently asked questions
How do I install dsh-hermes-memory into DeepSeek Harness?
Install or enable the bundle in the DSH plugin manager, refresh the page and click 「记忆」 at the bottom of the sidebar, or use the published package: `dsh plugin --profile web add dsh-hermes-memory`. It needs the `tools`, `timer` and `sessionProjections` services plus a JSON storage backend; the Web profile already ships storage, so do not declare it again — a missing store returns an error instead of treating old data as empty.
Does it spend extra model quota inside DSH?
Yes. The v2.0.0 static bundle turns on background review by default: every 10 real user turns, at most 16 extra model requests per review with a 120 s loop budget, inheriting the triggering turn's model unless you configure another. Set `backgroundReview.enabled: false` to turn the independent review off — main-model curation and memory injection still consume tokens, so it is not zero usage.
Can the agent rewrite or delete what it already remembers?
Only through review. Background additions can be saved directly, but modifications and deletions of existing entries go into a pending queue that a logged-in user approves or discards in the 「记忆」 panel; `memory_pending` lets the model list proposals, never approve them, and the background review cannot reach the approval tools. Approval re-validates the full original entry so a stale proposal cannot overwrite newer content.
Why did my new memory not show up in the running session?
The current session keeps the frozen snapshot it read at first load; a new session reads the updated memory, and `memory_list` returns the live state. Only a real user turn that ends successfully with a non-empty, tool-free final answer triggers review, and plain sub-agents never trigger it.
Where is the memory stored, and what should I avoid?
In DSH's JSON KvUnit at `~/.dsh/storages/hermes_memory.json`, with review records and proposals in `hermes_memory_runtime.json`. Static and dynamic forms share the store and only one writer instance may exist: do not let multiple DSH processes write the same directory, do not edit the files externally while running, and back up both files together before any downgrade or migration.
07Related DSH workflows
weknora
by tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
honcho
by plastic-labs
Memory library for building stateful agents
webnovel-writer
by lingfengqaq
A long-form Chinese web-novel writing assistant for Claude Code and DeepSeek Harness, designed to reduce memory loss and hallucinations in serialized projects of up to 2 million characters.
reme
by agentscope-ai
ReMe: Memory Management Kit for Agents - Remember Me, Refine Me.
08Data and sources
将 [Hermes 内置记忆](https://github.com/NousResearch/hermes-agent/tree/c0c4357744d1a6994d332b826aea4c77fcccaf38) 的双库、冻结快照、原子策…
dsh plugin --profile web add dsh-hermes-memory
在 DSH 插件管理器安装或启用此 bundle,刷新原网页,点击侧栏底部「记忆」。源码安装使用包目录;发布包可使用:
This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-14. Found an error? Submit a correction.
Best DeepSeek Harness Plugins
Twelve plugins worth installing first — picked from the whole catalog, across every category.
