前言¶
DeepSeek Harness 的 agent 会在完成一轮工具交互后连续发出下一轮请求。若想中途介入,直接打断会导致模型“胆小”或停止工作。此插件在请求发出前拉门暂停,保持输入框可用,允许人类通过回车或按钮放行。
插件定位¶
这是一个纯插件(better-er/dsh-pause),运行在 DSH Web 上。它挂在 agent/pre-step 钩子上,在模型准备发送下一次请求前停下。暂停期间,输入框照常可用,用户可以输入插话或直接回车继续。此过程不中断任何正在进行的 API 调用,模型也察觉不到暂停的存在。
核心功能¶
- 可开关:默认关闭,每个会话可独立开启。
- 暂停在请求前:模型完成一轮工具交互、正要发出下一次请求之前停下,不打断任何在途 API 调用。
- 保持 composer 可用:暂停期间输入框照常可打字,不遮挡、不切换。
- 回车即放行:在主输入框按裸 Enter 继续。草稿为空为无感继续,草稿有字则把文字作为插话随本次请求一并发出,随后清空草稿。
- 按钮同样放行:也可直接点「已暂停·回车或点此继续」按钮,行为同上并读取当前草稿。
- 模型无感知:上下文完整、不插入多余消息,模型察觉不到暂停存在。
安装¶
dsh plugin --profile web add github:better-er/dsh-pause
安装后需重启 DSH Web 才能生效。
使用方法¶
- 点 composer 工具行右侧的「暂停」按钮,变「暂停开」即该会话已开启。
- 之后该会话的工具续跑请求会在发出前停下。
- 需要放行时在主输入框按裸 Enter,空为无感继续,有字为插话。也可点「已暂停·回车或点此继续」。
- 用完再点「暂停开」关掉。暂停中关掉会放行正挂着的门。
技术细节¶
- 暂停点设在请求真正发出之前,故无在途调用可打断。
- 续跑判定用同一 turn 内 step 大于 1 近似,首条纯文字请求永不暂停。
- 因 DSH 的 composer Enter 由 InputBar 私有 keymap 处理、第三方无 hook 点,暂停态用 DOM capture 拦截裸 Enter 改走放行。
- 主机侧不经
ctx.connection.rpc.handle(该 API 自 0.1.2 起即不可用),改为向 webServer 自注册/dsh-pause前缀路由。
生态背景¶
DSH 理念是「一切皆插件」。该插件由社区开发者维护,与 DeepSeek / 幻方无官方从属关系。