DSH Plugins
返回列表
⚙️

dsh-llm-net-retry

工作流 更新于 2026.08.26

在终端中运行以下命令:

dsh plugin install fan56/dsh-llm-net-retry

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 终端执行 dsh plugin install fan56/dsh-llm-net-retry 即可安装,插件源码位于 https://github.com/fan56/dsh-llm-net-retry

插件介绍

使用 OpenAI 兼容网关(如 OpenCode Zen)接入 LLM 时,上游的瞬时连接中断往往不表现为 HTTP 错误或超时,而是以流末 finish_reason: "network_error" 的形式静默结束。dsh 原生重试策略将这类失败归入不可重试桶,结果是整个 agent turn——包括 subagent turn——瞬间硬失败,而实际上再发一次几乎总能成功。dsh-llm-net-retry 正是为此而生:它挂在 agent/request-error 瀑布的最末端,只有当所有上游监听者(含 dsh-llm-retry)全部弃权、且失败消息明确命中 network_error 变体时,才调度一次有界指数退避重试。重试事件沿用 llm/retry 既有 schema,TUI 无需任何改动即可展示退避过程;计数使用独立的 net-retry 策略键,绝不污染原生 llm-retry 的预算。

插件对 dsh 本体零侵入——没有 monkey-patch,不替换任何服务,卸载后不留任何落盘状态或 settings 残留。在 dsh 上游修复合入之前,它是这类网关瞬时故障唯一可用的兜底;合入之后它也只是安静地待机,因为触发条件本身就要求原生策略已弃权。

适合正在 dsh ≥ 0.1.2-rc.1 上跑 agent 工作流、且上游经过 OpenAI 兼容网关转发的开发者:如果你的 subagent 经常在 "network_error" 上莫名终止,装上这个插件就能把这类本可自愈的间歇性故障挡在 turn 边界之外。

使用场景

  • 通过 OpenAI 兼容网关接入 LLM 时上游瞬时断连,finish_reason 报 network_error 导致整个 turn 硬失败
  • subagent turn 因原生策略将 network_error 归为不可重试而直接中断,实际再发一次即可恢复
  • 网关把上游连接故障以流终止 finish_reason 形式上报,而非走 HTTP/传输层错误通道

适合人员

  • 使用 dsh 0.1.2-rc.1 及以上版本运行 agent 工作流的开发者
  • 通过 OpenCode Zen 等 OpenAI 兼容网关转发 LLM 请求、频繁遇到瞬时断连的团队
  • 希望在不 monkey-patch dsh 本体的前提下获得网络故障自动退避重试能力的用户