Introduction

When developing agents in DSH (DeepSeek Harness), a common issue is that context between sessions is not easily preserved: certain specifications, session summaries, or processing experiences used in the current session may not automatically carry over to the next session. dsh-memory-manager is a memory management plugin designed to address this problem. Below is an introduction to its positioning, capabilities, installation method, and typical usage.

What is it

dsh-memory-manager is a memory management plugin built for DSH, maintained by tuanmaoOVO under the MIT license. It is a host-level plugin where memory library data is shared across sessions and stored on disk, used to integrate specification memory, session summaries, context plans, and Agent memory tools into DSH.

Core Features

This plugin mainly revolves around “memory library, injection plan, Agent tools, panel, and graph.” Verified capabilities include:

  • Cross-session memory library
  • Folder memory library (Obsidian compatible)
  • Immutable snapshot + editable annotation layer
  • Memory tags and enable/disable toggles
  • Automatic injection of specification memory
  • Session summary
  • Context plan injection
  • 6 Agent memory tools
  • Impressions
  • ComposedOf and bidirectional links (backlink)
  • Left-side force-directed graph dual view
  • Full conversation sidebar panel
  • Message jumping (JumpReceiver)
  • Cross-workspace session list
  • Free toggles on the settings page
  • Non-destructive round exclusion / recovery

In terms of usage, you can first save specification memory or session summary memory in the memory library, and then select “Add to Plan” by session or enable “Temporary Memory Mode”. If specification memory or session summary memory exists in the memory library, it will be automatically injected into the new session. Agent tool behavior is gated by both modelTools and enabled, where memory_pin / session_inject need to be able to determine the current session.

Installation and Enablement

Before installation, confirm that the local DSH environment exists and obtain the repository path for dsh-memory-manager. The plugin installation command uses the local file path, not the GitHub package path:

dsh plugin --profile <profile名> add file:<本仓库路径>

After execution, restart DSH. The plugin declares:

node >=18

After enabling, DSH settings provide free toggles; Agent tool behavior is also gated by both modelTools and enabled.

Typical Usage

Below is a set of sequentially reproducible operations.

  1. Execute the installation command in the DSH environment:
dsh plugin --profile <profile名> add file:<本仓库路径>

Then restart DSH.

  1. Open the conversation in the browser and click the “Memory · Disabled” button on the left of the input bar to open the sidebar panel.

  2. On the “Memory Library” page, add memory to the “Plan”, or enable “Temporary Memory Mode” on the “Plan” page.

  3. If specification memory or session summary memory exists in the memory library, it will be automatically injected into the new session.

  4. Click the “Graph” button at the top of the panel to open the left-side force-directed graph overlay.

  5. If you need to quickly experience the graph and retrieval, you can point libraryPath to:

examples/memory-library/

Applicable Scenarios and Notes

Scenarios suitable for using dsh-memory-manager include:

  • Need to preserve specifications, session summaries, and long-term experience as a cross-session memory library.
  • Hope for Agents to read/write memory via memory tools and participate in injection according to plans.
  • Hope to view, retrieve, and jump to relevant memories in the browser sidebar panel and the left-side graph.
  • Need to non-destructively exclude or recover certain rounds from participation in injection.

Notes to pay attention to:

  • The plugin runs with the current dsh process permissions; check the source code and license before installing.
  • It is a host-level plugin; memory library data is stored on disk and shared across sessions. When configuring libraryPath, ensure the path is writable.
  • Agent tools are not available unconditionally; they are gated by both modelTools and enabled; memory_pin / session_inject need to be able to determine the current session.
  • file:<本仓库路径> in the installation command is a local file path; do not replace it with an unverified remote package path.

Conclusion

After the above installation and enablement steps, dsh-memory-manager can transform manual session experience organization in DSH into manageable, injectable, and retrievable plugin capabilities. First experiencing the memory library and then doing specification and session summary injection is a safe path to integrating it.

GitHub Repository: https://github.com/tuanmaoOVO/dsh-memory-manager

Directory Page: Follow the plugin link; verified sources do not provide a specific URL.