Introduction¶
In the DSH Web client, the longer the session, the more expanded collapsible sections there are: Think thinking rows, tool cards, command cards, context injection rows, etc., accumulate continuously. Clicking headers to collapse them one by one is inconvenient; when sections scroll out of the current viewport, you need to scroll back first.
dsh-sticky-disclosure is a DSH Web client plugin designed to collapse all currently expanded collapsible sections in the current session at once, and supports custom hotkeys.
What is this¶
dsh-sticky-disclosure is maintained by Han-1413141, licensed under MIT, and belongs to DSH’s client plugins.
It solves a simple problem: when multiple expanded blocks accumulate in a DSH Web session, you don’t need to collapse them one by one; one operation can collapse them all.
It is mainly targeted at developers who use DSH Web and whose sessions frequently contain Think, tool calls, command execution, or context injection content.
Core Features¶
dsh-sticky-disclosure provides the following capabilities:
- One-click collapse of all expanded collapsible sections in the session, including Think thinking rows, tool cards, command cards, context injection rows, etc.
- A permanent “Collapse All” button in the bottom-right corner of the chat area, displaying a real-time count.
- When expanded sections scroll off-screen, their headers are automatically pinned to the top of the session; clicking the top chip collapses the original section.
- Supports custom hotkeys; default is
Ctrl+Alt+C,⌘⌥Con macOS, and persists after setting. - Uses app
--dsw-*design tokens to automatically follow the dark/light theme. - Pure DOM implementation that doesn’t touch application code; fully reverts upon uninstallation.
Installation and Enablement¶
First, confirm the environment meets the requirements:
- Node.js ≥ 20
- DeepSeek Harness, and the
dsh plugincommand
If DeepSeek Harness is not yet installed, you can execute:
npm install -g @deepseek-ai/dsh
Then, install the plugin using the following PowerShell script:
irm https://raw.githubusercontent.com/Han-1413141/dsh-sticky-disclosure/main/install.ps1 | iex
After installation, start DSH Web:
dsh web
Plugin collection changes take effect on restart. The plugin bundle is provided with no-cache; if you modify lib/client.js, refresh the page to see changes without restarting the service.
To verify the plugin is loaded into configuration, you can execute:
dsh --profile web --dump-config | findstr sticky-disclosure
After the page loads, the appearance of the “Collapse All” button in the bottom-right corner of the chat area indicates the plugin is active.
Typical Usage¶
Collapse All Expanded Sections¶
After activation, there are two ways to collapse all expanded sections in the current session:
- Click the “Collapse All” button in the bottom-right corner of the chat area.
- Press the custom hotkey, default is
Ctrl+Alt+C, macOS is⌘⌥C.
A real-time count is displayed next to the button to easily confirm how many expanded sections remain in the current session.
If a section has already scrolled off-screen, the plugin will pin its header to the top of the session. Clicking that chip collapses the corresponding section.
Modify Hotkeys¶
The default hotkey is Ctrl+Alt+C, ⌘⌥C on macOS.
If the default key combination conflicts with existing hotkeys, you can modify it by following these steps:
- Click the ⌨ gear button next to the “Collapse All” button to open the settings panel.
- Click “Settings” to enter the hotkey capture state.
- Press the new key combination directly. The new combination must include
Ctrl/⌘/Alt, for exampleCtrl+Shift+K. - It takes effect immediately after pressing and is persisted to browser
localStorage.
Hotkey settings are only saved in browser localStorage and are not uploaded.
If you want to cancel during capture, press Esc. If you want to restore the default hotkey, click “Restore Defaults” to return to Ctrl+Alt+C.
You can also set it programmatically via the debug handle:
window.dshStickyDisclosure.setHotkey({ ctrl: true, shift: true, code: "KeyK" })
The example above sets the hotkey to Ctrl+Shift+K.
Update and Uninstall¶
Update the plugin:
dsh plugin --profile web update dsh-sticky-disclosure
Uninstall the plugin:
dsh plugin --profile web remove dsh-sticky-disclosure
After uninstallation, the content injected by the plugin into the page is reverted.
Suitable Scenarios and Notes¶
Suitable for these scenarios:
- Long-term use of DSH Web conversations.
- Frequent expansion of Think, tool cards, command cards, etc., in sessions.
- Need to quickly collapse all expanded content to continue reading subsequent output.
- Want to use hotkeys instead of the mouse to batch collapse.
Pre-use considerations:
- This plugin only covers the session chat stream within
[data-conversation-scroll]; trajectory views are not within the scope. - The plugin relies on
data-open/data-disclosure-rowDOM contracts. If the upstream app upgrades and changes these internal structures, selectors need to be updated synchronously. - The plugin starts with DSH Web and enters the plugin collection, so it runs with the current DSH process environment. It is recommended to check the source code and MIT license before installing.
- Hotkeys are only saved in browser
localStorageand are not uploaded.
Repository¶
GitHub: https://github.com/Han-1413141/dsh-sticky-disclosure