前言¶
DSH 通过插件扩展能力。web_search 这类搜索能力挂在 DSH 的 ctx.web 搜索插槽上;模型可见的工具 schema 可以保持不变,只需要更换底层搜索 provider。dsh-web-search-firecrawl 就是一个把 Firecrawl 接入这个插槽的 provider 插件。
这是什么¶
一句话定位:它是一个 Firecrawl-backed search provider,面向 DeepSeek Harness 的 web capability seam(ctx.web)。
它解决的是:在不直接注册模型可见工具、web_search 工具 schema 仍来自 @deepseek-ai/dsh-tool-web 的前提下,把搜索请求送到 Firecrawl 的 POST /v1/search,并将返回结果映射回 DSH 的 normalized 搜索结构。
包名为 @pionai/dsh-web-search-firecrawl。输入资料里存在 PionsAI、PionAI、@pionai 等大小写差异;本文不把某一写法当成已确认的唯一官方 owner,安装和引用以包名与命令为准。
核心能力¶
注册搜索 provider¶
插件注册 id: firecrawl 的 WebSearchProvider 到 DeepSeek Harness 的 ctx.web 搜索插槽。
它不直接注册模型可见工具;web_search 工具 schema 仍来自 @deepseek-ai/dsh-tool-web。
调用 Firecrawl 并映射结果¶
插件调用 Firecrawl 的 POST /v1/search 接口,并将 flat data[] 映射为 normalized WebSearchResult / WebSearchSource。
设置页配置¶
插件支持通过 DSH Settings 的 Firecrawl 页面配置以下字段:
- API Key
baseURLlimitmaxSnippetChars
设置页 API Key 为空时,可回退到环境变量 $FIRECRAWL_API_KEY。
搜索路线切换¶
安装后,默认将 web 行 searchProvider 切换为 firecrawl。
也可通过 DSH Settings 的 Use Firecrawl 开关,或通过 profile patch 切回 DeepSeek。
安装与启用¶
前置条件¶
- 许可证为 MIT。
- 需要 DeepSeek Harness
0.1.0-rc.6官方包版本线以及 Firecrawl API key。 - Node engines 要求
>=22。
安装到 web profile¶
下面命令把插件安装到 DSH 的 web profile:
dsh plugin --profile web add @pionai/dsh-web-search-firecrawl@latest
重启与刷新¶
安装后需要重启 DSH web 页面,并刷新浏览器,让设置页和运行中的页面加载新 provider:
dsh web
刷新时使用 hard-refresh(Cmd/Ctrl+Shift+R)。
安装后的状态¶
安装后默认会切换 web 行的搜索 provider 到 Firecrawl。
设置页中应能看到 Firecrawl 页面。没有可用 key 时,搜索会失败并返回 WEB_PROVIDER_CONFIGURED_UNAVAILABLE。
典型用法¶
在 DSH Settings 中配置 API Key¶
1、打开 DSH Settings 的 Firecrawl 页面。
2、在 API Key 字段填入 fc-... 并保存。
3、字段保存时按 secret 角色写入,不回显明文。
4、如果字段为空保存,会保留当前 key;需要清除时使用 Clear。
使用环境变量¶
如果设置页中的 API Key 为空,也可以使用环境变量作为回退:
export FIRECRAWL_API_KEY=fc-...
dsh --profile web
更新¶
更新到最新发布版本:
dsh plugin --profile web update --latest @pionai/dsh-web-search-firecrawl
更新后重启 DSH web,并 hard-refresh 页面(Cmd/Ctrl+Shift+R)。
卸载¶
dsh plugin --profile web remove @pionai/dsh-web-search-firecrawl
卸载会移除包和 mount,但不会删除设置页中的 API key 值。如果也想删除已保存 key,先在 Firecrawl 设置页清除。
可选 profile patch¶
在 profile cordis.patch.yml 中,可以只固定需要的配置项,例如 limit:
- id: web-search-firecrawl
name: '@pionai/dsh-web-search-firecrawl'
config:
limit: 10
适用场景与注意¶
适合已经在用 DeepSeek Harness、希望把 web_search 后端切到 Firecrawl 的开发者或使用者。
注意以下几点:
- 插件以当前 DSH 进程权限运行;安装前应检查源码与许可证。
- 许可证为 MIT。
- 需要 DeepSeek Harness
0.1.0-rc.6官方包版本线以及 Firecrawl API key。 - Node engines 要求
>=22。 - 没有可用 Firecrawl key 时,搜索不可用,会返回
WEB_PROVIDER_CONFIGURED_UNAVAILABLE。 - provider 失败、请求中止等会映射为
WebError错误码。 - HTTP 重定向会在接触
Location目标前被拒绝。 - 设置页 key 为空时,可回退
$FIRECRAWL_API_KEY;两者都没有时 provider 不可用。 - 如果 owner 线索中存在
PionsAI/PionAI大小写差异,引用仓库或包名时请自行核对。
链接¶
- 线索提供的社区目录页:
https://www.skillhub.cn/plugins/PionsAI/dsh-web-search-firecrawl - GitHub 仓库(资料写作):
https://github.com/PionAI/dsh-web-search-firecrawl