client-resume-button:为 DSH 输入框补上「继续」按钮

前言

在 DeepSeek Harness(DSH)里跑长任务时,一轮对话可能因为用户点停止、进程崩溃或报错而半途结束。此时主提交按钮往往是禁用的,输入框也空着,但模型侧那轮工作并没有正常收尾。常见做法是手动再打一段「请继续」——能跑,却容易漏掉检查残留进程、重复已完成步骤等提醒。

下面介绍社区插件 client-resume-button(仓库 ddy-007/dsh-client-resume-button):在 Composer 输入区增加「继续」按钮,在满足条件时一键让模型接着完成上一轮,而不是从零复述。

这是什么

  • 名称:client-resume-button(npm 包名;目录页为 ddy-007/dsh-client-resume-button)
  • 维护者:ddy-007
  • 分类:客户端
  • 许可:MIT
  • 当前版本(package.json):0.1.4

插件给 DeepSeek Harness 的输入框加一个「继续」按钮:上一轮被 aborted(用户停止)、interrupted(崩溃)或 error 结束后,在合适时机点一下,即可让模型接着把那一轮做完。

界面与显示逻辑

按钮位于模型选择器左侧(README 截图中红圈位置)。开始输入或添加附件时按钮收窄消失,清空输入后展开回来。

按钮可见需同时满足:

  1. 上一轮以 aborted、interrupted 或 error 结束。其中 aborted 仅当子原因是用户主动停止时才算;超时或策略取消不算。
  2. 主提交按钮处于禁用态——输入框为空、没有待上传附件、也没有轮次在运行。

点击后,插件会向模型发送两条来源为 plugin 的提示:一条要求继续,一条提醒检查残留进程、不要重做已完成步骤。

安装与启用

DSH 采用「一切皆插件」的扩展方式;社区目录站点与 DeepSeek / 幻方无官方从属关系,安装前建议自行查看源码与许可证。插件在当前 DSH 进程权限下运行。

图形界面:插件页 → 「添加插件」→ 输入 client-resume-button → 安装 → 重启 DSH。

命令行(--profile 按实际环境填写:桌面客户端用 desktop,dsh web 用 web):

dsh plugin --profile desktop add client-resume-button

装完后必须重启 DSH;浏览器端代码只在启动时加载。

其他方式(需能访问 github.com 时):

dsh plugin --profile desktop add github:ddy-007/dsh-client-resume-button

本地改源码可用 link:,改完重启即可,不必每次重装:

dsh plugin --profile desktop add "link:<仓库绝对路径>"

卸载:

dsh plugin --profile desktop remove client-resume-button

典型用法

  1. 在 DSH 中正常发起一轮 agent 任务。
  2. 若该轮因停止、崩溃或错误结束,且输入区为空、主发送按钮不可用,左侧应出现「继续」。
  3. 点击「继续」,模型在新一轮 turn 中按插件注入的提示接续工作(非续写中断时的半截流式输出)。

注意:一旦再次发送任意消息(触发 turn/start),中断标记会被清除,无法再「继续上一轮」。

限制与兼容性

行为限制(README 明确写出):

  • 按钮不在主提交按钮旁;更近的 conversation.input.activity 槽位为 single 类型,已被语音输入插件占用,抢占会导致应用无法启动。
  • 不能恢复中断时未写入日志的半截输出;插件是新开一轮 turn 重做,而非续写原流。

DSH 版本:实测 0.2.0-rc.2、0.2.1-rc.2。dsh.engines.dsh 声明:

>=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0

低于下界或达到 0.3.0(含 0.3.0-rc.1 等预发布)会被拒绝安装。插件依赖 turn/end reason 枚举、conversation.input.right 槽位等内部约定,DSH 大版本升级后可能需等待插件适配。

环境:Node ^22.19 || >=24;支持 profile web、desktop。

开发与验证

仓库提供不依赖联网的单元测试与隔离验证脚本,便于确认「三种中断留标记、completed 与超时不留」等投影逻辑:

npm test      # 26 个断言
npm run record   # 每态一次折叠的人可读记录
npm run verify   # 在临时 DSH_HOME 里用真实投影注册表跑一遍

npm run verify 需先 pnpm install 以拉取 SDK 依赖。

结尾

client-resume-button 面向经常在 DSH 里跑长链路的开发者:把「上一轮非正常结束 + 输入区空闲」收敛成一个明确操作,减少手写续跑提示的摩擦。详情与 issue 见 GitHub 仓库,目录页见 SkillHub 插件页。

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

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

Xiaoye