前言¶
在 DSH(DeepSeek Harness)「一切皆插件」的体系里,web_search 是智能体最常用的联网工具之一。但搜索结果的完整程度取决于背后的搜索提供者:如果只拿到一串链接,模型还得再抓网页、再整理,多花时间和上下文。
dsh-tavily-web-search 做的事很集中:把 DSH 的搜索提供者接到 Tavily 的 REST API 上,让 web_search 直接返回链接列表、摘要答案和结构化引用来源。下面介绍它的功能、安装和配置方法。
这是什么¶
dsh-tavily-web-search 是由 paul-yangmy 维护的 DSH 插件(bundle),当前版本 0.1.0,许可证为 MIT。它通过 Tavily REST API 注册一个 ctx.web 搜索提供者,插件加载后会自动把 web_search 的搜索提供者设为 tavily,不需要手动改配置。
返回的结果包含两部分:
- 摘要
content:Tavily 生成的答案摘要; - 结构化引用源:每条带
title/snippet/publishedAt。
安装与启用¶
推荐直接安装到 DSH 的 web profile:
dsh plugin --profile web add github:paul-yangmy/dsh-tavily-web-search
安装后运行下面的命令,确认插件已经进入最终配置:
dsh --profile web --dump-config
如果你的 DSH profile 不是 web,把上面两条命令里的 web 换成对应的 profile 名即可。
配置 API Key¶
插件本身不包含密钥。先在 Tavily 控制台创建 API Key,然后写入 DSH 凭据服务:
# $DSH_HOME/.credentials.yaml
TAVILY_API_KEY: tvly-<your-key>
密钥的解析顺序是:每次搜索的 apiKey 字面量(不推荐)→ DSH 凭据服务 → 启动环境变量。API Key 不会打进插件包,也不会写入代码。推荐走凭据服务这条路:密钥支持热更新,改完无需重启。
可选配置¶
插件提供两个配置项,默认值一般不用改:
# settings.yaml
web-search-tavily:
baseURL: https://api.tavily.com
apiKeyEnv: TAVILY_API_KEY
baseURL:Tavily API 地址,默认https://api.tavily.com;apiKeyEnv:环境变量名,默认TAVILY_API_KEY。
本地开发¶
需要改源码时,先克隆仓库,然后在仓库目录里把本地路径作为插件安装:
dsh plugin --profile web add .
源码是纯 JS,不需要额外的构建步骤。
限制与注意¶
- 目前固定使用 Tavily 的
search_depth: "basic",没有暴露 advanced 深度选项。 max_results受工具层约束,硬上限为 20(Tavily 文档上限)。- 实际可用性取决于 Tavily 服务与网络状况。
- 若同时安装多个搜索提供者插件,最后安装的插件层按行胜出;要换回其他提供者,在 profile 的
cordis.patch.yml覆盖web.searchProvider。 - 运行环境要求 Node >=22。
另外提醒一点:插件会以当前 dsh 进程的权限运行。安装任何第三方插件前,建议先查看源码和许可证——这个仓库是 MIT,源码纯 JS,可以直接读完再装。
小结¶
dsh-tavily-web-search 解决的是单个具体问题:让 DSH 的 web_search 一次拿到摘要和引用来源,而不是只给一串链接。安装、写入密钥、验证配置,三步就能用起来。
插件目录页:https://www.skillhub.cn/plugins/paul-yangmy/dsh-tavily-web-search
GitHub 仓库:https://github.com/paul-yangmy/dsh-tavily-web-search