dshsearch-multi:面向 DSH 的多引擎网页搜索与网页抓取插件

前言

DSH 的插件化方向强调「一切皆插件」:宿主保持基础能力,具体扩展由插件提供。对智能体开发者来说,网页搜索和网页抓取是常见需求,但不同搜索服务的密钥、接口和结果结构并不一致。dshsearch-multi 将 AnySearch、Bing、DuckDuckGo、Tavily 和 Exa 统一封装到 DSH 中,并提供网页正文抓取能力。社区目录是独立站点,不属于官方应用商店。

这是什么

dshsearch-multiabcdream-Lary 维护的 DSH 插件,许可证为 MIT。它面向 DeepSeek Harness(DSH)提供多引擎网页搜索与网页抓取,不修改 DSH 内部源码,而是通过公开的 Provider 接口注册功能,因此可以独立安装、配置和升级。

核心功能

下面介绍几个明确提供的能力。

多引擎搜索

  • 统一支持 AnySearch、Bing、DuckDuckGo、Tavily 和 Exa。
  • AnySearch、Bing、DuckDuckGo 不需要 API Key。
  • Tavily 和 Exa 在配置 API Key 后启用。
  • 搜索失败或没有结果时,按顺序自动切换到其他可用引擎;未配置密钥的 Tavily / Exa 会被跳过。

网页抓取

  • 提供 web.fetch(url) 网页正文抓取。
  • 抓取会按多个来源自动兜底。
  • AnySearch extract 和直接抓取都有正文长度上限,且不支持 PDF、图片、音视频和压缩包等二进制内容。

查询意图识别

  • 内置确定性的查询意图识别,不调用 LLM。
  • 可在设置中配置查询意图模式,例如 intentMode: auto

Web 与 CLI 配置

  • DSH Web 设置页提供中文/英文设置卡片,支持基础参数和高级参数。
  • 附带 dshsearch-multi 命令行配置工具,适合无界面或脚本化场景。

安装与启用

先安装到目标 profile。以 web profile 为例:

dsh plugin --profile web add dshsearch-multi

如果想快速试用,可以先使用独立 profile,避免影响现有配置:

dsh plugin --profile test add dshsearch-multi
dsh --profile test --port 4000

然后打开:

http://127.0.0.1:4000

进入“设置 → 插件”。经过上面的步骤后,需要确认插件安装在当前正在运行的 profile;如果设置卡片没有出现,先重启 DSH Web 或刷新页面,再检查安装命令使用的 profile 是否和运行中的 DSH 一致。

典型用法

在 DSH Web 中配置

打开“设置 → 插件 → 插件配置”,找到“网页搜索”卡片,可以配置:

  • 优先搜索引擎
  • 最大结果数
  • Tavily/Exa 的 API Key 和接口地址
  • 查询意图模式

API Key 会通过 DSH 凭据服务保存,不会回传到浏览器。不要将密钥提交到 Git 仓库。

使用 settings.yaml

也可以在 DSH 的 settings.yaml 中配置 dshsearch-multi 节点。例如:

dshsearch-multi:
  provider: anysearch
  intentMode: auto
  maxResults: 5

上面示例只设置优先引擎、查询意图模式和最大结果数;更多配置以设置卡片或插件说明为准。

配置 API Key

Tavily 和 Exa 需要 API Key。可以在 DSH Web 设置卡片中填写,也可以写入 .credentials.yaml

TAVILY_API_KEY: tlv-...
EXA_API_KEY: ...

未配置密钥时,Tavily 和 Exa 的实时接口能力会被跳过或不可用。

使用命令行工具

插件附带 dshsearch-multi 命令,用于管理独立的本地配置:

dshsearch-multi config show
dshsearch-multi config set provider anysearch
dshsearch-multi config set maxResults 5
dshsearch-multi config path
dshsearch-multi config reset

注意:CLI 配置文件是独立的便捷配置。正在运行的 dsh web 读取的是 DSH 的 dshsearch-multi 设置节点,而不是该 CLI 配置文件。

适用场景与注意

dshsearch-multi 适合需要在 DSH 中做网页搜索、抓取网页正文,或希望在多个搜索引擎之间自动兜底的场景。

使用前注意:

1、插件以当前 DSH 进程权限运行,会参与外部搜索请求和网页抓取;安装前应检查源码、许可证和所需权限。
2、Bing 和 DuckDuckGo 使用公共 HTML 页面,可能受到限流、验证或页面变更影响。
3、Tavily 和 Exa 需要 API Key;未配置时相关能力会被跳过或不可用。
4、DSH 当前版本的设置页对白名单外的第三方 namespace 不提供远程读写;若设置卡片不可见,需要 Host 版本提供第三方设置暴露机制,或由宿主显式暴露 dshsearch-multi
5、安装后需要确认插件安装在当前正在运行的 profile,并重启 DSH Web 或刷新页面。

结尾

dshsearch-multi 的价值在于把多引擎网页搜索与网页抓取收敛到同一个 DSH 插件中,减少逐个接入搜索服务的成本。许可证为 MIT,GitHub 地址:dshsearch-multi。目录页请在 DSH 插件目录中检索 dshsearch-multi,以实际收录页面为准。

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

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

Xiaoye