Maintenance
Обновление
Поддерживайте OpenClaw в актуальном состоянии.
О замене образов Docker, Podman и Kubernetes см. Обновление образов контейнеров. Перед переходом в состояние готовности Gateway выполняет безопасные при запуске операции обновления и завершает работу, если подключённое состояние требует ручного восстановления.
Рекомендуется: openclaw update
Определяет тип установки (npm или git), получает последнюю версию, выполняет openclaw doctor и перезапускает Gateway.
openclaw updateПереключение каналов или выбор конкретной версии:
openclaw update --channel betaopenclaw update --channel extended-stableopenclaw update --channel devopenclaw update --dry-run # предварительный просмотр без примененияУ openclaw update нет флага --verbose (он есть у установщика). Для диагностики используйте
--dry-run, чтобы предварительно просмотреть запланированные действия, --json для структурированных результатов или
openclaw update status --json, чтобы проверить состояние канала и доступности.
--channel beta предпочитает npm dist-тег beta, но возвращается к stable/latest,
если тег beta отсутствует или его версия старше последнего стабильного
выпуска. Вместо этого используйте --tag beta для однократного обновления пакета с привязкой непосредственно к npm
dist-тегу beta.
--channel extended-stable работает только с пакетами, а установка по-прежнему
выполняется только в интерактивном режиме. OpenClaw считывает общедоступный селектор npm extended-stable,
проверяет точно выбранный пакет и устанавливает именно эту версию. При отсутствии
или несогласованности данных реестра операция безопасно завершается ошибкой; возврата к latest не происходит.
Если выбранная версия старше установленной, по-прежнему применяется обычное
подтверждение понижения версии. После успешного обновления ядра CLI сохраняет канал;
прямой вызов npm install -g openclaw@extended-stable
не обновляет update.channel.
После замены ядра подходящие официальные npm-плагины с намерением bare/default или
latest приводятся к точно такой же версии ядра. Точные привязки и явные
теги, отличные от latest, сторонние плагины и источники не из npm остаются без изменений.
Установки из каталога, созданные текущими версиями OpenClaw, сохраняют это намерение
по умолчанию. Более старые записи, содержащие только точную версию, остаются закреплёнными, поскольку
OpenClaw не может безопасно отличить старую автоматическую привязку от пользовательской; один раз выполните
openclaw plugins update @openclaw/name на канале extended-stable,
чтобы снова включить для этого плагина отслеживание точной версии ядра.
--channel dev предоставляет постоянную обновляемую рабочую копию GitHub main. Для однократного
обновления пакета --tag main сопоставляется со спецификацией пакета github:openclaw/openclaw#main
и устанавливается напрямую через целевой менеджер пакетов (npm/pnpm/bun).
Для управляемых плагинов отсутствие бета-выпуска является предупреждением, а не ошибкой: обновление ядра всё равно может завершиться успешно, а плагин вернётся к записанному выпуску default/latest.
Семантика каналов описана в разделе Каналы выпусков.
Переключение между установками npm и git
Используйте каналы для изменения типа установки. Средство обновления сохраняет состояние, конфигурацию,
учётные данные и рабочую область в ~/.openclaw; изменяется только установка кода OpenClaw,
которую используют CLI и Gateway.
# установка пакета npm -> редактируемая рабочая копия gitopenclaw update --channel dev # рабочая копия git -> установка пакета npmopenclaw update --channel stableСначала предварительно просмотрите переключение режима установки:
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-rundev обеспечивает наличие рабочей копии git, собирает её и устанавливает из неё глобальный CLI.
Каналы stable, extended-stable и beta используют установки
пакетов. Канал extended-stable отклоняется для рабочей копии git без её изменения или
преобразования. Если Gateway уже установлен, openclaw update обновляет
метаданные службы и перезапускает её, если не передан --no-restart.
Для установок пакетов с управляемой службой Gateway команда openclaw update нацелена
на корень пакета, используемый этой службой. Если команда оболочки openclaw
относится к другой установке, средство обновления выводит оба корня и путь Node
управляемой службы, а перед заменой пакета проверяет соответствие этой версии Node
требованию engines.node целевого выпуска.
Альтернатива: повторный запуск установщика
curl -fsSL https://openclaw.ai/install.sh | bashДобавьте --no-onboard, чтобы пропустить первоначальную настройку. Чтобы принудительно выбрать конкретный тип установки, передайте
--install-method git --no-onboard или --install-method npm --no-onboard.
Если openclaw update завершается ошибкой после этапа установки пакета npm, повторно запустите
установщик. Он не вызывает средство обновления, а напрямую выполняет глобальную установку
пакета и может восстановить частично обновлённую установку npm.
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npmЗакрепите восстановление на конкретной версии или dist-теге с помощью --version:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>Альтернатива: ручное обновление через npm, pnpm или bun
npm i -g openclaw@latestДля контролируемых установок предпочитайте openclaw update: эта команда может согласовать замену пакета
с работающей службой Gateway. При ручном обновлении контролируемой установки
сначала остановите управляемый Gateway. Менеджеры пакетов заменяют файлы
на месте, и в противном случае работающий Gateway может попытаться загрузить файлы ядра или плагина
в процессе замены. После завершения работы менеджера пакетов перезапустите Gateway, чтобы он использовал
новую установку.
Если в общесистемной установке Linux с глобальным каталогом, принадлежащим root, команда openclaw update завершается ошибкой
EACCES, выполните восстановление с помощью системного npm, не запуская Gateway во время
ручной замены. Используйте те же флаги профиля и переменные окружения, которые обычно применяются для
этого Gateway. Замените /usr/bin/npm системным npm, которому принадлежит
глобальный префикс root на вашем хосте:
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restartЗатем выполните проверку:
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --jsonКогда openclaw update управляет глобальной установкой npm, целевая версия сначала устанавливается
во временный префикс npm, затем проверяется состав упакованных файлов dist, после чего
чистое дерево пакета заменяет дерево в реальном глобальном префиксе. Это предотвращает
наложение нового пакета npm на устаревшие файлы старого пакета. Если команда
установки завершается ошибкой, OpenClaw повторяет попытку один раз с --omit=optional, что помогает на хостах,
где невозможно скомпилировать необязательные нативные зависимости.
Управляемые OpenClaw команды обновления npm и плагинов также отключают для дочернего процесса npm
карантин цепочки поставок min-release-age (или более старый ключ конфигурации before).
Эта политика предназначена для общей защиты, но явное обновление OpenClaw означает
«установить выбранный выпуск сейчас».
pnpm add -g openclaw@latestbun add -g openclaw@latestРасширенные темы установки npm
Дерево пакетов только для чтения
OpenClaw считает упакованные глобальные установки доступными во время выполнения только для чтения, даже если текущий пользователь может записывать данные в глобальный каталог пакетов. Пакеты плагинов устанавливаются в принадлежащие OpenClaw корни npm/git в каталоге пользовательской конфигурации, а запуск Gateway не изменяет дерево пакетов OpenClaw.
В некоторых конфигурациях npm в Linux глобальные пакеты устанавливаются в принадлежащие root каталоги, например /usr/lib/node_modules/openclaw. OpenClaw поддерживает такую структуру, поскольку команды установки и обновления плагинов записывают данные вне этого глобального каталога пакетов.
Усиленные модули systemd
Предоставьте OpenClaw доступ на запись к корням конфигурации и состояния, чтобы явные установки плагинов, обновления плагинов и очистка doctor могли сохранять изменения:
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmpПредварительная проверка свободного места
Перед обновлением пакетов и явной установкой плагинов OpenClaw по возможности проверяет свободное место на целевом томе. При нехватке места выводится предупреждение с проверенным путём, но обновление не блокируется, поскольку квоты файловой системы, снимки и сетевые тома могут измениться после проверки. Определяющими остаются фактическая установка менеджером пакетов и проверка после установки.
Автоматическое обновление
По умолчанию отключено. Включите его в ~/.openclaw/openclaw.json:
{ update: { channel: "stable", auto: { enabled: true, stableDelayHours: 6, stableJitterHours: 12, betaCheckIntervalHours: 1, }, },}| Канал | Поведение |
|---|---|
stable |
Ожидает stableDelayHours (по умолчанию: 6), затем применяет обновление с детерминированным случайным сдвигом в пределах stableJitterHours (по умолчанию: 12) для распределённого развёртывания. |
extended-stable |
Проверяет наличие информационного уведомления об обновлении при запуске и каждые 24 часа, когда включён checkOnStart. Никогда не применяет обновление автоматически. |
beta |
Выполняет проверку каждые betaCheckIntervalHours (по умолчанию: 1) и немедленно применяет обновление. |
dev |
Автоматическое применение отсутствует. Используйте openclaw update вручную. |
Gateway также записывает в журнал уведомление об обновлении при запуске (отключается с помощью
update.checkOnStart: false). Сохранённые варианты extended-stable используют этот
путь информационных уведомлений и существующий 24-часовой интервал уведомлений, но никогда не запускают
автоматическую установку, передачу управления, перезапуск, задержку или случайный сдвиг stable либо опрос beta.
Для понижения версии или восстановления после сбоя задайте OPENCLAW_NO_AUTO_UPDATE=1 в окружении Gateway, чтобы блокировать автоматическое применение обновлений, даже если настроен update.auto.enabled. Уведомления об обновлениях при запуске по-прежнему могут выполняться, если также не отключён update.checkOnStart.
Обновления менеджера пакетов, запрошенные через активную плоскость управления Gateway
(update.run), не заменяют дерево пакета внутри работающего процесса Gateway.
В установках с управляемой службой Gateway запускает отделённую передачу управления,
завершает работу и позволяет обычному пути CLI openclaw update --yes --json остановить
службу, заменить пакет, обновить метаданные службы, перезапустить её, проверить
версию и доступность Gateway и по возможности восстановить установленный, но не загруженный
LaunchAgent macOS. Если Gateway не может безопасно выполнить такую передачу управления,
update.run сообщает безопасную команду оболочки вместо запуска менеджера
пакетов внутри процесса.
Карточка обновления на боковой панели Control UI запускает тот же процесс update.run. В
подписанном приложении macOS карточка сначала обновляет приложение через Sparkle; после повторного запуска
приложение приводит управляемый локальный Gateway к соответствующей версии.
После обновления
Запустите doctor
openclaw doctorПереносит конфигурацию, проверяет политики личных сообщений и состояние Gateway. Подробнее: Doctor
Перезапустите Gateway
openclaw gateway restartПроверьте работу
openclaw healthОткат
Закрепление версии (npm)
npm i -g openclaw@<version>openclaw doctoropenclaw gateway restartЗакрепление коммита (исходный код)
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"pnpm install && pnpm buildopenclaw gateway restartЧтобы вернуться к последней версии: git checkout main && git pull.
Если у вас возникли трудности
- Снова запустите
openclaw doctorи внимательно прочитайте вывод. - Для
openclaw update --channel devв рабочих копиях исходного кода средство обновления при необходимости автоматически подготавливаетpnpm. Если возникает ошибка подготовки pnpm/corepack, установитеpnpmвручную (или снова включитеcorepack) и повторно запустите обновление. - См.: Устранение неполадок
- Задайте вопрос в Discord: https://discord.gg/clawd
Связанные материалы
- Обзор установки: все способы установки.
- Диагностика: проверки работоспособности после обновлений.
- Миграция: руководства по миграции между основными версиями.