Introduction

In DSH Web GUI, thought and tool chains are displayed as collapsed rows by default. When a session contains a large number of reasoning steps or tool calls, expanding or collapsing each row one by one can be cumbersome. This article introduces the nekodd-wow/dsh-chain-toggle-all plugin, which adds a control button to the session header to enable one-click operations.

Plugin Overview

This is a client plugin maintained by NekoDD-wow to manage display states in bulk within DSH Web GUI. It requires no complex configuration and can be used in the session view immediately after installation.

Core Features

  1. Header control button: Adds an “Expand All” or “Collapse All” button to the action row in the session header.
  2. Bulk operations:
    - Click “Expand All”: all thought chains (Think) and tool calls (Tool call) in the current session are expanded at once.
    - Click “Collapse All”: all chains are collapsed back into a one-line summary.
  3. Automatic state synchronization: The button label automatically switches according to the actual state (based on monitoring aria-expanded with MutationObserver).
  4. Smart hiding: If no chains exist in the session, the button is automatically hidden and does not take up UI space.

Installation and Activation

Install it using official profile management:

dsh plugin --profile web add "github:NekoDD-wow/dsh-chain-toggle-all"

After installation, restart the web client. The button will appear to the right of the title in the session header.

Typical Usage

After installing and restarting the web client, open any session. If thought chains or tool chains exist in the session, the button will appear automatically. Click the button to uniformly expand or collapse all chains in the current session.

Notes

  • The plugin runs at the bundle layer and must be reloaded by restarting the web client after installation to take effect.
  • The implementation scans the DOM purely on the frontend; it does not modify DSH source code or inject global styles.
  • After uninstalling the plugin, the interface is fully restored to its original state.

Summary

This tool addresses the cumbersome management of long sessions in DSH Web GUI and enables bulk interaction with a small amount of code. For more details and source code, see the GitHub repository