dsh-web-search-litellm

前言

DeepSeek Harness (DSH) 採用插件化架構。在使用 ctx.web 綁定進行聯網搜索時,開發者常遇到協議不兼容或 API Key 配置錯誤的問題。dsh-web-search-litellm 插件通過 LiteLLM 代理和 OpenAI Responses 協議,提供了一套標準的 Web 搜索解決方案。

插件簡介

這是 DeepSeek Harness ctx.web 的 Web 搜索提供方。它通過 LiteLLM 代理調用 DeepSeek 原生服務端的 web_search 能力,返回帶真實來源 URL 的答案。

安裝

使用 DSH 官方命令安裝插件:

dsh plugin --profile <name> add dsh-web-search-litellm

配置與啓用

安裝完成後,需在 profile 的配置文件 cordis.patch.yml 中啓用該提供方。

  1. 在 cordis.patch.yml 中配置 web 綁定的 searchProvider:
   - id: web
     config:
       searchProvider: litellm-responses
  1. 可選:禁用默認的 Anthropic 協議提供方:
   - id: web-search-deepseek
     disabled: true
  1. 安裝後重啓 profile 以使配置生效。

核心功能

  • 協議支持:使用 OpenAI Responses 協議(POST {baseURL}/responses),不支持 Anthropic 協議。
  • 密鑰複用:複用現有的 LITELLM_API_KEY 憑據,無需配置新的 API Key。
  • 服務端搜索:搜索任務在 DeepSeek 官方服務端執行,不依賴任何第三方搜索服務。
  • 可視化配置:所有設置項可在 Harness 的設置 UI 中完全配置。

配置項說明

該提供方支持以下配置項。未設置的項會從當前活躍的模型配置中自動派生。

配置項 默認值/來源 說明
baseURL 派生($LITELLM_SEARCH_BASE_URL) LiteLLM 代理根地址,請求路徑會追加 /responses
apiKeyEnv 派生(LITELLM_API_KEY) 密鑰環境變量名稱,每次搜索時解析
model 派生(當前活躍模型 ID) 首選的搜索模型 ID
candidateModels 派生(活躍提供方的模型列表) 備選模型池,用於競速搜索
maxTokens 4096 單次搜索請求的輸出 Token 上限
timeoutMs 60000 響應流的連接及空閒超時時間

工作原理

  1. 模型調用 web_search 工具。
  2. 插件向 {baseURL}/responses 發起 POST 請求,攜帶 tools: [{"type": "web_search"}] 和 stream: true。
  3. LiteLLM 代理將請求轉發至 DeepSeek,服務端執行搜索並將結果流式返回。
  4. 插件解析 SSE 流,提取 output_text 作爲內容,將 web_search_call 中 action: open_page 的 URL 彙總爲 sources。

注意事項

  • 計費:每次搜索消耗一次 DeepSeek 模型調用。
  • 會話兼容性:插件不追加自定義會話事件,以確保與舊版本 Harness 的兼容性。
  • 結果格式:DeepSeek 文檔未明確支持結構化 include 字段,因此結果僅包含 URL,不包含標題和摘要。
  • 權限:插件作爲當前 DSH 進程運行,安裝前建議檢查源碼與許可證。

生態信息

  • 維護者:yunxiyang
  • 許可:MIT
  • 倉庫:https://github.com/yunxiyang/dsh-web-search-litellm
  • 目錄:https://www.skillhub.cn/plugins/yunxiyang/dsh-web-search-litellm
羽毛球分组比赛记分
小程序二维码

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

小夜