OpenClaw 13 мая 2026 ~22 мин CLI Gateway

OpenClaw CLI·Gateway·macOS спутник
Windows · только SSH · VNC-аренда

Пути, порты, один пользователь, runbook

Схема: CLI и Gateway на удалённом macOS и клиент на Windows

OpenClaw на арендованном Mac ломается не из‑за «плохой сети», а из‑за смешения ролей. openclaw CLI — это автоматизация, коды выхода и повторяемые команды. Gateway — локальный WebSocket, панели инструментов и браузерные сценарии. macOS-компаньон — тонкий слой в строке меню: переподключение, буфер обмена, короткие статусы. Здесь мы разложим, как команде с Windows-ноутбуками выбрать между облачным Mac только по SSH и арендой с VNC, куда класть plist и конфиги, как ловить конфликты портов и какой runbook приложить к тикету. Держите рядом LaunchAgent·Gateway·плагины 5.3-beta и OAuth·fetch·таймауты 5.6, чтобы границы версий не расплылись.

01

Три слоя ответственности

CLI остаётся источником истины для CI: версия, doctor, список плагинов, хвосты структурированных логов. Gateway добавляет то, что плохо укладывается в pipe: локальный bind, health-канал, отказ в UI, который ревьюеру проще снять на видео десять секунд. Компаньон на macOS не должен превращаться в третий конфигуратор: только быстрые действия и индикаторы. Если эти границы не записать, ночной дежурный будет каждый раз заново рисовать архитектуру в чате.

Windows как ежедневный пульт управления — нормальная схема, но доказательства подписи и Keychain должны жить в графической сессии macOS под тем же пользователем, что и LaunchAgent. Иначе вы получите «на SSH всё зелёное, в Finder другой дом». Для клиента VNC и раскладки начните с руководства Windows·VNC·Keychain, чтобы не спорить о DPI и IME на ровном месте.

  1. 01

    CLI: semver, doctor, плагины, классификация ошибок по кодам.

  2. 02

    Gateway: локальный порт, WSS, сообщения отказа в панели.

  3. 03

    Компаньон: переподключение, статус, короткие уведомления без бизнес-логики.

  4. 04

    Инвариант: пользователь GUI совпадает с владельцем LaunchAgent.

  5. 05

    Windows: двойной брандмауэр, WSL, корпоративный SSL-инспектор — отдельные строки runbook.

  6. 06

    Прокси: при смешении сетевых и локальных отказов откройте исходящий прокси и Gateway в отдельном вложении.

02

Матрица: только SSH против VNC-аренды

Провайдеры любят обещать «достаточно SSH», но приёмка OpenClaw часто требует визуального подтверждения: кэш UI, drag-and-drop, системные диалоги. SSH-хост отлично подходит для ночных билдов и deny-by-default файловых политик. VNC-аренда нужна, когда без экрана нельзя честно закрыть тикет. Выбирайте по классу доказательств, а не по цене в час.

СценарийТолько SSHVNC-арендаЗаметка
Ночные сборки, cronДаНе обязательноЛоги и exit-коды
Сообщение отказа Gateway на экранеРиск пропускаДаТот же пользователь
Цепочка KeychainХрупкоДаРеальный клик
Туннель и сжатиеСкриптыНастройка viewerSSH-туннель·сжатие
Fastlane Match, SSH+VNCЯдро CIGUI-проверкаМатрица SSH·VNC

Совпали порты, но не совпали пользователи — открытый порт не заменяет доказательство.

03

Пути установки и plist без «двух домов»

На аренде часто встречаются разделённые учётные записи администратора и арендатора или одинаковые имена с разными UID. Зафиксируйте, кладёте ли бинарь в Homebrew-префикс, а конфиги в ~/.config/openclaw, или следуете префиксу провайдера. LaunchAgent живёт в ~/Library/LaunchAgents, но область bootstrap зависит от того, загружен ли агент в GUI-сессии. «После перезагрузки сломалось» почти всегда про эту границу, а не про «плохой релиз».

