Aller au contenu

Réveil vocal

OpenClaw traite les mots de réveil comme une liste globale unique appartenant au Gateway.

  • Il n’y a pas de mots de réveil personnalisés par nœud.
  • Toute interface utilisateur de nœud/application peut modifier la liste ; les modifications sont persistées par le Gateway et diffusées à tous.
  • macOS et iOS conservent des interrupteurs locaux d’activation/désactivation du Réveil vocal (l’expérience utilisateur locale et les autorisations diffèrent).
  • Android garde actuellement le Réveil vocal désactivé et utilise un flux manuel de microphone dans l’onglet Voice.

Les mots de réveil sont stockés sur la machine de la passerelle à l’emplacement :

  • ~/.openclaw/settings/voicewake.json

Forme :

{ "triggers": ["openclaw", "claude", "computer"], "updatedAtMs": 1730000000000 }
  • voicewake.get{ triggers: string[] }
  • voicewake.set avec les paramètres { triggers: string[] }{ triggers: string[] }

Notes :

  • Les déclencheurs sont normalisés (espaces supprimés, éléments vides ignorés). Les listes vides reviennent aux valeurs par défaut.
  • Des limites sont appliquées pour la sécurité (plafonds de nombre/longueur).
  • voicewake.routing.get{ config: VoiceWakeRoutingConfig }
  • voicewake.routing.set avec les paramètres { config: VoiceWakeRoutingConfig }{ config: VoiceWakeRoutingConfig }

Forme VoiceWakeRoutingConfig :

{
"version": 1,
"defaultTarget": { "mode": "current" },
"routes": [{ "trigger": "robot wake", "target": { "sessionKey": "agent:main:main" } }],
"updatedAtMs": 1730000000000
}

Les cibles de routage prennent en charge exactement l’une des options suivantes :

  • { "mode": "current" }
  • { "agentId": "main" }
  • { "sessionKey": "agent:main:main" }
  • Charge utile voicewake.changed { triggers: string[] }
  • Charge utile voicewake.routing.changed { config: VoiceWakeRoutingConfig }

Qui le reçoit :

  • Tous les clients WebSocket (application macOS, WebChat, etc.)
  • Tous les nœuds connectés (iOS/Android), et également lors de la connexion du nœud en tant qu’envoi initial de l’état actuel.
  • Utilise la liste globale pour filtrer les déclencheurs VoiceWakeRuntime.
  • La modification des « Mots déclencheurs » dans les paramètres de Voice Wake appelle voicewake.set, puis s’appuie sur la diffusion pour garder les autres clients synchronisés.
  • Utilise la liste globale pour la détection des déclencheurs VoiceWakeManager.
  • La modification des mots de réveil dans les paramètres appelle voicewake.set (via le WS du Gateway) et maintient également la réactivité de la détection locale des mots de réveil.
  • Voice Wake est actuellement désactivé dans le runtime/les paramètres Android.
  • La voix Android utilise une capture manuelle du microphone dans l’onglet Voice au lieu des déclencheurs de mots de réveil.