OpenClaw 30 апреля 2026 г. около 19 мин v2026.4.26 Gateway

2026 OpenClaw v2026.4.26
браузер Talk · Google Live · релей Gateway и приёмка

три контура · матрица · девять шагов · чеклист VNC · порядок логов

Голосовая сессия в браузере и релей шлюза

Релиз v2026.4.26 добавляет в семейство Talk режим с хостом в браузере Chromium: двунаправленная речь идёт через транспорт уровня Google Live, а Gateway держит привязку сессии, область токенов и семантику релея. Это не то же самое, что Talk Mode с локальным MLX (чеклист MLX и микрофона), не то же, что вывод через Gemini TTS (руководство по плагину), и не замена openclaw migrate (статья 4.26 migrate). Здесь — границы возможностей, матрица симптомов, девятиточечный runbook, четыре формулировки для тикета, напоминание о релее на фоне обратного прокси и HTTPS и приёмка в VNC рядом с жёсткой настройкой браузерного MCP, чтобы автоматизация страницы не смешивалась с дуплекс-голосом в журналах инцидентов.

Операционно важно разделять «модель плохо отвечает» и «цепочка до микрофона разбита»: первая гипотеза без проверки WSS и таймеров обратного прокси почти всегда тратит время зря. Если в организации уже развёрнут официальный Docker Compose, явно подпишите на схеме, где в контейнере «локальный» адрес и где настольная сессия VNC — иначе аудиоустройства будут читаться из разных контекстов. Крупные команды дополняют runbook скриншотами вкладки Network с одним и тем же поисковым запросом по идентификатору сессии в stderr Gateway: так быстрее, чем пересылать целые дампы без структуры.

Трансграничные маршруты требуют отдельно фиксировать задержку «браузер → Gateway» и «Gateway → точка входа Live»: увеличение квоты на стороне модели не спасёт от обрезанного idle-timeout на посреднике. Политики TLS-инспекции на корпоративном выходе иногда меняют цепочку сертификатов только для части клиентов — тогда симптом «только у отдельных сотрудников» ложно уводит к «нестабильному Wi‑Fi», пока не сравнили журналы по одному tenant. Наконец, держите в заявке номер сборки браузера и строку версии Gateway в одной строке времени; ретроспективы без этой связки превращаются в споры о «вчера всё работало».

01

Границы: три голосовых стека и зачем они разные

Слова «Talk» на маркетинговых слайдах совпадают, а инженерные контуры — нет. Браузерный Talk в реальном времени завязан на согласия Chromium, политику CSP, завершение HTTPS, сигналинг WebRTC и секреты через Gateway. Talk Mode с MLX завязан на локальную инференцию, политику перебивания и непрерывность микрофона в версиях около v2026.4.10–4.11. Gemini TTS даёт предсказуемое озвучивание текста — удобно для сводок, но не заменяет по очереди реплик в разговоре без дополнительной оркестрации.

Gateway остаётся оркестратором: вкладка браузера не должна превращаться в хранилище ключей API в Local Storage; релей должен объявлять те же имена хостов, что закреплены в сертификатах TLS — иначе ICE-кандидаты найдутся, а обратные вызовы к браузеру провалятся и симптом будет выглядеть как «случайные обрывы». На арендованном Mac классический провал — демон, запущенный по SSH под одним пользователем, и графическая сессия VNC под другим: цепочки ключниц и TCC не сходятся, хотя по журналам кажется, что Gateway «зелёный».

  1. 01

    Браузерный Talk + Google Live: облачный дуплекс с жёсткой связкой HTTPS/WSS и региональными точками входа.

  2. 02

    Talk Mode MLX: оправдан, когда важна локальность CPU/GPU и вы принимаете долг macOS вокруг микрофона.

  3. 03

    Gemini TTS: акцент на выводе — пара к браузерному Talk там, где нужна озвучка без владения задержкой диалога.

  4. 04

    Релей Gateway: сохраняйте трассируемые идентификаторы на каждом хопе, чтобы вкладка Network и JSON-логи сходились.

  5. 05

    VNC: обязателен там, где одного SSH недостаточно для системных диалогов микрофона и автоматизации.

