dsh-web-search-tavily:DSH 的 Tavily 聯網搜索 Provider

DeepSeek Harness (DSH) 通過 ctx.web 將聯網能力注入到模型中。DSH 自帶的 deepseek-official 搜索 provider 會消耗模型 API 的計費額度。Tavily 是一個獨立的搜索 API,擁有獨立的配額體系。dsh-web-search-tavily 插件向 ctx.web 註冊 Tavily 後端,讓模型調用 web_search 工具時使用 Tavily 進行檢索。

核心功能

該插件向 DSH 的 web 能力縫註冊 tavily provider,主要能力包括:

  • 搜索深度與配置:支持 basic 和 advanced 兩種搜索深度配置,支持通過 maxResults 和 timeoutMs 控制返回結果數量和請求超時。
  • API Key 管理:支持從環境變量或憑據文件(~/.dsh/.credentials.yaml)解析 TAVILY_API_KEY,也支持直接在配置中填入字面量(字面量優先級高於憑據解析)。
  • 結果標準化:返回結構化結果 {url, title?, snippet?, publishedAt?},支持 URL 去重,與 DSH 其他 web provider 保持一致。
  • 錯誤處理與取消:拋出標準 WebError(包含 WEB_PROVIDER_CREDENTIAL_MISSING、WEB_PROVIDER_ERROR、WEB_ABORTED 等代碼)。支持 AbortSignal 取消,取消信號會合並插件自身的 timeoutMs,能真正終止在途請求。

安裝與啓用

安裝前需滿足以下條件:

  • DSH 版本 >= 0.1.2-alpha.2
  • 系統中 git 和 pnpm 在 PATH 上
  • 存在一個 web surface profile(DSH 默認名爲 web)

使用官方安裝命令:

dsh plugin --profile web add github:my-dsh/dsh-web-search-tavily

安裝後需要重啓 DSH 使配置生效。

配置方法

憑據配置

通過以下兩種方式之一提供 TAVILY_API_KEY:

  1. 環境變量:
    export TAVILY_API_KEY=tvly-...
  1. 憑據文件:
    編輯 ~/.dsh/.credentials.yaml,在 refs: 下添加:
    TAVILY_API_KEY: tvly-...

參數配置

通過用戶 patch 層(~/.dsh/profiles/<name>/cordis.patch.yml)覆蓋默認配置:

- id: web-search-tavily
  name: '@my-dsh/dsh-web-search-tavily'
  config:
    # 搜索深度:basic(1 credit)或 advanced(2 credits)
    searchDepth: advanced
    # 單次請求返回的最大結果數(默認 8)
    maxResults: 5
    # 單次請求超時時間(毫秒,默認 30000)
    timeoutMs: 20000
    # 字面量 API Key(留空則走憑據/環境變量解析)
    # apiKey: tvly-...

適用場景

該插件適合需要將“模型計費”與“搜索服務計費”分開的場景,或者需要使用 Tavily 獨立配額進行精確控制的情況。

生態背景

DSH 採用“一切皆插件”的架構,社區目錄與 DeepSeek / 幻方無官方從屬關係。該插件由 my-dsh 維護,遵循 MIT 協議。

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

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

小夜