ProcessorProvider
ProcessorProvider 是套件用來向 MastraEditor 註冊可設定處理器的介面。Processor Provider 有兩個用途:
- **探索:**UI 使用
info、configSchema和availablePhases呈現設定表單。 - **執行階段:**Editor 會在 Agent 具現化期間呼叫
createProcessor(config),依照已儲存的設定建立處理器執行個體。
Provider 透過 MastraEditorConfig.processorProviders 提供。
使用範例「使用範例」的直接連結
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { moderationProcessorProvider } from '@mastra/processors/moderation'
new MastraEditor({
processorProviders: {
moderation: moderationProcessorProvider,
},
})
屬性「屬性」的直接連結
info:
ProcessorProviderInfo
Provider 的中繼資料。
id:
string
唯一識別碼(例如
"moderation"、"token-limiter")。name:
string
方便使用者閱讀的名稱。
description?:
string
Provider 的簡短說明。
configSchema:
ZodSchema
描述此 Provider 所接受設定的 Zod schema。UI 會用它呈現表單。驗證過的設定物件會傳給
createProcessor()。availablePhases:
ProcessorPhase[]
此 Provider 的處理器支援的階段。可包含下列一或多個值:
'processInput'、'processInputStep'、'processOutputStream'、'processOutputResult'、'processOutputStep'。createProcessor:
(config: Record<string, unknown>) => Processor
從驗證過的設定建立
Processor 執行個體。在 Agent 具現化期間呼叫,以將已儲存的處理器設定解析為可用的執行個體。實作 Provider「實作 Provider」的直接連結
src/providers/my-processor.ts
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 類別:Provider 登錄表。