Google Meet (Plugin)
Soporte de participante de Google Meet para OpenClaw. El Plugin es explícito por diseño:- Solo se une a una URL explícita de
https://meet.google.com/.... - La voz
realtimees el modo predeterminado. - La voz en tiempo real puede volver a llamar al agente completo de OpenClaw cuando se necesita razonamiento más profundo o herramientas.
- La autenticación comienza como Google OAuth personal o un perfil de Chrome que ya haya iniciado sesión.
- No hay anuncio automático de consentimiento.
- El backend de audio predeterminado de Chrome es
BlackHole 2ch. - Chrome puede ejecutarse localmente o en un host Node emparejado.
- Twilio acepta un número de acceso telefónico más una secuencia opcional de PIN o DTMF.
- El comando de la CLI es
googlemeet;meetestá reservado para flujos de teleconferencia de agentes más amplios.
Inicio rápido
Instala las dependencias de audio locales y configura un proveedor de voz en tiempo real de backend. OpenAI es el predeterminado; Google Gemini Live también funciona conrealtime.provider: "google":
blackhole-2ch instala el dispositivo de audio virtual BlackHole 2ch. El instalador de Homebrew requiere un reinicio antes de que macOS exponga el dispositivo:
google_meet:
BlackHole 2ch para la ruta de micrófono/altavoz usada por OpenClaw. Para un audio dúplex limpio, usa dispositivos virtuales separados o un grafo de estilo Loopback; un único dispositivo BlackHole es suficiente para una primera prueba rápida, pero puede generar eco.
Gateway local + Chrome en Parallels
No necesitas un Gateway completo de OpenClaw ni una clave de API de modelo dentro de una VM de macOS solo para hacer que la VM sea la propietaria de Chrome. Ejecuta el Gateway y el agente localmente, y luego ejecuta un host Node en la VM. Habilita el Plugin incluido en la VM una vez para que el Node anuncie el comando de Chrome: Qué se ejecuta en cada lugar:- Host del Gateway: OpenClaw Gateway, espacio de trabajo del agente, claves de modelo/API, proveedor en tiempo real y la configuración del Plugin de Google Meet.
- VM macOS de Parallels: CLI/host Node de OpenClaw, Google Chrome, SoX, BlackHole 2ch y un perfil de Chrome con sesión iniciada en Google.
- No se necesita en la VM: servicio Gateway, configuración del agente, clave de OpenAI/GPT o configuración del proveedor del modelo.
BlackHole 2ch:
<gateway-host> es una IP de LAN y no estás usando TLS, el Node rechaza el WebSocket en texto plano a menos que lo habilites explícitamente para esa red privada de confianza:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 es una variable de entorno del proceso, no una configuración de openclaw.json. openclaw node install la almacena en el entorno del LaunchAgent cuando está presente en el comando de instalación.
Aprueba el Node desde el host del Gateway:
googlemeet.chrome:
google_meet con transport: "chrome-node".
Si se omite chromeNode.node, OpenClaw selecciona automáticamente solo cuando exactamente un Node conectado anuncia googlemeet.chrome. Si hay varios Nodes compatibles conectados, establece chromeNode.node en el id del Node, el nombre para mostrar o la IP remota.
Comprobaciones comunes de fallos:
No connected Google Meet-capable node: iniciaopenclaw node runen la VM, aprueba el emparejamiento y asegúrate de haber ejecutadoopenclaw plugins enable google-meeten la VM. Confirma también que el host del Gateway permite el comando del Node congateway.nodes.allowCommands: ["googlemeet.chrome"].BlackHole 2ch audio device not found on the node: instalablackhole-2chen la VM y reinicia la VM.- Chrome se abre pero no puede unirse: inicia sesión en Chrome dentro de la VM y confirma que ese perfil puede unirse manualmente a la URL de Meet.
- Sin audio: en Meet, enruta el micrófono/altavoz a través de la ruta del dispositivo de audio virtual usada por OpenClaw; usa dispositivos virtuales separados o enrutamiento de estilo Loopback para un audio dúplex limpio.
Notas de instalación
El valor predeterminado en tiempo real de Chrome usa dos herramientas externas:sox: utilidad de audio de línea de comandos. El Plugin usa sus comandosrecyplaypara el puente de audio predeterminado de 8 kHz G.711 mu-law.blackhole-2ch: controlador de audio virtual de macOS. Crea el dispositivo de audioBlackHole 2chpor el que Chrome/Meet puede enrutar.
LGPL-2.0-only AND GPL-2.0-only; BlackHole es GPL-3.0. Si creas un instalador o dispositivo que incluya BlackHole con OpenClaw, revisa los términos de licencia upstream de BlackHole u obtén una licencia aparte de Existential Audio.
Transportes
Chrome
El transporte de Chrome abre la URL de Meet en Google Chrome y se une como el perfil de Chrome con sesión iniciada. En macOS, el Plugin compruebaBlackHole 2ch antes del inicio. Si está configurado, también ejecuta un comando de comprobación del estado del puente de audio y un comando de inicio antes de abrir Chrome. Usa chrome cuando Chrome/audio se ejecuten en el host del Gateway; usa chrome-node cuando Chrome/audio se ejecuten en un Node emparejado, como una VM macOS de Parallels.
BlackHole 2ch no está instalado, la unión falla con un error de configuración en lugar de unirse silenciosamente sin una ruta de audio.
Twilio
El transporte de Twilio es un plan de marcado estricto delegado al Plugin de Voice Call. No analiza páginas de Meet para buscar números de teléfono.--dtmf-sequence cuando la reunión necesite una secuencia personalizada:
OAuth y comprobación previa
El acceso a la API multimedia de Google Meet usa primero un cliente OAuth personal. Configuraoauth.clientId y opcionalmente oauth.clientSecret, y luego ejecuta:
oauth con un token de actualización. Usa PKCE, devolución de llamada localhost en http://localhost:8085/oauth2callback y un flujo manual de copiar/pegar con --manual.
Estas variables de entorno se aceptan como alternativas:
OPENCLAW_GOOGLE_MEET_CLIENT_IDoGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECREToGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENoGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENoGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AToGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGoGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKoGOOGLE_MEET_PREVIEW_ACK
spaces/{id} mediante spaces.get:
preview.enrollmentAcknowledged: true solo después de confirmar que tu proyecto de Cloud, principal de OAuth y participantes de la reunión están inscritos en el Google Workspace Developer Preview Program para las API multimedia de Meet.
Configuración
La ruta común en tiempo real de Chrome solo necesita el Plugin habilitado, BlackHole, SoX y una clave de proveedor de voz en tiempo real de backend. OpenAI es el predeterminado; establecerealtime.provider: "google" para usar Google Gemini Live:
plugins.entries.google-meet.config:
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: id/nombre/IP del Node opcional parachrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: comando SoXrecque escribe audio de 8 kHz G.711 mu-law en stdoutchrome.audioOutputCommand: comando SoXplayque lee audio de 8 kHz G.711 mu-law desde stdinrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: respuestas habladas breves, conopenclaw_agent_consultpara respuestas más profundasrealtime.introMessage: breve verificación hablada de disponibilidad cuando se conecta el puente en tiempo real; establécelo en""para unirse en silencio
Herramienta
Los agentes pueden usar la herramientagoogle_meet:
transport: "chrome" cuando Chrome se ejecute en el host del Gateway. Usa transport: "chrome-node" cuando Chrome se ejecute en un Node emparejado, como una VM de Parallels. En ambos casos, el modelo en tiempo real y openclaw_agent_consult se ejecutan en el host del Gateway, por lo que las credenciales del modelo permanecen allí.
Usa action: "status" para listar sesiones activas o inspeccionar un ID de sesión. Usa action: "speak" con sessionId y message para hacer que el agente en tiempo real hable de inmediato. Usa action: "leave" para marcar una sesión como finalizada.
Consulta del agente en tiempo real
El modorealtime de Chrome está optimizado para un bucle de voz en vivo. El proveedor de voz en tiempo real escucha el audio de la reunión y habla a través del puente de audio configurado. Cuando el modelo en tiempo real necesita razonamiento más profundo, información actual o herramientas normales de OpenClaw, puede llamar a openclaw_agent_consult.
La herramienta de consulta ejecuta el agente normal de OpenClaw en segundo plano con el contexto reciente de la transcripción de la reunión y devuelve una respuesta hablada concisa a la sesión de voz en tiempo real. Luego, el modelo de voz puede volver a decir esa respuesta en la reunión.
realtime.toolPolicy controla la ejecución de la consulta:
safe-read-only: expone la herramienta de consulta y limita el agente normal aread,web_search,web_fetch,x_search,memory_searchymemory_get.owner: expone la herramienta de consulta y permite que el agente normal use la política de herramientas normal del agente.none: no expone la herramienta de consulta al modelo de voz en tiempo real.
Notas
La API multimedia oficial de Google Meet está orientada a la recepción, por lo que hablar en una llamada de Meet sigue necesitando una ruta de participante. Este Plugin mantiene ese límite visible: Chrome gestiona la participación del navegador y el enrutamiento de audio local; Twilio gestiona la participación mediante acceso telefónico. El modorealtime de Chrome necesita uno de estos dos:
chrome.audioInputCommandmáschrome.audioOutputCommand: OpenClaw se encarga del puente del modelo en tiempo real y canaliza audio de 8 kHz G.711 mu-law entre esos comandos y el proveedor de voz en tiempo real seleccionado.chrome.audioBridgeCommand: un comando de puente externo se encarga de toda la ruta de audio local y debe salir después de iniciar o validar su daemon.
googlemeet speak activa el puente de audio en tiempo real activo para una sesión de Chrome. googlemeet leave detiene ese puente. Para sesiones de Twilio delegadas mediante el Plugin de Voice Call, leave también cuelga la llamada de voz subyacente.