> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Présentation du navigateur La prise en charge du navigateur permet aux Agents de parcourir des sites web, d’interagir avec les éléments des pages, de remplir des formulaires et d’extraire des données. Mastra fournit ces fonctionnalités par l’intermédiaire de Providers SDK qui encapsulent des bibliothèques d’automatisation du navigateur, ainsi que d’un Provider CLI pour les Agents qui pilotent les navigateurs avec des Tools en ligne de commande. Mastra prend en charge trois Providers SDK et un Provider CLI : - [**AgentBrowser**](https://mastra.zisheng.pro/fr/docs/browser/agent-browser) : Provider fondé sur Playwright qui cible les éléments en privilégiant l’accessibilité. Idéal pour l’automatisation générale du web et le scraping. - [**Stagehand**](https://mastra.zisheng.pro/fr/docs/browser/stagehand) : Provider Browserbase doté d’une détection des éléments assistée par l’IA. Idéal pour les interactions complexes qui bénéficient de sélecteurs en langage naturel. - [**FirecrawlBrowser**](https://mastra.zisheng.pro/fr/docs/browser/firecrawl) : Provider Firecrawl Browser Sandbox qui exécute les Tools AgentBrowser sur des sessions de navigateur hébergées. Idéal pour automatiser des sessions hébergées sans gérer d’infrastructure locale de navigateur. - [**BrowserViewer**](https://mastra.zisheng.pro/fr/docs/browser/browser-viewer) : Provider CLI qui lance Chrome et injecte des URL CDP dans des Tools CLI tels qu’agent-browser, browser-use et browse. Idéal pour les Agents de Workspace qui pilotent des navigateurs au moyen de commandes shell. - [**Enregistrement du navigateur (alpha)**](https://mastra.zisheng.pro/fr/docs/browser/recording) : couche de Tools facultative qui enregistre les sessions sous forme de vidéos AVI Motion-JPEG avec des légendes facultatives. ## Quand utiliser le navigateur Utilisez le navigateur lorsque votre Agent doit : - Parcourir des sites web et interagir avec les éléments des pages - Remplir des formulaires et envoyer des données - Extraire des données structurées depuis des pages web - Automatiser des Workflows web à plusieurs étapes - Effectuer des actions nécessitant un véritable navigateur (rendu JavaScript, flux d’authentification) ## Fonctionnement Lorsque vous attribuez un navigateur à un Agent, Mastra ajoute les Tools du Provider à l’ensemble de Tools de l’Agent. Celui-ci les utilise pour contrôler le navigateur : accéder à des URL, sélectionner des éléments, saisir du texte et lire le contenu des pages. Chaque Provider propose un ensemble de Tools différent, optimisé pour son approche. ## Démarrage rapide Installez le Provider de votre choix. Cet exemple utilise AgentBrowser. **npm**: ```bash npm install @mastra/agent-browser ``` **pnpm**: ```bash pnpm add @mastra/agent-browser ``` **Yarn**: ```bash yarn add @mastra/agent-browser ``` **Bun**: ```bash bun add @mastra/agent-browser ``` Créez une instance de navigateur : ```typescript import { AgentBrowser } from '@mastra/agent-browser' export const browser = new AgentBrowser({ headless: false, }) ``` Attribuez le navigateur à un Agent : ```typescript import { Agent } from '@mastra/core/agent' import { browser } from '../browsers' export const webAgent = new Agent({ id: 'web-agent', name: 'Web Agent', description: 'A web automation assistant that can navigate websites and complete tasks.', model: 'openai/gpt-5.6-sol', browser, instructions: 'You are a web automation assistant. Use browser tools to navigate websites and complete tasks.', }) ``` L’Agent reçoit automatiquement tous les Tools de navigateur du Provider. ## Providers cloud Tous les Providers SDK peuvent se connecter à des services de navigateur cloud au lieu de lancer un navigateur local. ### Firecrawl Browser Sandbox (FirecrawlBrowser native) FirecrawlBrowser provisionne des sessions hébergées via l’API Firecrawl : ```typescript import { FirecrawlBrowser } from '@mastra/browser-firecrawl' const browser = new FirecrawlBrowser({ apiKey: process.env.FIRECRAWL_API_KEY, }) ``` ### Browserbase (Stagehand native) Stagehand intègre nativement Browserbase : ```typescript import { StagehandBrowser } from '@mastra/stagehand' const browser = new StagehandBrowser({ env: 'BROWSERBASE', apiKey: process.env.BROWSERBASE_API_KEY, projectId: process.env.BROWSERBASE_PROJECT_ID, }) ``` ### URL CDP (tout Provider) Connectez-vous à tout navigateur qui expose un point de terminaison Chrome DevTools Protocol (CDP) : ```typescript import { AgentBrowser } from '@mastra/agent-browser' const browser = new AgentBrowser({ cdpUrl: process.env.BROWSER_CDP_URL, headless: true, }) ``` Cette méthode fonctionne avec tout service de navigateur [compatible avec CDP](https://chromedevtools.github.io/devtools-protocol/). ## Screencast Les Providers de navigateur diffusent un flux vidéo en direct dans l’interface Mastra Studio. Vous pouvez ainsi observer en temps réel les interactions de l’Agent avec les pages. La diffusion d’écran nécessite la prise en charge de WebSocket. Installez les packages suivants dans votre projet : **npm**: ```bash npm install ws @hono/node-ws ``` **pnpm**: ```bash pnpm add ws @hono/node-ws ``` **Yarn**: ```bash yarn add ws @hono/node-ws ``` **Bun**: ```bash bun add ws @hono/node-ws ``` > **Remarque:** Ces packages ne sont pas inclus par défaut, car ils sont incompatibles avec les environnements serverless tels que Cloudflare Workers. S’ils ne sont pas installés, la diffusion d’écran est désactivée, mais toutes les autres fonctionnalités du navigateur continuent de fonctionner normalement. La diffusion d’écran est activée par défaut et peut être configurée : ```typescript const browser = new AgentBrowser({ screencast: { enabled: true, format: 'jpeg', quality: 80, maxWidth: 1280, maxHeight: 720, }, }) ``` ## Étapes suivantes - [AgentBrowser](https://mastra.zisheng.pro/fr/docs/browser/agent-browser) - [Stagehand](https://mastra.zisheng.pro/fr/docs/browser/stagehand) - [Firecrawl](https://mastra.zisheng.pro/fr/docs/browser/firecrawl) - [Enregistrement du navigateur (alpha)](https://mastra.zisheng.pro/fr/docs/browser/recording) - [BrowserViewer](https://mastra.zisheng.pro/fr/docs/browser/browser-viewer) - [Référence de MastraBrowser](https://mastra.zisheng.pro/fr/reference/browser/mastra-browser) - 📹 [Atelier sur les fonctionnalités de navigateur de Mastra](https://www.youtube.com/watch?v=E9KFsZEnQO8\&t=5s)