dsh-conversation-folding:DSH 对话流渲染增强插件

在 DSH(DeepSeek Harness)的开发与使用中,对话流的渲染效率直接影响调试与交互体验。当思考链、工具调用等中间过程混在正文中间时,对话流会变得冗长且难以阅读。dsh-conversation-folding 插件旨在解决这一问题,通过折叠机制优化 UI 展示,而不改变底层内容逻辑。

这是一个纯 UI 增强插件,由 TheHeartFickle 维护。它将思考过程和工具调用等中间步骤折叠起来,同时保持用户输入和 LLM 输出使用原生渲染样式,不改变内容本身。

核心功能

  1. 整轮折叠(默认)
    用户输入保持原生样式。思考/工具调用过程被折叠为一个独立的折叠栏。尚未生成正文时,折叠栏下方保留最近一次过程预览;开始生成正文后,过程自动隐藏,只显示正文。点击“展开过程”可以查看完整过程。

  2. Tool call 分组折叠
    连续的 tool-call 步骤会折叠成组,默认只显示最新一个,减少对话流中的重复工具调用刷屏。

  3. 思维链增强
    Think 块默认展开为可滚动子框。生成过程中自动跟随底部,方便实时阅读。新出现时,只折叠紧邻的前一个,保持上下文连续。

  4. 折叠的步骤类型可按类型配置
    设置 →「对话折叠」独立标签页:18 个步骤类型分别开关是否折叠(bash / think / read / write / edit / glob / grep / web / skill / 子代理 / 后台任务 / goal / 任务清单 / 提问 / ralph / workflow / 上下文注入 / 系统提示词)。默认不折叠:上下文注入、skill、系统提示词;其余类型折叠。

安装与启用

前置条件:已安装 DSH,且 dsh web 可以正常运行。环境要求 Node.js ≥ 20,DSH ≥ 0.1.2-rc.1。

通过 DSH CLI 安装:

dsh plugin --profile web add @the-heart-fickle/dsh-conversation-folding@latest

安装后,重启 DSH 并刷新浏览器页面。

典型用法

  1. 发送一条消息。
  2. 观察:思考/工具调用过程被折叠为独立折叠栏;正文开始输出后,过程自动隐藏。
  3. 点击“展开过程”可查看完整过程。
  4. 想回到官方渲染时,在设置中把「对话显示」切换为 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 不再持有配置。

适用场景与注意

适合需要频繁查看工具调用细节,但又不希望被大量中间过程刷屏的开发者与用户。

注意:插件以当前 DSH 进程权限运行,安装前请检查源码与许可证(MIT)。

总结

该插件通过折叠机制提升了长对话的阅读体验。更多细节与源码,可参考:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