paul-yangmy
dsh-tavily-web-search
Tavily-backed web search provider plugin (bundle) for DeepSeek Harness (dsh)
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-tavily-web-search
Tavily 搜索提供者插件(组合包 / bundle),为 DeepSeek Harness(dsh)注册 ctx.web 搜索能力,走 Tavily 原生 REST API(POST https://api.tavily.com/search)。
- 按 官方插件开发文档 打包为组合包:
dsh.bundlemanifest +cordis.patch.yml层。 - 注册提供者 id
tavily,并把web能力行的searchProvider钉扎为tavily(可在 profile 的cordis.patch.yml中覆盖)。 - 摘要答案:请求带
include_answer,结果映射为 web_search 工具的 answer 内容,同时返回带 title/snippet/publishedAt 的引用源列表。 - 结果上限:
max_results按工具层maxResults收紧,硬上限 20(Tavily 文档上限)。
安装
前提:已安装 dsh CLI 与 pnpm。
# 从 GitHub 安装(源码为纯 JS,无需构建授权)
dsh plugin --profile <name> add github:paul-yangmy/dsh-tavily-web-search
# 或本地开发链接
dsh plugin --profile <name> add /path/to/dsh-tavily-web-search
# 或 tarball / npm(若已发布)
dsh plugin --profile <name> add ./dsh-tavily-web-search-0.1.0.tgz
dsh plugin --profile <name> add dsh-tavily-web-search
安全建议:从 git 安装时锁定 commit(
github:paul-yangmy/dsh-tavily-web-search#<sha>),避免后续推送改变实际运行的代码。
配置
API 密钥不放在包内,按以下优先级在每次搜索时解析(见 lib/index.js):
- settings 中
web-search-tavily.apiKey字面量(不推荐,settings 非密钥库); - 凭据引用
web-search-tavily.apiKeyEnv(默认TAVILY_API_KEY)→ 凭据服务$DSH_HOME/.credentials.yaml→ 启动环境变量。
# 推荐:把密钥写入 dsh 凭据库(hot-reload,无需重启)
# $DSH_HOME/.credentials.yaml
TAVILY_API_KEY: tvly-<your-key>
settings.yaml(可选,默认值即如此):
web-search-tavily:
baseURL: https://api.tavily.com
安装后 web_search 工具即刻生效;若同时安装了其他搜索提供者插件,最后安装的层按行胜出。
依赖
peerDependencies 全部由 profile 内置的 @deepseek-ai/dsh-base 提供(dsh-web、dsh-credentials、dsh-settings、dsh-launch-environment、cordis);运行时唯一第三方依赖为 @deepseek-ai/schemastery。
冒烟测试
# 仅验证模块可加载与导出结构(不联网、不需要密钥)
node test/smoke.mjs
License
MIT