crayonlu/dsh-web-search-tavily

Tavily-backed WebSearchProvider for the DeepSeek Harness web capability seam (ctx.web). Lets dsh's web_search tool run entirely on Tavily — no DeepSeek API key required.

catalog 简介 / catalog descriptioncatalog description:Tavily-backed web search provider for DeepSeek Harness (ctx.web) — no DeepSeek API key required

项目介绍Project Overview

@ crayonlu/dsh-web-search-tavily 是一个 DSH 插件,为 DeepSeek Harness 的 WebSearchProvider 提供 Tavily 后端,使 dshweb_search 工具完全通过 Tavily 运行,无需 DeepSeek API 密钥。安装后通过在 web profile 的补丁层注册该 provider 并设置 searchProvider: tavily 即可启用,支持热重载。当需要以 Tavily 作为唯一检索通道、降低对 DeepSeek 依赖时使用。需注意:明文 apiKey 会写入配置文件,建议优先用 apiKeyEnv 引用 TAVILY_API_KEY,空值会触发 WEB_MISSING_CREDENTIAL

@crayonlu/dsh-web-search-tavily is a DSH plugin that supplies a Tavily-backed WebSearchProvider for the DeepSeek Harness web capability seam, letting the dsh web_search tool run entirely on Tavily without a DeepSeek API key. Install it and register the provider in the web profile patch layer with searchProvider: tavily to enable. Use it when Tavily should be the sole retrieval channel. Note that a literal apiKey lands in a config file, so prefer apiKeyEnv referencing TAVILY_API_KEY; an empty value raises WEB_MISSING_CREDENTIAL.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:crayonlu/dsh-web-search-tavily

crayonlu/dsh-web-search-tavily 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

@crayonlu/dsh-web-search-tavily

Tavily-backed WebSearchProvider for the DeepSeek Harness web capability seam (ctx.web). Lets dsh's web_search tool run entirely on Tavily — no DeepSeek API key required.

Install

dsh plugin --profile web add github:crayonlu/dsh-web-search-tavily

Then add the provider to the profile patch layer at $DSH_HOME/profiles/web/cordis.patch.yml (hot-reloaded — no restart needed):

- insert:
  - id: web-search-tavily
    name: '@crayonlu/dsh-web-search-tavily'
- id: web
  config:
    searchProvider: tavily
# Optional: drop the DeepSeek-backed search (and chat route) entirely.
- id: web-search-deepseek
  disabled: true
- id: llm-deepseek
  disabled: true

Configuration

Every field is optional:

Field Default Meaning
apiKey Literal Tavily key (write it here instead of apiKeyEnv only if you must; it lands in a config file).
apiKeyEnv TAVILY_API_KEY Credential reference resolved per search through ctx.credentials (inherited env > $DSH_HOME/.credentials.yaml > project/user .env).
baseURL https://api.tavily.com Endpoint base; /search is appended.
maxResults 5 Default result count when a request carries no maxResults.
includeAnswer true Carry Tavily's generated answer as the search result content.
searchDepth basic basic or advanced (Tavily's search_depth).

The key resolves once per search, so an empty TAVILY_API_KEY fails the request with WEB_MISSING_CREDENTIAL rather than falling through to an unrelated credential.

Tests

npm install
npm test

Unit tests mock the HTTP layer; the smoke test runs a real Tavily search when TAVILY_API_KEY is set.

License

MIT

上一个 Prev dsh-open-eyes 下一个 Next dsh-plugin-cost-tracker