




















@@ -71,6 +71,11 @@ Check setup:
7171openclaw googlemeet setup
7272```
737374+The setup output is meant to be agent-readable. It reports Chrome profile,
75+audio bridge, node pinning, delayed realtime intro, and, when Twilio delegation
76+is configured, whether the `voice-call` plugin and Twilio credentials are ready.
77+Treat any `ok: false` check as a blocker before asking an agent to join.
78+7479Join a meeting:
75807681```bash
@@ -294,6 +299,58 @@ instead of silently joining without an audio path.
294299Twilio transport is a strict dial plan delegated to the Voice Call plugin. It
295300does not parse Meet pages for phone numbers.
296301302+Use this when Chrome participation is not available or you want a phone dial-in
303+fallback. Google Meet must expose a phone dial-in number and PIN for the
304+meeting; OpenClaw does not discover those from the Meet page.
305+306+Enable the Voice Call plugin on the Gateway host, not on the Chrome node:
307+308+```json5
309+{
310+ plugins: {
311+ allow: ["google-meet", "voice-call"],
312+ entries: {
313+"google-meet": {
314+ enabled: true,
315+ config: {
316+ defaultTransport: "chrome-node",
317+// or set "twilio" if Twilio should be the default
318+ },
319+ },
320+"voice-call": {
321+ enabled: true,
322+ config: {
323+ provider: "twilio",
324+ },
325+ },
326+ },
327+ },
328+}
329+```
330+331+Provide Twilio credentials through environment or config. Environment keeps
332+secrets out of `openclaw.json`:
333+334+```bash
335+export TWILIO_ACCOUNT_SID=AC...
336+export TWILIO_AUTH_TOKEN=...
337+export TWILIO_FROM_NUMBER=+15550001234
338+```
339+340+Restart or reload the Gateway after enabling `voice-call`; plugin config changes
341+do not appear in an already running Gateway process until it reloads.
342+343+Then verify:
344+345+```bash
346+openclaw config validate
347+openclaw plugins list | grep -E 'google-meet|voice-call'
348+openclaw googlemeet setup
349+```
350+351+When Twilio delegation is wired, `googlemeet setup` includes successful
352+`twilio-voice-call-plugin` and `twilio-voice-call-credentials` checks.
353+297354```bash
298355openclaw googlemeet join https://meet.google.com/abc-defg-hij \
299356 --transport twilio \
@@ -447,6 +504,11 @@ Twilio-only config:
447504}
448505```
449506507+`voiceCall.enabled` defaults to `true`; with Twilio transport it delegates the
508+actual PSTN call and DTMF to the Voice Call plugin. If `voice-call` is not
509+enabled, Google Meet can still validate and record the dial plan, but it cannot
510+place the Twilio call.
511+450512## Tool
451513452514Agents can use the `google_meet` tool:
@@ -526,6 +588,161 @@ openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
526588 --message "Say exactly: I'm here and listening."
527589```
528590591+## Live test checklist
592+593+Use this sequence before handing a meeting to an unattended agent:
594+595+```bash
596+openclaw googlemeet setup
597+openclaw nodes status
598+openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
599+ --transport chrome-node \
600+ --message "Say exactly: Google Meet speech test complete."
601+```
602+603+Expected Chrome-node state:
604+605+- `googlemeet setup` is all green.
606+- `nodes status` shows the selected node connected.
607+- The selected node advertises both `googlemeet.chrome` and `browser.proxy`.
608+- The Meet tab joins the call and `test-speech` returns Chrome health with
609+`inCall: true`.
610+611+For a Twilio smoke, use a meeting that exposes phone dial-in details:
612+613+```bash
614+openclaw googlemeet setup
615+openclaw googlemeet join https://meet.google.com/abc-defg-hij \
616+ --transport twilio \
617+ --dial-in-number +15551234567 \
618+ --pin 123456
619+```
620+621+Expected Twilio state:
622+623+- `googlemeet setup` includes green `twilio-voice-call-plugin` and
624+`twilio-voice-call-credentials` checks.
625+- `voicecall` is available in the CLI after Gateway reload.
626+- The returned session has `transport: "twilio"` and a `twilio.voiceCallId`.
627+- `googlemeet leave <sessionId>` hangs up the delegated voice call.
628+629+## Troubleshooting
630+631+### Agent cannot see the Google Meet tool
632+633+Confirm the plugin is enabled in the Gateway config and reload the Gateway:
634+635+```bash
636+openclaw plugins list | grep google-meet
637+openclaw googlemeet setup
638+```
639+640+If you just edited `plugins.entries.google-meet`, restart or reload the Gateway.
641+The running agent only sees plugin tools registered by the current Gateway
642+process.
643+644+### No connected Google Meet-capable node
645+646+On the node host, run:
647+648+```bash
649+openclaw plugins enable google-meet
650+openclaw plugins enable browser
651+OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
652+ openclaw node run --host <gateway-lan-ip> --port 18789 --display-name parallels-macos
653+```
654+655+On the Gateway host, approve the node and verify commands:
656+657+```bash
658+openclaw devices list
659+openclaw devices approve <requestId>
660+openclaw nodes status
661+```
662+663+The node must be connected and list `googlemeet.chrome` plus `browser.proxy`.
664+The Gateway config must allow those node commands:
665+666+```json5
667+{
668+ gateway: {
669+ nodes: {
670+ allowCommands: ["browser.proxy", "googlemeet.chrome"],
671+ },
672+ },
673+}
674+```
675+676+### Browser opens but agent cannot join
677+678+Run `googlemeet test-speech` and inspect the returned Chrome health. If it
679+reports `manualActionRequired: true`, show `manualActionMessage` to the operator
680+and stop retrying until the browser action is complete.
681+682+Common manual actions:
683+684+- Sign in to the Chrome profile.
685+- Admit the guest from the Meet host account.
686+- Grant Chrome microphone/camera permissions.
687+- Close or repair a stuck Meet permission dialog.
688+689+### Agent joins but does not talk
690+691+Check the realtime path:
692+693+```bash
694+openclaw googlemeet setup
695+openclaw googlemeet status
696+```
697+698+Use `mode: "realtime"` for listen/talk-back. `mode: "transcribe"` intentionally
699+does not start the duplex realtime voice bridge.
700+701+Also verify:
702+703+- A realtime provider key is available on the Gateway host, such as
704+`OPENAI_API_KEY` or `GEMINI_API_KEY`.
705+- `BlackHole 2ch` is visible on the Chrome host.
706+- `rec` and `play` exist on the Chrome host.
707+- Meet microphone and speaker are routed through the virtual audio path used by
708+ OpenClaw.
709+710+### Twilio setup checks fail
711+712+`twilio-voice-call-plugin` fails when `voice-call` is not allowed or not enabled.
713+Add it to `plugins.allow`, enable `plugins.entries.voice-call`, and reload the
714+Gateway.
715+716+`twilio-voice-call-credentials` fails when the Twilio backend is missing account
717+SID, auth token, or caller number. Set these on the Gateway host:
718+719+```bash
720+export TWILIO_ACCOUNT_SID=AC...
721+export TWILIO_AUTH_TOKEN=...
722+export TWILIO_FROM_NUMBER=+15550001234
723+```
724+725+Then restart or reload the Gateway and run:
726+727+```bash
728+openclaw googlemeet setup
729+```
730+731+### Twilio call starts but never enters the meeting
732+733+Confirm the Meet event exposes phone dial-in details. Pass the exact dial-in
734+number and PIN or a custom DTMF sequence:
735+736+```bash
737+openclaw googlemeet join https://meet.google.com/abc-defg-hij \
738+ --transport twilio \
739+ --dial-in-number +15551234567 \
740+ --dtmf-sequence ww123456#
741+```
742+743+Use leading `w` or commas in `--dtmf-sequence` if the provider needs a pause
744+before entering the PIN.
745+529746## Notes
530747531748Google Meet's official media API is receive-oriented, so speaking into a Meet
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。