dsh-goal-restart
在终端中运行以下命令:
dsh plugin install joshryandavis/dsh-goal-restart
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install joshryandavis/dsh-goal-restart 即可安装该插件,源码地址为 https://github.com/joshryandavis/dsh-goal-restart
插件介绍
dsh 的目标状态(目标文本、阶段、轮次计数)持久化在会话日志中,天然能跨越重启存活。但目标的激活状态是刻意设计为进程本地的,永远不持久化,每次 agent 或 session 启动都会解除武装。这意味着当 dsh 服务因崩溃、launchd 重启或计划内维护而重启后,正在执行中的目标会停在原地,直到有人手动执行 /goal resume 才能继续。对于长时间运行任务(比如 agent 自己开发插件)来说,这一步中断既打断节奏又容易遗忘。
dsh-goal-restart 在 session 从持久化载荷重新加载时(payload.source 为 resume),检测到仍处于活跃阶段且轮次预算未耗尽的目标,便自动调用 ctx.goals.resume,让 dsh-base 挂载的 goal-round-driver 像人类手动恢复一样预留并提交下一轮次。策略刻意保守:全新启动、fork 会话、子 agent 会话、目标已暂停或已完成、已处于武装状态、轮次预算耗尽——这六种情况一律跳过,只在那一个精确时刻触发一次持久化恢复写入(revision 加一),与人类 /goal resume 执行完全相同的领域操作。
适合在 dsh 上跑长任务、希望服务重启后目标自动接上而不需要人盯着的 agent 工作流用户。插件体积小、无网络依赖,通过 13 个内存单元测试和一个冒烟脚本验证,MIT 协议。
使用场景
- dsh 服务因崩溃或计划维护重启后,正在执行的目标无需人工干预自动接上下一轮次
- agent 长时间运行任务期间服务被 launchd 重新拉起,目标从断点继续而非停留在原地
- 替代每次服务重启后手动执行 /goal resume 的重复操作
适合人员
- 在 dsh 上跑长时间 agent 任务并希望重启后目标自动继续的开发者
- 运维 dsh 生产环境、服务重启属于常态的 agent 工作流操作者
- 希望减少长任务人工看护成本的 dsh 高级用户