dsh-phoenix: DeepSeek Harness 的无感重启与目标延续

DeepSeek Harness (dsh) 将一切视为插件,其 Web 进程作为 systemd 管理的长驻服务运行。当需要更新插件或重启时,硬重启会打断当前任务、断开浏览器连接并丢失内存中的目标状态。dsh-phoenix 将“插件更新 → 重启 dsh”这一破坏性操作转化为可恢复的循环:任务在安全边界结束,浏览器自动重连,长期目标跨重启继续演进。

dsh-phoenix 是一个持久化插件,由 StvLi 维护。它解决了三个核心痛点:在安全边界重启、保持页面连接、以及跨重启恢复目标状态。

核心能力

1. 安全重启

插件通过 cordis_run 工具激活时,dsh-phoenix 不会立即重启。它会检查所有活跃代理(包括子代理),只有当所有代理处于空闲状态时才执行重启。为了防止无限等待,设置了 5 分钟上限。

重启过程通过 systemd-run --user 作为独立的临时单元运行,确保被重启进程能完整结束。

2. 客户端自动重连

插件注册 /__dsh_health 端点,返回一个基于启动的 token。

它向客户端注入一个零依赖的心跳脚本,定期轮询该端点。一旦 token 变化(即后端重启),页面会自动刷新。这消除了后端重启导致的页面冻结或“停止”状态。

3. 跨重启目标延续

目标状态在会话日志中是持久的,但 dsh 在每次重启时会禁用活跃目标。

dsh-phoenix 读取持久化的 JSON 检查点。如果 pendingResume 为 true,它会找到当前代理的活跃且已禁用的目标,并调用 goals.resume() 重新激活该目标,使驱动程序继续下一轮迭代。

使用方式

自主演化循环

结合上述能力,可以实现跨重启的自主演化循环:

  1. 读取检查点
  2. 决定下一步
  3. 测试或修改插件
  4. 写入检查点(pendingResume: true)
  5. 安全重启
  6. dsh 启动,dsh-phoenix 重新武装目标
  7. 进入下一轮…

命令操作

使用 dsh plugin add/remove/update CLI 命令管理插件。

环境要求与注意

  • Node.js: 需要 >= 22。
  • 依赖: 需要 @deepseek-ai/dsh-tools 和 @deepseek-ai/dsh-agent-presets 作为对等依赖。
  • 触发机制: 仅响应 cordis_run 操作。DHS 自身的 HMR 热重载编辑不会触发重启。
  • 许可证: MIT。

通过检查点作为持久化记忆,目标作为驱动器,重新武装作为复活点,dsh-phoenix 为 dsh 提供了一个完整的、无感的生命周期管理能力。

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

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

小夜