Firecrawl
Le package @mastra/browser-firecrawl fournit une automatisation de navigateur avec Firecrawl Browser Sandbox. Il provisionne des sessions de navigateur distantes via l’API Firecrawl et les pilote avec les mêmes tools déterministes privilégiant l’accessibilité qu’AgentBrowser.
FirecrawlBrowser étend AgentBrowser ; les agents disposent donc du même ensemble de tools, notamment browser_goto, browser_snapshot et browser_click, tandis que le navigateur s’exécute dans l’infrastructure hébergée de Firecrawl. Aucune installation locale de Chromium n’est nécessaire.
Quand utiliser FirecrawlLien direct vers Quand utiliser Firecrawl
Utilisez Firecrawl lorsque vous avez besoin :
- De sessions de navigateur hébergées sans gérer de binaires Chromium locaux
- D’automatisation de navigateur dans des environnements incapables de lancer un navigateur local
- D’une isolation de sandbox par thread avec nettoyage automatique des sessions
- De profils Firecrawl nommés qui conservent les cookies et l’état de connexion entre les sessions
Démarrage rapideLien direct vers Démarrage rapide
Installez le package :
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/browser-firecrawl
pnpm add @mastra/browser-firecrawl
yarn add @mastra/browser-firecrawl
bun add @mastra/browser-firecrawl
Définissez votre clé d’API Firecrawl :
FIRECRAWL_API_KEY=fc-...
Créez une instance de navigateur et attribuez-la à un agent :
import { Agent } from '@mastra/core/agent'
import { FirecrawlBrowser } from '@mastra/browser-firecrawl'
const browser = new FirecrawlBrowser({
apiKey: process.env.FIRECRAWL_API_KEY,
})
export const firecrawlAgent = new Agent({
id: 'firecrawl-agent',
name: 'Firecrawl Agent',
model: 'openai/gpt-5.6-sol',
browser,
instructions: `You are a web automation assistant.
When interacting with pages:
1. Use browser_snapshot to get the current page state and element refs
2. Use the refs (like @e1, @e2) to target elements for clicks and typing
3. After actions, take another snapshot to verify the result`,
})
Si apiKey est omis, le provider lit FIRECRAWL_API_KEY depuis l’environnement.
Portée de sessionLien direct vers Portée de session
FirecrawlBrowser suit la même option scope qu’AgentBrowser :
'thread'(par défaut) : chaque thread de conversation reçoit sa propre session de sandbox Firecrawl. Les sessions sont supprimées lorsque le navigateur du thread se ferme.'shared': une session de sandbox Firecrawl est partagée entre tous les threads et supprimée lorsque le navigateur se ferme.
const browser = new FirecrawlBrowser({
scope: 'shared',
})
Options de sessionLien direct vers Options de session
Transmettez les options de session propres à Firecrawl sous la clé firecrawl. Elles correspondent à l’API Firecrawl browser() :
const browser = new FirecrawlBrowser({
firecrawl: {
ttl: 600,
activityTtl: 120,
profile: {
name: 'my-profile',
saveChanges: true,
},
},
})
ttl: durée de vie maximale de la session, en secondes.activityTtl: délai d’inactivité, en secondes, avant que Firecrawl ne recycle la session.profile: profil Firecrawl nommé qui conserve les cookies et l’état de connexion. DéfinissezsaveChanges: truepour enregistrer les modifications du profil à la fin de la session.
L’option imbriquée firecrawl.profile désigne un profil stocké dans l’infrastructure Firecrawl. Elle est différente de l’option profile de niveau supérieur héritée d’AgentBrowser, qui correspond à un chemin local de répertoire de données utilisateur Playwright.
Firecrawl auto-hébergéLien direct vers Firecrawl auto-hébergé
Pour utiliser une API Firecrawl auto-hébergée, définissez apiUrl :
const browser = new FirecrawlBrowser({
apiUrl: 'https://firecrawl.internal.example.com',
})