> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # BrowserProvider `BrowserProvider` est l’interface qu’un package implémente pour enregistrer un navigateur auprès de [`MastraEditor`](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor). L’Editor appelle `createBrowser(config)` lors de l’hydratation de l’Agent et utilise comme clé de recherche l’ID `provider` de l’objet [`StorageBrowserRef`](https://mastra.zisheng.pro/fr/reference/editor/storage-browser-ref) enregistré. Aucun fournisseur de navigateur intégré n’est disponible. Pour utiliser la fonctionnalité `browser` dans l’Agent Builder, enregistrez un package de fournisseur, tel que `@mastra/stagehand`. ## Exemple d’utilisation ```typescript import { MastraEditor } from '@mastra/editor' import { stagehandBrowserProvider } from '@mastra/stagehand' new MastraEditor({ browsers: { [stagehandBrowserProvider.id]: stagehandBrowserProvider, }, }) ``` ## Propriétés **id** (`string`): Identifiant unique du fournisseur (par exemple, "stagehand"). Il doit correspondre à StorageBrowserConfig.provider dans chaque Agent enregistré qui utilise ce fournisseur. **name** (`string`): Nom lisible affiché dans l’interface utilisateur. **description** (`string`): Courte description affichée dans le sélecteur de navigateur de l’Agent Builder. **configSchema** (`Record`): JSON Schema décrivant la configuration propre au fournisseur. Utilisé par l’interface utilisateur pour afficher les formulaires de configuration. **createBrowser** (`(config: TConfig) => MastraBrowser | Promise`): Crée une instance MastraBrowser à l’exécution à partir de la configuration enregistrée. Cette méthode est appelée une fois par hydratation d’Agent ; l’instance obtenue est mise en cache avec l’Agent. ## Implémenter un fournisseur ```typescript import type { BrowserProvider, MastraBrowser } from '@mastra/core/editor' export const myBrowserProvider: BrowserProvider<{ apiKey: string }> = { id: 'my-browser', name: 'My Browser', description: 'Headless browser for agent use.', configSchema: { type: 'object', properties: { apiKey: { type: 'string' }, }, required: ['apiKey'], }, async createBrowser(config): Promise { // construct and return a MastraBrowser instance return createMastraBrowser({ apiKey: config.apiKey }) }, } ``` Une fois le fournisseur enregistré, les administrateurs peuvent le définir comme valeur par défaut du Builder au moyen de [`BuilderAgentDefaults.browser`](https://agent-builder.mastra.ai/reference/builder-agent-defaults) : ```typescript new MastraEditor({ browsers: { [myBrowserProvider.id]: myBrowserProvider }, builder: { enabled: true, configuration: { agent: { browser: { type: 'inline', config: { provider: 'my-browser' } }, }, }, }, }) ``` ## Voir aussi - [Browser](https://agent-builder.mastra.ai/browser) : concept et exemples détaillés. - [StorageBrowserRef](https://mastra.zisheng.pro/fr/reference/editor/storage-browser-ref) : configuration enregistrée utilisée par `createBrowser`. - [Classe MastraEditor](https://mastra.zisheng.pro/fr/reference/editor/mastra-editor) : registre des fournisseurs.