dsh-llm-retry-settings: LLM 自动重试与续写配置插件

前言

DeepSeek Harness (DSH) 的插件系统允许开发者扩展核心行为。dsh-llm-retry-settings 是一个插件,它提供了一个设置卡片,允许用户直接在 DSH 的“设置 -> 通用”界面中调整 LLM 自动重试策略(包括重试次数、退避时间和抖动)以及处理输出截断后的自动续写。它通过覆盖 agent/request-error 重试策略来实现这些控制。

核心功能

该插件在设置界面提供了一个卡片,用于配置重试和续写行为。

  • 设置界面集成:插件通过 client bundle lib/client.js 注入 UI,在 DSH 的“设置 -> 通用”中显示“LLM 自动重试”卡片。
  • 重试参数覆盖:开启覆盖后,可以调整 maxRetries(最大重试次数)、initialDelayMs(初始延迟)、maxDelayMs(最大延迟)和 jitterRatio(抖动比率)。
  • 错误码管理:支持从已知错误码列表中选择,或直接在“自定义”组中输入新的错误码(需符合 A-Z 0-9 _ - . 格式),这些代码会被合并到各提供商的重试列表中。
  • 输出截断自动续写:兼容内核 0.1.7-alpha.1,当回复被输出 token 上限截断时,可自动触发续写(默认关闭)。
  • 细粒度覆盖:支持按提供商和模型进行单独的策略覆盖,优先匹配规则,支持 * 通配符。
  • 观测面板:卡片底部包含一个只读面板,实时显示重试失败的统计、自动续写的记录以及达到上限的轮次。
  • 内核兼容:兼容 DSH 新内核 0.1.7-alpha.1。

安装与启用

安装前请确保已拥有一个 DSH Desktop 配置文件(Web 配置文件位于 ~/.dsh/profiles/web)。

使用 dsh plugin 命令安装:

dsh plugin --profile web add github:zeng6125-rgb/dsh-llm-retry-settings

安装完成后,需要在配置文件中注册该插件。在对应的 dsh.profile.bundles 配置项中添加 "dsh-llm-retry-settings",然后重启 DSH。

典型用法

  1. 打开 DSH 的 设置 -> 通用。
  2. 找到 LLM 自动重试 卡片。
  3. 切换 开启覆盖 开关以应用该策略。
  4. 设置 maxRetries、initialDelayMs 等参数,并在错误码列表中选择或添加特定错误码。
  5. (可选)开启 输出截断自动续写 并设置 maxContinuations 上限。如需自定义续写提示词,可在 续写提示词 中输入,留空则使用内置提示词。

适用场景与注意

该插件适合需要对 LLM 调用的重试策略进行精细化控制,或者需要处理因输出 token 上限导致回答中断的场景。

  • 默认行为:默认情况下 enabled: false,插件处于完全旁路状态,不会修改任何默认行为,直到手动开启覆盖。
  • 命令区分:请使用 dsh plugin(DSH CLI 的子命令),而不是 dsh-plugin。
  • 源码审查:安装插件前,建议检查源代码与许可证。

短结尾

这个插件通过将重试策略配置下沉到设置界面,让开发者能够更直观地管理 LLM 调用的容错机制。详细的配置项与目录页信息请参考 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