插件目录 / UI & Skins / dsh-esc-stop
dsh-esc-stop
已验证 · 实测可装 142475
功能简介
DeepSeek Harness web GUI plugin: press Esc to stop conversation generation (same as the stop button).
可用 — 实测通过,早期项目
DeepSeek Harness web GUI plugin: press Esc to stop conversation generation (same as the stop button). 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-esc-stop
DeepSeek Harness Web GUI 插件:连续按两次 Esc 停止当前对话的生成——效果与点击 GUI 停止按钮完全一致。
无额外 UI、无需配置、无 host 逻辑。浏览器端捕获 Escape 键,通过 GUI 停止按钮同一条 RPC(session.cancel,经共享的 connection 服务)取消当前回合。两次按键间隔需在 400ms 内,可避免误触。
功能
- 在会话内任意位置连按两次
Esc(400ms 内)→ 停止正在运行的回合。 - 与内置停止按钮等价:待处理的 inbox 消息保留,之后按 FIFO 恢复。
- 按键重复安全(忽略
e.repeat),单次按住不会触发,必须按两次。 - 长按或单击
Esc不会触发;两次按键间隔超过 400ms 则重新计时。
安装
将包加入 web profile 并注册 bundle:
# 在 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 即可生效,无需进一步配置。
工作原理
| 层 | 职责 |
|---|---|
lib/client.js |
浏览器端:在会话头部操作区注册隐藏项,安装 window keydown 监听,400ms 内连按两次 Escape 时调用 connection.api.sessions.cancel({ sessionId })。 |
lib/index.js |
Node 端:最小 cordis 行,保证 bundle patch 挂载;全部行为在客户端实现。 |
session.cancel RPC 与 GUI 停止按钮调用的是同一条,因此行为(包括 inbox 保留、子代理 agent-busy 语义)完全一致。
注意
- 仅 web profile(
dsh web);tui/headless profile 有自己的停止键。 - 会话打开时监听生效;无会话的首屏(hero)无可停止内容。
- 两次
Esc间隔超过 400ms 则重新计时,单击不会触发。
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-esc-stop」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:142475/dsh-esc-stop Headless(CLI)profile:
dsh plugin --profile headless add github:142475/dsh-esc-stop 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。