Browser Relay · SSH-туннели · порты Gateway · шестишаговый runbook приёмки
Вы запускаете OpenClaw Gateway на VPS или облачном Mac, но для веб-автоматизации нужен локальный Chrome с официальным расширением Browser Relay — а не ещё один headless-контейнер Chromium. Типичные сбои: расширение показывает «подключено», а CDP выдаёт no tab is connected, либо после SSH-туннеля появляются 401 и рассинхрон проб портов. Этот playbook для команд, которым нужна аудируемая схема «удалённый control plane + реальный desktop-браузер»: матрица решений против headless Docker, таблица симптомов для health 18792 и параметров туннеля, шестишаговый runbook. Свяжите с чеклистом headless-браузера и runbook сети Compose.
В дефолтах 2026 Gateway часто слушает 127.0.0.1:18789, а Browser Relay на dev-ноутбуке — 127.0.0.1:18792. Перенос Gateway на удалённый VPS разделяет control plane и браузер по разным сетевым namespace: агент по-прежнему говорит localhost, браузер на вашем notebook. Отчёты сообщества (remote Gateway + SSH-туннели) сходятся на auth relay, проверяющем только локальную runtime-map (401 через туннели), EADDRINUSE-пробах на неверном порту и Extension ON без привязанной вкладки. Считать ответ канала полной приёмкой — трата часов на тюнинг таймаутов модели.
Extension зелёный = end-to-end pass: ON лишь означает, что relay-процесс слушает; без открытой и привязанной вкладки на целевом сайте CDP всё равно сообщит no tab.
Направление туннеля перевёрнуто: когда удалённый Gateway должен достичь локального 18792, используйте remote forwarding -R; одного -L для remote 18789 на ноутбук недостаточно для browser plane.
Дрейф токена и таблицы портов: relay token, tunnel map и опции extension должны быть одним набором; изменение одного без остальных даёт 401 или пустые порты.
Смешение с headless Docker: контейнерам нужен shm_size; локальному Relay — туннели и attach; см. headless-чеклист.
Bind Gateway на 0.0.0.0 «для удобства»: расширяет экспозицию control plane; держите loopback + туннель или частную сеть по статье о сети.
Закодируйте пять пунктов как обязательные требования к туннелю и запрещённые паттерны в change ticket. Следующий раздел — матрица sign-off между headless-контейнерами и локальным Relay перед copy-paste шагами приёмки.
Выбирайте по критериям где работает браузер, кто держит пользовательскую сессию и границы compliance — не по личным предпочтениям. После таблицы — один runbook; не тюньте оба стека в одном change window.
| Паттерн | Когда подходит | Основная цена и риск |
|---|---|---|
| Docker headless Chromium | Неконтролируемые VPS-batch без laptop SSO | Высокие пики shm/памяти; fingerprint может отличаться от реального профиля |
| Локальный Chrome + Relay | Нужны cookies/SSO ноутбука, debug с человеком в контуре | SSH-туннели и attach extension; remote Gateway не должен выставлять браузер в публичный интернет |
| Выделенный 24/7 cloud Mac + Relay | Общая командная ёмкость в одном регионе | Выше ops-cost, но защищаемый SLA и шаблоны туннелей |
Стабильность Relay в основном определяется кто владеет портом 18792, какой localhost мапит туннель и един ли набор токенов; остальной тюнинг вторичен.
Официальная рекомендация 2026: openclaw onboard --install-daemon плюс openclaw gateway status и openclaw doctor для control plane. Browser skills добавляют relay health и tab attach как release gates наравне с Gateway green.
Последовательность продолжает чеклист установки Gateway: доказать control plane, затем browser plane. Вставляйте вывод каждого шага в ticket.
Приёмка Gateway: на VPS выполните openclaw gateway status; подтвердите loopback bind на 18789 (или документированный порт); доступность только через proxy или SSH.
Запуск локального Relay: установите Chrome extension; на ноутбуке curl -sS http://127.0.0.1:18792/health.
Привязка вкладки: откройте целевой сайт и attach через extension; без attach no tab is connected ожидаем.
Создание туннеля: с ноутбука, напр. ssh -N -R 18793:127.0.0.1:18792 user@vps и укажите Gateway relay URL на 127.0.0.1:18793 на VPS.
Выравнивание токенов: сопоставьте Gateway relay/gateway token с extension или env injection; при 401 через туннели проверяйте gateway token headers, а не только локальные runtime maps.
End-to-end skill: минимальный browser skill при openclaw logs --follow; при сбое — таблица симптомов, один параметр за эксперимент.
curl -sS http://127.0.0.1:18792/health openclaw gateway status ssh -N -R 18793:127.0.0.1:18792 user@your-vps.example curl -sS http://127.0.0.1:18793/health
Совет: при переходе на headless-браузеры в контейнере используйте чеклист headless skill, а не наслаивайте shm-тweak на этот runbook.
Индексируйте сначала по симптому. Меняйте одну переменную за эксперимент и архивируйте curl и фрагменты логов.
| Симптом | Проверить сначала | Типичная причина и действие |
|---|---|---|
| Extension ON, skill сообщает no tab connected | Вкладка открыта и attached на целевом URL | Операционный gate; задокументировать в runbook |
| curl mapped-port /health падает после туннеля | ssh -R жив, remote listener | Туннель умер или порт занят; ss -lntp |
| Relay 401 / unauthorized | Token headers и configs | Remote tunnel без gateway token; выровнять configs |
| EADDRINUSE, браузер всё ещё недоступен | Probe port vs реальный Relay port | Унифицировать таблицу портов |
| Gateway CLI timeout | Достижимость 18789, SSH -L | Читайте статью о сети до обвинения Relay |
Предупреждение: не ротируйте API keys, reverse-proxy certs и tunnel ports в одном change; triple moves не bisectable.
Локальный Relay подходит для интерактивной отладки и identity ноутбука; меняйте топологию при 24/7 неконтролируемых прогонах или когда личные notebook-туннели не поддерживаются.
| Сигнал | Рекомендуемое действие | Примечания |
|---|---|---|
| Много пользователей зависят от одного dev-laptop туннеля | Переход на headless Docker или выделенный cloud Mac | Убирает bus factor |
| Туннель падает еженедельно при sleep | Региональный 24/7 узел плюс стандартизированный ssh/systemd | Отслеживать uptime туннеля в SLO |
| Требование браузера в публичном интернете | Не делать; headless или compliant remote desktop | Relay предполагает loopback trust |
Ad-hoc VPS плюс ручной SSH гибок на старте, но production OpenClaw требует sign-off ёмкости и ticketed changes, которых личные туннели редко дают. Размещение Gateway и browser workloads на предсказуемом 24/7 cloud Mac footprint с фиксированными runbooks лучше бесконечных правок портов. Командам с потребностью в выделенной, регионально стабильной Mac-ёмкости аренда облачного Mac Mini VpsMesh обычно подходит лучше для co-location control plane с Relay или headless profiles. См. тарифы и центр помощи.
Используйте -L 18789:127.0.0.1:18789, чтобы подтянуть удалённый control plane Gateway на ноутбук для отладки. Используйте -R, чтобы VPS достиг локального 18792 с соответствующим Gateway relay URL. Подробнее о control-plane timeouts в статье о сети Compose.
Сначала откройте и привяжите вкладку на целевом сайте. Если attach всё ещё падает, проверьте health туннеля и токены по log sequence из чеклиста установки.
Не рекомендуется. Сохраняйте loopback + SSH или частную сеть, либо переходите на headless Docker skills или выделенный узел.