Introduction¶
In DeepSeek Harness Web sessions, after a conversation turn closes, intermediate process steps (including intermediate narrative, Think lines, tool cards, retry status, and workflow runs) can occupy a lot of vertical space, making it harder to read the final answer. The dsh-conversation-process-collapse plugin uses front-end DOM manipulation to collapse these process lines into a single expandable disclosure, keeping the interface clean.
Plugin Overview¶
This is a pure front-end DOM plugin designed to collapse process lines from closed turns in DeepSeek Harness Web sessions. By identifying [data-chat-flow] and closed turns, the plugin merges process lines into an expandable disclosure header while ensuring that the content of the final answer remains visible.
Core Features¶
- Collapse process lines: Collapses intermediate narrative, Think lines, tool cards, and other process elements within closed turns into an expandable header (displayed as “Processed in {duration} · {n} steps”).
- Keep final answer visible: The collapse operation only affects process lines. The textual content of the final answer remains visible, but any internal reasoning process within it is collapsed.
- Conditional triggering: It only takes effect when a turn is closed and contains a content-bearing assistant step. Tool-only turns and live streaming (real-time streaming) retain the original flow.
- No model impact: It is based on DOM manipulation and does not involve model requests, tool execution, or KV Cache, nor does it affect the model experience or KV Cache.
Installation and Activation¶
Use the following command to install the plugin:
dsh plugin --profile web add dsh-conversation-process-collapse
After installation, restart dsh web and perform a hard refresh in the browser (Cmd / Ctrl + Shift + R) to load the new client code.
Limitations and Notes¶
- Expanded state is not persistent: The expanded/collapsed state is stored in memory, and switching conversation tabs or refreshing the page resets it to the default collapsed state.
- Only processed content: The DOM pass runs only on messages that have already been mounted; history that has not yet been loaded via pagination is not visible until it is loaded.
- No overrides required: The plugin does not require a profile override, nor does it require forking the official conversation package.
Conclusion¶
This plugin uses a lightweight front-end collapsing mechanism to optimize vertical-space utilization in the session interface, making it suitable for scenarios that require frequent review of long conversation history. The plugin source code and details are available on GitHub.