DeepSeek Harness 聚合网页搜索插件

在 DeepSeek Harness(DSH)中开发智能体时,联网能力往往受限于单一搜索提供商的稳定性或配额。web_search 工具若遇到上游服务不可用或密钥失效,通常会导致调用失败。本文介绍 chendefine/dsh-web-search-aggregation,它将 AnySearch、TinyFish、Tavily 等多个搜索提供商整合为单一入口,通过优先队列和有序回退机制提升可用性。

核心功能

  • 优先队列与有序回退:插件将多个搜索提供商按顺序排入队列。发起搜索时,请求从队列顶部向下尝试,第一个成功返回结果的提供商胜出;若失败,则自动回退至下一个提供商。
  • 多密钥池轮换:每个提供商支持配置多个 API 密钥(用逗号分隔)。插件会自动轮换使用这些密钥,以分散负载和配额压力。
  • 预算感知与透明失败:每个搜索尝试都有独立的超时截止时间(默认 10 秒),避免上游服务挂起占用全局预算。当所有尝试均失败时,错误信息会报告每个提供商的失败详情,便于排查。
  • 密钥卫生与实时配置:插件不会在日志中记录密钥的具体内容,仅引用引用标签。所有队列顺序、密钥、端点和超时设置均可通过设置卡片实时编辑,无需重启服务。

安装与启用

环境要求:Node.js ≥ 22.19。

通过 npm 安装:

dsh plugin --profile web add dsh-web-search-aggregation

通过 GitHub 安装:

dsh plugin --profile web add github:chendefine/dsh-web-search-aggregation

或者通过 DSH 界面安装:设置 → DSH插件市场。

注意:安装后必须重启 dsh web 进程才能加载插件。

配置说明

配置入口:设置 → 插件 → 插件配置 → 聚合网页搜索。

在配置卡片中,可以调整以下内容:

  • Providers(优先队列):包含 AnySearch、TinyFish、Tavily、Brave、Exa、Firecrawl、Jina、SerpApi、Serper 等条目。每个条目可启用/禁用,或覆盖默认端点。顺序决定了请求的尝试顺序。
  • Attempt Timeout Ms(超时设置):单次尝试的截止时间(毫秒),范围 1-60000,默认为 10000。

注意事项

  • AnySearch 支持匿名访问,无需配置密钥即可尝试。
  • Tavily、TinyFish、Brave、Exa、Firecrawl、Jina、SerpApi、Serper 等提供商需要配置对应的 API 密钥。
  • 卸载命令:
    dsh plugin --profile web remove dsh-web-search-aggregation

该插件通过聚合多个上游服务,解决了单一提供商不可用时的中断问题,适合需要高可用联网能力的 DSH 智能体场景。

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

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

小夜