在 DeepSeek Harness(DSH)的使用過程中,頻繁切換模型是常態。僅通過文本名稱識別當前模型對應的提供商(如 DeepSeek、OpenCode 等)有時不夠直觀。dsh-provider-badge 插件通過在模型選擇器旁顯示當前提供商的圖標,解決了這一問題。
這是一個客戶端插件,由維護者 marshfolx 開發。它訂閱了模型選擇插件的 modelDirectories 存儲,因此能實時響應模型變更,並自動適配界面佈局的縮放和行高變化。
核心功能¶
該插件根據模型名稱匹配規則,顯示不同的圖標樣式:
- DeepSeek:當提供商名稱包含
deepseek時,顯示鯨魚 SVG 圖標。 - OpenCode Go:當提供商名稱包含
opencode(如opencode-go)或等於go時,顯示粗體合併的 “GO” 字標。 - OpenCode Zen:當提供商名稱等於
opencode或包含zen時,顯示粗體合併的 “ZEN” 字標。 - 其他提供商:默認顯示方塊的提供商首字母。
圖標高度會根據 DPI 和行高自動縮放。
安裝與啓用¶
通過 DSH 官方命令行工具安裝:
dsh plugin --profile <profile> add github:marshfolx/dsh-provider-badge#main
安裝完成後,需要重啓 DSH 進程以加載插件。如果通過修改 package.json 手動添加,需在 dsh.profile.bundles 中追加該包名並運行 pnpm install。
圖標外觀調整¶
插件提供兩種方式調整圖標的大小、位置和顏色。
永久調整¶
編輯插件源碼中的 client/client.js 文件,在頂部找到 TUNING_DEFAULTS 對象進行修改。
| 配置項 | 默認值 | 說明 |
|---|---|---|
iconScale |
1 |
圖標高度倍數(鯨魚圖標基準 13px,字母圖標基準 10px) |
yOffset |
0 |
垂直偏移量(像素),正數表示向下 |
color |
'var(--dsw-alias-label-caption)' |
圖標顏色,跟隨主題的標籤 caption 顏色。若需半透明,可使用 rgba(...) 或 color-mix(...) |
修改後需刷新頁面(建議硬刷新 Ctrl+F5)。
臨時調整¶
無需編輯文件,直接在瀏覽器控制台執行以下代碼,隨後刷新頁面:
localStorage.setItem('dsh-provider-badge:tuning', JSON.stringify({ iconScale: 1.1, yOffset: -1 }));
location.reload();
要恢復默認,清除該鍵值即可:
localStorage.removeItem('dsh-provider-badge:tuning');
location.reload();
插件結構¶
瞭解其結構有助於排查問題或進行二次開發:
cordis.patch.yml:定義了向 UI 注入的組件位置。client/client.js:瀏覽器端的主要邏輯,包含TUNING_DEFAULTS配置和模塊註冊。lib/index.js:宿主端邏輯(空文件,因是純客戶端插件)。
注意事項¶
- 該插件爲純客戶端插件,不涉及服務端邏輯。
- 由於插件注入了 DOM 和樣式,安裝前建議檢查其源碼與許可證(MIT)。
- 配置修改後目前不支持熱重載,必須刷新頁面生效。