前言¶
DeepSeek Harness(DSH)的 Composer 輸入框裏,模型選擇器默認只顯示一行文本,例如 DeepSeek-V4.1-Flash。當你在同一 Harness 裏配置了多家 Provider、多條路由時,單靠展示名很難立刻區分「這是哪家 API」以及「當前選中的是哪條 model id」。社區插件 dsh-model-picker-brand(維護者 zhangyongshuai56-hub,SkillHub 分類:趣味換裝)在不改 DSH 內核的前提下,通過官方插槽給標籤加品牌標和模型 ID,停用後界面與官方一致。
下面介紹它的定位、能力與安裝方式;事實以 GitHub 倉庫 README 爲準。
這是什麼¶
dsh-model-picker-brand 是面向 web profile 的 DSH 插件:在模型選擇器的標籤位置插入彩色 Provider logo,並在名稱旁展示 model ID(觸發按鈕上更緊湊,以 ID 爲主)。實現方式是向官方插槽 conversation.input.model.label 註冊 label 裝飾器(priority −10),不修改 @deepseek-ai/dsh-client-ui-model-selection。npm 包名 dsh-model-picker-brand,當前 README 附帶 package.json 顯示版本 0.1.1,許可證 MIT。
界面變化¶
| 位置 | 安裝前 | 安裝後 |
|---|---|---|
| Composer 觸發按鈕 | DeepSeek-V4.1-Flash |
[logo] deepseek-flash(緊湊,ID 優先) |
| 菜單「Model」行 | DeepSeek-V4.1-Flash |
[logo] DeepSeek-V4.1-Flash + 灰色 deepseek-flash |
| 模型列表項 | 同上 | 同上 |
| 未知 Provider | 純文本 | 首字母 monogram 彩色 chip |
鼠標懸停任意標籤時,title 爲 name · id。
插槽渲染上下文包含 provider、model、placement(trigger | menu | option)、selected 等字段;裝飾器在 try/catch 內渲染,異常時回退爲 model.name,避免拖垮選擇器。
核心功能¶
22 個品牌標與主題¶
內置 22 個品牌矢量標(部分來自 svgl,缺口用 simple-icons CC0 補充),在 14px / 16px 下驗證過明暗主題。單色標(如 Anthropic、OpenAI、Ollama、Qwen、OpenRouter)隨主題 currentColor;彩色標保留品牌色;Z.ai / 智譜使用官方風格 tile,便於暗色主題下 14px 可讀。
Registry 驅動的品牌匹配¶
不用簡單的 id → icon 扁平表,而是按置信度依次嘗試:
- localStorage override(本地覆蓋,無需發版)
- provider.id 上的 token(按分隔符拆分,長 token 優先)
- provider.name(含中文,如「智譜」「通義千問」「月之暗面」)
- model 前綴(最弱,如
glm-4.6、claude-3-7) - 無匹配:首字母 monogram,不會誤用其他廠商 logo
與官方 badge 插件 dsh-client-ui-deepseek-model-label-1017(priority 0)共存時,本插件 priority 更低(−10),啓用後會接管標籤渲染;禁用本插件後官方 badge 恢復。
安裝與啓用¶
環境要求:dsh >= 0.2.1-rc.2。無構建步驟、無運行時依賴;安裝後需 重啓或熱重載 宿主一次。卸載只需移除 bundle 條目,不會額外寫持久化配置。
插件嚮導¶
打開 Settings → Plugins → Add plugin,搜索 dsh-model-picker-brand,點擊 Install。
dsh CLI(npm)¶
dsh plugin --profile web add dsh-model-picker-brand
直接從 GitHub 安裝(不經 npm)¶
dsh plugin --profile web add github:zhangyongshuai56-hub/dsh-model-picker-brand
更新¶
dsh plugin --profile web update dsh-model-picker-brand@latest
典型用法¶
本地覆蓋未知 Provider¶
在新 Provider 尚未收錄進插件時,可在瀏覽器控制台寫入 override,無需等插件發版:
localStorage.setItem('dsh.model-picker-brand.overrides', JSON.stringify({ 'my-provider': 'zhipu' }))
調試匹配結果¶
在瀏覽器控制台調用:
dshModelPickerBrand.resolve({ id: 'zai' })
用於覈對 id / name / model 線索是否解析到預期品牌。
適用場景與注意¶
適合:經常在 DSH web 界面切換多 Provider、多模型路由的開發者;希望一眼看清「哪家 API + 哪條 id」,並願意用社區 UI 插件做選擇器增強。
注意:
- 插件隨當前 DSH 進程與 web 客戶端注入運行,安裝前建議閱讀 源碼 與 MIT 許可證;品牌圖形僅用於標識服務來源,商標歸各自權利人所有。
- SkillHub 目錄頁(dsh-model-picker-brand)爲社區生態站點,與 DeepSeek / 幻方無官方從屬關係;星標等元數據以目錄與 GitHub 當時顯示爲準(README 徽章鏈至 GitHub stars)。
- 僅 web profile(
dsh.plugin.client.platform: web),需注入@deepseek-ai/dsh-client-ui-slots。
結尾¶
dsh-model-picker-brand 用官方 conversation.input.model.label 插槽做一級裝飾:零內核改動、22 品牌標、registry 匹配與 monogram 兜底,把模型選擇器從「單行模型名」變成「logo + 名稱 + model ID」。需要安裝命令與匹配細節時,可直接查閱 GitHub README 與 SkillHub 插件頁。