dsh-esc-stop:在 DSH Web GUI 中用两次 Esc 停止生成

前言

DSH 的插件生态允许把常见操作拆到小插件里。对 dsh web 这类 Web GUI 来说,停止当前对话生成通常需要把鼠标移到停止按钮上。dsh-esc-stop 把这件事压缩成键盘动作:在会话内连按两次 Esc,即可停止当前回合。它复用 GUI 停止按钮背后的 session.cancel 路径,因此不需要额外配置停止逻辑。

这是什么

dsh-esc-stop 是一个 DeepSeek Harness Web GUI 插件,仓库 owner 为 142475,许可证为 MIT。它的目标很小:让 dsh web 在已有会话中可以用快捷键停止当前生成。

该插件只适用于 web profile(dsh web)。tuiheadless profile 有自己的停止键,不适合用这个插件替代。

核心功能

  • 在会话内任意位置连按两次 Esc,两次间隔需在 400ms 内。
  • 触发后停止正在运行的回合。
  • 与内置停止按钮等价,通过 session.cancel 取消当前回合。
  • 待处理的 inbox 消息保留,之后按 FIFO 恢复。
  • 忽略 e.repeat;单击、长按或单次按住 Esc 不会触发。
  • 两次 Esc 间隔超过 400ms 时重新计时。

安装与启用

先确认你在 web profile 目录,例如:

~/.dsh/profiles/web

在该目录执行安装命令:

dsh plugin --profile web add git+https://github.com/142475/dsh-esc-stop.git

然后编辑该 profile 的 package.json,在 dsh.profile.bundles 数组中加入 "dsh-esc-stop"

{
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-esc-stop"
      ]
    }
  }
}

重启 dsh web 后,插件即可生效。package.json 中声明了 node >=22,并声明相关 peerDependencies,因此安装前确认当前 dsh web 环境能加载这些依赖。

典型用法

1、启动 dsh web 并打开一个会话。

2、当回合正在运行时,在会话内任意位置连按两次 Esc

3、如果两次按键间隔超过 400ms,会重新计时,不会触发停止。

4、无会话的首屏(hero)没有可停止内容;监听在会话打开时生效。

适用场景与注意

这个插件适合在浏览器里使用 DSH web,且希望减少鼠标移动来停止生成的人。它不改变 DSH 的会话、权限或配置模型,只增加一个停止快捷键。

使用前注意:

  • 仅适用于 dsh web 的 web profile。
  • 插件会加入当前 dsh 的 web profile,并随当前 dsh 进程运行,因此安装前应检查源码与 MIT 许可证。
  • session.cancel 取消的是当前回合;待处理 inbox 消息仍按 FIFO 保留和恢复。
  • 快捷键只对“正在运行的回合”生效,不适合在无会话首屏使用。

结尾

dsh-esc-stop 的价值很具体:把停止当前生成从按钮操作变成两次 Esc,并保持与 GUI 停止按钮一致的行为。

社区目录页:
https://www.skillhub.cn/plugins/142475/dsh-esc-stop

GitHub:
https://github.com/142475/dsh-esc-stop

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

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

小夜