dsh-web-search-pool:DeepSeek Harness 的多供应商搜索 Key 池

前言

在 DeepSeek Harness 中使用 web_search 时,如果只配置一个 Tavily 或 Exa API key,遇到 429 rate limit、额度耗尽或网络错误,搜索调用就可能中断。DSH 的插件化机制允许把这类搜索能力作为插件接入,社区仓库中也出现了针对多 Key 管理的方案。

下面介绍 dsh-web-search-pool。它是一个 DeepSeek Harness 插件,用于把多个 Tavily 和 Exa API keys 组织成搜索 Key 池,并按限流情况进行调度;当某个 key 不可用时,自动切换到下一个 key。

这是什么

dsh-web-search-pool 是 DeepSeek Harness 的多供应商搜索负载均衡插件。它解决的是单搜索 API key 在 RPM 限流、额度耗尽或网络异常时,web_search 工具不稳定使用的问题。

仓库地址为:

https://github.com/dreamrift/dsh-web-search-pool

许可证为 MIT。

核心功能

该插件主要提供以下能力:

  • 支持多个 Tavily + Exa keys,统一管理。
  • 基于 RPM(每分钟的请求数)加权轮询调度。
  • 遇到 429 rate limit、额度耗尽、网络错误时,自动切换到下一个 key。
  • Settings 页卡片实时查看已用额度、总限额,并提供刷新按钮。
  • API keys 通过 DSH credentials service 保存,不写入配置文件。
  • 内置免费匿名层(1 req/sec),有 key 时走 REST 提配额。
  • 支持 DeepSeek Harness rc.7 的原生 Bundle 集成。

安装与启用

安装前需要满足以下条件:

  • DeepSeek Harness 版本为 0.1.0-rc.7 or higher。
  • 至少拥有一个 search provider API key,Tavily 或 Exa 均可。

已有本地 tarball 时,执行下面命令安装到 web profile:

dsh plugin --profile web add ./dsh-web-search-pool-0.1.0-rc.7.tgz

这条命令将本地包 dsh-web-search-pool-0.1.0-rc.7.tgz 安装到 DSH 的 web profile 中。

配置 Key 池

安装后,通过 DeepSeek Harness 的 Settings UI 配置:

1、打开 DeepSeek Harness,进入:

Settings → Plugins

2、找到卡片:

搜索 Key 池

3、添加 Tavily 或 Exa key。需要填写:

  • Environment Variable Name,例如:
TAVILY_API_KEY_1
  • Rate Limit (RPM):每分钟的请求数。
  • Remark:备注名,可选。

4、点击 Save

保存后,API keys 通过 DSH credentials service 存储,不写入 plain-text configs。

默认工具行为

配置完成后,该插件会自动成为默认 web_search 工具,不需要手动选择。

插件在调用时会根据当前配额和负载选择 key,并在失败时切换 key,同时遵守不同 key 的 rate limit 与 quota。

如果 Settings 页没有出现“搜索 Key 池”卡片,按照已核实资料中的处理方式:更新使用 key:

web-search-pool

然后重启 DSH。

开发验证

如果只是验证插件包本身,可以在仓库目录中执行以下命令。

运行测试:

npm run test

语法检查:

node --check src/**/*.js scripts/*.mjs

打包完整性检查:

npm pack --dry-run

这些命令用于本地测试、语法检查和打包完整性检查,不是业务调用示例。

适用场景与注意

适合以下场景:

  • 已经有多个 Tavily 或 Exa API keys,希望统一放入一个池子使用。
  • 希望降低单个 key 触发 429 rate limit、额度耗尽或网络错误时对 web_search 的影响。
  • 希望 API keys 不直接写入配置文件,而是通过 DSH credentials service 保存。

需要注意:

  • 插件以当前 DSH 进程权限运行。
  • 安装前应检查仓库源码、依赖与 MIT 许可证。
  • 插件声称 API keys 不 log、不在响应中暴露,但仍应只在可信环境中使用。
  • 至少需要一个 Tavily 或 Exa API key 才能使用付费或受额度控制的搜索能力。
  • 该仓库是社区仓库,安装前自行确认版本与本地环境匹配。

链接

GitHub 仓库:

https://github.com/dreamrift/dsh-web-search-pool
羽毛球分组比赛记分
小程序二维码

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

小夜