firecrawl-download
作者 firecrawlfirecrawl-download 可協助你把整個網站或文件區段下載成整理好的本機檔案,輸出到 `.firecrawl/` 目錄下。它結合網站地圖探索與內容擷取,支援 markdown、連結與截圖,適合用來建立離線文件副本、批次保存頁面,以及處理實務上的 Web Scraping 工作流程。
這個技能的評分為 73/100,代表已達到可收錄於目錄的水準:觸發情境清楚、工作流程也具體可行,但實際採用時仍需要一些自行摸索,因為儲存庫目前只有單一的 `SKILL.md`,除了指令範例之外,操作細節相對有限。
- 觸發性強:描述中明確點出像是「下載整個網站」、「建立離線副本」與「下載所有文件」等具體使用意圖。
- 對 agent 有實際槓桿效果:它把網站地圖探索與內容擷取整合成單一指令,並說明了 formats、screenshots、include-paths 與 limits 等實用選項。
- 範例具備可操作性:`SKILL.md` 提供了快速上手指令,並明確註記可使用 `-y` 略過確認提示。
- 操作層面的深度仍有限:沒有支援檔案、參考資料、安裝說明,或是在面對失敗情況、規模限制與輸出管理時可依循的判斷規則。
- 此技能被明確標示為 experimental,對偏正式生產環境的 agent 工作流程來說,會提高一定的信任與穩定性風險。
firecrawl-download 技能總覽
firecrawl-download 的用途
firecrawl-download 技能專門處理一件事:把整個網站或某個文件區段下載成有條理的本機檔案。它會先做站點探索,再逐頁抓取內容,最後把每一頁存到 .firecrawl/ 底下,格式可以是 markdown、截圖,或每頁多種輸出格式。
如果你想保留文件的離線副本、建立本機研究語料,或用可重複執行的方式大量保存頁面以便後續分析,這個技能特別實用。和一般泛用的 scraping prompt 相比,firecrawl-download 更適合整站或整個文件區的下載情境,因為你不需要從零設計整套 crawl workflow。
哪些人適合使用 firecrawl-download 技能
最適合的使用者包括:
- 想把技術文件存到本機的開發者
- 需要蒐集網站內容進行審閱的研究人員
- 想建立輕量內容封存的團隊
- 需要一套實用「把這個網站下載下來」流程、又不想靠大量猜測的 agents
如果你的真正目標是「把這個網站存成可用的本機檔案」,那麼這個技能會比寬泛的 web scraping prompt 更對路。
安裝前多數使用者最在意什麼
多數人是否安裝 firecrawl-download,通常取決於四個問題:
- 它能處理整個網站或整個文件區,而不只是單一頁面嗎?
- 它會把輸出存成實際可用的本機資料結構嗎?
- 它能限制抓取範圍,避免下載到不該抓的頁面嗎?
- 它支援
markdown、截圖等多種輸出類型嗎?
根據技能原始內容,這四題答案都是可以。主要要注意的是,它被標示為 experimental,因此更適合視為方便的工作流程工具,而不是經過高度強化的完整封存系統。
Web Scraping 工作流程中的關鍵差異
firecrawl-download for Web Scraping 的差異點,不只是單純抓取得強不強。真正有價值的是,這個指令把以下流程打包好了:
- 先做 site mapping
- 再進行 scraping
- 逐頁輸出成本機檔案
- 自動建立巢狀本機目錄
- 下載時可重用 scrape options
因此,在「下載整份 docs」這類需求上,它比只會回傳頁面內容的單純 scrape command 更值得安裝。
如何使用 firecrawl-download 技能
firecrawl-download 的安裝脈絡
從 repository 內容來看,這個技能位於 firecrawl/cli 的 skills/firecrawl-download。實際可行的安裝方式如下:
npx skills add https://github.com/firecrawl/cli --skill firecrawl-download
加入之後,先查看:
skills/firecrawl-download/SKILL.md
這個技能的支援檔案不多,所以 SKILL.md 就是最主要的依據來源。
先讀這個檔案
請先從這裡開始:
skills/firecrawl-download/SKILL.md
這個檔案能很快說清楚實際範圍:firecrawl download 是一個 experimental 的便利指令,會把 map 與 scrape 結合起來,將結果儲存在 .firecrawl/ 下,並支援在下載過程中使用 scrape options。
firecrawl-download 的基本用法
使用 firecrawl-download skill 最快的方式,就是直接指定 docs 或內容區的根網址:
firecrawl download https://docs.example.com
如果要做無人值守執行,技能內容明確建議使用:
firecrawl download https://docs.example.com -y
只要你想在 agentic 或 scripted workflow 中略過確認提示,就應該加上 -y。
讓技能發揮效果所需的輸入
像「download this site」這種太粗略的要求,通常不夠好。更理想的輸入應包含:
- 根 URL
- 你真正想抓的區段範圍
- 最大頁數
- 需要哪些輸出格式
- 是否需要截圖
- 要排除哪些內容
更完整的請求會像這樣:
「Use firecrawl-download to save https://docs.example.com locally as markdown with screenshots, include only /guides and /api, limit to 50 pages, and skip translated pages.`」
這樣技能在開始 scraping 之前,才有足夠資訊先 map 出正確範圍。
實務上最重要的指令模式
從原始內容可以看出幾個高價值用法:
# With screenshots
firecrawl download https://docs.example.com --screenshot --limit 20 -y
# Multiple formats per page
firecrawl download https://docs.example.com --format markdown,links --screenshot --limit 20 -y
# Filter by section
firecrawl download https://docs.example.com --include-paths "/features,/sdks"
這些範例之所以重要,是因為它們直接對應實際導入時最常見的阻礙:抓太多內容、抓錯區段,或輸出精細度不夠。
本機會寫出哪些內容
這個技能會把輸出存到 .firecrawl/ 底下的巢狀目錄。若你要求多種格式,每一頁可能會產生各自獨立的檔案,例如:
index.mdlinks.txtscreenshot.png
這種本機檔案組織方式,正是選擇 firecrawl-download install 而不是一次性 scrape prompt 的主要理由之一。
如何把模糊目標改寫成可執行的 prompt
如果你最初只想到:
- 「download this docs site」
建議改寫成以下資訊:
- 目標 URL
- 想抓的區段篩選條件
- 檔案格式
- 是否需要 screenshot
- 頁數上限
- 任何排除條件
給 agent 的範例 prompt:
「Use the firecrawl-download skill to download https://docs.example.com for offline use. Save as markdown plus screenshots, include only /getting-started,/api, cap at 30 pages, and use -y so the run is non-interactive.`」
這樣效果會更好,因為它把範圍與輸出都講清楚了,不留模糊空間。
取得穩定結果的建議 workflow
實際可行的 firecrawl-download guide workflow 如下:
- 先從最小但仍有價值的 docs 區段開始。
- 在提高頁數前,先加上
--include-paths。 - 第一次先搭配
--limit執行。 - 檢查
.firecrawl/的輸出結構。 - 只有在真的需要時,再加入
--screenshot或多格式輸出。 - 第一批樣本正確後,再擴大 crawl 範圍。
這樣可以避開常見失敗情境:一開始就下載太多、太快失控。
什麼時候該用 firecrawl-download,而不是一般 scrape
當你需要以下情況時,適合使用 firecrawl-download usage:
- 很多頁,不是一頁
- 要的是本機檔案,而不只是回傳文字
- 需要可瀏覽的離線副本
- 想快速保存一份 docs snapshot 以供審閱或參考
如果你只需要單一頁面,或是需要高度客製的擷取邏輯,一般 scrape 反而比較合適。firecrawl-download 的核心價值,在於用更快的 workflow 把整個網站層級的內容保存下來。
需要提早知道的限制與取捨
根據技能原始內容,最重要的實務限制包括:
- 它被標示為 experimental
- 它是以便利指令為優先設計
- 輸出品質仍會受到目標網站結構與範圍篩選影響
- 如果不設限制就做大範圍執行,結果可能很雜或超出需求
所以,這個技能非常適合有控制條件的 docs 下載,但不代表它能保證達到完美、完整的封存結果。
firecrawl-download 技能 FAQ
firecrawl-download 適合新手嗎?
適合,尤其是你的需求只是單純「把 docs 存到本機」。它的指令範例很直接,互動式 wizard 也有幫助。不過新手仍然應該先從較小的 --limit 和較窄的 --include-paths 開始,避免一次下載過大。
它和泛用 AI scraping prompt 的真正差別是什麼?
泛用 prompt 可以描述任務,但 firecrawl-download 已經把實用模式預先編碼好了:先 map 站點、逐頁 scrape,再把檔案存進目錄。這能減少設定摩擦,也讓整體 workflow 更容易重複執行。
firecrawl-download 只適合文件網站嗎?
不是,但文件網站是最明確、最合適的使用情境。它最適合頁面結構和路徑規則相對可預期的網站。若網站高度動態,或範圍界線很難控制,可能就需要更細的篩選,甚至改用其他方法。
firecrawl-download 可以存超過 markdown 以外的格式嗎?
可以。技能原始內容明確展示了每頁多格式輸出,以及可選的 screenshots。這點很重要,因為有些情境不只需要可閱讀文字,也需要保留視覺畫面做輔助記錄。
什麼情況下不該用 firecrawl-download?
如果你只需要以下情況,就不建議使用 firecrawl-download:
- 一頁內容
- 自訂擷取 schema
- 在 scrape 當下做深度後處理
- 需要有更嚴格保證、完整穩健的 archival pipeline
這些情境下,範圍更窄的 scrape command 或更客製化的 workflow,通常會更適合。
如何改善 firecrawl-download 技能的使用效果
先幫 firecrawl-download 收斂範圍
要改善 firecrawl-download 結果,最簡單的方法就是降低模糊性。請優先使用:
--include-paths--limit- 明確的 docs root URL
一個有範圍控制的 20 頁執行,通常會比不受控的整站下載更有用。
依照實際下游工作選擇輸出
不要預設把所有格式都打開。應該根據下一步用途來選:
markdown:適合閱讀、搜尋與 LLM ingestionlinks:適合重視結構關係的情境--screenshot:適合需要版面或 UI 證據時
這樣能讓執行更輕量,也更容易檢查輸出內容。
先做 sample run,再進行完整下載
一個很實用的迭代模式是:
firecrawl download https://docs.example.com --include-paths "/api" --limit 10 -y
先檢查儲存下來的檔案,再決定是否擴大到更多區段或更高頁數。這樣能在早期就發現錯誤的範圍設定。
常見失敗模式與避開方式
典型問題包括:
- 下載到錯的區段
- 抓了太多頁
- 自動化執行時忘了加
-y - 要求了其實不需要的輸出
解法其實很直接:先指定範圍、第一次先限制頁數,並且有意識地選擇輸出格式。
針對 agent 驅動使用方式,提升 prompt 品質
如果是由 agent 呼叫這個技能,請在要求中明確包含:
- 精確的起始 URL
- 想要本機輸出的用途
- 要包含哪些區段
- 要避開哪些區段
- 輸出格式
- 執行頁數上限
好的 prompt 例如:
「Use firecrawl-download to create an offline markdown copy of https://docs.example.com, only for /guides and /reference, with screenshots for each page, limited to 40 pages, and save non-interactively.`」
這會比單純說「download the docs」得到更好的執行結果。
拿到第一批輸出後,該如何迭代
完成第一輪之後,請檢查:
.firecrawl/裡是否真的包含你預期的頁面?- 無關頁面是不是太多?
- 你真的需要 screenshots,還是文字就夠了?
- 下一輪應該放寬還是收窄 include paths?
要改善 firecrawl-download skill 的最佳做法,不是盲目重跑,而是根據第一批實際產出的結果,調整抓取範圍與輸出選項。
