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。輸入資料裏存在 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
  • baseURL
  • limit
  • maxSnippetChars

設置頁 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
羽毛球分组比赛记分
小程序二维码

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

小夜