dsh-provider-studio:DSH 的供應商管理頁

前言

用 DSH(DeepSeek Harness)接第三方模型供應商時,很多人先會遇到兩件小事:設置裏的 Models 頁只能寫不能讀,API Key 保存後不再回顯;更麻煩的是保存動作走的是 schema 投影,模型上沒有聲明過的字段會被直接丟掉,於是想調一個 reasoningEfforts 或某個兼容開關,只能自己去翻 cordis.patch.yml 手寫。

下面介紹的 realchendahuang/dsh-provider-studio 就是針對這個缺口做的第三方設置頁。它不改變 DSH 本身的模型調用邏輯,而是在設置面板裏另開一頁,直接讀寫 llm-pi-ai.providers 和 DSH 憑據服務。

這是什麼

dsh-provider-studio 由 realchendahuang 維護,是一個面向 DSH 的第三方供應商管理插件,分類屬於模型推理。它把 DSH 自帶的 Models 設置頁換成自己的「供應商管理」頁,界面分兩級:一級是供應商列表,二級是所選供應商的編輯頁。

它解決的問題很集中:讓密鑰可以看見和管理、讓模型未聲明的字段不被丟棄、讓連通性測試跑的是真實請求路徑,以及免去新建供應商時查 Base URL 和協議的功夫。

核心功能

下面這些能力都來自倉庫 README。

密鑰可見、可管。 官方面板只寫不回顯,這個插件默認掩碼,點一下可顯示,支持複製、更換、清除;清除前會彈確認。密鑰只寫入 DSH 憑據服務,不寫進 llm-pi-ai 配置,也不落在插件自己的文件裏。

參數按歸屬分開,且不被 schema 投影丟掉。 插件直接解析 profile 裏的原始配置,而不是 schema 投影后的結果。模型自己的 reasoningEfforts(思考等級)和 compat(兼容開關)放在模型彈窗裏,供應商自己的請求頭、傳輸與重試、圖片預算放在供應商頁裏。

一個頁面管完供應商和模型。 可以新增、重命名、刪除供應商,編輯 Base URL、協議、密鑰,模型增刪改,單模型連通性測試,以及從端點批量拉取模型。

新建即可讀模型。 填好 Base URL 和密鑰後點「讀取模型」,插件會向端點要一份模型列表,從下拉里挑首個模型即可,不必先去別處查 model id。

配置可導出。 標題右側 … →「複製配置」,導出一段可直接貼進 cordis.patch.yml 的 YAML,只帶 apiKeyEnv 憑據名,不含密鑰明文。

探針與真實請求一致。 測試和拉取按 pi-ai 的實際路徑拼 URL,並把「請求設置 → 請求頭」一起發出去,避免 DSH 能調通但插件報失敗的情況。

內置供應商模板。 讀入 models.dev 全量目錄裏的 223 個模板(常用 / 國內 / 海外 / 網關),帶品牌 logo,選一下就把 Base URL、協議、環境變量名填好。

隨時退回官方頁。 官方 Models 頁由 bundle patch 隱藏,改一行配置就能恢復,不刪包、不影響 llm-pi-ai / llm-deepseek 適配器。

安裝與啓用

倉庫裏已經帶有構建好的 client.js,安裝不需要先構建。DSH 按 profile 隔離插件,命令裏的 --profile 要和實際啓動的那個一致。

dsh plugin --profile desktop add github:realchendahuang/dsh-provider-studio

完整地址寫法是:git+https://github.com/realchendahuang/dsh-provider-studio.git。想固定版本可帶 commit:github:realchendahuang/dsh-provider-studio#<commit-sha>。

安裝後需要完整退出並重新啓動 DSH,而不是隻刷新窗口:Host 端代碼只在 DSH 啓動時加載,刷新窗口只會重載瀏覽器端的 client.js。首次安裝後如果測試報 404 或 transport failure,說明 Host 端還是舊的,重啓 DSH 即可。

確認是否安裝成功:

dsh plugin --profile desktop why dsh-provider-studio

能列出這個包,說明依賴和 bundle 都註冊了。

卸載則用:

dsh plugin --profile <profile> remove dsh-provider-studio

