2026 OpenClaw v2026.5.20 на Mac VPS: приёмка обновления, managed Gateway Node, расхождение протокола и runbook Policy/Doctor (матрица решений и FAQ)

OpenClaw v2026.5.20 (2026-05-21) исправляет production-дефекты: openclaw update на multi-Node машинах мог тихо переключить Gateway на неверный бинарник, а расхождение версий протокола CLI/Gateway ломало healthcheck при перезапуске. Если вы круглосуточно держите Gateway через launchd на Mac VPS и боитесь «после апгрейда не поднимается, канал кажется зелёным, Cron пишет failed», здесь четыре нумерованных боли, матрица решений, checklist снимка, семишаговый runbook, таблица приёмки 5.20, mapping ошибок, три цитируемых критерия и FAQ — со ссылками на шлюз, мультиканал и майский baseline.

Схема: шлюз OpenClaw на Mac VPS через launchd, CLI и managed Gateway Node с одной версией

Содержание

1. Боли: multi-Node, протокол, дрейф конфигурации

На Mac cloud хосте сбой OpenClaw редко сводится к «закончился баланс модели». Чаще процесс Gateway слушает 18789, но CLI и Gateway сидят на разных установках Node — или версии протокола расходятся на один minor. Симптомы: первый gateway restart после апгрейда падает на healthcheck, каналы отваливаются случайно, Cron помечает успешные задачи как failed. Это особенно бьёт по командам, стабильно работавшим неделями и ставящим v2026.5.20 «ради release notes», не понимая, что патч в первую очередь про надёжность multi-Node на Mac VPS.

Если вы уже читали runbook шлюза или майский baseline, картина знакома: всё зелёное, пока никто не делает restart и Cron не упирается в границу протокола. v2026.5.20 делает разрыв видимым — если измерить путь Node и running version в одном окне обслуживания.

Четыре кластера чаще всего встречаются в production-тикетах и переносятся прямо в change board:

  1. Тихий дрейф multi-Node: при Homebrew, nvm и Node из install-скрипта старый openclaw update мог направить follow-up команды на другой Node, пока managed Gateway Service держал старые пути.
  2. Расхождение протокола CLI/Gateway: CLI уже 5.20, Gateway на 5.18 — healthcheck restart кажется failed, команды переустанавливают плагины не на том уровне.
  3. Игнор новых предупреждений doctor: с 5.20 — ключи API в открытом виде в openclaw.json, sandbox-политика MCP, невалидный thinkingFormat. Слепой doctor --fix без diff может удалить нужные поля provider.
  4. Изменён путь Exec: Skills больше не принимают cat SKILL.md через shell; обязателен read-tool. Автomation с shell-cat ломается с «tool rejected».

2. Матрица решений: когда переходить на 5.20

Стратегия Сценарий Риск Рекомендация
Обновить сразу Gateway не стартует после update; multi-Node; Cron должен отражать реальный статус Окно 10–20 минут Этот runbook в непиковое время
Ждать следующий патч Только desktop-тест, нет 7×24 канала Старые проблемы update/протокола остаются Не для prod Mac VPS
Новый узел, чистая установка Конфиг не аудируется, хаос плагинов Стоимость pairing и пересканирования каналов После майского baseline переключить трафик

3. Снимок перед обновлением

До смены бинарника сохраните эти выводы в change ticket — достаточно plain text для сравнения при откате:

openclaw --version
openclaw gateway status --json | tee /tmp/gw-before.json
lsof -nP -iTCP:18789 -sTCP:LISTEN
which node; node -v
type -a node 2>/dev/null || true
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.$(date +%Y%m%d)
launchctl print gui/$(id -u)/ai.openclaw.gateway 2>/dev/null | head -80

Зафиксируйте абсолютный путь Node в ProgramArguments и running Gateway version из gateway status --json — с 5.20 поле надёжнее. Если база расходится с runbook шлюза, сначала почините.

Архивируйте снимок в change ticket с меткой времени и SSH-пользователем. При откате сравните /tmp/gw-before.json построчно с post-upgrade — расхождение в runningVersion или server часто означает, что fix managed Node ещё не сработал. Та же checklist на staging воспроизводит дрейф до prod.

4. Семишаговый runbook

Шаг 1: закрепить версию и update

openclaw update --tag v2026.5.20
# или npm global:
# npm i -g openclaw@2026.5.20

Дождитесь прохождения healthcheck перезапуска в конце. При сбое не переустанавливайте плагины сразу — сначала шаг 2 Node.

Шаг 2: managed Gateway Node без дрейфа

