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:

  1. Automatic detection and loading: Detects whether an openclaw/ subdirectory exists in the workspace and activates automatically when present.
  2. File mapping: Maps specific files to DSH system-prompt sections (such as openclaw:soul) and runtime context (such as openclaw:user).
  3. Context injection: Supports injecting files such as USER.md, TOOLS.md, MEMORY.md, and HEARTBEAT.md as runtime context.
  4. 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.
  5. File watching: Watches file read and write operations in the workspace and automatically refreshes the cache when files change.
  6. Configuration flexibility: Supports customizing the subdirectory name via the OPENCLAW_SUBDIR environment variable.

Installation and Activation

Bundles cannot be hot-reloaded; DSH must be restarted after installation.

  1. Install the plugin (using the web profile as an example):
    dsh plugin --profile web add github:AskingTheHeavens/dsh-openclaw-persona
  1. Verify the installation:
    dsh plugin --profile web list
    # └── @user/dsh-openclaw-persona@github:AskingTheHeavens/dsh-openclaw-persona
  1. Restart DSH: To make the Bundle take effect.

Note: This plugin is only applicable to the web profile. If you are using tui, headless, or another custom profile, replace web in 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.

  1. 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
  1. Start a session:
    dsh --cwd /your/workspace
Or, in the Web UI, create a new session in the corresponding workspace.
  1. 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_LIMIT and DAILY_NOTE_MAX_BYTES constants in the plugin source code src/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.