> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # BrowserProvider `BrowserProvider` 是包用来向 [`MastraEditor`](https://mastra.zisheng.pro/reference/editor/mastra-editor) 注册 browser 的接口。Editor 会在 Agent 实例化时调用 `createBrowser(config)`,并使用已存储 [`StorageBrowserRef`](https://mastra.zisheng.pro/reference/editor/storage-browser-ref) 中的 `provider` id 作为查找键。 没有可用的内置 browser Provider。要在 Agent Builder 中使用 `browser` 功能,请注册一个 Provider 包(例如 `@mastra/stagehand`)。 ## 使用示例 ```typescript import { MastraEditor } from '@mastra/editor' import { stagehandBrowserProvider } from '@mastra/stagehand' new MastraEditor({ browsers: { [stagehandBrowserProvider.id]: stagehandBrowserProvider, }, }) ``` ## 属性 **id** (`string`): 唯一的 Provider 标识符(例如 "stagehand")。必须与使用此 Provider 的每个已存储 Agent 上的 StorageBrowserConfig.provider 一致。 **name** (`string`): 在 UI 中显示的易读名称。 **description** (`string`): Agent Builder browser 选择器中显示的简短描述。 **configSchema** (`Record`): 描述 Provider 专用配置的 JSON Schema。UI 使用它渲染配置表单。 **createBrowser** (`(config: TConfig) => MastraBrowser | Promise`): 根据已存储配置创建运行时 MastraBrowser 实例。每次 Agent 实例化时调用一次;生成的实例会与 Agent 一起缓存。 ## 实现 Provider ```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 }) }, } ``` 注册后,管理员可以通过 [`BuilderAgentDefaults.browser`](https://agent-builder.mastra.ai/reference/builder-agent-defaults) 将该 Provider 固定为 Builder 默认值: ```typescript new MastraEditor({ browsers: { [myBrowserProvider.id]: myBrowserProvider }, builder: { enabled: true, configuration: { agent: { browser: { type: 'inline', config: { provider: 'my-browser' } }, }, }, }, }) ``` ## 相关内容 - [Browser](https://agent-builder.mastra.ai/browser):概念和完整示例。 - [StorageBrowserRef](https://mastra.zisheng.pro/reference/editor/storage-browser-ref):由 `createBrowser` 使用的已存储配置。 - [MastraEditor 类](https://mastra.zisheng.pro/reference/editor/mastra-editor):Provider 注册表。