前言¶
在 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.7or 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