用 dsh-provider-model-configurator 給 DSH Web UI 加上「模型 Pro」

前言

DeepSeek Harness(dsh)是 DeepSeek AI 開源的智能體框架,底層由 Cordis 驅動,官方定位是「一切皆插件」:模型適配器、工具、會話、沙箱和界面都可以用插件替換或擴展。當前仍處於開發者預覽階段,接口會繼續變。

實際用 Web UI 時,多數人不會只接一個官方接口。OpenAI 兼容網關、OpenRouter、自定義中轉,往往要同時掛好幾條提供商。每條下面的模型還要填上下文窗口、最大輸出、能不能看圖、推理檔位怎麼映射到請求參數。這些字段散落在 llm-pi-ai 的設置裏,手抄一遍容易漏,從內置目錄再抄一遍更容易抄錯。

dsh-provider-model-configurator 做的事情很具體:在設置里加一頁「模型 Pro」,把已配置提供商的模型條目集中列出來,支持查看、新建、編輯、刪除,也可以從 pi-ai 預設或其他提供商把上下文參數填進表單,再寫回目標提供商。

下面按社區目錄頁、GitHub 倉庫 README、package.json 和源碼交叉覈對後整理:它是什麼、能改哪些字段、怎麼安裝、頁面上怎麼操作。

這是什麼

dsh-provider-model-configurator 是一款面向 DSH Web UI 的界面增強插件,由 LiangYin233 維護,許可證爲 MIT。倉庫語言以 JavaScript 爲主,並帶 TypeScript 客戶端源碼。截至 2026-08-17,GitHub 星標爲 11。當前發佈標籤是 v0.3.9,與 package.jsondsh.plugin.json 中的版本號一致。

插件分成兩半:

  • Host:掛載名爲 modelConfigurator 的遠程服務,讀取內置目錄 / 已配置提供商的模型元數據,並把顯式模型條目寫入 llm-pi-ai 設置命名空間。
  • Client:把設置頁註冊爲「模型 Pro / Model Pro」,出現在 Models 頁之後。package.json 裏聲明的客戶端平臺是 web

它不替代 Models 頁裏的提供商創建流程。提供商要先在 Models 頁配好,這一頁纔有可寫的目標路由。

收錄該插件的 DeepSeek Harness 插件庫 是獨立社區目錄,站點 About 頁寫明:與 DeepSeek、幻方無官方從屬、背書或贊助關係,也不託管插件代碼。發現渠道可以看目錄,安裝前仍應回到 GitHub 覈對源碼。

核心功能

倉庫 README 把能力收成四塊。源碼裏的設置頁文案、Host 寫入邏輯與之一致。

按提供商列出模型條目

打開「模型 Pro」後,先選目標提供商。頁面會列出該路由下已經寫成顯式條目的模型,並給出一行摘要,例如上下文窗口、最大輸出、輸入模態、推理檔位。每條可以點「編輯」載入表單,或「刪除」立刻寫入設置。

如果該提供商還沒有顯式模型列表,頁面會提示它仍在使用內置目錄,並把目錄裏的模型 ID 以只讀方式列出來。此時在下方填模型 ID 再點「應用配置」,纔會把目錄快照成可編輯列表。

沒有已配置提供商時,頁面會提示先去 Models 頁創建。設置只讀時無法寫入。

新建與編輯字段