Gateway привязан к документированному loopback и порту. Зомби-процесс старого эксперимента или другой локальный сервер займёт bind: в CLI это короткая ошибка, в браузере — вечный спиннер. В runbook добавьте безопасную очистку и ожидаемое дерево процессов. Плагины сверяйте с цепочкой публикации 5.7, чтобы не смешать semver и политики по умолчанию.

  1. 01

    Заморозка: openclaw --version, ID аренды, plist и переменные окружения в тикет.

  2. 02

    Один пользователь: VNC-логин совпадает с областью launchctl print gui/$(id -u).

  3. 03

    Корни: workspace и cwd для SecretRef по аудиту SecretRef.

  4. 04

    Порты: 22, 5900+n, порт Gateway — таблица ожиданий и факт.

  5. 05

    Компаньон: «подключено» в меню сверяется с коротким HTTP health.

  6. 06

    Несколько проектов: HOME и ключи по чеклисту изоляции.

bash
openclaw --version
openclaw doctor
id -u
printenv OPENCLAW_HOME || true
lsof -nP -iTCP -sTCP:LISTEN | rg -n ':(22|5900|18789)\b' || true

Имена команд и флаги сверяйте со встроенной справкой установленной версии, а не с устаревшими постами.

04

Порты и брандмауэры: 22, 5900, 18789

  • SSH 22: нестандартный порт провайдера требует правок в скриптах туннеля и в Remote-SSH конфиге.
  • VNC 5900+n: номер дисплея должен совпасть в правилах NAT и в заметках on-call.
  • Gateway: при смене bind обновите корпоративные исключения MITM и локальный README команды.
  • Windows: отдельно проверьте WSL и хост-брандмауэр, иначе трассировка обрывается «нигде».
05

Двадцатиминутная таблица доказательств

ПроверкаSSHVNCКритерий
Один пользовательwhoami, uidИмя в Системных настройкахСтрока в строку
Health Gatewaycurl loopbackФутер версии в UIСовпадает с CLI
КомпаньонСкрин менюВремя рядом с JSON health
Конфликт портовlsofДва одновременных viewer-тестаДва успешных прогона
OAuth·fetchлоги doctorдиалог браузераОтдельно от таймаутов 5.6

Таблица рассчитана на оператора, который уже умеет держать рядом терминал и VNC. Новичку сначала пройдите базовое подключение, иначе вы будете одновременно учить оконный менеджер и политику безопасности.

06

Углубление: Windows как хаб, Mac как место истины

Корпоративный стандарт на Windows создаёт лишние слои: раскладки, буфер обмена, двойные политики брандмауэра. Это не отменяет того, что юридически значимые действия подписи и цепочки доверия должны завершаться на macOS в той же учётной записи, где крутится демон. OpenClaw здесь лишь подсвечивает старую истину: автоматизация на CLI и человеческие сценарии в Gateway разведены не из моды, а из наблюдаемости.

Облако «только SSH» экономит внимание днём и отлично стыкуется с запретом по умолчанию на чтение файлов: allowlist в Git, выкладка по SSH, аудит в логах. Но спор «почему в панели Gateway другой текст ошибки» без VNC затянется. Короткая аренда с VNC дешевле часов разработчиков на переписку. Снимите десять секунд экрана с номером тикета на аудиодорожке — это мелочь, которая спасает от путаницы версий записей.

Клиент VNC на Windows настраивайте по гайду Keychain: низкое разрешение обрезает кнопки диалогов подписи и порождает ложные «не нажимается». Для безопасности клиента и облака держите под рукой статью про клиент и облако, если политика ИБ спрашивает про каналы.

Конфликты портов чаще всего — наследие экспериментов. Другой локальный сервер, старый Gateway, корпоративный агент с локальным прокси — все они конкурируют за один bind. Runbook должен явно говорить, какие процессы можно завершать, а какие трогать нельзя. Если провайдер резервирует диапазон, первая страница runbook — их таблица, а не ваша память.

