dsh-model-provider-picker:廠商優先的兩級模型選擇與可見性控制

前言

在 DeepSeek Harness(DSH)裏換模型,官方選擇器會把各廠商的模型平鋪在一個列表裏,僅按廠商分組顯示標題。廠商一多、同名模型又可能出現在不同賬號或開放平臺下時,找模型和區分推理檔位都要在一屏裏完成,既佔視線也不利於按習慣隱藏不用的線路。

下面介紹社區插件 dsh-model-provider-picker:它把 composer 裏的模型位改成「先選廠商、再選模型」,選中後再按需選推理等級,並在設置裏提供按廠商/模型隱藏的可見性規則。數據仍走官方 modelDirectories 服務,與 /model 命令讀到的是同一份目錄,只是多了一層過濾與交互結構。

這是什麼

dsh-model-provider-picker 由 cjc-github 維護,歸類爲模型推理相關插件,當前 GitHub 倉庫星標爲 1,許可證 MIT,package 版本 1.0.1。它是一個 DSH profile 插件(Host 半身 + Client 半身),通過 profile 的 package.json 與 cordis.patch.yml 掛載,面向 Web / 桌面 GUI 的 composer 模型位與設置面板。

核心功能

兩級模型列表

composer 的模型位顯示爲 廠商 · 模型名 推理等級(廠商名更淡、過長後綴省略;推理等級字體更小更淡)。點擊後彈出選擇器,默認只顯示廠商及該廠商下可見模型數量;點廠商整行,在其下方展開該廠商的模型列表。

推理等級第二屏

點選提供推理等級的模型後,選擇器切換到第二屏,在該模型名下選擇「關閉」「開啓」等檔位。不提供等級的模型點一下即選中,不進入第二屏。推理等級嚴格綁定「廠商 + 模型」,同名模型在不同廠商下各自保留檔位,互不串臺。

搜索

選擇器頂部搜索框支持三類關鍵詞:模型名或模型 id(列出命中模型並保留廠商)、廠商名(展開該廠商全部模型)、推理等級名(如 max,列出提供該等級的模型)。搜索期間廠商自動展開,摺疊狀態被忽略。

可見性設置

設置面板新增 「模型選擇器」 分區:每個廠商一個主開關,關閉後該廠商及全部模型不出現在選擇器裏;展開廠商後每個模型有獨立開關,可只隱藏某一個模型;模型旁標註「N 檔強度」,便於隱藏前確認是否有推理等級。規則立即寫回 Host,選擇器實時同步。

隱藏規則持久化在 Host 設置文檔的 model-provider-picker 命名空間下,例如:

model-provider-picker:
  hiddenProviders: [raccoon]
  hiddenModels: [raccoon/sn-glm-5.2]

hiddenProviders 爲整廠商隱藏,hiddenModels 爲單模型隱藏,格式爲 provider/model。

安裝與啓用

本插件沒有資料中的 dsh plugin add github:... 一類命令,需作爲 profile bundle 安裝。

方式一:本地目錄引用(開發)

在 DSH 的 profile 目錄(通常是 <DSH_HOME>/profiles/web)執行:

pnpm add link:/path/to/dsh-model-provider-picker

把包名加入 package.json 的 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-model-provider-picker"
      ]
    }
  }
}

link: 建立 junction/符號鏈接,改源碼後重啓 Harness 即可生效。

方式二:打包安裝

pnpm pack
pnpm add file:/path/to/dsh-model-provider-picker-1.0.0.tgz

激活

重啓 Harness(關閉並重新打開 DSH Desktop,或重啓 dsh web 進程)。插件列表出現 dsh-model-provider-picker 即加載成功;設置面板會出現「模型選擇器」分區。Client 半身爲 window.__ModuleLoader__.load(...) bundle,改代碼後需重啓宿主並刷新頁面才能拿到新 bundle。

典型用法

  1. 在 composer 點擊當前模型位,從廠商列表中選廠商,再選具體模型。
  2. 若該模型有推理等級,在第二屏選擇檔位;無等級則一步完成。
  3. 在設置 →「模型選擇器」中關閉不用的廠商或單個模型,列表即時更新。
  4. 模型較多時,用搜索框按模型名、廠商名或等級名過濾。

開發與自測可參考倉庫內命令:

npm test

也可在瀏覽器打開 prototype/index.html 查看與 lib/client.js 共用規則語義的交互原型。

適用場景與注意

適合誰: 經常在 DSH Web/桌面端切換多廠商模型、希望按廠商摺疊列表並單獨管理推理檔位與可見性的用戶。

權限與安全: 插件隨當前 DSH 進程與 profile 運行,會讀寫 Host 設置中的可見性規則。安裝前建議查看 GitHub 倉庫 源碼與 MIT 許可證,確認 bundle 列表與 cordis.patch.yml 符合你的 profile 策略。

已知限制(資料原文):

  • 隻影響 Web / 桌面 GUI;純 Host 側模型路由不受影響,被隱藏的模型仍可通過直接構造請求使用。
  • 依賴官方 model-selection 插件的 conversation.input.model slot 與 modelDirectories 服務;上游變更可能導致選擇器等待而不渲染(設置頁仍可用)。
  • 當前不做鍵盤導航(無官方實現的 ↑/↓ 循環、Tab 焦點移交等)。
  • 可見性規則存在本機 Host 設置裏,隨 profile 走,不跨設備同步。

DSH 生態強調「一切皆插件」;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。

結尾

若你希望 composer 裏「先廠商、後模型、再檔位」,並自行決定哪些廠商/模型出現在列表裏,dsh-model-provider-picker 在不動官方目錄數據源的前提下提供了這一套 UI 與配置。詳情與截圖見倉庫 README;安裝與 bundle 配置以 README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/cjc-github/dsh-model-provider-picker
  • GitHub:https://github.com/cjc-github/dsh-model-provider-picker
羽毛球分组比赛记分
小程序二维码

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

小夜