Сначала выберите стек, потом подкручивайте задержку — иначе дашборды квот врут вежливо.

02

Матрица: симптом → с чего начать → частая ошибка

Используйте таблицу в мостах инцидентов, чтобы ответчики перестали винить тариф модели раньше проверки транспорта. Столбец «затем» намеренно отсылает к фрагментам из гайда по обратному прокси Gateway: копируйте готовые таймауты, а не изобретайте их в каждом спринте. В сравнении с MCP в браузере дуплекс-речь нагружает долгоживущие сокеты, тогда как MCP чаще про мост к DevTools; оба контура можно держать включёнными, но тяжёлые расширения лучше обходить чистым окном инкогнито на первой итерации.

СимптомСначалаЗатемНеверное толкование
Нет запроса микрофона / устройство «не найдено»Разрешения для сайта в Chromium, список «Микрофон» в macOS, тот же пользователь, что и у GatewayВиртуальная звуковая карта на образе арендыСразу менять регион Live
Рукопожатие есть, огромная задержка первого байта и обрывIdle-таймауты обратного прокси, неполный Upgrade WebSocketRTT до входа LiveНемедленно повышать SKU модели
В логах Gateway есть сессия, в браузере тишинаНесовпадение base URL и CORS, CSP блокирует connect к WSКорпоративная подмена корня доверияДумать, что упал core-демон
Воспроизводится только у части людейПерсональные ключи API, привязка к песочницеРазные webhook в разные workspaceСписать на «плавающую сеть»

Если в параллель крутится тяжёлая сборка Xcode на том же узле, зафиксируйте лимиты CPU отдельным тикетом: иначе задержки WebSocket спишут на «плохую миграцию», хотя узкое место — соседний процесс. Ночные окна без дежурного графического доступа часто заканчиваются откатом, который никто не может подтвердить кликом в том же сеансе — планируйте VNC заранее.

03

Девять шагов runbook

Каждый пункт — артефакт к заявке на изменение; это облегчает сопоставление с батчами migrate, хостами Docker и «голым» launchd. В контейнерах помните: «localhost» внутри сети namespace и рабочий стол, видимый через VNC, — разные вселенные для звукового стека.

  1. 01

    Заморозить версии: зафиксировать openclaw --version и тег Gateway; отделить заметки про браузерный Talk от ремонта холодного реестра плагинов в духе v2026.4.25.

  2. 02

    Снимок конфигов: архив каталогов состояния с меткой «только smoke» или «прод с внешними callback».

  3. 03

    Doctor: вытащить на свет занятые порты и несовпадение SAN сертификата с Host.

  4. 04

    Базовая линия Gateway: health на loopback для порта 18789 до подключения DNS.

  5. 05

    Включить браузерный Talk: флаги realtime и регион заносятся в изменение с явной ссылкой на квоты.

  6. 06

    Секреты: через SecretRef и аудит, без экспорта ключей в открытую оболочку.

  7. 07

    Дым в инкогнито: первый проход — только UX микрофона; второй — бизнес-промпты и автоматизация.

  8. 08

    Согласованность релея: один поисковый запрос связывает трассу в браузере, Gateway и access-лог прокси.

  9. 09

    Репетиция отката: явный переключатель на текст или TTS и пороги по успеху и p95 задержки.

Для смешанных сред нарисуйте схему портов: после Compose проверка «доктор зелёный в контейнере, консоль на хосте красная» встречается чаще, чем хотелось бы — и голосовые тесты это вскрывают первыми.

04

Четыре формулировки для тикета и три «жёстких» числа

  • Вывод A: «Браузерный Talk включён; health Gateway на 18789 зелёный; WSS через TLS-терминатор проверен; дым с микрофоном в инкогнито пройден».
  • Вывод B: «Идентификаторы трасс совпадают на хопах; шторм обрывов коррелирует с таймерами прокси раньше, чем с панелью квот».
  • Вывод C: «Секреты через аудируемые ссылки; в Local Storage plaintext нет; номер аудита ______».
  • Вывод D: «Стратегия относительно MLX/TTS записана; владелец отката ______».

