ボイスウェイク(グローバルウェイクワード)
OpenClaw はウェイクワードを Gateway が管理する単一のグローバルリストとして扱います。
- ノードごとのカスタムウェイクワードはありません。
- 任意のノード/アプリ UI でリストを編集できます。変更は Gateway によって永続化され、全員にブロードキャストされます。
- macOS と iOS はローカルのボイスウェイク有効/無効トグルを保持します(ローカル UX とパーミッションは異なります)。
- Android は現在ボイスウェイクをオフにしており、Voice タブで手動マイクフローを使用します。
ストレージ(Gateway ホスト)
ウェイクワードは Gateway マシンに保存されます。
~/.openclaw/settings/voicewake.json
形式:
{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
プロトコル
メソッド
voicewake.get→{ triggers: string[] }voicewake.set(パラメータ{ triggers: string[] })→{ triggers: string[] }
補足:
- トリガーは正規化されます(トリミング、空文字の除去)。空のリストはデフォルトにフォールバックします。
- 安全性のためカウント/長さの上限が適用されます。
イベント
voicewake.changedペイロード{ triggers: string[] }
受信先:
- すべての WebSocket クライアント(macOS アプリ、WebChat など)
- 接続中のすべてのノード(iOS/Android)。ノード接続時に初期状態として「現在の状態」もプッシュされます。
クライアントの動作
macOS アプリ
- グローバルリストを使用して
VoiceWakeRuntimeのトリガーを制御します。 - ボイスウェイク設定の「Trigger words」を編集すると
voicewake.setが呼ばれ、ブロードキャストで他のクライアントと同期されます。
iOS ノード
VoiceWakeManagerのトリガー検出にグローバルリストを使用します。- 設定の Wake Words を編集すると、Gateway WS 経由で
voicewake.setが呼ばれ、ローカルのウェイクワード検出も応答性を維持します。
Android ノード
- Android のランタイム/設定ではボイスウェイクは現在無効です。
- Android の音声はウェイクワードトリガーの代わりに Voice タブで手動マイクキャプチャを使用します。