前言¶
在 DSH web profile 中,原生的模型選擇器與思考強度選擇器被集成在一個二級菜單裏。這種集成方式在模型數量增多時查找不便,且調節思考強度不夠直觀。dsh-better-model-selector 插件將這兩個控件拆分爲兩個獨立的組件,並引入了更合理的交互方式。
插件簡介¶
該插件由 Khellendros97 維護,旨在優化 DSH web 界面的模型管理體驗。它不改變底層數據結構,而是通過覆蓋 UI slot 來調整顯示和交互邏輯。
核心功能¶
-
模型選擇器
保持下拉選單的形式,但增加了搜索功能,方便在模型列表中快速定位。同時支持標記喜愛(收藏)功能,方便快速訪問常用模型。 -
思考強度選擇器
將原有的選擇控件改爲滑動條樣式,操作更加直觀,調節範圍更清晰。 -
快捷鍵
-Ctrl/Cmd + P:快速切換模型,在收藏模型列表中輪換。
-Ctrl/Cmd + T:輪換當前模型的思考強度。
安裝與啓用¶
插件依賴 DSH 的 next 通道,peerDependencies 指向 @deepseek-ai/* ^0.1.0-rc.6。請確保你的 DSH 環境滿足依賴要求(Node.js ≥ 20,且 dsh web 能正常運行)。
- 使用官方 CLI 安裝插件:
dsh plugin --profile web add dsh-better-model-selector
該命令會自動處理依賴登記和掛載。安裝完成後,重啓 DSH 並在瀏覽器執行硬刷新(Cmd/Ctrl + Shift + R)即可生效。
機制與持久化¶
- 狀態同步:插件通過覆蓋內置的
conversation.input.modelslot,並讀寫會話級ModelDirectory(由@deepseek-ai/dsh-client-ui-model-selection提供),因此它與/model命令彈窗共享同一份狀態。 - 收藏存儲:收藏列表持久化到主機級 cookie(
dms_favs,路徑/,約 1 年有效期),僅本地保存。相比localStorage,cookie 按主機隔離,能避免因 DSH web 每次重啓端口變化導致舊端口數據丟失的問題。首次讀取會自動遷移舊版 cookie(dmt_favs)和localStorage(dsh-model-toolbox:favorites:v1)中的收藏。
限制與注意事項¶
- 顯示條件:思考強度滑動條僅在當前模型公佈了推理強度元數據時纔會顯示。
- 子代理會話:在已尋址的子代理(subagent)會話中,不提供模型選擇功能,控件隱藏且快捷鍵失效。
- 快捷鍵行爲:
Ctrl+P/Ctrl+T僅當存在當前會話時接管按鍵;若當前沒有會話,則不會攔截瀏覽器的默認行爲(例如Ctrl+T會新建標籤頁)。
結尾¶
通過將模型選擇與思考強度調節解耦,並引入快捷鍵支持,該插件提升了在多模型場景下的操作效率。插件目錄與源碼地址見下方。