> Discover all available pages from the documentation index: https://mastra.zisheng.pro/llms.txt # ProcessorProvider `ProcessorProvider` 是包用来向 [`MastraEditor`](https://mastra.zisheng.pro/reference/editor/mastra-editor) 注册可配置 Processor 的接口。Processor Provider 有两个用途: 1. **发现:** UI 使用 `info`、`configSchema` 和 `availablePhases` 渲染配置表单。 2. **运行时:** Editor 在 Agent 实例化期间调用 `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 的元数据。 **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 实例化期间调用,将已存储的 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/reference/editor/mastra-editor):Provider 注册表。