Google Meet 插件
google-meet 插件代表 OpenClaw 代理加入显式的 Meet URL。它的功能范围刻意做得很窄:
- 它只会加入
https://meet.google.com/...链接;绝不会自行发现电话号码并拨入会议。 googlemeet create可以通过 Google Meet API(或浏览器回退方式)创建新的 Meet URL,并默认加入该会议。- 通过 Chrome 参会需要使用已登录的 Chrome 配置文件,可选地在配对节点上执行。通过 Twilio 参会则通过 Voice call plugin 拨打电话号码并输入 PIN/DTMF;它无法直接拨打 Meet URL。
mode: "agent"(默认)使用实时转写提供程序转录参会者语音,将其路由到已配置的 OpenClaw 代理,并使用常规 OpenClaw TTS 说出答案。mode: "bidi"使用实时语音,包括带有原生 OpenClaw 代理委派的 GPT-Live。mode: "transcribe"以仅观察模式加入,不进行回话。- 插件加入通话时不会自动播放同意声明。
- CLI 命令是
googlemeet;meet预留给更广泛的代理电话会议工作流。
快速开始¶
安装插件以及 Chrome 宿主机的原生音频依赖,然后配置提供程序身份验证。对于 agent 模式,OpenAI 是默认转写提供程序;bidi 模式支持 Google Gemini Live 和 OpenAI 实时语音,包括 GPT-Live。对于带有 Cove 的 GPT-Live,请使用显式 Live 配置。macOS 上的默认代理路径:
openclaw plugins install @openclaw/google-meet
brew install blackhole-2ch sox
export OPENAI_API_KEY=sk-...
# only needed when realtime.voiceProvider is "google" for bidi mode
export GEMINI_API_KEY=...
blackhole-2ch 会安装 Chrome 将音频路由通过的 BlackHole 2ch 虚拟音频设备。Homebrew 的安装程序需要重启后 macOS 才会暴露该设备:
重启后,请验证这两项:
在带有 PipeWire-Pulse 的 Linux 桌面上:
sudo apt install pipewire-audio pulseaudio-utils # Debian/Ubuntu
systemctl --user --now enable pipewire pipewire-pulse wireplumber
pactl info
command -v pactl pacat parec
OpenClaw 会在该桌面用户的音频会话中配置一个 OpenClaw Meeting Audio null sink 及匹配的信号源。请以运行 Chrome 的同一用户身份运行 Gateway 或配对节点。
安装后,插件默认启用。仅在需要自定义时添加条目:
如果你不希望该插件处于活动状态,请运行 openclaw plugins disable google-meet。
检查设置,然后加入:
setup 输出对代理可读,并且能感知模式/传输方式:它会报告 Chrome 配置文件、节点绑定,以及对于实时 Chrome 加入,报告原生虚拟音频后端和 delayed-intro 检查。仅观察加入会跳过实时相关前置条件:
当配置了 Twilio 委派时,setup 还会报告 voice-call、Twilio 凭据以及公共 webhook 暴露是否就绪。在代理加入之前,请将任何 ok: false 检查视为该传输方式/模式的阻塞项。使用 --json 获取机器可读输出,并使用 --transport chrome|chrome-node|twilio 提前预检特定传输方式:
或者让代理通过 google_meet 工具加入:
{
"action": "join",
"url": "https://meet.google.com/abc-defg-hij",
"transport": "chrome-node",
"mode": "agent"
}
本地 Chrome 回话在 macOS 上支持使用 BlackHole 2ch 和 SoX,或在 Linux 上支持使用 PipeWire-Pulse 以及 pactl/pacat/parec。在其他操作系统上,请使用 mode: "transcribe"、Twilio 拨入,或受支持的 macOS/Linux chrome-node 主机。
创建会议¶
openclaw googlemeet create --transport chrome-node --mode agent
openclaw googlemeet create --no-join
create 有两条路径,通过结果的 source 字段报告:
api:在配置了 Google Meet OAuth 凭据时使用。确定性执行;不依赖浏览器 UI 状态。browser:在未配置 OAuth 凭据时使用。OpenClaw 会在绑定的 Chrome 节点上打开https://meet.google.com/new,并等待 Google 重定向到真实的会议代码 URL;该节点上的 OpenClaw Chrome 配置文件必须已经登录 Google。加入和创建操作都会先复用现有的 Meet 标签页(或正在进行的.../new/ Google 账户提示标签页),然后才打开新标签页;标签页匹配会忽略诸如authuser之类的无害查询字符串。
create 默认加入并返回 joined: true 以及加入会话。传入 --no-join(CLI)或 "join": false(工具)以仅生成 URL。
对于通过 API 创建的房间,请设置显式访问策略,而不是继承 Google 账户的默认设置:
--access-type |
谁无需申请即可加入 |
|---|---|
OPEN |
任何拥有 Meet URL 的人 |
TRUSTED |
宿主组织的受信任用户、受邀外部用户以及拨入用户 |
RESTRICTED |
仅限受邀者 |
这仅适用于通过 API 创建的房间,因此必须配置 OAuth。如果你在 2026.5.2 引入访问类型控制之前就已授权 OpenClaw,请在将 meetings.space.settings 范围添加到你的 OAuth 同意屏幕后,重新运行 openclaw googlemeet auth login --json。
如果浏览器回退遇到 Google 登录或 Meet 权限拦截,工具会返回带有 browser.nodeId/browser.targetId/browserUrl 的 manualAction: { reason, message }。请报告该消息,并停止打开新的 Meet 标签页,直到操作员完成浏览器步骤。
仅观察加入¶
设置 "mode": "transcribe" 可跳过全双工实时桥接(无需虚拟音频,无对讲功能)。转写模式下的 Chrome 加入也会跳过 OpenClaw 的麦克风/摄像头权限授予以及 Meet 的使用麦克风路径;如果 Meet 显示音频选择插页,自动化会先尝试不使用麦克风继续。受管 Chrome 传输在所有模式下都会安装尽力而为的 Meet 字幕观察器,因此无需更改实时 agent 咨询路径即可获得持久笔记。googlemeet status --json 和 googlemeet doctor 会报告 captioning、captionsEnabledAttempted、transcriptLines、lastCaptionAt、lastCaptionSpeaker、lastCaptionText 以及 recentTranscript 尾部。
对于有界会话转写,请读取所跟踪的确切 Meet 标签页:
openclaw googlemeet transcript <session-id>
openclaw googlemeet transcript <session-id> --since <next-index> --json
观察器在 Meet 页面中最多保留 2,000 行已完成的字幕。可见的渐进文本会一直保留在状态健康尾部,直到字幕行完成,因此保存 nextIndex 不会跳过后续的文本扩展;离开操作会在快照前将可见行定稿。当超过上限时,droppedLines 会报告从头部丢失的行。有界的 googlemeet transcript 尾部仍然只保留最近结束的四个会话,并随 Gateway 一起重置。另外,OpenClaw 会在整个会议期间将已完成的字幕行追加到共享状态数据库,并在离开时写入派生的摘要。使用 openclaw transcripts 查看或导出这些持久笔记。
自动笔记默认启用。设置 transcripts.enabled: false 可在全局禁用持久笔记;显式的 transcribe 模式仍只暴露其有界的实时尾部。Twilio 加入没有浏览器字幕流,因此不会通过此路径捕获。
用于是/否监听探测:
它会以转写模式加入,等待新的字幕/转写变化,然后返回 listenVerified、listenTimedOut、手动操作字段以及当前字幕健康状态。
音频桥接架构¶
Google Meet 的官方媒体 API 是面向接收的,因此要在通话中发言仍然需要参与者路径。此插件保持该边界清晰可见:Chrome 处理浏览器参与和本地音频路由;Twilio 处理电话拨入参与。
Chrome 对讲模式需要受支持的原生虚拟音频后端,外加以下任一配置:
chrome.audioInputCommand加chrome.audioOutputCommand:使用生成的原生命令时,OpenClaw 从浏览器播放中捕获参与者音频,将助手音频注入虚拟麦克风,并使用原生输入来验证该注入。显式配置的输入命令会继续向提供方提供参与者音频,从而保留自定义的捕获/过滤/混音设置。agent模式使用实时转写加常规 TTS;bidi模式使用实时语音提供方。默认路径为 24 kHz PCM16,chrome.audioBufferBytes: 4096;8 kHz G.711 mu-law 仍可用于旧版命令对。chrome.audioBridgeCommand:外部桥接命令拥有整个本地音频路径,必须在启动或验证其守护进程后退出。仅对bidi有效,因为agent模式需要直接的命令对访问来进行 TTS。
默认浏览器桥接会避免将参与者播放内容送入虚拟麦克风,因此收到的会议音频不会回传到通话中。在助手讲话期间,隔离的参与者输入仍然可用。Google Meet、Microsoft Teams 和 Zoom 使用相同的会议引擎;提供方选择、委派和中断策略也共享 Discord 和 Talk 使用的实时语音运行时。
GPT-Live 自主管理中断,并持续播放音频,无需等待响应完成事件。它需要受管的隔离浏览器输入:选择 Live 时需移除显式的 chrome.audioInputCommand。自定义输入命令无法建立该隔离,因此会在选择 Live 时被拒绝,而不是被静默替换。Live 不使用 chrome.bargeInInputCommand。对于支持在 Gateway 托管的命令对桥接上进行主机驱动中断的提供方,该可选的独立本地麦克风命令仍然可用。与其他音频命令一样,它是由操作员配置的本地命令:请使用显式的可信命令路径或参数列表。
googlemeet speak 为 Chrome 会话触发活动的对讲音频桥接;googlemeet leave 停止它(对于通过 Voice Call 委派的 Twilio 会话,还会挂断底层通话)。使用 googlemeet end-active-conference 还可为 API 管理的空间关闭活动的 Google Meet 会议。
实时会话健康状态¶
在对讲会话期间,google_meet 状态会报告 Chrome/音频桥接健康状态:inCall、manualAction、providerConnected、realtimeReady、audioInputActive、audioOutputActive、上次输入/输出时间戳、字节计数器以及桥接关闭状态。受管 Chrome 会话仅在健康状态报告 inCall: true 后才说出介绍/测试短语;否则 speechReady: false,并且讲话尝试会被阻止,而不是静默空操作。
本地 Chrome 和配对的 Chrome 节点使用相同的输入源选择。生成的命令使用隔离的浏览器捕获和原生注入;显式输入命令保留其配置的捕获路径和现有的回声保护。如果无法捕获受管浏览器播放,桥接会明确失败,而不是将混合的回环音频发送给 Live。尚无参与者音频的会议室处于空闲状态,而非捕获失败。
各章节移往何处¶
单页版本的所有章节现在都位于此页面或下方五个子页面之一。单页版本中的锚点在此仍然有效。
Google Meet 传输与主机¶
Google Meet 传输与主机 — Chrome、Chrome 节点和 Twilio 传输、Parallels macOS VM 拓扑,以及它们所需的主机音频工具。
Google Meet OAuth 与产物¶
Google Meet OAuth 与产物 — Google Cloud 凭据、刷新令牌、OAuth 验证,以及读取 Meet 产物、出席记录和导出内容。
- OAuth 与预检
- 创建 Google 凭据
- 创建或选择项目
- 启用 Google Meet REST API
- 配置 OAuth 同意屏幕
- 添加所请求的范围
- 创建 OAuth 客户端 ID
- 复制客户端 ID 和客户端密钥
- 生成刷新令牌
- 使用 doctor 验证 OAuth
- 解析、预检并读取产物
- 实时冒烟测试
- 创建示例
Google Meet 配置¶
Google Meet 配置 — 插件配置默认值、可选覆盖项,以及 ElevenLabs 和 Twilio 配置示例。
Google Meet 工具与模式¶
Google Meet 工具与模式 — 供 agent 使用的工具操作、会话状态字段,以及 agent 和 bidi 对讲模式。
Google Meet 故障排查¶
Google Meet 故障排查 — 预检实时测试清单,以及加入、语音、创建和 Twilio 故障的修复方法。
- 实时测试清单
- 故障排查
- Agent 无法看到 Google Meet 工具
- 没有已连接的、支持 Google Meet 的节点
- 浏览器已打开,但 agent 无法加入
- 会议创建失败
- Agent 已加入但不说话
- Twilio 设置检查失败
- Twilio 呼叫已开始,但从未进入会议
相关¶
- 会议插件概览
- 语音通话插件
- Talk 模式
- ElevenLabs — Meet 配置示例中使用的语音与转录提供方
- 构建插件
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw