Bundle
@dsh-external/dsh-turn-collapse
Codex-style turn folding: collapse each group of reasoning + tool-call nodes (between visible outputs) into a single disclosure unit
- Source
- mctang985211-coder
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# dsh-turn-collapse Codex-style **turn-level folding** for the DeepSeek Harness Web UI: collapse everything between two visible outputs — the reasoning chain and the tool calls — into a single disclosure unit with a triangle toggle. English | [中文](README.zh-CN.md) ## What it does In the default DSH chat flow, each assistant turn renders its reasoning (`Think` row) and its tool calls as separate collapsible rows. `dsh-turn-collapse` groups them the Codex way: ``` [▶ 思考与工具 · 5 项] ← 折叠条:两段实际输出之间的一切(思考 + 工具调用) 文字输出 1 [▶ 思考与工具 · 3 项] 文字输出 2 ``` - **One fold bar per gap between visible outputs** (input → first output, output → output, …). - Bars are **collapsed by default**; click to expand the whole group (native `Think` rows and `ToolRow`s remain individually usable inside). - State is persisted per session in `localStorage`. - Visual style reuses the DSH design tokens (`--dsw-alias-*`) and matches the native header rows. ## Install ```bash git clone https://github.com/mctang985211-coder/dsh-turn-collapse cd dsh-turn-collapse dsh plugin --profile web add link:$(pwd) # restart dsh web (hard refresh the browser) ``` ## How it works A pure client-side plugin. It watches the conversation scroll container (`[data-conversation-scroll]`) with a `MutationObserver` and reconciles fold groups from the flow items: - Flow node kinds come from `data-chat-flow-kind` (`assistant-step`, `tool-call`, …). - Reasoning rows are located by `data-variant="think"` inside each assistant-step. - A node counts as a **visible output** when, after stripping think rows and tool chains, it still contains text. - Consecutive non-output elements (thinking-only assistant steps + tool-call nodes) form one fold group; the disclosure bar is inserted before the group's first element. React re-renders are handled by re-running the reconcile pass; group open/close state survives re-renders and page reloads via `localStorage`. No host-side code, no servers, no API surface. ## License MIT
Install
dsh plugin --profile web add github:mctang985211-coder/dsh-turn-collapse
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-external-dsh-turn-collapse from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.