> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # BrowserProvider `BrowserProvider` 是套件用來向 [`MastraEditor`](https://mastra.zisheng.pro/zh-TW/reference/editor/mastra-editor) 註冊瀏覽器的介面。Editor 會在 Agent 具現化時呼叫 `createBrowser(config)`,並將已儲存 [`StorageBrowserRef`](https://mastra.zisheng.pro/zh-TW/reference/editor/storage-browser-ref) 中的 `provider` ID 作為查詢鍵。 目前沒有內建的瀏覽器 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 具現化時呼叫一次;產生的執行個體會與 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-TW/reference/editor/storage-browser-ref):`createBrowser` 使用的已儲存設定。 - [MastraEditor 類別](https://mastra.zisheng.pro/zh-TW/reference/editor/mastra-editor):Provider 登錄表。