tmeeli/dsh-auto-goal-resume
tmeeli★ 0JavaScriptLast synced: 2026-08-16
DeepSeek Harness 插件:重启后自动续跑有活跃目标(goal)的会话,无需人工说继续。
README excerpt
dsh-auto-goal-resume DeepSeek Harness 插件 —— DSH 重启后,自动续跑有活跃目标(goal)的会话,无需人工说"继续"。 当你在 DSH 里让 AI 执行一个长任务(多阶段、跨多轮),中途进程重启或升级后,任务会默认停在原地——因为 DSH 的 goal 系统刻意不持久化"继续执行的授权"。本插件把这个授权步骤自动化:重启后自动扫描、恢复 agent、重新武装目标,让 goal-round-driver 无缝接续剩余工作。 目录 - 背景:为什么需要这个插件 - 功能特性 - 工作原理 - 安装 - 验证与日志 - 端到端测试示例 - 安全与限制 - 常见问题 FAQ - 许可证 背景:为什么需要这个插件 DSH 的 goal 系统(同会话目标)把 目标本身 ——目标文本、生命周期阶段(active / paused / blocked / complete)、已跑轮次——作为 goal/change 事件持久化到会话日志。这部分跨重启存活。 但 "继续执行的授权"(activation)永不持久化 ,这是刻意的安全设计: - 每次进程重启、会话恢复( agent/session-start )、或 fork,目标都会被 disarm (解除武装); - disarm 之后, goal-round-driver (自动轮次驱动)不会启动任何新轮次; - 必须有一次 显式 resume (人工授权)才能 rearm,之后 driver 才会在 agent 空闲时自动驱动剩余轮次,直到完成 / 阻塞 / 轮次上限。 因此默认行为是: 任务目标还在,但重启后停在原地,等你发一句"继续" 。 本插件消除的正是这一步:它扮演"部署策略级的自动恢复",在 DSH 启动后代替人工执行那一次 resume。 设计取舍说明:DSH 官方选择"人工授权"是为了防止自动继续一个环境已变、目标过时或可能产生副作用(写文件、调外部 API)的任务。启用本插件 = 你明确接受"重启后自动继续"这一策略。建议配合目标自身的轮次上限( maxGoalRounds )使用。 功能特性 - 自动续跑 :重启后无需任何人工指令,自动恢复仍在进行中的目标; - 冷恢复 agent :目标所属会话的 agent 不在内存时,从持久化自动恢复,并复用该会话记录的 preset 组合(工具集、人设一致,不会跑偏); - 幂等 :已 armed 或 phase 已变化的会话直接跳过,重复扫描无副作用; - 容错 :单个会话失败不影响其他会话;服务未就绪时自动重试(最多 15 次,间隔 60 秒); - 零依赖 :逻辑自包含,不 import 任何包,不引入依赖解析链路; - 护栏保留 :轮次上限由目标定义,自动恢复不会无限执行;blocked / paused /…
View full README on GitHub →