# 文本处理
文本处理模块负责对聊天上下文进行自动化的格式转换与内容清洗,是保持上下文整洁、节约 Token 的关键。
## 上下文优化 (Context Optimization)
- **HTML 转 MD**:
- **功能**: 自动将历史消息中的 HTML 标签(如 Web 搜索返回的结果)转换为 Markdown。
- **优势**: 显著降低 Token 消耗(HTML 标签通常非常冗长),并提高模型对内容的理解准确度。
- **转换阈值**:
- 控制“保鲜期”。例如设为 5,则最近 5 条消息保留原始 HTML 以保证 UI 渲染(如预览模式)不受影响,更早的消息则被转换为 Markdown。
## 正则替换规则 (Regex Rules)
正则替换是 LLM Chat 中最强大的文本处理工具。它允许你通过正则表达式,在消息**发送给 AI 之前(请求层)**或**显示在屏幕上时(渲染层)**对文本进行自动修改。
### 核心概念:两个关键阶段
理解规则生效的“位置”至关重要:
1. **🎨 渲染层 (Render)**:
- **只改显示,不改记忆**。就像给照片加滤镜。
- **作用**: 修改消息在 UI 界面上的呈现方式。
- **场景**: 隐藏思考过程、美化特定输出格式、遮蔽敏感词。
2. **🚀 请求层 (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 (酒馆)** 的正则预设文件。
- **安全检查**: 导入包含脚本执行能力的规则时,系统会自动进行风险扫描,防止恶意代码执行。
---
::: warning 警告
正则规则具有全局破坏性。错误的正则表达式可能导致消息内容被误删或显示异常。请务必利用编辑器内置的**规则测试**功能先行验证。
:::