三路線 · 表 · 九段ランブック · VNC · ログ順
v2026.4.26 は Talk 系統にブラウザ宿主の一本を追加する:Google Live 系 transportで双方向音声をつなぎ、Gateway がセッション固定・トークン境界・リレー意味論をまとめる。これは Talk Mode + MLX(端末側ローカル推論とマイクロホン UX に強い)でもなければ Gemini TTS(読み上げ消費プラグイン)でもなく、openclaw migrate(ディレクトリ合流)とも別チケットである。本文では境界、症状→優先順の表、doctor からブラウザ煙検までの九段、チケットへ貼れる四文、18789 とリバースプロキシ経路の突合わせ、そしてVNC グラフィカルセッションでの権限チェーンをまとめる。Talk Mode MLX、Gemini TTS、4.26 migrate、Gateway リバースプロキシ、ブラウザ MCP を実スラッグで相互参照し、Docker と二重に読んだときの「コンテナの localhost とデスクトップの localhost」を混同しないようにする。
用語が混ざると「Talk を有効にしたのに無音」「Gateway は緑だがブラウザがマイクを拒否」が同一チケットに積み上がる。ブラウザ・リアルタイム Talk は Chromium の同意フロー・CSP・HTTPS 終端・WSS と Gateway 越しの秘密がセットだ。Talk Mode + MLX はローカル推論遅延と割り込み方針が主で、GPU/CPU とマイクロホン連続許可(4.10–4.11)の話に寄る。Gemini TTS はテキスト→音声の消費側で、ブラウザ長距離 duplex の設計責務を持たない。
Gateway は依然オーケストレーター:タブは正直なフロントであって Local Storage に鍵を埋めない。SecretRef と短寿命トークンのまま運ぶ。Relay の advertisePublicHost は TLS SAN と矛盾させない — ICE は成功していてもブラウザ側コールバックだけが宙に浮くパターンがある。
ブラウザ Talk + Google Live transport:クラウド双方向セッションを Gateway のコンテキストへ載せる。Same-Origin/HTTPS/mixed content/Upstream の Upgrade をセットで見る。
Talk Mode MLX:マイクロホンとローカル推論寄り。CPU のみ/読み取り専用レイヤーのレンタルでは衝突しやすい。
Gemini TTS:読み上げ・要約用途。割り込み会話はブラウザ Talk か MLX の戦略側へ。
Gateway:ホップ間で trace/session を欠かさない。
VNC:TCC(マイク・自動化・必要なら録画)で SSH が拾えないクリックを埋める。
スタックを選んでからレイテンシを語る。「鳴った」と「ログが繋がった」は別査収。
インフラとプロダクトが同じ画面で読めるようにした。
| 症状 | 最初 | 次 | よくある誤認 |
|---|---|---|---|
| マイク許可が出ない/デバイス無し | サイト権限・システム入力・Gateway と同一ユーザーか | 仮想音声デバイス/テナント鏡像の除去 | すぐ Live リージョンと API をいじる |
| 接続後すぐ途切れる/初動が巨大 | プロキシのアイドル・WSS 透過不全 | 上流 Live の RTT | いきなりモデル SKU を上げる |
| Gateway にだけセッションが見える | CORS/CSP/base href | TLS インスペクション/拡張 | 本体クラッシュと決めつける |
| 特定ユーザーだけ再現 | 個別キー/サンドボックス紐付け | チャネルごとのワークスペース | 単なるネット不安定とする |
「次」の列は リバースプロキシ稿 の WebSocket/タイムアウト節とセットで読む。ブラウザ MCP と同居させるときは、Duplex と DevTools の荷物が同じタブでぶつからないように無拡張プロファイルでも一度煙検する。
変更チケ一文につき一行のアーティファクトを残す。Docker と裸機では「コンテナが聞く localhost」と「VNC デスクトップが聞く localhost」が別物になるのでネット図を添付する。
バージョン凍結:openclaw --version と Gateway タグを記録。4.26 のブラウザ機能と 4.25 のレジストリ repair を同一夜に混ぜない。
バックアップ:state と ~/.openclaw を tarball — smoke と本番コールバックをラベル。
doctor:ポート/証明書 SAN をここで赤にする。
Gateway ベースライン:ループバックで 18789 とヘルス、その後 DNS と WSS。
ブラウザ Talk 有効化:transport とリージョンを変更票へ。
SecretRef:クラウド資格情報はプラン/適用ログへ。
シークレット煙検:第一パスはマイク+セッション ID のみ。
リレー整合:ブラウザ・Gateway・上流で trace が揃うか — 半開きならプロキシのアイドルを疑う。
ロールバック演習:テキスト/TTS への明示スイッチと閾値。
芯①:監視はまず 18789。芯②:冷間の体感応答はおよそ二分以内を目安に橋が死んでいないか見る。芯③:シークレットを二往復(冷/温)して CORS をキャッシュで隠さない。
gateway:
browserTalk:
enabled: true
realtimeTransport: google-live
relay:
bindLocal: "127.0.0.1"
advertisePublicHost: "agent.example.com"
cors:
allowedOrigins:
- "https://agent.example.com"
secretsRef:
googleLiveApiKey: "secretref:prod/google-live/key"本番のスキーマは社内発行版に合わせる。CORS と mixed content を軽視するとマイク許可が異常応答になる。
SSH で起動した Gateway と別ユーザの VNC でマイクを押しても TCC が合流しない典型落とし穴に注意。
launchd ユーザエージェントで Gateway と揃える。
システム設定のマイクで Chromium を許可してからサイト設定を再確認。
自動化が要る場合はユーティリティと MCP 文面の矛盾を確認。
録画は短時間の相関だけに使い、常時オンにしない。
同時に「Gateway 赤字」「ブラウザ無音」「上流 quota」が出たら:(1) DevTools の WS フレーム、(2) Gateway JSON、(3) プロキシ upstream 時間、(4) 課金ダッシュの順で抜く。いきなり quota を疑わない。
国境をまたぐ Live ではブラウザ→Gateway RTT と Gateway→上流 RTT を分けて記録する。
08同一マイクを奪い合わせない設計に。優先度と縮退を設定へ書く。
Upgrade/Host/証明書連鎖と mixed content を先に。
不十分。VNC で同意を完了させる。
まずディレクトリと可写ルートを migrate で固め、からブラウザ Talk のリレー先を合わせる。
ブラウザ・リアルタイム Talk は「会話として聴こえる」体験を狙う一方、HTTPS・リレー・マイクの三枚板に厳しい。ノイズを落としたあとで初めてプロンプトとモデルの話になる。
オンプレ縛りより、Apple Silicon のリモート Macを一時的に借り、同じグラフィカルセッションで Gateway とブラウザを揃えた方が検証コストが読みやすい。電源・OS アップデート・深夜対応まで抱えるより、検証時間を経路設計に寄せられる。