# Voice Wake Documentation ## Overview OpenClaw implements a centralized approach to voice wake words. The system treats wake words as a single global list managed by the Gateway rather than allowing per-node customization. ## Key Architecture Details **Storage Location:** Wake word configurations are maintained on the gateway host at `~/.openclaw/settings/voicewake.json` **Data Structure:** The system stores trigger words alongside a timestamp in JSON format, containing the active triggers and when they were last modified. ## API Protocol The implementation provides two primary methods: - Retrieval: `voicewake.get` returns the current trigger list - Updates: `voicewake.set` modifies triggers with validation and broadcasts changes A `voicewake.changed` event notifies all connected clients (WebSocket connections, iOS/Android nodes) whenever modifications occur. ## Client Implementations **macOS:** The native app integrates the global trigger list with voice recognition and allows settings-based editing. **iOS/Android:** Both mobile platforms expose wake word editors in their settings interfaces. Changes propagate through the Gateway's WebSocket connection to maintain consistency across all devices. ## Operational Constraints The system normalizes input by trimming whitespace and removing empty values. Empty lists default to system presets, and safety limits enforce caps on trigger count and length.