dsh-keep-going: 恢复 DSH 重启后的中断会话

前言

在使用 DeepSeek Harness (DSH) 时,如果执行了网关重启操作,其他正在进行的对话会停止,历史记录保留但工作中断。你需要找到每个对话并手动输入“continue”才能继续。

dsh-keep-going 插件利用 DSH 保存的会话历史,在网关重启后自动恢复未完成的工作。它不需要浏览器重新打开每个对话,也不局限于通过插件请求的重启。

这是什么

这是一个由 Carrick-K7 维护的 DSH 工作流插件(MIT 许可证)。它的核心价值是:网关重启不应让所有未完成的对话停留在等待状态。

核心功能

插件提供以下能力:

  1. 恢复中断会话与历史:利用持久化的会话记录恢复未完成的工作。
  2. 保持活跃目标运行:重启后自动接续正在执行的目标。
  3. 保留等待用户回答的问题:等待用户回复的对话在重启后保持等待状态,不自动模拟回答。
  4. 仅触发一次:插件在每次进程重启后运行一次,随后进入休眠。
  5. 过滤无效任务:不处理存档会话、暂停、被阻止或已完成的目标。
  6. 不处理工具错误与已完成任务:工具错误或已取消的任务不会被重新启动。

安装与启用

该插件仅通过 GitHub 分发,未发布到 npm。

安装命令如下:

dsh plugin --profile web add git+https://github.com/Carrick-K7/dsh-keep-going.git#0.2.6

安装完成后,必须重启 DSH 进程以激活恢复功能。

典型用法

插件提供了以下命令来管理重启和恢复状态:

  • restart_harness:等待正在运行的工作,保存新接收的消息,然后请求 DSH 正常退出。
  • /restart:与 restart_harness 行为一致,但保留发出命令的对话作为调用者。
  • keep_going_status / /keep-going:检查当前对话的恢复进度和问题,包括未回答的问题。
  • keep_going_clear_goal:移除已停止(暂停、被阻止或完成)的目标,保留其历史记录为墓碑,并清除其恢复记录。

恢复行为说明:
* 恢复后,活跃目标会被重新触发一次,交给 DSH 的目标驱动程序处理。
* 等待用户回答的问题不会被自动回答,需要你在对应对话中手动回复。
* 安全批准(approval)不会被重放,需要通过 DSH 正常机制重新批准。

适用场景与注意

  1. 分发渠道:仅通过 GitHub 仓库分发。
  2. 环境依赖:需要 DSH 提供原生会话、持久性查询、目标驱动程序等核心服务,否则属于部署错误。
  3. 运行机制:插件以当前 DSH 进程权限运行。它不会重新启动已完成的任务或存档会话。
  4. 重启方式:必须通过服务管理器(如 systemd)重启 DSH,插件本身不负责启动替代进程。

结语

dsh-keep-going 为 DSH 提供了自动化的任务恢复能力,避免了因网关重启导致的对话中断。通过简单的配置和命令,可以显著减少维护成本。

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

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

小夜