> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # BrowserProvider `BrowserProvider` 是套件用來向 [`MastraEditor`](https://mastra.zisheng.pro/zh-HK/reference/editor/mastra-editor) 註冊瀏覽器的介面。Editor 會在 Agent hydrate 時呼叫 `createBrowser(config)`,並以已儲存 [`StorageBrowserRef`](https://mastra.zisheng.pro/zh-HK/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 瀏覽器選擇器中顯示的簡短描述。 **configSchema** (`Record`): 描述 Provider 專屬配置的 JSON Schema。UI 會使用它呈現配置表單。 **createBrowser** (`(config: TConfig) => MastraBrowser | Promise`): 從已儲存的配置建立執行階段 MastraBrowser 實例。每次 Agent hydrate 時呼叫一次;產生的實例會連同 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/zh-HK/reference/editor/storage-browser-ref):`createBrowser` 使用的已儲存配置。 - [MastraEditor 類別](https://mastra.zisheng.pro/zh-HK/reference/editor/mastra-editor):Provider registry。