Preface¶
In the DeepSeek Harness (DSH) Web interface, debugging an agent generates a large number of consecutive step cards, including tool calls, reasoning processes, and context injection. These contents stacked together take up a large amount of vertical space and distract the eye. The dsh-plugin-collapsible-steps plugin reduces visual noise by collapsing consecutive step cards into a single entry.
Plugin Introduction¶
This is a DSH Web plugin maintained by mervyn-teo. Its core purpose is to collapse consecutive collapsible-card step runs between messages into a single + N steps line. Click the line to collapse or expand the group of steps.
Core Features¶
- Conversation Header Control: Adds “Collapse steps / Expand steps” control buttons to the conversation header.
- Step Group Collapsing: Adds a
- N stepsline before a consecutive step node run. Clicking the line collapses all cards in the group, retaining only the latest card; clicking again expands them. - Step Type Definition: The plugin defines the “step” type, including tool-call, workflow-run, command, command-input, compaction, context, manual-compaction, model-retry, and the Think collapsing section of assistant messages. User/assistant messages and turn notifications serve as group boundaries.
- Default Settings: In the Settings → Plugins → Collapsible steps card, you can control
collapseByDefault(defaults totrue) to determine whether step runs are collapsed by default.
Installation and Enablement¶
Use the official DSH plugin command to install. After installation, restart dsh web to load the host-side code.
dsh plugin --profile web add github:mervyn-teo/dsh-plugin-collapsible-steps
Typical Usage¶
- In the conversation interface, a
- N stepsline appears before consecutive step cards. - Click the line, and the interface collapses all cards in the group, keeping only the latest one, displaying
+ N stepsbelow. - Click
+ N stepsto re-expand. - Go to the Settings → Plugins → Collapsible steps card and turn off
collapseByDefaultto keep them expanded.
Applicable Scenarios and Notes¶
Dependency Requirements: The plugin requires DSH to mount the base conversation UI (@deepseek-ai/dsh-client-ui-conversation), and it inserts bracket headers into the chat flow of that UI.
Implementation: Due to limitations of the slot system, the plugin cannot wrap already-shipped conversation cards, so it achieves this by annotating the existing DOM, reading the node order in conversation hooks, calculating consecutive runs, and inserting bracket headers into the existing DOM without moving the nodes themselves.
Security: The plugin runs with the current dsh process permissions. It is recommended to inspect the source code and license (MIT) before installation.
Compatibility: Already-shipped conversation cards and markdown rendering remain unchanged and are not affected.
Conclusion¶
By using a simple annotation approach, this plugin optimizes the step presentation in the DSH Web interface, making it suitable for developers who need to keep the interface tidy amid a large amount of debugging information.