关于 pp-firecrawl
pp-firecrawl 是通过 firecrawl-pp-cli 使用 Firecrawl 的技能,适合需要抓取网页、爬取站点或提取结构化信息的 Agent。它还提供搜索、深度研究和批量任务命令,并支持独立安装 MCP 服务。
主要功能
- 01抓取单页或批量 URL
- 02爬取站点并映射 URL
- 03用 LLM 提取结构化数据
- 04搜索网页并抓取结果
- 05管理异步任务状态
适用场景
- 01从网页提取指定字段
- 02批量爬取多个页面
- 03查询网站内容并生成研究结果
MCP 相关
README 提供安装 firecrawl-pp-mcp 并注册到 Claude Code 的步骤。该 MCP 服务向客户端暴露 Firecrawl CLI 的相关操作;具体工具清单未说明。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-firecrawl安装后在 Claude Code 中输入/pp-firecrawl确认已加载。
详细介绍
Firecrawl — Printing Press CLI
前置条件:安装 CLI
此技能通过 firecrawl-pp-cli 二进制文件运行。**调用此技能中的任何命令之前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 通过 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install firecrawl --cli-only - 验证:
firecrawl-pp-cli --version - 确保报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/developer-tools/firecrawl/cmd/firecrawl-pp-cli@latest
如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,请勿继续运行技能命令。
命令参考
batch — 管理批处理
firecrawl-pp-cli batch cancel-scrape— 取消批量抓取任务firecrawl-pp-cli batch get-scrape-errors— 获取批量抓取任务的错误firecrawl-pp-cli batch get-scrape-status— 获取批量抓取任务的状态firecrawl-pp-cli batch scrape-and-extract-from-urls— 抓取多个 URL,并可选择使用大模型提取信息
crawl — 管理爬取
firecrawl-pp-cli crawl cancel— 取消爬取任务firecrawl-pp-cli crawl get-active— 获取已通过身份验证的团队的所有活动爬取任务firecrawl-pp-cli crawl get-status— 获取爬取任务的状态firecrawl-pp-cli crawl urls— 根据选项爬取多个 URL
deep-research — 管理深度研究
firecrawl-pp-cli deep-research get-status— 获取深度研究操作的状态和结果firecrawl-pp-cli deep-research start— 根据查询启动深度研究操作
extract — 管理提取
firecrawl-pp-cli extract data— 使用大模型从页面中提取结构化数据firecrawl-pp-cli extract get-status— 获取提取任务的状态
firecrawl-search — 管理 Firecrawl 搜索
firecrawl-pp-cli firecrawl-search— 搜索,并可选择抓取搜索结果
llmstxt — 管理 llmstxt
firecrawl-pp-cli llmstxt generate-llms-txt— 为网站生成 LLMs.txtfirecrawl-pp-cli llmstxt get-llms-txt-status— 获取 LLMs.txt 生成任务的状态和结果
map — 管理映射
firecrawl-pp-cli map— 根据选项映射多个 URL
scrape — 管理抓取
firecrawl-pp-cli scrape— 抓取单个 URL,并可选择使用大模型提取信息
team — 管理团队
firecrawl-pp-cli team get-credit-usage— 获取已通过身份验证的团队的剩余额度firecrawl-pp-cli team get-token-usage— 获取已通过身份验证的团队的剩余令牌数(仅限 Extract)
查找合适的命令
如果你知道要做什么,但不知道该使用哪个命令,可以直接询问 CLI:
firecrawl-pp-cli which "<capability in your own words>"
which 会根据此 CLI 精选的功能索引,将自然语言能力查询解析为最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help 或尝试更具体的查询。
身份验证设置
保存访问令牌:
firecrawl-pp-cli auth set-token YOUR_TOKEN_HERE
或者将 FIRECRAWL_BEARER_AUTH 设置为环境变量。
运行 firecrawl-pp-cli doctor 以验证设置。
Agent 模式
为任何命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select可保留部分字段。点分路径可深入嵌套结构;数组会逐个遍历元素。对于输出冗长的 API,这对控制上下文大小至关重要:firecrawl-pp-cli batch cancel-scrape mock-value --agent --select id,name,status -
可预览 —
--dry-run会显示请求,但不会发送 -
适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储
-
非交互式 — 从不提示输入,所有输入均通过标志提供
响应封装
从本地存储或 API 读取数据的命令会将输出封装在来源信封中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并通过 .meta.source 判断数据来自实时数据还是本地数据。只有当标准输出连接到终端时,才会将便于阅读的 N results (live) 摘要打印到标准错误;通过管道传输或供 Agent 使用时,标准输出只包含纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有任何不妥之处时,请记录下来:
firecrawl-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
firecrawl-pp-cli feedback --stdin < notes.txt
firecrawl-pp-cli feedback list --json --limit 10
条目会存储在本地 ~/.firecrawl-pp-cli/feedback.jsonl。除非设置了 FIRECRAWL_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 FIRECRAWL_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认仅保存在本地。
记录让你感到意外的事情,而不是 bug 报告。简短、具体,只写一行:这才是会不断累积价值的部分。
输出传递
每条命令都接受 --deliver <sink>。除了输出到标准输出(也可以替代标准输出)之外,还会将结果发送到指定目标,因此 Agent 无需手动通过管道传递命令结果。支持三种目标:
| 目标 | 效果 |
|---|---|
stdout | 默认;仅写入标准输出 |
file:<path> | 将输出原子性地写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到该 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson) |
遇到未知方案时会拒绝处理,并返回结构化错误,列出支持的方案。Webhook 请求失败时会返回非零退出码,并在标准错误中记录 URL 和 HTTP 状态码。
命名配置
配置是已保存的一组标志值,可在多次调用中重复使用。当定时 Agent 每次运行都使用相同配置调用同一命令时,可以使用配置——这就是 HeyGen 的“Beacon”模式。
firecrawl-pp-cli profile save briefing --json
firecrawl-pp-cli --profile briefing batch cancel-scrape mock-value
firecrawl-pp-cli profile list --json
firecrawl-pp-cli profile show briefing
firecrawl-pp-cli profile delete briefing --yes
显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,方便进行内省的 Agent 在运行时发现它们。
退出码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 受到速率限制(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示firecrawl-pp-cli --help的输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并带上
--agent)
安装 MCP 服务
- 安装 MCP 服务:
go install github.com/mvanhorn/printing-press-library/library/other/firecrawl-pp-cli/cmd/firecrawl-pp-mcp@latest - 在 Claude Code 中注册:
claude mcp add firecrawl-pp-mcp -- firecrawl-pp-mcp - 验证:
claude mcp list
直接使用
- 检查是否已安装:
which firecrawl-pp-cli如果未找到,则提示安装(参见本技能开头的先决条件)。 - 根据用户查询,从上文的独特功能和命令参考中选择最合适的命令。
- 使用
--agent标志执行:firecrawl-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,可深入查看子命令帮助:
firecrawl-pp-cli <command> --help。