---
summary: "Google Meet 插件配置默认值、覆盖和提供程序示例"
read_when:
- "您正在查找 Google Meet 插件配置密钥及其默认值"
- "您将 Google Meet 指向特定的实时提供商或 TTS 提供商"
- "您正在为 Google Meet 配置 Twilio 拨号计划"
title: "Google 满足配置"
sidebarTitle: "配置"
---
插件配置默认值、可选覆盖和语音提供程序示例。 [Google Meet 插件](/plugins/google-meet) 指南的一部分。
## 配置
通用的 Chrome agent 路径只需要启用插件、BlackHole、SoX、一个实时提供商密钥,以及一个已配置的 OpenClaw TTS 提供商:
```json5
{
plugins: {
entries: {
"google-meet": {
enabled: true,
config: {},
},
},
},
}
```
### 默认值
| 键 | 默认值 | 笔记 |
| --------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `defaultTransport` | `"chrome"` | |
| `defaultMode` | `"agent"` | `"realtime"` 是 `"agent"` 的旧版别名;新调用方应使用 `"agent"` |
| `chromeNode.node` | 未设置 | Node id/name/IP 为 `chrome-node`;当可能连接多个有能力的节点时需要 |
| `chrome.launch` | `true` | 为加入通话启动 Chrome;仅在复用已打开的会话时设为 `false` |
| `chrome.audioBackend` | `"auto"` | 在 macOS 上选择 `blackhole-2ch` 或在 Linux 上选择 `pipewire-pulse`;当配对的 Chrome 节点使用与网关不同的 OS 时,设置显式后端 |
| `chrome.guestName` | `"OpenClaw Agent"` | 显示在未登录状态的 Meet 来宾界面上 |
| `chrome.autoJoin` | `true` | 在 `chrome-node` 上尽力填写来宾名称并点击“立即加入” |
| `chrome.reuseExistingTab` | `true` | 激活现有的 Meet 标签页,而不是打开重复的标签页 |
| `chrome.waitForInCallMs` | `20000` | 等待 Meet 标签页报告已进入通话状态,然后再播放语音回复开场白 |
| `chrome.audioFormat` | `"pcm16-24khz"` | 命令对音频格式; `"g711-ulaw-8khz"` 仅适用于发出电话音频的 legacy/custom 命令对 |
| `chrome.audioBufferBytes` | `4096` | 用于推导生成的命令延迟的处理缓冲区;值会被限制为至少 17 字节 |
| `chrome.audioInputCommand` | 生成的本机命令 | 显式命令向提供者提供参与者输入。如果没有覆盖,浏览器回放会提供参与者输入,生成的本机命令会验证助理注入。在 macOS 上使用 SoX/CoreAudio 或在 Linux 上使用 `parec`。 |
| `chrome.audioOutputCommand` | 生成的本机命令 | 使用 macOS 上的 SoX/CoreAudio 或 Linux 上的 `pacat` 将助理语音注入虚拟麦克风。 |
| `chrome.bargeInInputCommand` | 未设置 | 可选的独立本地麦克风,供提供商在网关托管的命令对桥上支持主机驱动的中断。 GPT-Live 自行处理中断,不启动该命令。 |
| `chrome.bargeInRmsThreshold` | `650` | 被视为人为打断的 RMS 音量 |
| `chrome.bargeInPeakThreshold` | `2500` | 被视为人为打断的峰值音量 |
| `chrome.bargeInCooldownMs` | `900` | 两次重复打断清除之间的最短延迟 |
| `mode`(每次请求) | `"agent"` | 对讲模式;请参阅 [Agent 和 bidi 模式](/plugins/google-meet/tool-and-modes#agent-and-bidi-modes) 表 |
| `realtime.provider` | `"openai"` | 当下方的作用域字段未设置时使用的兼容性回退值 |
| `realtime.transcriptionProvider` | `"openai"` | `agent` 模式用于实时转录的提供者 ID |
| `realtime.voiceProvider` | 未设置 | `bidi` 模式使用的提供商 ID。设置`"google"`为Gemini Live或`"openai"`为OpenAI实时语音;与 `realtime.model` 配对以获得显式模型。 |
| `realtime.toolPolicy` | `"safe-read-only"` | 请参阅 [ 代理和双向模式](/plugins/google-meet/tool-and-modes#agent-and-bidi-modes) |
| `realtime.instructions` | 简短的语音回复指令 | 告知模型简短发言,并使用 `openclaw_agent_consult` 获取更深入的回答 |
| `realtime.introMessage` | `"Say exactly: I'm here and listening."` | 实时桥接连接时播放一次;设为 `""` 可静默加入 |
| `realtime.agentId` | `"main"` | OpenClaw 用于功能工具咨询和本机 Live 委派的代理 ID。 |
| `voiceCall.enabled` | `true` | 将 Twilio PSTN 通话、DTMF 和开场问候语交由 Voice Call 插件处理 |
| `voiceCall.dtmfDelayMs` | `12000` | 在通过 Twilio 播放 PIN- 派生的 DTMF 序列之前引导等待 |
| `voiceCall.postDtmfSpeechDelayMs` | `5000` | Voice Call 启动 Twilio 通话线路后,请求实时开场问候语前的延迟 |
`chrome.audioBridgeCommand` 和 `chrome.audioBridgeHealthCommand` 让外部桥接器拥有整个本地音频路径,而不是 `chrome.audioInputCommand`/`chrome.audioOutputCommand`;有关哪种模式可以使用它们的约束,请参阅 [Notes](/plugins/google-meet#notes)。
旧版 `realtime.provider: "google"` 形状存在 `openclaw doctor --fix` 迁移:当尚未设置这些字段时,它将将该意图移至 `realtime.voiceProvider: "google"` 加上 `realtime.transcriptionProvider: "openai"`。
### GPT-Live with Cove
选择 `bidi` 模式进行 GPT-Live 语音。 `agent`模式继续使用实时转录和常规OpenClaw TTS;更改实时语音模型不会更改该模式的语音。
使用 `openclaw models auth login --provider openai` 登录网关主机,然后配置现有模型和提供程序字段:
```json5
{
plugins: {
entries: {
"google-meet": {
config: {
defaultMode: "bidi",
realtime: {
voiceProvider: "openai",
model: "gpt-live-1-codex",
providers: {
openai: { voice: "cove" },
},
},
},
},
},
},
}
```
这使用与 Discord 和 Talk 相同的网关拥有的 GPT-Live 路由,包括本机代理委派和提供商拥有的中断。将 `chrome.audioFormat` 保留为 24 kHz PCM16 默认值。现有的非固定会议配置保留提供商的默认模型;明确选择“实时”。
删除任何显式 `chrome.audioInputCommand` 以使用 Live 的托管隔离浏览器输入。现有的自定义输入命令保留了其他模型的提供者输入行为; Live 拒绝该路径,因为无法验证其隔离性。选择“实时”不会默默地放弃已配置的输入源。
对于公共平台 API 路由,请使用 `model: "gpt-live-1"` 和支持的语音(例如 `voice: "marin"`),并在网关主机上使用 OpenAI API 密钥。 `cove`属于Codex路线。请参阅 [OpenAI 语音和语音 ](/providers/openai/voice-and-speech) 了解身份验证和 model/voice 兼容性。
### 可选覆盖
```json5
{
defaults: {
meeting: "https://meet.google.com/abc-defg-hij",
},
browser: {
defaultProfile: "openclaw",
},
chrome: {
guestName: "OpenClaw Agent",
waitForInCallMs: 30000,
bargeInInputCommand: [
"sox",
"-q",
"-t",
"coreaudio",
"External Microphone",
"-r",
"24000",
"-c",
"1",
"-b",
"16",
"-e",
"signed-integer",
"-t",
"raw",
"-",
],
},
chromeNode: {
node: "parallels-macos",
},
defaultMode: "agent",
realtime: {
provider: "openai",
transcriptionProvider: "openai",
voiceProvider: "google",
model: "gemini-3.1-flash-live-preview",
agentId: "jay",
toolPolicy: "owner",
introMessage: "Say exactly: I'm here.",
providers: {
google: {
speakerVoice: "Kore",
},
},
},
}
```
同时用于 agent 模式听和说的 ElevenLabs:
```json5
{
tts: {
provider: "elevenlabs",
providers: {
elevenlabs: {
modelId: "eleven_v3",
speakerVoiceId: "pMsXgVXv3BLzUgSXRplE",
},
},
},
plugins: {
entries: {
"google-meet": {
config: {
realtime: {
transcriptionProvider: "elevenlabs",
providers: {
elevenlabs: {
modelId: "scribe_v2_realtime",
audioFormat: "ulaw_8000",
sampleRate: 8000,
commitStrategy: "vad",
},
},
},
},
},
},
},
}
```
持久的 Meet 声音来自 `tts.providers.elevenlabs.speakerVoiceId`。当启用 TTS 模型覆盖时,代理回复还可以使用每个回复 `[[tts:speakerVoiceId=... model=eleven_v3]]` 指令,但配置会提供会议的固定默认值。加入时,日志显示 `transcriptionProvider=elevenlabs`,每个语音回复都会记录 `provider=elevenlabs model=eleven_v3 speakerVoiceId=`。
Twilio-仅配置:
```json5
{
defaultTransport: "twilio",
twilio: {
defaultDialInNumber: "+15551234567",
defaultPin: "123456",
},
voiceCall: {
gatewayUrl: "ws://127.0.0.1:18789",
},
}
```
当 `voiceCall.enabled: true`(默认值)且使用 Twilio 传输时,Voice Call 会在打开实时媒体流之前先拨打 DTMF 序列,然后使用保存的开场文本作为初始实时问候。如果未启用 `voice-call`,Google Meet 仍然可以验证并记录拨号计划,但无法发起 Twilio 呼叫。
保留 `voiceCall.gatewayUrl` 未设置以使用本地可信网关运行时,这会保留完整调用的调用代理。配置的网关 URL 仍然是显式的 WebSocket 目标,并且无法验证插件来源;非默认代理加入将被拒绝,而不是默默地使用另一个代理。当需要每个座席路由时,在同一网关进程中运行 Google Meet 和语音呼叫。