dsh-web-search-firecrawl:为 DeepSeek Harness 的 web_search 接入 Firecrawl

前言

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。输入资料里存在 PionsAIPionAI@pionai 等大小写差异;本文不把某一写法当成已确认的唯一官方 owner,安装和引用以包名与命令为准。

核心能力

注册搜索 provider

插件注册 id: firecrawlWebSearchProvider 到 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
  • baseURL
  • limit
  • maxSnippetChars

设置页 API Key 为空时,可回退到环境变量 $FIRECRAWL_API_KEY

搜索路线切换

安装后,默认将 websearchProvider 切换为 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye