Asteroid0449/dsh-restart-resume

Asteroid0449★ 0JavaScript最后同步: 2026-08-21

在 GitHub 打开

面向 DeepSeek Harness 的安全自重启与同会话续接插件。

README 摘要

dsh-restart-resume 简体中文 English 面向 DeepSeek Harness rc8+ 的安全自重启与同会话续接:等待工作排空、展示真实状态、由外部监督器重新拉起后端,并在续接落盘后自动恢复 Web 页面。 必要前提: DSH 必须由理解退出码 75 的监督器启动。插件不能凭空重新拉起已经退出的进程;没有监督器时, dsh restart 会拒绝执行。 30 秒快速开始 要求:Node.js 22.19+、DeepSeek Harness 0.1.0-rc.8+。 从 Releases 下载压缩包后安装到 Web profile: 随后按 监督器契约与示例 配置启动器,并通过监督器重新启动 DSH。普通的 dsh web 不满足自动拉起条件。 首次验证可以告诉 Agent: 查询自重启状态。只有监督器、bootId 和运行版本都可验证时,安排一次 report-only 测试重启;不要要求我手动刷新页面。 普通用户会看到什么 - 重启请求先进入等待排空状态,不会强杀会话、子代理或后台任务。 - 最终倒计时只在已经排空时出现;期间出现新工作会退回等待状态。 - 后端断联期间状态条明确显示“启动暂不可观测”,不会提前宣称成功。 - 新 bootId 证明新的后端实例已经应答。 - 原会话的续接消息持久化后,Web 自动重连并刷新。 - 点击“取消重启”后,终止状态会短暂确认并彻底移除,不持续闪烁。 - 启动或续接失败会显示失败状态,不会伪装成“重启完成”。 三项固定工具 工具 用途 是否写入 dsh restart 安排受监督重启,默认把它视为原任务中的检查点并在同会话继续 是:写入持久化 marker,并最终请求退出 dsh restart status 查询阶段、倒计时、阻塞项、bootId 和稳定工具面摘要 否 dsh restart cancel 取消尚未退出的重启请求并清理状态 是:取消 marker 三个工具始终以相同顺序和 schema 注册;状态变化不会改变模型请求的工具前缀。 状态流程 安全行为 - 默认等待全部活跃会话、已发布子代理和后台 jobs 排空。 - 排空超时只取消重启,不强杀工作;单次工具调用最短等待 5 分钟。 - 最终倒计时默认 10 秒、最短 5 秒。 - 只用退出码 75 请求自动拉起;普通退出和崩溃不能形成重启循环。 - 原子 marker、有效期、频率限制和幂等消息避免重复续接与重启环路。 - resumeMode: "continue" 会继续原始任务中尚未完成的配置、验证和交付;只有独立测试才使用 report-only 。 - 续接契约明确规定 Web 自动恢复。只有实际检查证明页面仍旧时,Agent 才应建议手动刷新。 监督器契约 启动器必须在每次拉起进程前设置: 它必须只在退出码 7…

在 GitHub 查看完整 README →
工具/开发deepseek-harnessdshdsh-pluginrestartsession-resumesupervisor

分类