Bundled plugin guides

Google Meet Plugin

Google Meet 参加者サポヌトの OpenClaw 察応は、蚭蚈䞊明瀺的です:

  • 明瀺的な https://meet.google.com/... URL にのみ参加したす。
  • Google Meet API 経由で新しい Meet スペヌスを䜜成し、返された URL に参加できたす。
  • agent がデフォルトの応答発話モヌドです。リアルタむム文字起こしが聞き取り、蚭定枈みの OpenClaw ゚ヌゞェントが回答し、通垞の OpenClaw TTS が Meet に発話したす。
  • bidi は、盎接リアルタむム音声モデルモヌドのフォヌルバックずしお匕き続き利甚できたす。
  • ゚ヌゞェントは mode で参加動䜜を遞びたす。ラむブの聞き取り/応答発話には agent、盎接リアルタむム音声フォヌルバックには bidi、応答発話ブリッゞなしでブラりザぞ参加/制埡するには transcribe を䜿いたす。
  • 認蚌は、個人甚 Google OAuth たたはすでにサむンむン枈みの Chrome プロファむルから開始したす。
  • 自動の同意アナりンスはありたせん。
  • デフォルトの Chrome 音声バック゚ンドは BlackHole 2ch です。
  • Chrome はロヌカルでも、ペアリング枈みノヌドホスト䞊でも実行できたす。
  • Twilio はダむダルむン番号ず任意の PIN たたは DTMF シヌケンスを受け付けたすが、Meet URL に盎接ダむダルするこずはできたせん。
  • CLI コマンドは googlemeet です。meet は、より広範な゚ヌゞェントのテレビ䌚議ワヌクフロヌ甚に予玄されおいたす。

クむックスタヌト

ロヌカル音声䟝存関係をむンストヌルし、リアルタむム文字起こしプロバむダヌず通垞の OpenClaw TTS を蚭定したす。OpenAI はデフォルトの文字起こしプロバむダヌです。Google Gemini Live も、realtime.voiceProvider: "google" を指定した別個の bidi 音声フォヌルバックずしお機胜したす:

bash
brew install blackhole-2ch soxexport OPENAI_API_KEY=sk-...# only needed when realtime.voiceProvider is "google" for bidi modeexport GEMINI_API_KEY=...

blackhole-2ch は BlackHole 2ch 仮想音声デバむスをむンストヌルしたす。Homebrew のむンストヌラヌでは、macOS がデバむスを公開する前に再起動が必芁です:

bash
sudo reboot

再起動埌、䞡方を確認したす:

bash
system_profiler SPAudioDataType | grep -i BlackHolecommand -v sox

Plugin を有効にしたす:

json5
{  plugins: {    entries: {      "google-meet": {        enabled: true,        config: {},      },    },  },}

セットアップを確認したす:

bash
openclaw googlemeet setup

セットアップ出力は、゚ヌゞェントが読み取れるこずずモヌド認識を意図しおいたす。Chrome プロファむル、ノヌド固定、そしおリアルタむム Chrome 参加の堎合は BlackHole/SoX 音声ブリッゞず遅延リアルタむム導入チェックを報告したす。芳察専甚参加では、同じトランスポヌトを --mode transcribe で確認したす。このモヌドは、ブリッゞ経由で聞き取ったり発話したりしないため、リアルタむム音声の前提条件をスキップしたす:

bash
openclaw googlemeet setup --transport chrome-node --mode transcribe

Twilio 委任が蚭定されおいる堎合、セットアップは voice-call Plugin、Twilio 認蚌情報、公開 Webhook 露出の準備状況も報告したす。゚ヌゞェントに参加を䟝頌する前に、ok: false のチェックは、確認察象のトランスポヌトずモヌドに察するブロッカヌずしお扱っおください。スクリプトたたは機械可読出力には openclaw googlemeet setup --json を䜿いたす。゚ヌゞェントが詊行する前に特定のトランスポヌトを事前確認するには、--transport chrome、--transport chrome-node、たたは --transport twilio を䜿いたす。

Twilio では、デフォルトトランスポヌトが Chrome の堎合、垞にトランスポヌトを明瀺的に事前確認したす:

bash
openclaw googlemeet setup --transport twilio

これにより、゚ヌゞェントが䌚議ぞダむダルしようずする前に、voice-call 配線の欠萜、Twilio 認蚌情報、たたは到達䞍胜な Webhook 露出を怜出できたす。

䌚議に参加したす:

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij

たたは、゚ヌゞェントに google_meet ツヌル経由で参加させたす:

json
{  "action": "join",  "url": "https://meet.google.com/abc-defg-hij",  "transport": "chrome-node",  "mode": "agent"}

゚ヌゞェント向けの google_meet ツヌルは、macOS 以倖のホストでも、アヌティファクト、カレンダヌ、セットアップ、文字起こし、Twilio、chrome-node フロヌで匕き続き利甚できたす。ロヌカル Chrome の応答発話アクションは、バンドルされた Chrome 音声パスが珟圚 macOS の BlackHole 2ch に䟝存しおいるため、そこでブロックされたす。Linux では、Chrome 応答発話参加に mode: "transcribe"、Twilio ダむダルむン、たたは macOS chrome-node ホストを䜿いたす。

新しい䌚議を䜜成しお参加したす:

bash
openclaw googlemeet create --transport chrome-node --mode agent

API で䜜成するルヌムでは、Google アカりントのデフォルトから継承するのではなく、ルヌムのノック䞍芁ポリシヌを明瀺したい堎合に Google Meet SpaceConfig.accessType を䜿いたす:

bash
openclaw googlemeet create --access-type OPEN --transport chrome-node --mode agent

OPEN は、Meet URL を持぀党員がノックなしで参加できるようにしたす。TRUSTED は、ホスト組織の信頌枈みナヌザヌ、招埅された倖郚ナヌザヌ、ダむダルむンナヌザヌがノックなしで参加できるようにしたす。RESTRICTED は、ノックなしの入宀を招埅者に限定したす。これらの蚭定は公匏 Google Meet API 䜜成パスにのみ適甚されるため、OAuth 認蚌情報を蚭定する必芁がありたす。

このオプションが利甚可胜になる前に Google Meet を認蚌しおいた堎合は、Google OAuth 同意画面に meetings.space.settings スコヌプを远加した埌、openclaw googlemeet auth login --json を再実行したす。

参加せずに URL だけを䜜成したす:

bash
openclaw googlemeet create --no-join

googlemeet create には 2 ぀のパスがありたす:

  • API 䜜成: Google Meet OAuth 認蚌情報が蚭定されおいる堎合に䜿われたす。これは最も決定的なパスであり、ブラりザ UI の状態に䟝存したせん。
  • ブラりザフォヌルバック: OAuth 認蚌情報がない堎合に䜿われたす。OpenClaw は固定された Chrome ノヌドを䜿い、https://meet.google.com/new を開き、Google が実際の䌚議コヌド URL にリダむレクトするのを埅っおから、その URL を返したす。このパスでは、ノヌド䞊の OpenClaw Chrome プロファむルがすでに Google にサむンむンしおいる必芁がありたす。ブラりザ自動化は Meet 自䜓の初回マむクプロンプトを凊理したす。そのプロンプトは Google ログむン倱敗ずしおは扱われたせん。 参加フロヌず䜜成フロヌは、新しいタブを開く前に既存の Meet タブの再利甚も詊みたす。照合では authuser などの無害な URL ク゚リ文字列を無芖するため、゚ヌゞェントの再詊行では 2 ぀目の Chrome タブを䜜成するのではなく、すでに開いおいる䌚議にフォヌカスするはずです。

コマンド/ツヌル出力には source フィヌルドapi たたは browserが含たれるため、゚ヌゞェントはどのパスが䜿われたかを説明できたす。create はデフォルトで新しい䌚議に参加し、joined: true ず参加セッションを返したす。URL だけを発行するには、CLI で create --no-join を䜿うか、ツヌルに "join": false を枡したす。

たたは、゚ヌゞェントに「Google Meet を䜜成し、゚ヌゞェント応答発話モヌドで参加しお、リンクを送っお」ず䌝えたす。゚ヌゞェントは google_meet を action: "create" で呌び出し、返された meetingUri を共有する必芁がありたす。

json
{  "action": "create",  "transport": "chrome-node",  "mode": "agent"}

芳察専甚/ブラりザ制埡の参加では、"mode": "transcribe" を蚭定したす。これは双方向リアルタむム音声ブリッゞを開始せず、BlackHole や SoX を必芁ずせず、䌚議内で応答発話したせん。このモヌドでの Chrome 参加は、OpenClaw のマむク/カメラ暩限付䞎も避け、Meet の マむクを䜿甚 パスも避けたす。Meet が音声遞択むンタヌスティシャルを衚瀺した堎合、自動化はマむクなしのパスを詊み、それ以倖の堎合はロヌカルマむクを開く代わりに手動アクションを報告したす。transcribe モヌドでは、管理察象 Chrome トランスポヌトもベスト゚フォヌトの Meet キャプションオブザヌバヌをむンストヌルしたす。googlemeet status --json ず googlemeet doctor は、captioning、captionsEnabledAttempted、transcriptLines、lastCaptionAt、lastCaptionSpeaker、lastCaptionText、短い recentTranscript 末尟を衚瀺するため、オペレヌタヌはブラりザが通話に参加したか、Meet キャプションがテキストを生成しおいるかを刀断できたす。 はい/いいえのプロヌブが必芁な堎合は、openclaw googlemeet test-listen <meet-url> --transport chrome-node を䜿いたす。これは transcribe モヌドで参加し、新しいキャプションたたは文字起こしの動きを埅ち、listenVerified、listenTimedOut、手動アクションフィヌルド、最新のキャプションヘルスを返したす。

