Processors
File-based Agent 从自身的 processors/ 目录发现处理器。本页介绍基于文件的约定;有关内置处理器、自定义处理器、流式行为和高级模式,请参阅处理器指南。
processors/input/ 下的文件会在消息到达模型之前运行。processors/output/ 下的文件会在模型响应后运行。每个文件默认导出一个 Processor,文件名则成为其发现键。
快速开始快速开始的直接链接
将处理器文件放在 processors/input/ 下,即可添加输入处理器:
src/mastra/agents/weather/processors/input/pii.ts
import { PIIDetector } from '@mastra/core/processors'
export default new PIIDetector({
strategy: 'block',
})
该处理器会在用户消息到达模型之前运行。
添加输出处理器添加输出处理器的直接链接
输出处理器适合在返回模型响应之前对其进行筛选或转换。此示例会从最终响应中隐去 PII。
src/mastra/agents/weather/processors/output/redact.ts
import { PIIDetector } from '@mastra/core/processors'
export default new PIIDetector({
strategy: 'redact',
})
顺序顺序的直接链接
发现的处理器会添加到 config.ts 中定义的所有处理器之后。这意味着 config 中的处理器会先运行。
Ordering
config.inputProcessors → processors/input/* → model
model → config.outputProcessors → processors/output/* → response
如果 config.inputProcessors 或 config.outputProcessors 是函数,Mastra 会忽略发现的相应类型处理器并发出警告,因为值为函数的处理器无法进行静态合并。
与 config 的优先级与 config 的优先级的直接链接
对于需要在运行时创建或由多个 Agent 共享的处理器,请使用 config.ts。对于应当与 Agent 一同审查的静态、Agent 专属处理器,请使用基于文件的处理器。
优先级如下:
- 值为函数的
config.inputProcessors或config.outputProcessors - 值为数组的
config.inputProcessors或config.outputProcessors - 在
processors/input/或processors/output/下发现的文件
有关完整接口,请查看 Processor 参考。