Introduction

The core architecture of DeepSeek Harness (DSH) is plugin-based. When developers need to inject specific behavior constraints or contextual information uniformly across all agent presets, modifying each preset’s configuration individually incurs maintenance costs. The dsh-custom-prompt plugin provides a globally editable system prompt section, allowing custom text to be added to DSH’s global prompt layer and automatically applied to all agents.

What Is This

This is a DSH plugin maintained by johnvictorio. It registers user-defined text as a portion of the global system prompt (order 50) and provides users with a settings page to manage this text. The plugin does not depend on an isolated environment and registers services directly on the host plane.

Core Features

The plugin primarily implements the following capabilities:
- Registers a persistent custom-prompt settings namespace, with the storage structure { enabled, text }.
- Registers the text as a system prompt section, inserted at order 50 (between the persona and tool guidance).
- Real-time re-registration: when settings change, the plugin automatically re-registers the prompt section, so text changes do not require a restart.
- Global application: the prompt section is at the global layer and is effective for all agent presets (standard, code, minimal, cordis, and any custom presets).
- Provides a settings interface: adds a Custom Prompt page to the DSH Settings panel.

Installation and Enablement

  1. Package in the plugin source directory:
npm pack
  1. Add the generated .tgz package to the web profile:
dsh plugin --profile web add file:/absolute/path/to/dsh-custom-prompt-1.0.0.tgz
  1. Edit ~/.dsh/profiles/web/package.json and add "dsh-custom-prompt" to the dsh.profile.bundles array.
  2. Restart the profile to load the new plugin:
dsh web

Typical Usage

  1. Open Settings and go to the Custom Prompt page.
  2. Check Enabled.
  3. Enter prompt content in the text box, such as a set of working rules.
  4. Click Save. Changes take effect immediately in subsequent conversation steps.
    - Variable usage: The {{customnote}} variable can be used in the text to obtain a fixed reminder line.
    - Reset: Clicking Reset clears the stored fields and returns to the default state (disabled and empty).

Notes

  • Environment requirements: The browser must connect via loopback. DSH settings writes are local-only; remote connections will disable the settings functionality.
  • Variable strictness: DSH renders prompt variables strictly. Only {{customnote}} is supported; other unregistered variables will cause prompt assembly errors, interrupting the model turn.
  • State control: When the text is empty or enabled is false, the plugin does not register any prompt section.
  • Restart requirements: Code-level changes require restarting the profile, but editing the text content does not require a restart.
  • Permissions and compliance: The plugin runs with the current DSH process permissions. Source code and license should be reviewed before installation.

Conclusion

This plugin addresses the need for centralized management of global prompts in DSH and provides developers with a flexible configuration approach. The project source code and documentation are available on GitHub.