在 DeepSeek Harness (DSH) 的开发场景中,模型请求失败会导致本轮运行中断,需要手动干预才能继续。dsh-auto-continue 插件监听请求错误,在失败后自动注入「继续」指令,并沿兜底链切换模型,实现免手动干预。
核心功能¶
该插件主要解决模型推理失败时的自动恢复问题:
- 监听与记录:监听
agent/request-error记录失败,失败模型会被持久化记录到~/.dsh/auto-continue/model-fails.,重启 dsh 不丢。 - 冷却机制:默认冷却期 5 小时。冷却期内每次切换都跳过该模型,直到冷却期结束。
- 循环切换:失败模型冷却期内每次切换都跳过,沿兜底链循环切换模型,直到换到能用的模型。
- 每会话上限:每会话继续上限默认 100 次,正常完成后自动清零。
- 限流处理:429 限流也走重试→切换循环。
- 截断行为:
max-tokens截断只注入「继续」,不换模型。 - 重启行为:重启后不续跑历史遗留失败轮。
- 手动控制:支持手动暂停/恢复。
安装¶
通过插件管理器安装:
github:cglyvip/dsh-auto-continue
安装前需确认插件管理器声明了 dsh.bundle.patch,否则管理器会报错。
配置与使用¶
会话指令¶
在会话中可使用以下指令:
/autocont— 查看状态/autocont on|off— 临时开关(本次运行内有效)/autocont reset— 清空冷却与计数
文件配置¶
设置文件位于 ~/.dsh/auto-continue/settings.(优先级高于 profile)。若需完全回到 profile 配置,可删除该文件。
在 profile 的 cordis.patch.yml 里可覆盖以下字段:
retriesPerModel:同一模型失败后先重试的次数(默认 3)。continueMax:每会话继续次数上限(默认 100)。fallbacks:兜底链(provider+model 列表)。
日志与文件路径¶
- 日志文件:
~/.dsh/auto-continue/activity.log(超过 512KB 自动轮转为.old)。 - 持久化记录:
~/.dsh/auto-continue/model-fails.
装完重启 dsh 后,建议先查看 activity.log 确认插件已加载。