dsh-model-pin:給 DSH 模型選擇菜單加圖釘置頂與供應商前綴

前言

訂閱的模型多了之後,DSH 對話輸入框裏的「選擇模型」菜單會變得很長:常用模型被埋在列表深處,不同供應商的同名模型混在一起,選一次要翻很久。dsh-model-pin 就是針對這個菜單的小插件,思路很直接:把常用的模型置頂到菜單最上方,再給不同供應商的模型加上顯示前綴,讓同名模型一眼可辨。

下面介紹這個插件的定位、功能、安裝方式和注意事項。

這是什麼

dsh-model-pin 是 DeepSeek Harness(DSH)的瀏覽器側插件,由 GreyYao 維護,倉庫地址爲 https://github.com/GreyYao/dsh-model-pin ,社區目錄頁爲 https://www.skillhub.cn/plugins/GreyYao/dsh-model-pin 。

它不改 DSH 源碼,純在瀏覽器側擴展模型選擇菜單,做三件事:圖釘置頂常用模型、在「已固定」框裏拖拽排序、按供應商加顯示前綴。倉庫 README 裏還有第四項行爲改進:選中的模型若已置頂,打開菜單時會停在「已固定」框。

核心功能

1. 模型置頂

鼠標移到某個模型行,行尾會出現圖釘圖標;點圖釘即把該模型置頂,它會出現在菜單最上方的「已固定」框裏,圖釘變爲實心。再點一次圖釘(在原位置或在「已固定」框裏均可)即可取消置頂。點「已固定」裏的模型名等同於點原模型,會選擇並關閉菜單。

幾個細節:

  • 置頂記錄保存在本機瀏覽器存儲裏,重啓 DSH 後仍在。
  • 只對對話輸入框的模型選擇菜單生效。
  • 搜索過濾時,「已固定」框只顯示仍然匹配的模型。
  • 已固定的模型在原分組裏仍保留一份,鍵盤上下導航不受影響。

2. 拖拽排序

在「已固定」框裏,按住行首的 ⠿ 手柄即可拖動排序:拖到目標行的上半部分排到它前面,下半部分排到它後面,拖動時有插入線提示,順序同樣會被保存。

只有手柄能拖動。按在模型名上仍是正常選擇,不會誤觸發拖拽——DSH 菜單會在按鈕的 mousedown 裏取消默認行爲,瀏覽器原生拖拽起不來,所以插件用 pointer 事件自實現了拖拽。

3. 供應商顯示前綴

在「設置 → 模型」裏,供應商「顯示名稱」輸入框下方多出一個「顯示前綴」輸入框。填入內容後,該供應商下所有模型在對話中的顯示名變成「前綴 + 空格 + 原名」,例如 [官] DeepSeek-V4.1-Flash。

行爲說明:

  • 顯示前綴會出現在三處:模型選擇菜單、「已固定」框、輸入框旁的當前模型名。設置頁保持原樣。
  • 只改顯示,不改模型 ID,不影響調用。
  • 輸入即保存,清空即恢復;通過「添加自定義模型 API」添加時按填寫的 Provider ID 記錄。
  • 沒有「顯示名稱」的內置供應商,前綴輸入框出現在其「自定義」摺疊區最上面。
  • 限制:菜單自帶的搜索只匹配原模型名,搜不到前綴。

4. 滾動行爲

當前選中的模型已置頂時,打開菜單(或列表刷新)會停在頂部的「已固定」框,而不是被拉到下面的原分組。鼠標懸停、方向鍵導航、或用戶已手動滾動菜單之後,插件不再幹預。選中的模型未置頂時,完全保持 DSH 原樣。

安裝與啓用

這個插件沒有一條泛用的 CLI 安裝命令。它按 DSH profile 的依賴方式接入,profile 目錄通常是 ~/.dsh/profiles/<profile>/(Windows 下爲 C:\Users\<你>\.dsh\profiles\<profile>\)。具體步驟來自 README:

  1. 克隆或下載倉庫到本機任意位置。
# 倉庫地址
https://github.com/GreyYao/dsh-model-pin
  1. 修改 profile 的 package.json。操作前先備份該文件,然後在 dependencies 里加一行指向本倉庫的絕對路徑,並在 dsh.profile.bundles 數組裏加上插件名:
{
  "dependencies": {
    "dsh-model-pin": "link:/absolute/path/to/dsh-model-pin"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-model-pin"]
    }
  }
}
  1. 在 profile 目錄執行一次依賴安裝,或手動把 node_modules/dsh-model-pin 鏈接到本倉庫目錄:
cd ~/.dsh/profiles/<profile>
npm install
  1. 重啓 DSH,或刷新頁面。

卸載時刪掉 package.json 中上面兩處條目和 node_modules/dsh-model-pin 鏈接即可。已保存的置頂與前綴數據只存在瀏覽器本地,卸載不影響其他功能。

典型用法

裝好後無需額外配置,直接在對話輸入框打開模型菜單即可看到效果。日常調優按下面順序做:

  1. 打開模型菜單,把最常用的兩三個模型點上圖釘置頂。
  2. 若順序不合適,按住「已固定」框裏某行的行首手柄拖到目標位置。
  3. 在「設置 → 模型」中給容易混淆的供應商填顯示前綴,例如給官方渠道填 [官]。
  4. 回到對話,在菜單頂部的「已固定」框裏確認前綴與順序。

配置項本身不涉及模型 ID 或 API 密鑰,前綴只是顯示層的裝飾,填錯可以隨時清空。

適用場景與注意

適合模型列表較長、且同一模型名在不同供應商下重複出現的場景;也適合對可選模型有固定偏好、希望常用項常駐頂部的開發者。

幾點需要注意:

  • 插件以當前 DSH 進程的權限運行,安裝前應檢查倉庫源碼與許可證(倉庫聲明爲 MIT)。
  • 插件按 DSH 當前版本的模型選擇菜單結構工作。菜單結構取自 @deepseek-ai/dsh-client-ui-model-selection:div[role=menu][id$="-models"] > section[data-menu-group] > button[role=menuitemradio],模型由 span[data-provider-id][data-model-id] 標識。DSH 升級若調整菜單結構,圖釘或「已固定」框可能失效,此時需要關注插件更新或向倉庫提 issue。
  • 搜索無法匹配顯示前綴,這是已知限制。
  • 本插件是純瀏覽器側的社區項目;DSH 生態的社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當作官方應用商店裏的條目。

小結

dsh-model-pin 把「常用模型置頂」和「供應商前綴」這兩件事落在模型選擇菜單上,配置簡單,卸載乾淨,適合覺得模型列表太長、同名模型難分辨的 DSH 開發者。

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

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

小夜