6 custom skills (assign-task, dispatch-webhook, daily-briefing, task-capture, qmd-brain, tts-voice) with technical documentation. Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
# 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.
|