前言¶
在 DeepSeek Harness (DSH) 的「設置 → 模型」中,通過「獲取可用模型」加載候選列表時,如果列表較長,手動查找特定模型 ID 會比較繁瑣。針對這一場景,需要一個輕量級的工具來增強選擇器的可用性。
插件介紹¶
masknull/dsh-fetch-models-search 是一個運行在瀏覽器端的 DSH 插件。它的核心作用是在「獲取可用模型」的候選彈窗頂部注入一個搜索框,支持輸入即實時過濾候選列表。
核心功能¶
- 注入搜索框:在候選列表頂部增加搜索輸入框,支持實時過濾。
- 純 DOM 增強:不修改組件代碼,基於穩定的 DOM 結構(無 CSS-hash 類選擇器)工作。
- 適應重渲染:使用
MutationObserver監聽 DOM 變化,確保在 React 重渲染後過濾狀態依然有效。 - 邏輯隔離:過濾操作僅控制顯示/隱藏,不影響複選框選擇、全選/取消全選等語義。
- 完全可逆:卸載時僅移除注入的元素和樣式,不影響頁面原有狀態。
- 本地化支持:根據頁面語言顯示提示(如中文或英文)。
- 零依賴:不引入
@deepseek-ai相關模塊。
安裝與啓用¶
通過命令行安裝到 web 配置文件中:
dsh plugin --profile web add github:masknull/dsh-fetch-models-search
安裝後需重啓 DSH 服務或刷新頁面以加載插件。
典型用法¶
- 打開 DSH 的「設置 → 模型」。
- 展開一個 pi-ai 提供商卡片,點擊「獲取可用模型」。
- 彈出的候選列表上方會出現搜索框。
- 輸入模型 ID 的部分字符(如
chat),列表會實時過濾。 - 清空輸入框可恢復顯示所有候選。
- 驗證選擇行爲:勾選、全選/取消全選、添加選中等操作不受過濾影響。
適用場景與注意¶
- 適用範圍:僅作用於「獲取可用模型」選擇器,不涉及手動編輯的模型行。
- 匹配規則:忽略大小寫的子串匹配(僅匹配候選 ID 文本)。
- 全選邏輯:全選/取消全選按鈕仍針對所有候選,不受當前過濾影響。
- 運行環境:插件在瀏覽器上下文中運行。安裝前建議檢查源碼與許可證(MIT)。
結語¶
該插件通過瀏覽器端 DOM 增強,解決了長列表模型查找的問題,且對原有邏輯無侵入。更多細節可查閱 GitHub。