dsh-tavily-pool: Tavily 驱动的 DeepSeek Harness 多密钥搜索插件

前言

DeepSeek Harness (DSH) 目前处于预览阶段,其“一切皆插件”的架构允许开发者根据需求扩展功能。在进行智能体开发或日常使用时,网页搜索往往是一个核心功能。然而,使用单一 API 密钥容易遇到速率限制或额度耗尽的问题。为了解决单密钥带来的瓶颈,下面介绍一个多密钥管理插件,它通过 Tavily 的接口接管 DSH 的搜索与抓取能力。

是什么

dsh-tavily-pool 是由 stormbuf 维护的一个联网工具类插件。它为 DeepSeek Harness 提供了基于 Tavily 的网页搜索和页面抓取能力。该插件的核心价值在于管理一个密钥池,通过余额感知的轮转策略和自动故障转移机制,确保搜索请求的连续性和稳定性。

核心功能

插件实现了以下具体功能:

  1. 多密钥池管理
    支持批量粘贴 API 密钥(每行一个)。在设置面板中,可以对密钥进行标签、启用/禁用、排序和批量删除操作。界面始终显示掩码后的密钥,仅通过设置面板输入,不读取环境变量或凭据服务。

  2. 余额感知轮转
    插件优先使用余额最高的密钥。它支持无限密钥检测(当 key.limit 和 account.plan_limit 均为 null 时)。插件会定期通过官方 /usage 接口刷新余额数据,不维护本地记账,以避免因计费规则变更导致的误差。

  3. 自动故障转移与冷却机制
    当某个密钥请求失败时,插件会自动切换到下一个可用密钥。同时,它尊重上游返回的 Retry-After 头部,对冷却中的密钥进行硬性排除,防止过载。

  4. 功能接管与配置

    • 搜索接管:接管 web_search 接口,可配置深度、结果上限、主题和生成答案开关。
    • 抓取接管:默认关闭,开启后将 web_fetch 映射到 Tavily 的 /extract 接口,返回纯文本而非 HTML。
    • 独立开关:搜索和抓取功能可以分别独立切换回官方提供者。
  5. 调用监控
    记录每次调用的详细信息(密钥、端点、结果、耗时、request_id),并提供 14 天的调用计数图表。数据文件受条目数和 30 天窗口限制。

  6. 技术特性
    纯 ESM 实现,零运行时依赖,无需构建步骤。

安装与启用

安装该插件需要 DeepSeek Harness 环境。

1、执行以下命令安装插件:

dsh plugin add dsh-tavily-pool

或者从 GitHub 安装(无需注册 npm 账户):

dsh plugin add github:stormbuf/dsh-tavily-pool

若需安装特定版本,请使用:

dsh plugin add github:stormbuf/dsh-tavily-pool#vX.Y.Z

2、安装完成后,重启 DSH。

3、进入 设置 → 插件 → dsh-tavily-pool,在设置面板中粘贴您的 Tavily API 密钥。

典型用法

启用插件后,搜索和抓取功能默认已接管。您可以通过设置面板调整搜索参数(如搜索深度、结果上限)。

  • 切换提供者:如果您希望回退到官方搜索或抓取提供者,可以在设置面板中分别关闭对应的开关。
  • 密钥管理:在密钥列表中,您可以随时添加新密钥、调整排序顺序(余额优先或手动顺序)或移除不再使用的密钥。

适用场景与注意

  • 适用场景:需要高可用性网页搜索、拥有多个 Tavily API 密钥、需要通过抓取获取页面纯文本内容的开发者。
  • 注意:由于 DeepSeek Harness 处于预览阶段,插件通过适配层隔离宿主特定知识。安装前建议查看源码并确认许可证(MIT)符合项目要求。插件仅通过 DSH 设置面板接受密钥输入,不依赖环境变量。

结语

该插件通过集中管理密钥池和智能调度策略,解决了单密钥搜索的稳定性问题。其零依赖和独立的配置面板也降低了集成难度。更多技术细节可参考其 GitHub 仓库。

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

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

小夜