新建時至少要有模型 ID。其餘字段都可以手填,也可以先從預設灌進來再改:

  • 顯示名稱
  • 上下文窗口最大輸出(單位都是 tokens,必須是正整數纔會寫入)
  • 輸入模態text / image。也可以選「繼承目錄(未設置)」,避免把未配置的字段寫成顯式默認值
  • 推理檔位:三種模式
  • 未設置(繼承目錄)
  • 非推理模型(把 reasoningEfforts 寫成 false
  • 啓用推理(按檔位填寫)。檔位名來自插件內的常量:offminimallowmediumhighxhighmax。每個檔位對應一個發到網關的 wire 值off 留空表示不發送該參數

README 特別說明:檔位名和網關取值不一致時,要按來源模型改 wire 值。例如 DeepSeek 系列的 minimal / low / medium 常常留空。源碼在應用前會校驗:啓用推理時至少要有一個非 off 檔位,檔位不能重複,非 off 檔位必須填寫 wire 值。

用模型預設快速填充

點「使用模型預設」會打開復制來源選擇器。來源可以是內置的 llm-pi-ai 目錄,也可以是已經配置過的其他提供商。選好模型後,頁面會讀出該模型的上下文窗口、最大輸出、輸入模態和推理檔位,確認後再填進表單。

這就是目錄簡介裏說的「一鍵應用」:不是改網關賬號,而是把一份已知的模型配置複製到目標提供商的顯式條目裏。目錄頁和 README 都寫了,不必再去別處查上下文長度或最大 Token。

預設裏如果出現插件不認識的推理檔位 ID,客戶端會丟掉這些檔位,而不是寫成 Host 會拒絕的條目。音頻等當前表單不支持的模態同樣保持「未設置」,避免一次應用把原來的 input 字段沖掉。

兼容開關(compat)

面向走 openai-completions 推理分發的模型,表單還提供兩個兼容項:

  • thinkingFormatopenaideepseekopenroutertogetherzaiqwenstring-thinkingant-ling
  • supportsReasoningEfforttrue / false / 未設置

未設置時繼承目錄條目,再按 baseURL 自動檢測。中文文案寫明:只有 openai-completions 路徑會讀這兩個開關。

目錄快照

這是使用時最容易忽略的行爲,README 單獨用引用塊寫了:

  • 尚未顯式配置模型列表的目錄提供商,第一次新建或應用時,插件會把內置目錄的當前模型列表整體寫成該提供商的顯式條目(已有 ID 原地更新,新 ID 追加)。之後的編輯都基於這份快照。
  • 目錄後續更新不會自動合併進已經快照的列表。
  • 目錄提供商如果刪到零個顯式條目,會回退成內置目錄(未快照)狀態。
  • 不在內置目錄裏的自定義提供商,必須至少保留一個顯式模型;刪到零條時 Host 會拒絕寫入,避免設置 schema 校驗失敗。

如果該提供商上還有 modelOverrides,應用時會合並進顯式列表,不會丟掉覆蓋項。

安裝與啓用

社區目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行即可:

dsh plugin add github:LiangYin233/dsh-provider-model-configurator

目錄頁同時提醒:如需可復現安裝,應固定 commit 哈希,寫法是在倉庫名後加 #commit。倉庫當前 v0.3.9 標籤對應的提交是 70f88112c7d92fadeb93e46f5dcb8b1f3ae6eba3

GitHub README 面向 Web 配置寫得更完整,指定了 web profile,並釘在 v0.3.9

# 從 GitHub 安裝(README 推薦寫法)
dsh plugin --profile web add github:LiangYin233/dsh-provider-model-configurator#v0.3.9

# 或從 GitHub tarball 安裝
dsh plugin --profile web add https://github.com/LiangYin233/dsh-provider-model-configurator/archive/refs/tags/v0.3.9.tar.gz

客戶端平臺聲明爲 web,裝到 headless profile 上沒有對應界面。package.json 要求 Node.js 爲 ^22.19 || >=24,這與當前 DSH 運行環境一致即可。

安裝後需要重啓 Web 服務器並刷新頁面,再打開設置 → 左側導航「模型 Pro」(在 Models 頁後面)。

目錄頁和官方插件安全說明都寫了:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證。

典型用法

下面按 README 與設置頁文案走一遍可復現的路徑。前提是本機已經能打開 DSH Web UI(官方倉庫給出的啓動方式是 npx @deepseek-ai/dsh web,默認 http://127.0.0.1:3080),並且在 Models 頁至少配置了一個 llm-pi-ai 提供商。

  1. 打開設置,進入「模型 Pro」。
  2. 在「目標提供商」裏選一條已配置路由。若該路由仍顯示「使用內置目錄」,先看清只讀的目錄模型列表;第一次應用會把整份目錄寫成顯式條目。
  3. 若只是改已有條目:在列表裏點「編輯」,改上下文窗口、最大輸出、模態或推理檔位,再點「應用配置」。覆蓋已存在的模型 ID 時,頁面會彈出確認框。
  4. 若要從目錄抄一份參數:點「使用模型預設」,選擇預設提供商和模型,覈對上下文 / 最大輸出 / 模態 / 推理檔位後點「使用此來源」,再按需改模型 ID 或 wire 值,最後應用。
  5. 走 openai-completions、且推理參數格式和目錄不一致時,再打開兼容選項,設置 thinkingFormatsupportsReasoningEffort。不需要改就保持「未設置」。
  6. 刪除顯式條目會立即寫入。目錄提供商刪空會回到內置目錄;自定義提供商刪到只剩一條時不要再刪。

應用成功後,頁面提示 Models 頁會自動刷新。之後在會話裏選模型,用的就是寫進 llm-pi-ai 的那份顯式配置。

適用場景與注意事項

比較適合這些情況:

  • 同一套模型要出現在多條兼容提供商上,不想逐項手填上下文和最大輸出
  • 自定義中轉的模型 ID 與目錄不一致,但上下文、推理檔位可以沿用某條預設
  • 需要明確關掉推理,或把 high / max 映射成網關真正接受的 wire 值
  • 希望在 Web UI 裏集中看各提供商已經落地的模型條目,而不是直接改配置文件

使用前需要接受幾條邊界:

  • 這是 Web UI 插件,不是命令行模型管理器,也不負責幫你申請 API Key。
  • 第一次對目錄提供商寫入,等於拍下一份快照。之後官方目錄更新了新模型,不會自動出現在這份列表裏,需要自己再添加或等回退到目錄後再快照。
  • 兼容開關只作用於 openai-completions 的推理分發;其他協議路徑上改這兩個字段沒有 README 所述的效果。
  • 輸入模態目前只編輯 textimage
  • DeepSeek Harness 仍在開發者預覽,插件依賴的設置 schema 和 Typert 服務也可能跟着變。可復現安裝請釘標籤或 commit,而不是長期跟蹤浮動的默認分支。
  • 插件以當前 dsh 進程權限運行。MIT 許可證允許免費使用和修改,但不等於免檢;安裝前應閱讀 倉庫源碼LICENSE

小結

dsh-provider-model-configuratorllm-pi-ai 裏那些容易抄錯的模型字段,收進設置頁「模型 Pro」:列表可看可改,預設可複製,推理檔位和兼容開關也能寫明白。它解決的是配置面的重複勞動,不是換一個更強的模型。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-provider-model-configurator/

GitHub:https://github.com/LiangYin233/dsh-provider-model-configurator

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