FUZZY_MAP 규칙 가이드

규칙 형식

('replacement', r'regex_pattern', threshold, {'command_flags': re.IGNORECASE})

위치

이름

설명

1

교체

규칙이 일치한 후의 출력 텍스트

2

패턴

일치시킬 정규식 또는 퍼지 문자열

3

임계값

정규식 규칙의 경우: 무시됩니다. 퍼지 규칙의 경우: 최소 일치 점수(0–100)

4

옵션

선택적 사전(아래 “옵션 참조” 참조). 기본값으로 0을 사용하거나 생략

파일 기반 교체

replacementFILE4REPLACEMENT_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’로 설정하면 매 경기마다 새로 평가됩니다. 예: {'캐시': 거짓}

  • 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']}

파이프라인 로직

  • 규칙은 하향식으로 처리됩니다.

파이프라인 로직

  • 규칙은 하향식으로 처리됩니다.

  • 모든 일치 규칙이 적용됩니다(누적).

  • fullmatch(^...$)는 파이프라인을 즉시 중지합니다.

  • 이전 규칙이 이후 규칙보다 우선합니다.

일반적인 패턴

단일 단어 일치(단어 경계)

('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

사전 언어 도구

맞춤법 검사 전에 적용됨

FUZZY_MAP.py

포스트 언어 도구

맞춤법 검사 후 적용

PUNCTUATION_MAP.py`

사전 언어 도구

구두점 규칙

  • 일반 규칙 앞에 특정 규칙을 추가하세요.

  • 추가 처리를 모두 중지하려는 경우에만 ^...$ 전체 일치를 사용하세요.

  • FUZZY_MAP_pre.py는 철자 검사 전 수정에 이상적입니다.

  • Aura 콘솔에서 s your test input을 사용하여 규칙을 테스트합니다.

  • 백업은 ‘.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의 Auto-Fix는 파일의 처음 ~1KB만 검사합니다. 규칙이 긴 헤더 뒤에 나타나는 경우 자동 수정에서는 해당 규칙을 찾거나 복구할 수 없습니다. 1행의 경로 주석도 권장됩니다. 이는 사람이 파일을 빠르게 식별하는 데 도움이 됩니다.