← 返回列表
未验证
空提交续写中断回合,重启自动恢复运行中的会话与子代理
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/15 · 已提供中文文档
从空提交恢复中断的 DSH 轮次,并恢复在关闭时正在运行的会话或子代理。
综合分
27.5
GitHub 分
27.5
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xiaohj233/dsh-resume该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-resume 状态:功能插件(含兼容补丁),仅在 DeepSeek Harness 0.1.0-rc.6 上测试过。 dsh-resume 为 DSH Web 配置提供两项连续性能力:中断的回合可以在输入框为空时直接续写(不会出现可见的"继续"消息);DSH 停止时仍在运行的会话,下次启动后会自动恢复。 问题 上游 DSH 已经能恢复已存储的会话、修复损坏的日志,但它不会把"空提交"当作续写指令,也不会在进程关闭时自动记下"当时正在运行的会话和子代理"并在下次启动时原样恢复。 行为 - 回合被中断时,把已收到的部分文本和推理内容并入会话历史。 - 中断的对话支持空提交续写。 - 在 ~/.dsh/resume-state.json 中记录正在运行的顶层会话和子代理。 - 只恢复关闭时仍在运行的条目;已完成的回合或用户主动中止的回合不会恢复。 - 状态文件按会话逐个消费:每个成功恢复的会话都会立刻从持久化集合中移除(原子写入)。因此恢复过程中即使崩溃或被强杀,也不会丢失其余会话——下次启动会继续恢复剩下的部分。失败的恢复会保留记录,下次启动重试。 - 启动时自动重试已记录的子代理;失败的条目仍可通过 resume_interrupted_subagents 一键重试。 - 恢复诊断写入 ~/.dsh/resume-state.log。 非目标 本插件不会导入其他 agent 的会话、回退任意回合、迁移工作区,也不保证远程 provider 能逐字节重现被中断的流,更不负责修复上游会话日志中的所有竞态。 实现机制 宿主插件监听 agent 生命周期事件,并使用官方 agents.resume 服务。兼容补丁为以下包补充了"部分回合折叠"和"空提交续写"处理: - @deepseek-ai/dsh-agent-loop@0.1.0-rc.6 - @deepseek-ai/dsh-session@0.1.0-rc.6 - @deepseek-ai/dsh-client-ui-conversation@0.1.0-rc.6 每个补丁块都幂等,并有明确的逆向操作。版本策略默认自适应:如果已安装副本的版本不是 0.1.0-rc.6,但每个锚点仍然唯一匹配,就照常打补丁(记为 adaptive 匹配);锚点漂移则跳过并说明原因。编程选项 strict 可恢复"只打精确版本"的旧行为。单个漂移副本不会阻塞其他副本,补丁应用在模块加载期也绝不会抛错——上游升级不会卡死 agent 循环。还原在任何模式下都严格校验版本。 兼容性 已在 DeepSeek Harness 0.1.0-rc.6、Node.js ^22.19.0 || >=24、pnpm >=10 上测试。上游升级后,建议各跑一次 dsh-resume-restore 和 verify:anchors,确认每个补丁块要么已应用、要么是有意跳过。 安装 dsh plugin --profile web add "github:xiaohj233/dsh-resume#v0.2.1" 重启 Web 配置。启动时会先应用守卫式兼容补丁,再启用恢复行为。 配置 如需覆盖,在更靠后的配置层修改 dsh-resume 行: - id: dsh-resume config: enabled: true restoreDelayMs: 2000 enabled 控制是否在启动时自动恢复。运行时跟踪始终开启,之后启用时仍能恢复已记录集合。 还原与卸载 卸载前先还原官方包文件: pnpm --dir "$DSH_HOME/profiles/web" exec dsh-resume-restore dsh plugin --profile web remove dsh-resume 未设置 $DSH_HOME 时,配置位于用户主目录下(POSIX 为 ~/.dsh/profiles/web,Windows PowerShell 为 %USERPROFILE%\.dsh\profiles\web);Windows 上请把解析后的路径传给 pnpm --dir,不要用 ~。正常的 Cordis 关闭不会撤销补丁——关闭恰恰是连续性状态需要保留的时机。 卸载后 resume-state.json 和 resume-state.log 不再被读取。如果不再需要其中的会话标识与诊断信息,可手动删除。 安全与隐私 状态文件和日志包含会话/子代理标识符、模型与恢复诊断、失败消息。它们不会有意存储凭据值,但应视为私有运行时数据。自动恢复会发起新的模型请求并产生 provider 用量。 测试 npm test npm run check npm pack --dry-run 测试覆盖:版本拒绝、唯一锚点拒绝、整批原子性、幂等性、补丁/还原的字节级往返、正常关闭行为,以及还原 CLI 的失败路径。 局限性与上游现状 上游已提供 resumeSessionId、中断回合收尾器、检查点与会话持久化。本插件建立在这些机制之上,只补上缺失的"空提交续写"和"关闭时运行集合恢复"行为。DSH Discussion #420 记录了上游恢复/收尾的序列竞态,本插件不承诺消除它。 License MIT。补丁目标均为 MIT 许可,详见 THIRD_PARTY_NOTICES.md。
扫码进群