dsh-sticky-disclosure:一键收起 DSH Web 会话中的可折叠区块

前言

DSH Web 客户端里,会话越长,展开的可折叠区块越多:Think 思考行、工具卡片、命令卡片、上下文注入行等会持续累积。逐个点击标题收起不太方便;当区块滑出当前视口后,还需要先滚动回去。

dsh-sticky-disclosure 是一个 DSH Web 客户端插件,用来把当前会话里所有已展开的可折叠区块一次性收起,并支持自定义快捷键。

这是什么

dsh-sticky-disclosureHan-1413141 维护,许可证为 MIT,属于 DSH 的客户端插件。

它解决的问题很简单:当 DSH Web 会话中积累了多个展开区块时,不用逐个收起,一次操作即可全部收起。

主要面向使用 DSH Web、会话中经常包含 Think、工具调用、命令执行或上下文注入内容的开发者。

核心功能

dsh-sticky-disclosure 提供以下能力:

  • 一键收起会话里所有展开的可折叠区块,包括 Think 思考行、工具卡片、命令卡片、上下文注入行等。
  • 聊天区右下角常驻「全部收起」按钮,并显示实时计数。
  • 展开区块滑出屏幕时,标题会自动钉在会话顶部;点击顶部 chip,即可收起原区块。
  • 支持自定义快捷键,默认 Ctrl+Alt+C,macOS 为 ⌘⌥C,设置后会持久保存。
  • 使用应用 --dsw-* 设计令牌,自动跟随深色 / 浅色主题。
  • 纯 DOM 实现,不动应用代码;卸载后即全量还原。

安装与启用

先确认环境满足要求:

  • Node.js ≥ 20
  • DeepSeek Harness,且带有 dsh plugin 命令

如果尚未安装 DeepSeek Harness,可执行:

npm install -g @deepseek-ai/dsh

然后使用下面的 PowerShell 脚本安装插件:

irm https://raw.githubusercontent.com/Han-1413141/dsh-sticky-disclosure/main/install.ps1 | iex

安装完成后,启动 DSH Web:

dsh web

插件集合变化在重启时生效。插件 bundle 按 no-cache 提供,如果修改了 lib/client.js,刷新页面即可看到变化,不需要重启服务。

验证插件是否进入配置,可执行:

dsh --profile web --dump-config | findstr sticky-disclosure

页面加载后,聊天区右下角出现「全部收起」按钮,即表示插件已激活。

典型用法

收起所有展开区块

激活后,可以有两种方式收起当前会话中的全部展开区块:

  1. 点击聊天区右下角的「全部收起」按钮。
  2. 按下自定义快捷键,默认为 Ctrl+Alt+C,macOS 为 ⌘⌥C

按钮旁边会显示实时计数,方便确认当前会话中还有多少个展开区块。

如果某个展开区块已经滑出屏幕,插件会把它的标题钉在会话顶部。点击该 chip,即可收起对应区块。

修改快捷键

默认快捷键是 Ctrl+Alt+C,macOS 为 ⌘⌥C

如果默认组合键与现有快捷键冲突,可以按下面步骤修改:

  1. 点击「全部收起」按钮旁的 ⌨ 齿轮按钮,打开设置面板。
  2. 点击「设置」,进入快捷键捕获状态。
  3. 直接按下新的组合键。新组合键必须包含 Ctrl / / Alt 之一,例如 Ctrl+Shift+K
  4. 按下后立即生效,并持久保存到浏览器 localStorage

快捷键设置仅保存在浏览器 localStorage 中,不会上传。

如果捕获期间想取消,可按 Esc。如果想恢复默认快捷键,可点击「恢复默认」,回到 Ctrl+Alt+C

也可以通过调试句柄编程设置:

window.dshStickyDisclosure.setHotkey({ ctrl: true, shift: true, code: "KeyK" })

上面示例将快捷键设置为 Ctrl+Shift+K

更新与卸载

更新插件:

dsh plugin --profile web update dsh-sticky-disclosure

卸载插件:

dsh plugin --profile web remove dsh-sticky-disclosure

卸载后,插件对页面注入的内容会被还原。

适用场景与注意

适合这类使用场景:

  • 长时间使用 DSH Web 对话。
  • 会话中经常展开 Think、工具卡片、命令卡片等区块。
  • 需要快速收起所有展开内容,继续阅读后续输出。
  • 希望用快捷键而不是鼠标完成批量收起。

使用前需要注意:

  • 该插件只覆盖会话聊天流,范围是 [data-conversation-scroll] 内的内容;轨迹视图不在覆盖范围内。
  • 插件依赖 data-open / data-disclosure-row DOM 契约。如果上游应用升级后改变了这些内部结构,需要同步更新选择器。
  • 插件会随 DSH Web 启动并进入插件集合,因此会随当前 DSH 进程环境运行。安装前建议先检查源码与 MIT 许可证。
  • 快捷键只保存在浏览器 localStorage,不会上传。

仓库

GitHub:https://github.com/Han-1413141/dsh-sticky-disclosure

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

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

小夜