Introduction¶
When loading agent instructions, DeepSeek Harness (DSH) usually relies on AGENTS.md or CLAUDE.md in @deepseek-ai/dsh-agent-instructions. OpenClaw uses a richer workspace file structure and provides the agent with more complete identity, memory, and context through files such as SOUL.md, IDENTITY.md, and MEMORY.md.
askingtheheavens/dsh-openclaw-persona aims to solve this problem by packaging OpenClaw’s file schema into a standard DSH Profile Bundle. As long as the workspace contains the designated subdirectory, the plugin automatically injects the relevant files into DSH sessions, without requiring manual preset switching.
Plugin Overview¶
- Name:
askingtheheavens/dsh-openclaw-persona - Maintainer: AskingTheHeavens
- Category: Memory
- License: MIT
- Core purpose: Loads OpenClaw-style persona files (SOUL.md, IDENTITY.md, USER.md, TOOLS.md, MEMORY.md, AGENTS.md, HEARTBEAT.md, and memory/*.md) into DSH sessions.
Core Features¶
The plugin mainly provides the following capabilities:
- Automatic detection and loading: Detects whether an
openclaw/subdirectory exists in the workspace and activates automatically when present. - File mapping: Maps specific files to DSH
system-promptsections (such asopenclaw:soul) and runtime context (such asopenclaw:user). - Context injection: Supports injecting files such as
USER.md,TOOLS.md,MEMORY.md, andHEARTBEAT.mdas runtime context. - Daily note management: Automatically reads daily notes from
memory/*.md, loading the two most recent notes by default and limiting each note to 16 KiB. - File watching: Watches file read and write operations in the workspace and automatically refreshes the cache when files change.
- Configuration flexibility: Supports customizing the subdirectory name via the
OPENCLAW_SUBDIRenvironment variable.
Installation and Activation¶
Bundles cannot be hot-reloaded; DSH must be restarted after installation.
- Install the plugin (using the
webprofile as an example):
dsh plugin --profile web add github:AskingTheHeavens/dsh-openclaw-persona
- Verify the installation:
dsh plugin --profile web list
# └── @user/dsh-openclaw-persona@github:AskingTheHeavens/dsh-openclaw-persona
- Restart DSH: To make the Bundle take effect.
Note: This plugin is only applicable to the
webprofile. If you are usingtui,headless, or another custom profile, replacewebin the commands with the corresponding profile name.
Usage¶
After installation and restart, start a session in any workspace that contains an openclaw/ subdirectory, and the plugin will take effect automatically.
-
Create the workspace structure:
Create an
openclaw/folder in the workspace root and add the required files:
/your/workspace/
└── openclaw/
├── AGENTS.md
├── SOUL.md
├── IDENTITY.md
├── USER.md
├── TOOLS.md
├── MEMORY.md
├── HEARTBEAT.md
└── memory/
└── 2026-08-16.md
- Start a session:
dsh --cwd /your/workspace
Or, in the Web UI, create a new session in the corresponding workspace.
-
Loading rules:
The plugin maps files to different contexts, with the following specific rules:
SOUL.md/IDENTITY.md: Injected as System Prompt sections (openclaw:soul,openclaw:identity).USER.md/TOOLS.md: Injected as persistent runtime context (openclaw:user,openclaw:tools).MEMORY.md: Injected as runtime context (openclaw:memory) and loaded only into the main session; it is not passed to subagents or group chats.memory/*.md: Injected as runtime context (openclaw:daily), taking the two most recent files by default, sorted by filename.AGENTS.md: Injected as runtime context (openclaw:agents) for the OpenClaw startup protocol.HEARTBEAT.md: Injected only when there is an actual task (openclaw:heartbeat); empty files or files containing only comments are not loaded.
Configuration and Limitations¶
Custom Subdirectory¶
The default reading path is ./openclaw/. To change it, specify it via an environment variable:
OPENCLAW_SUBDIR=persona dsh --cwd /your/workspace
In this case, the plugin will read files under /your/workspace/persona/.
Limit Settings¶
The plugin includes built-in limits for the size and number of daily notes, matching OpenClaw’s semantics:
- Number of daily notes: Defaults to 2 notes (corresponding to today and yesterday).
- Size of each note: Defaults to 16 KiB. To change this, edit the
DAILY_NOTE_LIMITandDAILY_NOTE_MAX_BYTESconstants in the plugin source codesrc/index.js.
Uninstall¶
To remove the plugin:
dsh plugin --profile web remove @user/dsh-openclaw-persona
After running the command, be sure to restart DSH.
Summary¶
askingtheheavens/dsh-openclaw-persona provides DSH with a seamless integration solution for the OpenClaw workflow. Through automated file mapping and context injection, it allows developers to use OpenClaw’s rich file structure to define agent identity and memory without manually maintaining complex Prompt configurations.