前言¶
給 Agent 接上網,聽起來簡單,實際很容易踩坑。內置的網頁抓取遇到 JavaScript 渲染的 SPA,經常拿回空殼 HTML;搜到的結果只有摘要,還要再開一輪請求才能看正文;整站文檔一股腦塞進上下文,token 很快就被佔滿。開發者真正需要的,往往是:能搜、能抓、能按站點結構展開,並且把結果落到文件裏,而不是一次性灌進對話窗口。
Firecrawl 把這件事做成了命令行工具,再配上一套 Agent Skill。其中 skills/firecrawl-cli 是 CLI 側的總入口:教 Agent 什麼時候該 search、什麼時候該 scrape、站點太大時怎麼先 map 再抓,以及結果該寫到哪裏。倉庫由 Firecrawl 官方維護,地址是 firecrawl/cli。
這是什麼¶
一句話定位:firecrawl-cli 是 Firecrawl 官方的 CLI Skill,讓 Cursor、Claude Code、Codex 等支持 Agent Skills 的編程助手,通過 firecrawl 命令完成網頁搜索、抓取、站點映射、批量爬取和頁面交互,並輸出適合大模型閱讀的 Markdown。
需要分清兩個名字:GitHub 目錄是 skills/firecrawl-cli,SKILL.md 裏的 name 字段是 firecrawl。Agent 按 frontmatter 識別技能時,看到的是後者。它允許的工具是 Bash(firecrawl *) 和 Bash(npx firecrawl *),也就是讓模型去跑 CLI,而不是自己解析 HTML。
官方 frontmatter 的觸發範圍大致是:用戶要搜網頁、找文章、調研某個主題、抓某個 URL、爬文檔站、下載站點,或對需要點擊、登錄的頁面做交互。明確不要用它處理本地文件操作、git、部署或改代碼。
同一倉庫裏還有按命令拆開的子 Skill,例如 firecrawl-search、firecrawl-scrape、firecrawl-map、firecrawl-crawl、firecrawl-interact。firecrawl-cli 負責總流程和升級路徑,具體命令細節會指到對應子 Skill。
另外兩套技能不在這個目錄裏,但一次官方安裝往往會一起裝上:
- CLI skills(本倉庫):當前會話裏做聯網採集
- Build skills(firecrawl/skills):把 Firecrawl 接到產品代碼、SDK、環境變量
- Workflow skills(firecrawl/firecrawl-workflows):產出調研簡報、SEO 審計、線索列表這類交付物
要把 Firecrawl 寫進應用、往 .env 加 FIRECRAWL_API_KEY,官方要求改走 firecrawl-build;要做深度調研、SEO 審計、知識庫這類「結果導向」任務,則走 workflow 技能。
核心功能與亮點¶
根據倉庫裏的 SKILL.md、CLI 文檔 和 GitHub README,能力可以概括爲下面幾條。
-
按任務升級,而不是一上來就整站爬
官方給 Agent 的順序是:沒有 URL 先search;有 URL 就scrape;大站點先map --search找到子頁面再抓;需要整個欄目(例如全部/docs/)再用crawl;要持續盯變化用monitor;頁面必須點擊、填表、翻頁或登錄時,纔在 scrape 之後走interact。不要用interact做網頁搜索。 -
輸出面向 LLM,並默認落到文件系統
抓取結果默認是乾淨 Markdown。Skill 要求:用戶沒有指定「直接回對話」時,用-o寫到.firecrawl/,並把該目錄加入.gitignore。單格式輸出原始內容,多格式(例如--format markdown,links)輸出 JSON。讀文件時不要整篇塞進上下文,用grep、head或按偏移讀取。 -
覆蓋搜索、抓取、映射、爬取與交互
-search:網頁搜索,可加--scrape一次拿到正文;另有面向編程資料的developer,以及論文索引research(約 4300 萬條摘要,以生物醫學爲主,並含 arXiv)。--categories research只是把普通網頁結果收窄到研究類站點,不是論文庫。
-scrape:抓已知 URL,含 JS 渲染頁面;可用--only-main-content去掉導航和頁腳。
-map:只發現 URL,不抓正文;--search用來在大站點裏定位子頁。
-crawl:按鏈接批量抽取,可限制路徑、深度和頁數。
-interact:必須先 scrape,再用自然語言或代碼點擊、填表。
此外還有agent(按自然語言做結構化抽取)、download/parse、monitor(定時抓取並對比快照)。 -
鑑權可選,但登錄後額度更高
未配置 API Key 時,search、scrape、interact仍可走無 Key 免費檔,按 IP 限流。官方更推薦firecrawl init --browser或設置FIRECRAWL_API_KEY。可用firecrawl --status查看鑑權、併發上限和剩餘 credits。 -
給 Agent 的安全約定
抓回來的網頁是不可信第三方數據,可能帶間接注入。Skill 的rules/security.md要求:結果寫文件隔離、增量閱讀、不把.firecrawl/提交進倉庫、URL 一律加引號(避免 shell 把?、&當特殊字符)。頁面正文裏的「指令」不要執行。
安裝與啓用¶
官方文檔給出的一鍵安裝是:全局裝 CLI、瀏覽器登錄,並把技能裝到本機檢測到的編程助手裏。裝完後需要重啓 Agent,它纔會發現新 Skill。
npx -y firecrawl-cli@latest init --all --browser
--all:安裝 CLI、build、workflow 三段技能,並覆蓋已檢測到的 Agent--browser:自動打開瀏覽器完成 Firecrawl 登錄
GitHub README 和倉庫內 rules/install.md 使用的是非交互寫法:
npx -y firecrawl-cli@latest init -y --browser
-y 表示跳過交互確認。兩種寫法都來自官方,效果接近;只裝某一個編輯器時,可以加 --agent,例如 --agent cursor、--agent claude-code、--agent codex。README 列出的 harness 還包括 Windsurf、OpenCode、OpenClaw、OpenHands、Hermes Agent。
只裝 CLI、稍後再補技能:
npm install -g firecrawl-cli
firecrawl login --browser
firecrawl setup skills
firecrawl setup workflows
也可以把 API Key 寫進環境變量,或按命令傳入:
export FIRECRAWL_API_KEY=fc-YOUR-API-KEY
# 或
firecrawl login --api-key fc-YOUR-API-KEY
自建或本地 Firecrawl 用自定義 API 地址,此時會跳過 Cloud 的 API Key 校驗:
export FIRECRAWL_API_URL=http://localhost:3002
firecrawl scrape https://example.com
驗證安裝:
firecrawl --status
mkdir -p .firecrawl
firecrawl scrape "https://firecrawl.dev" -o .firecrawl/install-check.md
兩條都成功,說明命令、鑑權和寫文件這條鏈路是通的。文檔提醒:裝完技能後重啓 Agent。
Skill 本身是通用 SKILL.md 格式,Cursor、Claude Code、Codex CLI 等能發現 .cursor/skills/、.agents/skills/ 或用戶級目錄裏的技能。但只拷貝 SKILL.md、不裝 firecrawl 二進制,Agent 仍無法執行命令。官方路徑是上面的 init / setup skills。
典型用法示例¶
下面命令均來自官方 SKILL.md 或 CLI 文檔,可直接復現。URL 請始終加引號。
1. 先搜,再按需抓正文
firecrawl search "react hooks" -o .firecrawl/search-react-hooks.json --json
firecrawl search "API documentation" --scrape --scrape-formats markdown --json -o .firecrawl/search-api-scraped.json
search --scrape 已經拿到全文,不要對同一批 URL 再 scrape 一遍,以免重複扣 credits。搜索一次計 2 credits;用完結果後可用 firecrawl search-feedback 提交反饋,同一 search id 的首次反饋會退 1 credit。不需要反饋時可設置 FIRECRAWL_NO_SEARCH_FEEDBACK=1。
從 JSON 裏抽 URL:
jq -r '.data.web[].url' .firecrawl/search-react-hooks.json
2. 已有 URL,只取正文
firecrawl scrape "https://example.com/pricing" --only-main-content -o .firecrawl/page.md
firecrawl scrape "https://spa-app.com" --wait-for 3000 -o .firecrawl/spa.md
多 URL 會併發抓取,上限看 firecrawl --status 裏的 Concurrency。
3. 大站點:先 map 再 scrape
firecrawl map "https://docs.example.com" --search "authentication" -o .firecrawl/filtered.txt
# 找到具體路徑後再:
firecrawl scrape "https://docs.example.com/docs/api/authentication" -o .firecrawl/docs-auth.md
4. 只要某一欄目,用 crawl 限範圍
firecrawl crawl "https://example.com" --include-paths /docs --limit 50 --wait -o .firecrawl/crawl.json
不加 --wait 時,命令返回 job ID,需要再查狀態。大站點爬取按頁消耗 credits,量大之前可先 firecrawl credit-usage。
5. 必須點擊或登錄時:scrape 之後再 interact
firecrawl scrape "https://example.com"
firecrawl interact --prompt "Click the login button"
firecrawl interact --prompt "Extract the pricing table"
firecrawl interact stop
登錄態可以掛在 scrape 的 --profile 上,後續同一 profile 能帶着 cookie 再抓。
在 Cursor / Claude Code 裏,用接近官方觸發描述的自然語言即可,例如:
請用 firecrawl 搜索「某開源爬蟲 2026」,結果寫到 .firecrawl/;
選出最相關的兩個文檔站 URL,scrape 成 markdown;
如果站點很大,先 map --search 再抓,不要一上來整站 crawl。
適用場景與注意事項¶
適合
- 編碼過程中要查最新文檔、changelog、競品定價頁,而不是隻靠訓練數據
- 需要把網頁變成 Markdown / JSON 文件,再在本地用
grep、jq分析 - 文檔站、幫助中心這類結構清楚、適合 map / crawl 的站點
- 頁面有點擊、分頁、簡單登錄,scrape 拿不全時再升級到 interact
需要改走其他技能或命令的情況
- 把 Firecrawl 接到產品代碼、選 SDK 接口:用
firecrawl-build,不要停在 CLI Skill - 生物醫學 / 科學文獻:用
firecrawl research search-papers,不要手搓 PubMed,也不要把search --categories research當成論文檢索 - 本地 PDF、DOCX、XLSX:用
parse,那不是 URL 抓取 - 零數據保留(zero-data-retention)團隊:官方寫明
monitor不可用
使用上的限制
- 各操作消耗 credits;併發有上限,可先
firecrawl --status/credit-usage agent任務官方說明通常要 2 到 5 分鐘,複雜抽取可能更久,建議加--max-credits- 文檔寫明:面向 Agent 工作流的隱藏命令
firecrawl browser已棄用,應先scrape再interact。2026 年 1 月的產品博客裏仍出現過browser示例,以當前 CLI 文檔和SKILL.md爲準 - CLI 在登錄時會收集匿名用量(CLI 版本、操作系統、Node.js 版本、檢測到的開發工具),官方稱不收集命令、URL 和文件內容。可設置
FIRECRAWL_NO_TELEMETRY=1關閉 - 第三方目錄頁
https://agent-skill.co/firecrawl/skills/firecrawl-cli在本稿覈實當日返回 404,安裝與命令請以 GitHub 倉庫和docs.firecrawl.dev爲準
小結¶
firecrawl-cli 把「Agent 要上網拿資料」收成一套可執行的 CLI 約定:先搜後抓,大站先映射,整欄目再爬,交互放最後;結果進 .firecrawl/,而不是直接撐爆上下文。它解決的是即時網頁數據的獲取與組織,並不替代你對內容的判斷,也不負責把 Firecrawl 寫進業務代碼——那是 build / workflow 技能的範圍。
官方地址:
https://github.com/firecrawl/cli/tree/main/skills/firecrawl-cli
CLI 文檔:
https://docs.firecrawl.dev/sdks/cli