Minecraftbe/dsh-toolfold 预览 preview

Minecraftbe/dsh-toolfold

Plugin插件 Native原生 ⭐ 7 MIT Sessions & Context会话与上下文

Codex风格的工具调用折叠 / Codex 风格的 DSH Web GUI 折叠

Project Overview项目介绍

dsh-toolfold is a native plugin built exclusively for the DeepSeek Harness (DSH) Web GUI. It adds a simple folding feature for consecutive tool calls in DSH's chat interface, bundling multiple sequential tool calls into a single compact fold bar that only displays a one-line summary of the last call. Users can click the fold bar to expand or collapse all the tool calls, and the plugin does not replace any of DSH’s built-in renderers. To install, users can run the dsh plugin --profile web add dsh-toolfold npm command, or install directly from GitHub or local source code.

After installation, users need to restart DSH and refresh their browser for the plugin to take effect. Once activated, any consecutive tool calls in the chat interface will be automatically folded by default. Two common default behaviors may confuse first-time users: completed thinking blocks are hidden by default, and tool calls are split into separate groups by thinking blocks. Both of these behaviors can be adjusted easily in the plugin’s settings menu. This plugin is intended for DSH web users who prefer a cleaner, less cluttered chat interface when working with multiple sequential tool calls.

This plugin is released under the open source MIT license, and it is designed to have extremely low performance overhead. Testing shows it uses roughly 0.03% of a single CPU core when idle, and all tasks are paused when the browser tab is hidden to avoid unnecessary resource usage. It automatically respects system preferences for reduced motion, disabling all animations when this setting is enabled. It only supports DSH versions within the range declared in the plugin’s package.json, and users will see a version mismatch warning if they run it on an unsupported DSH version.

这是一款专为DSH Web GUI开发的原生插件,核心功能是为DSH对话界面提供连续工具调用的折叠体验。它会将对话中连续的多条工具调用折叠成一条简洁的折叠栏,仅展示最后一次调用的一行摘要,点击即可展开或收起全部内容。该插件不替换DSH任何内置渲染器,卸载后界面会完全恢复原状,支持通过npm、GitHub、本地源码三种方式安装。

安装完成重启DSH并刷新浏览器后插件即可生效,对话中连续的工具调用会自动完成折叠。初次使用可能会遇到两个常见情况,一是已完成的思考内容默认隐藏,二是工具调用被按思考分段折叠,这两个默认行为都可以在设置中按需调整。这款插件适合希望精简DSH网页端对话界面、减少连续工具调用带来视觉杂乱的用户使用。

本插件采用MIT许可协议开源,性能开销极低,实测空闲状态下仅占用约0.03%的单核资源,标签页隐藏时会暂停所有任务进一步降低占用。它遵循系统动态效果偏好,开启「减少动态效果」时会自动关闭动画。仅支持package.json中声明的DSH版本范围,超出范围可能无法正常工作,设置默认存储在DSH主机配置文件。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 7 stars - very few users, little community feedback星标只有 7,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add dsh-toolfold

把 Minecraftbe/dsh-toolfold 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-toolfold · 工具调用折叠

Awesome DSH Plugin

中文 | English

DSH Web GUI 插件,提供简单的工具调用折叠体验:把连续的工具调用折叠成一条简洁的折叠条,只展示最后一个调用的一行摘要,点击即可展开/收起。不替换任何内置渲染器,卸载后界面完全恢复原样。

折叠效果演示


目录


安装

推荐(通过 npm)

dsh plugin --profile web add dsh-toolfold

其他方式

# 从 GitHub 安装
dsh plugin --profile web add github:Minecraftbe/dsh-toolfold

# 从源码安装
git clone https://github.com/Minecraftbe/dsh-toolfold.git
dsh plugin --profile web add ./dsh-toolfold

安装后重启 dsh 并刷新浏览器即可生效。可通过以下命令确认配置已生效:

dsh --profile web --dump-config

卸载

dsh plugin --profile web remove dsh-toolfold

重启后界面完全恢复原样。

⚠️ 版本支持:本插件支持的 DSH 区间以 package.json 中 engines.dsh 声明为准。在此范围之外的 DSH 上,设置卡片会显示版本不匹配警告(hover 提示 live 区间),折叠功能可能无法正常工作。


快速上手

安装完成后,在 DSH 对话界面中,连续的工具调用会自动折叠为一条折叠条。

  • 点击折叠条:展开或收起工具调用卡片(键盘 Enter / Space 同样有效)
  • 折叠条显示:最后一个工具调用的一行摘要 + “N次调用”

展开/收起动画


初次使用·默认行为说明

插件安装后立即生效,你可能首先注意到两个“异常”现象——这都是默认设置所致,可按需调整。

❓ 思考内容怎么消失了?

原因:默认「思考显示」为「自动跟随官方折叠」——官方未收起整块过程时,已完成的思考默认隐藏以节省空间。

改回:设置 → 插件 → 工具折叠 → 「思考显示」选「始终保留」。

❓ 工具调用为什么被切成了两段?

原因:默认开启「思考分隔调用组」(splitThink: true),插件把思考视为逻辑分界线,将前后的工具调用各自独立折叠。

改回:设置 → 插件 → 工具折叠 → 关闭「思考分隔调用组」。

进行中的思考不受任何开关影响,始终保持可见,完成后再按规则处理。


功能特性

核心折叠行为

  • 连续工具调用自动折叠:相邻工具调用整段收起,仅显示最后一个调用的摘要行,并标注折叠数量
  • 思考分隔调用组(默认开启):已完成的思考会将前后两组工具调用隔开、各自独立折叠,不会跨思考合并
  • 思考显示(三档):默认「自动跟随官方折叠」——官方收起整块过程时保留思考,其余时候隐藏;也可切「始终保留」(分隔模式下显示在两条折叠条之间,合并模式下展开时插回调用之间)或「始终隐藏」
  • 进行中的思考独立显示:流式思考始终保持可见,完成后按上述规则处理

动画与体验

  • 弹性瀑布动画:展开时卡片逐张落下(带 spring 回弹),收起时逐张上行且高度同步收缩,下方内容连续上移、无跳变
  • 贴底不顶出:靠近底部展开时,折叠条视口位置固定,不会因自动滚动被顶出屏幕
  • 尊重系统偏好:系统开启「减少动态效果」时,动画自动关闭

性能与资源

  • 接近零性能占用:无页面级观察器,流式期间引擎零工作,标签页隐藏时全部暂停(空闲开销约 0.03% 单核)
  • 实时性能统计(可选):在设置卡片内显示插件各环节耗时,便于验证开销

设置说明

设置入口:设置 → 插件 → 工具折叠(卡片外观与内置插件一致,跟随深浅主题)。

设置卡片

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev SumSec-Skills 下一个 Next dsh-plugin-jev-effort-selector →