firecrawl-agent 是 Firecrawl CLI 提供的 AI 驱动的自主提取命令,通过访问该页面可以了解其用法。
用途
该命令让智能体(agent)自主浏览网站,并在多个页面之间提取结构化数据。适用场景是:任务需要导航,或者不存在合适的现成工作流或数据提供方。
在开始针对结构化记录或列表进行自主提取之前,官方建议先检查是否已有现成方案:运行 firecrawl search alexandria '<data you need>' 查找现成的工作流或数据提供方;如果找到匹配的 contract,用 firecrawl list <provider> <capability> --pretty 查看,并用 firecrawl scrape --alexandria <provider>/<capability> --options '<input JSON>' 执行,使用该 contract 中确切的 provider、capability 和输入字段。只有当没有合适工具、或任务需要自主导航时,才继续使用 Agent。
主要能力
- 自主导航网站并提取结构化数据。
- 支持把结果以 JSON 输出到指定文件。
- 支持通过 --schema 传入 JSON Schema,获得可预测的结构化输出;不传时返回自由格式数据。
- 支持通过 --urls 聚焦特定页面。
- 支持不等待、直接返回 job ID,之后再进行状态查询、轮询或取消。
- 支持连接 Alexandria 数据提供方(仅在运行以 Alexandria 标志开始时生效,如 --alexandria、--toolkits <slugs>(最多 5 个)、--max-calls <n>、--require-approval,或 --on-terms-required skip|ask)。
- 支持审批流程:配合 --require-approval(需要 --mode chat),运行可能停在 pendingApproval 而不会发起付费调用;用户确认后可在同一 thread 上用 --approve <approvalId> 或 --decline <approvalId> 回应。
- 支持条款审批:只有当组织接受提供方条款后才会继续;可在 dashboard 操作,或向用户展示 firecrawl alexandria terms show <provider>,并且在用户明确同意后,用返回的 version 和 digest 运行 firecrawl alexandria terms accept <provider> --terms-version <version> --digest <digest> --confirm。仅批准并不等于接受条款。
使用方式
快速开始示例:
提取结构化数据
firecrawl agent "extract all pricing tiers" --wait --json -o .firecrawl/pricing.json
使用 JSON schema 获得结构化输出
firecrawl agent "extract products" --schema '{"type":"object","properties":{"name":{"type":"string"},"price":{"type":"number"}}}' --wait --json -o .firecrawl/products.json
聚焦特定页面
firecrawl agent "get feature list" --urls "<url>" --wait --json -o .firecrawl/features.json
完整选项列表可运行 firecrawl agent --help 查看。
完成标志:输出文件包含回答请求的有效 JSON,或者有意返回了 job ID 以供稍后轮询。
Alexandria 提供方示例:
firecrawl agent "find the head of sales at <company>" --toolkits apollo,crunchbase --wait --json -o .firecrawl/contacts.json
Job ID 用法
省略 --wait 会返回一个 job ID。位置参数为 UUID 时会自动识别为状态检查:
检查一次(等价于加上 --status)
firecrawl agent "<job-id>"
等待已有任务,每 10 秒轮询一次,最长 5 分钟
firecrawl agent "<job-id>" --wait --poll-interval 10 --timeout 300
取消进行中的任务
firecrawl agent "<job-id>" --cancel
提示
- 需要内联结果时使用 --wait;仅在希望稍后轮询 job ID 时才省略。
- 需要可预测的结构化输出时使用 --schema,否则智能体返回自由格式数据。
- Agent 运行比简单 scrape 消耗更多 credits,可用 --max-credits 限制开销。
- 对于简单的单页提取,建议优先使用 scrape,它更快也更便宜。
参见
- firecrawl-scrape:更简单的单页提取。
- firecrawl-interact:scrape 加交互,用于手动页面交互(控制更多)。
- firecrawl-crawl:不使用 AI 的批量提取。
- firecrawl-build-scrape:把结构化提取构建进应用,而不是在此处运行。
Alexandria 会话反馈
如需报告 Alexandria 会话结果或 provider/capability 缺口,可使用:
firecrawl alexandria feedback --rating good|partial|bad --url <website> --requested-functionality '<what was needed>' --objective '<the underlying goal of the task>' --rationale '<what happened>' --json
rationale 中应使用观察到的结果。无需 job ID;需在最后一次 Alexandria 搜索、发现或执行后 20 分钟内提交,否则会被拒绝。每次提交返还 1 credit,每个网站每个 UTC 日最多 10 次,每个团队每天最多 100 次。可选的 --provider-feedback 和 --capability-feedback JSON 数组用于描述具体缺口;其字段可查看 firecrawl alexandria feedback --help。当 provider 存在但缺少所需 capability 时,使用 capability issue missing_capability;请求新 capability 时使用 new_capability_request(配合 requestedFunctionality)。
限制
- 缺少资料说明该命令是否收费、具体价格、平台兼容性、提取成功率或其他效果,均暂未提供。
- Agent 运行消耗比简单 scrape 更多 credits,官方建议用 --max-credits 限制。
- 单页简单提取建议使用 scrape。
- Alexandria 相关能力仅在运行以特定标志开始时才启用。