DeepSeek Harness Web Search Provider via LiteLLM

前言

DeepSeek Harness (DSH) 提供了一套聯網能力接口 (ctx.web),用於讓模型訪問外部信息。DSH 自帶的搜索 provider 在工作時會佔用模型輪次。brilliant751/dsh-web-search-litellm 插件爲 DSH 提供了另一種選擇:它直接對接 LiteLLM 的 /v1/search 端點,實現一次 HTTP 請求完成搜索,不佔用模型計算資源。

是什麼

這是一個基於 LiteLLM /v1/search 的 Web 搜索 Provider,專供 DeepSeek Harness 的 ctx.web seam 使用。
* 維護者: brilliant751
* 定位: 將 DSH 的搜索請求轉換爲 LiteLLM 的搜索請求,複用現有的網關和虛擬密鑰。

核心功能

  1. 直接對接 LiteLLM: 調用 LiteLLM 的 /v1/search 端點,而非模型輪次。
  2. 註冊 Provider: 向 ctx.web 註冊 id 爲 litellm 的 WebSearchProvider。
  3. 單次請求: 每次搜索對應一次 HTTP 請求。
  4. 資源複用: 複用現有的 LiteLLM 網關和虛擬密鑰,保持 Chat 和 Search 走同一代理。

安裝與啓用

在終端中運行以下命令安裝插件。該命令會將插件添加到 dsh.profile.bundles 中,從而註冊 litellm provider 並設爲活躍的搜索後端。

dsh plugin --profile web add @brilliant751/dsh-web-search-litellm

安裝後,需要重啓 dsh web 使配置生效。

配置說明

插件的默認配置位於 cordis.patch.yml,主要包含以下三個配置項:

配置項 默認值 說明
baseURL https://your-litellm.example.com/v1 LiteLLM 網關的基礎地址,程序會在此基礎上追加 /search。
apiKeyEnv DEEPSEEK_API_KEY 密鑰的環境變量名,用於在憑證存儲中查找密鑰。
searchToolName google LiteLLM 網關中配置的搜索工具名稱。

注意: cordis.patch.yml 中的配置會完全替換目標行的內容,而不是合併。若需修改配置,必須重寫完整的配置塊。

前置要求

在使用此插件前,必須確保 LiteLLM 網關已正確配置搜索工具。

  1. 在 LiteLLM 的 config.yaml 中設置 search_tools,並指定一個本地的 search_tool_name(例如 google)。
  2. 使用虛擬密鑰驗證該工具是否可訪問。在終端執行:
curl https://your-litellm.example.com/v1/search/tools \
  -H 'Authorization: Bearer YOUR_LITELLM_VIRTUAL_KEY'

返回結果中的 data[].search_tool_name 必須包含你配置的名稱。

兼容性與限制

  • DSH 版本: 支持從 0.1.0-rc.6 到 0.1.2-rc.1 的 DSH Web Seam 預發佈版本。
  • Node.js: 需要 Node.js 20 或更高版本。
  • 結果映射: 插件僅將 LiteLLM 返回的 results 映射到 ctx.web 的 sources 字段,模型端使用的工具接口保持不變 (@deepseek-ai/dsh-tool-web)。

安全與許可

  • 許可: MIT 許可證。
  • 權限: 安裝插件會將該插件的代碼以你的當前權限運行。
  • 安全: 插件只會將配置的 baseURL 作爲目標發送 LiteLLM 密鑰,請確保該地址指向你信任的網關。

目錄與源碼

  • GitHub: https://github.com/brilliant751/dsh-web-search-litellm
  • 插件目錄: https://www.skillhub.cn/plugins/brilliant751/dsh-web-search-litellm
羽毛球分组比赛记分
小程序二维码

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

小夜