Back to directory

dsh-hermes-memory

In a curated listMaintenance: Active

isheng-eqi/dsh-hermes-memory

Hermes-style persistent memory (MEMORY.md / USER.md) for DeepSeek Harness (DSH) — a faithful port of hermes-agent MemoryStore: bounded, file-backed, model-curated, frozen-snapshot injection.

View on GitHub
$ dsh plugin --profile web add dsh-hermes-memory

16

stars

3

forks

JavaScript

Language

MIT

License

2026-08-17

Created

2026-11-13

Last push

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

  1. 01

    Install or enable the bundle in the DSH plugin manager, then refresh the page and click 「记忆」 at the bottom of the sidebar

  2. 02

    Or from the published package: `dsh plugin --profile web add dsh-hermes-memory`

    $ dsh plugin --profile web add dsh-hermes-memory

  3. 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 integrationNative runtime

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 library
  • Background 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 loop
  • Review, 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 tools
  • Authenticated 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`.
2026-08-172026-11-11v2.0.0

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.

08Data and sources

  • Author-claimedgithub.comfa55f4c6a57c…

    将 [Hermes 内置记忆](https://github.com/NousResearch/hermes-agent/tree/c0c4357744d1a6994d332b826aea4c77fcccaf38) 的双库、冻结快照、原子策…

  • Author-claimedgithub.comfa55f4c6a57c…

    dsh plugin --profile web add dsh-hermes-memory

  • Author-claimedgithub.comfa55f4c6a57c…

    在 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.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.