跳到主要内容

UnicodeNormalizer

UnicodeNormalizer 是一个输入 Processor,它会在消息发送给语言模型之前规范化 Unicode 文本,以确保格式一致,并移除可能引发问题的字符。此 Processor 会处理 Unicode 表示形式并移除控制字符,同时还会统一空白字符的格式。

使用示例
使用示例的直接链接

import { UnicodeNormalizer } from '@mastra/core/processors'

const processor = new UnicodeNormalizer({
stripControlChars: true,
collapseWhitespace: true,
})

构造函数参数
构造函数参数的直接链接

options?:

Options
Unicode 文本规范化的配置选项
Options

stripControlChars?:

boolean
是否移除控制字符。启用后,会移除除 之外的控制字符

preserveEmojis?:

boolean
是否保留 emoji。禁用后,如果 emoji 包含控制字符,则可能会被移除

collapseWhitespace?:

boolean
是否合并连续的空白字符。启用后,多个空格、制表符或换行符会分别合并为单个字符

trim?:

boolean
是否移除开头和结尾的空白字符

返回值
返回值的直接链接

id:

string
设为 'unicode-normalizer' 的 Processor 标识符

name?:

string
可选的 Processor 显示名称

processInput:

(args: { messages: MastraDBMessage[]; abort: (reason?: string) => never }) => MastraDBMessage[]
处理输入消息以规范化 Unicode 文本

扩展使用示例
扩展使用示例的直接链接

src/mastra/agents/normalized-agent.ts
import { Agent } from '@mastra/core/agent'
import { UnicodeNormalizer } from '@mastra/core/processors'

export const agent = new Agent({
id: 'normalized-agent',
name: 'normalized-agent',
instructions: 'You are a helpful assistant',
model: 'openai/gpt-5.6-sol',
inputProcessors: [
new UnicodeNormalizer({
stripControlChars: true,
preserveEmojis: true,
collapseWhitespace: true,
trim: true,
}),
],
})