openclaw update

Безопасное обновление OpenClaw и переключение между каналами stable/beta/dev.

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

Использование

openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --no-restart
openclaw update --json
openclaw --update

Опции

  • --no-restart: пропустить перезапуск службы шлюза после успешного обновления.
  • --channel <stable|beta|dev>: установить канал обновлений (git + npm; сохраняется в конфигурации).
  • --tag <dist-tag|version>: переопределить npm dist-tag или версию только для этого обновления.
  • --json: вывести машиночитаемый JSON UpdateRunResult.
  • --timeout <seconds>: тайм-аут для каждого шага (по умолчанию 1200s).

Примечание: понижение версии требует подтверждения, так как старые версии могут нарушить конфигурацию.

update status

Показать активный канал обновлений + git tag/branch/SHA (для checkout исходников), а также доступность обновлений.

openclaw update status
openclaw update status --json
openclaw update status --timeout 10

Опции:

  • --json: вывести машиночитаемый JSON статуса.
  • --timeout <seconds>: тайм-аут для проверок (по умолчанию 3s).

update wizard

Интерактивный процесс выбора канала обновлений и подтверждения перезапуска шлюза после обновления (по умолчанию — перезапуск). Если вы выбираете dev без git checkout, он предлагает создать его.

Что он делает

Когда вы явно переключаете каналы (--channel ...), OpenClaw также поддерживает согласованность метода установки:

  • dev → обеспечивает git checkout (по умолчанию: ~/openclaw, переопределить через OPENCLAW_GIT_DIR), обновляет его и устанавливает глобальный CLI из этого checkout.
  • stable/beta → устанавливает из npm, используя соответствующий dist-tag.

Процесс git checkout

Каналы:

  • stable: checkout последнего не-beta тега, затем build + doctor.
  • beta: checkout последнего -beta тега, затем build + doctor.
  • dev: checkout main, затем fetch + rebase.

Общий процесс:

  1. Требует чистого рабочего дерева (нет незафиксированных изменений).
  2. Переключается на выбранный канал (тег или ветку).
  3. Получает upstream (только dev).
  4. Только dev: предварительная проверка lint + сборка TypeScript во временном рабочем дереве; если вершина не работает, проходит назад до 10 коммитов, чтобы найти новейшую чистую сборку.
  5. Выполняет rebase на выбранный коммит (только dev).
  6. Устанавливает зависимости (предпочтение pnpm; fallback на npm).
  7. Собирает + собирает Control UI.
  8. Запускает openclaw doctor как финальную проверку "безопасного обновления".
  9. Синхронизирует плагины с активным каналом (dev использует встроенные расширения; stable/beta использует npm) и обновляет установленные через npm плагины.

Сокращение --update

openclaw --update переписывается в openclaw update (полезно для оболочек и скриптов запуска).

Смотрите также