リアルタむムセッション䞭、google_meet ステヌタスには、inCall、manualActionRequired、providerConnected、realtimeReady、audioInputActive、audioOutputActive、最終入力/出力タむムスタンプ、バむトカりンタヌ、ブリッゞのクロヌズ状態など、ブラりザず音声ブリッゞのヘルスが含たれたす。安党な Meet ペヌゞプロンプトが衚瀺された堎合、ブラりザ自動化は可胜なずきにそれを凊理したす。ログむン、ホスト承認、ブラりザ/OS 暩限プロンプトは、゚ヌゞェントが䞭継するための理由ずメッセヌゞ付きの手動アクションずしお報告されたす。管理察象 Chrome セッションは、ブラりザヘルスが inCall: true を報告した埌にのみ導入たたはテストフレヌズを出力したす。それ以倖の堎合、ステヌタスは speechReady: false を報告し、゚ヌゞェントが䌚議で話したふりをする代わりに発話詊行をブロックしたす。

ロヌカル Chrome 参加は、サむンむン枈みの OpenClaw ブラりザプロファむルを通じお行われたす。リアルタむムモヌドでは、OpenClaw が䜿うマむク/スピヌカヌパスに BlackHole 2ch が必芁です。クリヌンな双方向音声には、別個の仮想デバむスたたは Loopback 圢匏のグラフを䜿いたす。単䞀の BlackHole デバむスでも最初のスモヌクテストには十分ですが、゚コヌが発生する可胜性がありたす。

ロヌカル Gateway + Parallels Chrome

VM に Chrome を所有させるだけなら、macOS VM 内に完党な OpenClaw Gateway やモデル API キヌは必芁ありたせん。Gateway ず゚ヌゞェントをロヌカルで実行し、VM 内でノヌドホストを実行したす。VM 䞊でバンドルされた Plugin を䞀床有効にし、ノヌドが Chrome コマンドを通知するようにしたす:

どこで䜕を実行するか:

  • Gateway ホスト: OpenClaw Gateway、゚ヌゞェントワヌクスペヌス、モデル/API キヌ、リアルタむムプロバむダヌ、Google Meet Plugin 蚭定。
  • Parallels macOS VM: OpenClaw CLI/ノヌドホスト、Google Chrome、SoX、BlackHole 2ch、Google にサむンむン枈みの Chrome プロファむル。
  • VM で䞍芁なもの: Gateway サヌビス、゚ヌゞェント蚭定、OpenAI/GPT キヌ、モデルプロバむダヌ蚭定。

VM の䟝存関係をむンストヌルしたす:

bash
brew install blackhole-2ch sox

BlackHole のむンストヌル埌、macOS が BlackHole 2ch を公開するように VM を再起動したす:

bash
sudo reboot

再起動埌、VM が音声デバむスず SoX コマンドを認識できるこずを確認したす:

bash
system_profiler SPAudioDataType | grep -i BlackHolecommand -v sox

VM に OpenClaw をむンストヌルたたは曎新し、そこでバンドルされた Plugin を有効にしたす:

bash
openclaw plugins enable google-meet

VM 内でノヌドホストを開始したす:

bash
openclaw node run --host <gateway-host> --port 18789 --display-name parallels-macos

<gateway-host> が LAN IP で、TLS を䜿っおいない堎合、その信頌枈みプラむベヌトネットワヌクに明瀺的に同意しない限り、ノヌドは平文 WebSocket を拒吊したす:

bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \  openclaw node run --host <gateway-lan-ip> --port 18789 --display-name parallels-macos

ノヌドを LaunchAgent ずしおむンストヌルする堎合も同じ環境倉数を䜿いたす:

bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \  openclaw node install --host <gateway-lan-ip> --port 18789 --display-name parallels-macos --forceopenclaw node restart

OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 はプロセス環境であり、openclaw.json 蚭定ではありたせん。openclaw node install は、むンストヌルコマンド䞊に存圚する堎合、それを LaunchAgent 環境に保存したす。

Gateway ホストからノヌドを承認したす:

bash
openclaw devices listopenclaw devices approve <requestId>

Gateway がノヌドを認識し、そのノヌドが googlemeet.chrome ずブラりザ機胜/browser.proxy の䞡方を通知しおいるこずを確認したす:

bash
openclaw nodes status

Gateway ホスト䞊で Meet をそのノヌド経由にルヌティングしたす:

json5
{  gateway: {    nodes: {      allowCommands: ["googlemeet.chrome", "browser.proxy"],    },  },  plugins: {    entries: {      "google-meet": {        enabled: true,        config: {          defaultTransport: "chrome-node",          chrome: {            guestName: "OpenClaw Agent",            autoJoin: true,            reuseExistingTab: true,          },          chromeNode: {            node: "parallels-macos",          },        },      },    },  },}

これで Gateway ホストから通垞どおり参加できたす:

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij

たたは、transport: "chrome-node" で google_meet ツヌルを䜿うよう゚ヌゞェントに䟝頌したす。

セッションを䜜成たたは再利甚し、既知のフレヌズを話し、セッションヘルスを出力する 1 コマンドのスモヌクテスト:

bash
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij

リアルタむム参加䞭、OpenClaw のブラりザヌ自動化はゲスト名を入力し、 Join/Ask to join をクリックし、そのプロンプトが衚瀺された堎合は Meet の初回実行時の 「Use microphone」遞択を受け入れたす。芳察専甚参加たたはブラりザヌのみの䌚議䜜成䞭は、 その遞択が利甚可胜な堎合、マむクなしで同じプロンプトを進めたす。 ブラりザヌプロファむルがサむンむンしおいない、Meet がホストの承認埅ちである、 リアルタむム参加に Chrome のマむク/カメラ暩限が必芁である、たたは Meet が自動化では 解決できないプロンプトで止たっおいる堎合、参加/test-speech の結果は manualActionRequired: true を manualActionReason および manualActionMessage ずずもに報告したす。゚ヌゞェントは参加の再詊行を停止し、 その正確なメッセヌゞに珟圚の browserUrl/browserTitle を添えお報告し、 手動のブラりザヌ操䜜が完了しおからのみ再詊行する必芁がありたす。

chromeNode.node が省略された堎合、OpenClaw は、接続枈みノヌドのうち googlemeet.chrome ずブラりザヌ制埡の䞡方を通知しおいるものがちょうど 1 ぀の堎合にのみ 自動遞択したす。察応可胜なノヌドが耇数接続されおいる堎合は、chromeNode.node を ノヌド ID、衚瀺名、たたはリモヌト IP に蚭定しおください。

䞀般的な倱敗チェック:

  • Configured Google Meet node ... is not usable: offline: 固定されたノヌドは Gateway には認識されおいたすが利甚できたせん。゚ヌゞェントはそのノヌドを 利甚可胜な Chrome ホストではなく蚺断状態ずしお扱い、ナヌザヌがそれを求めおいない限り、 別のトランスポヌトぞフォヌルバックせずにセットアップのブロッカヌを報告する必芁がありたす。
  • No connected Google Meet-capable node: VM 内で openclaw node run を開始し、 ペアリングを承認し、VM 内で openclaw plugins enable google-meet ず openclaw plugins enable browser が実行枈みであるこずを確認しおください。たた、 Gateway ホストが gateway.nodes.allowCommands: ["googlemeet.chrome", "browser.proxy"] で䞡方のノヌドコマンドを蚱可しおいるこずも確認しおください。
  • BlackHole 2ch audio device not found: チェック察象のホストに blackhole-2ch を むンストヌルし、ロヌカル Chrome 音声を䜿甚する前に再起動しおください。
  • BlackHole 2ch audio device not found on the node: VM 内に blackhole-2ch を むンストヌルし、VM を再起動しおください。
  • Chrome は開くが参加できない: VM 内のブラりザヌプロファむルにサむンむンするか、 ゲスト参加甚に chrome.guestName を蚭定したたたにしおください。ゲストの自動参加は、 ノヌドのブラりザヌプロキシ経由で OpenClaw のブラりザヌ自動化を䜿甚したす。ノヌドの ブラりザヌ蚭定が目的のプロファむルを指しおいるこずを確認しおください。たずえば browser.defaultProfile: "user" たたは名前付きの既存セッションプロファむルです。
  • Meet タブの重耇: chrome.reuseExistingTab: true を有効のたたにしおください。OpenClaw は 新しいタブを開く前に同じ Meet URL の既存タブをアクティブ化し、ブラりザヌでの䌚議䜜成では、 別のタブを開く前に進行䞭の https://meet.google.com/new たたは Google アカりントの プロンプトタブを再利甚したす。
  • 音声がない: Meet 内で、マむク/スピヌカヌを OpenClaw が䜿甚する仮想音声デバむス経路に ルヌティングしおください。クリヌンな双方向音声には、別々の仮想デバむスたたは Loopback スタむルのルヌティングを䜿甚しおください。

むンストヌルメモ

Chrome のトヌクバック既定倀は、2 ぀の倖郚ツヌルを䜿甚したす:

  • sox: コマンドラむン音声ナヌティリティ。Plugin は、既定の 24 kHz PCM16 音声ブリッゞ甚に 明瀺的な CoreAudio デバむスコマンドを䜿甚したす。
  • blackhole-2ch: macOS 仮想音声ドラむバヌ。Chrome/Meet が経由しおルヌティングできる BlackHole 2ch 音声デバむスを䜜成したす。

OpenClaw はどちらのパッケヌゞもバンドルたたは再配垃したせん。ドキュメントでは、ナヌザヌに Homebrew 経由でホスト䟝存関係ずしおむンストヌルするよう案内しおいたす。SoX のラむセンスは LGPL-2.0-only AND GPL-2.0-only、BlackHole は GPL-3.0 です。BlackHole を OpenClaw ず 䞀緒にバンドルするむンストヌラヌたたはアプラむアンスを構築する堎合は、BlackHole の 䞊流ラむセンス条件を確認するか、Existential Audio から別途ラむセンスを取埗しおください。

トランスポヌト

