Preface¶
In the plugin ecosystem of DeepSeek Harness (DSH), managing system prompts and tool catalogs often relies on the coordinated work of multiple plugins. This can easily lead to cross-contamination among prompt sections, bloated tool catalogs, and difficulty in performing fine-grained control for different conversation phases or Agent presets. The dsh-prompt-customizer plugin provides a centralized capability console aimed at solving these problems.
Plugin Positioning¶
dsh-prompt-customizer is a capability console for DeepSeek Harness, providing prompt customization, skill suite management, and MCP Server integration. The plugin is maintained by DreamsTOF and is licensed under MIT.
The core problems it addresses are:
1. Prompt pollution: Blocks, replaces, injects, and sorts prompt sections by name.
2. Hierarchical management: Supports layered control by conversation phase (onboarding phase / resident phase / compression-controlled phase) and Agent presets.
3. Tool control: Hides tools from the model-visible catalog and provides skill suite management.
Core Capabilities¶
The plugin primarily includes management across the following three dimensions:
- Prompt customization:
- Supports blocking (removing the section), replacement (editing the text), injection (creating a new section), and sorting (adjusting the order by dragging).
- Supports layering by conversation phase: the onboarding phase, resident phase, and compression-controlled phase each have independent blocklists, sorting spaces, and tool catalogs.
- Supports layering by Agent preset: after selecting a specific preset, changes take effect only for that preset; unset fields fall back to global defaults.
- Skill suite management:
- Supports importing, grouping, enabling/disabling, and health-checking skill packages.
- Supports dragging skills into specific phases.
- MCP Server integration:
- Supports connecting to MCP Servers and enabling/disabling tools at the tool level.
- Supports layered masking (global and preset levels).
Typical Usage¶
Conversation Phase Control¶
Conversation phases are derived from durable events and are divided into the onboarding phase, resident phase, and compression-controlled phase.
- Onboarding phase configuration: During the onboarding phase, provide the model with only 1 tool and a few prompt sections to constrain its initial capabilities.
- Resident phase configuration: After the first durable signal (such as
tool/call) triggers promotion, unlock the full set of tools and prompt sections. - Compression-controlled phase configuration: After the conversation has gone through compression, the configuration can be tightened again to enter the compression-controlled phase.
Agent Preset Override¶
- Select a specific Agent preset at the top of the “Capabilities” panel in the sidebar.
- Block, replace, or inject prompt sections for that preset.
- Changes take effect only for that preset; unmodified fields inherit the global settings.
Forced Override Mechanism¶
The plugin has forceSections enabled by default. This means it wraps the host’s assembly entry point, so the final prompt sections are rebuilt directly from the raw sections in the registry. As a result, preset plugins’ own phase-based clipping (such as onboarding phase 20→1) and persona complete: true full-section takeover can no longer overwrite this plugin’s blocking, replacement, injection, or sorting results. This ensures the plugin’s control authority at the prompt level.
Interactive Operations¶
- Dragging: Items from the “All System Prompt Sections” or “All System Tools” pool can be dragged into a designated phase or pool, taking effect in real time.
- Real-time preview: While modifying the configuration, the right-side panel displays the assembled system prompt and tool catalog in real time.
Known Limitations¶
- Override hierarchy: Because
forceSectionsis enabled by default, preset plugins’ own phase-based clipping and personacomplete: truetakeover cannot overwrite this plugin’s blocking, replacement, injection, and sorting results. - View state: Phase views display the resolved state rather than historical conversation states.
- Skill registration: This plugin does not re-register skills and has a division of responsibility with the DSH core plugin. The
/skill source and skill tool line in a conversation are provided by@deepseek-ai/dsh-client-ui-skillfrom the DSH core.
Conclusion¶
dsh-prompt-customizer provides DeepSeek Harness with a fine-grained management entry point for prompts and tools. Through capabilities layered by phase and preset, developers can guide model behavior more controllably. The plugin is open-sourced under the MIT license and is suitable for developers who need prompt engineering and tool orchestration in complex agent systems.