Google Meet (Plugin)
Suporte a participantes do Google Meet para o OpenClaw. O Plugin é explícito por definição:- Ele entra apenas em uma URL explícita
https://meet.google.com/.... - A voz
realtimeé o modo padrão. - A voz em tempo real pode retornar ao agente completo do OpenClaw quando for necessário raciocínio mais profundo ou ferramentas.
- A autenticação começa como OAuth pessoal do Google ou com um perfil do Chrome já autenticado.
- Não há anúncio automático de consentimento.
- O backend de áudio padrão do Chrome é
BlackHole 2ch. - O Chrome pode ser executado localmente ou em um host Node pareado.
- O Twilio aceita um número de discagem mais um PIN ou sequência DTMF opcional.
- O comando da CLI é
googlemeet;meetfica reservado para fluxos mais amplos de teleconferência com agentes.
Início rápido
Instale as dependências locais de áudio e configure um provedor de voz em tempo real no backend. OpenAI é o padrão; Google Gemini Live também funciona comrealtime.provider: "google":
blackhole-2ch instala o dispositivo de áudio virtual BlackHole 2ch. O instalador do Homebrew exige uma reinicialização antes que o macOS exponha o dispositivo:
google_meet:
BlackHole 2ch para o caminho de microfone/alto-falante usado pelo OpenClaw. Para áudio duplex limpo, use dispositivos virtuais separados ou um grafo no estilo Loopback; um único dispositivo BlackHole já basta para um primeiro teste rápido, mas pode causar eco.
Gateway local + Chrome no Parallels
Você não precisa de um Gateway completo do OpenClaw nem de uma chave de API de modelo dentro de uma VM macOS apenas para fazer a VM ser a dona do Chrome. Execute o Gateway e o agente localmente, depois execute um host Node na VM. Ative o Plugin empacotado na VM uma vez para que o Node anuncie o comando do Chrome: O que roda em cada lugar:- Host do Gateway: Gateway do OpenClaw, workspace do agente, chaves de modelo/API, provedor realtime e a configuração do Plugin do Google Meet.
- VM macOS no Parallels: CLI/host Node do OpenClaw, Google Chrome, SoX, BlackHole 2ch e um perfil do Chrome autenticado no Google.
- Não necessário na VM: serviço Gateway, configuração do agente, chave OpenAI/GPT ou configuração de provedor de modelo.
BlackHole 2ch:
<gateway-host> for um IP da LAN e você não estiver usando TLS, o Node recusará o WebSocket em texto puro, a menos que você habilite explicitamente essa rede privada confiável:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 é uma variável de ambiente de processo, não uma configuração de openclaw.json. openclaw node install a armazena no ambiente do LaunchAgent quando ela está presente no comando de instalação.
Aprove o Node a partir do host do Gateway:
googlemeet.chrome:
google_meet com transport: "chrome-node".
Se chromeNode.node for omitido, o OpenClaw faz seleção automática apenas quando exatamente um Node conectado anuncia googlemeet.chrome. Se houver vários Nodes compatíveis conectados, defina chromeNode.node como o id do Node, o nome de exibição ou o IP remoto.
Verificações comuns de falha:
No connected Google Meet-capable node: inicieopenclaw node runna VM, aprove o pareamento e confirme queopenclaw plugins enable google-meetfoi executado na VM. Confirme também que o host do Gateway permite o comando do Node comgateway.nodes.allowCommands: ["googlemeet.chrome"].BlackHole 2ch audio device not found on the node: instaleblackhole-2chna VM e reinicie a VM.- O Chrome abre, mas não consegue entrar: faça login no Chrome dentro da VM e confirme que esse perfil consegue entrar manualmente na URL do Meet.
- Sem áudio: no Meet, encaminhe o microfone/alto-falante pelo caminho do dispositivo de áudio virtual usado pelo OpenClaw; use dispositivos virtuais separados ou roteamento no estilo Loopback para áudio duplex limpo.
Notas de instalação
O padrão realtime do Chrome usa duas ferramentas externas:sox: utilitário de áudio de linha de comando. O Plugin usa seus comandosreceplaypara a ponte de áudio padrão G.711 mu-law de 8 kHz.blackhole-2ch: driver de áudio virtual do macOS. Ele cria o dispositivo de áudioBlackHole 2chpelo qual o Chrome/Meet pode ser roteado.
LGPL-2.0-only AND GPL-2.0-only; o BlackHole é GPL-3.0. Se você criar um instalador ou appliance que empacote BlackHole com o OpenClaw, revise os termos de licenciamento upstream do BlackHole ou obtenha uma licença separada da Existential Audio.
Transportes
Chrome
O transporte Chrome abre a URL do Meet no Google Chrome e entra usando o perfil autenticado no Chrome. No macOS, o Plugin verifica a presença deBlackHole 2ch antes da inicialização. Se estiver configurado, ele também executa um comando de verificação de integridade da ponte de áudio e um comando de inicialização antes de abrir o Chrome. Use chrome quando o Chrome/áudio estiver no host do Gateway; use chrome-node quando o Chrome/áudio estiver em um Node pareado, como uma VM macOS no Parallels.
BlackHole 2ch não estiver instalado, a entrada falha com um erro de configuração em vez de entrar silenciosamente sem um caminho de áudio.
Twilio
O transporte Twilio é um plano de discagem estrito delegado ao Plugin Voice Call. Ele não analisa páginas do Meet em busca de números de telefone.--dtmf-sequence quando a reunião exigir uma sequência personalizada:
OAuth e preflight
O acesso à API de mídia do Google Meet usa primeiro um cliente OAuth pessoal. Configureoauth.clientId e opcionalmente oauth.clientSecret, depois execute:
oauth com um token de atualização. Ele usa PKCE, callback localhost em http://localhost:8085/oauth2callback e um fluxo manual de copiar/colar com --manual.
Estas variáveis de ambiente são aceitas como fallback:
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} por meio de spaces.get:
preview.enrollmentAcknowledged: true somente após confirmar que seu projeto do Cloud, principal OAuth e participantes da reunião estão inscritos no Google Workspace Developer Preview Program para APIs de mídia do Meet.
Configuração
O caminho realtime comum do Chrome precisa apenas do Plugin ativado, BlackHole, SoX e uma chave de provedor de voz em tempo real no backend. OpenAI é o padrão; definarealtime.provider: "google" para usar Google Gemini Live:
plugins.entries.google-meet.config:
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: id/nome/IP opcional do Node parachrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: comando SoXrecque grava áudio G.711 mu-law de 8 kHz na stdoutchrome.audioOutputCommand: comando SoXplayque lê áudio G.711 mu-law de 8 kHz da stdinrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: respostas faladas breves, comopenclaw_agent_consultpara respostas mais profundasrealtime.introMessage: verificação curta falada de prontidão quando a ponte realtime se conecta; defina como""para entrar em silêncio
Ferramenta
Agentes podem usar a ferramentagoogle_meet:
transport: "chrome" quando o Chrome estiver em execução no host do Gateway. Use transport: "chrome-node" quando o Chrome estiver em execução em um Node pareado, como uma VM no Parallels. Em ambos os casos, o modelo realtime e openclaw_agent_consult são executados no host do Gateway, então as credenciais do modelo permanecem lá.
Use action: "status" para listar sessões ativas ou inspecionar um ID de sessão. Use action: "speak" com sessionId e message para fazer o agente realtime falar imediatamente. Use action: "leave" para marcar uma sessão como encerrada.
Consulta ao agente em tempo real
O modo realtime do Chrome é otimizado para um loop de voz ao vivo. O provedor de voz em tempo real ouve o áudio da reunião e fala por meio da ponte de áudio configurada. Quando o modelo realtime precisa de raciocínio mais profundo, informações atuais ou ferramentas normais do OpenClaw, ele pode chamaropenclaw_agent_consult.
A ferramenta de consulta executa o agente normal do OpenClaw nos bastidores com o contexto recente da transcrição da reunião e retorna uma resposta falada concisa para a sessão de voz em tempo real. O modelo de voz pode então falar essa resposta de volta na reunião.
realtime.toolPolicy controla a execução da consulta:
safe-read-only: expõe a ferramenta de consulta e limita o agente normal aread,web_search,web_fetch,x_search,memory_searchememory_get.owner: expõe a ferramenta de consulta e permite que o agente normal use a política normal de ferramentas do agente.none: não expõe a ferramenta de consulta ao modelo de voz em tempo real.
Notas
A API oficial de mídia do Google Meet é orientada a recebimento, então falar em uma chamada do Meet ainda exige um caminho de participante. Este Plugin mantém esse limite visível: o Chrome lida com a participação no navegador e o roteamento de áudio local; o Twilio lida com a participação por discagem telefônica. O modo realtime do Chrome precisa de um destes:chrome.audioInputCommandmaischrome.audioOutputCommand: o OpenClaw controla a ponte do modelo realtime e canaliza áudio G.711 mu-law de 8 kHz entre esses comandos e o provedor de voz em tempo real selecionado.chrome.audioBridgeCommand: um comando de ponte externa controla todo o caminho de áudio local e deve encerrar após iniciar ou validar seu daemon.
googlemeet speak aciona a ponte de áudio realtime ativa para uma sessão do Chrome. googlemeet leave interrompe essa ponte. Para sessões do Twilio delegadas por meio do Plugin Voice Call, leave também encerra a chamada de voz subjacente.