前言¶
在 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