前言¶
DeepSeek Harness (DSH) 是一套面向智能体开发的插件化框架。在使用 Web 搜索能力时,通常需要大模型参与生成搜索词,这会消耗 LLM Token。dsh-tavily-search 插件通过直连 Tavily Search API,让搜索过程与大模型解耦,仅消耗 Tavily API 额度。
插件定位¶
- 名称:
dsh-tavily-search - 维护者:ouones
- 定位:DSH 的联网工具插件,提供网页搜索能力。
- 核心能力:注册为 DSH
webseam 的搜索 provider(id:tavily-official),工具名为web-search-tavily。纯 JS(ESM)实现,无构建步骤。
安装与启用¶
安装前请确保已安装 DSH 环境(官方要求 Node.js 22.19+)。
1、在 DSH 的 profile 目录下执行安装命令:
dsh plugin --profile web add dsh-tavily-search
2、安装完成后重启服务:
dsh web
注意:若首次安装遇到 ERR_PNPM_IGNORED_BUILDS 错误,需在 profile 目录的 pnpm-workspace.yaml 的 allowBuilds 字段中加入相应依赖后重试。
配置与使用¶
插件安装后会自动挂载,但需要配置 API Key 才能使用。
1. 提供凭据¶
从 Tavily 官网注册获取 API Key,并通过以下任一方式注入:
- 环境变量:启动
dsh web前导出TAVILY_API_KEY。 - DSH 凭据服务:推荐方式,将
TAVILY_API_KEY存入 DSH 凭据存储。 - 注意:不推荐在配置文件中直接写入
apiKey,这会导致密钥落盘。
2. 覆盖默认配置¶
插件默认配置为 searchDepth: basic 和 includeAnswer: true。如需调整,在 profile 的 cordis.patch.yml 中按相同的行 id 覆盖:
# ~/.dsh/profiles/<name>/cordis.patch.yml
- id: web-search-tavily
name: dsh-tavily-search
config:
apiKeyEnv: TAVILY_API_KEY
searchDepth: advanced # basic | advanced
includeAnswer: true # 是否返回 Tavily 生成的自然语言回答
3. 切换默认搜索 Provider¶
若希望默认搜索走 Tavily 并停用官方 DeepSeek 搜索(避免消耗 LLM Token),在 cordis.patch.yml 中追加:
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: tavily-official
- id: web-search-deepseek
name: '@deepseek-ai/dsh-web-search-deepseek'
disabled: true
验证¶
重启 dsh web 后,执行以下命令验证配置是否生效:
dsh --profile web --dump-config
在输出结果中应能看到 id: web-search-tavily 这一层的配置。
注意事项¶
- 许可证:MIT
- Token 消耗:搜索过程不消耗 LLM Token,仅消耗 Tavily API 额度(Tavily 有免费额度)。
- 运行权限:插件以当前 DSH 进程权限运行,使用前请检查源码与许可证。
参考链接¶
- GitHub:https://github.com/ouones/dsh-tavily-search
- 社区目录:https://www.skillhub.cn/plugins/ouones/dsh-tavily-search