惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
B
Blog
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Help Net Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
IT之家
IT之家
D
Docker
Google DeepMind News
Google DeepMind News
罗磊的独立博客
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
博客园 - 司徒正美
Engineering at Meta
Engineering at Meta

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
docs(google-meet): add setup troubleshooting · openclaw/o...
steipete · 2026-04-25 · via Recent Commits to openclaw:main

@@ -71,6 +71,11 @@ Check setup:

7171

openclaw 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+7479

Join a meeting:

75807681

```bash

@@ -294,6 +299,58 @@ instead of silently joining without an audio path.

294299

Twilio transport is a strict dial plan delegated to the Voice Call plugin. It

295300

does 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

298355

openclaw 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

451513452514

Agents 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

530747531748

Google Meet's official media API is receive-oriented, so speaking into a Meet