mimoxh/dsh-tavily ↗★ 0

dsh-tavily

Tavily search and extract providers for the DSH web capability seam (ctx.web): runs DSH's built-in web_search and web_fetch through Tavily instead of the shipped providers. 适合拥有Tavily API密钥,希望提升网页搜索和内容抓取质量的用户。

Package
dsh-tavily
Compatibility
Unverified
Harness peer range
^0.2.0-rc.2
Version
0.1.0
License
MIT
Last updated
Oct 25, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:mimoxh/dsh-tavily

3. 配置项

配置在 cordis.patch.yml 中 web-tavily 行的 config 里;标 是 的字段也可以在 Settings → Tavily 页面里编辑(保存后立即生效,不需要重启)。

字段默认设置页说明
apiKey无否字面 key(tvly- 开头),优先级最高;页面检测到它会禁用凭据输入
apiKeyEnvTAVILY_API_KEY否(高级)凭据库引用名;页面按它读写密钥
baseURLhttps://api.tavily.com是Tavily 地址;可指向网关/代理,末尾不要斜杠
searchPath/search否搜索端点路径,仅当网关改写了路径才改
extractPath/extract否抓取端点路径,同上
timeoutMs15000是单次搜索超时
fetchTimeoutMs30000是单次抓取超时
maxResults8是本提供方上限(≤ 20);调用方只能往下压,不能往上抬
searchDepthbasic是basic / advanced / fast / ultra-fast
topicgeneral是general / news / finance
timeRange不发送是day / week / month / year
days不发送是仅 topic: news 有意义,最近 N 天
country不发送是两位国家代码,例如 us / cn
includeAnswerfalse是false / true / basic / advanced;开启后模型会直接拿到一段答案(消耗额外额度)
includeDomains[]是只搜这些域名;页面用逗号/空格分隔,patch 里可写数组
excludeDomains[]是排除这些域名;同上
extractDepthbasic是basic / advanced
extractFormatmarkdown是markdown / text
maxBodyChars100000是抓取正文字符上限,超出截断并标记 truncated
userAgentdsh-tavily/否请求 UA,默认值跟随 package.json 的 version
headers{}否额外请求头(网关鉴权用);同名时覆盖默认的 authorization

页面保存的 volatile 字段写入当前 profile 的 cordis.patch.yml,Host 的下一次请求就会读到,不需要重启。直接改 patch 文件里的非 volatile 字段(searchPath / extractPath / userAgent / headers)仍需让组合包重新加载:桌面端完全重启 DSH;dsh web / dsh tui / dsh headless 下次启动生效。

配置 schema 与设置页

Host 半边现在声明 Config(@deepseek-ai/schemastery),换来:

  • 加载时校验:字段类型/枚举/范围写错会在组合时被拒绝,而不是第一次请求才报错;
  • 原生设置页:web-tavily namespace 被 dsh-settings 提供给浏览器半边,Settings → Tavily 里出现表单;
  • volatile 立即生效:页面保存后 apply() 里的 options thunk 下次请求就重读,不需要重启;
  • 密钥不进 patch:页面通过 DSH 凭据库写 TAVILY_API_KEY。

代价与注意事项:

  • 多了一个包依赖 @deepseek-ai/schemastery ~3.18.5(DSH 自身同款版本)。本地 link: 安装需要在插件目录 npm install;发布包由包管理器安装。
  • 缺少该依赖时 index.js 会动态 import 失败并降级:搜索/抓取照常,设置页不出现,控制台给出警告。这样不会因为漏装依赖导致整行加载失败。
  • DSH 升级 schemastery 时 schema 可能被判定不兼容,需要回归 npm run test:schema;DSH 升级客户端 primitives 时设置页可能需要跟着调整。
  • searchPath / extractPath / userAgent / headers 仍是 patch-only(高级字段,页面不渲染)。

配置 schema 与设置页

Host 半边现在声明 Config(@deepseek-ai/schemastery),换来:

  • 加载时校验:字段类型/枚举/范围写错会在组合时被拒绝,而不是第一次请求才报错;
  • 原生设置页:web-tavily namespace 被 dsh-settings 提供给浏览器半边,Settings → Tavily 里出现表单;
  • volatile 立即生效:页面保存后 apply() 里的 options thunk 下次请求就重读,不需要重启;
  • 密钥不进 patch:页面通过 DSH 凭据库写 TAVILY_API_KEY。

代价与注意事项:

  • 多了一个包依赖 @deepseek-ai/schemastery ~3.18.5(DSH 自身同款版本)。本地 link: 安装需要在插件目录 npm install;发布包由包管理器安装。
  • 缺少该依赖时 index.js 会动态 import 失败并降级:搜索/抓取照常,设置页不出现,控制台给出警告。这样不会因为漏装依赖导致整行加载失败。
  • DSH 升级 schemastery 时 schema 可能被判定不兼容,需要回归 npm run test:schema;DSH 升级客户端 primitives 时设置页可能需要跟着调整。
  • searchPath / extractPath / userAgent / headers 仍是 patch-only(高级字段,页面不渲染)。