前言¶
在 DSH Web GUI 中,连续工具调用可能占用较多界面空间。dsh-toolfold 将连续工具调用折叠为一条可展开/收起的折叠条,并对已完成的思考提供显示控制。下面介绍它的核心行为、安装方式和设置项。
这是什么¶
dsh-toolfold 是 DSH Web GUI 插件,维护者为 Minecraftbe,许可证为 MIT。
它不替换任何内置渲染器,卸载后界面完全恢复原样。
核心功能¶
工具调用折叠¶
- 连续工具调用自动折叠,相邻工具调用整段收起。
- 折叠后仅显示最后一个调用的摘要行,并标注折叠数量。
- 点击折叠条可展开/收起工具调用卡片,键盘
Enter/Space同样有效。
思考显示¶
- 已完成的思考默认隐藏,可开启「保留思考」保留。
- 「思考分隔调用组」默认开启,已完成的思考把前后两组工具调用隔开、各自独立折叠。
- 进行中的思考始终保持可见。
动画与统计¶
- 支持弹性瀑布动画,并在系统开启「减少动态效果」时自动关闭动画。
- 支持可选性能统计,在设置卡片内显示插件各环节耗时。
安装与启用¶
使用以下命令安装:
dsh plugin --profile web add dsh-toolfold
安装后重启 dsh 并刷新浏览器即可生效。
确认配置已生效:
dsh --profile web --dump-config
卸载:
dsh plugin --profile web remove dsh-toolfold
卸载后界面完全恢复原样。
典型用法¶
设置入口:
设置 → 插件 → 工具折叠
如果默认隐藏思考不符合预期,可在设置中开启「保留思考」。
如果希望已完成的思考并入所在工具组一起折叠,可关闭「思考分隔调用组」。
也可以手工编辑 ~/.dsh/settings.yaml 中的 toolfold 字段:
toolfold:
durMs:
keepThink:
splitThink:
stats:
其中:
durMs:展开动画时长。keepThink:是否保留已完成的思考。splitThink:是否让已完成的思考隔开前后两组工具调用。stats:是否开启性能统计。
如果没有 DSH 设置服务,设置会退化为 localStorage 键 dsh-toolfold.settings.v1。
如果浏览器不支持 MutationObserver 与 requestAnimationFrame,会退化为初始渲染折叠一次。
适用场景与注意¶
适合在 DSH Web GUI 中查看连续工具调用、并希望减少界面占用的开发者。使用前注意:
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
package.json声明 peerDependencies:@deepseek-ai/dsh-settings、schemastery。- 折叠基于产品稳定的 DOM 渲染标记;若标记变动,最坏情况是折叠停止生效,但不会破坏聊天。
链接¶
- 社区目录:dsh-toolfold
- GitHub:dsh-toolfold