dsh-tavily
Tavily 多密钥搜索:支持密钥轮换/故障转移、用量仪表盘与设置卡片。
moguiyu
@moguiyu
⬇ 3
★ 6
main
安装
dsh plugin --profile web add github:moguiyu/dsh-tavily
需要可复现安装时,可在仓库后追加 #commit 固定提交。
Tavily 多密钥搜索:支持密钥轮换/故障转移、用量仪表盘与设置卡片。
该插件未提供要点说明,请参考仓库 README。
deepseek-harnessdshdsh-plugindsh-plugin-marketdsh-pluginstavily
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/moguiyu/dsh-tavily |
| 许可证 | MIT |
| 主要语言 | main |
| 下载量 | 3 |
| GitHub 星标 | 6 |
| 最近推送 | 2026-08-26 |
| 收录日期 | 2026-09-19 |
| 分类 | 工具与能力 |
事实信息来自公开插件目录快照(2026-10-03),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# dsh-tavily
English | [简体中文](README.zh-CN.md)
[](https://awesome-dsh-plugin.com/p/moguiyu/dsh-tavily/) [](https://dshfind.com/zh/plugins/moguiyu/dsh-tavily?ref=badge)
Tavily web search for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH) as an **opt-in extra search tool** — with **multiple API keys**, **rotation/failover**, **live usage gauge**, 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`.
[图片: Tavily Search settings card: masked key list with the green primary dot, per-key usage circles, the key-usage strategy selector, and the advanced-tool switch — as served under Settings → Plugins → plugin configuration]
## Highlights
- 🧩 **Plugin-config settings card** — a native card under **Settings → Plugins → plugin configuration**: add, remove and reveal keys, pick the key-usage strategy, and opt into the advanced `tavily_search` tool.
- 🔑 **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.
- 🚫 **`web_search` untouched** — no `ctx.web` provider is registered; the card switch only enables/disables the extra `tavily_search` tool.
## Install
One command installs the workspace bundle, which composes the combined `dsh-tavily` row:
```sh
dsh plugin --profile web add github: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.0-rc.x`); the keyed plugin-config card needs **0.1.0-rc.7 or newer**. The npm name is the scoped `@moguiyu/dsh-tavily`, not the similarly-named community `dsh-tavily` provider-swap plugin.
## Packages
| Package | Role |
|---|---|
| [`@moguiyu/dsh-tavily`](packages/dsh-tavily) | Recommended plugin: `tavily_search` tool + settings card + local backend + `tavily-search` namespace |
| [`@moguiyu/dsh-tavily-backend`](packages/dsh-tavily-backend) | Standalone settings backend (key manager, usage, tool switch) |
| [`@moguiyu/dsh-tool-tavily-search`](packages/dsh-tool-tavily-search) | Standalone advanced `tavily_search` tool (no UI) |
## Credentials
- `TAVILY_API_KEYS` — comma-separated key list; `tavily_search` rotates 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_search` tool
The advanced model-facing tool is **opt-in and off by default**. It exists for direct Tavily-only parameters (`search_depth`, `topic`, `days`, domain filters, `include_answer`, `include_raw_content`) and is independent of `web_search`:
- enabling it never changes the default `web_search` (the built-in DeepSeek provider stays, along with its native schema);
- disabling it only unregisters the extra `tavily_search` tool.
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
```sh
pnpm install
pnpm test
pnpm build
```
## License
MIT
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。