В продакшене с OpenClaw Gateway сложнее всего не набрать openclaw update, а согласовать каналы stable/beta/dev с окном изменений, обеспечить, чтобы автообновления не перезапускали вас посреди инцидента, и понять, что раньше — фиксация npm или откат git. Статья перечисляет семь предположений, из-за которых зря винят откаты, матрицу «поверхность установки / точка входа обновления / рычаг отката», шестишаговый чувствительный к порядку runbook (бэкап → проверка канала → обновление → опционально OPENCLAW_NO_AUTO_UPDATE → рестарт/пробы → doctor) и когда переходить к гайду split brain для gateway install --force. Для Docker читайте вместе продакшен-апгрейды Compose; базовые практики — в health logs и откате.
Проверьте эти ловушки, прежде чем снова открывать тикет «качество OpenClaw».
Считать openclaw update «только пакеты, не сервисы»: метаданные launchd/systemd должны совпадать с бинарником, который вызывает unit — иначе дрейф вернётся после перезагрузки.
Вешать прод-SLA на beta/dev: превью-каналы для песочниц; в тикете по умолчанию stable и явный semver.
Править большие куски openclaw.json до даунгрейда бинарников: сначала зафиксируйте исполнение на проверенной сборке, затем решайте про миграцию схемы.
Думать, что OPENCLAW_NO_AUTO_UPDATE заменяет коммуникации: это рычаг управления — окна обслуживания, владельцы и команды отката публикуются отдельно (семантика по актуальной upstream-документации).
Откат git без чистого аудита дерева: после git checkout <tag> проверьте субмодули, lockfile и локальные патчи, чтобы совпасть с артефактом релиза.
Переносить docker-советы на bare-metal npm: теги, тома и entrypoint отличаются — для контейнеров наш гайд по Compose; цепочки команд не смешивать.
Пускать весь трафик до завершения doctor: до снятия обслуживания нужны как минимум одна channels status --probe и проверка по cron list.
Если шаг 7 «зелёный», но стражи всё ещё ругаются на бинарники, переходите к плейбуку split brain, а не кругов npm.
Назовите, чем OpenClaw был установлен, прежде чем скриптовать откат:
| Поверхность | Типичная точка обновления | Основной рычаг отката | Читать дальше |
|---|---|---|---|
| npm global | openclaw update / npm install -g … | Зафиксировать @scope/[email protected], переустановить и выровнять сервисное пакетирование | split brain |
| git-дерево | git pull / вендорский билд | git checkout на тег + пересборка | Порядок из §3; Docker изолировать при смеси |
| Инсталлятор | CLI вендора / curl-инсталлятор | Повторить закреплённый бандл инсталлятора | Чексуммы приложить к тикету |
| Docker / compose | pull нового тега образа | Откатить тег/дайджест и политику снапшотов томов | апгрейды Compose |
Золотой порядок: (1) бэкап доказательств → (2) зафиксировать идентичность бинарника → (3) только потом обсуждать миграции JSON.
В удалённых топологиях по-прежнему проверяйте gateway.mode и URL — см. гайд по удалённому режиму.
Порядок важен; если CLI и пользовательский сервис расходятся, откройте гайд split brain.
Доказательства и бэкап: снимите openclaw --version, gateway status, замаскированные фрагменты env, снапшот openclaw.json или смонтированных томов.
Подтвердить канал: по upstream-доке выровнять stable / beta / dev; прод по умолчанию stable с явным semver в тикете.
Применить обновление: предпочитайте документированный openclaw update; при npm install -g сразу проверьте, что unit-файлы всё ещё указывают на нужный prefix.
Инцидентный шлюз (опционально): при заморозке или фиксе хотфикса внедрите OPENCLAW_NO_AUTO_UPDATE по доке в shell systemd/launchd или контейнер — зафиксируйте критерии снятия.
Холодный рестарт и пробы: openclaw gateway restart → channels status --probe; симптомы ресурсов — в not ready.
Doctor и наблюдаемость: openclaw doctor; выборочно просмотрите логи в окне хранения из health logs перед закрытием окна.
openclaw --version openclaw update openclaw gateway restart openclaw doctor openclaw channels status --probe # пример pin npm (имя пакета по доке) # npm install -g @your-scope/[email protected]
Заметка: если doctor всё ещё сообщает о разошедшихся бинарниках или отказывается от разрушительных шагов gateway, переключайтесь на чек-лист split brain — не зацикливайтесь на npm.
OPENCLAW_NO_AUTO_UPDATE и окна измененийАвтообновления снижают дрейф, но инциденты, аудиты или межкомандный pin могут требовать остановить фоновые pull. Об этом и говорит OPENCLAW_NO_AUTO_UPDATE — точная семантика, значения по умолчанию и точки внедрения (user units / профили shell / env контейнера) следуют актуальной upstream-документации; здесь только операционная гигиена.
Внимание: шлюзы не вечная политика; долго отключённые автообновления ведут к ручному рассинхрону. Зафиксируйте причину, кто снимает ограничение, и полную регрессию после снятия.
В отличие от разрушительных переключателей OPENCLAW_*, позволяющих старым бинарникам переписывать сервисы, этот шлюз в основном приостанавливает темп автоматических апгрейдов; при уже существующем split brain сначала выравнивают PATH и переустанавливают пакетирование.
Измеримые проверки для записей об изменениях:
openclaw --version должен совпадать с целью тикета.git rev-parse HEAD и тег; для npm — точный semver; для compose — дайджест образа (по Docker-гайду).Минимизация логов: храните журналы только столько и только настолько подробно, сколько нужно для разбора инцидента и доказательства отката — лишнее удержание сокращайте.
Ноутбуки пользователей непредсказуемо засыпают и перезагружаются; если нужен Gateway как на VPS с Apple Silicon и GUI, чаще выигрывает выделенный облачный Mac, чем бесконечные локальные апгрейды. NodeMini даёт арендуемые узлы, удобные для SSH, с понятными ценами — см. цены аренды Mac Mini и справочный центр. Порядок чтения OpenClaw: наблюдаемость → cron → удалённый режим → split brain → этот гайд по каналам и откату → фильтр колонки.
openclaw update следует канальной семантике вендора; обычный npm лишь обновляет файлы под глобальным префиксом и не чинит автоматически unit-файлы launchd/systemd со старыми путями — это история split brain, часто нужен gateway install --force.
Во время инцидентов, аудиторных заморозок или обязательного pin патча — семантика и внедрение по upstream-доке. После снятия снова запустите doctor и пробы каналов; логирование согласуйте с рекомендациями по наблюдаемости.
В приоритете продакшен-апгрейды Compose: теги/дайджесты образов, тома и порядок запуска определяют откат; инструкции npm/git для железа читайте параллельно, но не смешивайте чужие цепочки команд.