Preface

In the DSH Web GUI, consecutive tool calls can occupy substantial interface space. dsh-toolfold collapses consecutive tool calls into a single expandable/collapsible fold bar and provides display controls for completed thoughts. Below, we describe its core behavior, installation, and settings.

What This Is

dsh-toolfold is a plugin for the DSH Web GUI, maintained by Minecraftbe, licensed under MIT.

It does not replace any built-in renderer; after uninstallation, the interface fully reverts to its original state.

Core Features

Tool Call Folding

  • Consecutive tool calls are automatically folded, collapsing adjacent tool calls into a single section.
  • When folded, only a summary line for the last call is displayed, with the fold count noted.
  • Click the fold bar to expand/collapse tool call cards; the Enter / Space keys work as well.

Thought Display

  • Completed thoughts are hidden by default; you can enable “Keep Thoughts” to retain them.
  • “Thoughts Split Call Groups” is enabled by default, causing completed thoughts to separate preceding and following tool call groups, each folded independently.
  • Ongoing thoughts remain visible at all times.

Animation & Statistics

  • Supports elastic waterfall animation, automatically disabled when the system has “Reduce Motion” enabled.
  • Supports optional performance statistics, showing the time consumed by each plugin stage in the settings card.

Installation & Activation

Install using the following command:

dsh plugin --profile web add dsh-toolfold

After installation, restart dsh and refresh the browser to take effect.

Verify the configuration is active:

dsh --profile web --dump-config

Uninstall:

dsh plugin --profile web remove dsh-toolfold

The interface fully reverts to its original state after uninstallation.

Typical Usage

Settings entry point:

Settings → Plugins → Tool Folding

If default hiding of thoughts is not as expected, enable “Keep Thoughts” in settings.

If you want completed thoughts to be folded into the same tool group, disable “Thoughts Split Call Groups.”

You can also manually edit the toolfold field in ~/.dsh/settings.yaml:

toolfold:
  durMs:
  keepThink:
  splitThink:
  stats:

Where:

  • durMs: Animation duration for expansion.
  • keepThink: Whether to keep completed thoughts.
  • splitThink: Whether completed thoughts separate the preceding and following tool call groups.
  • stats: Whether to enable performance statistics.

If no DSH settings service is available, settings degrade to the localStorage key dsh-toolfold.settings.v1.

If the browser does not support MutationObserver or requestAnimationFrame, it falls back to a single fold performed at initial rendering.

Applicable Scenarios & Notes

Suitable for developers who view consecutive tool calls in the DSH Web GUI and want to reduce interface clutter. Before use, note:

  • The plugin runs with the current process’s permissions; review the source code and license before installation.
  • package.json declares peerDependencies: @deepseek-ai/dsh-settings, schemastery.
  • Folding relies on stable product DOM rendering markers; if these markers change, the worst-case scenario is that folding stops working, but chat functionality will not be broken.

Links