um-dsh-websearch: DeepSeek Harness 多源網頁搜索插件

前言

DeepSeek Harness(DSH)採用“一切皆插件”的生態理念。在本地化部署或開發智能體時,聯網搜索能力往往需要對接多個第三方 API。手動管理多個數據源、密鑰輪詢與回退邏輯不僅繁瑣,而且容易出錯。um-dsh-websearch 是一個由 UnforgetMemory 維護的插件,旨在通過統一的策略層封裝 Exa、Parallel 與 DeepSeek 官方數據源,提供從配置到運行時的完整解決方案。

核心功能

插件通過策略層與門控機制實現了靈活且安全的搜索配置:

  • 多 provider 策略層:支持 Exa、Parallel 與 DeepSeek 官方數據源。通過數組順序定義優先級,主源失敗時自動降級。
  • 付費 / 免費雙檔位 + 門控回退:每個數據源包含 REST(付費)和匿名 MCP(免費)兩個檔位,雙方向開關獨立控制,強制關閉跨檔回退邏輯。
  • 多密鑰策略:每條數據源可掛載多條憑據,支持按序輪詢或隨機洗牌策略。
  • 併發扇出:當併發數大於 1 時,同時向所有啓用源發起請求,結果按 URL 去重合並。
  • 樂觀緩存:內置內存結果緩存,可配置 TTL(1–86400 秒)。
  • 憑據安全:使用 UM_WS_ 命名空間隔離,密鑰僅存儲爲引用,不落盤明文。
  • 官方 primitives 設置卡:複用 DSH 官方設置表單,支持行內編輯總開關、默認源、併發數與緩存。

安裝與啓用

使用 pnpm 在 web profile 中安裝插件:

pnpm exec dsh plugin --profile web add github:UnforgetMemory/um-dsh-websearch

安裝後需要重啓 DSH。進入 設置 → 插件 → UM 網頁搜索,將 enabled 開關打開。插件安裝時會自動接管默認搜索(通過 dsh bundle 與 cordis.patch),卸載時自動回退到部署原默認後端。

典型用法

在設置卡中,你可以通過行內配置控制整體行爲:
1. 總開關與默認源:設置 enabled 控制啓用,defaultProvider 決定順序鏈起點。
2. 併發模式:設置 concurrency 爲 1 時爲順序回退鏈;設置爲 2–8 時爲併發扇出所有啓用源。
3. 憑據配置:在“詳細配置”中爲每個 provider 添加密鑰引用,密鑰值通過官方憑據接口寫入,不直接暴露在配置文件中。

適用場景與注意

  • 版本要求:需要 DeepSeek Harness 版本在 >= 0.2.0-rc.1 且 < 0.3.0 之間,Node.js 版本需 >= 20。
  • DeepSeek 官方源限制:DeepSeek 官方免費檔默認強制關閉,僅支持付費 REST 檔位。
  • 遷移提示:若此前按舊版 README 手工插入了 id: web-search-exa 的配置行,需先從 profile 的 cordis.patch.yml 中刪除該行,否則會因重複加載導致衝突。
  • 許可證:MIT 許可證。

短結尾

um-dsh-websearch 通過策略層封裝與原生 UI,降低了多源搜索的維護成本,適合需要靈活切換或負載均衡的 DSH 用戶。更多細節與源碼請參考其 GitHub 倉庫。

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

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

小夜