Обновление

OpenClaw быстро развивается (до "1.0"). Относитесь к обновлениям как к доставке инфраструктуры: обновление → запуск проверок → перезапуск (или используйте openclaw update, который перезапускает) → проверка.

Рекомендуется: повторно запустите установщик с сайта (обновление на месте)

Предпочтительный путь обновления — повторно запустить установщик с сайта. Он обнаруживает существующие установки, обновляет на месте и запускает openclaw doctor при необходимости.

curl -fsSL https://openclaw.bot/install.sh | bash

Примечания:

  • Добавьте --no-onboard, если вы не хотите, чтобы мастер онбординга запускался снова.
  • Для установок из исходников используйте:
    curl -fsSL https://openclaw.bot/install.sh | bash -s -- --install-method git --no-onboard
    
    Установщик выполнит git pull --rebase только если репозиторий чист.
  • Для глобальных установок скрипт использует npm install -g openclaw@latest под капотом.
  • Устаревшее примечание: openclaw остаётся доступным как оболочка совместимости.

Перед обновлением

  • Узнайте, как вы установили: глобально (npm/pnpm) vs из исходников (git clone).
  • Узнайте, как работает ваш Gateway: терминал на переднем плане vs контролируемый сервис (launchd/systemd).
  • Сделайте снимок вашей настройки:
    • Конфигурация: ~/.openclaw/openclaw.json
    • Учётные данные: ~/.openclaw/credentials/
    • Workspace: ~/.openclaw/workspace

Обновление (глобальная установка)

Глобальная установка (выберите одно):

npm i -g openclaw@latest
pnpm add -g openclaw@latest

Мы не рекомендуем Bun для среды выполнения Gateway (баги WhatsApp/Telegram).

Для переключения каналов обновления (git + npm установки):

openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable

Используйте --tag <dist-tag|version> для одноразовой установки тега/версии.

См. Каналы разработки для семантики каналов и примечаний к релизам.

Примечание: на npm-установках gateway логирует подсказку об обновлении при запуске (проверяет текущий тег канала). Отключите через update.checkOnStart: false.

Затем:

openclaw doctor
openclaw gateway restart
openclaw health

Примечания:

  • Если ваш Gateway запускается как сервис, openclaw gateway restart предпочтительнее убийства PID.
  • Если вы закреплены на определённой версии, см. "Откат / закрепление" ниже.

Обновление (openclaw update)

Для установок из исходников (git-клон) предпочтительно:

openclaw update

Это запускает относительно безопасный поток обновления:

  • Требует чистое рабочее дерево.
  • Переключается на выбранный канал (тег или ветка).
  • Извлекает + делает rebase против настроенного upstream (канал dev).
  • Устанавливает зависимости, собирает, собирает Control UI и запускает openclaw doctor.
  • Перезапускает gateway по умолчанию (используйте --no-restart для пропуска).

Если вы установили через npm/pnpm (нет метаданных git), openclaw update попробует обновить через ваш пакетный менеджер. Если он не может определить установку, используйте вместо этого "Обновление (глобальная установка)".

Обновление (Control UI / RPC)

Control UI имеет Update & Restart (RPC: update.run). Он:

  1. Запускает тот же поток обновления из исходников, что и openclaw update (только git-клон).
  2. Записывает сентинель перезапуска со структурированным отчётом (хвост stdout/stderr).
  3. Перезапускает gateway и пингует последнюю активную сессию с отчётом.

Если rebase не удаётся, gateway прерывает и перезапускается без применения обновления.

Обновление (из исходников)

Из клона репозитория:

Предпочтительно:

openclaw update

Вручную (примерно эквивалентно):

git pull
pnpm install
pnpm build
pnpm ui:build # автоматически устанавливает зависимости UI при первом запуске
openclaw doctor
openclaw health

Примечания:

  • pnpm build важен, когда вы запускаете упакованный бинарник openclaw (openclaw.mjs) или используете Node для запуска dist/.
  • Если вы запускаете из клона репозитория без глобальной установки, используйте pnpm openclaw ... для CLI-команд.
  • Если вы запускаете напрямую из TypeScript (pnpm openclaw ...), пересборка обычно не нужна, но миграции конфигурации всё ещё применяются → запустите doctor.
  • Переключение между глобальной и git-установками легко: установите другой вариант, затем запустите openclaw doctor, чтобы точка входа сервиса gateway была переписана на текущую установку.

Всегда запускайте: openclaw doctor

Doctor — это "безопасная команда обновления". Она намеренно скучная: восстановление + миграция + предупреждение.

Примечание: если вы на установке из исходников (git-клон), openclaw doctor предложит сначала запустить openclaw update.

Типичные вещи, которые она делает:

  • Мигрирует устаревшие ключи конфигурации / устаревшие местоположения файлов конфигурации.
  • Аудирует политики DM и предупреждает о рискованных "открытых" настройках.
  • Проверяет здоровье Gateway и может предложить перезапуск.
  • Обнаруживает и мигрирует старые сервисы gateway (launchd/systemd; устаревшие schtasks) к текущим сервисам OpenClaw.
  • В Linux обеспечивает systemd user lingering (чтобы Gateway переживал выход).

Подробности: Doctor

Запуск / остановка / перезапуск Gateway

CLI (работает независимо от ОС):

openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow

Если вы под контролем:

  • macOS launchd (встроенный в приложение LaunchAgent): launchctl kickstart -k gui/$UID/bot.molt.gateway (используйте bot.molt.<profile>; устаревший com.openclaw.* всё ещё работает)
  • Linux пользовательский сервис systemd: systemctl --user restart openclaw-gateway[-<profile>].service
  • Windows (WSL2): systemctl --user restart openclaw-gateway[-<profile>].service
    • launchctl/systemctl работают только если сервис установлен; в противном случае запустите openclaw gateway install.

Runbook + точные метки сервиса: Gateway runbook

Откат / закрепление (когда что-то ломается)

Закрепление (глобальная установка)

Установите известную рабочую версию (замените <version> на последнюю рабочую):

npm i -g openclaw@<version>
pnpm add -g openclaw@<version>

Совет: чтобы увидеть текущую опубликованную версию, запустите npm view openclaw version.

Затем перезапустите + повторно запустите doctor:

openclaw doctor
openclaw gateway restart

Закрепление (исходники) по дате

Выберите коммит из даты (пример: "состояние main на 2026-01-01"):

git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"

Затем переустановите зависимости + перезапустите:

pnpm install
pnpm build
openclaw gateway restart

Если вы хотите вернуться к последней версии позже:

git checkout main
git pull

Если вы застряли