DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Tavily Search Provider — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
T

dsh-tavily-search-provider

Tavily Search Provider

适用于 DSH 的 Tavily 搜索提供商,支持完整的搜索控制项映射、基于凭据的密钥界面以及受保护的 rc.6 兼容性补丁。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:xiaohj233/dsh-tavily-search-provider#378addaf0f5d074574371da7f57553a1758a4711
README兼容性版本

兼容性与来源证明

Tavily Search Provider 以 dsh-tavily-search-provider 发布,当前版本为 0.3.6。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/21

版本

0.3.6stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.3.6
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/8/21
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 search-research 分类下经过校验的插件。

Browser Skill Dsh Plugin@wxg-prc-cpg/browser-skill-dsh-plugin向模型提供 BrowserSkill 浏览器自动化(browser_* 工具)的 DeepSeek Harness 工具插件Free Searchdsh-free-searchDeepSeek Harness 的免费网页搜索:13 个引擎(Bing/DuckDuckGo/AnySearch/SearXNG/Exa/Tavily/Keenable/Firecrawl 无需密钥;Parallel/Perplexity/SerpBase/DeepSeek 需要密钥),支持时间筛选、平台搜索和 web_fetch,并提供网页设置界面。Find Plugindsh-find-plugin在代理中查找 DeepSeek Harness 插件——实时搜索 GitHub 上的 dsh-plugin 主题,并按星标数排序。Anysearch Dsh@anysearch/anysearch-dsh适用于 DeepSeek Harness 的 AnySearch 网络搜索和获取提供程序及高级工具

README

dsh-tavily-search-provider

English | 中文

Status: Feature Plugin with Compatibility Patch. Tested only with DeepSeek Harness 0.1.0-rc.6.

dsh-tavily-search-provider registers a standalone tavily_search tool and an optional Tavily backend for DSH's official web_search tool. Both paths map the full supported Tavily search parameter surface. The Plugins settings card includes a write-only TAVILY_API_KEY control backed by DSH credentials.

Problem

Community Tavily providers generally cover basic query and result-count behavior. This package is scoped to preserving the model-side controls expected by its compatibility-patched web_search: depth, topic, recency, domain filters, answer inclusion, and raw content.

A clean DSH rc.6 install does not expose those fields in dsh-tool-web and does not expose this plugin's settings namespace through dsh-host-apiproxy, so the package carries guarded patches for both gaps.

Behavior

  • tavily_search: always registered, returns the Tavily-shaped result set and supports all declared controls.
  • Optional web_search provider: routes the official tool through Tavily while keeping the official result/card shape.
  • Per-call credential resolution: changes to TAVILY_API_KEY apply without a restart.
  • Settings card: configured status, password input, save/replace, unset, backend switch, and official-path result cap.
  • Status route: /api/tavily-search-provider/status returns value-free provider/settings state.

Non-goals

This package is not the first or only Tavily integration for DSH, does not replace the DSH provider registry, does not scrape pages itself, and does not make Tavily controls meaningful when a different backend ignores them.

Compatibility patches

Exact targets:

  • @deepseek-ai/dsh-tool-web@0.1.0-rc.6: declares and forwards search_depth, topic, time_range, max_results, include_domains, exclude_domains, include_answer, and include_raw_content.
  • @deepseek-ai/dsh-host-apiproxy@0.1.0-rc.6: adds only dsh-tavily-search-provider to the Web settings namespace allowlist.

Version policy is adaptive by default: a copy whose installed version differs from 0.1.0-rc.6 is still patched when every anchor matches uniquely (recorded as an adaptive match), and skipped with a reason when anchors drifted; a strict programmatic mode restores the old exact-version-only apply behavior. One drifted, foreign, or legacy target never blocks the other, and patch application never throws during boot. Restore remains strictly version-guarded in every mode. Apply and restore are idempotent; file replacements use temporary files and rename.

Compatibility

Requires DeepSeek Harness 0.1.0-rc.6, Node.js ^22.19.0 || >=24, pnpm >=10, and a Tavily API key. After an upstream upgrade, run dsh-tavily-search-provider status once to confirm every target is either applied or intentionally skipped.

