🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模型轮换兜底 User-Clb/dsh-model-rotation

DeepSeek Harness
User-Clb9 天前有提交已提供中文文档扫描:含敏感能力

重试耗尽或模型故障时自动切换备用模型继续运行

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add User-Clb/dsh-model-rotation
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 9 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 11 处,展示前 11 条)
  • 读取本地文件
    index.js:210
    if (!existsSync(CONFIG_FILE)) return { ...DEFAULTS };
  • 读取本地文件
    index.js:211
    const raw = readFileSync(CONFIG_FILE, 'utf8').replace(/^ FEFF/u, '');
  • 写入本地文件
    index.js:220
    mkdirSync(path.dirname(CONFIG_FILE), { recursive: true });
  • 写入本地文件
    index.js:223
    writeFileSync(temporary, serialized, 'utf8');
  • 写入本地文件
    index.js:225
    renameSync(temporary, CONFIG_FILE);
  • 删除本地文件
    index.js:228
    rmSync(CONFIG_FILE, { force: true });
  • 写入本地文件
    index.js:233
    renameSync(temporary, CONFIG_FILE);
  • 写入本地文件
    index.js:235
    writeFileSync(CONFIG_FILE, serialized, 'utf8');
  • 读取本地文件
    index.js:650
    if (!existsSync(catalogFile)) continue;
  • 读取本地文件
    index.js:652
    const raw = JSON.parse(readFileSync(catalogFile, 'utf8').replace(/^ FEFF/u, ''));
  • 读取本地文件
    index.js:830
    existsSync(powershellPath) ? powershellPath : 'powershell.exe',
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 模型轮换兜底插件:重试耗尽或模型侧故障(额度用尽/429/soft_rate等)时按预设跨平台模型顺序循环切换继续运行 | Model rotation fallback plugin for DeepSeek Harness

README

