AX Code を入手 · 無料ドキュメント

このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版

音声通知

ステータス: 現行 対象範囲: AX Code TUI の効果音と読み上げアラート 最終確認: 2026-09-12 所有者: AX Code runtime のメンテナー

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 をインストールします。

利用可能性は実行時に探査されます。使えるバックエンドがないとき、音声の手順は黙ってスキップされ、ターミナル通知がフォールバックとして残ります。再生は直列化され(一度に 1 つの音、繰り返しはまとまる)、各イベントは多くても 1 回知らせ、インターフェースは再生を待ちません。ヘッドレス実行(ax-code run)は音声を決して鳴らしません。

何が読み上げられるか

読み上げが使う定型は 4 つだけです。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 の互換性 を参照してください。