Порядок работ с LaunchAgent и Gateway повторяйте из материала 5.3-beta: сначала стабильный boot-путь, затем плагины. Обратный порядок смешивает причины в логах и удваивает время отката.

Когда в офисе есть исходящий прокси, не смешивайте сетевые таймауты с локальным отказом bind. Используйте runbook прокси как отдельное вложение к тикету, иначе аналитик потеряет полдня на неверной гипотезе.

SecretRef и корни workspace расходятся — классика ложноотрицательных результатов: файл читается, а снимок секретов на рантайме падает. Свяжите cwd и allowlist в одном тикете с аудитом SecretRef, чтобы ревьюер подписал один раз.

Несколько монорепозиториев на одном узле требуют дисциплины изоляции из чеклиста нескольких проектов: разные HOME, разные ключи, отдельные токены pairing без неформального шаринга в мессенджерах.

Fastlane Match сочетает обязательный SSH и частые визиты в Keychain; матрица в runbook Fastlane помогает пометить, какая строка матрицы относится к вашему изменению.

OAuth и метаданные fetch после 5.6 требуют отдельных логов от файловых отказов: симптомы задержки похожи, корневая причина разная. Корреляционные идентификаторы для параллельных прогонов обязательны.

Если тариф провайдера закрывает только SSH, честно зафиксируйте, что проверки Gateway UI недоступны, и вынесите их на отдельный VNC-узел или на гибрид: CI по SSH, ручной шаг по VNC. Для ИБ добавьте абзац о перемещении артефактов между хостами.

Компаньон macOS расширять опасно: каждая новая «настройка только в приложении» — будущий рассинхрон с CLI. Оставьте переподключение и статус, остальное — в Gateway и документации.

Откат обязан иметь доказательство: plist побайтно как было, таблица портов до изменения, короткая команда проверки. Без этого аудит не примет «мы откатились», услышав только «мы откатились».

Аренда Apple Silicon держит аптайм и базовый образ на стороне провайдера, оставляя вам контроль конфигурации и возможность свести терминал, Gateway и аудит в одной графической сессии. Это часто дешевле внутренней «магической» фермы железа, если честно считать время инцидентов.

Windows остаётся удобным пультом, но не местом, где заканчивается доверие к подписи. Этого правила хватает, чтобы резко сократить ночные звонки. Стандартизуйте viewer и скрипты туннеля в репозитории с тегами версий.

Туннели и сжатие для длинных сессий описаны в глубоком разборе SSH-туннеля; прикладывайте измерения джиттера к тикетам о «плохом VNC», иначе спор уйдёт в субъективные ощущения.

Наконец, эта статья не заменяет гайды про deny-by-default файловые инструменты или pairing: она про транспорт, порты и десктоп-сессию. Держите узкий поисковый интент — так проще сопровождать базу знаний.

Дополнительно

Связанные материалы

FAQ

Частые вопросы

Для пайплайнов часто да, но панели инструментов, браузерные сценарии и локальный health UI остаются на Gateway. Фиксируйте в тикете, какой слой дал сигнал.

Для ночных сборок и логов — да. Для цепочек согласия Keychain и системных диалогов нужна графическая сессия, обычно VNC тем же пользователем.

Освободите bind или смените адрес, обновите корпоративные исключения прокси и таблицу ожидаемых портов в runbook.

Тонкий слой меню: переподключение, буфер, короткий статус. Не переносите туда бизнес-логику, иначе появится третий источник правды.

Заключение

Разделите CLI, Gateway и компаньон, зафиксируйте пользователя и порты, выберите SSH или VNC по классу доказательств. Тогда runbook перестаёт быть «историей из чата».

Свой Mac всё ещё несёт амортизацию, сон и канал офиса. Арендованный удалённый Apple Silicon переносит аптайм к провайдеру, оставляя вам конфигурацию и одну сессию для терминала, Gateway и аудита.

Чтобы повторить такую приёмку на удалённом Mac, используйте VNCMac: основная кнопка ведёт на страницу покупки Mac в облаке; подключение описано в центре помощи.