前言¶
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。
典型用法¶
- 打开 DSH 的 设置 -> 通用。
- 找到 LLM 自动重试 卡片。
- 切换 开启覆盖 开关以应用该策略。
- 设置
maxRetries、initialDelayMs等参数,并在错误码列表中选择或添加特定错误码。 - (可选)开启 输出截断自动续写 并设置
maxContinuations上限。如需自定义续写提示词,可在 续写提示词 中输入,留空则使用内置提示词。
适用场景与注意¶
该插件适合需要对 LLM 调用的重试策略进行精细化控制,或者需要处理因输出 token 上限导致回答中断的场景。
- 默认行为:默认情况下
enabled: false,插件处于完全旁路状态,不会修改任何默认行为,直到手动开启覆盖。 - 命令区分:请使用
dsh plugin(DSH CLI 的子命令),而不是dsh-plugin。 - 源码审查:安装插件前,建议检查源代码与许可证。
短结尾¶
这个插件通过将重试策略配置下沉到设置界面,让开发者能够更直观地管理 LLM 调用的容错机制。详细的配置项与目录页信息请参考 GitHub 仓库。