Install

dsh plugin --profile web add "github:xiaohj233/dsh-tavily-search-provider#v0.2.0"

Restart once so guarded boot application can patch the clean rc.6 targets. The standalone tool remains usable if an unrelated/legacy target is refused, but the official web_search controls or settings card may be incomplete until that file is restored.

API key and configuration

Open Settings -> Plugins -> Tavily Search. The key input writes only through credentials.set for TAVILY_API_KEY; status uses value-free credentials.describe, and clear uses credentials.unset. A blank key draft keeps the current value.

Key set/unset is disabled on non-loopback plaintext HTTP. Use localhost/loopback or HTTPS. This does not add authentication to the wider DSH Web control plane.

The card also controls replaceOfficialSearch and searchMaxResults. autoApplyPatches can be set to false in the dsh-tavily-search-provider settings section for inspect-only startup.

Patch status, apply, and restore

Run the installed CLI from the profile:

pnpm --dir "$DSH_HOME/profiles/web" exec dsh-tavily-search-provider status
pnpm --dir "$DSH_HOME/profiles/web" exec dsh-tavily-search-provider apply
pnpm --dir "$DSH_HOME/profiles/web" exec dsh-tavily-search-provider restore

Restore before uninstalling:

pnpm --dir "$DSH_HOME/profiles/web" exec dsh-tavily-search-provider restore
dsh plugin --profile web remove dsh-tavily-search-provider

When $DSH_HOME is unset the profile lives under the home directory (POSIX: ~/.dsh/profiles/web; Windows PowerShell: %USERPROFILE%\.dsh\profiles\web); on Windows pass the resolved path to pnpm --dir instead of ~.

If a legacy or foreign edit is reported, reinstall the official DSH package rather than forcing a fuzzy restoration.

dsh-keepalive inserts its allowlist row at the top of the same array, so the two patches no longer share an anchor: both plugins can be installed in either order, and each restore keeps the other plugin's row.

Safety and privacy

The Tavily API receives the query and enabled search controls. include_raw_content can return substantially more third-party page content into model context. Domain filters are search constraints, not a content-safety boundary. Review Tavily's data handling and account limits.

The API key is present only in browser draft state and the credentials.set request created by this package; it is not stored in the plugin settings section, tool results, normal logs, or status responses.

Network resilience (DNS poisoning / fake-IP)

On machines where Clash/mihomo takes over DNS in fake-ip mode, the system resolver can intermittently hand api.tavily.com a fake 198.18.x.x address (or an upstream-poisoned answer), so a plain fetch connects into a black hole and times out — while the real IPs stay reachable.

Since v0.3.5 every Tavily endpoint (search/extract/map/crawl/deep-research) goes through a built-in resilient network layer:

  1. Resolve real A records over plain-HTTPS DoH first (AliDNS, DNSPod, Google), filtering out fake-ip/private/reserved addresses;
  2. If DoH is unreachable, query DoH servers by IP literal (8.8.8.8 / 223.5.5.5), bypassing the system resolver entirely;
  3. Only then fall back to the system resolver; if everything fails, fall back to a plain fetch (old behavior).

Requests pin the TCP connection to a verified public IP while keeping the real TLS SNI and Host header, so searches keep working while DNS is poisoned. Resolutions are cached for 5 minutes (30 s failure backoff, stale entries kept for up to an hour as a last resort). If even DoH is unavailable (total outage), network error messages carry a fake-IP troubleshooting hint.

Tests

npm test
npm run check
npm pack --dry-run

Tests cover request mapping, result projection, exact patch/restore/version/legacy states, package syntax, credential RPC payloads, staged key behavior, and insecure-transport refusal.

Limitations and upstream status

The official DeepSeek search provider ignores Tavily-specific controls. The patch targets only rc.6 and requires a restart when it changes a module that is already loaded. Existing Tavily plugins remain valid alternatives for simpler provider behavior; this package is for the full control mapping and credential/settings integration described above.

License

MIT. Patch targets are MIT-licensed; see THIRD_PARTY_NOTICES.md.