dsh-tavily
by PyModel
Tavily Search API 作为网页搜索 provider(设置开关带 DeepSeek 兜底、免 key 搜索)+ Tavily MCP 桥接:免 key 的搜索与抽取工具,API key 解锁 crawl 与 map
Tavily Search API as a web search provider (settings toggle with DeepSeek fallback, keyless search) plus a Tavily MCP bridge: keyless search and extract tools, crawl and map with an API key.
安装
dsh plugin --profile web add github:PyModel/dsh-research-plugins#path:/packages/dsh-tavilyGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
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 → Plugin settings → Tavily web search: 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.
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.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
原始 README: https://github.com/PyModel/dsh-research-plugins/blob/main/packages/dsh-tavily/README.md ↗
同类插件
查看全部 →
agent-vision-toolkit
为纯文本模型"看图“设计更好的视觉工具箱和技能,支持多图理解,图片问答,前端UI还原、GUI 自动化等,并可选无缝接入多个主流agent,直接识别粘贴图片| A vision toolkit and skill designed for text-only llms — image Q&A, long-screenshot OCR, frontend UI restoration, and GUI automation, with optional seamless integration for Codex, Claude Code, Pi, Oh My Pi, and OpenCode

api-relay-audit
从 DeepSeek Harness 对 AI API 中转站和 LLM 代理运行本地安全审计,生成 Markdown 报告,覆盖提示词注入、模型替换信号、工具调用改写、错误泄漏、流完整性和按 profile 启用的 Web3 风险。

OpenStory
✨ OpenStory 现已支持 DeepSeek Harness 插件! 现在可以通过 dsh-openstory 将 OpenStory 多智能体推演接入 DeepSeek Harness,让 agent 直接启动模拟、查看角色、下达指令并逐回合推进故事。查看 DSH 插件配置与使用指南。

phi
pi的编码代理 ∞ 提供者、子代理、hashline编辑和权限门

anysearch-dsh
DeepSeek Harness(DSH)的 AnySearch 网络搜索提供方与高级搜索工具。

codex-switch
Codex Switch 是一个 macOS 工具,一键配置 Codex 的自定义 API,同时保留官方 OpenAI 登录。保存后 Codex 的模型选择器里只会出现你选的那个 provider 的模型。也支持 Claude Code 的官方 / 自定义 API 切换。Codex Switch is a lightweight helper for configuring multiple coding-agent API routes. For Codex, it keeps Official OpenAI and a custom API provider configured in parallel, registers the custom model in Codex's mod