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