由 DeepSeek 最新模型翻译生成
dsh-model-rotation 中文说明 DSH(DeepSeek Harness)模型轮换兜底插件:模型请求重试次数超过上限后,或遇到模型侧故障(额度用尽、429、soft_rate、限流、超时、上游不可用等)时,按预设的跨平台模型顺序循环轮流切换继续运行,直到成功,或短时间内所有模型都不可用为止。 功能特性 - 精确的重试边界协作:与官方 @deepseek-ai/dsh-llm-retry 无缝配合——重试预算内不打扰(由官方重试器自行结算),预算耗尽或故障码不可重试时才接管,切换模型后在同一 turn 内重跑失败的 step。 - 全码路故障捕获:按稳定故障码路由(QUOTA / ACCOUNT_QUOTA / RATE_LIMIT / SERVER / TIMEOUT / TRANSPORT / AUTH / MISSING_CREDENTIAL / INVALID_CREDENTIAL / EMPTY_RESPONSE / NO_ADAPTER …
展开完整文档(README 剩余 1 节)
dsh-model-rotation

中文说明

DSH(DeepSeek Harness)模型轮换兜底插件:模型请求重试次数超过上限后,或遇到模型侧故障(额度用尽、429、soft_rate、限流、超时、上游不可用等)时,按预设的跨平台模型顺序循环轮流切换继续运行,直到成功,或短时间内所有模型都不可用为止。

功能特性

- 精确的重试边界协作:与官方 @deepseek-ai/dsh-llm-retry 无缝配合——重试预算内不打扰(由官方重试器自行结算),预算耗尽或故障码不可重试时才接管,切换模型后在同一 turn 内重跑失败的 step。
- 全码路故障捕获:按稳定故障码路由(QUOTA / ACCOUNT_QUOTA / RATE_LIMIT / SERVER / TIMEOUT / TRANSPORT / AUTH / MISSING_CREDENTIAL / INVALID_CREDENTIAL / EMPTY_RESPONSE / NO_ADAPTER …),并叠加措辞兜底识别:
- 429、soft_rate、额度已用尽、额度不足、余额不足、配额
- temporarily set aside、soonest returns in、upstream、no available channel、无可用渠道
- 连接重置 / 拒绝 / 超时、socket hang up、bad gateway、空响应等
- CONTEXT_WINDOW_EXCEEDED(上下文超限,归 compaction 管)与用户取消不触发轮换
- 跨平台模型目录:从 ctx.llm.listProviders() + listModels() 读取所有已配置平台的全部模型(DeepSeek 官方 / WorkBuddy / NVIDIA NIM / AMD / OpenRouter / 智谱 / 讯飞 / 硅基流动……),一个列表自由混排。
- 循环兜底机制:一轮 = 列表里每个模型都试过一次;默认 30 分钟窗口内完成 3 轮完整循环即停止继续轮换(= 短期内所有模型都不可用),失败按原样上报。「重置循环记录」一键清零恢复预算。
- 输入框内组件:面板直接挂在 composer 活动区——总开关、循环上限/窗口设置、模型列表、添加/移除、拖动排序、重置按钮,全部就地完成。
- 与模型选择列表联动:
- 轮换切换走官方 session.selectModel 同一条持久化路径(model/selection 事件 + modelSelection 投影),composer 模型座位、/model 弹窗、会话投影自动跟随显示新模型;
- 列表内当前实际生效的模型以绿色圆点实时标识,轮换到哪行圆点跟到哪行;
- 当前模型解析链与 session-controller 一致:投影 pending → lastUsed → 请求头 → 部署默认模型,全新会话也能正确显示。

安装

方式一:从本仓库(本地 link)

1. 克隆到本地
git clone https://github.com/User-Clb/dsh-model-rotation.git "$env:USERPROFILE\.dsh\local-plugins\dsh-model-rotation"

2. 建 junction 进 desktop profile 的 node_modules cmd /c mklink /J "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-model-rotation" "$env:USERPROFILE\.dsh\local-plugins\dsh-model-rotation"

方式二:作为 profile 依赖安装

dsh plugin --profile desktop add "https://github.com/User-Clb/dsh-model-rotation/archive/refs/heads/main.tar.gz"

然后在 ~/.dsh/profiles/desktop/cordis.patch.yml 末尾追加:

- insert:
- id: dsh-model-rotation
name: dsh-model-rotation
inject: [llm, agents, sessionProjections]
- id: dsh-model-rotation-client
name: dsh-model-rotation

重启 DSH。输入框右侧出现「模型轮换」开关即安装成功。

配置

配置持久化在 ~/.dsh/model-rotation.json(面板修改自动保存):

{
"enabled": true,
"order": [
{ "provider": "workbuddy", "model": "deepseek-v4.1-flash" },
{ "provider": "nvapi", "model": "z-ai/glm-5.3-flash" },
{ "provider": "bigmodel", "model": "glm-4.7-flash" }
],
"maxCycles": 3,
"cycleWindowMs": 1800000,
"catalog": []
}

| 字段 | 含义 |
| enabled | 总开关;关闭时使用模型选择列表单选的模型 |
| order | 轮换顺序(跨平台 provider/model 对,可含 reasoningEffort) |
| maxCycles | 窗口内允许的完整循环轮数上限(默认 3) |
| cycleWindowMs | 循环窗口时长(默认 30 分钟) |
| catalog | 面板展示用的目录快照(自动维护) |

工作原理

模型请求失败 │ ▼ agent/request-error 瀑布 │ ├─ dsh-llm-retry(上游):预算内 → 自行结算 {kind:'retry'},本插件收不到事件 │ (重试次数内不轮换) ▼ 预算耗尽 / 不可重试码 / 无策略 → next() 委托下游 │ ▼ dsh-model-rotation(下游,本地 patch 层天然在其后) ├─ 故障分类(码路由 + 措辞兜底)→ 非模型侧故障 → 继续委托(原样上报) ├─ 读取当前生效模型(四层解析链)→ 定位列表下标 → 取下一行 ├─ 循环预算检查(窗口内完整轮数 < maxCycles?)
└─ 写入官方同款 model/selection 持久化事件 → 返回 {kind:'retry'} │ ▼ 循环重建请求(agent/request 监听器钉住新路由)→ 用新模型重跑该 step

许可证

MIT

DSH(DeepSeek Harness)的模型轮换兜底插件:模型请求耗尽重试预算,或因模型侧问题失败(配额耗尽、429、soft_rate、限流、超时、上游故障)时,按预设的跨平台模型列表依次轮换,重跑失败的 step,直到某个模型成功——或在窗口内所有模型都试过为止。

亮点

- 与重试边界精确配合:挂在 agent/request-error 瀑布流上,位于官方 @deepseek-ai/dsh-llm-retry 下游。预算内的重试在上游就处理完,不会到达本插件;只有预算耗尽 / 不符合条件的码才走轮换路径。
- 故障全覆盖:稳定的码路由(QUOTA、ACCOUNT_QUOTA、RATE_LIMIT、SERVER、TIMEOUT、TRANSPORT、AUTH 等),加上措辞兜底(429、soft_rate、中英文的配额/余额措辞、连接重置、空响应等)。上下文窗口超限和用户取消不轮换。
- 跨平台目录:通过 ctx.llm.listProviders() / listModels() 读取每个已配置的服务商;可在同一个有序列表里自由混用 DeepSeek、WorkBuddy、NVIDIA NIM、AMD、OpenRouter、智谱、讯飞等。
- 循环预算:一轮 = 每个模型各试一次。在 cycleWindowMs(默认 30 分钟)内跑完 maxCycles(默认 3)个完整轮次后,轮换停止,故障正常上报。重置按钮可清除记录。
- 输入框内面板:启用开关、循环设置、可拖拽排序的列表(支持增删)、重置按钮——全都在输入框的活动区里。
- 与模型选择器同步:轮换写入的持久化 model/selection 事件与官方 session.selectModel RPC 相同,因此输入框的模型位、/model 弹窗和会话投影都会自动跟随;当前生效的模型在列表里用绿点标出。

安装 / 配置

见上方中文部分——布局完全一致;配置位于 ~/.dsh/model-rotation.json,配置档补丁需要两行插入(dsh-model-rotation 宿主行 + 客户端行)。

许可证

MIT
预览分享卡片长什么样 ↓User-Clb/dsh-model-rotation
分享 · DeepSeek Harness Hub
User-Clb/dsh-model-rotation

重试耗尽或模型故障时自动切换备用模型继续运行

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部