Skip to content

文本处理

文本处理模块负责对聊天上下文进行自动化的格式转换与内容清洗,是保持上下文整洁、节约 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): 所有历史消息都动态应用当前会话正在使用的规则。适合需要快速全局调整表现的场景。

规则详解与高级功能

每条规则都包含以下精细控制项:

  • 目标角色: 指定规则仅对 SystemUserAssistant 的消息生效。
  • 深度范围: 限制规则仅在对话的特定深度(如最近 5 轮)生效。
  • 宏替换 (Macros):
    • 支持在正则或替换内容中使用 {{user}} (用户名) 或 {{char}} (角色名) 等动态变量。
    • 转义模式: 推荐使用 Escaped 模式,系统会自动处理用户名中的特殊字符(如 C.C.),防止破坏正则语法。
  • 后处理 (Trim Strings): 在正则捕获后,自动移除捕获组内容中不需要的特定字符串(如多余的省略号)。

调试与效率工具

为了降低正则编写的门槛,编辑器内置了强大的辅助功能:

  • 预制规则库: 提供了“折叠思考块”、“移除多余空行”、“URL 转链接”等常用模板。点击即可快速填充,无需从零开始编写。
  • 内置规则测试:
    • 编辑器底部包含一个测试沙箱
    • 你可以输入一段测试文本,系统会实时显示匹配次数。
    • 实时预览: 匹配到的内容会以黄色高亮显示;如果设置了替换内容,替换后的结果会以绿色高亮显示,让你在保存前就能确认效果。
  • 脚本处理 (高级): 除了简单的文本替换,你还可以切换到“脚本处理”模式。通过编写简单的 JavaScript 代码(支持 match, groups 等变量),实现如“将匹配文字转为大写”等复杂的逻辑加工。

预设管理与兼容性

  • 多级预设: 规则按“预设 (Preset)”分组。你可以为不同的场景(如“通用清洗”、“赛博朋克 UI”)创建不同的预设。
  • 优先级: 数值越小越先执行(默认 100)。
  • 导入导出:
    • 支持 AIO 原生 JSON 格式。
    • 酒馆兼容: 完美支持导入 SillyTavern (酒馆) 的正则预设文件。
  • 安全检查: 导入包含脚本执行能力的规则时,系统会自动进行风险扫描,防止恶意代码执行。

警告

正则规则具有全局破坏性。错误的正则表达式可能导致消息内容被误删或显示异常。请务必利用编辑器内置的规则测试功能先行验证。

Released under the Apache-2.0 License.