Многие команды без проблем запускают OpenClaw локально, но в продакшене упираются в разделение: Gateway должен работать 7×24 на bare metal, а Canvas, запись экрана, камера и system.run должны остаться на локальном Mac с разрешениями TCC. Документация macOS 2026 описывает режим Remote: Gateway удалённо, node host локально, плоскость управления через SSH-туннель или Tailscale на порту 18789. В статье — топология, таблица решений, шесть шагов и матрица ошибок. Железо и сроки — на странице цен CALMVPS.
После прочтения вы сможете ответить: нужен ли Local или Remote, как развернуть Gateway на CALMVPS и переключить приложение, и какие команды выполнять первыми при сбое туннеля или порта 18789.
01 Зачем нужна топология из двух машин
Всё на одном Mac в демо выглядит гладко. В продакшене проявляются три скрытых издержки:
- Связка мощности и прав. Gateway, cron и мультиканальные сессии едят CPU и RAM; параллельно идут запись экрана и автоматизация. На 16 ГБ ночью начинается swap, диалоги TCC рвут unattended.
- Нестабильный egress. Домашний или офисный NAT ломает долгие WebSocket; офлайн каналов часто списывают на модель.
- Размытая граница эксплуатации. Сон, обновления, Spotlight и launchd накладываются — неясно, упал Gateway или macOS приостановил процесс.
В Remote bare metal Mac CALMVPS (Гонконг, Сингапур, US West и др.) несёт Gateway, каналы и планировщик. Локальный Mac — только узел с UI/TCC; node host отдаёт Canvas, Camera, Screen и system.run удалённому Gateway. Управление на 18789; приложение macOS держит SSH-туннель.
Правило: Gateway в облаке, узел локально, управление только через 18789 — сначала топология, потом M4 и срок аренды.
Если через облачный Gateway проходят персональные данные, заранее учтите регион и договор обработки; CALMVPS документирует площадки и контракты.
02 Local vs Remote: матрица решений
Не всем сразу нужны две машины. Таблица для согласования на ревью.
| Измерение | Local (Gateway локально) | Remote (Gateway на CALMVPS) |
|---|---|---|
| Стадия | Личные тесты, один канал | Каналы 7×24, multi-agent, cron по часовым поясам |
| Локальная роль | Gateway и узел вместе | Только узел (TCC, Canvas, system.run) |
| Удалённая роль | Нет | Gateway, launchd, логи на диске |
| Управление | 127.0.0.1:18789 напрямую | SSH -L или Tailscale MagicDNS + туннель app |
| Типичные риски | Сон, обновления, конкуренция RAM | Туннель, расхождение версий, токены |
| Аренда | Своё устройство | Узел Gateway месяц/квартал; локально без доп. покупки |
Для hub-and-spoke по регионам Remote обязателен; см. выбор узла OpenClaw. Здесь — один удалённый Gateway и один локальный узел.
03 Развёртывание Gateway на CALMVPS bare metal
Выберите регион CALMVPS ближе к пользователям и egress каналов. Gateway слушает только loopback; управление — SSH или Tailscale, не открытый Web UI в интернете.
Установка (перед prod сверить версию): https://openclaw.ai/install.sh
Режимы Local/Remote macOS и launchd ai.openclaw.gateway: https://docs.openclaw.ai/platforms/macos
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
openclaw gateway status
launchctl kickstart -k gui/$UID/ai.openclaw.gateway
WS-порт Gateway 18789, привязка 127.0.0.1 рекомендуется
- Node runtime: одна фиксированная мажорная версия для launchd и shell.
- State: не класть
OPENCLAW_STATE_DIRв iCloud; по умолчанию~/.openclaw, согласовано сopenclaw doctor. - Диск: логи, cron и memory растут; в проде минимум 80 ГБ, при необходимости 1 ТБ/2 ТБ на странице цен.
04 macOS Remote и туннель за шесть шагов
После OpenClaw.app и TCC на локальном Mac:
- Проверить удалённый Gateway: на CALMVPS
openclaw gateway status, 18789 на loopback. - SSH-ключ: BatchMode для туннеля app; вход по ключу для ops.
- Tailscale по желанию: MagicDNS вместо фиксированной tailnet IP.
- App в Remote: режим Remote, удалённый хост; app использует
ssh -N -L 18789:127.0.0.1:18789, локальный Gateway не стартует. - Запустить node host: Remote отдаёт Canvas, Camera, Screen,
system.run(Exec approvals в app). - Сверка CLI: в
apps/macos:swift run openclaw-mac connect --jsonиdiscover --timeout 3000 --json.
Удалённый доступ и Direct ws/wss: https://docs.openclaw.ai/platforms/mac/remote
ssh -N -L 18789:127.0.0.1:18789 user@your-calmvps-node
curl -fsS http://127.0.0.1:18789/healthz
Через туннель IP узла может быть 127.0.0.1; реальный IP — Direct ws/wss по доке
05 Порт 18789 и разбор ошибок
Около 80 % «не подключается» — туннель управления или версии, а не провайдер модели.
- WS-порт по умолчанию:
18789; локальный порт туннеля совпадает с удалённым. - LaunchAgent:
ai.openclaw.gateway(с профилем:ai.openclaw.<profile>). - Exec approvals:
~/.openclaw/exec-approvals.jsonлокально, отдельно от конфига удалённого Gateway.
| Симптом | Сначала проверить | Первое исправление |
|---|---|---|
| Gateway недоступен в app | SSH-туннель, порт 18789 занят | Перезапуск туннеля app; на удалённом lsof -i :18789 |
| healthz OK, канал offline | Версия Gateway vs CLI/app | Выровнять openclaw --version, перезапустить Gateway |
| IP узла 127.0.0.1 | Доступ через SSH-туннель | Ожидаемо; реальный IP — Direct ws/wss |
| Canvas/камера молчат | node host, TCC | node host в Remote; повторить разрешения |
| Tailscale discovery падает | MagicDNS, имя хоста | Имя MagicDNS; не фиксировать tailnet IP |
Кейс: iOS-команда держала Gateway + Discord/Telegram на CALMVPS Сингапур (M4 24 ГБ в месяц), MacBook только как узел для screen.record и Xcode; пики — параллельный worker на неделю, меньше ночных алертов, чем всё локально.
06 M4, диск и чеклист аренды
Размер по роли, не «одна машина на всё»:
- Удалённый Gateway (CALMVPS): мультиканал + cron с M4 24 ГБ; hub или локальная модель — M4 Pro; диск 1 ТБ тест, 2 ТБ прод.
- Локальный узел: TCC и UI — 16 ГБ часто хватает; узкое место — права и сеть.
- Параллельные узлы: backfill или сборки сутки/неделя вместо апгрейда hub.
- Срок: Gateway месяц/квартал; пики — краткая аренда, часто дешевле топ-конфига навсегда.
Gateway на ноутбуке — сон, jitter, токены; чистый Linux VPS без macOS TCC. Для стабильного 18789, multi-region bare metal и воспроизводимого разбора подходит CALMVPS: выделенный Apple Silicon, 7×24, выдача ~120 с, M4 Pro и параллельные узлы под пики каналов. Узлы и условия: страница цен CALMVPS.