FUZZY_MAP ルールガイド¶
ルールの形式¶
('replacement', r'regex_pattern', threshold, {'command_flags': re.IGNORECASE})
ポジション |
名前 |
説明 |
|---|---|---|
1 |
交換 |
ルールが |
2 |
パターン |
照合する正規表現またはあいまい文字列 |
3 |
しきい値 |
正規表現ルールの場合: 無視されます。ファジー ルールの場合: 最小一致スコア (0 ~ 100) |
4 |
オプション |
オプションの辞書 (下記の「オプションのリファレンス」を参照)。デフォルトでは「0」を使用するか省略します。 |
ファイルベースの置換¶
「置換」が「FILE4REPLACEMENT_ALLOWED_PREFIXES」で設定されたプレフィックスで始まる場合
(デフォルト: - または .)、Aura はそれをファイル名として扱い、その内容を
リテラル文字列を使用する代わりに、プラグインのディレクトリを使用します。これにより秘密 (パスワード、
API キー) がソース コードから外れています。
詳細については、「File_Based_Replacement.md」を参照してください。
未加工の置換¶
デフォルト (False) では、置換文字列は Python の re.sub() によって処理されます。これは、キャプチャされたグループを挿入するための \1 や \2 などの正規表現後方参照の使用をサポートします (例: (r'\1', r'(\d)\s+(?=\d)', 95))。
置換が複数行の文字列であるか、エスケープされていないバックスラッシュが含まれている場合 (コード テンプレートやパスなど)、そのままの状態で保存する必要がある場合は、オプション ディクショナリで 'raw_replacement': True を有効にします。
(System_Instructions, r'^(system instructions)$', 10, {'command_flags': re.IGNORECASE, 'raw_replacement': True})
利用可能なユーザー構成可能なオプション:¶
command_flags(整数): パターンのコンパイル中に使用される正規表現フラグ。 例:{'command_flags': re.IGNORECASE}raw_replacement(ブール値):Trueの場合、置換テキストは純粋な文字列リテラルとして扱われ、Python のre.subバックスラッシュ解析によってバイパスされます。複数行のプロンプトまたはエスケープされていないバックスラッシュ (\) を含む文字列の場合に重要です。 例:{'raw_replacement': True}cache(ブール値): AURA 結果キャッシュを切り替えます。動的出力 (現在の時刻、ランダムなジョークなど) を生成するルールの場合は、一致するたびに新しく評価されるようにするために、ルールを「False」に設定します。 例:{'キャッシュ': False}skip_list(文字列のリスト): このルールが一致した場合にスキップする後処理パイプライン モジュールを指定します。 例:{'skip_list': ['LanguageTool']}(文法チェックをスキップします)only_in_windows(正規表現文字列のリスト): アクティブなウィンドウのタイトルが指定されたパターンのいずれかに一致する場合にのみトリガーされるようにルールを制限します。 例:{'only_in_windows': [r'^Mozilla Firefox$', r'Chrome']}exclude_windows(正規表現文字列のリスト): アクティブなウィンドウのタイトルが指定されたパターンのいずれかに一致する場合にルールがトリガーされないようにします。 例:{'exclude_windows': [r'ターミナル', r'クロード']}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']}
パイプライン ロジック¶
ルールはトップダウンで処理されます
パイプライン ロジック¶
ルールはトップダウンで処理されます
すべての一致ルールが適用されます (累積)
完全一致 (
^...$) はパイプラインを即座に停止します以前のルールが後のルールより優先されます
一般的なパターン¶
単一の単語 (単語境界) に一致します¶
('Python', r'\bpython\b', 0, {'command_flags': re.IGNORECASE})
複数のバリアントを照合する¶
('OpenAI', r'\bopen\s*ai\b', 0, {'command_flags': re.IGNORECASE})
Fullmatch – パイプラインを停止します¶
('hello koan', r'^.*$', 0, {'command_flags': re.IGNORECASE})
⚠️ これは すべて に一致します。パイプラインはここで止まります。以前のルールが引き続き優先されます。
入力の先頭と一致する¶
('Note: ', r'^notiz\b', 0, {'command_flags': re.IGNORECASE})
フレーズと完全に一致¶
('New York', r'\bnew york\b', 0, {'command_flags': re.IGNORECASE})
ファイルの場所¶
ファイル |
フェーズ |
説明 |
|---|---|---|
|
事前言語ツール |
スペルチェックの前に適用される |
|
ポスト言語ツール |
スペルチェック後に適用される |
|
事前言語ツール |
句読点の規則 |
ヒント¶
一般ルールの前に特定ルールを置く
^...$完全一致は、以降のすべての処理を停止したい場合にのみ使用してください。FUZZY_MAP_pre.pyはスペルチェック前の修正に最適ですAura コンソールの「テスト入力」を使用してルールをテストします。
バックアップは
.peter_backupとして自動的に作成されます
例¶
FUZZY_MAP_pre = [
# Correct a common STT mistake
('Raspberry Pi', r'\braspberry\s*pie?\b', 0, {'command_flags': re.IGNORECASE}),
# Expand abbreviation
('zum Beispiel', r'\bzb\b', 0, {'command_flags': re.IGNORECASE}),
# Stop pipeline for testing
# ('test koan', r'^.*$', 0, {'command_flags': re.IGNORECASE}),
]
最初のルール — ステップバイステップ¶
1.「config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.py」を開きます。
2. FUZZY_MAP_pre = [...] 内にルールを追加します。
3. 保存 — Aura は自動的にリロードされます。再起動は必要ありません。
4. トリガーフレーズを口述し、それが発火するのを観察します
推奨されるファイル構造¶
ルールを長いコメント ブロックの前に置きます。
# config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.py
import re # noqa: F401
# too<-from
FUZZY_MAP_pre = [
('My Rule', r'my rule', 0, {'command_flags': re.IGNORECASE}),
]
# ============================================================
# Longer explanations, task descriptions, notes...
# can be as long as needed — they go AFTER the rules.
# ============================================================
なぜですか? Aura の自動修正は、ファイルの最初の ~1KB のみをスキャンします。 ルールが長いヘッダーの後に表示される場合、自動修正はルールを検出または修復できません。 1 行目のパス コメントも推奨されます。これは人間がファイルを素早く識別するのに役立ちます。