Google Meet (Plugin)
Google Meet-Teilnehmerunterstützung für OpenClaw. Das Plugin ist absichtlich explizit gestaltet:- Es tritt nur einer expliziten
https://meet.google.com/...-URL bei. realtime-Sprachausgabe ist der Standardmodus.- Realtime-Sprachausgabe kann bei Bedarf an den vollständigen OpenClaw-Agenten zurückdelegieren, wenn tiefergehendes Reasoning oder Tools erforderlich sind.
- Die Authentifizierung beginnt als persönliches Google OAuth oder mit einem bereits angemeldeten Chrome-Profil.
- Es gibt keine automatische Zustimmungshinweisansage.
- Das standardmäßige Chrome-Audio-Backend ist
BlackHole 2ch. - Chrome kann lokal oder auf einem gekoppelten Node-Host laufen.
- Twilio akzeptiert eine Einwahlnummer plus optionale PIN oder DTMF-Sequenz.
- Der CLI-Befehl ist
googlemeet;meetist für allgemeinere Telekonferenz-Workflows von Agenten reserviert.
Schnellstart
Installieren Sie die lokalen Audioabhängigkeiten und konfigurieren Sie einen Backend-Anbieter für Realtime-Sprachausgabe. OpenAI ist der Standard; Google Gemini Live funktioniert ebenfalls mitrealtime.provider: "google":
blackhole-2ch installiert das virtuelle Audiogerät BlackHole 2ch. Das Installationsprogramm von Homebrew erfordert einen Neustart, bevor macOS das Gerät bereitstellt:
google_meet beitreten lassen:
BlackHole 2ch für den Mikrofon-/Lautsprecherpfad, den OpenClaw verwendet. Für sauberes Duplex-Audio verwenden Sie separate virtuelle Geräte oder einen Loopback-ähnlichen Graphen; ein einzelnes BlackHole-Gerät reicht für einen ersten Smoke-Test aus, kann aber Echo verursachen.
Lokales Gateway + Parallels Chrome
Sie benötigen kein vollständiges OpenClaw Gateway oder keinen Modell-API-Schlüssel innerhalb einer macOS-VM, nur damit die VM Chrome hostet. Führen Sie das Gateway und den Agenten lokal aus und starten Sie dann einen Node-Host in der VM. Aktivieren Sie das gebündelte Plugin einmal in der VM, damit der Node den Chrome-Befehl bekanntgibt: Was wo läuft:- Gateway-Host: OpenClaw Gateway, Agent-Workspace, Modell-/API-Schlüssel, Realtime-Anbieter und die Google Meet-Plugin-Konfiguration.
- Parallels macOS-VM: OpenClaw CLI/Node-Host, Google Chrome, SoX, BlackHole 2ch und ein bei Google angemeldetes Chrome-Profil.
- In der VM nicht erforderlich: Gateway-Dienst, Agent-Konfiguration, OpenAI-/GPT-Schlüssel oder Einrichtung eines Modellanbieters.
BlackHole 2ch bereitstellt:
<gateway-host> eine LAN-IP ist und Sie kein TLS verwenden, verweigert der Node das unverschlüsselte WebSocket, es sei denn, Sie erlauben dies ausdrücklich für dieses vertrauenswürdige private Netzwerk:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 ist eine Prozessumgebung und keine openclaw.json-Einstellung. openclaw node install speichert sie in der LaunchAgent-Umgebung, wenn sie beim Installationsbefehl vorhanden ist.
Genehmigen Sie den Node vom Gateway-Host aus:
googlemeet.chrome bekanntgibt:
google_meet mit transport: "chrome-node" zu verwenden.
Wenn chromeNode.node ausgelassen wird, wählt OpenClaw nur dann automatisch aus, wenn genau ein verbundener Node googlemeet.chrome bekanntgibt. Wenn mehrere geeignete Nodes verbunden sind, setzen Sie chromeNode.node auf die Node-ID, den Anzeigenamen oder die entfernte IP.
Häufige Fehlerprüfungen:
No connected Google Meet-capable node: Starten Sieopenclaw node runin der VM, genehmigen Sie das Pairing und stellen Sie sicher, dassopenclaw plugins enable google-meetin der VM ausgeführt wurde. Bestätigen Sie außerdem, dass der Gateway-Host den Node-Befehl mitgateway.nodes.allowCommands: ["googlemeet.chrome"]erlaubt.BlackHole 2ch audio device not found on the node: Installieren Sieblackhole-2chin der VM und starten Sie die VM neu.- Chrome wird geöffnet, kann aber nicht beitreten: Melden Sie sich in der VM in Chrome an und bestätigen Sie, dass dieses Profil der Meet-URL manuell beitreten kann.
- Kein Audio: Leiten Sie in Meet Mikrofon und Lautsprecher über den virtuellen Audiogerätepfad, den OpenClaw verwendet; verwenden Sie separate virtuelle Geräte oder Loopback-ähnliches Routing für sauberes Duplex-Audio.
Installationshinweise
Der standardmäßige Chrome-Realtime-Pfad verwendet zwei externe Tools:sox: Audio-Dienstprogramm für die Befehlszeile. Das Plugin verwendet seine Befehlerecundplayfür die standardmäßige 8-kHz-G.711-μ-law-Audiobrücke.blackhole-2ch: virtueller macOS-Audiotreiber. Er erstellt das AudiogerätBlackHole 2ch, über das Chrome/Meet geroutet werden kann.
LGPL-2.0-only AND GPL-2.0-only lizenziert; BlackHole unter GPL-3.0. Wenn Sie ein Installationsprogramm oder eine Appliance erstellen, die BlackHole zusammen mit OpenClaw bündelt, prüfen Sie die vorgelagerten Lizenzbedingungen von BlackHole oder erwerben Sie eine separate Lizenz von Existential Audio.
Transporte
Chrome
Der Chrome-Transport öffnet die Meet-URL in Google Chrome und tritt als das angemeldete Chrome-Profil bei. Unter macOS prüft das Plugin vor dem Start aufBlackHole 2ch. Falls konfiguriert, führt es außerdem einen Health-Befehl für die Audiobrücke und einen Startbefehl aus, bevor Chrome geöffnet wird. Verwenden Sie chrome, wenn Chrome/Audiopfad auf dem Gateway-Host liegen; verwenden Sie chrome-node, wenn Chrome/Audiopfad auf einem gekoppelten Node wie einer Parallels-macOS-VM liegen.
BlackHole 2ch nicht installiert ist, schlägt der Beitritt mit einem Einrichtungsfehler fehl, anstatt stillschweigend ohne Audiopfad beizutreten.
Twilio
Der Twilio-Transport ist ein strikter Wählplan, der an das Voice Call-Plugin delegiert wird. Er analysiert keine Meet-Seiten, um Telefonnummern zu ermitteln.--dtmf-sequence, wenn das Meeting eine benutzerdefinierte Sequenz benötigt:
OAuth und Vorabprüfung
Der Zugriff auf die Google Meet Media API verwendet zunächst einen persönlichen OAuth-Client. Konfigurieren Sieoauth.clientId und optional oauth.clientSecret, und führen Sie dann Folgendes aus:
oauth-Konfigurationsblock mit einem Refresh-Token aus. Er verwendet PKCE, einen localhost-Callback auf http://localhost:8085/oauth2callback und mit --manual einen manuellen Kopieren-/Einfügen-Ablauf.
Diese Umgebungsvariablen werden als Fallbacks akzeptiert:
OPENCLAW_GOOGLE_MEET_CLIENT_IDoderGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECREToderGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENoderGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENoderGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AToderGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGoderGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKoderGOOGLE_MEET_PREVIEW_ACK
spaces/{id} über spaces.get auf:
preview.enrollmentAcknowledged: true erst, nachdem Sie bestätigt haben, dass Ihr Cloud-Projekt, Ihr OAuth-Principal und die Meeting-Teilnehmer im Google Workspace Developer Preview Program für Meet-Medien-APIs registriert sind.
Konfiguration
Der übliche Chrome-Realtime-Pfad benötigt nur das aktivierte Plugin, BlackHole, SoX und einen API-Schlüssel für einen Backend-Anbieter für Realtime-Sprachausgabe. OpenAI ist der Standard; setzen Sierealtime.provider: "google", um Google Gemini Live zu verwenden:
plugins.entries.google-meet.config fest:
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: optionale Node-ID/-Name/-IP fürchrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: SoX-Befehlrec, der 8-kHz-G.711-μ-law-Audio in stdout schreibtchrome.audioOutputCommand: SoX-Befehlplay, der 8-kHz-G.711-μ-law-Audio aus stdin liestrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: kurze gesprochene Antworten, mitopenclaw_agent_consultfür tiefergehende Antwortenrealtime.introMessage: kurze gesprochene Bereitschaftsprüfung, wenn die Realtime-Brücke verbunden wird; setzen Sie es auf"", um still beizutreten
Tool
Agenten können das Toolgoogle_meet verwenden:
transport: "chrome", wenn Chrome auf dem Gateway-Host läuft. Verwenden Sie transport: "chrome-node", wenn Chrome auf einem gekoppelten Node wie einer Parallels-VM läuft. In beiden Fällen laufen das Realtime-Modell und openclaw_agent_consult auf dem Gateway-Host, sodass die Modellzugangsdaten dort verbleiben.
Verwenden Sie action: "status", um aktive Sitzungen aufzulisten oder eine Sitzungs-ID zu prüfen. Verwenden Sie action: "speak" mit sessionId und message, damit der Realtime-Agent sofort spricht. Verwenden Sie action: "leave", um eine Sitzung als beendet zu markieren.
Realtime-Agentenberatung
Der Chrome-Realtime-Modus ist für eine Live-Sprachschleife optimiert. Der Anbieter für Realtime-Sprachausgabe hört das Meeting-Audio und spricht über die konfigurierte Audiobrücke. Wenn das Realtime-Modell tiefergehendes Reasoning, aktuelle Informationen oder normale OpenClaw-Tools benötigt, kann esopenclaw_agent_consult aufrufen.
Das Consult-Tool führt im Hintergrund den regulären OpenClaw-Agenten mit aktuellem Meeting-Transkriptkontext aus und gibt eine knappe gesprochene Antwort an die Realtime-Sprachsitzung zurück. Das Sprachmodell kann diese Antwort dann wieder in das Meeting sprechen.
realtime.toolPolicy steuert den Consult-Lauf:
safe-read-only: das Consult-Tool verfügbar machen und den regulären Agenten aufread,web_search,web_fetch,x_search,memory_searchundmemory_getbeschränken.owner: das Consult-Tool verfügbar machen und dem regulären Agenten die normale Agenten-Toolrichtlinie erlauben.none: das Consult-Tool dem Realtime-Sprachmodell nicht verfügbar machen.
Hinweise
Die offizielle Media API von Google Meet ist auf Empfang ausgerichtet, daher ist für das Sprechen in einen Meet-Anruf weiterhin ein Teilnehmerpfad erforderlich. Dieses Plugin hält diese Grenze sichtbar: Chrome übernimmt die Browser-Teilnahme und das lokale Audio-Routing; Twilio übernimmt die Teilnahme per Telefoneinwahl. Der Chrome-Realtime-Modus benötigt entweder:chrome.audioInputCommandpluschrome.audioOutputCommand: OpenClaw verwaltet die Realtime-Modellbrücke und leitet 8-kHz-G.711-μ-law-Audio zwischen diesen Befehlen und dem ausgewählten Anbieter für Realtime-Sprachausgabe weiter.chrome.audioBridgeCommand: Ein externer Brückenbefehl verwaltet den gesamten lokalen Audiopfad und muss beendet werden, nachdem sein Daemon gestartet oder validiert wurde.
googlemeet speak löst die aktive Realtime-Audiobrücke für eine Chrome-Sitzung aus. googlemeet leave stoppt diese Brücke. Bei Twilio-Sitzungen, die über das Voice Call-Plugin delegiert werden, legt leave auch den zugrunde liegenden Sprachanruf auf.