dsh-turn-fold:把 DSH 的 Think 与工具调用折叠成步骤和回合栏

前言

在 DSH(DeepSeek Harness)的 Web 界面里,一轮智能体回复可能同时包含 Think、工具调用、文件读取和命令输出。内容一多,界面会被过程节点占满,最终总结反而不容易快速定位。

dsh-turn-fold 是一个 DSH 纯插件,只负责“折叠”:把步骤过程收成步骤折叠栏,把整轮回复收成回合折叠栏,同时保留手动展开/收起能力。它由 Winter-And-You-Gone 维护,使用 MIT 许可证,不修改任何 @deepseek-ai/dsh-* 源码。

DSH 插件生态属于社区扩展方式;相关目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应理解为官方应用商店。

这是什么

  • 插件名:dsh-turn-fold
  • npm 包名:@winteries/dsh-turn-fold
  • 仓库:https://github.com/Winter-And-You-Gone/dsh-turn-fold
  • 许可证:MIT
  • 运行要求:Node >=20.3,DSH Web profile
  • 核心作用:步骤分组自动折叠、运行中回合折叠栏、整回合折叠、手动展开/收起

核心功能

步骤分组自动折叠

两个 text 之间的工具调用和 Think(含纯 Think 段)会收成一个步骤折叠栏,默认折叠。

运行中,步骤折叠栏会动态显示当前动作,例如正在运行的工具名、参数摘要,或正在思考的 Think 内容;文字带 shimmer 动效。

段闭合后,折叠栏按工具类型分组显示标题,例如:

  • 运行了pwsh
  • 读取了client.js
  • 编辑了index.js [ +12 -3 ]
  • 搜索了2次
  • 思考了N次

组内命令执行失败时,标题会标红并追加失败数。

运行中回合折叠栏

发送消息后,回合折叠栏即出现。它会实时显示:

  • 耗时
  • 首字
  • 消耗 token
  • tok/s
  • 缓存命中率
  • 待折叠步数

右侧显示轮次,例如 第x轮

回合结束后,指标会切换为官方权威值:turn-tail 的 tok/s、turn/end 的精确耗时。

整回合折叠

一轮回复完成后,整个回合同样会收成回合折叠栏。展开时可以看到本回合内的过程内容;最终总结只显示正文。

折叠作用域不越过用户消息,不会折叠用户消息上方的内容。

手动与界面

  • 手动展开/收起折叠栏。
  • 每个新版本首次加载时弹出一次更新说明。
  • 复用官方 DisclosureRow 样式,折叠栏下方有常驻分隔线,行距保持紧凑。
  • 展开/收起有过渡动画;系统开启“减少动态效果”时自动退化或禁用。
  • 界面文案跟随 DSH 界面语言实时切换,支持简体中文/英语。
  • 折叠栏带 aria-label / aria-expanded,键盘可操作。
  • 前导图标可自定义,内置动态扑克牌。
  • 适配 DSH 新旧版本。

安装与启用

npm 安装

先确认本机 Node 满足 >=20.3,然后在 DSH Web profile 下执行:

dsh plugin --profile web add @winteries/dsh-turn-fold

也可以从 GitHub 源码安装:

dsh plugin --profile web add github:Winter-And-You-Gone/dsh-turn-fold

dsh plugin 会把包加入 profile 的 pnpm 依赖,并自动追加到组合包层 dsh.profile.bundles

验证配置

执行:

dsh --profile web --dump-config

确认输出中能看到 @winteries/dsh-turn-fold 层。

重启 DSH

安装完成后,完全退出 DSH 进程并重启,再打开 Web 界面验证折叠栏效果。

手工安装

如果已有本地插件目录,可以使用 PowerShell 脚本:

.\install.ps1 -PluginSource "<你的插件目录>"

脚本会:

1、在 ~/.dsh/profiles/node_modules/@winteries/dsh-turn-fold 建立 Junction;
2、在 ~/.dsh/profiles/web/cordis.patch.yml 追加 insert 注册;
3、完成后同样需要完全退出 DSH 进程并重启。

典型用法

1、启动 DSH Web profile。
2、发送一条会触发 Think 或工具调用的消息。
3、消息发出后查看运行中回合折叠栏,观察耗时、首字、token、tok/s、缓存命中率等指标。
4、等待本轮回复完成,查看最终总结正文是否保留、过程内容是否已收成回合折叠栏。
5、点击折叠栏展开/收起,检查步骤标题、失败标红、图标和分隔线显示。

如果你要在本地跑测试:

npm install
npm test

npm test 使用 node --test 运行 tests/ 下的全部测试。

适用场景与注意

适合:

  • 在 DSH Web 界面中使用长回合智能体回复。
  • 希望减少 Think、工具调用、命令输出占据可视区域的场景。
  • 希望保留最终总结正文,同时仍可按需展开过程节点。

注意:

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 新安装请使用 @winteries/dsh-turn-fold;旧包名 dsh-turn-fold 仍会随每次发布同步更新。
  • 手工安装会修改 profile 的注册文件,卸载或回滚前确认来源。
  • 卸载 npm 安装的插件:
dsh plugin --profile web remove @winteries/dsh-turn-fold

结尾

dsh-turn-fold 的价值很具体:把 DSH 运行过程中的 Think、工具调用和回合指标折叠成可展开/收起的栏位,最终总结正文保持可见。它不修改 DSH 核心包,适合作为 DSH Web 界面的折叠增强插件。

插件线索目录页:https://www.skillhub.cn/plugins/Winter-And-You-Gone/dsh-turn-fold
GitHub:https://github.com/Winter-And-You-Gone/dsh-turn-fold

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

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

小夜