Foreword

In DeepSeek Harness (DSH) for agents, common problems are: explaining the persona every time in a session, and long-term preferences scattered across different contexts or external files. DSH’s philosophy is “Everything is a plugin,” the community directory is an independent site, with no official affiliation to DeepSeek / HF, and do not understand it as an official app store.

Below introduces dsh-soul-md. First explain its positioning, then core features, installation, and notes.

What is it

dsh-soul-md is a DeepSeek Harness (DSH) plugin, repository is Scorp1o117/dsh-soul-md, maintainer is Scorp1o117, license is MIT.

Its one-sentence positioning is: Persona + long-term memory for DeepSeek Harness — zero file management. For users, the main operation is entering the card name and content in Settings → 人设卡 and saving, without the need to manually maintain a set of scattered persona files.

Core Features

Persona Card

  • Persona card content is rendered into the system prompt as the soul:persona section.
  • Supports multiple cards.
  • Can specify a default card.
  • Can switch personas in the “人设” (Persona) select in the conversation header by chat.
  • soul_read / soul_update allow the AI to read and evolve its own persona card.
  • Do not write {{ / }} in the card body; unknown variables will cause rendering failure.

Long-term Memory

  • Provides memory_append / memory_read / memory_rewrite tools, using a persistent memory file.
  • If a current active persona card exists, use that card’s memory; otherwise, use global memory.
  • Memory is also injected as a soul:memory prompt section, with a set length limit.
  • memory_append / memory_rewrite reject exceeding memory.maxBytes, default value is 1048576.
  • The length of the injected section is limited by memory.injectMaxChars, default value is 8000.

Parsing Order

Every time the prompt is assembled, the parsing order for persona cards is:

session choice > workspace mapping > default card > none

Switching personas takes effect from the next turn, no restart required.

Regarding workspaces, Settings → 人设卡 lists each workspace and provides a card dropdown selection. Sessions in that workspace default to the assigned card, though session-level switching still takes priority.

Installation and Activation

The steps below are from verified installation and mounting methods.

  1. Confirm the runtime environment.
    Node engine requirement is:
   >=20.18
  1. Confirm the DSH version.
    dsh-soul-md 0.5.8 and newer requires DSH 0.1.0-rc.7 or newer, and is tested against 0.1.0-rc.7, 0.1.0-rc.8, 0.1.1-rc.1.

If the current DSH is 0.1.0-rc.6, you need to pin dsh-soul-md@0.5.6, as it is the last version with the legacy settings-allowlist compatibility patch.

  1. Install the package.
    The verified install command is:
   pnpm add dsh-soul-md

If pinning an old version is necessary, use:

   pnpm add dsh-soul-md@0.5.6
  1. Mount to the profile patch.
    The plugin is a plain Cordis row. It needs to be mounted to:
   $DSH_HOME/profiles/<name>/cordis.patch.yml

Add:

   - insert:
       - id: soul-md
         name: 'dsh-soul-md'
  1. Restart and open the settings page.
   dsh web

Then open:

   Settings → 人设卡

Enter the card name and content, and save.

Typical Usage

  1. Create a persona card.
    Go to:
   Settings → 人设卡

Enter the card name and content, such as role, tone, and work quality requirements. After saving, the plugin will render the card into the soul:persona section of the system prompt.

  1. Switch personas per session.
    Find the “人设” (Persona) select in the conversation header and select a card for the current chat. Switching takes effect from the next turn.

  2. Specify default persona per workspace.
    In the Settings → 人设卡 page, a card dropdown selection is provided for each workspace. After setting, sessions in that workspace will default to the assigned card.

  3. Let the AI maintain persona and memory.
    The AI can use:

   soul_read
   soul_update
   memory_append
   memory_read
   memory_rewrite

memory_append / memory_rewrite are limited by memory.maxBytes. soul_update is used to update the current evolvable persona card.

  1. Upgrade from old versions.
    If upgrading from ≤ v0.4, the plugin will auto-import the old path card and old memory file on first run.

Configuration and Limits

The plugin exposes the soul-md settings namespace and does not modify files in the host installation.

Configuration and limits that need special attention:

  • memory.maxBytes: Default 1048576. memory_append / memory_rewrite reject exceeding this size.
  • memory.injectMaxChars: Default 8000. Limits the length of the injected soul:memory section.
  • Do not have {{ / }} in the card body.
  • It is recommended to write work-quality rules into the card, for example, prioritizing task quality and avoiding roleplay affecting actual work.

Use Cases and Notes

Suitable for these DSH use cases:

  • Want to use different personas for different chats, instead of manually pasting role instructions every time.
  • Want the AI to retain long-term memory across multiple sessions.
  • Want to set default personas per workspace, while allowing session-level overrides.
  • Want the AI to read and evolve its persona card via soul_read / soul_update.
  • Want card content directly rendered into the soul:persona prompt section.

Notes:

  • The plugin runs with the current dsh process permissions. You should check the source code, MIT license, dependencies, and version requirements before installing.
  • dsh-soul-md 0.5.8 and newer requires DSH 0.1.0-rc.7 or newer.
  • DSH 0.1.0-rc.6 users must pin dsh-soul-md@0.5.6.
  • The community directory is an independent site, with no official affiliation to DeepSeek / HF, nor is it an official app store.

Conclusion

The value of dsh-soul-md lies in putting “Persona Cards” and “Long-term Memory” into the DSH settings page flow: creating cards, selecting defaults, switching by session or workspace, while retaining memory injection and size limits.

The plugin clue directory page is:

https://www.skillhub.cn/plugins/Scorp1o117/dsh-soul-md

The GitHub repository is:

https://github.com/Scorp1o117/dsh-soul-md