> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-docs-firecrawl-replit-connector.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# CrewAI

> 了解如何将 Firecrawl 与 CrewAI 搭配使用

<div id="using-firecrawl-with-crewai">
  ## 在 CrewAI 中使用 Firecrawl
</div>

Firecrawl 已与 [CrewAI（用于编排 AI 代理的框架）](https://www.crewai.com/) 集成。此页介绍集成到该框架中的所有 Firecrawl 工具。

<div id="installing-firecrawl-tools-inside-of-crewai">
  ### 在 CrewAI 中安装 Firecrawl 工具
</div>

* 前往 [firecrawl.dev 控制台](https://firecrawl.dev) 获取 API key，并将其设置为环境变量（`FIRECRAWL_API_KEY`）。
* 安装 [Firecrawl SDK](https://github.com/firecrawl/firecrawl) 以及 `crewai[tools]` 包：

```
pip install firecrawl-py 'crewai[tools]'
```

<div id="tools">
  ## 工具
</div>

<div id="firecrawlcrawlwebsitetool">
  ### FirecrawlCrawlWebsiteTool
</div>

<div id="example">
  #### 示例
</div>

按如下方式使用 FirecrawlScrapeFromWebsiteTool，使你的代理能够加载网站：

```python theme={null}
from crewai_tools import FirecrawlCrawlWebsiteTool

tool = FirecrawlCrawlWebsiteTool(url='firecrawl.dev')
```

<div id="arguments">
  #### 参数
</div>

* `api_key`: 可选。指定 Firecrawl API 密钥。默认使用 `FIRECRAWL_API_KEY` 环境变量。
* `url`: 开始爬取的起始 URL。
* `page_options`: 可选。
  * `onlyMainContent`: 可选。仅返回页面的主要内容，不包括页眉、导航栏、页脚等。
  * `includeHtml`: 可选。包含页面的原始 HTML 内容。将在响应中输出一个 `html` 字段。
* `crawler_options`: 可选。用于控制爬取行为的选项。
  * `includes`: 可选。爬取时要包含的 URL 模式。
  * `exclude`: 可选。爬取时要排除的 URL 模式。
  * `generateImgAltText`: 可选。使用 LLM 为图片生成替代文本（需要付费方案）。
  * `returnOnlyUrls`: 可选。如果为 true，则在爬取状态结果中仅返回 URL 列表。注意：响应中的 `data` 内将是 URL 列表，而不是文档列表。
  * `maxDepth`: 可选。最大爬取深度。深度 1 为起始 URL，深度 2 包含起始 URL 及其直接子页面，依此类推。
  * `mode`: 可选。要使用的爬取模式。Fast 模式在没有站点地图（sitemap）的网站上爬取速度快 4 倍，但可能不够精确，且不应在大量使用 JavaScript 渲染的网站上使用。
  * `limit`: 可选。要爬取的最大页面数量。
  * `timeout`: 可选。爬取操作的超时时间（毫秒）。

<div id="firecrawlscrapewebsitetool">
  ### FirecrawlScrapeWebsiteTool
</div>

<div id="example">
  #### 示例
</div>

按以下方式使用 FirecrawlScrapeWebsiteTool，使你的代理能够加载网站：

```python theme={null}
from crewai_tools import FirecrawlScrapeWebsiteTool

tool = FirecrawlScrapeWebsiteTool(url='firecrawl.dev')
```

<div id="arguments">
  #### 参数
</div>

* `api_key`: 可选。指定 Firecrawl API key。默认使用环境变量 `FIRECRAWL_API_KEY` 的值。
* `url`: 要抓取的 URL。
* `page_options`: 可选。
  * `onlyMainContent`: 可选。仅返回页面主体内容，不包括页眉、导航栏、页脚等。
  * `includeHtml`: 可选。包含页面的原始 HTML 内容。将在响应中输出一个 html 键。
* `extractor_options`: 可选。用于基于 LLM 从页面内容中抽取结构化信息的配置。
  * `mode`: 要使用的抽取模式，目前支持 `'llm-extraction'`
  * `extractionPrompt`: 可选。用于描述需要从页面中抽取哪些信息的提示词
  * `extractionSchema`: 可选。要抽取数据所遵循的 schema 定义
* `timeout`: 可选。请求的超时时间（毫秒）

<div id="firecrawlsearchtool">
  ### Firecrawl 搜索工具
</div>

<div id="example">
  #### 示例
</div>

按如下方式使用 FirecrawlSearchTool，让你的代理能够加载网站：

```python theme={null}
from crewai_tools import FirecrawlSearchTool

tool = FirecrawlSearchTool(query='什么是 Firecrawl？')
```

<div id="arguments">
  #### 参数
</div>

* `api_key`: 可选。指定 Firecrawl API 密钥。默认为环境变量 `FIRECRAWL_API_KEY` 的值。
* `query`: 用于搜索的查询字符串。
* `page_options`: 可选。结果格式相关选项。
  * `onlyMainContent`: 可选。仅返回页面主体内容，不包括页眉、导航、页脚等。
  * `includeHtml`: 可选。包含页面的原始 HTML 内容。将在响应中输出一个 `html` 字段。
  * `fetchPageContent`: 可选。获取页面的完整内容。
* `search_options`: 可选。用于控制爬取行为的选项。
  * `limit`: 可选。要爬取的最大页面数量。
