> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # ProcessorProvider `ProcessorProvider` 是套件用來向 [`MastraEditor`](https://mastra.zisheng.pro/zh-TW/reference/editor/mastra-editor) 註冊可設定處理器的介面。Processor Provider 有兩個用途: 1. \*\*探索:\*\*UI 使用 `info`、`configSchema` 和 `availablePhases` 呈現設定表單。 2. \*\*執行階段:\*\*Editor 會在 Agent 具現化期間呼叫 `createProcessor(config)`,依照已儲存的設定建立處理器執行個體。 Provider 透過 `MastraEditorConfig.processorProviders` 提供。 ## 使用範例 ```typescript import { MastraEditor } from '@mastra/editor' import { moderationProcessorProvider } from '@mastra/processors/moderation' new MastraEditor({ processorProviders: { moderation: moderationProcessorProvider, }, }) ``` ## 屬性 **info** (`ProcessorProviderInfo`): Provider 的中繼資料。 **info.id** (`string`): 唯一識別碼(例如 "moderation"、"token-limiter")。 **info.name** (`string`): 方便使用者閱讀的名稱。 **info.description** (`string`): Provider 的簡短說明。 **configSchema** (`ZodSchema`): 描述此 Provider 所接受設定的 Zod schema。UI 會用它呈現表單。驗證過的設定物件會傳給 createProcessor()。 **availablePhases** (`ProcessorPhase[]`): 此 Provider 的處理器支援的階段。可包含下列一或多個值:'processInput'、'processInputStep'、'processOutputStream'、'processOutputResult'、'processOutputStep'。 **createProcessor** (`(config: Record) => Processor`): 從驗證過的設定建立 Processor 執行個體。在 Agent 具現化期間呼叫,以將已儲存的處理器設定解析為可用的執行個體。 ## 實作 Provider ```typescript import type { ProcessorProvider } from '@mastra/core/processor-provider' import { z } from 'zod' import { MyProcessor } from './my-processor-impl' export const myProcessorProvider: ProcessorProvider = { info: { id: 'my-processor', name: 'My Processor', description: 'Filters output for sensitive content.', }, configSchema: z.object({ threshold: z.number().min(0).max(1), }), availablePhases: ['processOutputStream', 'processOutputResult'], createProcessor(config) { return new MyProcessor(config as { threshold: number }) }, } ``` ## 相關內容 - [MastraEditor 類別](https://mastra.zisheng.pro/zh-TW/reference/editor/mastra-editor):Provider 登錄表。