Gateway уже стабильно работает на VPS или облачном Mac, а на ноутбуке openclaw показывает «инструменты не оживают» или сбой RPC-пробы, при том что серверные логи подозрительно тихи. Материал для команд, которые рассматривают OpenClaw как продуктивный шлюз: сначала семь пунктов разводят gateway.mode=remote, частную публикацию Tailscale и SSH port forwarding; затем четырёхстрочная матрица сводит «где процесс», «куда смотрит клиент», TLS и проверку токенов; далее шестишаговый runbook передачи (удалённый URL, wss, двойной gateway status, gateway install --force, doctor, health-пробы) со ссылками на статьи о частной публикации Tailscale, кроссплатформенной установке и gateway closed(1000), чтобы темы не смешивались.
Официальный FAQ коротко описывает local / remote, но в продакшене время съедают URL пробы, не совпадающие с реальным listener, и systemd user-юниты, разошедшиеся с интерактивной оболочкой. Семь пунктов ниже переводят спор из «я пингую» в подписываемую матрицу приёмки.
Считать удалённый режим синонимом SSH port forwarding: -L в основном чинит путь браузера к UI; удалённый режим меняет цель пробы по умолчанию для CLI. Слои складываются, смысл разный.
Приравнивать Tailscale Serve к remote mode: Tailscale делает локальную Gateway доступной в tailnet; remote mode заставляет ноутбучный CLI говорить с Gateway на другом хосте. Таблица границ — в статье про Tailscale.
Менять только gateway.remote.url и забыть gateway.mode: при оставшемся local CLI может продолжать бить в пустой локальный порт и давать «загадочные» таймауты.
Смешивать http и wss: если reverse proxy терминирует TLS, а URL клиента не согласован с историей trusted-proxy, ждите 401 или шторм переподключений; пройдите чеклист ужесточения.
Игнорировать пару Config (cli) / Config (service): после апгрейда часто правят файлы под root, а сервис крутится под --profile dev с другим state dir.
Записать токен только с одной стороны: Gateway уже ротировал gateway.auth.token, а Control UI на ноутбуке кеширует старое значение; сверяйтесь с таблицей токенов в gateway closed(1000).
Без минимального сценария приёмки удалённого режима: тест только чата без цепочки инструментов скрывает дрейф RPC scope до апгрейда модели; закрепите read-only команду как канарейку.
Общий корень — воспринимать OpenClaw как монолитный веб-сервис, а не как двухконечную систему с локальным супервизором и удалённой маршрутизацией сессий. Платформенная команда должна вести аудируемую запись профиля, state dir, удалённого URL и окна ротации на каждую машину разработчика, как для контекстов kubeconfig.
Связка с кроссплатформенной установкой: если openclaw doctor не проходил при первой установке, не ускоряйте переход в remote — иначе в каждом тикете смешаются «сломанная установка» и «не та инстанция».
Если в 2026 году закрепляется схема «Gateway в облаке, IDE локально», явно опишите деградацию офлайн: можно ли CLI в read-only, запрещены ли неявные переключения mode, чтобы не прицепиться к продакшену по ошибке.
С выделенным удалённым Mac частый топологический шаблон: Gateway на Linux VPS, инструменты на арендованном macOS-узле — удалённый URL по-прежнему указывает на VPS. Не подставляйте SSH-адрес Mac как URL Gateway, если на этом Mac не поднята вторая Gateway.
Наконец, корпоративные прокси, рвущие долгие WebSocket по простою, усиливают «плавающие» обрывы: heartbeat, backoff переподключения и очистку кеша клиента впишите в runbook, а не списывайте на «модель тупеет».
На ревью режьте по оси «где процесс» и «куда по умолчанию смотрит клиент» — так быстрее согласуются безопасность и зона ответственности ops.
| Режим | Где процесс Gateway | Типичные клиенты | Главные риски |
|---|---|---|---|
| local (по умолчанию) | Эта машина | Локальные CLI / UI | Локальные порты, токены, личные сессии в одной куче |
| remote | Удалённый хост | Локальные CLI / UI к wss://… | Дрейф URL, «двойной мозг» конфигурации, обрывы прокси |
| Tailscale / туннель | По-прежнему loopback или bind на цели | Браузер или CLI после пути tailnet/туннеля | ACL, MagicDNS, сочетание токена и bind |
| SSH local forward | Целевой хост | Проброс удалённого порта на 127.0.0.1 ноутбука | Время жизни сессии, права jump-host, ошибка склейки с remote URL |
Удалённый режим чинит указатель control plane: тот же CLI на ноутбуке стабильно говорит с супервизором и реестром инструментов на другой машине. Сам по себе он не заменяет TLS и модель токенов.
Когда нужны и постоянно включённая Gateway в ЦОД/VPS, и «лёгкий» CLI у инженеров, remote — здравый дефолт. Если ещё нужен zero-trust доступ к UI, накладывайте Tailscale Serve на удалённый хост, а не смешивайте оба требования в один флаг.
Связка со статьёй про RPC / 1000: в удалённом режиме сначала подтвердите, к какой инстанции Gateway реально подключена текущая CLI-сессия, прежде чем спорить про scope и белые списки инструментов.
Порядок ниже: сначала здоровье удалённого хоста, затем режим клиента, затем канареечная команда — как в upstream troubleshooting.
На удалённой машине под пользователем сервиса: openclaw gateway status, убедитесь в Runtime: running и зелёных RPC-пробах.
Зафиксируйте удалённый WebSocket URL и точку TLS-терминации: при reverse proxy выпишите префиксы путей и health URL, чтобы никто не добавил лишний сегмент вручную.
На ноутбуке снимите снимок текущего профиля: экспорт openclaw.json или эквивалентного state-пути для отката к local одним шагом.
Выставите gateway.mode=remote и gateway.remote.url: через официальный openclaw config set или контролируемый шаблон; разбросанные ручные правки запрещены.
Запустите openclaw status / openclaw health: сверьте цели проб и задержку; при расхождении двойной конфигурации переходите дальше.
В том же контексте, что сервис, openclaw gateway install --force затем openclaw gateway restart: только если реально обслуживаете локальный сервис; чисто удалённые клиенты могут пропустить install и чистить дрейф через doctor.
openclaw config set gateway.mode remote openclaw config set gateway.remote.url "wss://gateway.example.internal/v1/ws" openclaw config get gateway.mode openclaw config get gateway.remote.url openclaw status openclaw doctor
Подсказка: если на удалённом хосте включён Tailscale Serve, перечитайте разделы ACL и токенов в статье про частную публикацию Tailscale, чтобы wss совпадал с внутренним DNS.
Откат впишите в заявку на изменение: снимок старой local конфигурации и окно времени; в дни крупных релизов заморозьте удалённый URL до зелёной канарейки на удалённой стороне, затем массово выкатывайте клиентские конфиги.
При нескольких профилях (staging/prod) печатайте активный OPENCLAW_PROFILE в старте shell, чтобы не думать, что вы на staging, будучи прикреплёнными к prod.
Сопоставляйте симптомы с клиентом, шлюзом и прокси — меньше бессмысленных перезапусков.
401 / unauthorized: сначала выровняйте токены Control UI и CLI; в удалённом режиме на ноутбуке часто кешируется старый device token — пройдите официальный поток ротации или повторной авторизации.
Runtime running, но RPC probe failed: сверьтесь с gateway closed(1000): «не та инстанция» против «та инстанция, но мало scope»; снимите openclaw logs --follow на удалённом хосте за тот же интервал.
Внимание: не долбите gateway restart на ноутбуке, пока не ясен удалённый listener — вращается только локальный холостой процесс и портится трейс.
Вчера работало после апгрейда: проверьте release notes на ужесточение auth по умолчанию или смену WebSocket path; фиксируйте версии и digest удалённой и клиентской стороны в тикете, не апгрейдьте одну сторону.
По сравнению с «тишиной» каналов, проблемы удалённого режима сидят на уровне соединения и сессии; при подозрении на поток сообщений читайте материал про пробы каналов, а не гадайте по remote URL.
Для 24/7-команд выведите долю сбоев проб и интервал переподключения в существующий мониторинг: даже при здоровом OpenClaw джиттер корпоративной сети должен быть виден.
Ниже — для внутреннего выравнивания; пороги подгоните под масштаб и регионы.
wss должен локализоваться за 60 секунд слоями DNS, TCP, TLS, WSS.Config (cli) и Config (service) дефолтный путь — тот же пользователь install --force → restart → doctor с логированием state dir.Gateway на засыпающем ноутбуке конкурирует с конференц-приложениями за порты; чисто удалённый CLI без стабильно достижимого control plane падает всем разом на дрожащем VPN. Держать Gateway на выделенном всегда включённом облачном Mac или VPS с ясным SSH-обслуживанием, а ноутбуки стандартизировать как удалённых клиентов — самый частый компромисс 2026 года. По сравнению с запихиванием супервизора в нестабильные контейнеры или «чёрный ящик» виртуализации, аренда Mac Mini в облаке NodeMini даёт более прозрачные SSH-базовые линии, предсказуемые тарифы и воспроизводимые образы узлов — удобнее вести OpenClaw как прод-инфраструктуру. Спеки и цены — с страницы тарифов аренды Mac Mini, онбординг — в справочном центре. Остальные материалы OpenClaw — через фильтр категории OpenClaw в блоге.
При раскатке привяжите runbook к внутренним уровням среды: dev, staging и prod получают разные удалённые URL и ритм ротации токенов; URL продакшена не копируйте вручную в личный профиль.
Удалённый режим подключает CLI к Gateway на другой машине. Tailscale в основном отвечает за безопасный вынос на tailnet Gateway, которая уже слушает локально. Сочетать можно. Другие темы OpenClaw — фильтр блога OpenClaw.
Под тем же пользователем и state dir, что у сервиса, выполните openclaw gateway install --force и restart, затем openclaw doctor. По узлам и биллингу см. справочный центр.
Переопределения среды, остатки в профилях shell и остаётся ли gateway.mode в local. Если нужна постоянная Gateway в облаке, сравните тарифы на странице цен аренды Mac Mini.