dshbase

Plugin directory / Developer / dsh-soul-md

dsh-soul-md

Verified · install-tested on dsh Scorp1o117

✓ Actively maintained Builds on 4 official DSH packages

View on GitHub ↗ ← Back to plugin directory

2Stars
0Forks
0Open issues
JavaScriptLanguage
2026-08-15Last push
Cross-platformPlatform

What it does

Soul.md persona for DeepSeek Harness | DeepSeek Harness persona card plugin

✅
Our take
Works — verified, early-stage project

Soul.md persona for DeepSeek Harness | DeepSeek Harness persona card plugin It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-soul-md

中文文档

GitHub: Scorp1o117/dsh-soul-md · npm: dsh-soul-md

Enhancement Suite npm

Part of the DeepSeek Harness Enhancement Suite — Vision · Soul/Persona · Long-term Memory · Plugin Marketplace.

Persona + long-term memory for DeepSeek Harness — zero file management:

In Settings → 人设卡, type a card name and its content, hit save. The plugin manages everything else.

What you get

  • Persona cards — the card content is rendered into the system prompt as
    the soul:persona section. Multiple cards are supported; pick a default,
    and switch per chat from the conversation header (a "人设" select).
  • Long-term memory — the agent gets five tools:
    • memory_append / memory_read / memory_rewrite — a persistent memory
      file (Agent.md / memory.md style). The active persona card has its own
      memory; otherwise the global memory is used.
    • soul_read / soul_update — the AI reads and evolves its own persona
      card
      : when it notices a stable trait, preference, or value of its own,
      it folds it into the card. It "grows" across sessions instead of
      resetting every time.
    • The memory is also injected as a soul:memory prompt section (capped)
      so the agent always sees its memories.
  • Resolution per prompt assembly: session choice (chat switcher) > workspace mapping > default card > none. Switching applies from the next turn — no restart.
  • Workspace personas (v0.5.2): Settings → 人设卡 lists every workspace with a card dropdown — sessions of that workspace use the assigned card by default (session-level switching still wins). Workspaces come from dsh's durable workspace registry, so no paths to type.

Install

The plugin is a plain Cordis row. Mount it in a profile patch
($DSH_HOME/profiles/<name>/cordis.patch.yml):

- insert:
    - id: soul-md
      name: 'dsh-soul-md'          # after: pnpm add dsh-soul-md in the profile

Then restart dsh web and open Settings → 人设卡: type a name + content, save.

Where things live (you don't need to care, but for reference)

  • Persona cards: stored in the soul-md settings namespace (settings.yaml),
    as cards: { name -> markdown } + active + per-session sessions.
  • Memory files: plugin-managed under $DSH_HOME/soul-md/memory/
    (global.md + one file per card), created on demand.
  • Upgrading from ≤ v0.4 (file-based)? The plugin auto-imports the old
    path card (as "默认") and the old memory file on first run.

Config

Field Default Meaning
cards {} Persona cards: name → markdown content (managed from the UI).
active '' Default card name; empty disables the persona by default.
sessions {} Per-session choice (sessionId → card name / none / ''); written by the chat switcher.
workspaces {} Per-workspace choice (workspace path → card name / none / ''); written from the settings page.
workspaceList [] Read-only workspace list (path + title), maintained by the host from dsh's workspace registry.
memory.maxBytes 1048576 memory_append / memory_rewrite refuse to exceed this size.
memory.inject true Render the memory as the soul:memory prompt section.
memory.injectMaxChars 8000 Cap for the injected section (from the file head).
memory.order 0.5 Prompt section order for the injected memory section.
legacy fields — path, fallback, order, complete, watch, debounceMs, soulMaxBytes, personas, roster, memory.path… kept so old composition entries and settings still validate; only used for the one-time import.

Notes

  • Never write {{ / }} in a card body — they are prompt-variable
    syntax; unknown variables fail rendering (no escape syntax yet).
  • Persona/memory sections resolve per assembly, so steady cards stay
    byte-identical (KV-cache friendly) and edits hot-apply.
  • The settings section needs the dsh-host-apiproxy namespace allowlist;
    the plugin patches it automatically on first start — restart dsh web
    once more
    and the section appears.
  • Suggest putting work-quality rules in the card (e.g. "task quality first")
    so roleplay never degrades real work.
  • Tested against DSH 0.1.0-rc.6.

License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-soul-md for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

Web profile:

dsh plugin --profile web add dsh-soul-md

Headless (CLI) profile:

dsh plugin --profile headless add dsh-soul-md

Package

npm: dsh-soul-md · version — · tested on dsh 0.1.0-rc.6

Test report

Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.

When to use it

Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.

Who it's for

Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.

For developers — extending it

The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7797 plugins →