AX Code 받기 · 무료문서

이 페이지는 영어 문서의 번역입니다. 명령, 식별자, 예제는 그대로입니다. 런타임 7.24.4 · SDK 2.6.7. 영어 원문

오디오 알림

상태: 현재 범위: AX Code TUI 소리와 음성 알림 최종 검토: 2026-09-12 담당: AX Code 런타임 유지관리자

TUI는 AX Code가 사용자의 주의가 필요할 때마다 시스템 소리를 내거나, 짧은 템플릿 문장을 읽어 줍니다.

  • 권한 요청 — 도구가 승인을 기다립니다.
  • 에이전트 질문 — 에이전트가 질문을 했습니다.
  • 턴 완료 — 실행이 끝났습니다(기본값은 꺼짐).
  • 세션 오류 — 턴이 실패했습니다.

오디오는 터미널 알림과 같은 트리거를 탑니다. OSC 9 데스크톱 알림이거나, OSC 9를 지원하지 않으면 터미널 벨입니다. 같은 notifications.enabled 스위치로 제어합니다. 기본값은 꺼짐이며, 켜도 알림의 다른 동작은 바뀌지 않습니다.

구성

notifications.sound을 tui.json에서 설정합니다.

{
  "notifications": {
    "enabled": true,
    "sound": "chime",
    "events": {
      "permission": true,
      "question": true,
      "complete": false,
      "error": true
    }
  }
}
필드 값 기본값 의미
enabled 불리언 true 터미널 알림과 오디오의 주 스위치입니다.
sound "off", "chime", "speak" "off" chime은 시스템 소리를 재생하고, speak은 음성을 합성합니다.
voice 문자열 "" 플랫폼 음성 이름(macOS에서는 say -v '?'). 비어 있으면 기본값입니다.
rate 정수 0 지원되는 경우의 말하기 속도(macOS는 분당 단어 수, 1–500). 0은 기본값입니다.
events.permission 불리언 true 권한 요청 때 알립니다.
events.question 불리언 true 에이전트 질문 때 알립니다.
events.complete 불리언 false 턴이 끝날 때 알립니다.
events.error 불리언 true 세션 오류 때 알립니다.

잘못된 값은 필드마다 버려집니다. sound 값이 잘못되면 다른 설정은 그대로 두고 "off"로 되돌립니다.

플랫폼 지원

플랫폼 차임 음성 요구 사항
macOS afplay (시스템 소리) say 기본 제공.
Windows System.Media.SoundPlayer System.Speech 기본 제공(PowerShell).
Linux paplay, 폴백 canberra-gtk-play spd-say, 폴백 espeak-ng PulseAudio/libcanberra 및/또는 speech-dispatcher/espeak-ng을 설치합니다.

사용 가능 여부는 런타임에 확인합니다. 쓸 수 있는 백엔드가 없으면 오디오 단계는 조용히 건너뛰고, 터미널 알림이 폴백으로 남습니다. 재생은 직렬화됩니다. 한 번에 소리 하나이며, 반복은 하나로 합칩니다. 각 이벤트는 최대 한 번만 알리고, 인터페이스는 재생을 기다리지 않습니다. 헤드리스 실행(ax-code run)은 오디오를 재생하지 않습니다.

읽어 주는 내용

음성은 네 가지 고정 템플릿만 사용합니다. Approval required: <tool>, Question: <first question>, Session idle: <session title>, AX Code error입니다. 텍스트는 잘라 내고 제어 문자를 제거합니다. 도구 인자, 페이로드의 파일 경로, 모델 출력, 오류 메시지는 읽지 않습니다. 이 한계 안에서는 공유 공간에서도 안전합니다.

훅으로 사용자 지정 소리

완전히 제어하려면(자신의 소리 파일, 다른 텍스트, 추가 이벤트) 수명 주기 훅으로 원하는 재생기를 연결합니다. 오디오 알림을 꺼 둔 상태에서도 동작합니다. AX_CODE_TRUST_PROJECT_CONFIG=1로 선택한 뒤 .ax-code/hooks.json를 만듭니다.

{
  "hooks": [
    { "event": "Stop", "command": "afplay /System/Library/Sounds/Glass.aiff" },
    { "event": "PreToolUse", "matcher": "bash|edit|write", "command": "say 'AX Code needs approval'" }
  ]
}

플랫폼의 재생기를 사용합니다(macOS는 afplay, Linux는 paplay, Windows는 PowerShell [System.Media]). 훅 명령은 셸 조각입니다. 수명 주기 경로를 지연시키지 않도록, 끝내기를 기다리지 않는 방식으로 유지합니다.

외부 알림기 만들기

외부 도구(상태 표시줄, 모바일 푸시, 데스크톱 앱)는 서버의 이벤트 스트림을 구독하고 permission.asked, question.asked, session.status, session.error에 반응할 수 있습니다. HTTP 및 OpenAPI 호환성을 보십시오.