Google Meet (plugin)
Dukungan peserta Google Meet untuk OpenClaw. Plugin ini sengaja dibuat eksplisit:- Hanya bergabung ke URL
https://meet.google.com/...yang eksplisit. - Suara
realtimeadalah mode default. - Suara realtime dapat memanggil kembali ke agen OpenClaw penuh saat penalaran yang lebih mendalam atau tool diperlukan.
- Autentikasi dimulai sebagai OAuth Google pribadi atau profil Chrome yang sudah masuk.
- Tidak ada pengumuman persetujuan otomatis.
- Backend audio Chrome default adalah
BlackHole 2ch. - Chrome dapat berjalan secara lokal atau di host Node yang dipasangkan.
- Twilio menerima nomor dial-in ditambah PIN opsional atau urutan DTMF.
- Perintah CLI adalah
googlemeet;meetdicadangkan untuk alur konferensi telepon agen yang lebih luas.
Memulai dengan cepat
Instal dependensi audio lokal dan konfigurasikan penyedia suara realtime backend. OpenAI adalah default; Google Gemini Live juga berfungsi denganrealtime.provider: "google":
blackhole-2ch menginstal perangkat audio virtual BlackHole 2ch. Penginstal
Homebrew memerlukan reboot sebelum macOS menampilkan perangkat tersebut:
google_meet:
BlackHole 2ch untuk jalur mikrofon/speaker yang digunakan oleh OpenClaw. Untuk audio duplex yang bersih, gunakan perangkat virtual terpisah atau grafik bergaya Loopback; satu perangkat BlackHole saja cukup untuk pengujian asap awal, tetapi dapat menimbulkan gema.
Gateway Lokal + Chrome Parallels
Anda tidak memerlukan OpenClaw Gateway penuh atau kunci API model di dalam VM macOS hanya agar VM memiliki Chrome. Jalankan Gateway dan agen secara lokal, lalu jalankan host node di VM. Aktifkan plugin bawaan di VM sekali agar node mengiklankan perintah Chrome: Apa yang berjalan di mana:- Host Gateway: OpenClaw Gateway, ruang kerja agen, kunci model/API, penyedia realtime, dan konfigurasi plugin Google Meet.
- VM macOS Parallels: OpenClaw CLI/host node, Google Chrome, SoX, BlackHole 2ch, dan profil Chrome yang masuk ke Google.
- Tidak diperlukan di VM: layanan Gateway, konfigurasi agen, kunci OpenAI/GPT, atau penyiapan penyedia model.
BlackHole 2ch:
<gateway-host> adalah IP LAN dan Anda tidak menggunakan TLS, node menolak WebSocket plaintext kecuali Anda ikut serta untuk jaringan privat tepercaya tersebut:
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 adalah environment proses, bukan pengaturan openclaw.json. openclaw node install menyimpannya di environment LaunchAgent ketika variabel tersebut ada pada perintah instalasi.
Setujui node dari host Gateway:
googlemeet.chrome:
google_meet dengan transport: "chrome-node".
Jika chromeNode.node dihilangkan, OpenClaw hanya memilih otomatis saat tepat satu node terhubung mengiklankan googlemeet.chrome. Jika beberapa node yang mampu terhubung, atur chromeNode.node ke id node, nama tampilan, atau IP jarak jauh.
Pemeriksaan kegagalan umum:
No connected Google Meet-capable node: mulaiopenclaw node rundi VM, setujui pemasangan, dan pastikanopenclaw plugins enable google-meettelah dijalankan di VM. Konfirmasikan juga host Gateway mengizinkan perintah node dengangateway.nodes.allowCommands: ["googlemeet.chrome"].BlackHole 2ch audio device not found on the node: instalblackhole-2chdi VM dan reboot VM.- Chrome terbuka tetapi tidak dapat bergabung: masuk ke Chrome di dalam VM dan konfirmasikan profil tersebut dapat bergabung ke URL Meet secara manual.
- Tidak ada audio: di Meet, arahkan mikrofon/speaker melalui jalur perangkat audio virtual yang digunakan oleh OpenClaw; gunakan perangkat virtual terpisah atau perutean bergaya Loopback untuk audio duplex yang bersih.
Catatan instalasi
Default realtime Chrome menggunakan dua tool eksternal:sox: utilitas audio command-line. Plugin menggunakan perintahrecdanplayuntuk jembatan audio G.711 mu-law 8 kHz default.blackhole-2ch: driver audio virtual macOS. Driver ini membuat perangkat audioBlackHole 2chyang dapat digunakan Chrome/Meet untuk perutean.
LGPL-2.0-only AND GPL-2.0-only; BlackHole adalah GPL-3.0. Jika Anda membangun installer atau appliance yang membundel BlackHole dengan OpenClaw, tinjau ketentuan lisensi upstream BlackHole atau dapatkan lisensi terpisah dari Existential Audio.
Transport
Chrome
Transport Chrome membuka URL Meet di Google Chrome dan bergabung sebagai profil Chrome yang sedang masuk. Di macOS, plugin memeriksaBlackHole 2ch sebelum peluncuran. Jika dikonfigurasi, plugin juga menjalankan perintah pemeriksaan kesehatan jembatan audio dan perintah startup sebelum membuka Chrome. Gunakan chrome saat Chrome/audio berjalan di host Gateway; gunakan chrome-node saat Chrome/audio berjalan di node yang dipasangkan seperti VM macOS Parallels.
BlackHole 2ch tidak terinstal, proses bergabung gagal dengan galat penyiapan alih-alih diam-diam bergabung tanpa jalur audio.
Twilio
Transport Twilio adalah rencana panggilan ketat yang didelegasikan ke plugin Voice Call. Transport ini tidak mengurai halaman Meet untuk nomor telepon.--dtmf-sequence ketika rapat memerlukan urutan khusus:
OAuth dan preflight
Akses Google Meet Media API menggunakan klien OAuth pribadi terlebih dahulu. Konfigurasikanoauth.clientId dan secara opsional oauth.clientSecret, lalu jalankan:
oauth dengan refresh token. Perintah ini menggunakan PKCE, callback localhost pada http://localhost:8085/oauth2callback, dan alur salin/tempel manual dengan --manual.
Variabel environment berikut diterima sebagai fallback:
OPENCLAW_GOOGLE_MEET_CLIENT_IDatauGOOGLE_MEET_CLIENT_IDOPENCLAW_GOOGLE_MEET_CLIENT_SECRETatauGOOGLE_MEET_CLIENT_SECRETOPENCLAW_GOOGLE_MEET_REFRESH_TOKENatauGOOGLE_MEET_REFRESH_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKENatauGOOGLE_MEET_ACCESS_TOKENOPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATatauGOOGLE_MEET_ACCESS_TOKEN_EXPIRES_ATOPENCLAW_GOOGLE_MEET_DEFAULT_MEETINGatauGOOGLE_MEET_DEFAULT_MEETINGOPENCLAW_GOOGLE_MEET_PREVIEW_ACKatauGOOGLE_MEET_PREVIEW_ACK
spaces/{id} melalui spaces.get:
preview.enrollmentAcknowledged: true hanya setelah mengonfirmasi project Cloud Anda, principal OAuth, dan peserta rapat terdaftar dalam Google Workspace Developer Preview Program untuk Meet media APIs.
Konfigurasi
Jalur realtime Chrome umum hanya memerlukan plugin diaktifkan, BlackHole, SoX, dan kunci penyedia suara realtime backend. OpenAI adalah default; aturrealtime.provider: "google" untuk menggunakan Google Gemini Live:
plugins.entries.google-meet.config:
defaultTransport: "chrome"defaultMode: "realtime"chromeNode.node: id/nama/IP node opsional untukchrome-nodechrome.audioBackend: "blackhole-2ch"chrome.audioInputCommand: perintah SoXrecyang menulis audio G.711 mu-law 8 kHz ke stdoutchrome.audioOutputCommand: perintah SoXplayyang membaca audio G.711 mu-law 8 kHz dari stdinrealtime.provider: "openai"realtime.toolPolicy: "safe-read-only"realtime.instructions: balasan lisan singkat, denganopenclaw_agent_consultuntuk jawaban yang lebih mendalamrealtime.introMessage: pemeriksaan kesiapan lisan singkat saat jembatan realtime terhubung; atur ke""untuk bergabung tanpa suara
Tool
Agen dapat menggunakan toolgoogle_meet:
transport: "chrome" saat Chrome berjalan di host Gateway. Gunakan transport: "chrome-node" saat Chrome berjalan di node yang dipasangkan seperti VM Parallels. Dalam kedua kasus, model realtime dan openclaw_agent_consult berjalan di host Gateway, sehingga kredensial model tetap berada di sana.
Gunakan action: "status" untuk mencantumkan sesi aktif atau memeriksa ID sesi. Gunakan action: "speak" dengan sessionId dan message agar agen realtime segera berbicara. Gunakan action: "leave" untuk menandai sesi telah berakhir.
Konsultasi agen realtime
Mode realtime Chrome dioptimalkan untuk loop suara langsung. Penyedia suara realtime mendengar audio rapat dan berbicara melalui jembatan audio yang dikonfigurasi. Saat model realtime memerlukan penalaran yang lebih mendalam, informasi terkini, atau tool OpenClaw normal, model tersebut dapat memanggilopenclaw_agent_consult.
Tool konsultasi menjalankan agen OpenClaw reguler di balik layar dengan konteks transkrip rapat terbaru dan mengembalikan jawaban lisan singkat ke sesi suara realtime. Model suara kemudian dapat mengucapkan jawaban itu kembali ke dalam rapat.
realtime.toolPolicy mengontrol proses konsultasi:
safe-read-only: tampilkan tool konsultasi dan batasi agen reguler keread,web_search,web_fetch,x_search,memory_search, danmemory_get.owner: tampilkan tool konsultasi dan izinkan agen reguler menggunakan kebijakan tool agen normal.none: jangan tampilkan tool konsultasi ke model suara realtime.
Catatan
Media API resmi Google Meet berorientasi pada penerimaan, jadi berbicara ke dalam panggilan Meet tetap memerlukan jalur peserta. Plugin ini menjaga batas itu tetap terlihat: Chrome menangani partisipasi browser dan perutean audio lokal; Twilio menangani partisipasi dial-in telepon. Mode realtime Chrome memerlukan salah satu dari berikut ini:chrome.audioInputCommandpluschrome.audioOutputCommand: OpenClaw memiliki jembatan model realtime dan menyalurkan audio G.711 mu-law 8 kHz antara perintah-perintah tersebut dan penyedia suara realtime yang dipilih.chrome.audioBridgeCommand: perintah jembatan eksternal memiliki seluruh jalur audio lokal dan harus keluar setelah memulai atau memvalidasi daemon-nya.
googlemeet speak memicu jembatan audio realtime aktif untuk sesi Chrome. googlemeet leave menghentikan jembatan tersebut. Untuk sesi Twilio yang didelegasikan melalui plugin Voice Call, leave juga menutup panggilan suara yang mendasarinya.