Introduction¶
When developing agents with DeepSeek Harness (DSH), the system prompt is typically composed of multiple plugin-contributed parts. To identify the source of a specific text segment, troubleshoot duplicate rules, or discover potential conflicts, directly inspecting configuration files is often not intuitive enough. The dsh-prompt-desk plugin provides a workbench view that helps developers clearly see the complete structure of the current prompt.
What It Is¶
This is a workflow plugin maintained by Hwayn. Its core purpose is “observation” and “assistance,” rather than automatic takeover. It allows you to inspect the individual parts of the current system prompt (name, source, byte size, and raw text), add your own rules, and check for duplicates and conflicts.
Installation and Enablement¶
The installation command is as follows:
dsh plugin --profile web add dsh-prompt-desk
After installation, you can use it by navigating to Settings → Prompt Workbench in the Web interface.
Core Features¶
1. View the Current Prompt Structure¶
The plugin lists all parts of the current system prompt, including the name, source, byte size, and raw text of each part. It uses the actual assembly result from ctx.systemPrompt.assemble(), rather than relying on guesses.
2. Add “House Rules”¶
You can enter custom text and choose to place it at the beginning, middle, or end of the prompt. Changes take effect immediately and do not require a restart.
3. Inspection Checks¶
The plugin provides Inspection functionality to identify potential issues:
* Identical lines appearing in multiple sections (normalized lines with length >= 30).
* Conflicting rules (for example, one saying “do” and another saying “do not”).
* Abnormally large rule sections.
4. Reverting Changes¶
All content added through this plugin uses the plugin’s own section name. To revert the changes, simply disable the plugin in settings or remove the plugin. Content contributed by other plugins will not be modified.
Typical Usage¶
Adding Rules¶
Enter content in the “House Rules” input box, choose a position: Begin, Middle, or End, and save for the change to take effect.
Viewing Real-Time Assembly¶
The plugin provides an endpoint for viewing real-time assembly:
curl http://localhost:3080/dsh-prompt-desk/prompt
The returned JSON includes fields such as sections, rendered, and tools.
Notes¶
- Additions Only: Currently, the plugin can only add sections; it cannot delete or rewrite sections contributed by other plugins.
- Detection Threshold: Duplicate detection applies only to normalized lines with length >= 30.
- Preview Limitation: The preview may not resolve variables (such as
{{model}}) and may lack specific agent scope, which can cause the tool list to display as 0. - Naming Limitation: Plugin IDs do not support npm scoped names. A non-scoped name must be used (for example,
dsh-prompt-desk, not@hwayn/dsh-prompt-desk). - Shadowing Mechanism: The plugin does not use DSH’s shadowing mechanism. Instead, it adds a layer of user-defined voice and does not silently replace content from other plugins.
Ecosystem Context¶
DSH adopts an “everything is a plugin” architecture. This plugin is merely a community-maintained component designed to assist development and debugging.
Conclusion¶
dsh-prompt-desk is suitable for developers who need fine-grained control over the prompt structure during development. It addresses the pain points of prompt debugging through a visual approach, while preserving full control over the prompt.