masknull/dsh-fetch-models-search:爲 DSH 模型候選彈窗增加搜索過濾

前言

在 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 服務或刷新頁面以加載插件。

典型用法

  1. 打開 DSH 的「設置 → 模型」。
  2. 展開一個 pi-ai 提供商卡片,點擊「獲取可用模型」。
  3. 彈出的候選列表上方會出現搜索框。
  4. 輸入模型 ID 的部分字符(如 chat),列表會實時過濾。
  5. 清空輸入框可恢復顯示所有候選。
  6. 驗證選擇行爲:勾選、全選/取消全選、添加選中等操作不受過濾影響。

適用場景與注意

  • 適用範圍:僅作用於「獲取可用模型」選擇器,不涉及手動編輯的模型行。
  • 匹配規則:忽略大小寫的子串匹配(僅匹配候選 ID 文本)。
  • 全選邏輯:全選/取消全選按鈕仍針對所有候選,不受當前過濾影響。
  • 運行環境:插件在瀏覽器上下文中運行。安裝前建議檢查源碼與許可證(MIT)。

結語

該插件通過瀏覽器端 DOM 增強,解決了長列表模型查找的問題,且對原有邏輯無侵入。更多細節可查閱 GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