nitrazepam01/dsh-web-search-tavily ↗★ 1
dsh-web-search-tavily
Tavily-backed search provider (native web_search via the Tavily /search API) for the DeepSeek Harness web capability seam (ctx.web)
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:nitrazepam01/dsh-web-search-tavily说明文档
阅读完整 README ↗dsh-web-search-tavily
A Tavily-backed search provider bundle for DeepSeek Harness (dsh). It registers a Tavily backend for the ctx.web web-search seam and ships a hot-switchable backend selector (Tavily / DeepSeek search).
Features
- Tavily provider — calls
POST /searchand normalizes results to{ url, title, snippet, publishedAt }. Tavily returns content excerpts, so the model can quote snippets directly. - Hot backend switcher — a delegating provider (
search-switch) sits behind thewebrow and resolves the active backend from theweb-searchsettings section on every search. Saving the section takes effect immediately: no restart, no loader-row reload. - Full
WebErrortaxonomy (WEB_PROVIDER_ERROR/WEB_PROVIDER_CREDENTIAL_MISSING/WEB_ABORTED). - Credential resolution chain: literal
apiKey→credentialsservice → launch environment. - Settings sections:
web-search-tavily—apiKey/apiKeyEnv/baseURL/maxResultsweb-search—backendselection (tavily|deepseek-official)
Install
# From git (recommended — plain JS, no build step, no allowBuilds required)
dsh plugin --profile web add github:nitrazepam01/dsh-web-search-tavily
# From npm
dsh plugin --profile web add dsh-web-search-tavily
# From a local checkout
dsh plugin --profile web add ./dsh-web-search-tavily
Restart dsh web after installing (bundle layers are frozen at boot). To uninstall: dsh plugin --profile web remove dsh-web-search-tavily.
Configuration
1. Credential
Store your Tavily key in $DSH_HOME/.credentials.yaml:
TAVILY_API_KEY: tvly-your-key
2. Backend selection
The web row's searchProvider is set to search-switch (the delegating provider) by this bundle. The active backend lives in the web-search section of $DSH_HOME/settings.yaml and :