Разделить хост автоматизации и якорь согласий: матрица, runbook, совместные артефакты
Когда OpenClaw крутится на дешёвом headless Linux VPS, а арендованный Mac на Apple Silicon доступен через VNC с настоящей графической сессией, корень сбоев редко лежит в «не хватает одной команды curl». Чаще не проговорена ответственность узлов: кто обеспечивает macOS-специфичные поверхности согласия, колбэки браузера на localhost и проверяемые UI-доказательства для аудита. В 2026 году стек Gateway, ужесточение маркетплейса плагинов и сценарии вроде Browser MCP всё чаще пересекают эти границы. Здесь шесть типичных «болей», матрица возможностей, десять шагов от заморозки версии до сверки меток времени и таблица совместной приёмки на двадцать минут, где SSH-логи сопоставляются с тем, что видно по VNC. Дополнительно: официальный Docker Compose, матрица установки CLI/Gateway, локальный Mac, SSH в облаке или VNC-удалёнка; по желанию — чеклист Browser MCP и DevTools на macOS через VNC.
Апгрейды в линейке 5.x часто списывают на npm, хотя настоящий разрыв — модель сессий. Сервер Debian/Ubuntu без рабочего стола не воспроизведёт инструкцию «откройте Системные настройки и разрешите». С другой стороны, доступ к арендованному Mac только через SSH-туннель затрудняет уверенность, что OAuth-редирект в браузере завершился. В Linux user- и system-unit systemd по-разному наследуют переменные прокси; в macOS домены launchd, TCC и связка с цепочкой ключей определяют, увидит ли процесс профиль браузера. Gateway OpenClaw и плагины с жёсткой модерацией часто требуют GUI того же пользователя, если нужно доказать QR, веб-логин или выбор файла в DevTools. Первая боль — дрейф PATH и Node: параллельно nvm, fnm и системный node дают расхождение между openclaw doctor и живым процессом Gateway; на Linux ещё и связка glibc/OpenSSL ломает нативные сборки молча. Вторая — OAuth и QR без GUI: слушатель на loopback ждёт браузер на той же машине; в headless лог Gateway уходит в таймауты, а по SSH не на что нажать — помечайте шаг как обязательный через VNC. Третья — автоматизация браузера и MCP: headless Chrome может «успешно» стартовать без реального сценария согласия. Четвёртая — systemd против launchd и потерянные прокси. Пятая — дыры в доказательной базе для соответствия: переключатели UI и JSON аудита должны сходиться по времени. Шестая — иллюзия дешёвизны часа Linux, когда один клик согласия превращается в многодневный скриптинг.
Дрейф PATH и Node: nvm, fnm и пакетный runtime расходятся с doctor. На Linux glibc/OpenSSL ломают нативные сборки; начинайте с абсолютных путей, не с переустановок по кругу.
OAuth и QR без GUI: колбэки на loopback гибнут на headless Linux. Пометьте поток как VNC-обязательный.
Стек браузерной автоматизации: MCP DevTools, диалоги выбора файла и песочницы различаются по ОС; без десктопа того же пользователя возможны ложные «успехи» инъекции.
systemd и launchd: пользовательские и системные сервисы теряют прокси в Linux; в macOS sudo между пользователями рвёт доступ к связке ключей.
Пробелы доказательств: аудит просит согласовать тумблеры UI с JSON; один SSH-транскрипт слаб.
Ошибка в стоимости: низкая ставка часа Linux скрывает взрыв трудозатрат на согласиях.
| Возможность | Headless Linux | macOS + аренда VNC |
|---|---|---|
| CLI и демоны | Сильно: systemd/контейнеры | Работает; учитывайте сон и окно аренды |
| Проверка loopback Gateway | curl/ss; same-origin браузера надо проектировать | Сильно: локальный браузер = домен процесса |
| OAuth / QR / вход IM | Высокий риск без UI | Обязательно GUI того же пользователя |
| Связка ключей / TCC | Не применимо | Обязательно |
| Chrome DevTools MCP | Headless возможен, но ловушки выбора файлов | Рекомендуется пройти чеклист |
| Аудиторские доказательства | Логи и метрики | Логи плюс тумблеры UI |
| Структура затрат | Дешёвый час, риск скриптовой волокиты | Дороже час, меньше часов на тикет |
Матрица отвечает не на вопрос «поднялся ли процесс», а на «сможет ли сторонний инженер повторить шаги с теми же артефактами». Linux силён в исходящей стабильности и горизонтальном масштабе; macOS с VNC — якорь для закрытия согласий и локальной браузерной проверки. Публикуя Gateway, сначала закрепите слушатели на loopback или приватном интерфейсе, TLS завершайте на Nginx/Caddy, не оставляйте ключи читаемыми всему миру. Двойные слушатели чередуют успех и сбой с разными PID — таблицы ss/lsof должны входить в каждый снимок версии. На арендованном Mac держите операции в одной GUI-сессии пользователя, чтобы совпали launchd-метки, профиль браузера и цепочка ключей. При синхронизации каталогов вроде OPENCLAW_HOME между ОС используйте разные префиксы бэкапов, чтобы семантика кэшей не перетиралась. Корпоративные прокси с TLS-инспекцией ломают OAuth, пока не задокументированы исключения. Маркетплейсы с подписью плагинов смещают объяснения в UI-диалоги — это не «дыра Linux», а решение по охвату, которое нужно принять до спринта.
Headless масштабирует; macOS плюс VNC кликает и свидетельствует — в тикете должны быть оба тезиса.
Заморозка и бэкап: openclaw --version, путь node, слушатели, корни конфигурации; на Linux — дистрибутив, glibc, OpenSSL; на macOS — идентификаторы аренды и метки launchd, чтобы откаты сравнимы.
Роли хостов: Linux как ретранслятор или чистый Gateway; macOS+VNC как якорь согласий и браузера. Неясность порождает двойные слушатели.
Один вход Node: зафиксировать единственный путь; скриншот doctor с semver и абсолютным which node.
Минимальная установка CLI: строго по release notes; HTTPS_PROXY согласовать со статьёй об исходящем прокси, иначе TLS-ошибки читают как регрессию OpenClaw.
Каталоги: явно назвать логи, плагины, домашние пути; ранняя схема имён для мультипроектов, чтобы команды не перетирали друг друга.
Демоны и слушатели: systemd user или контейнеры на Linux; launchd на macOS; сразу экспорт ss/lsof и связка с гайдом reverse proxy.
Тикеты «только VNC»: системные диалоги, QR, связка ключей, доказательства same-origin — в документированных GUI-сессиях, не в headless-обходах.
Дымовые тесты: минимальный чат, doctor, нижняя строка консоли; Browser MCP — по отдельному чеклисту на Mac.
Метки времени между хостами: завершение OAuth, строка успеха Gateway и JSON аудита в пределах двух минут, иначе аудиторы увидят дрейф как риск целостности.
Доказательство отката: таблицы портов, diff unit/plist, два потока логов; разные PID намекают на параллельные экземпляры, одну сторону нужно немедленно остановить.
openclaw --version command -v node; node -p "process.version" openclaw doctor openclaw gateway status || true command -v ss >/dev/null && ss -lntp || true lsof -nP -iTCP -sTCP:LISTEN 2>/dev/null | rg -i "openclaw|gateway|18789" || true
Имена команд зависят от установленной версии. Если doctor сообщает об устаревших полях, опирайтесь на таблицу миграций, а не на старые посты. Таблицы слушателей Linux держите согласованными с Nginx или Caddy; на macOS избегайте sudo между пользователями на шагах со связкой ключей — одна GUI-сессия снижает раскол кэшей. Версионируйте plists и unit-файлы вместе с политикой ротации логов. Фиксируйте окна аренды, чтобы ночные перезапуски не выглядели как регрессия. Для Browser MCP записывайте версию Chrome и путь профиля, иначе порты DevTools укажут не туда. Совмещайте runbook с Docker-гайдом, когда контейнеры крутятся на Linux, а цепочка согласий остаётся на macOS.
| Проверка | VNC (macOS) | SSH (Linux или macOS) | Pass |
|---|---|---|---|
| Уникальный слушатель | По желанию консоль браузера | ss/lsof один primary bind | Нет «призрачного» PID |
| Чистый doctor | Скриншот терминала | Архив текстовых логов | Совпадает с матрицей версий |
| Конфиденциальность / связка ключей | Переключатели в Настройках | Замены нет | Список инструментов согласован |
| OAuth-колбэк | Время завершения в браузере | Строка успеха Gateway | Сквозное расхождение < двух минут |
| Минимальный чат | Тестовое сообщение | Путь аудита или транскрипта | Непустой end-to-end |
Таблица намеренно отделяет «процесс жив» от «третья сторона воспроизвела доказательства». Linux отлично держит исходящую стабильность и горизонталь; macOS с VNC закрывает согласия и локальные браузерные проверки. Публичный Gateway связывайте с планом reverse proxy: сначала loopback или приватный bind, TLS на периметре, без открытых ключей. Английский гайд по reverse proxy углубляет Host-заголовки и цепочки сертификатов — читайте его за корпоративным фаерволом. Runbook начинается с заморозки: версия openclaw, абсолютный путь node, порты, корни конфигурации; на Linux добавьте дистрибутив, glibc, OpenSSL; на macOS — аренду, отпечатки, launchd. Затем роли, единый Node, чистая CLI с согласованным прокси, дисциплина каталогов, демоны и слушатели, явные VNC-тикеты, дым, сверка времени, доказательство отката с портами и PID.
Если консоль Gateway пуста, первый разветвитель — дубли слушателей, второй — устаревший кэш браузера чужого пользователя macOS, третий — MITM корпоративного прокси; у каждой ветки разные доказательства, и общая таблица заставляет собрать их за один проход, а не открывать тикет каждую неделю. Текст не заменяет полный FinOps-сравнение своего железа и аренды и не описывает глобальную схему Kubernetes. Речь только о стыке Gateway OpenClaw, браузерных согласий и обязательных macOS-поверхностях плюс минимальный пакет артефактов для постмортема. Ясная граница превращает Linux-автоматизацию и macOS-VNC в дополнение, а не в взаимные обвинения. Размытая граница закрепляет двойные порты и «фантомные» окружения как норму. Проводите двадцатиминутную решётку при онбординге любого, кто получает доступ к обоим классам хостов.
Тома и базовая переносимость.
Читать →Windows, облачный Mac по SSH, аренда VNC.
Читать →Когда GUI-сессии обязательны.
Читать →Только если из объёма убрать браузерные поверхности согласия, QR и права только для macOS. Если они обязательны, macOS плюс VNC — не опция, а требование.
Forwarding помогает, но задержка и цепочки SSH усиливают нестабильность OAuth и DevTools. GUI-сессия на том же арендованном Mac обычно быстрее закрывает тикеты.
Получите прерывистый успех и разные PID в логах. Начните с таблиц слушателей, затем зафиксируйте один корень конфигурации.
Контейнеры улучшают изоляцию, но не дают TCC macOS. При графических цепочках читайте Docker-гайд вместе с этой матрицей.
Стоимость задаёт не прайс-лист, а плотность доказательств. Headless Linux масштабирует автоматизацию; macOS с VNC закрывает согласия. Своё железо переносит амортизацию и дежурства внутрь команды. Аренда удалённого Apple Silicon сохраняет контроль над каталогами, отдавая аптайм наружу — в духе фокуса OpenClaw 2026 на визуальном triage и аудируемой автоматизации.
Для сценария «тот же пользователь + VNC» из раздела 5 используйте VNCMac: покупка — купить Mac в облаке, справка по подключению — центр помощи.