> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-HK/llms.txt # ProcessorProvider `ProcessorProvider` 是套件用來向 [`MastraEditor`](https://mastra.zisheng.pro/zh-HK/reference/editor/mastra-editor) 註冊可配置 processor 的介面。Processor Provider 有兩個用途: 1. **探索:** UI 使用 `info`、`configSchema` 及 `availablePhases` 呈現配置表單。 2. **執行階段:** Editor 在 Agent hydrate 期間呼叫 `createProcessor(config)`,從已儲存配置建立 processor 實例。 Provider 透過 `MastraEditorConfig.processorProviders` 提供。 ## 使用範例 ```typescript import { MastraEditor } from '@mastra/editor' import { moderationProcessorProvider } from '@mastra/processors/moderation' new MastraEditor({ processorProviders: { moderation: moderationProcessorProvider, }, }) ``` ## 屬性 **info** (`ProcessorProviderInfo`): Provider 的 metadata。 **info.id** (`string`): 唯一標識符(例如 "moderation"、"token-limiter")。 **info.name** (`string`): 方便使用者閱讀的名稱。 **info.description** (`string`): Provider 的簡短描述。 **configSchema** (`ZodSchema`): 描述此 Provider 接受的配置之 Zod schema。UI 會使用它呈現表單。經驗證的配置物件會傳給 createProcessor()。 **availablePhases** (`ProcessorPhase[]`): 此 Provider 的 processor 支援的階段。可包含一個或多個 'processInput'、'processInputStep'、'processOutputStream'、'processOutputResult'、'processOutputStep'。 **createProcessor** (`(config: Record) => Processor`): 從經驗證的配置建立 Processor 實例。在 Agent hydrate 期間呼叫,以將已儲存的 processor 配置解析成實際實例。 ## 實作 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-HK/reference/editor/mastra-editor):Provider registry。