dsh-web-search-router:DeepSeek Harness 的多源網頁搜索路由插件

前言

在使用 DeepSeek Harness (DSH) 開發智能體時,單一搜索源可能因超時、配額耗盡或服務中斷導致失敗。dsh-web-search-router 插件提供了一個優先級排序的多提供者路由器,內置自動回退機制,旨在解決單一搜索源不穩定的問題。

它是什麼

這是一個面向 DSH 的多提供者 web_search 路由插件,由開發者 Kerberos255 維護。它註冊了一個名爲 web-search-router 的 DSH 網頁搜索提供者,但保持模型面對的工具不變:智能體依然調用 DSH 內置的 web_search。插件會按順序嘗試配置的提供者,並在遇到第一個成功結果時停止。

核心功能

  • 提供者管理:通過 DSH 的設置界面,可以調整提供者的優先級順序、啓用或禁用特定提供者。
  • 自動回退:當配置缺失、提供者失敗、超時、觸發速率限制、配額耗盡或默認情況下結果爲空時,插件會自動切換到下一個提供者。
  • 冷卻機制:對於瞬時故障設置短冷卻時間;對於速率限制和配額問題,可配置冷卻時間。
  • 配置與安全:非機密設置存儲在 DSH 原生設置命名空間中,修改後無需重啓。API 密鑰保留在 DSH 憑據或啓動環境中,不會顯示在設置界面。
  • 日誌清理:在記錄日誌或通過路由器返回錯誤信息前,會清理提供者的錯誤消息,移除敏感數據。

安裝與啓用

通過命令行安裝插件,建議固定具體的提交哈希或標籤以保證兼容性:

dsh plugin --profile web add github:Kerberos255/dsh-web-search-router#<commit-or-tag>

安裝後,插件會自動選擇 web-search-router 作爲 DSH 的搜索提供者,並注入默認配置。

典型用法

  • 前置條件:你的智能體預設必須暴露 DSH 內置的 web_search 工具(例如標準預設)。如果預設中省略了 web_search,該路由器將不會被調用。
  • 設置配置:進入 Settings → Plugins → Plugin configuration → Web Search Router。

    • 在此頁面可以重新排序提供者、啓用或禁用提供者。
    • 配置 SearXNG 的基礎 URL(無需 API 密鑰)。
    • 寫入或清除各提供者的 API 密鑰。
    • 爲每個提供者設置超時和冷卻時間。
    • 選擇當結果爲空時是否繼續嘗試下一個提供者。
  • 提供者列表:插件支持多種搜索源,包括 SearXNG、DeepSeek Search、Tavily、Brave Search、Exa、Firecrawl、Parallel 和 DuckDuckGo。未配置的提供者會自動跳過。

  • DeepSeek 搜索高級配置:插件默認使用 DSH 官方 DeepSeek 搜索提供者設置。你可以在配置文件中覆蓋它們,例如指定自定義的 deepseekBaseURL、deepseekModel 或環境變量 deepseekApiKeyEnv。

回退行爲邏輯

對於每個啓用的提供者,按以下順序執行:
1. 檢查是否配置或當前處於冷卻期,若否則跳過。
2. 使用配置的超時時間運行搜索。
3. 成功則立即返回結果。
4. 結果爲空時(根據配置決定)繼續嘗試下一個。
5. 失敗則分類錯誤並繼續嘗試下一個提供者。

注意:調用方的中斷(abort)會立即傳播,不會觸發回退機制。

注意事項與兼容性

  • DSH 版本:當前兼容 DSH 0.1.0-rc.6 和 0.1.1-rc.x,運行環境要求 Node.js 20+。DeepSeek Harness 仍處於開發者預覽階段,升級時請注意檢查兼容性。
  • 安全:憑據值僅在主機端解析。瀏覽器僅接收憑據引用和配置狀態元數據,不存儲密鑰值。路由器錯誤日誌會先屏蔽 URL 和類似密鑰/令牌的值。

總結

dsh-web-search-router 爲 DSH 提供了一個靈活、可靠的搜索後端解決方案,通過多源路由和自動容錯,增強了智能體獲取互聯網信息的穩定性。更多細節可參考 GitHub 倉庫 或 社區目錄。

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

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

小夜