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

多路由容灾 lokic7123-star/dsh-route-resilience

DeepSeek Harness
lokic7123-star67 天前有提交已提供中文文档扫描:无法判定

路由故障时自动切换,保障对话不中断

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

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

自动兼容检查未通过:仓库缺少 package.json,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/lokic7123-star/dsh-route-resilience.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · model
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/26) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库缺少 package.json,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-route-resilience(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 02:40:06

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · lokic7123-star
  • · dsh-route-resilience
  • · tarball)
扫描于 2026/11/3(0 天前)

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-settings@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 路由故障自动切换
  • 故障隔离
  • 多路由可观测性

为 DeepSeek Harness 提供多路由高可用、故障隔离与可观测性:模型组在限流、retry-after、传输和鉴权失败时,会在已授权的服务商路由之间自动故障转移。

README

由 DeepSeek 最新模型翻译生成
dsh-route-resilience 面向 DeepSeek Harness(DSH)的多路由高可用、故障隔离与可观测插件。 让一个 provider 路由宕机时,agent 照常工作。 dsh-route-resilience 把您已有的 provider 路由组织成模型组,把请求分摊到健康的路由上;一旦某个路由劣化,立即故障切换到下一个路由——对不稳定路由做指数退避隔离、对彻底失效的凭据做永久禁用——全程不触碰任何 API 密钥原文。 English docs: README.md 定位与口径 dsh-route-resilience 是可靠性层,不是配额绕过工具。 - 它不绕过任何配额、速率限制或公平使用限制。 - 它不支持通过多账号、多身份规避服务商的限制。 - 它只使用用户有权使用的凭据与路由。每个路由仍受其所属服务商条款约束;一个模型能服务多少请求由服务商决定,而非本插件决定。 - 它从不读取、写入或暴露密钥原文——只按名称引用 provider 路由。 价值在于连续性:当您合法使用的某个路由遇到 429、超时或失去授权时,模型改由您已有的另一个路由继续服务,而不是让整轮对话失败。 功能 - 模型组 —— 将服务于同一模型的多个 provider 路由组织在某一个虚拟 provider 名下,并按路由独立调优隔离参数。
展开完整文档(README 剩余 1 节)
dsh-route-resilience

面向 DeepSeek Harness(DSH)的多路由高可用、故障隔离与可观测插件。

让一个 provider 路由宕机时,agent 照常工作。 dsh-route-resilience 把您已有的 provider 路由组织成模型组,把请求分摊到健康的路由上;一旦某个路由劣化,立即故障切换到下一个路由——对不稳定路由做指数退避隔离、对彻底失效的凭据做永久禁用——全程不触碰任何 API 密钥原文。

English docs: README.md

定位与口径

dsh-route-resilience 是可靠性层,不是配额绕过工具。

- 它不绕过任何配额、速率限制或公平使用限制。
- 它不支持通过多账号、多身份规避服务商的限制。
- 它只使用用户有权使用的凭据与路由。每个路由仍受其所属服务商条款约束;一个模型能服务多少请求由服务商决定,而非本插件决定。
- 它从不读取、写入或暴露密钥原文——只按名称引用 provider 路由。

价值在于连续性:当您合法使用的某个路由遇到 429、超时或失去授权时,模型改由您已有的另一个路由继续服务,而不是让整轮对话失败。

功能

- 模型组 —— 将服务于同一模型的多个 provider 路由组织在某一个虚拟 provider 名下,并按路由独立调优隔离参数。
- 轮询分配(round-robin) —— 新请求在活动组的健康路由间均匀分配;请求在其 step 生命周期内固定到所选路由,保证中途重试落在同一 provider 上。
- 可重试故障切换 —— 遇到匹配的错误码(RATE_LIMIT、超时、传输、空响应……)时,step 前进到下一个路由,同时保持下游重试策略原有优先级。
- 429 / Retry-After 处理 —— 被限流的路由按服务商下发的 Retry-After 隔离(可用时),否则按指数退避(base · 2ⁿ⁻¹,有上限)隔离,到期后惰性恢复。
- 鉴权 / 配额隔离 —— 401/402/403 以及 auth/quota 类错误码会永久禁用对应路由,坏凭据不会污染整个组。
- 兜底 —— 链尾路由是自动安全网;全部路由不可用时强制唤醒最早到期的一条隔离,让真实错误清晰浮现而不是死锁。
- 可观测性 —— 只读状态端点(/api/dsh-route-resilience/status)以及持久化的 llm/failover、llm/key-status 会话事件。
- Web 设置面板 —— Models 设置页内置 UI,可视化管理组、密钥与隔离参数,实时显示健康徽标(免重启生效)。

运行要求

- DeepSeek Harness >= 0.1.0-rc.5(已发布到 npm)、Cordis >= 4.0.1
- 作为纯插件运行——无需修改任何 DSH 核心源码。它只挂接标准扩展点:Agent Loop 事件(agent/request、agent/request-error、agent/turn-stopping)、设置服务、host web server、会话事件与客户端 UI slots。

安装

dsh-route-resilience 是标准的 DSH 插件,接线方式与克隆或安装的任何插件一致:

源码安装(当前推荐)

