Introduction

The philosophy of DSH is to extend agent capabilities via plugins. dsh-memoryhub addresses the problem of “how to utilize project memory across sessions”: it integrates the .memoryhub/ checkpoint memory maintained by MemoryHub into a dsh session and saves the dsh session back to MemoryHub. Below is an introduction to its capabilities, installation methods, and configuration points.

What is this

dsh-memoryhub is a DeepSeek Harness (dsh) plugin maintained by solknight48, licensed under MIT.

It integrates MemoryHub (mh) into dsh:

  • Loads checkpoint memory under .memoryhub/ when the session starts;
  • Saves the dsh session back to MemoryHub checkpoints;
  • Registers the mh workflow skill and mh_* tools.

Core Features

Memory Loading and Saving

MemoryHub saves project memory as purified sessions within git-versioned checkpoints under .memoryhub/.

dsh-memoryhub runs mh load in the session workspace when the session starts and injects the checkpoint memory as a durable plugin context.

mh_save is used to save the dsh session back to MemoryHub: it renders the durable event log into a pi-format JSONL transcript and saves it via mh save --transcript.

Registered Tools and Skills

The plugin registers six mh_* tools:

  • mh_load
  • mh_save
  • mh_status
  • mh_list
  • mh_search
  • mh_checkpoint

It also registers the mh workflow skill, specifying when to load, how to save, and the hub rules.

Memory Tab in Web UI

In the dsh web UI, the plugin adds a Memory tab that embeds the mh ui checkpoint map.

The Memory tab obtains the mh ui URL of the session workspace via the following interface:

GET /plugins/memoryhub/mh-ui?session=<id>

The Memory tab is only registered when a web server is present; headless compositions will not see this feature.

Installation and Enablement

Prerequisites

First, install mh and add it to PATH:

uv tool install git+https://github.com/solknight48/memoryhub

The runtime environment requires:

  • git >= 2.32
  • Python >= 3.12
  • Node >= 22

The plugin depends on @deepseek-ai/schemastery ^3.18.1 and is a peer dependency of @deepseek-ai/cordis ^4.0.1 and several ^0.1.0-rc.6 dsh packages.

Installing the Plugin

Install from GitHub:

dsh plugin --profile web add github:solknight48/dsh-memoryhub

For a local checkout installation:

dsh plugin --profile web add ./dsh-memoryhub

Git installation may involve pnpm prepare build. When using pnpm >= 10, you may need to allowlist dsh-memoryhub in the profile’s pnpm-workspace.yaml before running prepare for the first time, then re-execute the add command.

Configuration

Configuration is located at:

$DSH_HOME/profiles/<name>/cordis.patch.yml

Fields are optional, with default values including:

# Optional field default values
# autoLoad: true
# registerTools: true
# registerSkill: true
# uiTab: true

Configuration points related to the UI:

  • uiBudget defaults to none. Requires mh (version 2026-08-14 or later) in the memoryhub repo that supports mh ui --budget.
  • uiReadOnly: true provides the map in read-only mode; mh’s loopback bind, one-shot token, and Host check security models remain unchanged.

Typical Usage

  1. Confirm that mh is installed and in PATH.
  2. Execute the installation command to add the plugin to the web profile:
dsh plugin --profile web add github:solknight48/dsh-memoryhub
  1. After starting a new session, the default autoLoad triggers mh load, injecting checkpoint memory into the session context.
  2. If you only want to load the latest session that fits within a budget, you can pass the budget parameter to mh_load.
  3. When you need to save the current dsh session back to MemoryHub, use mh_save.
  4. View the mh ui checkpoint map of the session workspace via the Memory tab in the dsh web UI.

Use Cases and Notes

Suitable for developers who are already using MemoryHub / mh and wish to connect dsh session context with project memory.

Notes:

  • The plugin invokes mh, so mh must be executable and meet version requirements.
  • The plugin runs with the permissions of the current dsh process; check source code and license before installing.
  • The license is MIT.
  • The Memory tab depends on a web server and is not visible in headless compositions.
  • If the environment uses pnpm >= 10, you need to allowlist dsh-memoryhub as prompted by dsh.

Links

  • GitHub: https://github.com/solknight48/dsh-memoryhub
  • Directory: https://www.skillhub.cn/plugins/solknight48/dsh-memoryhub