前言¶
DSH 的擴展方式強調「一切皆插件」。在實際使用模型 API 時,常見的問題是網絡路徑不同:一部分模型 API 需要經過代理訪問,另一部分保持直連即可;與此同時,限流或服務端錯誤也可能打斷請求。
@superfish058/dsh-llm-proxy 是一個 DSH 模型代理插件,用於在 DSH 內按模型配置代理,並對失敗請求自動重試。它不要求全局開啓代理,而是讓選中的模型走代理,未選中的模型保持直連。
DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不是官方應用商店。
這是什麼¶
一句話定位:DSH 模型代理插件,按模型走代理(Clash 等)+ 失敗自動重試,設置頁即時生效。
維護者是 superfish058,許可證爲 MIT。package.json 聲明 engines.node 爲 >=24。
它主要解決以下幾類問題:
- 只想讓部分模型走代理,不想全局代理影響其他模型;
- 遇到斷連、HTTP 429、5xx 等錯誤時,希望自動重試;
- 希望在 DSH 設置頁直接調整、驗證和查看模型代理狀態。
核心功能¶
按模型/目標域名分流¶
插件按模型 API 地址(baseURL host)生效路由:
- 選中模型經
proxyHost:proxyPort轉發; - 未選中模型直連;
- 同一 API 地址下的模型會共享代理設置。
也就是說,路由粒度是「模型對應的 API 地址」,不是簡單的單個模型名。選中一個模型後,同一地址下的模型都會走代理。
失敗自動重試¶
插件支持對以下類型錯誤自動重試:
- 斷連;
- HTTP 429;
- 5xx 錯誤。
默認重試 3 次,間隔 1s。設置卡片上的 retries / retryIntervalMs 會鏡像進被勾選 provider 的官方 retryPolicy。
模型列表同步¶
模型列表與 DSH 官方模型選擇器同步。對於未寫 models 的 provider,插件可回退到 pi-ai 內置目錄或官方目錄。
多模態模型鏡像¶
插件可爲「支持圖像識別但官方聲明/UI 沒有圖像輸入入口」的模型補充 image 輸入聲明。
需要注意:這個能力只對真正支持圖像輸入的模型有意義。純文本模型勾選後,DSH 雖可能放行,實際請求仍可能因模型不支持圖像而報錯。
測試連接¶
設置頁每行提供「測試連接」,可顯示:
- HTTP 狀態;
- 耗時;
- 經代理/直連;
- 多模態狀態;
- 或提供方錯誤 body。
測試連接走已保存配置,並且只驗證一次非流式探測。流式或長對話仍建議用真實會話確認。
技術實現¶
插件使用 undici 全局 Dispatcher 注入:
RoutingDispatcher按 hostname 路由;RetryAgent處理重試。
同時,插件通過 Cordis 插件註冊 llm-proxy 設置命名空間,並提供瀏覽器側設置卡片。
保存後,配置寫入 llm-proxy 命名空間,運行時整體替換 dispatcher,不修改 settings.yaml 裏的供應商配置。
安裝與啓用¶
推薦安裝 npm 包:
dsh plugin --profile web add @superfish058/dsh-llm-proxy
如果是本地源碼聯調,可以使用:
dsh plugin --profile web add C:/path/to/dsh-llm-proxy
修改源碼後需要重建:
npm run build
如果提示 build 授權,需要把 @superfish058/dsh-llm-proxy 加進 profile 的 pnpm-workspace.yaml → onlyBuiltDependencies。
安裝完成後需要重啓 dsh web:托盤退出,再啓動。
典型用法¶
1、進入 DSH 設置頁「插件 → 可配置插件 → 模型代理」。
2、勾選需要走代理的模型。默認代理地址爲 127.0.0.1:7897,可配置 proxyHost / proxyPort。
3、修改代理勾選或代理地址後,先點「保存」,再使用設置頁「測試連接」驗證。
4、重啓後在日誌中確認出現:
dsh-llm-proxy: global dispatcher → RetryAgent(RoutingDispatcher) (proxy=127.0.0.1:7897, ...)
之後可以使用已勾選模型發起真實請求,確認選中模型經代理、未選中模型直連。
適用場景與注意¶
適合以下情況:
- 需要讓部分模型 API 走代理,其餘模型保持直連;
- 請求可能因斷連、429、5xx 中斷,需要自動重試;
- 希望按模型粒度配置代理,而不是全局開啓代理。
需要注意:
- 路由按模型 API 地址(
baseURL host)生效,同一地址下的模型會共享代理設置; - 多模態模型鏡像只對真正支持圖像輸入的模型有意義;
- 「測試連接」走已保存配置,且只驗證一次非流式探測;
- 插件會以當前
dsh進程的權限運行,安裝前應檢查源碼與許可證。該插件許可證爲 MIT。
鏈接¶
目錄頁:
https://www.skillhub.cn/plugins/superfish058/dsh-llm-proxy
GitHub:
https://github.com/superfish058/dsh-llm-proxy