Aller au contenu principal

Classe FirecrawlBrowser

La classe FirecrawlBrowser fournit une automatisation de navigateur fondée sur le Firecrawl Browser Sandbox. Elle provisionne des sessions de navigateur distantes au moyen de l’API Firecrawl et s’y connecte par le Chrome DevTools Protocol (CDP).

FirecrawlBrowser étend AgentBrowser et expose le même ensemble de Tools déterministes. Utilisez-le lorsque vous souhaitez des sessions de navigateur hébergées plutôt qu’une installation locale de Chromium. Pour l’automatisation locale, consultez AgentBrowser. Pour les interactions en langage naturel assistées par l’IA, consultez StagehandBrowser.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

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,
})

Paramètres du constructeur
Lien direct vers Paramètres du constructeur

FirecrawlBrowser accepte tous les paramètres du constructeur d’AgentBrowser, ainsi que les paramètres suivants :

apiKey?:

string
Clé d’API Firecrawl. Utilise par défaut la variable d’environnement FIRECRAWL_API_KEY. Le constructeur génère une erreur si aucune des deux n’est définie.

apiUrl?:

string
URL de base d’une API Firecrawl auto-hébergée.

firecrawl?:

FirecrawlBrowserSessionOptions
Options de session transmises à l’API Firecrawl browser() lors de la création de sessions Sandbox.
FirecrawlBrowserSessionOptions

ttl?:

number
Durée de vie maximale de la session, en secondes.

activityTtl?:

number
Délai d’inactivité, en secondes, avant que le Sandbox ne recycle la session.

streamWebView?:

boolean
Lorsque la valeur est true, Firecrawl peut diffuser les frames WebView de la session distante.

profile?:

{ name: string; saveChanges?: boolean }
Profil de Sandbox Firecrawl nommé. Définissez saveChanges: true pour conserver les cookies et l’état de connexion à la fin de la session ; le simple fait de nommer un profil n’enregistre pas les modifications. Ce profil est distinct de l’option profile de niveau supérieur d’AgentBrowser, qui correspond au chemin d’un répertoire local de données utilisateur Playwright.

integration?:

string
Libellé d’intégration destiné aux analyses et au routage de Firecrawl.

origin?:

string
Indication d’origine de la session de navigateur Firecrawl.

Cycle de vie des sessions
Lien direct vers Cycle de vie des sessions

Le provisionnement des sessions dépend de l’option scope héritée d’AgentBrowser :

  • 'thread' (par défaut) : chaque fil de discussion dispose de sa propre session de Sandbox Firecrawl, créée lors de la première utilisation et supprimée lorsque la session de navigateur du fil est détruite.
  • 'shared' : une session de Sandbox Firecrawl est créée au lancement du navigateur et partagée entre tous les fils de discussion. La session est supprimée à la fermeture du navigateur.

Dans les deux cas, FirecrawlBrowser supprime la session Firecrawl distante lorsque le navigateur se ferme, y compris si la création de la session ou la connexion échoue en cours de route.

Tools
Lien direct vers Tools

FirecrawlBrowser fournit le même ensemble de Tools qu’AgentBrowser, notamment browser_goto, browser_snapshot, browser_click, browser_type et browser_screenshot. Consultez la référence des Tools d’AgentBrowser pour obtenir la liste complète et les paramètres des Tools.