Preface

When running agents in DeepSeek Harness (DSH), supplementary instructions for global rules and individual conversations are often scattered across config files, AGENTS.md in the project, or manually pasted system snippets. Furthermore, pitfalls encountered are rarely consolidated into short rules that “carry over to the next conversation”; usually, you have to explain them again or stuff long logs into the context. The community plugin dsh-prompt-ErrorNotes-desk (UI display name: Prompt Desk, maintained by 1015677515) consolidates these two tasks into two small panels in the conversation title bar: editing cross-conversation global prompts and current conversation prompts, while maintaining an error experience library by category, injecting recent “lessons” into the system prompt at a low token cost. The following introduces what it does, how to install it, typical usage, and notes.

What is this

dsh-prompt-ErrorNotes-desk is a dual-side (host + web) plugin for DSH: it registers “Prompt” and “Error Library” panels in the session title bar, reads and writes state under $DSH_HOME, and injects current conversation prompts and error experience summaries into the model via systemPrompt:section. The global prompt shares the same $DSH_HOME/AGENTS.md as the official dsh-agent-instructions, without storing a separate copy.

Core Features

Prompt Panel

  1. Edit cross-conversation global prompts (i.e., $DSH_HOME/AGENTS.md) and current conversation prompts (continued in new conversations).
  2. The top of the panel indicates which half is currently active; supports “temporarily pause injection,” installation self-check (whether the host is loaded, if HTTP is reachable, injection count, number of pending drafts, and if UI and host versions match).
  3. The bottom provides an Injection Preview: using the same build function as the actual injection, allowing you to see the plugin’s full contribution to the system prompt.

Error Experience Library Panel

  1. Entries are displayed folded by primary category: each entry contains a short type + a one-sentence lesson; secondary categories are used to distinguish remediation methods (e.g., lack of verification, syntax generation).
  2. By default, the most recent 10 entries (only those containing “lessons”) are injected into the system prompt; detail (error process) and type remain in the panel and are not injected to save tokens.
  3. When export is enabled, the system prompt includes a fixed “self-correction” guide; when the agent reports in the specified single-line format, the host captures a pending draft from the output stream, which requires the user to click “Adopt” in the panel to store it.
  4. Click on the blank space outside the panel or press Esc to close it.

The injection order value is 10200 (DEPLOYMENT_PERSONA_SUFFIX), ranking after tool documentation; text is a function. After saving, it takes effect in the next conversation without needing a restart (changing host modules or newly installing the plugin still requires restarting the DSH host side).

Installation and Activation

It is recommended to fill in the GitHub short address in DSH Settings → Plugins → Install (do not manually append #HEAD, to avoid an empty version field after installation):

github:1015677515/dsh-prompt-ErrorNotes-desk

You can also fill in the full URL:

https://github.com/1015677515/dsh-prompt-ErrorNotes-desk

If already cloned locally, you can fill in the local directory path in the installation interface. For full steps and troubleshooting, see the repository’s INSTALL.md.

You can also write the following in the profile’s cordis.patch.yml:

- insert:
    - id: prompt-desk
      name: dsh-prompt-ErrorNotes-desk

After installation, DSH needs to be restarted: the browser side can hot-reload, but the host side responsible for injection needs a restart to load new modules.

Optional default configuration (used when the panel is not covered) example:

- id: prompt-desk
  name: dsh-prompt-ErrorNotes-desk
  config:
    injectLimit: 20

injectLimit is a non-negative integer, defaulting to 10; 0 means no error experience injection (session prompts are unaffected); maximum is 200.

Typical Usage

Maintaining Global and Current Conversation Rules

  1. Open the “Prompt” panel in the conversation title bar.
  2. Edit the $DSH_HOME/AGENTS.md content in the global box, and write supplements valid only for this session in the current conversation box; click save (writing is an atomic operation: .tmp first, then rename).
  3. Check the injection preview at the bottom to confirm the wording and count that the model will see.

Installing the plugin does not write to your AGENTS.md; the AGENTS.example.md in the repository is only for writing reference and will not be automatically loaded by DSH.

Consolidating Error Experience

  1. In the Error Library panel, confirm that “Export Error Library to System Prompt” at the bottom is enabled (a long-term switch, written to state.json).
  2. Ask the agent to report in a single line upon discovering an error (starting with a marker, and containing Error Process: and Lesson:):
I made a mistake: Error Process: <what actually happened> Lesson: <how to do it later, a one-sentence actionable rule>

The line start marker I found a mistake is also accepted. Before adopting the draft at the top of the panel, you can change the wording and select a category (three levels of primary categories + some secondary categories).
3. Adjust the “Injection Count Limit” in the panel and save; it takes effect in the next conversation.

If you temporarily do not want to be disturbed by old lessons, you can use “Temporarily Pause Injection” at the top of the panel, or use in-conversation commands (reset after reload):

/lessons off
/lessons on
/lessons

/lessons is a global, non-persistent switch; to turn off error library injection for a long time, use the export switch at the bottom of the panel.

Data Persistence Locations

Data Path
Global Prompt $DSH_HOME/AGENTS.md (usually ~/.dsh if DSH_HOME is not set)
Current Conversation Prompt, Error Library, Panel Switches $DSH_HOME/prompt-desk/state.json

The browser side does not write directly to the file system; reads and writes are completed via the host HTTP route.

Applicable Scenarios and Notes

Who it is for: DSH users who need to uniformly change global agent instructions, add temporary constraints to the current session in one interface, and want to consolidate repetitive mistakes into short rules to automatically remind future conversations.

Please be aware before use:

  1. The plugin runs with the permissions of the current DSH process. Please review the source code and the MIT License before installation.
  2. Profiles without an HTTP service will load the plugin but remain inactive without throwing errors.
  3. The self-correction format must meet the parsing rules in the README (same line, tag order, line start marker, etc.); the old | separated format is no longer automatically captured.
  4. The community directory category may be “Model Reasoning”; the package’s dshhub tags also include “Prompt”, “Web UI”, “Efficiency”, etc., subject to the repository description.

Conclusion

dsh-prompt-ErrorNotes-desk consolidates global prompts, session prompts, and injectable error lessons into two panels in the title bar, using previews and self-checks to reduce the uncertainty of “not knowing exactly what the model sees.” To install or check for updates, please visit the community directory SkillHub Plugin Page or the GitHub repository 1015677515/dsh-prompt-ErrorNotes-desk.