文本处理
文本处理模块负责对聊天上下文进行自动化的格式转换与内容清洗,是保持上下文整洁、节约 Token 的关键。
上下文优化 (Context Optimization)
- HTML 转 MD:
- 功能: 自动将历史消息中的 HTML 标签(如 Web 搜索返回的结果)转换为 Markdown。
- 优势: 显著降低 Token 消耗(HTML 标签通常非常冗长),并提高模型对内容的理解准确度。
- 转换阈值:
- 控制“保鲜期”。例如设为 5,则最近 5 条消息保留原始 HTML 以保证 UI 渲染(如预览模式)不受影响,更早的消息则被转换为 Markdown。
正则替换规则 (Regex Rules)
正则替换是 LLM Chat 中最强大的文本处理工具。它允许你通过正则表达式,在消息**发送给 AI 之前(请求层)或显示在屏幕上时(渲染层)**对文本进行自动修改。
核心概念:两个关键阶段
理解规则生效的“位置”至关重要:
- 🎨 渲染层 (Render):
- 只改显示,不改记忆。就像给照片加滤镜。
- 作用: 修改消息在 UI 界面上的呈现方式。
- 场景: 隐藏思考过程、美化特定输出格式、遮蔽敏感词。
- 🚀 请求层 (Request):
- 修改记忆,永久生效。就像在 PS 里修图。
- 作用: 修改实际发送给 AI 的 Prompt(提示词)。
- 场景: 删除冗长的 HTML 标签以节省 Token、修正模型总是写错的专有名词、清洗上下文。
绑定模式 (Binding Mode)
决定了历史消息如何应用正则配置:
- 跟随消息配置 (Message): 采用“配置快照”原则。每条历史消息都使用它产生时所关联的正则规则。这能保证历史数据的表现一致性,不会因为你今天改了规则就导致昨天的消息显示异常。
- 使用当前会话配置 (Session): 所有历史消息都动态应用当前会话正在使用的规则。适合需要快速全局调整表现的场景。
规则详解与高级功能
每条规则都包含以下精细控制项:
- 目标角色: 指定规则仅对
System、User或Assistant的消息生效。 - 深度范围: 限制规则仅在对话的特定深度(如最近 5 轮)生效。
- 宏替换 (Macros):
- 支持在正则或替换内容中使用
{{user}}(用户名) 或{{char}}(角色名) 等动态变量。 - 转义模式: 推荐使用
Escaped模式,系统会自动处理用户名中的特殊字符(如C.C.),防止破坏正则语法。
- 支持在正则或替换内容中使用
- 后处理 (Trim Strings): 在正则捕获后,自动移除捕获组内容中不需要的特定字符串(如多余的省略号)。
调试与效率工具
为了降低正则编写的门槛,编辑器内置了强大的辅助功能:
- 预制规则库: 提供了“折叠思考块”、“移除多余空行”、“URL 转链接”等常用模板。点击即可快速填充,无需从零开始编写。
- 内置规则测试:
- 编辑器底部包含一个测试沙箱。
- 你可以输入一段测试文本,系统会实时显示匹配次数。
- 实时预览: 匹配到的内容会以黄色高亮显示;如果设置了替换内容,替换后的结果会以绿色高亮显示,让你在保存前就能确认效果。
- 脚本处理 (高级): 除了简单的文本替换,你还可以切换到“脚本处理”模式。通过编写简单的 JavaScript 代码(支持
match,groups等变量),实现如“将匹配文字转为大写”等复杂的逻辑加工。
预设管理与兼容性
- 多级预设: 规则按“预设 (Preset)”分组。你可以为不同的场景(如“通用清洗”、“赛博朋克 UI”)创建不同的预设。
- 优先级: 数值越小越先执行(默认 100)。
- 导入导出:
- 支持 AIO 原生 JSON 格式。
- 酒馆兼容: 完美支持导入 SillyTavern (酒馆) 的正则预设文件。
- 安全检查: 导入包含脚本执行能力的规则时,系统会自动进行风险扫描,防止恶意代码执行。
警告
正则规则具有全局破坏性。错误的正则表达式可能导致消息内容被误删或显示异常。请务必利用编辑器内置的规则测试功能先行验证。