Google Meet (Plugin)
Supporto ai partecipanti Google Meet per OpenClaw. Il Plugin è esplicito per progettazione:- Si unisce solo a un URL esplicito
https://meet.google.com/.... - La voce
realtimeè la modalità predefinita. - La voce in tempo reale può richiamare l’agente OpenClaw completo quando sono necessari ragionamenti più approfonditi o strumenti.
- L’autenticazione inizia come OAuth Google personale o come profilo Chrome già connesso.
- Non c’è alcun annuncio automatico di consenso.
- Il backend audio Chrome predefinito è
BlackHole 2ch. - Chrome può essere eseguito localmente o su un host Node associato.
- Twilio accetta un numero di accesso telefonico più un PIN opzionale o una sequenza DTMF.
- Il comando CLI è
googlemeet;meetè riservato a flussi di teleconferenza dell’agente più ampi.
Avvio rapido
Installa le dipendenze audio locali e configura un provider vocale in tempo reale backend. OpenAI è quello predefinito; anche Google Gemini Live funziona conrealtime.provider: "google":
blackhole-2ch installa il dispositivo audio virtuale BlackHole 2ch. Il programma di installazione di Homebrew richiede un riavvio prima che macOS esponga il dispositivo:
google_meet:
BlackHole 2ch per il percorso microfono/altoparlante usato da OpenClaw. Per un audio duplex pulito, usa dispositivi virtuali separati o un grafo in stile Loopback; un singolo dispositivo BlackHole è sufficiente per un primo smoke test, ma può creare eco.
Gateway locale + Chrome in Parallels
NON hai bisogno di un Gateway OpenClaw completo o di una chiave API del modello dentro una VM macOS solo per fare in modo che la VM ospiti Chrome. Esegui il Gateway e l’agente localmente, poi esegui un host Node nella VM. Abilita una volta il Plugin incluso sulla VM così il Node pubblicizza il comando Chrome: Cosa viene eseguito dove:- Host Gateway: OpenClaw Gateway, workspace dell’agente, chiavi modello/API, provider in tempo reale e configurazione del Plugin Google Meet.
- VM macOS Parallels: CLI/host Node OpenClaw, Google Chrome, SoX, BlackHole 2ch e un profilo Chrome connesso a Google.
- Non necessari nella VM: servizio Gateway, configurazione dell’agente, chiave OpenAI/GPT o configurazione del provider del modello.
BlackHole 2ch:
<gateway-host> è un IP LAN e non stai usando TLS, il Node rifiuta il WebSocket in testo semplice a meno che tu non acconsenta esplicitamente per quella rete privata fidata:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 è un ambiente di processo, non un’impostazione openclaw.json. openclaw node install lo memorizza nell’ambiente LaunchAgent quando è presente nel comando di installazione.
Approva il Node dall’host Gateway:
googlemeet.chrome:
google_meet con transport: "chrome-node".
Se chromeNode.node viene omesso, OpenClaw seleziona automaticamente solo quando esattamente un Node connesso pubblicizza googlemeet.chrome. Se sono connessi più Node compatibili, imposta chromeNode.node sull’id del Node, sul nome visualizzato o sull’IP remoto.
Controlli comuni in caso di errore:
No connected Google Meet-capable node: avviaopenclaw node runnella VM, approva l’associazione e assicurati cheopenclaw plugins enable google-meetsia stato eseguito nella VM. Conferma anche che l’host Gateway consenta il comando del Node congateway.nodes.allowCommands: ["googlemeet.chrome"].BlackHole 2ch audio device not found on the node: installablackhole-2chnella VM e riavvia la VM.- Chrome si apre ma non riesce a unirsi: accedi a Chrome nella VM e conferma che quel profilo possa unirsi manualmente all’URL Meet.
- Nessun audio: in Meet, instrada microfono/altoparlante attraverso il percorso del dispositivo audio virtuale usato da OpenClaw; usa dispositivi virtuali separati o instradamento in stile Loopback per un audio duplex pulito.
Note di installazione
Il valore predefinito Chrome in tempo reale usa due strumenti esterni:sox: utilità audio da riga di comando. Il Plugin usa i suoi comandireceplayper il bridge audio predefinito G.711 mu-law a 8 kHz.blackhole-2ch: driver audio virtuale macOS. Crea il dispositivo audioBlackHole 2chattraverso cui Chrome/Meet può essere instradato.
LGPL-2.0-only AND GPL-2.0-only; BlackHole è GPL-3.0. Se crei un programma di installazione o un’appliance che include BlackHole con OpenClaw, esamina i termini di licenza upstream di BlackHole oppure ottieni una licenza separata da Existential Audio.
Trasporti
Chrome
Il trasporto Chrome apre l’URL Meet in Google Chrome e si unisce come profilo Chrome connesso. Su macOS, il Plugin controlla la presenza diBlackHole 2ch prima dell’avvio. Se configurato, esegue anche un comando di controllo integrità del bridge audio e un comando di avvio prima di aprire Chrome. Usa chrome quando Chrome/audio si trovano sull’host Gateway; usa chrome-node quando Chrome/audio si trovano su un Node associato come una VM macOS Parallels.
BlackHole 2ch non è installato, l’accesso alla riunione fallisce con un errore di configurazione invece di unirsi silenziosamente senza un percorso audio.
Twilio
Il trasporto Twilio è un piano di composizione rigoroso delegato al Plugin Voice Call. Non analizza le pagine Meet per trovare numeri di telefono.--dtmf-sequence quando la riunione richiede una sequenza personalizzata:
OAuth e preflight
L’accesso alla Google Meet Media API usa prima un client OAuth personale. Configuraoauth.clientId e facoltativamente oauth.clientSecret, poi esegui:
oauth con un refresh token. Usa PKCE, callback localhost su http://localhost:8085/oauth2callback e un flusso manuale copia/incolla con --manual.
Queste variabili d’ambiente sono accettate come fallback:
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} tramite spaces.get:
preview.enrollmentAcknowledged: true solo dopo aver confermato che il tuo progetto Cloud, il principal OAuth e i partecipanti alla riunione siano iscritti al Google Workspace Developer Preview Program per le Meet media APIs.
Configurazione
Il percorso Chrome in tempo reale comune richiede solo il Plugin abilitato, BlackHole, SoX e una chiave provider vocale in tempo reale backend. OpenAI è quello predefinito; impostarealtime.provider: "google" per usare Google Gemini Live:
plugins.entries.google-meet.config:
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: id/nome/IP del Node facoltativo perchrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: comando SoXrecche scrive audio G.711 mu-law a 8 kHz su stdoutchrome.audioOutputCommand: comando SoXplayche legge audio G.711 mu-law a 8 kHz da stdinrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: risposte vocali brevi, conopenclaw_agent_consultper risposte più approfonditerealtime.introMessage: breve controllo vocale di disponibilità quando il bridge realtime si connette; impostalo su""per unirti in silenzio
Strumento
Gli agenti possono usare lo strumentogoogle_meet:
transport: "chrome" quando Chrome viene eseguito sull’host Gateway. Usa
transport: "chrome-node" quando Chrome viene eseguito su un Node associato come una VM Parallels. In entrambi i casi il modello realtime e openclaw_agent_consult vengono eseguiti sull’host Gateway, quindi le credenziali del modello restano lì.
Usa action: "status" per elencare le sessioni attive o ispezionare un ID sessione. Usa
action: "speak" con sessionId e message per far parlare immediatamente l’agente realtime. Usa action: "leave" per contrassegnare una sessione come terminata.
Consultazione dell’agente in tempo reale
La modalità realtime di Chrome è ottimizzata per un ciclo vocale dal vivo. Il provider vocale realtime ascolta l’audio della riunione e parla attraverso il bridge audio configurato. Quando il modello realtime ha bisogno di ragionamenti più approfonditi, informazioni aggiornate o dei normali strumenti OpenClaw, può chiamareopenclaw_agent_consult.
Lo strumento di consultazione esegue dietro le quinte il normale agente OpenClaw con il contesto recente della trascrizione della riunione e restituisce una risposta parlata concisa alla sessione vocale realtime. Il modello vocale può quindi pronunciare quella risposta nella riunione.
realtime.toolPolicy controlla l’esecuzione della consultazione:
safe-read-only: espone lo strumento di consultazione e limita l’agente normale aread,web_search,web_fetch,x_search,memory_searchememory_get.owner: espone lo strumento di consultazione e consente all’agente normale di usare la normale policy degli strumenti dell’agente.none: non espone lo strumento di consultazione al modello vocale realtime.
Note
La media API ufficiale di Google Meet è orientata alla ricezione, quindi per parlare in una chiamata Meet serve comunque un percorso da partecipante. Questo Plugin mantiene visibile quel confine: Chrome gestisce la partecipazione dal browser e l’instradamento audio locale; Twilio gestisce la partecipazione tramite accesso telefonico. La modalità realtime di Chrome richiede una delle due opzioni:chrome.audioInputCommandpiùchrome.audioOutputCommand: OpenClaw gestisce il bridge del modello realtime e convoglia audio G.711 mu-law a 8 kHz tra quei comandi e il provider vocale realtime selezionato.chrome.audioBridgeCommand: un comando bridge esterno gestisce l’intero percorso audio locale e deve terminare dopo aver avviato o convalidato il proprio demone.
googlemeet speak attiva il bridge audio realtime attivo per una sessione Chrome.
googlemeet leave arresta quel bridge. Per le sessioni Twilio delegate tramite il Plugin Voice Call, leave riaggancia anche la chiamata vocale sottostante.