dsh-tavily
Manifest valid★ 13Tavily-powered optional search tool for DeepSeek Harness (rc.7 plugin management): multi-key rotation/failover, usage gauge, settings card in Plugins → configuration; the built-in web_search is never
dsh-tavily
English | 简体中文
Tavily web search for DeepSeek Harness (DSH) as an opt-in extra search tool — with multiple API keys, rotation/failover, live usage gauge, direct extract / map / crawl tools, and a settings card in the Plugins configuration tab.
The built-in web_search tool is never replaced: Tavily is an option on top of the native search, not a swap-in for it. This plugin registers no web-search provider and never rewrites web.searchProvider.
Highlights
- 🔑 Multiple Tavily API keys — manage a flat key list from the DSH settings UI.
- 🔁 Key rotation & failover — round-robin across keys; automatically retries on HTTP 401/429.
- 📊 Live usage gauge — per-key Tavily usage and totals, fetched server-side without exposing keys.
- ⚡ Direct Tavily tools —
tavily_extractreads a known URL's content,tavily_mapdiscovers a site's links, andtavily_crawlpulls an entire site, all under the same key rotation.
Install
Either of these installs the dsh-tavily row (both resolve to the same plugin, but install with --profile <name>):
# from the repository — always the latest source
dsh plugin --profile web add github:moguiyu/dsh-tavily
# from the npm release — the stable, marketplace-counted version
dsh plugin --profile web add @moguiyu/dsh-tavily
After refreshing the browser, the Tavily Search card appears under Settings → Plugins → plugin configuration. It only appears when the Host half is actually composed — the configuration tab dispatches the card keyed by the namespace the Host serves.
Requirements — DSH is a development preview (
0.1.x-rc/alpha); the keyed plugin-config card needs 0.1.0-rc.7 or newer (including0.1.2-alpha.x, the0.1.3line, the0.1.5line, and the0.1.6line up to0.1.6-alpha.1). The npm name is the scoped@moguiyu/dsh-tavily, not the similarly-named communitydsh-tavilyprovider-swap plugin.
Compatibility — one version covers every current host line: on DSH
0.1.0-rc.7–0.1.1-rc.xthe plugin uses the rc.7/rc.8 settings seam; on DSH0.1.2-alpha.2+(covering the whole0.1.3line and the0.1.5/0.1.6lines, alpha/RC included) it uses theinstallSectionseam — detected at runtime, no extra install step. Peer ranges list one comparator per host tuple (^0.1.0-rc.7,^0.1.1-rc.1,^0.1.2-alpha.2,^0.1.3-alpha.1,^0.1.5-0,^0.1.6-0), because prerelease comparators never cascade — a new host line means a new comparator, not a widened old one. Live-tested on0.1.0-rc.8,0.1.2-alpha.2,0.1.3-alpha.2,0.1.5-rc.2and0.1.6-alpha.1.
Packages
| Package | Role |
|---|---|
@moguiyu/dsh-tavily | Recommended plugin: tavily_search + tavily_extract / tavily_map / tavily_crawl tools + settings card + local backend + tavily-search namespace |
@moguiyu/dsh-tavily-backend | Standalone settings backend (key manager, usage, tool switch) |
@moguiyu/dsh-tool-tavily-search | Standalone advanced Tavily tools — tavily_search, tavily_extract, tavily_map, tavily_crawl (no UI) |
Credentials
TAVILY_API_KEYS— comma-separated key list;tavily_searchrotates through it, retrying on HTTP 401/429.TAVILY_API_KEY— primary key auto-synced to the first key.
Both are managed automatically by the settings card. Keys never leave the server unmasked, and no state file holds key material.
Key usage strategy
- Rotate each key — round-robin; on 401/429 the next key is tried.
- Lowest usage first / Highest usage first — re-order keys by live Tavily usage on save.
Advanced Tavily tools
The advanced model-facing tools are opt-in and off by default. They exist for direct Tavily operations and are independent of web_search:
-
tavily_search— full search surface (search_depth,topic,days, domain filters,include_answer,include_raw_content); -
tavily_extract— pull the complete content of known HTTP(S) URLs; -
tavily_map— discover a site's links without fetching page content; -
tavily_crawl— crawl a site and return the extracted content of its pages. -
enabling them never changes the default
web_search(the built-in DeepSeek provider stays, along with its native schema); -
disabling them only unregisters the extra Tavily tools.
The switch lives in the tavily-search settings namespace (settings.yaml) and is mirrored to ~/.dsh/tavily-tool.json so every restart reads the same value.
State files
~/.dsh/tavily-manager.json— saved key dates + strategy~/.dsh/tavily-tool.json— advanced tool{ "enabled": boolean }(mirror of the settings namespace)~/.dsh/tavily-toggle.json— legacy pre-0.2 tool state; read for migration only
Mode 600, no secrets stored.
Development
pnpm install
pnpm test
pnpm build
License
MIT
Comments
Loading…
Similar plugins
by zx06
Tavily web search plugin for DeepSeek Harness (DSH): ctx.web search provider + search/extract/crawl/map/research tools + settings page (API key, quota, audit)
★ 0
MIT
TypeScript
Oct 10, 2026
dsh plugin --profile web add @zx06/tavilyby 1624318455
Tavily-backed web search provider for the built-in web_search tool, with a settings card for the API key, result count, and recency window.
★ 6
MIT
TypeScript
Sep 12, 2026
dsh plugin --profile web add @dsh-external/dsh-plugin-tavilyby renchengxiang
Tavily-backed search provider for native web_search, with a Settings → Plugins card for API key management and toggling DeepSeek replacement.
★ 2
↓ 209/wk
MIT
JavaScript
Sep 22, 2026
dsh plugin --profile web add dsh-web-search-tavilyby MirrMeur
Tavily-backed web_search / web_fetch providers for DeepSeek Harness — replaces the built-in DeepSeek search backend (0.1.1-rc.x and 0.1.5 compatible)
★ 0
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-tavily-providerby libinghui55
Tavily-backed web search provider plugin for DeepSeek Harness (dsh): GUI config card with API key + on/off switch
★ 0
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-tavily-searchby X-C1811
Tavily web-search provider for DeepSeek Harness (ctx.web). Keyless or API-key modes with a configurable UI card; provider framework designed to be extended to more search APIs.
★ 4
↓ 268/wk
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add dsh-web-search-plugin