At a glance
What it does
A DSH web UI plugin that condenses thinking and tool-call activity into expandable process sections.
Web Profile
DSH >=0.1.2-rc.1
Evidence-verified
Checked Sep 11, 2026, 2:14 PM UTC
Code-evidenced contributions
What it adds to DSH
Folds thinking and tool-call steps while preserving native user-input and LLM-answer rendering.
Mechanism evidence ↗Before you choose it
Conversation Folding makes long DSH conversations easier to scan: it groups intermediate thinking and tool calls, keeps user prompts and LLM output in their native styles, and lets you expand the full process when needed. Think blocks remain available in scrollable panels, and consecutive tool calls can be grouped.
Best for
DSH web users who want less visual noise in long agent or tool-heavy conversations without hiding the final answer.
Common tasks
- Keep a long conversation readable while preserving the full assistant response.
- Expand a folded process section to inspect thinking or tool activity.
- Choose which of 18 step types should be folded in the Conversation Folding settings tab.
Permissions and data
Client UI enhancement with configuration handled through the DSH settings system.
Permissions- Adds a client-side conversation-rendering plugin to the DSH web profile.
- Uses the plugin RPC route /conversation-folding/config to read and write its settings.
- Its display settings are persisted under ~/.dsh/settings.yaml in the dsh-conversation-folding namespace.
- The documentation says it does not alter conversation content itself.
Limitations
- Requires Node.js 20 or later and DSH 0.1.2-rc.1 or later according to the project documentation.
- Only Fold display mode is managed by this plugin; Normal and Compact use the official rendering.
- The supplied evidence does not verify a successful installation or runtime behavior.
- The cited npm package version was not found; use the verified pinned Git bundle path instead.
What DSHub checked
- The pinned Git source, package structure, and bundle patch entry were verified.
- The package declares a web client platform, Node.js >=20, and an MIT license.
What DSHub did not check
- Installation was not executed.
- Actual rendering behavior, settings persistence, and compatibility with a running DSH instance were not tested.
Pinned install
Install DSH Conversation Folding
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
dsh-conversation-folding
dsh-conversation-folding 是一个纯 UI 增强插件,用于优化 DSH 对话流的阅读体验。它把思考过程、工具调用等中间过程折叠起来,同时保持用户输入和 LLM 输出使用原生渲染样式,不改变内容本身。
✨ 功能一览
整轮折叠(默认)
- 用户输入保持原生样式。
- 思考/工具调用过程被折叠为一个独立的折叠栏。
- 尚未生成正文时,折叠栏下方保留最近一次过程预览;开始生成正文后,过程自动隐藏,只显示正文。
- 点击“展开过程”可以查看完整过程。
Tool call 分组折叠
- 连续的
tool-call步骤会折叠成组,默认只显示最新一个,减少对话流中的重复工具调用刷屏。
- 连续的
思维链增强
Think块默认展开为可滚动子框。- 生成过程中自动跟随底部,方便实时阅读。
- 新的思维链出现时,只折叠紧邻的前一个,保持上下文连续。
折叠的步骤类型可按类型配置
- 设置 →「对话折叠」独立标签页:18 个步骤类型分别开关是否折叠 (bash / think / read / write / edit / glob / grep / web / skill / 子代理 / 后台任务 / goal / 任务清单 / 提问 / ralph / workflow / 上下文注入 / 系统提示词)。
- 默认不折叠:上下文注入、skill、系统提示词;其余类型折叠。
📦 安装
前置条件:已安装 DSH,且 dsh web 可以正常运行。
通过 npm / DSH CLI 安装
dsh plugin --profile web add @the-heart-fickle/dsh-conversation-folding@latest
通过 plugin-registry 安装
npm run package:registry
dsh registry install ./registry
dsh registry enable the-heart-fickle/dsh-conversation-folding
registry/是本地生成的安装暂存目录,不会提交到仓库。
🚀 快速上手
- 安装插件后重启 DSH,并刷新浏览器页面。
- 发送一条消息,观察:
- 思考/工具调用过程被折叠为独立折叠栏;
- 正文开始输出后,过程自动隐藏;
- 点击“展开过程”可查看完整过程。
- 想回到官方渲染时,在设置中把「对话显示」切换为 Normal / Compact 即可。
⚙️ 配置
全部配置在浏览器端「设置」内完成,经 host 设置系统持久化到
~/.dsh/settings.yaml(dsh-conversation-folding: 命名空间),跨端/重载恢复:
- 对话显示(设置 → 对话显示):
Normal/Compact/Fold。仅「Fold」由 本插件接管过程折叠,折叠行为只有一种:整轮折叠,正文永不折叠。 - 对话折叠(独立标签页):各步骤类型的「是否折叠」开关。工具调用按 host
工具注册表的字面注册名经匹配表精确匹配(如
pwsh→Shell 命令、str_replace_editor→编辑文件、todo_write→任务清单、ask_user_question→提问); 未列入匹配表的工具类型始终折叠。默认不折叠:上下文注入、skill、系统提示词。 浏览器 localStorage 不存任何配置。
0.1.x 曾支持 profile
cordis.patch.yml下发foldMode/auxVisible;自本版本起 配置全部移到浏览器设置,host 不再持有配置。
🗂️ 效果示意
思考阶段(正文未开始)
用户输入
┌──────────────────────────────────┐
│ 折叠栏:展开过程 N 个步骤 │
└──────────────────────────────────┘
最近一次 thinking / tool call(增强样式)
正文输出后(多段正文全部保留,仅过程折叠)
用户输入
┌──────────────────────────────────┐
│ 折叠栏:展开过程 N 个步骤 │
└──────────────────────────────────┘
LLM 输出(原生正文样式,中间播报也完整可见)
🔧 环境要求
- Node.js ≥ 20
- DSH ≥ 0.1.2-rc.1(client 半边依赖 0.1.2 的
useChatChatSnapshot)
📡 通信架构
host 半边只经官方 settings 服务触达配置:注册自有 settings 命名空间,经插件
RPC 路由 /conversation-folding/config 读写(src/index.ts);client 半边经
官方 Loader + slots 注入(0.1.2 slot 选举制约束见 docs/SPEC.md 与
docs/BUGS.md):
- 构建:源码在
src/(host 半边src/index.ts,浏览器端src/client/),npm run build经 esbuild 生成lib/——lib/index.js与以window.__ModuleLoader__.load({ id, factory })包装注册的单文件 bundlelib/client.js(除 react 与官方 primitives 外全部内联)。lib/为构建产物 不入库,npm test前自动构建。 - 官方 Loader:
dsh.plugin.json仅负责装载浏览器半边lib/client.js; host 壳(lib/index.js)是零依赖占位,不注入任何官方服务。 - 显隐实现约束(0.1.2 slot 选举制):shadow 官方 tool-call 树再转发不可行
(shadowed entry 对查询不可见,输赢取决于 bundle 加载顺序),插件只 shadow
assistant-step/turn-process,tool-call / context 由按座位 anchor key 生成的动态 CSS 控制显隐,官方组件原生渲染。
许可证
MIT
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Web Profile
Delivery: Dsh Bundle Git — TheHeartFickle/dsh-conversation-folding#b21e104efb5a59a4b56c75488ec2fa329ecc0b43。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile web listCompatibility and access
DSH ≥0.1.2 Rc.1; Node.js ≥20: DSH >=0.1.2-rc.1。
Review compatibility evidence ↗
Risk facts
Stores its own display settings through DSH settings under the dsh-conversation-folding namespace.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use the pinned repository source for audit and installation review; registry availability is not established by the supplied evidence.
AI reviewed Sep 11, 2026, 2:14 PM UTC。GitHub facts last checked Sep 11, 2026, 2:14 PM UTC。
No material source change has been recorded since this evidence baseline.