前言¶
在 DSH 里跑长对话或复杂工作流时,模型回合偶发失败是常见情况。失败会中断当前轮次,若无人值守,任务往往停在错误状态;若一直盯着界面手动重试,又会打断开发节奏。相比单纯依赖错误日志后再回到会话里手打「继续」,把「失败后是否继续」做成可配置、可感知的插件行为,更贴合日常迭代。
下面介绍社区插件 dsh-model-interruption-notifier(维护者 MeirinRuan,分类:工作流)。它在模型运行失败且回合结束时,默认自动通过原会话消息路径提交固定文本 继续;也可在插件详情关闭自动继续,改为右下角提醒,由你确认后再继续。
这是什么¶
dsh-model-interruption-notifier 是 DeepSeek Harness(DSH)扩展插件,当前包版本 1.1.1,许可证 MIT。插件只使用 DSH 扩展服务,不包含游戏逻辑、公司系统集成、账号配置或会话数据;继续推理仍走原会话的模型服务与上下文,不增加独立上报端点。
在 SkillHub 目录页 可查收录信息;源码与说明在 GitHub 仓库。
核心功能¶
自动继续(默认开启)¶
插件详情页提供 Automatically continue(自动继续)开关,保存后立即生效。开启时,某次对话在空闲且上一轮被记录为失败后,Host 会通过该会话的正常 prompt 路径提交一条内容为 继续 的用户消息。若下一轮再次失败,在满足条件时仍可再次触发;文档未提供次数上限或退避策略,持续失败可能反复消耗模型配额。
自动继续可在无打开页面的情况下运行;加载插件本身不会为历史失败补发继续。
角落提醒与手动确认¶
关闭自动继续后,新的符合条件失败会在右下角显示提醒,包含会话标题与错误信息。Confirm and continue 同样提交 继续;选 Later 或在卡片内按 Escape 会隐藏该次失败(至页面重载前),后续新失败仍可提醒。卡片不抢焦点;与同角落的待回答问题相比,待回答问题优先。
手动确认时会再次检查失败序号与会话运行状态;若提交被拒绝,界面展示错误且不会重复发送。
触发范围与排除¶
仅当错误被记录且该回合结束才算一次「失败轮次」。正常结束、用户手动取消、中间请求重试不算。新的回合或用户消息会清除当前失败状态。普通 fork 出的会话适用;委派子 Agent(delegated subagents)不适用。
数据与界面¶
失败轮次的序号、时间、错误信息与错误码写入 DSH Session 投影;前端读取会话标题与运行状态。提醒样式跟随 DSH 主题。插件不注入工具、不修改 system prompt、不维护独立凭证库。
安装与启用¶
package.json 声明插件面向 DSH 0.2.2-rc.1,其它 DSH 版本需自行验证扩展 API。本地开发环境要求 Node.js ^22.19.0 || >=24.0.0,包管理器 pnpm 11.28.5。
安装步骤建议按官方文档走发布包,而不是凭仓库名拼接命令:
- 在 GitHub Releases 下载预构建的
.tgz(若已有对应版本发布)。 - 通过 DSH 插件管理器安装该文件,或在 CLI 中指定绝对路径。下列示例面向
webprofile:
dsh plugin --profile web add <absolute-path-to-downloaded.tgz>
归档内已含浏览器端构建产物,安装后无需本地 pnpm build。包内 dsh.bundle.patch 挂载 Host;DSH 按清单发现 Client。禁用该 bundle 可同时停止自动继续与提醒。
若要移除已安装的公开包:
dsh plugin --profile web remove dsh-model-interruption-notifier
注意: 不要与旧的 @local/dsh-model-interruption-notifier 同时启用,两者共用同一 Host 插件 ID 与 Session 投影。启用公开包前,应移除或禁用旧的本地面 bundle。
若使用 Desktop CLI 且 profile 为 desktop,需先打开 Desktop 完成初始化,再完全退出 Desktop 后执行插件命令(与 web 示例同理,仅 profile 不同)。
典型用法¶
- 安装并启用插件后,保持详情页 自动继续 为默认开启,在长任务或无人值守跑会话时,模型单轮失败后可自动提交
继续。 - 调试持久性错误、或希望看清错误再决定时,在插件详情关闭自动继续;失败后在右下角阅读标题与错误文案,再点 Confirm and continue。
- 需要从源码参与开发时,在克隆后的仓库内执行(普通用户安装
.tgz可跳过):
pnpm install --frozen-lockfile
pnpm run build
pnpm test
测试覆盖失败轮次选择、继续准入、自动继续与配置注册等,文档仍建议在真实 DSH 会话中联调。
适用场景与注意¶
适合谁: 经常在 DSH 里跑模型回合、且偶发 Provider 或网络错误导致单轮失败的开发者;希望默认「失败后自动续跑」,又能在插件里一键切到「先提醒再确认」的场景。
权限与隐私: 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证。会话标题与错误信息可能包含项目名、路径或 Provider 诊断;对外截图、报 bug 或演示时宜用合成会话,勿公开带敏感内容的运行时配置或 Session 日志。
能力边界: 进程崩溃、网络中断且未形成「已记录回合错误」时,插件无法介入。实时角落提醒需要已连接的页面;同页内的「稍后」仅在该次挂载内有效。浏览器外观与真实指针交互需另行做连接浏览器的检查。
配额: 自动继续可能连环触发并消耗模型配额;对反复失败的会话应关闭自动继续并排查根因。
结尾¶
dsh-model-interruption-notifier 把「模型回合失败后的继续」收成插件内可切换的策略:默认自动发 继续,也可改为角落提醒手动确认,并明确排除委派子 Agent。收录与介绍见 SkillHub 目录,安装与行为细节以 GitHub 文档 为准。