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.
Содержание
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:
- Тихий дрейф multi-Node: при Homebrew, nvm и Node из install-скрипта старый
openclaw updateмог направить follow-up команды на другой Node, пока managed Gateway Service держал старые пути. - Расхождение протокола CLI/Gateway: CLI уже 5.20, Gateway на 5.18 — healthcheck restart кажется failed, команды переустанавливают плагины не на том уровне.
- Игнор новых предупреждений doctor: с 5.20 — ключи API в открытом виде в
openclaw.json, sandbox-политика MCP, невалидныйthinkingFormat. Слепойdoctor --fixбез diff может удалить нужные поля provider. - Изменён путь 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. Три критерия
- Согласованность Node: в том же окне managed launchd Node и Node из
openclaw updateимеют одну major-версию — иначе fix 5.20 не работает. - Видимость версии:
gateway status --jsonпоказывает running Gateway version = 2026.5.20, aligned сopenclaw --version. - Финальный статус Cron: успешная задача не должна перезаписываться trailing tool warnings; проба с delivered-флагом важнее одного зелёного Gateway.
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 на сайте.