Tools
Firecrawl
OpenClaw สามารถใช้ Firecrawl ได้สามวิธี:
- ใช้เป็นผู้ให้บริการ
web_search - ใช้เป็นเครื่องมือ Plugin แบบระบุโดยตรง ได้แก่
firecrawl_searchและfirecrawl_scrape - ใช้เป็นตัวแยกเนื้อหาสำรองสำหรับ
web_fetch
Firecrawl เป็นบริการแยกเนื้อหาและค้นหาที่โฮสต์ไว้ ซึ่งรองรับการหลบเลี่ยงบอตและการแคช จึงช่วยจัดการเว็บไซต์ที่ใช้ JS มากหรือหน้าเว็บที่บล็อกการดึงข้อมูลผ่าน HTTP แบบทั่วไปได้
ติดตั้ง Plugin
ติดตั้ง Plugin อย่างเป็นทางการ แล้วรีสตาร์ต Gateway:
openclaw plugins install @openclaw/firecrawl-pluginopenclaw gateway restartweb_fetch แบบไม่ใช้คีย์และคีย์ API
ตัวสำรอง web_fetch ของ Firecrawl แบบโฮสต์ที่เลือกไว้อย่างชัดเจน รองรับการใช้งานระดับเริ่มต้นโดยไม่ต้องใช้คีย์ API เพิ่ม FIRECRAWL_API_KEY ในสภาพแวดล้อมของ Gateway หรือกำหนดค่าเมื่อคุณต้องการขีดจำกัดที่สูงขึ้น ส่วน web_search และ firecrawl_scrape ของ Firecrawl ต้องใช้คีย์ API
กำหนดค่าการค้นหาด้วย Firecrawl
{ tools: { web: { search: { provider: "firecrawl", }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webSearch: { apiKey: "FIRECRAWL_API_KEY_HERE", baseUrl: "https://api.firecrawl.dev", }, }, }, }, },}หมายเหตุ:
- การเลือก Firecrawl ระหว่างการเริ่มต้นใช้งานหรือผ่าน
openclaw configure --section webจะเปิดใช้งาน Plugin Firecrawl ที่ติดตั้งไว้โดยอัตโนมัติ web_searchที่ใช้ Firecrawl รองรับqueryและcount- หากต้องการตัวควบคุมเฉพาะของ Firecrawl เช่น
sources,categoriesหรือการดึงข้อมูลจากผลลัพธ์ ให้ใช้firecrawl_search - ค่าเริ่มต้นของ
baseUrlคือ Firecrawl แบบโฮสต์ที่https://api.firecrawl.devอนุญาตให้กำหนดค่าทับด้วยบริการที่โฮสต์เองได้เฉพาะปลายทางส่วนตัวหรือภายในเท่านั้น และยอมรับ HTTP เฉพาะสำหรับเป้าหมายส่วนตัวเหล่านั้น FIRECRAWL_BASE_URLเป็นค่าสภาพแวดล้อมสำรองที่ใช้ร่วมกันสำหรับ URL ฐานของการค้นหาและการดึงข้อมูลด้วย Firecrawl- คำขอค้นหาของ Firecrawl มีระยะหมดเวลาเริ่มต้น 30 วินาที ส่วนพารามิเตอร์
timeoutSecondsของfirecrawl_searchจะกำหนดค่าทับเป็นรายคำขอ
กำหนดค่าตัวสำรอง web_fetch ของ Firecrawl
{ tools: { web: { fetch: { provider: "firecrawl", // การเลือกอย่างชัดเจนจะเปิดใช้ตัวสำรองแบบไม่ใช้คีย์ }, }, }, plugins: { entries: { firecrawl: { enabled: true, config: { webFetch: { baseUrl: "https://api.firecrawl.dev", onlyMainContent: true, maxAgeMs: 172800000, timeoutSeconds: 60, }, }, }, }, },}หมายเหตุ:
- ตัวสำรอง
web_fetchของ Firecrawl ที่เลือกไว้อย่างชัดเจนทำงานได้โดยไม่ต้องใช้คีย์ API เมื่อกำหนดค่าแล้ว OpenClaw จะส่งplugins.entries.firecrawl.config.webFetch.apiKeyหรือFIRECRAWL_API_KEYเพื่อใช้ขีดจำกัดที่สูงขึ้น - การเลือก Firecrawl ระหว่างการเริ่มต้นใช้งานหรือผ่าน
openclaw configure --section webจะเปิดใช้งาน Plugin และเลือก Firecrawl สำหรับweb_fetchเว้นแต่จะกำหนดค่าผู้ให้บริการดึงข้อมูลรายอื่นไว้แล้ว firecrawl_scrapeต้องใช้คีย์ APImaxAgeMsควบคุมอายุสูงสุดของผลลัพธ์ที่แคชไว้ (มิลลิวินาที) ค่าเริ่มต้นคือ 172,800,000 มิลลิวินาที (2 วัน)- ค่าเริ่มต้นของ
onlyMainContentคือtrueและค่าเริ่มต้นของtimeoutSecondsคือ 60 - การกำหนดค่าแบบเดิม
tools.web.fetch.firecrawl.*และtools.web.search.firecrawl.*จะถูกย้ายโดยอัตโนมัติด้วยopenclaw doctor --fix - การกำหนดค่าทับ URL สำหรับการดึงข้อมูลและ URL ฐานของ Firecrawl ใช้กฎบริการแบบโฮสต์/ส่วนตัวเดียวกับการค้นหา กล่าวคือ ทราฟฟิกสาธารณะแบบโฮสต์ใช้
https://api.firecrawl.devส่วนการกำหนดค่าทับด้วยบริการที่โฮสต์เองต้องชี้ไปยังปลายทางส่วนตัวหรือภายใน firecrawl_scrapeจะปฏิเสธ URL เป้าหมายที่เห็นได้ชัดว่าเป็นแบบส่วนตัว, local loopback, เมทาดาทา หรือไม่ใช่ HTTP(S) ก่อนส่งต่อไปยัง Firecrawl ซึ่งสอดคล้องกับข้อกำหนดด้านความปลอดภัยของเป้าหมายในweb_fetchสำหรับการเรียกใช้การดึงข้อมูลด้วย Firecrawl แบบระบุโดยตรง
firecrawl_scrape ใช้การตั้งค่าและตัวแปรสภาพแวดล้อม plugins.entries.firecrawl.config.webFetch.* ชุดเดียวกันซ้ำ รวมถึงคีย์ API ที่จำเป็น
Firecrawl ที่โฮสต์เอง
กำหนด plugins.entries.firecrawl.config.webSearch.baseUrl, plugins.entries.firecrawl.config.webFetch.baseUrl หรือ FIRECRAWL_BASE_URL เมื่อคุณเรียกใช้ Firecrawl ด้วยตนเอง OpenClaw ยอมรับ http:// เฉพาะเป้าหมาย local loopback, เครือข่ายส่วนตัว, .local, .internal หรือ .localhost เท่านั้น ระบบจะปฏิเสธโฮสต์แบบกำหนดเองที่เป็นสาธารณะ เพื่อป้องกันไม่ให้คีย์ API ของ Firecrawl ถูกส่งไปยังปลายทางใด ๆ โดยไม่ตั้งใจ
เครื่องมือ Plugin ของ Firecrawl
firecrawl_search
ใช้เมื่อต้องการตัวควบคุมการค้นหาเฉพาะของ Firecrawl แทน web_search แบบทั่วไป
พารามิเตอร์:
querycountsourcescategoriesscrapeResultstimeoutSeconds
firecrawl_scrape
ใช้สำหรับหน้าเว็บที่ใช้ JS มากหรือมีการป้องกันบอต ซึ่ง web_fetch แบบทั่วไปทำงานได้ไม่ดี
พารามิเตอร์:
urlextractModemaxCharsonlyMainContentmaxAgeMsproxystoreInCachetimeoutSeconds
การทำงานแบบซ่อนตัว / การหลบเลี่ยงบอต
ค่าเริ่มต้นของ firecrawl_scrape และตัวสำรอง Firecrawl สำหรับ web_fetch คือ proxy: "auto" ร่วมกับ storeInCache: true เว้นแต่ผู้เรียกจะกำหนดค่าทับพารามิเตอร์เหล่านั้น firecrawl_search และผู้ให้บริการ Firecrawl สำหรับ web_search ไม่มีตัวควบคุม proxy/storeInCache โดยโหมดพร็อกซีแบบซ่อนตัวจะมีผลกับคำขอดึงข้อมูลหรือดึงหน้าเว็บเท่านั้น
โหมด proxy ของ Firecrawl ควบคุมการหลบเลี่ยงบอต (basic, stealth หรือ auto) โดย auto จะลองใหม่ด้วยพร็อกซีแบบซ่อนตัวหากการลองแบบพื้นฐานล้มเหลว ซึ่งอาจใช้เครดิตมากกว่าการดึงข้อมูลแบบพื้นฐานเพียงอย่างเดียว
วิธีที่ web_fetch ใช้ Firecrawl
ลำดับการแยกเนื้อหาของ web_fetch:
- Readability (ภายในเครื่อง)
- ผู้ให้บริการดึงข้อมูลที่กำหนดค่าไว้ เช่น Firecrawl (เมื่อถูกเลือกหรือตรวจพบโดยอัตโนมัติจากข้อมูลรับรองที่กำหนดค่าไว้)
- การล้าง HTML ขั้นพื้นฐาน (ตัวสำรองสุดท้าย)
ตัวเลือกสำหรับการเลือกคือ tools.web.fetch.provider หากไม่ระบุ OpenClaw จะตรวจหาผู้ให้บริการดึงข้อมูลเว็บรายแรกที่พร้อมใช้งานโดยอัตโนมัติจากข้อมูลรับรองที่มีอยู่ Plugin Firecrawl อย่างเป็นทางการมีตัวสำรองนี้ให้
เนื้อหาที่เกี่ยวข้อง
- ภาพรวมการค้นหาเว็บ -- ผู้ให้บริการทั้งหมดและการตรวจหาอัตโนมัติ
- การดึงข้อมูลเว็บ -- เครื่องมือ
web_fetchพร้อมตัวสำรอง Firecrawl - Tavily -- เครื่องมือค้นหาและแยกเนื้อหา