前言¶
在 DeepSeek Harness (DSH) 中,长时间运行的目标会话在 Harness 重启后通常无法自动恢复。单纯的 agents.resume() 往往无法让会话重新运行,因为模型变量、工具集和目标驱动器在重启后都会重置。
dsh-goal-auto 旨在解决这个问题,它提供了一套机制,让用户可以在会话头部标记恢复状态,并在 Harness 重启时自动完成代理重载、预设挂载和目标驱动器的重新激活。
这是什么¶
dsh-goal-auto 是一个为 DeepSeek Harness (DSH) 提供的会话级自动恢复切换插件。
- 维护者:FuWenLianggit
- 许可证:MIT
- 定位:解决长运行目标会话在 Harness 重启后自动恢复的问题。
核心功能¶
该插件提供了以下核心能力:
- 会话切换按钮:在会话头部的操作栏中增加一个 🔁 切换按钮,用于标记当前会话。
- 自动恢复逻辑:重启 Harness 后,被标记的会话会自动恢复运行。这包括重新加载代理、挂载代理预设、重新武装目标以及保持目标驱动器的持续运行。
- HTTP API:提供接口用于查询状态和手动控制会话的恢复行为。
安装与启用¶
安装该插件需使用官方提供的安装命令,指定本地仓库路径:
dsh plugin --profile web add file://<this repo path>
另一种方式是将插件文件放置在 <DSH_HOME>/plugins/dsh-goal-auto,并在 profile 的 package.json 中添加 file: 或 link: 依赖,同时在 profiles/<name>/node_modules/@huanlin/dsh-goal-auto 下创建符号链接。
典型用法¶
使用该插件主要涉及标记会话、切换恢复状态以及强制恢复。
- 标记会话:在 DSH 界面中,通过会话头部操作栏的 🔁 按钮标记需要自动恢复的会话。
- 切换状态:通过 HTTP API 切换会话的恢复标志:
POST /__goal-auto/toggle
该接口会翻转会话标志,若开启状态则立即开始运行。
- 强制恢复:通过 API 强制对某个会话执行恢复操作(通常用于诊断):
POST /__goal-auto/resume-now
适用场景与注意¶
- 看门狗依赖:该插件仅负责在 Harness 启动时恢复会话,并不保持 Harness 进程本身存活。如果 Harness 崩溃、挂起或被终止,插件无法重启它。必须在外部部署一个进程看门狗来监控 Harness 进程的健康状态(TCP 监听与 HTTP 响应),并在进程异常时将其拉起。
- 状态存储:会话的自动恢复状态保存在
<DSH_HOME>/goal-auto-state目录下。 - 兼容性:插件依赖
@deepseek-ai/dsh-client-runtime进行客户端注入,并支持 Web 平台。
结尾¶
dsh-goal-auto 通过解决会话重启后的三层问题(模型变量、工具集、目标驱动器),填补了 DSH 在长时间运行场景下的空白。