1. 克隆到 DSH plugins 目录
git clone https://github.com/lokic7123-star/dsh-route-resilience.git \
/path/to/deepseek-harness-desktop/plugins/dsh-route-resilience

2. 在使用的 profile(如 ~/.dsh/profiles/web/package.json)中,把 "dsh-route-resilience" 加入 dsh.profile.bundles,并添加 link: 依赖: "dsh-route-resilience": "link:/path/to/deepseek-harness-desktop/plugins/dsh-route-resilience"

仓库已内置编译好的插件(lib/),普通 clone 即可直接接线使用——安装不需要 Node/npm;只有在你想自行修改插件时才需要构建。

或在 DSH 仓库根目录用脚手架接线:

.\new-plugin.ps1 -Target dsh -Name route-resilience # 自动配置 bundles、link、Junction 与 runtime 闭包

npm 安装(发布后可用)

npm install dsh-route-resilience

配置

设置命名空间

插件从 dsh-route-resilience 设置命名空间读取配置(保存即热更新,无需重启):

{
"groups": [
{
"id": "deepseek", // 虚拟 provider 名,即 activeGroup
"targets": [
{ "provider": "opencode-go-1", "model": "deepseek-chat" },
{ "provider": "opencode-go-2", "model": "deepseek-chat" }
],
"retryableCodes": ["RATE_LIMIT", "TIMEOUT", "TRANSPORT"],
"quarantineBaseMs": 60000, // 可选,默认 60000 "quarantineCapMs": 300000 // 可选,默认 300000 } ], "activeGroup": "deepseek" // 可选;未设置则直通 }

- 每个 target.provider 必须指向您的 provider 适配器(如 llm-pi-ai)中已配置的具体路由,且各路由持有各自的凭据引用。本插件只替换 provider/model,从不管理密钥。
- retryableCodes 默认值:EMPTY_RESPONSE, RATE_LIMIT, SERVER, TIMEOUT, TRANSPORT。
- activeGroup 未设置时插件以空闲状态安装,请求路由原样直通。

Web UI

Models 设置页底部会注入一个 路由韧性 面板:实时显示健康状况(活跃 / 隔离中 / 已禁用,带恢复倒计时与链尾兜底标记),并支持添加、删除密钥、编辑组、错误码与隔离参数。添加密钥会新建一个绑定全新凭据引用的 provider 路由,密钥值在保存时写入凭据服务。

工作原理

路由

1. agent/request 时,provider 等于 activeGroup 的配置被解析到组内下一个健康路由(基于每组的轮询指针做 round-robin);其余请求原样直通。
2. 所选路由在 step 生命周期内固定(WeakMap>),保证在途重试落在同一 provider。
3. agent/request-error 时,先让下游重试策略决定;若其放弃,匹配的错误码把 step 切换到下一个路由(记录 llm/failover 事件)并返回重试。

健康状态机

| 路由状态 | 进入条件 | 恢复方式 |
| active | 健康 / 恢复 | — |
| quarantined | RATE_LIMIT / HTTP 429 | 退避(或 Retry-After)到期后惰性恢复 |
| disabled | AUTH / INVALID_CREDENTIAL / QUOTA / HTTP 401·402·403 | 永不(仅重新配置或组清理可恢复) |

pickStart 会跳过不健康的路由;若全组都不健康,强制唤醒最早到期的一条隔离路由以维持服务;若全部被禁用,则使用第一个目标,让其真实错误自然浮现,而不是无限循环。

安全边界

- host 端从不读写密钥原文;健康与状态只暴露路由名与状态。
- 状态端点为只读,与服务端 UI 同源,远程浏览器由 host 的信任围栏隔离在 /api/ 之外。
- 密钥值的跨边界点全插件仅一处:面板的"新密钥"输入框,写入凭据服务。

可观测性

- GET /api/dsh-route-resilience/status → { ok, data: { activeGroup, groups, health[], rotation, settingsRegistered } }
- 会话事件:llm/failover(step 切换路由)与 llm/key-status(路由隔离 / 禁用 / 恢复),通过标准会话 API 追加。

开发

需要 Node >= 20 与任一包管理器(CI 使用 npm)。

npm install # 安装构建工具 + 编译所需的 @deepseek-ai/* 包
npm run build # host 端 tsc 编译(lib/index.js)+ client 端 tsdown 打包(lib/client.js)
npm test # 路由器单元测试(node --import tsx --test tests/router.test.ts)

- lib/ 会提交进仓库:编译产物随 clone 一起发布,普通安装不需要 Node;改 src/ 后请运行 npm run build 并把重新生成的 lib/ 连同改动一起提交。
- 每次 push / PR,CI 都会运行构建、测试与 npm audit(见 .github/workflows/)。
- 项目自包含:编译与测试针对 npm 上公开发布的 @deepseek-ai/* 包,开发无需整个 DSH monorepo。

参与贡献

欢迎贡献,详见 CONTRIBUTING.md 与行为准则。

安全

发现漏洞?请私密上报,见 SECURITY.md。

许可证

MIT
预览分享卡片长什么样 ↓lokic7123-star/dsh-route-resilience
分享 · DeepSeek Harness Hub
lokic7123-star/dsh-route-resilience

路由故障时自动切换,保障对话不中断

这是你的仓库?认领条目

回到顶部