前言¶
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)。tui 和 headless 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