在 CrewAI 中使用 Firecrawl
在 CrewAI 中安装 Firecrawl 工具
- 前往 firecrawl.dev 控制台 获取 API 密钥,并将其设置为环境变量 (
FIRECRAWL_API_KEY) 。 - 安装 Firecrawl SDK 以及
crewai[tools]包:
config 字典接收各自的 Firecrawl 选项。URL 或查询由智能体在调用工具时传入,因此你只需预先传入选项即可。
工具
FirecrawlCrawlWebsiteTool
示例
按如下方式使用 FirecrawlCrawlWebsiteTool,使你的智能体能够爬取网站:参数
api_key:可选。指定 Firecrawl API 密钥。默认值为环境变量FIRECRAWL_API_KEY。config:可选。采用 snake_case 命名的爬取参数。传入config会覆盖以下默认值。limit:最多爬取的页面数。默认值:10。max_discovery_depth:页面发现的最大深度。默认值:2。ignore_sitemap:是否忽略 sitemap。默认值:True。allow_external_links:是否允许爬取外部链接。默认值:False。allow_subdomains:是否允许爬取子域。默认值:False。delay:请求间隔 (毫秒) 。默认值:None。scrape_options:应用于每个已爬取页面的选项。默认值:{"formats": ["markdown"], "only_main_content": True, "timeout": 10000}。
FirecrawlScrapeWebsiteTool
示例
按以下方式使用 FirecrawlScrapeWebsiteTool,使你的智能体能够加载网站:参数
api_key:可选。指定 Firecrawl API 密钥。默认值为环境变量FIRECRAWL_API_KEY。config:可选。采用 snake_case 命名的抓取参数。传入config将覆盖以下默认值。formats:输出格式,例如"markdown"、"html"、"links",或用于结构化提取的 JSON 格式对象。默认值:["markdown"]。only_main_content:仅返回页面主要内容,不包括页眉、导航栏、页脚等。默认值:True。include_tags/exclude_tags:要包含或排除的 HTML 标签。默认值:[]。max_age:若缓存版本的时长未超过该毫秒数,则返回缓存版本。默认值:172800000(2 天) 。wait_for:获取内容前的等待时间 (毫秒) 。默认值:0。mobile:模拟移动设备。默认值:False。timeout:请求超时时间 (毫秒) 。默认值:None。
Firecrawl 搜索工具
示例
按如下方式使用 Firecrawl 搜索工具,让你的智能体能够进行网页搜索:参数
api_key:可选。指定 Firecrawl API 密钥。默认使用FIRECRAWL_API_KEY环境变量。config:可选。采用 snake_case 命名的搜索参数。传入config后将替换以下默认值。limit:返回的搜索结果数量上限。默认值:5。tbs:按时间筛选搜索结果的过滤器,例如"qdr:d"表示过去一天。默认值:None。location:搜索结果对应的位置。默认值:None。timeout:请求超时时间 (毫秒) 。默认值:None。scrape_options:抓取每个结果并返回其内容。默认值:{"formats": ["markdown"], "only_main_content": True}。省略此项则仅获取标题、URL 和描述。