openclaw --version
which node
node -v
openclaw gateway status --json | jq '.server,.version,.runningVersion'

Ключевой fix в 5.20: команды после openclaw update должны использовать тот же Node, что managed Gateway Service — не «CLI Homebrew, launchd /usr/local». Major-версии node -v на обоих путях должны совпадать.

Шаг 3: restart Gateway и 18789

openclaw gateway restart
sleep 3
lsof -nP -iTCP:18789 -sTCP:LISTEN
openclaw gateway status --deep

Если --deep падает — runbook шлюза по gateway.auth, loopback и token; не меняйте provider модели первым.

Шаг 4: openclaw doctor (Policy plugin)

openclaw doctor
openclaw doctor --fix   # только после просмотра diff

С 5.20 bundled Policy plugin для compliance каналов и подсказок workspace. При предупреждении об открытом ключе — миграция в env или SecretRef, doctor не отключать.

Шаг 5: smoke канала

Один цикл send/receive на Telegram, Feishu, Slack или prod-канале. При нескольких каналах — mono-канальная фаза из multi-channel runbook; не меняйте слишком много переменных сразу.

Шаг 6: пробный Cron

openclaw cron list
# запустить задачу с низким риском, финальный статус success без override tool warning

5.20 исправляет успешные Cron, помеченные failed из-за trailing tool warnings, и блокировки между main-session и cron wake lane. Лог и финальный статус должны совпадать.

На шаги 1–6 закладывайте десять–пятнадцать минут на выделенном Mac VPS без параллельных npm global update. Не прерывайте шаг 2, если which node и launchd расходятся — это суть v2026.5.20. Фиксируйте exit-code каждой команды; это ускорит эскалацию, если smoke канала падает при уже зелёном Gateway.

5. Таблица приёмки v2026.5.20

Проверка OK если При сбое смотреть
Healthcheck протокола Один restart после update успешен CLI и Gateway оба 5.20?
managed Node согласован Путь/intent Node launchd = CLI launchctl print vs which node
Версия gateway status JSON содержит running Gateway version plist указывает на удалённый prefix
Policy / открытый ключ doctor без блокирующего secret alert Мигрировать ключ, gateway restart
Exec / Skill Skill грузится через read и выполняется Убрать shell cat SKILL.md из automation

6. Ошибки и откат

Симптом Частая причина Действие
Gateway не стартует после update Дрейф пути Node Выровнять managed Node; при необходимости gateway install --force
Все модели мертвы после doctor --fix Удалены поля provider Восстановить openclaw.json.bak, вручную почистить thinkingFormat
Канал online без ответа Pairing/окно, не upgrade Triage канала; сначала доказать версию Gateway
Cron всё ещё failed Exec reject в задаче cron show + JSONL; путь read Skill

Откат: backup JSON, предыдущий tag, gateway restart. Неаудируемый конфиг — майский baseline на новом узле.

При откате сохраняйте ту же дисциплину: сначала пути Node, затем config, потом каналы. Частая ошибка — сразу перезапускать pairing, хотя процесс Gateway всё ещё на неверном бинарнике. Если знакомы с ACP rollback на сайте, объедините pin digest и восстановление json в одной заметке ticket.

7. Три критерия

8. FAQ

Вопрос: Docker vs npm путь? В контейнере — Node из образа; на Mac VPS хосте с npm+launchd критичен pin Node из этой статьи. Docker upgrade: tag образа и backup config volume.

Вопрос: пропустить 5.18/5.19? Да, со snapshot; staging семь шагов, затем prod.

Вопрос: связь с первым деплоем в пять шагов? Пять шагов — с нуля в prod; эта статья — безопасный upgrade работающего 7×24 инстанса до 5.20. Новая установка может сразу 5.20, затем multi-channel приёмка.

9. Заключение

v2026.5.20 даёт не столько feature-list, сколько стабильные контракты Node и протокола на Mac VPS — там, где рождается «после апгрейда шлюз мёртв». Notebook или WSL2 подходят для коротких тестов; sleep, NAT и смешение multi-Node скрывают дрейф update. Чистый Linux VPS может держать Gateway, но без launchd и накопленной Apple-документации. Для production-входа 7×24 прогоните этот семишаговый runbook в окне обслуживания и занесите managed Node, doctor и финальный статус Cron в шаблон change — вместо циклов полной переустановки. Командам нужны стабильный диск, auditable launchd и SSH runbooks — Apple Silicon Mac VPS VPSMAC объединяет 18789, backup конфигурации и приёмку upgrade в одной операционной плоскости, согласованной с guides шлюза, мультиканала и baseline на сайте.