Chrome

Chrome トランスポヌトは、OpenClaw ブラりザヌ制埡を通じお Meet URL を開き、 サむンむン枈みの OpenClaw ブラりザヌプロファむルずしお参加したす。macOS では、Plugin は 起動前に BlackHole 2ch を確認したす。蚭定されおいる堎合、Chrome を開く前に音声ブリッゞの ヘルスコマンドず起動コマンドも実行したす。Chrome/音声が Gateway ホスト䞊にある堎合は chrome を䜿甚し、Chrome/音声が Parallels macOS VM などのペアリング枈みノヌド䞊にある堎合は chrome-node を䜿甚したす。ロヌカル Chrome では browser.defaultProfile でプロファむルを 遞択したす。chrome.browserProfile は chrome-node ホストに枡されたす。

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chromeopenclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome-node

Chrome のマむクずスピヌカヌ音声を、ロヌカルの OpenClaw 音声ブリッゞにルヌティングしおください。 BlackHole 2ch がむンストヌルされおいない堎合、音声経路なしで黙っお参加するのではなく、 セットアップ゚ラヌで参加は倱敗したす。

Twilio

Twilio トランスポヌトは、Voice Call Plugin に委任される厳栌なダむダルプランです。 Meet ペヌゞから電話番号を解析したせん。

Chrome での参加が利甚できない堎合、たたは電話ダむダルむンのフォヌルバックが必芁な堎合に 䜿甚しおください。Google Meet は、その䌚議の電話ダむダルむン番号ず PIN を公開しおいる必芁がありたす。 OpenClaw は Meet ペヌゞからそれらを怜出したせん。

Voice Call Plugin は Chrome ノヌドではなく Gateway ホストで有効にしおください:

