dsh-mcp-tavily:把 DSH 联网检索接到 Tavily,并桥接远程 MCP

前言

在 DeepSeek Harness(DSH)里做需要实时信息的任务时,模型通常会调用内置的 web_search。按插件 README 的说明,这条路径走 DeepSeek 自己的搜索端点:每次检索相当于一次完整的辅助模型请求,按 token 计入你的 DeepSeek 账户。若你更希望在「日常查资料」上改用 Tavily 的额度,同时还需要爬站、站点地图、多源研究等能力,就需要把 harness 的搜索 seam 和 Tavily 的远程 MCP 接在一起。

下面介绍社区插件 dsh-mcp-tavily(维护者 wjh-ux),它把上述两件事做成一个 web profile 下的 plugin bundle:无需本地起服务、无需 npx、无需构建步骤。

这是什么

dsh-mcp-tavily 的定位是:为 DSH 提供 Tavily 联网搜索,并在 harness 内桥接 Tavily 托管的远程 MCP 服务器。

两半分工如下:

  1. 搜索供货:内置工具名仍为 web_search,对模型侧接口不变,实际应答改由 Tavily API 提供。
  2. MCP 桥接:额外挂载 Tavily 远程 MCP,暴露 crawl、map、research 等工具。

API Key 在 DSH 插件面板的小卡片里填写;密钥写入 credentials 平面(TAVILY_API_KEY),不写入仓库或普通 settings 文件。出站仅为 HTTPS:远程 MCP 为 https://mcp.tavily.com/mcp/,搜索走 api.tavily.com(以 Tavily 服务条款为准)。

插件归类为联网工具;源码与说明见 GitHub 仓库,社区目录页为 skillhub.cn 条目。DeepSeek Harness 社区插件目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

内置 web_search 改走 Tavily

模型继续调用熟悉的 web_search;插件通过 ctx.web 的 search-provider seam 把实现指向 Tavily。配置有效 API Key 后,日常检索可消耗 Tavily 免费档额度(README 写明为 1,000 credits/月);未配置时仍可使用 Tavily 的 keyless 模式(有速率限制,且能力 subset 见下文)。

新增的 MCP 工具

除内置 web_search 外,bundle 还会注册以 mcp__tavily__ 为前缀的工具(名称以 harness 实际展示为准):

工具 作用
mcp__tavily__tavily_search 网页搜索;支持 include_domains、exclude_domains、time_range、search_depth: advanced 等
mcp__tavily__tavily_extract 从给定 URL 抽取可读内容(markdown / text)
mcp__tavily__tavily_map 列出站点 URL 结构
mcp__tavily__tavily_crawl 爬取整站并抽取内容
mcp__tavily__tavily_research 多源深度研究报告

当远程 MCP 暴露资源时,还可配合 harness 的 list_mcp_resources / read_mcp_resource 使用。

Key 解析与生效时机

Key 按同一套顺序解析(两半共用):

  1. 插件 config 里显式提供的 apiKey(若 settings 表面有配置);
  2. credentials 平面中 apiKeyEnv 所指项(默认 TAVILY_API_KEY);
  3. 进程环境中的同名变量;
  4. 否则进入 Tavily keyless 模式。

生效时机(README 原文):

  • 内置 web_search 每次请求都会重新解析 key,卡片里保存后立即生效。
  • MCP 工具在客户端挂载时固定 Authorization 头,卡片里新保存的 key 需重启 dsh 后才对 MCP 工具生效。

完全未配置 key 时,两半仍可通过 keyless 工作,但 README 说明 keyless 仅支持 search 与 extract,不含 crawl / map / research,且速率更低。

安装与启用

推荐从 GitHub 安装到 web profile:

dsh plugin --profile web add github:wjh-ux/dsh-mcp-tavily

若使用本地 checkout,可用 link 安装(路径改为你机器上的绝对路径):

dsh plugin --profile web add link:/absolute/path/to/dsh-mcp-tavily

bundle 与补丁在启动时解析,安装后需重启一次 dsh。

在插件面板 Plugins → dsh-mcp-tavily 打开卡片(也可从对应行的 Configure 进入),填写 Tavily API Key(格式 tvly-...),用 Save 保存或 Clear key 清除。状态行会说明 key 来自卡片、credentials,还是启动环境的只读 TAVILY_API_KEY。

不用卡片时,可在 shell 设置环境变量后完全重启 dsh:

# Windows
setx TAVILY_API_KEY "tvly-..."
# macOS / Linux
export TAVILY_API_KEY=tvly-...

免费 Key 可在 app.tavily.com 申请(README:1,000 credits/月,无需信用卡)。计费细则以 Tavily 为准:basic 搜索 1 credit、advanced 2 credits;超出免费档为按 credit 计费(README 示例为 $0.008/credit,可能变动),用量可在同一控制台查看。

典型用法

安装、重启并配置 Key 之后,用法分两层:

  1. 对话内检索:像平时一样让模型使用 web_search;无需改 prompt 里的工具名,底层已由 Tavily 应答。
  2. 显式 MCP 能力:在任务中让模型调用 mcp__tavily__tavily_search(带域名过滤或 search_depth: advanced)、tavily_extract(给定 URL 抽正文)、tavily_map / tavily_crawl(站点结构或整站抓取)、tavily_research(多源报告)。这些能力需要有效 API Key;keyless 模式下不要使用 crawl / map / research。

README 未给出固定的一行 CLI 演示;复现路径是:启用 web profile 插件 → 重启 → 填 Key → 在 harness 会话里用自然语言描述检索或爬站需求,由模型选择对应工具。

适用场景与注意

适合谁

  • 已在 DSH web 环境开发智能体,希望降低内置 web_search 走 DeepSeek 端点带来的 token 成本,并统一用 Tavily 做 grounding。
  • 需要 Tavily 的 extract / map / crawl / research,且接受远程 MCP(mcp.tavily.com),不想自建 MCP 或本地 npx 进程。

兼容性

README 写明在 dsh 0.2.0-rc.2(Windows,@deepseek-ai/dsh-mcp-client 0.2.0-rc.2)上验证。较旧的 dsh 可能仍能用 host 两半,但缺少支持 plugins.bundle.config 与 dsh.client manifest 的配置卡片。

安全与权限

  • 插件以当前 dsh 进程的权限出站访问 Tavily;安装前请自行审阅 源码 与 MIT 许可证(见仓库 package.json)。
  • 密钥不进仓库、不进 patch URL;优先使用卡片或 $DSH_HOME/.credentials.yaml(或你挂载的 credential store)。
  • 无安装时脚本、无编译步骤;但仍属第三方社区插件,生产环境请结合 Tavily 条款与内网策略评估。

结尾

dsh-mcp-tavily 用一个小 bundle 同时替换 DSH 内置 web_search 的供货方,并接入 Tavily 远程 MCP,把搜索、抽取、站点地图、爬站和研究串在同一条 credentials 解析链上。若你在 harness 里常驻联网任务,可按 README 安装到 web profile、在面板填 Key、重启后即可在会话里使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye