openclaw update · закреплённые бэкапы · doctor · откат
Команды, которые уже держат OpenClaw в продакшене, редко спорят, умеют ли они запускать openclaw update; боль приходит после возврата команды, когда Gateway не поднимается, старый процесс держит сокет, PATH указывает на устаревший бинарник или миграция конфигурации тихо переписывает настройки инструментов. Статья раскладывает пять повторяющихся рисков обновления, даёт матрицу официального update, глобального npm и сборки из исходников, шестишаговый Runbook с политикой бэкапов и каналов, порядок doctor и health после обновления и таблицу доказательств по конфликтам портов и двойной установке. Перекрёстные ссылки на мультиплатформенную установку и демоны, установку и разбор doctor и рантайм-разбор держат обновление, наблюдаемость и откат на одной странице.
Официальная документация советует openclaw update и затем openclaw doctor, но в продакшене добавляются демоны, не следующие за сменой пакетного менеджера, старые процессы Gateway, не отпускающие сокет, и несколько установок CLI на одном хосте. Если вы читали чеклист ужесточения продакшена, вы знаете: белые списки каналов и сужение поверхности прослушивания жёстко связаны с порядком обновления; без чистой остановки Gateway перед сменой пакета типичный симптом — порт 18789 всё ещё у старого PID.
Когда обновления считают изолированными событиями CLI, теряется связь между номерами версий, поверхностью прослушивания и материалами идентичности. Устойчивые программы сначала фиксируют режимы отказа: дрейф процессов, тихая миграция конфигурации, столкновения ритма каналов, слабые доказательства отката, неполная телеметрия health. Каждый пункт ниже — артефакт для тикета изменения, переход от «мы запустили update» к «мы объясним любой сбой строкой версии и путём бэкапа». Прогоните тот же порядок на стейдже до прод-окна — решения ускорятся, а при предупреждениях doctor будет ясно, где остановиться.
Дрейф процесса и версии пакета: глобальный npm уже указывает на новую сборку, но launchd или systemd поднимают бинарник из старого рабочего каталога, поэтому openclaw --version и gateway status расходятся.
Миграция конфигурации и тихие перезаписи: мажор может менять семантику openclaw.json; doctor пытается мигрировать, но если правила слияния расходятся с GitOps-ревью, файл на диске меняется без соответствующего pull request.
Автоматический канал и окно изменений: задержка и джиттер стабильного канала защищают флот от одновременного падения, но рассинхрон с бизнес-релизами даёт незапланированные перезапуски в пятницу вечером; вместе с пробами каналов сначала убедитесь, что Gateway реально перезапустился, прежде чем доверять колбэкам.
Недостаточно доказательств отката: без бэкапов или закреплённых версий остаётся только «поставить latest снова» вместо возврата к известному хорошему состоянию; вместе с постоянными облачными развёртываниями на узлах часто cron и внешние webhook, неверный порядок отката удлиняет простой.
Пропуски в наблюдаемости: скриншот «обновление успешно» без архива gateway status --deep и адресов привязки не позволяет доказать, что поверхность соответствовала базовой линии безопасности.
Превратите пять пунктов в предполётный чеклист, затем сравните пути установки в следующем разделе — так «можем обновить» превращается в «можем аудировать и откатить». Сон и окна обслуживания ОС на личных ноутбуках кратковременно сдвигают состояние демонов; облачные Mac-узлы с контрактным SLA позволяют записать окна обновления и доступность в критерии приёмки.
Операционные лидеры должны фиксировать роль каждого хоста: ноутбук разработчика, общий агент сборки или выделенный Gateway. Одна и та же версия CLI ведёт себя иначе, если launchd грузит plist со старым WorkingDirectory, а systemd крутится в закреплённом контейнере. Имена ролей в тикете мешают «у меня работает» превратиться в «таинственный дрейф в проде после патч-вторника».
Ни один из трёх путей не универсален; важно соответствие размеру команды, закреплению коммитов для аудита и допустимости автоматических перезапусков Gateway. Официальный подкоманда update подходит большинству; глобальные менеджеры пакетов — образам CI; сборка из исходников — группам с патчами или фиксированным dev-каналом.
Зафиксировав матрицу ниже в операционном руководстве, вы убираете размытую ответственность: билд знает, когда пересобирать образы, платформа — когда трогать юниты systemd, приложения — когда архивировать вывод doctor для комплаенса. Ясность окупается при первом релизе с ломающим полем в openclaw.json, когда нужно доказать, какая среда применила какую миграцию.
| Измерение | openclaw update | Глобальный npm / brew | Сборка из Git |
|---|---|---|---|
| Кривая обучения | Низкая; одна команда цепляет fetch, doctor и подсказки перезапуска | Средняя; doctor и перезапуск Gateway собираете сами | Высокая; сборки pnpm и гигиена PATH |
| Прослеживаемость версий | Средняя; опирается на метаданные релиза | Сильная; фиксация semver пакета | Сильная; фиксация SHA коммита |
| Путь отката | Средний; нужны закреплённые релизы и бэкапы | Сильный; npm i -g openclaw@x | Сильный; git checkout и пересборка |
| Автоматизация | Сильная; естественна для runbook | Сильная; естественна для слоёв образов | Слабая; долгие сборки и сложность кэша |
| Взаимодействие с демонами | Нужен явный порядок stop затем start | То же | Максимальный риск двойных путей установки |
Устойчивые обновления зависят от того, можно ли объяснить сбой номером версии и путём бэкапа, а не от того, запускается ли Gateway время от времени.
Если вы уже следуете руководству install-daemon, перенесите выводы этого раздела в руководство, чтобы избежать треугольника «в доке brew, на хосте npm, cron указывает на третий путь».
Шесть шагов ниже можно отмечать построчно в плейбуке дежурства: при любом стиле установки единый порядок позволяет новому коллеге отрепетировать обновление за час. Вместе с трёхсторонним рантайм-разделением сохраните фрагмент gateway status после обновления, чтобы отделить каналы от слоя моделей.
Перед фиксацией окна предупредите владельцев ниже по цепочке, кто зависит от исходящих webhook или общих API-ключей; ротация учёток в ту же ночь, что и обновление Gateway, умножает радиус поражения. Если вы опираетесь на внешние хранилища секретов, проверьте их доступность до остановки Gateway — иначе загрузитесь наполовину настроенными: doctor зелёный, вызовы рантайма падают.
Зафиксируйте окно изменений: укажите целевую semver и допустимые минуты простоя в тикете; не совмещайте с крупной ротацией ключей модели в тот же вечер.
Бэкап путей конфигурации и идентичности: официальная команда бэкапа или хотя бы архив каталогов под ~/.openclaw с конфигурацией и идентичностью; проверьте контрольные суммы.
Корректно остановите Gateway: openclaw gateway stop, убедитесь, что сокет свободен, затем updater; избегайте полуобновлённых состояний с занятыми портами.
Примените обновление и залогируйте канал: при openclaw update вставьте версию и метаданные канала в поля индекса тикета.
doctor затем health по порядку: соберите подсказки миграции и предупреждения; при неожиданных полях остановите автоперезапуски и сделайте ручной diff.
Проба каналов минимальным сообщением: в разрешённой среде отправьте пробу или выполните channels status, чтобы колбэки доходили до стека.
openclaw gateway stop openclaw update openclaw doctor openclaw gateway start openclaw health openclaw gateway status --deep
Заметка: если встроенный перезапуск в update гонится с вашими скриптами, кратко видны дублирующие слушатели; сериализуйте stop-install-start, не параллельте.
В обсуждениях часто «порт занят после обновления» или «CLI новый, а процесс старой сборки». Триаж должен сойтись к единому источнику правды по адресам привязки, путям бинарников и пакетам, прежде чем винить конфигурацию. Читая вместе с чеклистом установки и doctor, приложите список ниже к тикету.
Зафиксируйте вывод lsof или аналога вместе с which openclaw — ревьюерам хватит сигнала отличить зомби от ошибочно связанного юнита сервиса. На общих хостах также зафиксируйте эффективного пользователя Gateway: профили одного аккаунта не действуют на другой.
Порт занят: доказательство — lsof -i :18789 или аналог со старым PID; сначала gateway stop, при ошибке — контролируемое завершение по инструкции, затем проверка остатков.
Два пути установки: which openclaw и npm root -g расходятся по префиксам; нормализуйте PATH, уберите лишние глобальные пакеты или закрепите алиасы.
Юнит демона не обновлён: plist или unit всё ещё ссылаются на старый WorkingDirectory; переустановите демон или выполните принудительную установку из документации перед kickstart.
Сбой проверки конфигурации: doctor сообщает о конфликте миграции; восстановитесь из бэкапа, обновляйте по этапам или смержьте JSON вручную и перезапустите doctor.
Ложнозелёный health: health проходит, но каналы не звонят обратно; следуйте статье рантайм-триажа и не закрывайте инцидент рано.
После отката всё ещё сломано: переменные окружения или стартовые скрипты всё ещё подмешивают старый NODE_PATH; очистите сессии входа и слои образов CI.
Внимание: на общих узлах временные export в профиле коллеги превращают личный эксперимент в инцидент флота; для пулов разделяйте Unix-пользователей или границы контейнеров.
Три пункта ниже обобщают наблюдения многих небольших команд при внедрении OpenClaw; используйте для предпроектного обзора, не как обещание вендора, замените измерениями из своих тикетов.
Пороги работают лучше с владельцами: кто-то смотрит дашборды проб в окне, кто-то одобряет простой сверх бюджета P95, кто-то держит политику хранения бэкапов в соответствии с комплаенсом. Без имён цифры остаются декором.
| Размер команды | Частота изменений | Аппетит к риску | Более устойчивый выбор по умолчанию |
|---|---|---|---|
| Один | Ad hoc | Высокий | официальный update и ручной stop/start; zip-бэкап |
| Малая команда | Еженедельно | Средний | фиксированный npm semver, тикеты изменений, архив вывода doctor |
| Платформа | Ежедневно | Низкий | сборки образов, канареечные узлы, автоматические пробы |
| Внешнее взаимодействие | Нерегулярно | Средний | runbook только для чтения и выделенные узлы; без общего HOME |
Сон, диск и патчи ОС на личном железе постоянно рвут демонов; даже идеальная дисциплина CLI не создаст аудируемый SLA обновления на ноутбуке. Напротив, облачные Mac Mini по контракту позволяют записать аптайм процессов, вход и окна обслуживания в соглашение.
Частая ошибка: считать зелёный health доказательством здоровья каналов и моделей — health покрывает подмножество; полная приёмка всё равно идёт по порядку рантайм-триажа.
Если нужны дружественные к откату обновления OpenClaw с наблюдаемым жизненным циклом Gateway и узлы онлайн без сна ноутбука, ломающего агентов — особенно при автоматизации продакшена и iOS-сборках — аренда облачного Mac Mini у VpsMesh часто удачнее: предсказуемая оплата, выбор регионов, выделенное железо для аудита, разговор об обновлениях опирается на реальную доступность.
Настоятельно рекомендуется; как минимум сделайте бэкап путей конфигурации и идентичности перед update. Читайте параллельно установку и разбор doctor. Для заказа узла см. страницу заказа.
Включите время репетиции отката, усилия дежурства и обслуживание скриптов проб в стоимость релиза, затем сравните с ценами и статьёй о TCO на три года.
Сначала откройте справочный центр; если после обновления сбоят только каналы, сначала рантайм-разбор, затем вернитесь сюда к портам и PATH.