Google Meet (Plugin)
Prise en charge des participants Google Meet pour OpenClaw. Le Plugin est explicitement conçu ainsi :- Il rejoint uniquement une URL explicite
https://meet.google.com/.... - La voix
realtimeest le mode par défaut. - La voix en temps réel peut revenir vers l’agent OpenClaw complet lorsque des outils ou un raisonnement plus approfondi sont nécessaires.
- L’authentification commence comme un OAuth Google personnel ou un profil Chrome déjà connecté.
- Il n’y a pas d’annonce de consentement automatique.
- Le backend audio Chrome par défaut est
BlackHole 2ch. - Chrome peut s’exécuter localement ou sur un hôte Node appairé.
- Twilio accepte un numéro d’appel entrant ainsi qu’un code PIN ou une séquence DTMF facultatifs.
- La commande CLI est
googlemeet;meetest réservé aux workflows plus larges de téléconférence d’agent.
Démarrage rapide
Installez les dépendances audio locales et configurez un fournisseur de voix en temps réel backend. OpenAI est celui par défaut ; Google Gemini Live fonctionne également avecrealtime.provider: "google" :
blackhole-2ch installe le périphérique audio virtuel BlackHole 2ch. Le
programme d’installation de Homebrew nécessite un redémarrage avant que macOS expose le périphérique :
google_meet :
BlackHole 2ch pour
le chemin microphone/haut-parleur utilisé par OpenClaw. Pour un son duplex propre, utilisez
des périphériques virtuels séparés ou un graphe de type Loopback ; un seul périphérique BlackHole suffit
pour un premier test rapide, mais peut produire de l’écho.
Gateway local + Chrome Parallels
Vous n’avez pas besoin d’un Gateway OpenClaw complet ou d’une clé d’API de modèle dans une VM macOS uniquement pour que la VM héberge Chrome. Exécutez le Gateway et l’agent localement, puis exécutez un hôte Node dans la VM. Activez une fois le Plugin intégré sur la VM afin que le nœud annonce la commande Chrome : Ce qui s’exécute où :- Hôte Gateway : OpenClaw Gateway, espace de travail de l’agent, clés de modèle/API, fournisseur temps réel et configuration du Plugin Google Meet.
- VM macOS Parallels : CLI/hôte Node OpenClaw, Google Chrome, SoX, BlackHole 2ch, et un profil Chrome connecté à Google.
- Inutile dans la VM : service Gateway, configuration de l’agent, clé OpenAI/GPT ou configuration du fournisseur de modèle.
BlackHole 2ch :
<gateway-host> est une IP LAN et que vous n’utilisez pas TLS, le nœud refuse le
WebSocket en texte clair à moins que vous n’autorisiez explicitement ce réseau privé de confiance :
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 est un environnement de processus, pas un
paramètre openclaw.json. openclaw node install l’enregistre dans l’environnement du LaunchAgent
lorsqu’il est présent dans la commande d’installation.
Approuvez le nœud depuis l’hôte Gateway :
googlemeet.chrome :
google_meet avec transport: "chrome-node".
Si chromeNode.node est omis, OpenClaw effectue une sélection automatique uniquement lorsqu’un seul
nœud connecté annonce googlemeet.chrome. Si plusieurs nœuds capables sont
connectés, définissez chromeNode.node sur l’identifiant du nœud, son nom d’affichage ou son IP distante.
Vérifications courantes en cas d’échec :
No connected Google Meet-capable node: démarrezopenclaw node rundans la VM, approuvez l’appairage, et assurez-vous queopenclaw plugins enable google-meeta été exécuté dans la VM. Confirmez également que l’hôte Gateway autorise la commande du nœud avecgateway.nodes.allowCommands: ["googlemeet.chrome"].BlackHole 2ch audio device not found on the node: installezblackhole-2chdans la VM et redémarrez la VM.- Chrome s’ouvre mais ne peut pas rejoindre : connectez-vous à Chrome dans la VM et confirmez que ce profil peut rejoindre l’URL Meet manuellement.
- Pas de son : dans Meet, faites passer le microphone/haut-parleur par le chemin du périphérique audio virtuel utilisé par OpenClaw ; utilisez des périphériques virtuels séparés ou un routage de type Loopback pour un duplex propre.
Notes d’installation
La configuration par défaut Chrome realtime utilise deux outils externes :sox: utilitaire audio en ligne de commande. Le Plugin utilise ses commandesrecetplaypour le pont audio G.711 mu-law 8 kHz par défaut.blackhole-2ch: pilote audio virtuel macOS. Il crée le périphérique audioBlackHole 2chpar lequel Chrome/Meet peut être routé.
LGPL-2.0-only AND GPL-2.0-only ; BlackHole est sous GPL-3.0. Si vous créez un
installateur ou une appliance qui regroupe BlackHole avec OpenClaw, examinez les
conditions de licence amont de BlackHole ou obtenez une licence distincte auprès d’Existential Audio.
Transports
Chrome
Le transport Chrome ouvre l’URL Meet dans Google Chrome et rejoint la réunion avec le profil Chrome connecté. Sur macOS, le Plugin vérifie la présence deBlackHole 2ch avant le lancement.
Si configuré, il exécute également une commande de vérification de santé du pont audio et une commande de démarrage
avant d’ouvrir Chrome. Utilisez chrome lorsque Chrome/l’audio s’exécutent sur l’hôte Gateway ;
utilisez chrome-node lorsque Chrome/l’audio s’exécutent sur un nœud appairé comme une VM macOS Parallels.
BlackHole 2ch n’est pas installé, la connexion échoue avec une erreur de configuration
au lieu de rejoindre silencieusement sans chemin audio.
Twilio
Le transport Twilio est un plan de numérotation strict délégué au Plugin Voice Call. Il n’analyse pas les pages Meet pour en extraire des numéros de téléphone.--dtmf-sequence lorsque la réunion nécessite une séquence personnalisée :
OAuth et pré-vérification
L’accès à l’API média Google Meet commence d’abord par un client OAuth personnel. Configurezoauth.clientId et éventuellement oauth.clientSecret, puis exécutez :
oauth avec un refresh token. Elle utilise PKCE,
le callback localhost sur http://localhost:8085/oauth2callback et un flux manuel
copier/coller avec --manual.
Ces variables d’environnement sont acceptées comme solutions de repli :
OPENCLAW_GOOGLE_MEET_CLIENT_IDouGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECRETouGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENouGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENouGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATouGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGouGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKouGOOGLE_MEET_PREVIEW_ACK
spaces/{id} via spaces.get :
preview.enrollmentAcknowledged: true uniquement après avoir confirmé que votre
projet Cloud, le principal OAuth et les participants à la réunion sont inscrits au
Google Workspace Developer Preview Program pour les API média Meet.
Configuration
Le chemin Chrome realtime courant nécessite seulement l’activation du Plugin, BlackHole, SoX et une clé de fournisseur de voix temps réel backend. OpenAI est celui par défaut ; définissezrealtime.provider: "google" pour utiliser Google Gemini Live :
plugins.entries.google-meet.config :
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: identifiant/nom/IP de nœud facultatif pourchrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: commande SoXrecécrivant de l’audio G.711 mu-law 8 kHz sur stdoutchrome.audioOutputCommand: commande SoXplaylisant de l’audio G.711 mu-law 8 kHz depuis stdinrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: réponses parlées brèves, avecopenclaw_agent_consultpour les réponses plus approfondiesrealtime.introMessage: bref contrôle de disponibilité vocal lorsque le pont temps réel se connecte ; définissez-le sur""pour rejoindre silencieusement
Outil
Les agents peuvent utiliser l’outilgoogle_meet :
transport: "chrome" lorsque Chrome s’exécute sur l’hôte Gateway. Utilisez
transport: "chrome-node" lorsque Chrome s’exécute sur un nœud appairé comme une VM Parallels.
Dans les deux cas, le modèle temps réel et openclaw_agent_consult s’exécutent sur l’hôte
Gateway, de sorte que les identifiants du modèle y restent.
Utilisez action: "status" pour lister les sessions actives ou inspecter un identifiant de session. Utilisez
action: "speak" avec sessionId et message pour faire parler immédiatement l’agent
temps réel. Utilisez action: "leave" pour marquer la fin d’une session.
Consultation de l’agent en temps réel
Le mode Chrome realtime est optimisé pour une boucle vocale en direct. Le fournisseur de voix temps réel entend l’audio de la réunion et parle via le pont audio configuré. Lorsque le modèle temps réel a besoin d’un raisonnement plus approfondi, d’informations actuelles ou des outils OpenClaw normaux, il peut appeleropenclaw_agent_consult.
L’outil de consultation exécute l’agent OpenClaw standard en arrière-plan avec le contexte
récent de la transcription de la réunion et renvoie une réponse parlée concise à la session
vocale temps réel. Le modèle vocal peut ensuite prononcer cette réponse dans la réunion.
realtime.toolPolicy contrôle l’exécution de la consultation :
safe-read-only: expose l’outil de consultation et limite l’agent standard àread,web_search,web_fetch,x_search,memory_searchetmemory_get.owner: expose l’outil de consultation et laisse l’agent standard utiliser la politique d’outils normale de l’agent.none: n’expose pas l’outil de consultation au modèle vocal temps réel.
Notes
L’API média officielle de Google Meet est orientée réception, donc parler dans un appel Meet nécessite toujours un chemin de participation. Ce Plugin garde cette limite visible : Chrome gère la participation du navigateur et le routage audio local ; Twilio gère la participation par appel téléphonique. Le mode Chrome realtime nécessite soit :chrome.audioInputCommandpluschrome.audioOutputCommand: OpenClaw gère le pont du modèle temps réel et transfère l’audio G.711 mu-law 8 kHz entre ces commandes et le fournisseur de voix temps réel sélectionné.chrome.audioBridgeCommand: une commande de pont externe gère l’ensemble du chemin audio local et doit se terminer après avoir démarré ou validé son démon.
googlemeet speak déclenche le pont audio temps réel actif pour une session Chrome.
googlemeet leave arrête ce pont. Pour les sessions Twilio déléguées via le Plugin
Voice Call, leave raccroche également l’appel vocal sous-jacent.