Tavily 网页搜索:设置页开关,关闭时回落到 DeepSeek 内置搜索;免密钥可用搜索与内容提取,配置 API Key 后解锁爬取与站点地图等 MCP 工具。
安装
# npm 包(预构建)
dsh plugin --profile web add @pymodel/dsh-tavily
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:/packages/dsh-tavily
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
Tavily for DeepSeek Harness: adds the Tavily Search API as a web search provider, plus a Tavily MCP bridge — keyless search / extract, crawl / map with an API key.
Install
npm (stable, official recommendation):
dsh plugin --profile web add @pymodel/dsh-tavily
dsh web
Or follow GitHub (latest commit on the repo):
dsh plugin --profile web add github:pymodel/dsh-research-plugins#path:packages/dsh-tavily
Settings → Plugins → Tavily web search (DSH 0.1.5 / DSH Desktop), or Plugins → @pymodel/dsh-tavily (DSH 0.1.7+): turn the toggle on. The key is optional; leave it blank for keyless search. Test connection at the bottom-left checks that search works now (including keyless).
Pin a commit:
dsh plugin --profile web add github:pymodel/dsh-research-plugins#path:packages/dsh-tavily#<commit>
Remove:
dsh plugin --profile web remove dsh-tavily
dsh.bundle· prebuiltlib/· git install does not needallowBuilds
Features
- Settings toggle: off = official DeepSeek, on = Tavily — no uninstall to switch back
- No key uses Tavily keyless; a key uses
Authorization: Bearer - Bottom-left connection test: one real Tavily search (
max_results: 1); keyless if no key, account quota if a key is saved (1 credit) - Timeout, abort, official host lock, drop results without a url
- Settings card design refresh: collapsed-header mode badge (Official DeepSeek / Tavily keyless / Tavily API key) with a status dot, so the active provider is visible at a glance
- Accessible async feedback: polite live-region announcements for connection-test and save outcomes, inline button spinners, connected-success tint — all honoring
prefers-reduced-motion - Show/hide reveal for the API key input (with autocomplete and spellcheck off)
- Opt-in adoption of the latest Tavily Search parameters via plugin config:
searchDepth(basic/advanced/fast) andautoParameters(lets Tavily tune topic and depth per query; explicit values still win) - Key and toggle live on the credentials plane, not the settings file
- Tavily MCP bridge:
mcp__tavily__tavily-search/tavily-extractwork keyless;crawl/mapunlock withTAVILY_API_KEY
Behavior
Web search
| Toggle | Key | web_search |
|---|---|---|
| Off (default) | — | official DeepSeek |
| On | empty | Tavily keyless |
| On | set | Tavily account quota |
Provider id: tavily.
MCP tools
The bundled MCP row registers Tavily's hosted MCP server under the tavily namespace and works out of the box:
- Keyless (default): the required
X-Tavily-Access-Mode: keylessheader selects free rate-limited access with thetavily-searchandtavily-extracttools. - Keyed: set
TAVILY_API_KEYto unlockcrawl/mapand use your account quota:
export TAVILY_API_KEY=tvly-...
or in a project .env / $DSH_HOME/.env:
TAVILY_API_KEY=tvly-...
The key goes into the Authorization: Bearer header at load time — never into the endpoint URL and never into YAML. A key added to .env needs a dsh web restart.
If your profile's cordis.patch.yml already inserts its own Tavily MCP row (id mcp-tavily or serverName tavily), DSH will not boot with both: delete that row, or turn it into an override of mcp-tavily (see Already have your own MCP row?).
Credentials
| Ref | Meaning |
|---|---|
TAVILY_API_KEY |
Optional (search). Present = account quota; absent = keyless |
TAVILY_SEARCH_ENABLED |
Present = on; unset = off |
The search key and toggle are stored on the credentials plane ($DSH_HOME/.credentials.yaml). The MCP bridge reads TAVILY_API_KEY from the launch environment instead, because MCP rows resolve before credentials are materialized. Do not commit real keys.
Updates
- 0.3.1 Works on DSH 0.1.5 (DSH Desktop) and 0.1.7: the search provider no longer fails to start on 0.1.7 (
settings.registeris gone there); the settings card loads its store from@deepseek-ai/dsh-client-store(the removeddsh-client-runtimeleft it blank and raised a DSH Desktop Safe Mode warning), writes throughremote.credentialsso Save works, refreshes oncredentials/reference-updated, and also renders on 0.1.7's plugin page; peer ranges set to>=0.1.5-rc.2 <0.3.0-0so DSH 0.2's installer accepts it (tested on 0.1.5-rc.2, 0.1.7-rc.2 and 0.2.0-rc.1); the probe route is released on plugin reload; theweboverride keeps dsh-base'sfetchProvider: http; README documents the duplicatemcp-tavilyrow conflict. - 0.3.0 Settings-card design refresh informed by current UI/a11y guidance (ARIA live regions for async status,
prefers-reduced-motionsupport): header mode badge with status dot, spinner states on Test/Save, saved confirmation announcement, show/hide key toggle. Server provider adopts the latest Tavily Search API surface behind opt-in config:searchDepthincluding the newfasttier, andauto_parameters. - 0.2.0 MCP bridge: keyless mode via
X-Tavily-Access-Mode: keyless(row always on); keyed auth moved from URL query parameter toAuthorization: Bearerheader. Search provider: caller cancellation preserved on runtimes withoutAbortSignal.any. - 0.1.0 First release as
@pymodel/dsh-tavily. Web search provider with settings toggle (off = official DeepSeek, on = Tavily) plus a Tavily MCP bridge (extract / crawl / map). English-only localisation.
Author
链接
同类插件
Tencent/BrowserSkill#dsh-plugin-browserskill★ 8173
BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edge Agent Window,支持可访问性与 VOM 页面观察、截图、隔离的多会话控制和 Web UI 实时观察浮层。
omdsh-dev/dsh-browser#packages/browser/bridge-browser★ 765
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
liustack/modsearch★ 596
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。
DDDMUC/dsh-free-search★ 321
DSH 免费搜索插件:7 个引擎(DuckDuckGo/Bing/SearXNG 免费 + Exa/Perplexity/DeepSeek 付费)、自动回退、设置页 UI(API key 输入 + 官网链接)、web_fetch、引擎测试工具。
Tabbit-Browser/dsh-tabbit★ 101
让 DeepSeek Harness 能够控制 Tabbit 浏览器:安装即自动加载 tabbit-browser skill,检测国际版 Tabbit 与国内版 Tabbit Browser 正式版(>= 1.9.0),检查 tabbit-cli 常驻运行时,按平台诊断调用 CLI 所需的 DSH sandbox 模式,并在没有合格版本时通过后台任务下载与系统地区匹配的正式版安装包。
wqty123/dsh-browser★ 100
共享真实浏览器:用户可观看并随时接管的原生 Electron 窗口,agent 通过 CDP 驱动,内置 20 个 browser_* 工具(打开/快照/执行/填表/截图/下载/登录态);任务级会话隔离、登录态持久化、人机验证识别,纯 `dsh web` 无需桌面外壳即可自托管。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。