Firecrawl 项目介绍
Firecrawl 项目介绍
项目定位
Firecrawl 是一个 AI 原生的网络数据 API —— 将网页转换为 LLM 可直接使用的清洁数据(Markdown、结构化 JSON、截图等),为 AI Agent 提供实时网络上下文。
它解决的问题:AI Agent 需要实时网络数据,但传统爬虫面临反爬、JS 渲染、代理轮换、页面解析等复杂问题。Firecrawl 封装了这些复杂性,提供简单的 REST API,让 Agent 无需关心底层抓取细节。
核心能力
| 能力 | 描述 |
|---|---|
| Scrape(抓取) | 将任何 URL 转换为 Markdown、HTML、截图或结构化 JSON |
| Search(搜索) | 搜索引擎查询 + 直接返回结果页的完整内容 |
| Crawl(爬取) | 单请求爬取整个网站,异步任务 + 轮询/WS 实时状态 |
| Map(映射) | 即时发现网站所有 URL,支持关键词搜索过滤 |
| Agent(代理) | 自主数据收集 Agent —— 描述需求,AI 自动搜索、导航、提取 |
| Interact(交互) | 基于已有浏览器会话,通过自然语言指令与页面交互 |
| Batch Scrape(批量抓取) | 异步批量处理数千个 URL |
| Parse(解析) | 从 PDF、DOCX 等文件中提取文本和结构化数据 |
技术栈
- 后端语言:TypeScript(Node.js + Express)
- 任务队列:BullMQ(基于 Redis)+ RabbitMQ(NUQ 新一代队列系统)
- 数据库:PostgreSQL(持久化)+ Redis(缓存与队列)
- 浏览器引擎:Playwright / Fire Engine(Chrome CDP)
- AI 集成:OpenAI(JSON 提取、Agent、深度研究)
- 可观测性:Sentry(错误追踪)、OpenTelemetry(分布式追踪)、ClickHouse(分析)
- 部署:Docker Compose / Kubernetes(Helm)
架构概览
快速体验
本地自托管
# 1. 克隆仓库git clone https://github.com/firecrawl/firecrawl.gitcd firecrawl
# 2. 启动 Docker 服务docker compose builddocker compose up
# 3. 测试 APIcurl -X POST http://localhost:3002/v2/scrape \ -H 'Content-Type: application/json' \ -d '{"url": "https://firecrawl.dev"}'使用云端 API
# 获取 API Key: https://firecrawl.dev
# Pythonpip install firecrawl-py
# Node.jsnpm install @mendable/firecrawl-jsfrom firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_API_KEY")
# 抓取单个页面doc = app.scrape("https://firecrawl.dev", formats=["markdown"])print(doc.markdown)
# 使用 Agent 自主收集数据result = app.agent(prompt="Find the pricing plans for Notion")print(result.data)教程导读
本教程分为 AI 应用 和 工程实践 两个部分:
AI 应用教程 (/ai/)
| 章节 | 内容 | 引用的 Common 教程 |
|---|---|---|
| 01 | Agent 端点架构与自主数据收集 | Agent 核心循环 |
| 02 | 多引擎智能回退与反反爬策略 | — |
| 03 | AI 结构化提取(LLM Extract) | — |
| 04 | MCP 集成与 Agent 技能接入 | MCP 协议 |
工程实践教程 (/dev/)
| 章节 | 内容 |
|---|---|
| 01 | 多租户 SaaS API 架构设计 |
| 02 | BullMQ + Redis 异步任务队列系统 |
| 03 | 抓取引擎的 Feature Flag 与质量评分机制 |
| 04 | Monorepo 多语言 SDK 管理 |