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