前言¶
在 DeepSeek Harness(DSH)里同时配置多家模型供应商之后,日常问题往往不是「没有模型可选」,而是各家状态一直在变:限流、额度耗尽、免费渠道下线,或当前请求带了图片而链上某个模型并不支持视觉。若每次都在设置里手工换 provider,对话会反复被打断。
dsh-model-pool 由社区维护者 pure-cow-horse 发布,归类为模型推理类 DSH 插件。它把「各家有什么模型、通不通」收进面板,用命名方案排好有序链路,再注册虚拟 provider ModelPool,在请求发起时按链自动顺延。你选一个方案或 Auto,不必在每次失败时再点选具体渠道。
社区插件目录见 SkillHub 条目;源码与说明在 GitHub 仓库。DSH 生态主张「一切皆插件」,该目录站与 DeepSeek / 幻方无官方从属关系。
这是什么¶
插件在 README 中的定位是:探测各供应商上游目录、用最小请求验证是否真能应答,把可用条目串成多套命名故障转移方案,由虚拟 ModelPool provider 在请求时执行。
当前 package.json 版本为 0.1.1,许可证 MIT。与 dsh-llm-fallbacks 或 JiahaoXxX/dsh-model-pool 并非 fork,状态文件为 model-pool.json,profile 行 id 为 dsh-model-pool;若与同类「降级链」插件同时启用,可能重复切换,资料建议只保留其一。
核心能力¶
下面按面板与运行时两条线说明,均摘自项目 README。
面板:看清、编排、记账¶
| 你在面板里做的事 | 插件在背后做的事 |
|---|---|
| 看清各家有哪些模型、通不通 | 合并三类来源,探测与最小请求测试,可一键拉上游全量目录 |
| 决定按什么顺序使用 | 多命名方案 + 有序链,拖拽排序,内置三种排序策略 |
| 出事时自动往下试 | 虚拟 provider ModelPool:发起级顺延、冷却、指数退避、多模态避障 |
模型列表 合并以下来源的模型(按 provider 去重后并集):
llm-pi-ai.providers里静态配置的模型;- 运行时经
registerAdapter注册的渠道(如 WorkBuddy、Qoder、Trae 等对接插件); - 本地 catalog 缓存(如
.workbuddy-catalog.json、.qoder-catalog.qoder-cn.json等)。
支持按供应商分组、搜索筛选、单行或整组「测」、组头「拉上游」同步 GET {baseURL}/models 全量目录。「接入选中」会把勾选结果整体替换写回 llm-pi-ai.providers.<供应商>.models;「禁用」会把渠道定义暂存到 model-pool.json 的 disabledProviders,并从宿主配置中移除,对话侧模型列表不再出现该供应商。
方案与链路 可建多个命名方案并激活其一;支持勾选追加、由勾选新建方案,以及同档聚类、延迟优先、免费优先三种内置排序整体替换当前链。可「测试当前链路」只测激活方案上的条目。方案级可设上下文窗口覆盖、思考强度;链上支持拖拽与单项移除。
用量统计 按日 × 来源 × 渠道 × 模型记录 token,合并池内拦截的 usage 与会话日志回放;可区分池子与直连来源,并导出带 BOM 的 CSV。
运行时:ModelPool 故障转移¶
模型选择器里,Auto 跟随当前激活方案;每个方案也可作为独立虚拟模型(id 即方案名)。
- 发起级顺延:按链顺序尝试;连接阶段失败则进入冷却并跳下一条。触发切换的失败码包括
AUTH、QUOTA、RATE_LIMIT、SERVER、TIMEOUT、TRANSPORT、EMPTY_RESPONSE。 - 冷却与退避:默认基准冷却 60 秒(面板可调
cooldownMs,范围 5 秒–1 小时);连续失败按 2 的幂退避,上限默认 500 秒(maxBackoffMs);成功后重置连续失败计数。 - 多模态避障:请求含图片时跳过不支持视觉的纯文本模型,不计失败、不入冷却。
- 诊断:面板可查看每次 attempt 的上游状态与耗时;
GET /api/model-pool/current带出cooling、routeConflicts等。
插件向本机暴露 13 条 /api/model-pool/ 接口,供同源面板调用;写操作仅接受 POST,跨域拒绝。
安装与启用¶
前置条件:DSH 中已配置至少一个模型供应商(llm-pi-ai.providers),或通过对接插件在运行时注册渠道。官方 @deepseek-ai/* 包在 peerDependencies 中由宿主提供,无需单独安装。
从 GitHub 安装(README 推荐方式):
dsh plugin --profile desktop add github:pure-cow-horse/dsh-model-pool
安装完成后重启 DSH。桌面版使用 --profile desktop,Web 版将 profile 换成 web。
开发时也可从本地目录安装,例如:
dsh plugin --profile desktop add file:C:/path/to/dsh-model-pool
或编辑 ~/.dsh/profiles/<profile>/package.json 增加 file: 依赖并在 dsh.profile.bundles 中加入 dsh-model-pool,再执行 pnpm install 后重启。
典型用法¶
- 在 DSH 中配置好各供应商的 baseURL、密钥与基础模型列表(或依赖 Qoder / Trae / WorkBuddy 等插件注册渠道)。
- 打开左侧「模型池」、设置页「模型池」或主区
model-pool面板,在 模型列表 对各供应商执行「测试全部」或「拉上游」,勾选需要接入的模型并点「接入选中」(写配置前会自动备份)。 - 切换到 方案与链路,勾选模型加入当前方案或新建方案(如「纯 deepseek」「代码主力」),拖拽排序或使用内置排序策略,激活要用的方案。
- 在对话模型选择器中选
ModelPool的Auto,或选某个方案对应的虚拟模型;发送请求后由链自动顺延,输入框会显示实际命中的「供应商 / 模型 · 档位」。 - 需要核对消耗时,在 用量统计 切换来源筛选并导出 CSV;若链路因限流频繁冷却,可在方案页调整
cooldownMs/maxBackoffMs,或使用「清空冷却」恢复。
状态与探测结果主要落在 profile 目录下的 model-pool.json、model-pool-probe.json;用量按日写入 ~/.dsh/model-pool/usage/YYYY-MM-DD.json(保留 180 天)。插件默认不修改 llm-pi-ai,除非你在面板主动「接入选中」或「禁用」供应商。
适用场景与注意¶
适合:已在 DSH 里对接多家 API 或 IDE 桥接渠道,希望用一套命名方案统一 failover,并要在面板里看清上游目录与连通性、记录 token 去向的开发者。
注意:
- 插件以当前 DSH 进程的权限运行,安装前请自行查看仓库源码与 MIT 许可证,确认与本地合规要求一致。
- 与
dsh-llm-fallbacks等同类降级链插件勿叠用,避免同一请求被切两次。 - 选中
ModelPool时,输入框模型名区域为 DSH 的single槽位(本插件priority: -2),宿主自带模型徽章与部分连接类插件胶囊不会同时显示,属单槽位取舍。
维护方在仓库内提供回归探针,可通过 node probes/run-all.mjs 或 pnpm run probe 在本地跑完全部探针(README 记载当前 21 个探针、264 条断言)。
结尾¶
dsh-model-pool 把「多供应商、多模型、状态变幻」收敛为:面板里探测与编链,请求时由 ModelPool 按方案自动换人,并附带用量与诊断能力。需要安装命令、接口表与数据文件说明时,以 README 为准。
- 目录页:https://www.skillhub.cn/plugins/pure-cow-horse/dsh-model-pool
- GitHub:https://github.com/pure-cow-horse/dsh-model-pool