FUZZY_MAP 规则指南

规则格式

代码_块_0

职位

名称

描述

1

更换

规则匹配后的输出文本

2

图案

要匹配的正则表达式或模糊字符串

3

阈值

对于正则表达式规则:忽略。对于模糊规则:最低匹配分数 (0–100)

4

选项

可选字典(请参阅下面的“选项参考”)。使用“0”或省略默认值

基于文件的替换

如果“替换”以“FILE4REPLACMENT_ALLOWED_PREFIXES”中配置的前缀开头 (默认值:-.),Aura 将其视为文件名并在 插件的目录而不是使用文字字符串。这可以保守秘密(密码、 API 密钥)不在源代码中。 详细信息请参见File_Based_Replacement.md

原始替换

默认情况下(“False”),替换字符串由 Python 的“re.sub()”处理,它支持使用“\1”或“\2”等正则表达式反向引用来插入捕获的组(例如:“(r’\1’, r’(\d)\s+(?=\d)’, 95)”)。 如果您的替换是多行字符串或包含未转义的反斜杠(例如代码模板或路径)并且应完全按原样保留,请在选项字典中启用 'raw_replacement': True代码_块_1

可用的用户可配置选项:

  • command_flags(整数):模式编译期间使用的正则表达式标志。 示例: {'command_flags': re.IGNORECASE}

  • raw_replacement(布尔值):当为“True”时,替换文本被视为纯字符串文字,并被 Python 的“re.sub”反斜杠解析绕过。对于多行提示或带有未转义反斜杠(\)的字符串至关重要。 示例: {'raw_replacement': True}

  • cache(布尔值):切换 AURA 结果缓存。对于生成动态输出(例如,当前时间、随机笑话)的规则设置为“False”,以确保在每场比赛中对它们进行最新评估。 示例: {'cache': False}

  • skip_list(字符串列表):指定当此规则匹配时要跳过的后处理管道模块。 示例: {'skip_list': ['LanguageTool']}(跳过语法检查)

  • only_in_windows(正则表达式字符串列表):将规则限制为仅在活动窗口标题与指定模式之一匹配时触发。 示例: {'only_in_windows': [r'^Mozilla Firefox$', r'Chrome']}

  • exclude_windows(正则表达式字符串列表):如果活动窗口标题与指定模式之一匹配,则防止触发规则。 示例: {'exclude_windows': [r'Terminal', r'Claude']}

  • window_ignore_case(布尔值):控制窗口匹配(only_in_windows / exclude_windows)是否不区分大小写(True)或区分大小写(False)进行评估。如果省略,则回退到“config/settings.py”中的全局设置“LOWERCASE_WINDOW_TITLES”。 示例: {'window_ignore_case': False}

  • on_match_exec(路径/字符串对象列表):当此规则匹配时应执行的脚本/插件的路径(由捕获所有和后备规则大量使用)。 示例: {'on_match_exec': [SL5NET_AURA_PROJECT_ROOT / 'scripts' / 'custom_action.py']}

管道逻辑

  • 规则的处理自上而下

管道逻辑

  • 规则的处理自上而下

  • 所有匹配规则均适用(累积)

  • 完全匹配 (^...$) 立即停止管道

  • 较早的规则优先于较晚的规则

常见模式

匹配单个单词(单词边界)

代码_块_2

匹配多个变体

代码_块_3

Fullmatch – 停止管道

代码_块_4 ⚠️ 这匹配一切。管道停在这里。较早的规则仍然具有优先权。

匹配输入的开始

代码_块_5

匹配精确的短语

代码_块_6

文件位置

文件

描述

FUZZY_MAP_pre.py

预语言工具

在拼写检查之前应用

FUZZY_MAP.py

后语言工具

拼写检查后应用

PUNCTUATION_MAP.py

预语言工具

标点符号规则

## 尖端

  • 具体规则放在一般规则之前

  • 仅当您想停止所有进一步处理时才使用“^…$”完全匹配

  • FUZZY_MAP_pre.py 非常适合在拼写检查之前进行更正

  • 测试规则:Aura 控制台中的“您的测试输入”

  • 备份自动创建为“.peter_backup”

示例

代码_块_7

你的第一条规则——一步一步

  1. 打开 config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.py

  2. FUZZY_MAP_pre = [...] 中添加您的规则

  3. 保存 — Aura 自动重新加载,无需重启

  4. 口述你的触发短语并观看它的触发

推荐的文件结构

将您的规则放在长评论块之前: 代码_块_8

为什么? Aura 的自动修复仅扫描文件的前 ~1KB。 如果您的规则出现在长标头之后,自动修复功能将无法找到或修复它们。 还推荐第 1 行的路径注释——它可以帮助人们快速识别文件。