dsh-web-search-plugin:为 DeepSeek Harness 提供统一网页搜索接缝

前言

DeepSeek Harness(下称 DSH)的 web 能力通过接缝 ctx.web 暴露。若要在智能体工作流里接入网页搜索,通常需要同时处理不同搜索引擎的后端、凭据、设置项,甚至修改 web.searchProvider

dsh-web-search-plugin 把多个搜索后端收敛到同一个插件里:它向 ctx.web 注册一个 WebSearchProvider,稳定 id 为 dsh-web-search。安装后可以在“设置 → 网页搜索”里切换引擎,不必再改 web.searchProvider

这是什么

下面介绍它的位置、边界和适合的使用方式。

定位

dsh-web-search-plugin 是面向 DeepSeek Harness web 能力接缝的统一网页搜索插件。它内置 DeepSeek(官方,默认)、Tavily、Brave Search、Serper、SerpApi、Exa、SearXNG、Scavio、Firecrawl 九个后端。

插件由 X-C1811 维护,许可证为 MIT

边界

  • 不内置 TinyFish、Google CSE、SERPJET、DuckDuckGo 独立后端。
  • 不写自定义 session 事件。
  • 浏览器侧额度查询走插件提供的只读接口,不直打上游。

核心功能

统一 provider

插件只注册一个 WebSearchProvider,稳定 id 为:

dsh-web-search

启动时可以通过环境变量选中这个 id:

DSH_WEB_SEARCH_PROVIDER=dsh-web-search

设置内切换引擎

安装后,在 DSH 的:

设置 → 网页搜索

里切换引擎即可。

顶层设置分区支持两列布局、未保存草稿、保存 toast。结果数量为 1–20 下拉。

凭据与跳转

需要 key 的内置 provider 在设置卡提供官方 API key 跳转;SearXNG 与 Tavily keyless 不渲染该跳转。

配置键如:

apiKey
deepseekApiKey
braveApiKey

等走凭据域,不会回显。

结果与错误

各引擎结果会被规范化为接缝的 WebSearchResult,并按 URL 去重。

错误会映射为:

WEB_PROVIDER_ERROR
WEB_ABORTED
WEB_PROVIDER_CREDENTIAL_MISSING

额度展示

Tavily keyed 与 Brave 在设置卡展示额度进度条;DeepSeek 官方与 Tavily keyless 不展示。

Tavily keyless 为免费、限流、无需账号。Tavily keyed 需要:

TAVILY_API_KEY

Brave 需要:

BRAVE_API_KEY

这是 Brave 订阅 token。

Brave 没有 usage / 花费接口,计费 credits 只能查看 Brave API 控制台。

安装与启用

运行要求

  • DeepSeek Harness 0.1.2-alpha.4(最新 main)或更新。
  • pnpm,用于通过 dsh plugin 把插件装进 profile。

从 npm 安装

先确认 DSH profile 可用,再执行:

dsh plugin --profile web add dsh-web-search-plugin

本包是 bundle。它会通过 cordis.patch.yml 设置:

web.searchProvider = dsh-web-search

并禁用内置 web-search-deepseek Host 插件,以避免重复注册 provider 和旧卡片。

没有 bundle 声明时,dsh plugin add 只写入依赖,插件不会挂载。

启动时指定

如果希望本次启动直接选中该接缝 id,可设置:

DSH_WEB_SEARCH_PROVIDER=dsh-web-search

经过上面的步骤后,插件会在 DSH 的 web 能力接缝下生效,并提供“设置 → 网页搜索”入口。

典型用法

安装后切换引擎

1、安装插件。

2、打开 DSH 的“设置 → 网页搜索”。

3、选择内置引擎之一,例如 DeepSeek(官方,默认)、Tavily、Brave Search、Serper、SerpApi、Exa、SearXNG、Scavio 或 Firecrawl。

4、如需使用 Tavily keyless,可直接进入 keyless 模式;若使用 Tavily keyed,再配置 TAVILY_API_KEY

5、保存设置,执行搜索。

Tavily 基址

未设置 baseURL 时,Tavily 基址回退:

$TAVILY_BASE_URL

浏览器侧额度查询

浏览器只读:

GET /dsh-web-search/usage

不直打上游。

Tavily keyed 对账

Tavily keyed 会请求:

include_usage

并用:

GET /usage

对账额度。

Brave 计费

Brave 的计费 credits 只能查看 Brave API 控制台。

本地安装注意

如果你从本地源码安装,注意 dsh plugin add 的路径行为。

Windows 跨盘安装不要使用 dsh plugin add 绝对路径;应快照到与 profile 同盘后用 file:

适用场景与注意

适合需要在 DSH 中统一接入多个网页搜索后端的开发者。它适合把搜索切换、结果规范化、凭据跳转和额度展示放在同一设置分区里维护的场景。

安装前应检查源码与许可证。该插件以当前 dsh 进程权限运行,会读取配置、调用搜索服务并查询额度。使用前请确认 DSH 版本满足要求,并确认所选后端、key 和代理环境符合你的安全边界。

结尾

dsh-web-search-plugin 的价值在于把多个搜索后端收进同一个 DSH web 接缝里:一个稳定 id、一个设置分区、一套结果规范。

仓库地址:

https://github.com/X-C1811/dsh-web-search-plugin

如果所在环境使用 DSH 社区目录,请把它理解为独立站点,而不是官方应用商店;与 DeepSeek、幻方无官方从属关系。

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

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

Xiaoye