


























@@ -74,12 +74,21 @@ Check setup:
7474openclaw googlemeet setup
7575```
767677-The setup output is meant to be agent-readable. It reports Chrome profile,
78-audio bridge, node pinning, delayed realtime intro, and, when Twilio delegation
79-is configured, whether the `voice-call` plugin and Twilio credentials are ready.
80-Treat any `ok: false` check as a blocker before asking an agent to join.
81-Use `openclaw googlemeet setup --json` for scripts or machine-readable output.
82-Use `--transport chrome`, `--transport chrome-node`, or `--transport twilio`
77+The setup output is meant to be agent-readable and mode-aware. It reports Chrome
78+profile, node pinning, and, for realtime Chrome joins, the BlackHole/SoX audio
79+bridge and delayed realtime intro checks. For observe-only joins, check the same
80+transport with `--mode transcribe`; that mode skips realtime audio prerequisites
81+because it does not listen through or speak through the bridge:
82+83+```bash
84+openclaw googlemeet setup --transport chrome-node --mode transcribe
85+```
86+87+When Twilio delegation is configured, setup also reports whether the
88+`voice-call` plugin and Twilio credentials are ready. Treat any `ok: false`
89+check as a blocker for the checked transport and mode before asking an agent to
90+join. Use `openclaw googlemeet setup --json` for scripts or machine-readable
91+output. Use `--transport chrome`, `--transport chrome-node`, or `--transport twilio`
8392to preflight a specific transport before an agent tries it.
84938594Join a meeting:
@@ -144,8 +153,12 @@ then share the returned `meetingUri`.
144153```
145154146155For an observe-only/browser-control join, set `"mode": "transcribe"`. That does
147-not start the duplex realtime model bridge, so it will not talk back into the
148-meeting.
156+not start the duplex realtime model bridge, does not require BlackHole or SoX,
157+and will not talk back into the meeting. Chrome joins in this mode also avoid
158+OpenClaw's microphone/camera permission grant and avoid the Meet **Use
159+microphone** path. If Meet shows an audio-choice interstitial, automation tries
160+the no-microphone path and otherwise reports a manual action instead of opening
161+the local microphone.
149162150163During realtime sessions, `google_meet` status includes browser and audio bridge
151164health such as `inCall`, `manualActionRequired`, `providerConnected`,
@@ -155,10 +168,10 @@ appears, browser automation handles it when it can. Login, host admission, and
155168browser/OS permission prompts are reported as manual action with a reason and
156169message for the agent to relay.
157170158-Local Chrome joins through the signed-in OpenClaw browser profile. In Meet, pick
159-`BlackHole 2ch` for the microphone/speaker path used by OpenClaw. For clean
160-duplex audio, use separate virtual devices or a Loopback-style graph; a single
161-BlackHole device is enough for a first smoke test but can echo.
171+Local Chrome joins through the signed-in OpenClaw browser profile. Realtime mode
172+requires `BlackHole 2ch` for the microphone/speaker path used by OpenClaw. For
173+clean duplex audio, use separate virtual devices or a Loopback-style graph; a
174+single BlackHole device is enough for a first smoke test but can echo.
162175163176### Local gateway + Parallels Chrome
164177@@ -286,13 +299,13 @@ phrase, and prints session health:
286299openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij
287300```
288301289-During join, OpenClaw browser automation fills the guest name, clicks Join/Ask
290-to join, and accepts Meet's first-run "Use microphone" choice when that prompt
291-appears. During browser-only meeting creation, it can also continue past the
292-same prompt without microphone if Meet does not expose the use-microphone button.
293-If the browser profile is not signed in, Meet is waiting for host
294-admission, Chrome needs microphone/camera permission, or Meet is stuck on a
295-prompt automation could not resolve, the join/test-speech result reports
302+During realtime join, OpenClaw browser automation fills the guest name, clicks
303+Join/Ask to join, and accepts Meet's first-run "Use microphone" choice when that
304+prompt appears. During observe-only join or browser-only meeting creation, it
305+continues past the same prompt without microphone when that choice is available.
306+If the browser profile is not signed in, Meet is waiting for host admission,
307+Chrome needs microphone/camera permission for a realtime join, or Meet is stuck
308+on a prompt automation could not resolve, the join/test-speech result reports
296309`manualActionRequired: true` with `manualActionReason` and
297310`manualActionMessage`. Agents should stop retrying the join, report that exact
298311message plus the current `browserUrl`/`browserTitle`, and retry only after the
@@ -979,7 +992,12 @@ Use `action: "status"` to list active sessions or inspect a session ID. Use
979992`action: "speak"` with `sessionId` and `message` to make the realtime agent
980993speak immediately. Use `action: "test_speech"` to create or reuse the session,
981994trigger a known phrase, and return `inCall` health when the Chrome host can
982-report it. Use `action: "leave"` to mark a session ended.
995+report it. `test_speech` always forces `mode: "realtime"` and fails if asked to
996+run in `mode: "transcribe"` because observe-only sessions intentionally cannot
997+emit speech. Its `speechOutputVerified` result is based on realtime audio output
998+bytes increasing during this test call, so a reused session with older audio
999+does not count as a fresh successful speech check. Use `action: "leave"` to mark
1000+a session ended.
98310019841002`status` includes Chrome health when available:
9851003@@ -1224,7 +1242,12 @@ openclaw googlemeet doctor
12241242```
1225124312261244Use `mode: "realtime"` for listen/talk-back. `mode: "transcribe"` intentionally
1227-does not start the duplex realtime voice bridge.
1245+does not start the duplex realtime voice bridge. `googlemeet test-speech`
1246+always checks the realtime path and reports whether bridge output bytes were
1247+observed for that invocation. If `speechOutputVerified` is false and
1248+`speechOutputTimedOut` is true, the realtime provider may have accepted the
1249+utterance but OpenClaw did not see new output bytes reach the Chrome audio
1250+bridge.
1228125112291252Also verify:
12301253@@ -1317,7 +1340,7 @@ call still needs a participant path. This plugin keeps that boundary visible:
13171340Chrome handles browser participation and local audio routing; Twilio handles
13181341phone dial-in participation.
131913421320-Chrome realtime mode needs either:
1343+Chrome realtime mode needs `BlackHole 2ch` plus either:
1321134413221345- `chrome.audioInputCommand` plus `chrome.audioOutputCommand`: OpenClaw owns the
13231346 realtime model bridge and pipes audio in `chrome.audioFormat` between those
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。