跳至主要內容

FirecrawlBrowser 類別

FirecrawlBrowser 類別提供由 Firecrawl Browser Sandbox 支援的瀏覽器自動化功能。它會透過 Firecrawl API 建立遠端瀏覽器工作階段,並使用 Chrome DevTools Protocol (CDP) 連線。

FirecrawlBrowser 擴充了 AgentBrowser,並提供相同的確定性 Tool 集。想使用託管瀏覽器工作階段,而非在本機安裝 Chromium 時,請使用它。如需本機自動化,請參閱 AgentBrowser。如需使用自然語言的 AI 互動,請參閱 StagehandBrowser

使用範例
使用範例 的直接連結

src/mastra/agents/index.ts
import { Agent } from '@mastra/core/agent'
import { FirecrawlBrowser } from '@mastra/browser-firecrawl'

const browser = new FirecrawlBrowser({
apiKey: process.env.FIRECRAWL_API_KEY,
firecrawl: {
ttl: 600,
},
})

export const browserAgent = new Agent({
id: 'browser-agent',
name: 'Browser Agent',
instructions: `You can browse the web. Use browser_snapshot to see the page structure,
then interact with elements using their refs (e.g., @e5).`,
model: 'openai/gpt-5.6-sol',
browser,
})

建構函數參數
建構函數參數 的直接連結

FirecrawlBrowser 接受所有 AgentBrowser 建構函數參數,以及以下參數:

apiKey?:

string
Firecrawl API 金鑰。未有提供時,會改用 FIRECRAWL_API_KEY 環境變數。如兩者均未設定,建構函數便會拋出錯誤。

apiUrl?:

string
自行託管 Firecrawl API 的基礎 URL。

firecrawl?:

FirecrawlBrowserSessionOptions
建立 Sandbox 工作階段時,傳遞至 Firecrawl browser() API 的工作階段選項。
FirecrawlBrowserSessionOptions

ttl?:

number
工作階段的最長存續時間(秒)。

activityTtl?:

number
Sandbox 回收工作階段前的閒置逾時時間(秒)。

streamWebView?:

boolean
設為 true 時,Firecrawl 可串流遠端工作階段的 WebView 畫面。

profile?:

{ name: string; saveChanges?: boolean }
具名的 Firecrawl Sandbox 設定檔。設置 saveChanges: true,可在工作階段結束時保留 Cookie 和登入狀態;單純為設定檔命名並不會儲存變更。這與最上層的 AgentBrowser profile 選項不同,後者是本機 Playwright 使用者資料目錄的路徑。

integration?:

string
供 Firecrawl 分析及路由使用的整合標籤。

origin?:

string
Firecrawl 瀏覽器工作階段的來源提示。

工作階段生命週期
工作階段生命週期 的直接連結

工作階段的建立方式取決於從 AgentBrowser 繼承的 scope 選項:

  • 'thread'(預設):每個對話執行緒都有自己的 Firecrawl Sandbox 工作階段。工作階段會在首次使用時建立,並在該執行緒的瀏覽器工作階段銷毀時刪除。
  • 'shared':瀏覽器啟動時會建立一個 Firecrawl Sandbox 工作階段,供所有執行緒共用。瀏覽器關閉時,工作階段亦會刪除。

無論是哪種情況,瀏覽器關閉時,FirecrawlBrowser 都會刪除遠端 Firecrawl 工作階段;即使建立工作階段或連線期間發生失敗,亦會如此。

Tool
Tool 的直接連結

FirecrawlBrowser 提供與 AgentBrowser 相同的 Tool 集,包括 browser_gotobrowser_snapshotbrowser_clickbrowser_typebrowser_screenshot。如需完整清單及 Tool 參數,請參閱 AgentBrowser Tool 參考