Guide des règles FUZZY_MAP¶
Format de règle¶
('replacement', r'regex_pattern', threshold, {'command_flags': re.IGNORECASE})
Poste |
Nom |
Descriptif |
|---|---|---|
1 |
remplacement |
Le texte de sortie après la correspondance de la règle |
2 |
modèle |
Regex ou chaîne floue à comparer |
3 |
seuil |
Pour les règles regex : ignorées. Pour les règles floues : score de correspondance minimum (0–100) |
4 |
options |
Dictionnaire facultatif (voir « Référence des options » ci-dessous). Utilisez « 0 » ou omettez les valeurs par défaut |
Remplacements basés sur des fichiers¶
Si remplacement commence par un préfixe configuré dans FILE4REPLACEMENT_ALLOWED_PREFIXES
(par défaut : - ou .), Aura le traite comme un nom de fichier et recherche son contenu dans le
répertoire du plugin au lieu d’utiliser la chaîne littérale. Cela garde des secrets (mots de passe,
Clés API) hors code source.
Voir File_Based_Replacement.md pour plus de détails.
Remplacements bruts¶
Par défaut (False), les chaînes de remplacement sont traitées par re.sub() de Python, qui prend en charge l’utilisation de références arrière d’expression régulière comme \1 ou \2 pour insérer des groupes capturés (par exemple : (r'\1', r'(\d)\s+(?=\d)', 95)).
Si votre remplacement est une chaîne multiligne ou contient des barres obliques inverses non échappées (telles que des modèles de code ou des chemins) et doit être conservé exactement tel quel, activez « raw_replacement : True » dans le dictionnaire d’options :
(System_Instructions, r'^(system instructions)$', 10, {'command_flags': re.IGNORECASE, 'raw_replacement': True})
Options configurables par l’utilisateur disponibles :¶
command_flags(entier) : indicateurs Regex utilisés lors de la compilation du modèle. Exemple :{'command_flags' : re.IGNORECASE}raw_replacement(booléen) : LorsqueTrue, le texte de remplacement est traité comme une chaîne littérale pure et contourné par l’analyse de la barre oblique inversere.subde Python. Crucial pour les invites multilignes ou les chaînes avec des barres obliques inverses non échappées (\). Exemple :{'raw_replacement' : True}cache(booléen) : bascule le cache des résultats AURA. Définissez sur « False » pour les règles qui génèrent une sortie dynamique (par exemple, l’heure actuelle, des blagues aléatoires) afin de garantir qu’elles sont évaluées à nouveau à chaque match. Exemple :{'cache' : Faux}skip_list(liste de chaînes) : Spécifie les modules de pipeline de post-traitement à ignorer lorsque cette règle correspond. Exemple :{'skip_list' : ['LanguageTool']}(ignore la vérification grammaticale)only_in_windows(liste de chaînes regex) : restreint la règle au déclenchement uniquement si le titre de la fenêtre active correspond à l’un des modèles spécifiés. Exemple :{'only_in_windows' : [r'^Mozilla Firefox$', r'Chrome']}exclude_windows(liste de chaînes regex) : empêche la règle de se déclencher si le titre de la fenêtre active correspond à l’un des modèles spécifiés. Exemple :{'exclude_windows' : [r'Terminal', r'Claude']}window_ignore_case(booléen) : contrôle si la correspondance de fenêtre (only_in_windows/exclude_windows) est évaluée sans tenir compte de la casse (True) ou en tenant compte de la casse (False). En cas d’omission, revient au paramètre globalLOWERCASE_WINDOW_TITLESdansconfig/settings.py. Exemple :{'window_ignore_case' : False}on_match_exec(liste des objets Path/string) : chemins vers les scripts/plugins qui doivent être exécutés lorsque cette règle correspond (fortement utilisé par les règles fourre-tout et de secours). Exemple :{'on_match_exec' : [SL5NET_AURA_PROJECT_ROOT / 'scripts' / 'custom_action.py']}
Logique du pipeline¶
Les règles sont traitées de haut en bas
Logique du pipeline¶
Les règles sont traitées de haut en bas
Toutes les règles de correspondance sont appliquées (cumulatives)
Un fullmatch (
^...$) arrête immédiatement le pipelineLes règles antérieures ont la priorité sur les règles ultérieures
Modèles courants¶
Faire correspondre un seul mot (limite du mot)¶
('Python', r'\bpython\b', 0, {'command_flags': re.IGNORECASE})
Faire correspondre plusieurs variantes¶
('OpenAI', r'\bopen\s*ai\b', 0, {'command_flags': re.IGNORECASE})
Fullmatch – arrête le pipeline¶
('hello koan', r'^.*$', 0, {'command_flags': re.IGNORECASE})
⚠️ Cela correspond à tout. Le pipeline s’arrête ici. Les règles antérieures restent prioritaires.
Faire correspondre le début de l’entrée¶
('Note: ', r'^notiz\b', 0, {'command_flags': re.IGNORECASE})
Correspond à l’expression exacte¶
('New York', r'\bnew york\b', 0, {'command_flags': re.IGNORECASE})
Emplacements des fichiers¶
Fichier |
Phases |
Descriptif |
|---|---|---|
|
Outil pré-langage |
Appliqué avant la vérification orthographique |
|
Outil post-langage |
Appliqué après vérification orthographique |
|
Outil pré-langage |
Règles de ponctuation |
Conseils¶
Mettez les règles spécifiques avant les règles générales
Utilisez
^...$fullmatch uniquement lorsque vous souhaitez arrêter tout traitement ultérieurFUZZY_MAP_pre.pyest idéal pour les corrections avant la vérification orthographiqueTestez les règles avec : “votre entrée de test” dans la console Aura
Les sauvegardes sont créées automatiquement sous le nom
.peter_backup
Exemples¶
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}),
]
Votre première règle – étape par étape¶
Ouvrez
config/maps/plugins/sandbox/de-DE/FUZZY_MAP_pre.pyAjoutez votre règle dans
FUZZY_MAP_pre = [...]Enregistrer — Aura se recharge automatiquement, aucun redémarrage n’est nécessaire
Dictez votre phrase déclencheur et regardez-la se déclencher
Structure de fichier recommandée¶
Mettez vos règles avant les longs blocs de commentaires :
# 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.
# ============================================================
Pourquoi ? La correction automatique d’Aura analyse uniquement le premier ~ 1 Ko d’un fichier. Si vos règles apparaissent après un long en-tête, Auto-Fix ne peut pas les trouver ou les réparer. Le commentaire du chemin sur la ligne 1 est également recommandé : il aide les humains à identifier rapidement le fichier.