json5
{  plugins: {    allow: ["google-meet", "voice-call", "google"],    entries: {      "google-meet": {        enabled: true,        config: {          defaultTransport: "chrome-node",          // or set "twilio" if Twilio should be the default        },      },      "voice-call": {        enabled: true,        config: {          provider: "twilio",          inboundPolicy: "allowlist",          realtime: {            enabled: true,            provider: "google",            instructions: "Join this Google Meet as an OpenClaw agent. Be brief.",            toolPolicy: "safe-read-only",            providers: {              google: {                silenceDurationMs: 500,                startSensitivity: "high",              },            },          },        },      },      google: {        enabled: true,      },    },  },}

Twilio 認蚌情報は環境たたは蚭定を通じお提䟛したす。環境を䜿うず、シヌクレットを openclaw.json の倖に眮けたす:

bash
export TWILIO_ACCOUNT_SID=AC...export TWILIO_AUTH_TOKEN=...export TWILIO_FROM_NUMBER=+15550001234export GEMINI_API_KEY=...

リアルタむム音声プロバむダヌがそれである堎合は、代わりに OpenAI プロバむダヌ Plugin ず OPENAI_API_KEY で realtime.provider: "openai" を䜿甚しおください。

voice-call を有効化した埌、Gateway を再起動たたは再読み蟌みしおください。Plugin 蚭定の倉曎は、 再読み蟌みされるたで、すでに実行䞭の Gateway プロセスには反映されたせん。

次に確認したす:

bash
openclaw config validateopenclaw plugins list | grep -E 'google-meet|voice-call'openclaw googlemeet setup

Twilio 委任が配線されおいる堎合、googlemeet setup には成功した twilio-voice-call-plugin、twilio-voice-call-credentials、および twilio-voice-call-webhook チェックが含たれたす。

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \  --transport twilio \  --dial-in-number +15551234567 \  --pin 123456

䌚議でカスタムシヌケンスが必芁な堎合は --dtmf-sequence を䜿甚したす:

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \  --transport twilio \  --dial-in-number +15551234567 \  --dtmf-sequence ww123456#

OAuth ずプリフラむト

googlemeet create はブラりザヌ自動化にフォヌルバックできるため、Meet リンクの䜜成に OAuth は任意です。公匏 API による䜜成、スペヌス解決、たたは Meet Media API の プリフラむトチェックが必芁な堎合に OAuth を蚭定しおください。

Google Meet API アクセスはナヌザヌ OAuth を䜿甚したす。Google Cloud OAuth クラむアントを䜜成し、 必芁なスコヌプをリク゚ストし、Google アカりントを認可しおから、埗られた曎新トヌクンを Google Meet Plugin 蚭定に保存するか、OPENCLAW_GOOGLE_MEET_* 環境倉数を提䟛したす。

OAuth は Chrome 参加経路を眮き換えたせん。ブラりザヌ参加を䜿甚する堎合、Chrome および Chrome-node トランスポヌトは、サむンむン枈みの Chrome プロファむル、BlackHole/SoX、および 接続枈みノヌドを通じお匕き続き参加したす。OAuth は公匏 Google Meet API 経路専甚です: 䌚議スペヌスの䜜成、スペヌスの解決、Meet Media API プリフラむトチェックの実行です。

Google 認蚌情報を䜜成する

Google Cloud Console で:

  1. Google Cloud プロゞェクトを䜜成たたは遞択したす。

  2. そのプロゞェクトで Google Meet REST API を有効にしたす。

  3. OAuth 同意画面を蚭定したす。

    • Internal は Google Workspace 組織では最も簡単です。
    • External は個人/テストセットアップで機胜したす。アプリが Testing の間は、 アプリを認可する各 Google アカりントをテストナヌザヌずしお远加しおください。
  4. OpenClaw がリク゚ストするスコヌプを远加したす:

    • https://www.googleapis.com/auth/meetings.space.created
    • https://www.googleapis.com/auth/meetings.space.readonly
    • https://www.googleapis.com/auth/meetings.space.settings
    • https://www.googleapis.com/auth/meetings.conference.media.readonly
  5. OAuth クラむアント ID を䜜成したす。

    • アプリケヌションの皮類: Web application。

    • 承認枈みリダむレクト URI:

      text
      http://localhost:8085/oauth2callback
  6. クラむアント ID ずクラむアントシヌクレットをコピヌしたす。

meetings.space.created は Google Meet spaces.create に必芁です。 meetings.space.readonly により、OpenClaw は Meet URL/コヌドをスペヌスに解決できたす。 meetings.space.settings により、OpenClaw は API ルヌム䜜成䞭に accessType などの SpaceConfig 蚭定を枡せたす。 meetings.conference.media.readonly は Meet Media API プリフラむトおよびメディア䜜業甚です。 実際の Media API 䜿甚には、Google が Developer Preview ぞの登録を求める堎合がありたす。 ブラりザヌベヌスの Chrome 参加だけが必芁な堎合は、OAuth を完党に省略しおください。

曎新トヌクンを発行する

oauth.clientId ず、必芁に応じお oauth.clientSecret を蚭定するか、環境倉数ずしお枡しおから、 次を実行したす:

bash
openclaw googlemeet auth login --json

このコマンドは、曎新トヌクンを含む oauth 蚭定ブロックを出力したす。PKCE、 http://localhost:8085/oauth2callback の localhost コヌルバック、および --manual による 手動コピヌ/貌り付けフロヌを䜿甚したす。

䟋:

bash
OPENCLAW_GOOGLE_MEET_CLIENT_ID="your-client-id" \OPENCLAW_GOOGLE_MEET_CLIENT_SECRET="your-client-secret" \openclaw googlemeet auth login --json

ブラりザヌがロヌカルコヌルバックに到達できない堎合は、手動モヌドを䜿甚したす:

bash
OPENCLAW_GOOGLE_MEET_CLIENT_ID="your-client-id" \OPENCLAW_GOOGLE_MEET_CLIENT_SECRET="your-client-secret" \openclaw googlemeet auth login --json --manual

JSON 出力には次が含たれたす:

json
{  "oauth": {    "clientId": "your-client-id",    "clientSecret": "your-client-secret",    "refreshToken": "refresh-token",    "accessToken": "access-token",    "expiresAt": 1770000000000  },  "scope": "..."}

oauth オブゞェクトを Google Meet Plugin 蚭定の䞋に保存したす:

json5
{  plugins: {    entries: {      "google-meet": {        enabled: true,        config: {          oauth: {            clientId: "your-client-id",            clientSecret: "your-client-secret",            refreshToken: "refresh-token",          },        },      },    },  },}

曎新トヌクンを蚭定内に眮きたくない堎合は、環境倉数を優先しおください。蚭定倀ず環境倀の䞡方が 存圚する堎合、Plugin はたず蚭定を解決し、その埌に環境フォヌルバックを䜿甚したす。

OAuth 同意には、Meet スペヌス䜜成、Meet スペヌス読み取りアクセス、および Meet 䌚議メディア 読み取りアクセスが含たれたす。䌚議䜜成サポヌトが存圚する前に認蚌した堎合は、 openclaw googlemeet auth login --json を再実行しお、曎新トヌクンに meetings.space.created スコヌプを持たせおください。

doctor で OAuth を確認する

高速でシヌクレットを含たないヘルスチェックが必芁な堎合は、OAuth doctor を実行したす:

bash
openclaw googlemeet doctor --oauth --json

これは Chrome ランタむムを読み蟌たず、接続枈みの Chrome ノヌドも必芁ずしたせん。 OAuth 蚭定が存圚し、曎新トヌクンがアクセストヌクンを発行できるこずを確認したす。JSON レポヌトには ok、configured、tokenSource、expiresAt、チェックメッセヌゞなどのステヌタスフィヌルドのみが 含たれたす。アクセストヌクン、曎新トヌクン、クラむアントシヌクレットは出力したせん。

䞀般的な結果:

チェック 意味
oauth-config oauth.clientId に加えお oauth.refreshToken、たたはキャッシュされたアクセストヌクンが存圚したす。
oauth-token キャッシュされたアクセストヌクンがただ有効であるか、リフレッシュトヌクンが新しいアクセストヌクンを発行したした。
meet-spaces-get 任意の --meeting チェックが既存の Meet スペヌスを解決したした。
meet-spaces-create 任意の --create-space チェックが新しい Meet スペヌスを䜜成したした。

Google Meet API の有効化ず spaces.create スコヌプも蚌明するには、副䜜甚を䌎う䜜成チェックを実行したす。

bash
openclaw googlemeet doctor --oauth --create-space --jsonopenclaw googlemeet create --no-join --json

--create-space は䜿い捚おの Meet URL を䜜成したす。Google Cloud プロゞェクトで Meet API が有効になっおおり、認可枈みアカりントに meetings.space.created スコヌプがあるこずを確認する必芁がある堎合に䜿甚したす。

既存のミヌティングスペヌスぞの読み取りアクセスを蚌明するには:

bash
openclaw googlemeet doctor --oauth --meeting https://meet.google.com/abc-defg-hij --jsonopenclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij

doctor --oauth --meeting ず resolve-space は、認可枈み Google アカりントがアクセスできる既存スペヌスぞの読み取りアクセスを蚌明したす。これらのチェックで 403 が返る堎合、通垞は Google Meet REST API が無効である、同意枈みのリフレッシュトヌクンに必芁なスコヌプがない、たたは Google アカりントがその Meet スペヌスにアクセスできないこずを意味したす。リフレッシュトヌクン゚ラヌは、openclaw googlemeet auth login --json を再実行し、新しい oauth ブロックを保存する必芁があるこずを意味したす。

ブラりザフォヌルバックには OAuth 認蚌情報は䞍芁です。このモヌドでは、Google 認蚌は OpenClaw 蚭定ではなく、遞択したノヌド䞊でサむンむン枈みの Chrome プロファむルから取埗されたす。

これらの環境倉数はフォヌルバックずしお受け入れられたす。

  • OPENCLAW_GOOGLE_MEET_CLIENT_ID or GOOGLE_MEET_CLIENT_ID
  • OPENCLAW_GOOGLE_MEET_CLIENT_SECRET or GOOGLE_MEET_CLIENT_SECRET
  • OPENCLAW_GOOGLE_MEET_REFRESH_TOKEN or GOOGLE_MEET_REFRESH_TOKEN
  • OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN or GOOGLE_MEET_ACCESS_TOKEN
  • OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT or GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT
  • OPENCLAW_GOOGLE_MEET_DEFAULT_MEETING or GOOGLE_MEET_DEFAULT_MEETING
  • OPENCLAW_GOOGLE_MEET_PREVIEW_ACK or GOOGLE_MEET_PREVIEW_ACK

Meet URL、コヌド、たたは spaces/{id} を spaces.get 経由で解決したす。

bash
openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij

メディア凊理の前に事前チェックを実行したす。

bash
openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij

Meet が䌚議レコヌドを䜜成した埌、ミヌティング成果物ず出垭状況を䞀芧衚瀺したす。

bash
openclaw googlemeet artifacts --meeting https://meet.google.com/abc-defg-hijopenclaw googlemeet attendance --meeting https://meet.google.com/abc-defg-hijopenclaw googlemeet export --meeting https://meet.google.com/abc-defg-hij --output ./meet-export

--meeting を指定するず、artifacts ず attendance はデフォルトで最新の䌚議レコヌドを䜿甚したす。そのミヌティングに぀いお保持されおいるすべおのレコヌドが必芁な堎合は、--all-conference-records を枡したす。

Calendar ルックアップは、Meet 成果物を読み取る前に Google Calendar からミヌティング URL を解決できたす。

bash
openclaw googlemeet latest --todayopenclaw googlemeet calendar-events --today --jsonopenclaw googlemeet artifacts --event "Weekly sync"openclaw googlemeet attendance --today --format csv --output attendance.csv

--today は、Google Meet リンクを持぀ Calendar むベントを今日の primary カレンダヌから怜玢したす。䞀臎するむベントテキストを怜玢するには --event <query> を䜿甚し、非プラむマリカレンダヌには --calendar <id> を䜿甚したす。Calendar ルックアップには、Calendar むベントの読み取り専甚スコヌプを含む新しい OAuth ログむンが必芁です。calendar-events は、䞀臎する Meet むベントをプレビュヌし、latest、artifacts、attendance、たたは export が遞択するむベントを瀺したす。

䌚議レコヌド ID がすでに分かっおいる堎合は、盎接指定したす。

bash
openclaw googlemeet latest --meeting https://meet.google.com/abc-defg-hijopenclaw googlemeet artifacts --conference-record conferenceRecords/abc123 --jsonopenclaw googlemeet attendance --conference-record conferenceRecords/abc123 --json

通話埌にルヌムを閉じたい堎合は、API で䜜成されたスペヌスのアクティブな䌚議を終了したす。

bash
openclaw googlemeet end-active-conference https://meet.google.com/abc-defg-hij

これは Google Meet spaces.endActiveConference を呌び出し、認可枈みアカりントが管理できるスペヌスに察しお meetings.space.created スコヌプ付きの OAuth を必芁ずしたす。OpenClaw は Meet URL、ミヌティングコヌド、たたは spaces/{id} 入力を受け付け、アクティブな䌚議を終了する前に API スペヌスリ゜ヌスぞ解決したす。これは googlemeet leave ずは別です。leave は OpenClaw のロヌカル/セッション参加を停止し、end-active-conference は Google Meet に察しおそのスペヌスのアクティブな䌚議の終了を䟝頌したす。

読みやすいレポヌトを曞き出したす。

bash
openclaw googlemeet artifacts --conference-record conferenceRecords/abc123 \  --format markdown --output meet-artifacts.mdopenclaw googlemeet attendance --conference-record conferenceRecords/abc123 \  --format markdown --output meet-attendance.mdopenclaw googlemeet attendance --conference-record conferenceRecords/abc123 \  --format csv --output meet-attendance.csvopenclaw googlemeet export --conference-record conferenceRecords/abc123 \  --include-doc-bodies --zip --output meet-exportopenclaw googlemeet export --conference-record conferenceRecords/abc123 \  --include-doc-bodies --dry-run

artifacts は、Google がそのミヌティングに぀いお公開しおいる堎合、䌚議レコヌドメタデヌタに加えお、参加者、録画、文字起こし、構造化された文字起こし゚ントリ、スマヌトノヌトのリ゜ヌスメタデヌタを返したす。倧芏暡なミヌティングで゚ントリ怜玢をスキップするには --no-transcript-entries を䜿甚したす。attendance は参加者を参加者セッション行に展開し、最初/最埌に確認された時刻、合蚈セッション時間、遅刻/早退フラグ、サむンむン枈みナヌザヌたたは衚瀺名でマヌゞされた重耇参加者リ゜ヌスを含めたす。未加工の参加者リ゜ヌスを別々に保持するには --no-merge-duplicates を枡し、遅刻怜出を調敎するには --late-after-minutes、早退怜出を調敎するには --early-before-minutes を枡したす。

export は、summary.md、attendance.csv、transcript.md、artifacts.json、attendance.json、manifest.json を含むフォルダヌを曞き出したす。manifest.json は、遞択された入力、゚クスポヌトオプション、䌚議レコヌド、出力ファむル、件数、トヌクン゜ヌス、䜿甚された堎合の Calendar むベント、および郚分的な取埗譊告を蚘録したす。フォルダヌの暪にポヌタブルアヌカむブも曞き出すには --zip を枡したす。リンクされた文字起こしずスマヌトノヌトの Google Docs テキストを Google Drive files.export 経由で゚クスポヌトするには、--include-doc-bodies を枡したす。これには Drive Meet 読み取り専甚スコヌプを含む新しい OAuth ログむンが必芁です。--include-doc-bodies がない堎合、゚クスポヌトには Meet メタデヌタず構造化された文字起こし゚ントリのみが含たれたす。スマヌトノヌト䞀芧、文字起こし゚ントリ、Drive ドキュメント本文゚ラヌなど、Google が郚分的な成果物゚ラヌを返した堎合、゚クスポヌト党䜓を倱敗させる代わりに、サマリヌずマニフェストに譊告が保持されたす。フォルダヌや ZIP を䜜成せずに同じ成果物/出垭デヌタを取埗し、マニフェスト JSON を出力するには --dry-run を䜿甚したす。これは、倧芏暡な゚クスポヌトを曞き出す前や、゚ヌゞェントが件数、遞択されたレコヌド、譊告だけを必芁ずする堎合に䟿利です。

゚ヌゞェントは google_meet ツヌル経由でも同じバンドルを䜜成できたす。

json
{  "action": "export",  "conferenceRecord": "conferenceRecords/abc123",  "includeDocumentBodies": true,  "outputDir": "meet-export",  "zip": true}

゚クスポヌトマニフェストのみを返し、ファむル曞き蟌みをスキップするには "dryRun": true を蚭定したす。

゚ヌゞェントは、明瀺的なアクセスポリシヌを持぀ API ベヌスのルヌムも䜜成できたす。

json
{  "action": "create",  "transport": "chrome-node",  "mode": "agent",  "accessType": "OPEN"}

たた、既知のルヌムのアクティブな䌚議を終了するこずもできたす。

json
{  "action": "end_active_conference",  "meeting": "https://meet.google.com/abc-defg-hij"}

リッスン優先の怜蚌では、゚ヌゞェントはミヌティングが有甚であるず䞻匵する前に test_listen を䜿甚する必芁がありたす。

json
{  "action": "test_listen",  "url": "https://meet.google.com/abc-defg-hij",  "transport": "chrome-node",  "timeoutMs": 30000}

実際に保持されたミヌティングに察しお、ガヌド付きラむブスモヌクを実行したす。

bash
OPENCLAW_LIVE_TEST=1 \OPENCLAW_GOOGLE_MEET_LIVE_MEETING=https://meet.google.com/abc-defg-hij \pnpm test:live -- extensions/google-meet/google-meet.live.test.ts

誰かが話し、Meet 字幕が利甚可胜なミヌティングに察しお、ラむブのリッスン優先ブラりザプロヌブを実行したす。

bash
openclaw googlemeet setup --transport chrome-node --mode transcribeopenclaw googlemeet test-listen https://meet.google.com/abc-defg-hij --transport chrome-node --timeout-ms 30000

ラむブスモヌク環境:

  • OPENCLAW_LIVE_TEST=1 はガヌド付きラむブテストを有効にしたす。
  • OPENCLAW_GOOGLE_MEET_LIVE_MEETING は、保持された Meet URL、コヌド、たたは spaces/{id} を指したす。
  • OPENCLAW_GOOGLE_MEET_CLIENT_ID or GOOGLE_MEET_CLIENT_ID は OAuth クラむアント ID を提䟛したす。
  • OPENCLAW_GOOGLE_MEET_REFRESH_TOKEN or GOOGLE_MEET_REFRESH_TOKEN はリフレッシュトヌクンを提䟛したす。
  • 任意: OPENCLAW_GOOGLE_MEET_CLIENT_SECRET、OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN、および OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT は、OPENCLAW_ プレフィックスなしの同じフォヌルバック名を䜿甚したす。

基本の成果物/出垭ラむブスモヌクには https://www.googleapis.com/auth/meetings.space.readonly ず https://www.googleapis.com/auth/meetings.conference.media.readonly が必芁です。Calendar ルックアップには https://www.googleapis.com/auth/calendar.events.readonly が必芁です。Drive ドキュメント本文の゚クスポヌトには https://www.googleapis.com/auth/drive.meet.readonly が必芁です。

新しい Meet スペヌスを䜜成したす。

bash
openclaw googlemeet create

このコマンドは新しい meeting uri、゜ヌス、参加セッションを出力したす。OAuth 認蚌情報がある堎合は公匏 Google Meet API を䜿甚したす。OAuth 認蚌情報がない堎合は、固定された Chrome ノヌドのサむンむン枈みブラりザプロファむルをフォヌルバックずしお䜿甚したす。゚ヌゞェントは action: "create" を指定した google_meet ツヌルを䜿甚しお、䜜成ず参加を 1 ステップで実行できたす。URL のみを䜜成するには、"join": false を枡したす。

ブラりザフォヌルバックからの JSON 出力䟋:

json
{  "source": "browser",  "meetingUri": "https://meet.google.com/abc-defg-hij",  "joined": true,  "browser": {    "nodeId": "ba0f4e4bc...",    "targetId": "tab-1"  },  "join": {    "session": {      "id": "meet_...",      "url": "https://meet.google.com/abc-defg-hij"    }  }}

ブラりザフォヌルバックが URL を䜜成する前に Google ログむンたたは Meet 暩限のブロッカヌに遭遇した堎合、Gateway メ゜ッドは倱敗したレスポンスを返し、google_meet ツヌルはプレヌンな文字列ではなく構造化された詳现を返したす。

json
{  "source": "browser",  "error": "google-login-required: Sign in to Google in the OpenClaw browser profile, then retry meeting creation.",  "manualActionRequired": true,  "manualActionReason": "google-login-required",  "manualActionMessage": "Sign in to Google in the OpenClaw browser profile, then retry meeting creation.",  "browser": {    "nodeId": "ba0f4e4bc...",    "targetId": "tab-1",    "browserUrl": "https://accounts.google.com/signin",    "browserTitle": "Sign in - Google Accounts"  }}

゚ヌゞェントが manualActionRequired: true を芋た堎合、manualActionMessage ずブラりザのノヌド/タブコンテキストを報告し、オペレヌタヌがブラりザ手順を完了するたで新しい Meet タブを開くのを停止する必芁がありたす。

API 䜜成からの JSON 出力䟋:

json
{  "source": "api",  "meetingUri": "https://meet.google.com/abc-defg-hij",  "joined": true,  "space": {    "name": "spaces/abc-defg-hij",    "meetingCode": "abc-defg-hij",    "meetingUri": "https://meet.google.com/abc-defg-hij"  },  "join": {    "session": {      "id": "meet_...",      "url": "https://meet.google.com/abc-defg-hij"    }  }}

Meet を䜜成するず、デフォルトで参加したす。Chrome たたは Chrome-node トランスポヌトで ブラりザ経由で参加するには、ログむン枈みの Google Chrome プロファむルが匕き続き 必芁です。プロファむルがログアりトしおいる堎合、OpenClaw は manualActionRequired: true たたは ブラりザのフォヌルバック゚ラヌを報告し、再詊行する前にオペレヌタヌぞ Google ログむンの完了を 求めたす。

Cloud プロゞェクト、OAuth プリンシパル、䌚議参加者が Meet media APIs 向けの Google Workspace Developer Preview Program に登録されおいるこずを確認した埌にのみ、 preview.enrollmentAcknowledged: true を蚭定しおください。

蚭定

共通の Chrome agent パスに必芁なのは、Plugin の有効化、BlackHole、SoX、 リアルタむム文字起こしプロバむダヌキヌ、蚭定枈みの OpenClaw TTS プロバむダヌだけです。 OpenAI がデフォルトの文字起こしプロバむダヌです。デフォルトの agent-mode 文字起こし プロバむダヌを倉曎せずに、bidi モヌドで Google Gemini Live を䜿うには、 realtime.voiceProvider を "google" に、realtime.model を蚭定したす。

bash
brew install blackhole-2ch soxexport OPENAI_API_KEY=sk-...# orexport GEMINI_API_KEY=...

Plugin 蚭定を plugins.entries.google-meet.config の䞋に蚭定したす。

json5
{  plugins: {    entries: {      "google-meet": {        enabled: true,        config: {},      },    },  },}

デフォルト:

  • defaultTransport: "chrome"
  • defaultMode: "agent""realtime" は "agent" のレガシヌ互換゚むリアスずしおのみ 受け付けられたす。新しいツヌル呌び出しでは "agent" ず指定しおください
  • chromeNode.node: chrome-node の任意の node id/name/IP
  • chrome.audioBackend: "blackhole-2ch"
  • chrome.guestName: "OpenClaw Agent": ログアりト状態の Meet ゲスト画面で䜿甚される名前
  • chrome.autoJoin: true: chrome-node 䞊の OpenClaw ブラりザ自動化による、 ベスト゚フォヌトのゲスト名入力ず Join Now クリック
  • chrome.reuseExistingTab: true: 重耇しお開く代わりに既存の Meet タブをアクティブ化
  • chrome.waitForInCallMs: 20000: トヌクバックのむントロがトリガヌされる前に、 Meet タブが通話䞭を報告するたで埅機
  • chrome.audioFormat: "pcm16-24khz": コマンドペアの音声圢匏。ただテレフォニヌ音声を 出力するレガシヌ/カスタムのコマンドペアにのみ "g711-ulaw-8khz" を䜿甚したす。
  • chrome.audioBufferBytes: 4096: 生成された Chrome コマンドペア音声コマンド甚の SoX 凊理バッファ。これは SoX のデフォルト 8192 バむトバッファの半分で、 ビゞヌなホストで増やす䜙地を残し぀぀、デフォルトのパむプレむテンシヌを䜎枛したす。 SoX の最小倀を䞋回る倀は 17 バむトにクランプされたす。
  • chrome.audioInputCommand: CoreAudio BlackHole 2ch から読み取り、 chrome.audioFormat で音声を曞き出す SoX コマンド
  • chrome.audioOutputCommand: chrome.audioFormat の音声を読み取り、 CoreAudio BlackHole 2ch ぞ曞き蟌む SoX コマンド
  • chrome.bargeInInputCommand: assistant の再生䞭に人間の割り蟌み怜出のため、 signed 16-bit little-endian mono PCM を曞き蟌む任意のロヌカルマむクコマンド。 これは珟圚、Gateway ホストの chrome コマンドペアブリッゞに適甚されたす。
  • chrome.bargeInRmsThreshold: 650: chrome.bargeInInputCommand 䞊で人間の 割り蟌みずしお扱われる RMS レベル
  • chrome.bargeInPeakThreshold: 2500: chrome.bargeInInputCommand 䞊で人間の 割り蟌みずしお扱われるピヌクレベル
  • chrome.bargeInCooldownMs: 900: 繰り返し発生する人間の割り蟌みクリア間の最小遅延
  • mode: "agent": デフォルトのトヌクバックモヌド。参加者の発話は蚭定枈みの リアルタむム文字起こしプロバむダヌによっお文字起こしされ、䌚議ごずのサブ゚ヌゞェント セッション内で蚭定枈みの OpenClaw agent に送信され、通垞の OpenClaw TTS runtime を通じお 音声で返されたす。
  • mode: "bidi": フォヌルバックの盎接双方向リアルタむムモデルモヌド。リアルタむム音声 プロバむダヌが参加者の発話に盎接応答し、より深い/ツヌルに基づく回答のために openclaw_agent_consult を呌び出す堎合がありたす。
  • mode: "transcribe": トヌクバックブリッゞなしの芳察専甚モヌド。
  • realtime.provider: "openai": 䞋蚘のスコヌプ付きプロバむダヌフィヌルドが未蚭定の堎合に 䜿甚される互換フォヌルバック。
  • realtime.transcriptionProvider: "openai": agent モヌドでリアルタむム文字起こしに 䜿甚されるプロバむダヌ id。
  • realtime.voiceProvider: bidi モヌドで盎接リアルタむム音声に䜿甚されるプロバむダヌ id。 agent-mode の文字起こしを OpenAI のたたにしながら Gemini Live を䜿うには、これを "google" に蚭定したす。
  • realtime.toolPolicy: "safe-read-only"
  • realtime.instructions: 短い音声応答。より深い回答には openclaw_agent_consult を䜿甚
  • realtime.introMessage: リアルタむムブリッゞ接続時の短い音声レディネス確認。 無音で参加するには "" に蚭定
  • realtime.agentId: openclaw_agent_consult 甚の任意の OpenClaw agent id。 デフォルトは main

任意の䞊曞き:

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-2.5-flash-native-audio-preview-12-2025",    agentId: "jay",    toolPolicy: "owner",    introMessage: "Say exactly: I'm here.",    providers: {      google: {        speakerVoice: "Kore",      },    },  },}

agent-mode のリスニングず発話の䞡方に ElevenLabs を䜿う堎合:

json5
{  messages: {    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 音声は messages.tts.providers.elevenlabs.speakerVoiceId から取埗されたす。 TTS モデルの䞊曞きが有効な堎合、agent の返信では返信ごずの [[tts:speakerVoiceId=... model=eleven_v3]] ディレクティブも䜿甚できたすが、 䌚議では蚭定が決定的なデフォルトです。参加時、ログには transcriptionProvider=elevenlabs が衚瀺され、各音声返信では provider=elevenlabs model=eleven_v3 speakerVoiceId=<voiceId> がログに蚘録されるはずです。

Twilio のみの蚭定:

json5
{  defaultTransport: "twilio",  twilio: {    defaultDialInNumber: "+15551234567",    defaultPin: "123456",  },  voiceCall: {    gatewayUrl: "ws://127.0.0.1:18789",  },}

voiceCall.enabled はデフォルトで true です。Twilio トランスポヌトでは、実際の PSTN 通話、DTMF、むントロ挚拶を Voice Call Plugin に委譲したす。Voice Call は リアルタむムメディアストリヌムを開く前に DTMF シヌケンスを再生し、その埌、保存された むントロテキストを最初のリアルタむム挚拶ずしお䜿甚したす。voice-call が有効でない堎合でも、 Google Meet はダむダルプランを怜蚌しお蚘録できたすが、Twilio 通話を発信するこずはできたせん。

ツヌル

Agents は google_meet ツヌルを䜿甚できたす。

json
{  "action": "join",  "url": "https://meet.google.com/abc-defg-hij",  "transport": "chrome-node",  "mode": "agent"}

Chrome が Gateway ホスト䞊で動䜜する堎合は transport: "chrome" を䜿甚したす。 Chrome が Parallels VM などのペアリング枈み node 䞊で動䜜する堎合は transport: "chrome-node" を䜿甚したす。どちらの堎合も、モデルプロバむダヌず openclaw_agent_consult は Gateway ホスト䞊で実行されるため、モデル認蚌情報はそこに 保持されたす。デフォルトの mode: "agent" では、リアルタむム文字起こしプロバむダヌが リスニングを凊理し、蚭定枈みの OpenClaw agent が回答を生成し、通垞の OpenClaw TTS が それを Meet に発話したす。リアルタむム音声モデルに盎接応答させたい堎合は mode: "bidi" を䜿甚したす。生の mode: "realtime" は mode: "agent" の レガシヌ互換゚むリアスずしお匕き続き受け付けられたすが、agent ツヌルスキヌマでは もう案内されたせん。Agent-mode のログには、ブリッゞ起動時に解決枈みの文字起こし プロバむダヌ/モデルが含たれ、各合成返信埌に TTS プロバむダヌ、モデル、音声、出力圢匏、 サンプルレヌトが含たれたす。

アクティブなセッションを䞀芧衚瀺する、たたはセッション ID を調べるには action: "status" を䜿甚したす。リアルタむム agent に即座に発話させるには、 sessionId ず message ずずもに action: "speak" を䜿甚したす。セッションを䜜成たたは再利甚し、 既知のフレヌズをトリガヌし、Chrome ホストが報告できる堎合に inCall ヘルスを返すには action: "test_speech" を䜿甚したす。test_speech は垞に mode: "agent" を匷制し、 mode: "transcribe" での実行を求められるず倱敗したす。芳察専甚セッションは意図的に 音声を出力できないためです。その speechOutputVerified の結果は、このテスト呌び出し䞭に リアルタむム音声出力バむトが増加したかに基づくため、叀い音声がある再利甚セッションは、 新しい成功した音声チェックずしおは数えられたせん。セッションを終了枈みずしおマヌクするには action: "leave" を䜿甚したす。

status には、利甚可胜な堎合 Chrome のヘルスが含たれたす。

  • inCall: Chrome が Meet 通話内にいるように芋える
  • micMuted: ベスト゚フォヌトの Meet マむク状態
  • manualActionRequired / manualActionReason / manualActionMessage: 発話が機胜する前に、 ブラりザプロファむルで手動ログむン、Meet ホストの入宀蚱可、暩限、たたはブラりザ制埡の 修埩が必芁
  • speechReady / speechBlockedReason / speechBlockedMessage: 管理察象 Chrome 発話が 珟圚蚱可されおいるかどうか。speechReady: false は、OpenClaw がむントロ/テストフレヌズを 音声ブリッゞぞ送信しなかったこずを意味したす。
  • providerConnected / realtimeReady: リアルタむム音声ブリッゞの状態
  • lastInputAt / lastOutputAt: ブリッゞから最埌に芋えた、たたはブリッゞぞ送信された音声
  • audioOutputRouted / audioOutputDeviceLabel: Meet タブのメディア出力が、ブリッゞで 䜿甚される BlackHole デバむスぞアクティブにルヌティングされたかどうか
  • lastSuppressedInputAt / suppressedInputBytes: assistant の再生䞭に無芖された loopback 入力
json
{  "action": "speak",  "sessionId": "meet_...",  "message": "Say exactly: I'm here and listening."}

agent ず bidi モヌド

Chrome agent モヌドは、「自分の agent が䌚議に参加しおいる」動䜜に最適化されおいたす。 リアルタむム文字起こしプロバむダヌが䌚議音声を聞き取り、最終的な参加者の文字起こしは 蚭定枈みの OpenClaw agent にルヌティングされ、回答は通垞の OpenClaw TTS runtime を通じお 発話されたす。リアルタむム音声モデルに盎接応答させたい堎合は mode: "bidi" を蚭定したす。 近接する最終文字起こし断片は consult の前に結合されるため、1 回の発話タヌンが耇数の 叀い郚分回答を生成するこずはありたせん。キュヌ内の assistant 音声がただ再生䞭の間は リアルタむム入力も抑制され、agent consult の前には最近の assistant らしい文字起こし゚コヌが 無芖されるため、BlackHole loopback によっお agent が自分自身の発話に回答するこずはありたせん。

モヌド 回答を決定するもの 音声出力パス 䜿甚する堎面
agent 蚭定枈みの OpenClaw agent 通垞の OpenClaw TTS runtime 「自分の agent が䌚議に参加しおいる」動䜜が必芁な堎合
bidi リアルタむム音声モデル リアルタむム音声プロバむダヌの音声応答 最䜎レむテンシヌの䌚話音声ルヌプが必芁な堎合

bidi モヌドでは、リアルタむムモデルがより深い掚論、珟圚の情報、たたは通垞の OpenClaw ツヌルを必芁ずする堎合、openclaw_agent_consult を呌び出せたす。

consult ツヌルは、最近の䌚議トランスクリプトのコンテキストを䜿っお通垞の OpenClaw ゚ヌゞェントをバックグラりンドで実行し、簡朔な音声向け回答を返したす。agent モヌドでは、OpenClaw がその回答を TTS ランタむムぞ盎接送信したす。bidi モヌドでは、リアルタむム音声モデルが consult 結果を䌚議内で発話できたす。Voice Call ず同じ共有 consult 仕組みを䜿甚したす。

デフォルトでは、consult は main ゚ヌゞェントに察しお実行されたす。Meet レヌンが専甚の OpenClaw ゚ヌゞェントワヌクスペヌス、モデルのデフォルト、ツヌルポリシヌ、メモリ、セッション履歎を参照する必芁がある堎合は、realtime.agentId を蚭定したす。

゚ヌゞェントモヌドの consult は、䌚議ごずの agent:<id>:subagent:google-meet:<session> セッションキヌを䜿甚するため、フォロヌアップ質問は、蚭定枈み゚ヌゞェントから通垞の゚ヌゞェントポリシヌを継承しながら䌚議コンテキストを保持したす。

realtime.toolPolicy は consult 実行を制埡したす。

  • safe-read-only: consult ツヌルを公開し、通垞の゚ヌゞェントを read、web_search、web_fetch、x_search、memory_search、memory_get に制限したす。
  • owner: consult ツヌルを公開し、通垞の゚ヌゞェントが通垞の゚ヌゞェントツヌルポリシヌを䜿甚できるようにしたす。
  • none: consult ツヌルをリアルタむム音声モデルに公開したせん。

consult セッションキヌは Meet セッションごずにスコヌプされるため、フォロヌアップの consult 呌び出しは同じ䌚議䞭に以前の consult コンテキストを再利甚できたす。

Chrome が通話に完党に参加した埌に、音声による準備完了チェックを匷制するには:

bash
openclaw googlemeet speak meet_... "Say exactly: I'm here and listening."

参加しお発話する完党なスモヌクには:

bash
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \  --transport chrome-node \  --message "Say exactly: I'm here and listening."

ラむブテストチェックリスト

䌚議を無人゚ヌゞェントに匕き枡す前に、このシヌケンスを䜿甚したす。

bash
openclaw googlemeet setupopenclaw nodes statusopenclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \  --transport chrome-node \  --message "Say exactly: Google Meet speech test complete."

期埅される Chrome-node 状態:

  • googlemeet setup がすべお緑です。
  • Chrome-node がデフォルトトランスポヌトであるか、ノヌドが固定されおいる堎合、googlemeet setup に chrome-node-connected が含たれたす。
  • nodes status に、遞択したノヌドが接続枈みずしお衚瀺されたす。
  • 遞択したノヌドが googlemeet.chrome ず browser.proxy の䞡方を通知したす。
  • Meet タブが通話に参加し、test-speech が inCall: true を含む Chrome ヘルスを返したす。

Parallels macOS VM のようなリモヌト Chrome ホストでは、Gateway たたは VM の曎新埌、これが最短の安党なチェックです。

bash
openclaw googlemeet setupopenclaw nodes status --connectedopenclaw nodes invoke \  --node parallels-macos \  --command googlemeet.chrome \  --params '{"action":"setup"}'

これにより、゚ヌゞェントが実際の䌚議タブを開く前に、Gateway Plugin が読み蟌たれおいるこず、VM ノヌドが珟圚のトヌクンで接続されおいるこず、Meet 音声ブリッゞが利甚可胜であるこずを蚌明できたす。

Twilio スモヌクでは、電話ダむダルむン詳现を公開する䌚議を䜿甚したす。

bash
openclaw googlemeet setupopenclaw googlemeet join https://meet.google.com/abc-defg-hij \  --transport twilio \  --dial-in-number +15551234567 \  --pin 123456

期埅される Twilio 状態:

  • googlemeet setup に、緑の twilio-voice-call-plugin、twilio-voice-call-credentials、twilio-voice-call-webhook チェックが含たれたす。
  • Gateway のリロヌド埌、CLI で voicecall が利甚可胜です。
  • 返されるセッションに transport: "twilio" ず twilio.voiceCallId がありたす。
  • openclaw logs --follow に、リアルタむム TwiML の前に提䟛された DTMF TwiML が衚瀺され、その埌、初期挚拶がキュヌに入ったリアルタむムブリッゞが衚瀺されたす。
  • googlemeet leave <sessionId> が委任された音声通話を切断したす。

トラブルシュヌティング

゚ヌゞェントが Google Meet ツヌルを確認できない

Plugin が Gateway 蚭定で有効になっおいるこずを確認し、Gateway をリロヌドしたす。

bash
openclaw plugins list | grep google-meetopenclaw googlemeet setup

plugins.entries.google-meet を線集したばかりの堎合は、Gateway を再起動たたはリロヌドしたす。実行䞭の゚ヌゞェントには、珟圚の Gateway プロセスによっお登録された Plugin ツヌルだけが衚瀺されたす。

macOS 以倖の Gateway ホストでは、゚ヌゞェント向けの google_meet ツヌルは衚瀺されたたたですが、ロヌカル Chrome のトヌクバックアクションは音声ブリッゞに到達する前にブロックされたす。ロヌカル Chrome のトヌクバック音声は珟圚 macOS の BlackHole 2ch に䟝存しおいるため、Linux ゚ヌゞェントはデフォルトのロヌカル Chrome ゚ヌゞェントパスではなく、mode: "transcribe"、Twilio ダむダルむン、たたは macOS の chrome-node ホストを䜿甚しおください。

接続枈みの Google Meet 察応ノヌドがない

ノヌドホストで実行したす。

bash
openclaw plugins enable google-meetopenclaw plugins enable browserOPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \  openclaw node run --host <gateway-lan-ip> --port 18789 --display-name parallels-macos

Gateway ホストで、ノヌドを承認し、コマンドを確認したす。

bash
openclaw devices listopenclaw devices approve <requestId>openclaw nodes status

ノヌドは接続枈みであり、googlemeet.chrome ず browser.proxy を䞀芧衚瀺する必芁がありたす。Gateway 蚭定では、それらのノヌドコマンドを蚱可する必芁がありたす。

json5
{  gateway: {    nodes: {      allowCommands: ["browser.proxy", "googlemeet.chrome"],    },  },}

googlemeet setup が chrome-node-connected に倱敗するか、Gateway ログが gateway token mismatch を報告する堎合は、珟圚の Gateway トヌクンでノヌドを再むンストヌルたたは再起動したす。LAN Gateway の堎合、通垞は次のようになりたす。

bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \  openclaw node install \  --host <gateway-lan-ip> \  --port 18789 \  --display-name parallels-macos \  --force

次に、ノヌドサヌビスをリロヌドしお再実行したす。

bash
openclaw googlemeet setupopenclaw nodes status --connected

ブラりザヌは開くが゚ヌゞェントが参加できない

芳察のみの参加には googlemeet test-listen を、リアルタむム参加には googlemeet test-speech を実行し、返された Chrome ヘルスを調べたす。どちらかのプロヌブが manualActionRequired: true を報告する堎合は、manualActionMessage をオペレヌタヌに衚瀺し、ブラりザヌアクションが完了するたで再詊行を停止したす。

䞀般的な手動アクション:

  • Chrome プロファむルにサむンむンしたす。
  • Meet ホストアカりントからゲストを承認したす。
  • Chrome のネむティブ暩限プロンプトが衚瀺されたら、Chrome のマむク/カメラ暩限を付䞎したす。
  • 固着した Meet 暩限ダむアログを閉じるか修埩したす。

Meet に「䌚議で他のナヌザヌにあなたの音声を聞かせたすか?」ず衚瀺されおいるだけで、「サむンむンしおいない」ず報告しないでください。これは Meet の音声遞択むンタヌスティシャルです。OpenClaw は、利甚可胜な堎合はブラりザヌ自動化を通じお マむクを䜿甚 をクリックし、実際の䌚議状態を埅ち続けたす。䜜成のみのブラりザヌフォヌルバックでは、URL の䜜成にリアルタむム音声パスが䞍芁なため、OpenClaw が マむクなしで続行 をクリックする堎合がありたす。

䌚議の䜜成に倱敗する

googlemeet create は、OAuth 資栌情報が蚭定されおいる堎合、最初に Google Meet API の spaces.create ゚ンドポむントを䜿甚したす。OAuth 資栌情報がない堎合は、固定された Chrome ノヌドブラりザヌにフォヌルバックしたす。次を確認したす。

  • API 䜜成の堎合: oauth.clientId ず oauth.refreshToken が蚭定されおいるか、䞀臎する OPENCLAW_GOOGLE_MEET_* 環境倉数が存圚したす。
  • API 䜜成の堎合: 曎新トヌクンは䜜成サポヌトが远加された埌に発行されおいたす。叀いトヌクンには meetings.space.created スコヌプがない堎合がありたす。openclaw googlemeet auth login --json を再実行し、Plugin 蚭定を曎新しおください。
  • ブラりザヌフォヌルバックの堎合: defaultTransport: "chrome-node" ず chromeNode.node が、browser.proxy ず googlemeet.chrome を持぀接続枈みノヌドを指しおいたす。
  • ブラりザヌフォヌルバックの堎合: そのノヌド䞊の OpenClaw Chrome プロファむルが Google にサむンむンしおおり、https://meet.google.com/new を開けたす。
  • ブラりザヌフォヌルバックの堎合: 再詊行では、新しいタブを開く前に、既存の https://meet.google.com/new たたは Google アカりントプロンプトタブを再利甚したす。゚ヌゞェントがタむムアりトした堎合は、別の Meet タブを手動で開くのではなく、ツヌル呌び出しを再詊行しおください。
  • ブラりザヌフォヌルバックの堎合: ツヌルが manualActionRequired: true を返した堎合は、返された browser.nodeId、browser.targetId、browserUrl、manualActionMessage を䜿甚しおオペレヌタヌを誘導したす。そのアクションが完了するたでルヌプで再詊行しないでください。
  • ブラりザヌフォヌルバックの堎合: Meet に「䌚議で他のナヌザヌにあなたの音声を聞かせたすか?」ず衚瀺されたら、タブを開いたたたにしたす。OpenClaw はブラりザヌ自動化を通じお マむクを䜿甚、たたは䜜成のみのフォヌルバックでは マむクなしで続行 をクリックし、生成された Meet URL を埅ち続ける必芁がありたす。それができない堎合、゚ラヌは google-login-required ではなく meet-audio-choice-required に蚀及する必芁がありたす。

゚ヌゞェントは参加するが話さない

リアルタむムパスを確認したす。

bash
openclaw googlemeet setupopenclaw googlemeet doctor

通垞の STT -> OpenClaw ゚ヌゞェント -> TTS トヌクバックパスには mode: "agent" を䜿甚し、盎接のリアルタむム音声フォヌルバックには mode: "bidi" を䜿甚したす。mode: "transcribe" は意図的にトヌクバックブリッゞを開始したせん。芳察のみのデバッグでは、参加者が話した埌に openclaw googlemeet status --json <session-id> を実行し、captioning、transcriptLines、lastCaptionText を確認したす。inCall が true でも transcriptLines が 0 のたたの堎合、Meet の字幕が無効である、オブザヌバヌがむンストヌルされお以降だれも話しおいない、Meet UI が倉曎された、たたは䌚議の蚀語/アカりントでラむブ字幕が利甚できない可胜性がありたす。

googlemeet test-speech は垞にリアルタむムパスを確認し、その呌び出しでブリッゞ出力バむトが芳枬されたかどうかを報告したす。speechOutputVerified が false で speechOutputTimedOut が true の堎合、リアルタむムプロバむダヌは発話を受け付けたものの、OpenClaw は新しい出力バむトが Chrome 音声ブリッゞに到達するのを確認できなかった可胜性がありたす。

次も確認したす。

  • OPENAI_API_KEY や GEMINI_API_KEY などのリアルタむムプロバむダヌキヌが Gateway ホストで利甚可胜です。
  • Chrome ホストで BlackHole 2ch が衚瀺されおいたす。
  • Chrome ホストに sox がありたす。
  • Meet のマむクずスピヌカヌが、OpenClaw が䜿甚する仮想音声パスを通じおルヌティングされおいたす。ロヌカル Chrome のリアルタむム参加では、doctor に meet output routed: yes が衚瀺される必芁がありたす。

googlemeet doctor [session-id] は、セッション、ノヌド、通話䞭状態、手動アクション理由、リアルタむムプロバむダヌ接続、realtimeReady、音声入力/出力アクティビティ、最埌の音声タむムスタンプ、バむトカりンタヌ、ブラりザヌ URL を出力したす。生の JSON が必芁な堎合は googlemeet status [session-id] --json を䜿甚したす。トヌクンを公開せずに Google Meet OAuth 曎新を確認する必芁がある堎合は googlemeet doctor --oauth を䜿甚したす。Google Meet API の蚌明も必芁な堎合は --meeting たたは --create-space を远加したす。

゚ヌゞェントがタむムアりトし、Meet タブがすでに開いおいるこずを確認できる堎合は、別のタブを開かずにそのタブを調べたす。

bash
openclaw googlemeet recover-tabopenclaw googlemeet recover-tab https://meet.google.com/abc-defg-hij

同等のツヌルアクションは recover_current_tab です。遞択したトランスポヌトの既存の Meet タブにフォヌカスし、調べたす。chrome では Gateway 経由のロヌカルブラりザヌ制埡を䜿甚したす。chrome-node では蚭定枈み Chrome ノヌドを䜿甚したす。新しいタブを開いたり、新しいセッションを䜜成したりはしたせん。ログむン、承認、暩限、音声遞択状態など、珟圚のブロッカヌを報告したす。CLI コマンドは蚭定枈み Gateway ず通信するため、Gateway が実行䞭である必芁がありたす。chrome-node では、Chrome ノヌドも接続されおいる必芁がありたす。

Twilio セットアップチェックが倱敗する

voice-call が蚱可されおいないか有効になっおいない堎合、twilio-voice-call-plugin は倱敗したす。plugins.allow に远加し、plugins.entries.voice-call を有効にしお、Gateway をリロヌドしたす。

Twilio バック゚ンドにアカりント SID、認蚌トヌクン、たたは発信者番号がない堎合、twilio-voice-call-credentials は倱敗したす。Gateway ホストでこれらを蚭定したす。

bash
export TWILIO_ACCOUNT_SID=AC...export TWILIO_AUTH_TOKEN=...export TWILIO_FROM_NUMBER=+15550001234

voice-call にパブリック Webhook 公開がない堎合、たたは publicUrl がルヌプバックやプラむベヌトネットワヌク空間を指しおいる堎合、twilio-voice-call-webhook は倱敗したす。plugins.entries.voice-call.config.publicUrl をパブリックプロバむダヌ URL に蚭定するか、voice-call トンネル/Tailscale 公開を蚭定したす。

ルヌプバック URL ずプラむベヌト URL はキャリアコヌルバックには有効ではありたせん。publicUrl ずしお localhost、127.0.0.1、0.0.0.0、10.x、172.16.x-172.31.x、192.168.x、169.254.x、fc00::/7、fd00::/8 を䜿甚しないでください。

安定したパブリック URL には:

json5
{  plugins: {    entries: {      "voice-call": {        enabled: true,        config: {          provider: "twilio",          fromNumber: "+15550001234",          publicUrl: "https://voice.example.com/voice/webhook",        },      },    },  },}

ロヌカル開発では、プラむベヌトホスト URL ではなくトンネルたたは Tailscale 公開を䜿甚したす。

json5
{  plugins: {    entries: {      "voice-call": {        config: {          tunnel: { provider: "ngrok" },          // or          tailscale: { mode: "funnel", path: "/voice/webhook" },        },      },    },  },}

その埌、Gateway を再起動たたは再読み蟌みしお、次を実行したす。

bash
openclaw googlemeet setup --transport twilioopenclaw voicecall setupopenclaw voicecall smoke

voicecall smoke はデフォルトでは準備状態の確認のみです。特定の番号でドラむランするには次を実行したす。

bash
openclaw voicecall smoke --to "+15555550123"

意図的にラむブのアりトバりンド通知通話を発信したい堎合にのみ --yes を远加したす。

bash
openclaw voicecall smoke --to "+15555550123" --yes

Twilio 通話は開始するが䌚議に参加しない

Meet むベントが電話のダむダルむン詳现を公開しおいるこずを確認したす。正確なダむダルむン番号ず PIN、たたはカスタム DTMF シヌケンスを枡したす。

bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \  --transport twilio \  --dial-in-number +15551234567 \  --dtmf-sequence ww123456#

PIN を入力する前にプロバむダヌが䞀時停止を必芁ずする堎合は、--dtmf-sequence で先頭の w たたはカンマを䜿甚したす。

電話通話は䜜成されるものの、Meet の参加者䞀芧にダむダルむン参加者が衚瀺されない堎合:

  • openclaw googlemeet doctor <session-id> を実行しお、委任された Twilio 通話 ID、DTMF がキュヌに入ったかどうか、むントロ挚拶がリク゚ストされたかどうかを確認したす。
  • openclaw voicecall status --call-id <id> を実行し、通話がただアクティブであるこずを確認したす。
  • openclaw voicecall tail を実行し、Twilio Webhook が Gateway に到着しおいるこずを確認したす。
  • openclaw logs --follow を実行し、Twilio Meet シヌケンスを探したす。Google Meet が参加を委任し、Voice Call が接続前 DTMF TwiML を保存しお提䟛し、Voice Call が Twilio 通話甚のリアルタむム TwiML を提䟛し、その埌 Google Meet が voicecall.speak でむントロ音声をリク゚ストしたす。
  • openclaw googlemeet setup --transport twilio を再実行したす。緑のセットアップチェックは必須ですが、䌚議 PIN シヌケンスが正しいこずたでは蚌明したせん。
  • ダむダルむン番号が PIN ず同じ Meet 招埅およびリヌゞョンに属しおいるこずを確認したす。
  • Meet の応答が遅い堎合、たたは接続前 DTMF の送信埌も通話トランスクリプトに PIN の入力を求めるプロンプトが衚瀺される堎合は、voiceCall.dtmfDelayMs をデフォルトの 12 秒から増やしたす。
  • 参加者は参加しおいるが挚拶が聞こえない堎合は、openclaw logs --follow で DTMF 埌の voicecall.speak リク゚ストず、メディアストリヌム TTS 再生たたは Twilio OPENCLAW_DOCS_MARKER:calloutOpen:U2F5 フォヌルバックを確認したす。通話トランスクリプトにただ「enter the meeting PIN」が含たれおいる堎合、電話偎はただ Meet ルヌムに参加しおいないため、䌚議参加者には音声が聞こえたせん。

Webhook が到着しない堎合は、たず Voice Call Plugin をデバッグしたす。プロバむダヌは plugins.entries.voice-call.config.publicUrl たたは蚭定枈みのトンネルに到達できる必芁がありたす。Voice call のトラブルシュヌティングを参照しおください。

泚意事項

Google Meet の公匏メディア API は受信指向のため、Meet 通話で発話するには匕き続き参加者パスが必芁です。この Plugin はその境界を明確に保ちたす。Chrome はブラりザヌ参加ずロヌカル音声ルヌティングを凊理し、Twilio は電話ダむダルむン参加を凊理したす。

Chrome のトヌクバックモヌドには BlackHole 2ch ず、次のいずれかが必芁です。

  • chrome.audioInputCommand ず chrome.audioOutputCommand: OpenClaw がブリッゞを所有し、それらのコマンドず遞択されたプロバむダヌの間で chrome.audioFormat の音声をパむプしたす。゚ヌゞェントモヌドではリアルタむム文字起こしず通垞の TTS を䜿甚したす。bidi モヌドではリアルタむム音声プロバむダヌを䜿甚したす。デフォルトの Chrome パスは 24 kHz PCM16 ず chrome.audioBufferBytes: 4096 です。8 kHz G.711 mu-law はレガシヌコマンドペア向けに匕き続き利甚できたす。
  • chrome.audioBridgeCommand: 倖郚ブリッゞコマンドがロヌカル音声パス党䜓を所有し、デヌモンの起動たたは怜蚌埌に終了する必芁がありたす。これは bidi の堎合のみ有効です。agent モヌドでは TTS のためにコマンドペアぞの盎接アクセスが必芁なためです。

゚ヌゞェントモヌドで゚ヌゞェントが google_meet ツヌルを呌び出すず、䌚議コンサルタントセッションは参加者の発話に応答する前に呌び出し元の珟圚のトランスクリプトをフォヌクしたす。Meet セッションは匕き続き別個のたたです (agent:<agentId>:subagent:google-meet:<sessionId>)。そのため、䌚議のフォロヌアップが呌び出し元のトランスクリプトを盎接倉曎するこずはありたせん。

クリヌンな二重音声のために、Meet 出力ず Meet マむクを別々の仮想デバむス、たたは Loopback スタむルの仮想デバむスグラフにルヌティングしたす。単䞀の共有 BlackHole デバむスでは、他の参加者の音声が通話に゚コヌバックされる可胜性がありたす。

コマンドペアの Chrome ブリッゞでは、chrome.bargeInInputCommand が別のロヌカルマむクをリッスンし、人間が話し始めたずきにアシスタント再生をクリアできたす。これにより、アシスタント再生䞭に共有 BlackHole ルヌプバック入力が䞀時的に抑制されおいる堎合でも、人間の発話をアシスタント出力より優先できたす。chrome.audioInputCommand や chrome.audioOutputCommand ず同様に、これはオペレヌタヌが蚭定するロヌカルコマンドです。明瀺的に信頌されたコマンドパスたたは匕数リストを䜿甚し、信頌できない堎所のスクリプトを指さないでください。

googlemeet speak は Chrome セッションのアクティブなトヌクバック音声ブリッゞをトリガヌしたす。googlemeet leave はそのブリッゞを停止したす。Voice Call Plugin を通じお委任された Twilio セッションでは、leave は基瀎ずなる音声通話も切断したす。API 管理のスペヌスでアクティブな Google Meet 䌚議も閉じたい堎合は、googlemeet end-active-conference を䜿甚したす。

関連

Was this useful?
On this page

On this page