重啓 DSH 後官方 Models 頁會恢復。

倉庫 package.json 顯示的版本是 1.1.2,engines.dsh 要求 >=0.2.1-rc.5,許可證爲 MIT。README 註明該插件在 DSH 0.2.1-rc.5 與 0.2.2-rc.1 上實測。

典型用法

打開後,設置 →「供應商管理」。頁面列出當前 profile 的所有 llm-pi-ai 供應商,另有一個內置的 DeepSeek 官方行(來自 llm-deepseek,可編輯、不可刪除)。

新建供應商的步驟:

  1. 列表底部點「+ 新增供應商」。
  2. 選模板(按分組瀏覽或搜索名稱 / 域名),或選「自定義供應商」從空白開始。
  3. 填寫表單,注意 Base URL 的填法隨協議變化:
OpenAI 兼容      /chat/completions      填到 /v1,如 https://api.openai.com/v1
OpenAI Responses  /responses             填到 /v1
Anthropic Messages /v1/messages          填根地址,如 https://api.anthropic.com,/v1/messages 由客戶端補

Python 式的誤填 …/v1 會在輸入框下方提示。API Key 可以留空稍後補,但填了才能用「讀取模型」。

  1. 點「創建」,成功後自動進入詳情頁。

拉取模型時,插件用當前 Base URL + 密鑰 + 請求設置裏的自定義請求頭去取列表(OpenAI 系 GET {baseURL}/models,Anthropic 爲 GET {root}/v1/models)。彈窗裏可搜索、全選或逐個勾選,點「加入所選」併入模型表。注意這時還只是草稿,點「保存」才寫盤。

模型行右側的「測試」會發一個真實最小請求:聊天類協議發 max_tokens: 1,Responses 類發 max_output_tokens: 16,20 秒超時。成功顯示 ✓ 延遲,失敗顯示紅色徽章,鼠標懸停看具體 HTTP 錯誤,結果約 6 秒後自動消失。

模型高級參數裏,思考能力三選一:繼承內置目錄(默認,不在配置裏聲明)、不支持思考(寫 reasoningEfforts: false)、自定義等級(逐條聲明「等級 → 實際發送值」)。至少要保留一個 off 以外的等級,否則保存會被攔下。兼容開關 compat 的字段隨協議變化,OpenAI 兼容 19 項、Responses 4 項、Anthropic 7 項,不設置就交給 pi-ai 自動判斷。

導出配置得到的是這種形狀:

- id: llm-pi-ai
  name: "@deepseek-ai/dsh-llm-pi-ai"
  config:
    providers:
      my-gateway:
        displayName: My Gateway
        api: openai-completions
        baseURL: https://api.example.com/v1
        apiKeyEnv: MY_GATEWAY_API_KEY
        models: ...

內容取自 profile 的 patch 文檔而不是 schema 投影,手寫的 reasoningEfforts、compat、請求頭都會原樣帶出來;內置 DeepSeek 行同樣可導出,形狀是 - id: llm-deepseek。本機已有同名條目時需要手動合併。

適用場景與注意

適合的場景大致是:需要接多個第三方供應商或網關、依賴未在 schema 裏聲明的模型字段、希望密鑰在界面上可管理、以及不想反覆手改 cordis.patch.yml 的 DSH 用戶。

使用時需要注意幾點。插件是第三方頁面,替代的是官方 Models 頁而不是適配器本身,卸載後官方面板即可恢復。它以當前 DSH 進程的權限運行,能讀取配置、憑據服務併發起模型請求,因此安裝前應打開倉庫覈對源碼,確認 index.js、client.js、cordis.patch.yml 的行爲與預期一致,並留意許可證(倉庫標註 MIT)。安裝和更新都要求完整重啓 DSH。

結尾

dsh-provider-studio 的價值在於把供應商、密鑰、模型這三類日常改動收進一個頁面,同時保留配置文件裏的原始字段。它沒有改變 DSH 的插件機制,只是把原來需要手改 patch 的工作接進了設置界面。

目錄頁:https://www.skillhub.cn/plugins/realchendahuang/dsh-provider-studio

倉庫:https://github.com/realchendahuang/dsh-provider-studio

社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