2026 OpenClaw Google Meet 音声チャネル:Mac VPS で Twilio 着信と Gemini Voice Bridge 五步検収 Runbook(意思決定表と FAQ)
Mac VPS で OpenClaw が Slack や Telegram を 7×24 回しているのに、営業や Support を Google Meet 音声会議へつなぐ必要があるとき、「もう一つ文字 Bot」を足すだけでは PSTN 着信・リアルタイム割り込み・音声背圧は解けません。OpenClaw v2026.5.4 から Twilio 着信と Gemini Voice Bridge で Meet 音声をゲートウェイへ載せられます。本稿は音声 Agent を監査可能な本番能力にしたいプラットフォーム/SRE 向けに、典型四痛み、Meet 音声 vs IM 文字の意思決定表、流控制御表、五步 Runbook、三つの引用可能な判定、FAQ までを一連の Runbook にまとめます。多チャネル検収・ゲートウェイ doctor・バージョン固定へ誘導し、Apple Silicon Mac クラウド上で再現可能なデプロイを目指します。
目次
1. 痛み分け:無音・発信失敗・半インストール GW
- オンラインだが会議で無音:Twilio Webhook が Mac VPS 公網に届かない、リバプロ path のドリフト、Gemini Voice Bridge がモデル Provider 制限で黙り、ログには channel connected のみで audio frame が無い。
- 発信・着信計画の誤り:ダイヤルプランが旧 IP を指す、証明書期限切れ、SIP/音声 URL が停止した家庭回線トンネルを指し、ピーク時に成功率が急落。
- 半インストールゲートウェイ:
install.shは成功に見えてopenclaw-gatewayバイナリが無く、音声設定だけ書いて 18789 が開かず、プローブがすべて「設定問題」と誤報。 - 流制の誤配:v2026.5.4 の paced streaming と barge-in キューを旧
streaming.modeと混在させ、「割り込み無効」や「Agent 自身のバッファで上書き」競合が起きる。
2. 意思決定表:Meet 音声 vs Discord/Telegram 文字
| 観点 | Google Meet + Twilio 音声 | Discord / Telegram 文字 |
|---|---|---|
| 遅延と対話 | 双方向音声、barge-in 必須。RTT とジッタが割り込み体験に直結 | 文字は非同期。チケット往復向き、ジッタ許容が高い |
| コスト | Twilio 分課金+リアルタイム音声 Token。予算アラート必須 | 主にモデル Token。PSTN 分課金なし |
| コンプライアンス | 会議録画・発信記録・番号帰属を別途登録 | プラットフォーム側保存。企業は IM 手順が既にあることが多い |
| 運用複雑度 | 公網音声 Webhook・TLS・リバプロと 18789 が同時に健全である必要 | 出向き長接続が中心。Mac VPS では成熟しやすい |
| 典型シーン | 営業発信、Support ホットライン、社内スタンドアップ補助 | 開発 Bot、群 @、運用アラート要約 |
3. Mac VPS 前提:Node 22・18789・Twilio 出口
- ランタイム:Node.js 22+。
openclaw doctorとopenclaw --versionで半インストール警告が無いこと。 - ゲートウェイ:
lsof -i :18789またはopenclaw gateway statusで待受。失敗時はinstall --force Runbook。 - 秘密情報:Twilio SID/Token、Google Cloud の Meet 関連、Gemini API。環境変数または SecretRef のみ。Git 禁止。
- ネットワーク:安定した公網と十分な上り帯域。企業プロキシは launchd 環境と揃え、「CLI は curl できるがゲートウェイはできない」分裂を防ぐ。
4. v2026.5.4 流控制御:backpressure と barge-in
| 意図 | 推奨方向 | よくある誤配 |
|---|---|---|
| ストリーム進捗 | streaming.mode: "progress" を文字チャネルと統一しログ対照を容易に |
音声だけ旧 draft キーで会議内進捗が点滅 |
| 音声背圧 | backpressure 有効。Twilio フレームが合成より速いとき降載 | 背圧オフでメモリ増→OOM→会議突然切断 |
| ユーザー割り込み | barge-in 有効。ユーザー発話検出で待播キューを清空 | キュー残りで数秒旧 Agent 音声が続く |
| Provider フォールバック | Gemini リアルタイム音声に降格モデルと 429 バックオフ | 無限リトライで「オンラインだが全程無音」 |
openclaw doctor
openclaw gateway status
openclaw channels status --probe
# Meet サブコマンドは版次第。無ければ Twilio テストコールで代替
5. 五步 Runbook:固定→チャネル→Twilio→プローブ→スモーク
- バージョン固定とバックアップ:変更票に tag(例
v2026.5.4)、openclaw.jsonと compose 巻を退避。本番で@latest漂流禁止。 - Meet 音声チャネル開通:Google Meet / voice bridge 節を有効化し Gemini・Twilio 参照を記述。既存 Slack と session 名前空間を分離。
- Twilio 設定:番号取得または既存利用。Voice Webhook を Mac VPS リバプロ HTTPS へ。ダイヤルプランと failover を同一 upstream に揃え、ブルーグリーン切替時の Twilio コンソール更新漏れを防ぐ。
- ゲートウェイプローブ:18789(または登録 upstream)待受。
channels status --probe。オンライン無応答の層別表でチャネル層とモデル 429 を分離。 - エンドツーエンドスモーク:Twilio テストコール→Meet 参加→30 秒双方向→barge-in 一回。JSONL の requestId と音声フレーム数を検収添付に。
6. 三つの判定:RTT・音声フレーム・429
本番宣言前に次の三つをダッシュボード化し、インシデント時に「感覚」ではなく閾値で切り分けます。いずれもゲートウェイ JSONL と Twilio コンソールの同一通話 SID で突き合わせてください。
- 公網 RTT:Twilio エッジから Mac VPS への HTTPS コールバック RTT は同リージョンで 150 ms 未満を目安。250 ms 超が続くならバッファ拡大よりノード地域変更を優先。
- 有効音声フレーム:スモーク中 JSONL またはメディアログで下行フレームが連続すること。10 秒無フレームで channel connected なら Provider 制限分支を疑う。
- 429 比率:ピークで 429 はバックオフ後に回復。15 分で約 5% 超が続くならモデル降格またはセッション瘦身。ゲートウェイ再起動だけに頼らない。
7. 層別排障と内部リンク
Meet で無音のときは Twilio がリバプロに 200 → ゲートウェイが voice イベント処理 → Gemini Voice Bridge 合成 → 会議クライアント購読 の順。各層で同一 requestId を突合。ノート PC/WSL2 は 7×24 に不向き。Meet 音声と IM を並行し固定グローバル IP が要るなら、VPSMAC の Apple Silicon Mac クラウドで Twilio・18789・バージョン固定を一本化する方が安定。詳細は5月リリース列車の安全アップグレード Runbook。
8. FAQ
質問:Meet 音声は Slack/Discord と並行可能? はい。音声は別 routing・tools.profile、チャネル別プローブ。
質問:2026.5.5 後に再検収? 最低 doctor・テスト通話・30秒双方向音声。
質問:無音だが channels online? 先に Twilio Webhook と Gemini 429、barge-in/backpressure。
9. まとめ
成功は Twilio → 18789 → Gemini Voice Bridge → 会議で聞こえる/話せる証跡の連鎖。マトリクス・パラメータ表・5ステップスモークを変更票に固定し、429 とフレーム率をアラートへ。