BrowserProvider
BrowserProvider est l’interface qu’un package implémente pour enregistrer un navigateur auprès de MastraEditor. 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 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’utilisationLien direct vers Exemple d’utilisation
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { stagehandBrowserProvider } from '@mastra/stagehand'
new MastraEditor({
browsers: {
[stagehandBrowserProvider.id]: stagehandBrowserProvider,
},
})
PropriétésLien direct vers 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<string, unknown>
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<MastraBrowser>
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 fournisseurLien direct vers Implémenter un fournisseur
src/providers/my-browser.ts
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<MastraBrowser> {
// 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 :
new MastraEditor({
browsers: { [myBrowserProvider.id]: myBrowserProvider },
builder: {
enabled: true,
configuration: {
agent: {
browser: { type: 'inline', config: { provider: 'my-browser' } },
},
},
},
})
Voir aussiLien direct vers Voir aussi
- Browser : concept et exemples détaillés.
- StorageBrowserRef : configuration enregistrée utilisée par
createBrowser. - Classe MastraEditor : registre des fournisseurs.