Skip to content
dsh.fish
Bundle

dsh-tool-fold

Fold tool-call cards in the DSH conversation into a minimal expander — maximum collapse, click to expand

Source
HarryLi-7
License
MIT
Updated
Updated 23 days ago

Readme

# dsh-tool-fold

Fold all tool-call cards and thinking blocks in the DSH conversation into a
single switch. Maximum collapse: process content is completely hidden by
default; one toggle in **Settings → General** shows/hides everything.

## What it does

| State | Effect |
|---|---|
| Toggle **off** (default) | All tool-call cards (`[data-chat-flow-kind="tool-call"]`) and thinking blocks (`[data-variant="think"]`) are completely hidden — the conversation shows only user messages and assistant replies |
| Toggle **on** | Everything is restored with native rendering (zero loss); process blocks are tinted with the GUI brand blue so "process" is visually distinct from "result" |
| Persistence | State is saved to localStorage and survives reloads |

The control lives in **Settings → General settings**, between "Appearance"
and "Enter behavior when busy" (order 15).

## Why "maximum collapse"

Instead of folding each card into its own header (which leaves a vertical
stack of icons), this plugin hides everything and exposes **one** global
toggle — a much cleaner conversation view. No counts, no labels, no icons
cluttering the flow.

## Implementation

- Pure client plugin (no host code).
- State rides an attribute on `<html>` (`data-dsh-tools-open`), so newly
  rendered nodes (streaming, virtualization) follow automatically — no
  mutation observer needed for display.
- Stable DOM anchors only (`data-chat-flow-kind="tool-call"`,
  `data-variant="think"`) — no CSS-module hashed class dependencies.
- Reasoning blocks (`assistant-step` / thinking) are included in the fold,
  per user preference; assistant reply text is never touched.

## Install

```sh
dsh plugin --profile web add /path/to/dsh-tool-fold
```

Restart `dsh web`, then refresh the page. Open **Settings → General** to
find the toggle.

## License

MIT

Install

dsh plugin --profile web add github:HarryLi-7/dsh-tool-fold

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source