Число 1: консоль и зонды держите на 18789, пока вся инфраструктура не перейдёт на другой порт синхронно. Число 2: на холодном старте ориентируйтесь на ощутимую обратную связь в течение примерно двух минут — иначе трактуйте мост как сломанный раньше настройки промпта. Число 3: минимум два захода в инкогнито (холодный и тёплый), иначе кэш скрывает ошибки CORS.

05

Фрагмент релея (иллюстративный YAML)

Ниже — только структура для ориентира; продакшен-схема и ключи берутся из внутреннего описания релиза. Не копируйте плейсхолдеры в бой без ревью.

YAML (фрагмент)
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 — не косметика: список доверенных источников должен совпадать с реальным происхождением страницы. Смешанный контент часто проявляется как «микрофон запрещён», хотя сигналинг уже прошёл. Поле relay.advertisePublicHost должно совпадать с именем на сертификате терминатора TLS. Подробности по заголовкам прокси — в материале про HTTPS и обратный прокси.

06

Удалённый Mac (VNC): одна пользовательская сессия

Частый провал аренды — не MHz CPU, а рассинхрон пользователей: демон под одним UID, окно браузера под другим; ключница и TCC не пересекаются. Выровняйте запуск Gateway через пользовательский launchd там, где это допустимо политикой.

  1. 01

    Подтвердите, что Gateway, браузер и записи macOS для микрофона относятся к одной интерактивной сессии.

  2. 02

    В «Конфиденциальность → Микрофон» отметьте Chromium или Safari, затем повторите разрешение на уровне сайта.

  3. 03

    Для инъекции тестовых сценариев сверьтесь с разделами универсального доступа и с чеклистом MCP, чтобы не получить два конфликтующих набора прав.

  4. 04

    «Запись экрана» включайте кратко для корреляции с таймлайном ICE; постоянная запись создаёт шум для комплаенса.

Пункты про микрофон в статье про Talk Mode MLX дополняют этот раздел: там — локальный вывод и перебивание; здесь — WSS, TLS и релей.

07

Порядок разбора логов

Когда одновременно краснеет консоль, браузер молчит и мигают квоты, собирайте доказательства в порядке: кадры WS в DevTools (ping/pong), JSON-строки Gateway с идентификатором сессии, upstream_time в access-логе прокси, и только затем биллинг. Прыжок сразу к квотам без двух первых уровней обычно съедает вечер. На трансграничных линках фиксируйте отдельно RTT «браузер → Gateway» и «Gateway → ingress Live»: устранение второй величины не лечит первую.

PCAP прикладывайте выборочно и в рамках политики ИБ; в тикете достаточно выдержек с длительностями рукопожатий, чтобы не утопить ревью в сырье. Если ночная смена оставила только текстовые логи без скриншота Network, добавьте правило: одна вкладка с отфильтрованным WS и одна строка stderr с тем же session id — этого хватает для повторяемости.

08

FAQ

Избегайте двойного захвата — одна основная линия и явный откат.

Сначала Upgrade, Host и цепочка TLS, затем области полномочий ключей.

Нет — нужен графический сеанс для запросов Chromium.

Сначала зафиксируйте каталоги через migrate, затем направляйте релей на стабильные корни плагинов.

Заключение

Браузерный Talk с транспортом Google Live даёт предсказуемую диалоговую задержку только после того, как HTTPS и семантика релея перестают шуметь; слабая модель многопользовательской аренды оборачивается тем, что «модель плохая» маскирует банальную поломку моста. Собственное железо обещает счета за электричество и ночные перезагрузки, которые рвут длинные сессии без предупреждения.

Аренда узла Apple Silicon у VNCMac сохраняет SSH для автоматизации и GUI для одобрений микрофона — именно то сочетание, которое нужно поэтапным включениям duplex-голоса. Перейти к покупке можно со страницы аренды Mac в облаке; обзор продуктов — на главной; связанные гайды OpenClaw приведены выше по тексту для сквозной навигации.