Skip to content

Firecrawl

OpenClaw 支持以三种方式使用 Firecrawl

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

Firecrawl 是一个托管提取/搜索服务,支持反机器人绕过和缓存,对 JS 重度页面或屏蔽普通 HTTP 请求的页面非常有效。

养龙虾遇到"抓不到页面"的难题?Firecrawl 的 stealth 代理模式可以帮你的龙虾突破大多数反爬屏障,是处理动态渲染页面的利器。

获取 API Key

  1. 创建 Firecrawl 账户并生成 API key
  2. 在配置中存储,或在 Gateway 环境中设置 FIRECRAWL_API_KEY

配置 Firecrawl 搜索

json5
{
  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

配置 Firecrawl 抓取 + web_fetch 回退

json5
{
  plugins: {
    entries: {
      firecrawl: {
        enabled: true,
      },
    },
  },
  tools: {
    web: {
      fetch: {
        firecrawl: {
          apiKey: "FIRECRAWL_API_KEY_HERE",
          baseUrl: "https://api.firecrawl.dev",
          onlyMainContent: true,
          maxAgeMs: 172800000,
          timeoutSeconds: 60,
        },
      },
    },
  },
}

注意事项:

  • firecrawl.enabled 默认为 true,除非显式设置为 false
  • 只有在 API key 可用时(tools.web.fetch.firecrawl.apiKeyFIRECRAWL_API_KEY),Firecrawl 回退才会尝试
  • maxAgeMs 控制缓存结果的最大年龄(毫秒),默认为 2 天

firecrawl_scrape 复用相同的 tools.web.fetch.firecrawl.* 设置和环境变量。

Firecrawl 插件工具

当需要 Firecrawl 特定搜索控制而非通用 web_search 时使用此工具。

核心参数:

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

firecrawl_scrape

对于普通 web_fetch 较弱的 JS 重度或有机器人保护的页面,使用此工具。

核心参数:

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

隐身/反机器人绕过

Firecrawl 提供 proxy 模式参数用于反机器人绕过(basicstealthauto)。OpenClaw 始终对 Firecrawl 请求使用 proxy: "auto"storeInCache: trueauto 模式在基本尝试失败时会用隐身代理重试,这可能比仅用 basic 模式消耗更多额度。

web_fetch 如何使用 Firecrawl

web_fetch 提取顺序:

  1. Readability(本地)
  2. Firecrawl(如果已配置)
  3. 基础 HTML 清理(最后回退)

相关文档