dsh-provider-badge:在模型選擇器旁顯示當前模型提供商圖標

在 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)。
  • 配置修改後目前不支持熱重載,必須刷新頁面生效。
羽毛球分组比赛记分
小程序二维码

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

小夜