前言¶
在 DeepSeek Harness(DSH)中做智能体工具链时,有时需要额外引入 Tavily 搜索能力,但又不希望把内置 web_search 替换掉。moguiyu/dsh-tavily 面向这个场景:它把 Tavily 作为一组可选增强工具接入 DSH,同时保留 DSH 原有的搜索路径。
这是什么¶
moguiyu/dsh-tavily 是 moguiyu 维护的 DSH 插件,许可为 MIT。它主要提供:
- 多 Tavily API key 管理
- key 轮换与故障转移
- 用量查看
tavily_search、tavily_extract、tavily_map、tavily_crawl等直接 Tavily 工具
这里的关键边界是:它不替换内置 web_search,不注册 web-search provider,也不改写 web.searchProvider。
核心功能¶
- 多 Key 列表:从 DSH 设置界面维护一份扁平的 Tavily API key 列表。
- 轮换与故障转移:支持 round-robin;遇到 HTTP 401/429 时自动重试。
- 用量查看:展示各 key 的 Tavily 用量和总量,服务端获取,密钥不会以未脱敏状态暴露。
- 直接 Tavily 工具:提供
tavily_search、tavily_extract、tavily_map、tavily_crawl。 - 设置卡片:刷新浏览器后,可在 Settings → Plugins → plugin configuration 下看到 Tavily Search 卡片。
- 高级工具默认关闭:高级 Tavily 工具是 opt-in;开启后不会改变默认
web_search。
安装与启用¶
先确认版本要求:
DSH: 0.1.0-rc.x
keyed plugin-config card: 0.1.0-rc.7 或更新版本
从 GitHub 仓库安装:
dsh plugin --profile web add github:moguiyu/dsh-tavily
从 npm 发行包安装:
dsh plugin --profile web add @moguiyu/dsh-tavily
npm 包名是 scoped 的 @moguiyu/dsh-tavily,不是同名社区 dsh-tavily provider-swap 插件。
安装后刷新浏览器,Tavily Search 卡片会出现在 Settings → Plugins → plugin configuration 下。
典型用法¶
1、配置 key 列表:
TAVILY_API_KEYS=<key1>,<key2>,<key3>
TAVILY_API_KEY 会自动同步到第一个 key。
2、选择 key 使用策略:
Rotate each key
Lowest usage first
Highest usage first
3、如需使用直接 Tavily 工具,可在 tavily-search settings namespace 中开启。开启后提供 tavily_search、tavily_extract、tavily_map、tavily_crawl;这些工具不会改变默认 web_search。
本地状态与密钥处理¶
状态文件包括:
~/.dsh/tavily-manager.json
~/.dsh/tavily-tool.json
~/.dsh/tavily-toggle.json
其中 ~/.dsh/tavily-toggle.json 为 legacy 状态文件。文件权限为 mode 600,不保存密钥材料。密钥不会以未脱敏状态离开服务器。
适用场景与注意¶
适合在 DSH 中使用 Tavily,同时希望保留内置 web_search 的开发者。若主要需求是多 key 轮换、故障转移和用量查看,先配置 TAVILY_API_KEYS;若还需要直接 Tavily 工具,再在 tavily-search settings namespace 中开启。
插件会以当前 dsh 进程权限运行,安装前应检查源码、许可证和即将调用的第三方搜索服务。该插件采用 MIT 许可。
获取与链接¶
GitHub:
https://github.com/moguiyu/dsh-tavily
目录页可在独立插件目录中按 moguiyu/dsh-tavily 或 @moguiyu/dsh-tavily 查找;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应视为官方应用商店。