跳转到内容

Firecrawl

OpenClaw 可以通过三种方式使用 Firecrawl

  • 作为 web_search 提供商
  • 作为显式插件工具:firecrawl_searchfirecrawl_scrape
  • 作为 web_fetch 的备用提取器

它是一个托管的提取/搜索服务,支持绕过机器人和缓存, 这有助于处理重度 JS 的站点或阻止普通 HTTP 获取的页面。

  1. 创建 Firecrawl 帐户并生成 API key。
  2. 将其存储在配置中,或在网关环境中设置 FIRECRAWL_API_KEY
{
tools: {
web: {
search: {
provider: "firecrawl",
},
},
},
plugins: {
entries: {
firecrawl: {
enabled: true,
config: {
webSearch: {
apiKey: "FIRECRAWL_API_KEY_HERE",
baseUrl: "https://api.firecrawl.dev",
},
},
},
},
},
}

注意事项:

  • 在新手引导或 openclaw configure --section web 中选择 Firecrawl 会自动启用内置的 Firecrawl 插件。
  • 配合 Firecrawl 使用 web_search 支持 querycount
  • 对于 Firecrawl 特有的控制,如 sourcescategories 或结果抓取,请使用 firecrawl_search
  • baseUrlFirecrawl 默认使用托管于 https://api.firecrawl.dev 的 Firecrawl。仅允许对私有/内部端点进行自托管覆盖;仅对这些私有目标接受 HTTP。
  • FIRECRAWL_BASE_URL 是 Firecrawl 搜索和抓取基础 URL 的共享环境变量后备。

配置 Firecrawl 抓取 + web_fetch 回退

Section titled “配置 Firecrawl 抓取 + web_fetch 回退”
{
plugins: {
entries: {
firecrawl: {
enabled: true,
config: {
webFetch: {
apiKey: "FIRECRAWL_API_KEY_HERE",
baseUrl: "https://api.firecrawl.dev",
onlyMainContent: true,
maxAgeMs: 172800000,
timeoutSeconds: 60,
},
},
},
},
},
}

注意事项:

  • Firecrawl 回退尝试仅在提供 API key 时运行(plugins.entries.firecrawl.config.webFetch.apiKeyFIRECRAWL_API_KEY)。
  • maxAgeMs 控制缓存结果的有效期(毫秒)。默认为 2 天。
  • 旧的 tools.web.fetch.firecrawl.* 配置会由 openclaw doctor --fix 自动迁移。
  • Firecrawl 抓取/基础 URL 覆盖遵循与搜索相同的托管/私有规则:公共托管流量使用 Firecrawlhttps://api.firecrawl.dev;自托管覆盖必须解析为私有/内部端点。
  • firecrawl_scrapeFirecrawl 在将目标 URL 转发给 Firecrawl 之前,会拒绝明显的私有、环回、元数据和非 HTTP(S) 目标 URL,这符合显式 Firecrawl 抓取调用的 web_fetchFirecrawl 目标安全性约定。

firecrawl_scrape 重用相同的 plugins.entries.firecrawl.config.webFetch.* 设置和环境变量。

当你自己运行 Firecrawl 时,请设置 plugins.entries.firecrawl.config.webSearch.baseUrlplugins.entries.firecrawl.config.webFetch.baseUrlFIRECRAWL_BASE_URLFirecrawlOpenClaw。 OpenClaw 仅对环回、私有网络、.local.internal.localhostFirecrawlAPI 目标接受 http://。公共自定义 主机将被拒绝,以防止 Firecrawl API 密钥意外发送到任意端点。

当你想要 Firecrawl 特定的搜索控件而不是通用的 Firecrawlweb_search 时,请使用此工具。

核心参数:

  • query
  • count
  • sources
  • categories
  • scrapeResults
  • timeoutSeconds

对于纯 web_fetch 表现不佳的 JS 重型或受机器人保护的页面,请使用此工具。

核心参数:

  • url
  • extractMode
  • maxChars
  • onlyMainContent
  • maxAgeMs
  • proxy
  • storeInCache
  • timeoutSeconds

Firecrawl 暴露了一个 proxy mode 参数用于绕过机器人检测(basicstealthauto)。 OpenClaw 对 Firecrawl 请求始终使用 proxy: "auto" 加上 storeInCache: true。 如果省略 proxy,Firecrawl 默认使用 auto。如果基本尝试失败,auto 会使用隐身代理重试,这可能会比仅使用基本抓取消耗更多额度。

web_fetch 提取顺序:

  1. Readability(本地)
  2. Firecrawl(如果被选中或自动检测为活动 web-fetch 后备)
  3. 基本 HTML 清理(最后后备)

选择旋钮是 tools.web.fetch.provider。如果省略它,OpenClaw 会从可用凭据中自动检测第一个就绪的 web-fetch 提供商。 目前内置的提供商是 Firecrawl。