
crayonlu/dsh-web-search-tavily
30Last commit Aug 13, 2026
dsh-web-search-tavily DSH plugin
This plugin provides a WebSearchProvider that uses the Tavily search API. It allows the `web_search` tool in DeepSeek Harness to run entirely on Tavily, without requiring a DeepSeek API key. Installation is done via the `dsh plugin` command, and configuration is added to the profile patch layer.
How to install the dsh-web-search-tavily DSH plugin
dsh plugin --profile web add github:crayonlu/dsh-web-search-tavilyCopying does not run this command. Review the repository and version before installing the dsh-web-search-tavily DSH plugin.
dsh-web-search-tavily DSH plugin data source
dsh-web-search-tavily DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-web-search-tavily DSH plugin can do
- Supports Tavily's `search_depth` (basic or advanced) and `maxResults` parameters.
- Allows configuration of API key via direct value or environment variable reference.
- Includes Tavily's generated answer as search result content when `includeAnswer` is enabled.
- Supports custom base URL for Tavily API endpoint.
- Hot-reloads configuration changes without restarting the DSH process.
Where the dsh-web-search-tavily DSH plugin fits
- Replace DeepSeek's built-in search with Tavily for better or more customizable results.
- Use in DSH workflows that require real-time web search via Tavily.
- Integrate with other DSH plugins that rely on the `web_search` tool.
- Avoid exposing DeepSeek API key by using Tavily as the search backend.
Who the dsh-web-search-tavily DSH plugin is for
- DeepSeek Harness users who need a Tavily-powered search provider.
- Developers building DSH workflows that require web search without DeepSeek API.
dsh-web-search-tavily DSH plugin limitations
- Requires a valid Tavily API key (either via `apiKey` or `apiKeyEnv`).
- Only supports Tavily as the search provider; no other search engines.
- The `apiKey` field stores the API key in plaintext in the configuration file.
- Depends on Tavily service availability; may fail if Tavily is down.
dsh-web-search-tavily DSH plugin: from the repository README
Quoted from the crayonlu/dsh-web-search-tavily README, the upstream source of the dsh-web-search-tavily DSH plugin. Copyright remains with the original authors.
Tavily-backed `WebSearchProvider` for the [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) web capability seam (`ctx.web`). Lets `dsh`'s `web_search` tool run entirely on [Tavily](https://tavily.com) — no DeepSeek API key required. ## Install ```sh 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): ```yaml - 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 ba
Read the full READMERepository license: MIT
dsh-web-search-tavily DSH plugin questions
How do I install this plugin?
Run the command `dsh plugin --profile web add github:crayonlu/dsh-web-search-tavily` in your terminal. Then add the provider configuration to your profile patch file at `$DSH_HOME/profiles/web/cordis.patch.yml` as described in the README. No restart is needed due to hot-reload.
How do I configure the Tavily API key?
You can set the API key either by providing it directly in the `apiKey` field of the plugin configuration, or by setting the environment variable `TAVILY_API_KEY` (or a custom variable name via `apiKeyEnv`). The `apiKeyEnv` option is recommended to avoid storing keys in plaintext config files.
Can I use this plugin without a DeepSeek API key?
Yes, that's the main purpose. The plugin routes all search requests through Tavily, so you only need a Tavily API key. You can optionally disable the DeepSeek-backed search and chat routes by setting `disabled: true` for the corresponding IDs in the patch file.
How do I test if the plugin is working?
Run the unit tests with `npm install && npm test`. There is also a smoke test that performs a real Tavily search if the `TAVILY_API_KEY` environment variable is set. Make sure you have configured the plugin correctly in your profile.
What configuration options are available?
The plugin supports `apiKey`, `apiKeyEnv`, `baseURL`, `maxResults`, `includeAnswer`, and `searchDepth`. All fields are optional. Defaults are: `apiKeyEnv` = `TAVILY_API_KEY`, `baseURL` = `https://api.tavily.com`, `maxResults` = 5, `includeAnswer` = true, `searchDepth` = `basic`.