dsh-tavily
维护状态: 活跃moguiyu/dsh-tavily
Tavily-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 replaced. | DSH Tavily 可选高级搜索工具(rc.7 插件管理):多 Key 轮换/故障转移、用量仪表盘、插件配置页设置卡片;内置 web_search 永不替换。
$ dsh plugin add dsh-tavily11
星标
4
Fork
JavaScript
语言
MIT
许可证
2026-08-15
创建于
2026-10-02
最近推送
README
dsh-tavily
English | 简体中文
Tavily web search for DeepSeek Harness (DSH) — multiple API keys, rotation and failover, a live usage gauge, the direct extract / map / crawl tools, and a key-management card on the Plugins page.
The built-in web_search tool is never replaced: Tavily is an addition to 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 UI.
- 🔁 Key rotation & failover — round-robin across keys; automatically retries on HTTP 401/429/432/433, and a load-balance mode caps in-flight requests per Tavily account.
- 📊 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
From the Plugins page
- Open Plugins in the DSH sidebar and choose Add plugin.
- Enter the npm package name
@moguiyu/dsh-tavily, or the GitHub addresshttps://github.com/moguiyu/dsh-tavilyfor the source. The field also takes a tarball or an absolute local path. - Press Install, then Enable now. A freshly installed bundle stays switched off until you enable it.
The card then renders on the dsh-tavily bundle's own page — between its description and its rows.
From the CLI
The dialog accepts exactly what dsh plugin add accepts, so either route works:
# from the npm release — the stable, marketplace-counted version
dsh plugin --profile web add @moguiyu/dsh-tavily
# from the repository — always the latest source
dsh plugin --profile web add github:moguiyu/dsh-tavily
--profile <name> picks the profile to install into; both forms resolve to the same plugin.
Requirements — DSH is a development preview (
0.1.x-rc/alpha,0.2.x-rc). The tools and the key/usage routes work on every supported line,0.1.0-rc.7onward. Both the card and the Plugins-page install route need0.1.6-alpha.2or newer, the release that added the Plugins page and moved plugin configuration there; on older lines the plugin is fully functional and installs from the CLI, it simply has no card. The npm name is the scoped@moguiyu/dsh-tavily, not the similarly-named communitydsh-tavilyprovider-swap plugin.
Compatibility —
0.3.xis a single self-contained package: the tools, the routes and the card all live in@moguiyu/dsh-tavily, which uses only the long-stablectx.tools/ctx.webServer/ctx.credentials/ctx.systemPromptseams. There is no version-specific code path left to feature-detect. 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,^0.1.7-0,^0.2.0-0), because prerelease comparators never cascade — a new host line means a new comparator, not a widened old one.
Packages
One package. Earlier releases also shipped @moguiyu/dsh-tavily-backend and @moguiyu/dsh-tool-tavily-search. From 0.3.0 both are folded into @moguiyu/dsh-tavily, which is now self-contained; the two old packages are deprecated and no longer updated.
| Package | Role |
|---|---|
@moguiyu/dsh-tavily |
Everything: tavily_search + tavily_extract / tavily_map / tavily_crawl, the key/usage routes, and the Plugins-page card |
Credentials
TAVILY_API_KEYS— comma-separated key list; the tools rotate through it, retrying on HTTP 401/429.TAVILY_API_KEY— primary key auto-synced to the first key.
Both are managed automatically by the card. Keys never leave the server unmasked, and no state file holds key material.
Key usage strategy
- Rotate each key — round-robin; on HTTP 401/429/432/433 the next key is tried.
- Lowest usage first / Highest usage first — re-order keys by live Tavily usage on save.
- Load balance — keep at most N requests in flight per Tavily account (1 by default) and spread concurrent calls across accounts, so one free account is never hit in parallel. Tavily's 100 requests/minute applies per account, and several keys can share one account; the grouping is inferred from each key's
accountblock on/usage, and any key can be pinned or split off by hand in the card's Account column.
Keys that cannot serve a request are skipped rather than failing the call: 401, 429, 432 (plan limit) and 433 (pay-as-you-go limit) all fail over to the next key, and every key is tried at most once per call.
Tavily tools
tavily_search plus the direct tools, all 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.
Composing the plugin registers them; there is no separate tool-level switch. To turn them off, disable the plugin with the toggle on its Plugins page — the built-in web_search keeps its native provider either way, and its schema is never touched.
State files
~/.dsh/tavily-manager.json— saved key dates, strategy, per-account concurrency cap, and the inferred/pinned account grouping (masked names only)
Mode 600, no secrets stored.
Development
pnpm install
pnpm test
pnpm build
License
MIT
更多「网页与浏览器」插件
last30days-skill-cn
作者 jesseovo
last30days-cn 是一个 AI Agent 技能(Skill),能够自动搜索中国互联网 8 大主流平台最近 30 天的内容,综合分析后生成有据可查的研究报告。
browser4
作者 platonai
面向自主智能体与大规模网页自动化的 AI 原生浏览器引擎,支持智能内容抽取。
modsearch
作者 liustack
🥇 The strongest free web search plugin for DeepSeek Harness, and the search bridge for every model without native web access. Free, no signup, no API key. Ask the web or X, get structured JSON evidence. | 🥇 全网最强的 DeepSeek Harness 免费联网搜索插件,免费免注册免 API key。为不能联网的模型补上搜索,问网页或 X,拿回结构化 JSON 证据(搜索、抓取、引用)。
anysearch-dsh
作者 anysearch-team
为 DeepSeek Harness 提供的 AnySearch 网页搜索提供方与高级搜索工具。
