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
mhworkflow skill andmh_*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_loadmh_savemh_statusmh_listmh_searchmh_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.32Python >= 3.12Node >= 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:
uiBudgetdefaults tonone. Requiresmh(version 2026-08-14 or later) in the memoryhub repo that supportsmh ui --budget.uiReadOnly: trueprovides the map in read-only mode;mh’s loopback bind, one-shot token, and Host check security models remain unchanged.
Typical Usage¶
- Confirm that
mhis installed and in PATH. - Execute the installation command to add the plugin to the web profile:
dsh plugin --profile web add github:solknight48/dsh-memoryhub
- After starting a new session, the default
autoLoadtriggersmh load, injecting checkpoint memory into the session context. - If you only want to load the latest session that fits within a budget, you can pass the
budgetparameter tomh_load. - When you need to save the current dsh session back to MemoryHub, use
mh_save. - View the
mh uicheckpoint 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, somhmust 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 allowlistdsh-memoryhubas prompted by dsh.
Links¶
- GitHub:
https://github.com/solknight48/dsh-memoryhub - Directory:
https://www.skillhub.cn/plugins/solknight48/dsh-memoryhub