Перейти до основного вмісту

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

openclaw update

Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev. Якщо ви встановили через npm/pnpm/bun (глобальне встановлення, без метаданих git), оновлення виконуються через потік менеджера пакетів, описаний у Оновлення.

Використання

openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --tag main
openclaw update --dry-run
openclaw update --no-restart
openclaw update --yes
openclaw update --json
openclaw --update

Параметри

  • --no-restart: пропустити перезапуск служби Gateway після успішного оновлення. Оновлення через менеджер пакетів, які перезапускають Gateway, перевіряють, що перезапущена служба повідомляє очікувану оновлену версію, перш ніж команда завершиться успішно.
  • --channel <stable|beta|dev>: установити канал оновлень (git + npm; зберігається в конфігурації).
  • --tag <dist-tag|version|spec>: перевизначити цільовий пакет лише для цього оновлення. Для встановлень пакетів main зіставляється з github:openclaw/openclaw#main.
  • --dry-run: попередньо переглянути заплановані дії оновлення (потік channel/tag/target/restart) без запису конфігурації, встановлення, синхронізації плагінів або перезапуску.
  • --json: вивести машинозчитуваний JSON UpdateRunResult, включно з postUpdate.plugins.warnings, коли пошкоджені або непридатні до завантаження керовані плагіни потребують відновлення після успішного оновлення ядра, і postUpdate.plugins.integrityDrifts, коли під час післяоновлювальної синхронізації плагінів виявлено розбіжність артефактів npm-плагінів.
  • --timeout <seconds>: тайм-аут для кожного кроку (за замовчуванням 1800 с).
  • --yes: пропустити запити підтвердження (наприклад, підтвердження пониження версії).
openclaw update не має прапорця --verbose. Використовуйте --dry-run, щоб попередньо переглянути заплановані дії channel/tag/install/restart, --json для машинозчитуваних результатів і openclaw update status --json, коли вам потрібні лише відомості про канал і доступність. Якщо ви налагоджуєте журнали Gateway під час оновлення, докладність консолі та рівень файлового журналювання є окремими: Gateway --verbose впливає на вивід у термінал/WebSocket, тоді як файлові журнали потребують logging.level: "debug" або "trace" у конфігурації. Див. Журналювання Gateway.
У режимі Nix (OPENCLAW_NIX_MODE=1) змінні запуски openclaw update вимкнені. Натомість оновіть джерело Nix або flake input для цього встановлення; для nix-openclaw використовуйте agent-first Швидкий старт. openclaw update status і openclaw update --dry-run залишаються лише для читання.
Пониження версії потребує підтвердження, оскільки старіші версії можуть пошкодити конфігурацію.

update status

Показати активний канал оновлень + тег/гілку/SHA git (для вихідних checkout), а також доступність оновлення.
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
Параметри:
  • --json: вивести машинозчитуваний JSON стану.
  • --timeout <seconds>: тайм-аут для перевірок (за замовчуванням 3 с).

update wizard

Інтерактивний потік для вибору каналу оновлень і підтвердження, чи перезапускати Gateway після оновлення (за замовчуванням перезапуск виконується). Якщо вибрати dev без git checkout, він запропонує створити його. Параметри:
  • --timeout <seconds>: тайм-аут для кожного кроку оновлення (за замовчуванням 1800)

Що він робить

Коли ви явно перемикаєте канали (--channel ...), OpenClaw також підтримує узгодженість методу встановлення:
  • dev → забезпечує git checkout (за замовчуванням: ~/openclaw, перевизначається через OPENCLAW_GIT_DIR), оновлює його та встановлює глобальний CLI з цього checkout.
  • stable → встановлює з npm за допомогою latest.
  • beta → надає перевагу npm dist-tag beta, але повертається до latest, коли beta відсутня або старіша за поточний стабільний випуск.
Автооновлювач ядра Gateway (коли ввімкнений через конфігурацію) запускає шлях оновлення CLI поза активним обробником запитів Gateway. Оновлення через менеджер пакетів control-plane update.run примусово виконують невідкладний перезапуск оновлення без cooldown після заміни пакета, оскільки старий процес Gateway може все ще мати в пам’яті фрагменти, що вказують на файли, видалені новим пакетом. Для встановлень через менеджер пакетів openclaw update визначає цільову версію пакета перед викликом менеджера пакетів. Глобальні встановлення npm використовують staged install: OpenClaw встановлює новий пакет у тимчасовий npm prefix, перевіряє упакований інвентар dist там, а потім замінює цим чистим деревом пакета справжній глобальний prefix. Якщо перевірка не вдається, післяоновлювальні doctor, синхронізація плагінів і перезапуск не запускаються з підозрілого дерева. Навіть коли встановлена версія вже збігається з цільовою, команда оновлює глобальне встановлення пакета, потім запускає синхронізацію плагінів, оновлення завершень команд ядра та перезапуск. Це підтримує узгодженість упакованих sidecar-компонентів і записів плагінів, керованих каналом, із встановленою збіркою OpenClaw, залишаючи повні перебудови завершень команд плагінів для явних запусків openclaw completion --write-state. Коли встановлено локальну керовану службу Gateway і перезапуск увімкнено, оновлення через менеджер пакетів зупиняють запущену службу перед заміною дерева пакета, потім оновлюють метадані служби з оновленого встановлення, перезапускають службу та перевіряють, що перезапущений Gateway повідомляє очікувану версію перед повідомленням про успіх. На macOS післяоновлювальна перевірка також перевіряє, що LaunchAgent завантажений/запущений для активного профілю, а налаштований loopback-порт є справним. Якщо plist встановлено, але launchd не наглядає за ним, OpenClaw автоматично повторно bootstrap-ить LaunchAgent, а потім повторно запускає перевірки готовності health/version/channel. Свіжий bootstrap завантажує завдання RunAtLoad безпосередньо, тому відновлення після оновлення не виконує негайно kickstart -k для щойно запущеного Gateway. Якщо Gateway усе ще не стає справним, команда завершується з ненульовим кодом і виводить шлях до журналу перезапуску, а також явні інструкції з перезапуску, перевстановлення та відкату пакета. З --no-restart заміна пакета все одно виконується, але керована служба не зупиняється й не перезапускається, тому запущений Gateway може зберігати старий код, доки ви не перезапустите його вручну.

Потік git checkout

Вибір каналу

  • stable: checkout останнього не-beta тегу, потім збірка та doctor.
  • beta: надає перевагу останньому тегу -beta, але повертається до останнього стабільного тегу, коли beta відсутня або старіша.
  • dev: checkout main, потім fetch і rebase.

Кроки оновлення

1

Перевірити чистий worktree

Потребує відсутності незафіксованих змін.
2

Перемкнути канал

Перемикає на вибраний канал (тег або гілку).
3

Отримати upstream

Лише dev.
4

Передпольотна збірка (лише dev)

Запускає збірку TypeScript у тимчасовому worktree. Якщо tip не проходить, відступає назад до 10 комітів, щоб знайти найновіший коміт, який збирається. Установіть OPENCLAW_UPDATE_PREFLIGHT_LINT=1, щоб також запускати lint під час цієї передпольотної перевірки; lint запускається в обмеженому послідовному режимі, оскільки хости оновлення користувачів часто менші за CI runners.
5

Rebase

Виконує rebase на вибраний коміт (лише dev).
6

Встановити залежності

Використовує менеджер пакетів репозиторію. Для pnpm checkout оновлювач bootstrap-ить pnpm за потреби (спочатку через corepack, потім через тимчасовий fallback npm install pnpm@10) замість запуску npm run build усередині pnpm workspace.
7

Зібрати Control UI

Збирає gateway і Control UI.
8

Запустити doctor

openclaw doctor запускається як фінальна перевірка безпечного оновлення.
9

Синхронізувати плагіни

Синхронізує плагіни з активним каналом. Dev використовує вбудовані плагіни; stable і beta використовують npm. Оновлює відстежувані встановлення плагінів.
На каналі оновлень beta відстежувані npm- і ClawHub-встановлення плагінів, які йдуть за рядком default/latest, спочатку пробують випуск плагіна @beta. Якщо плагін не має beta-випуску, OpenClaw повертається до записаної специфікації default/latest. Для npm плагінів OpenClaw також повертається назад, коли beta-пакет існує, але не проходить перевірку встановлення. Точні версії та явні теги не переписуються.
Якщо оновлення точно закріпленого npm-плагіна визначає артефакт, цілісність якого відрізняється від збереженого запису встановлення, openclaw update перериває оновлення цього артефакту плагіна замість його встановлення. Перевстановлюйте або оновлюйте плагін явно лише після перевірки, що ви довіряєте новому артефакту.
Збої післяоновлювальної синхронізації плагінів, обмежені керованим плагіном, повідомляються як попередження після успішного оновлення ядра. JSON-результат зберігає верхньорівневий status: "ok" оновлення та повідомляє postUpdate.plugins.status: "warning" з порадами openclaw doctor --fix і openclaw plugins inspect <id> --runtime --json. Неочікувані винятки оновлювача або синхронізації все одно призводять до збою результату оновлення. Виправте встановлення плагіна або помилку оновлення, а потім повторно запустіть openclaw doctor --fix або openclaw update.Коли оновлений Gateway запускається, завантаження плагінів є лише перевіркою: запуск не виконує менеджери пакетів і не змінює дерева залежностей. Перезапуски update.run через менеджер пакетів обходять звичайне idle deferral і restart cooldown після заміни дерева пакета, тому старий процес не може продовжувати lazy-loading видалених фрагментів.Якщо bootstrap pnpm усе ще не вдається, оновлювач зупиняється рано з помилкою, специфічною для менеджера пакетів, замість спроби виконати npm run build усередині checkout.

Скорочення --update

openclaw --update переписується на openclaw update (корисно для shell і скриптів запуску).

Пов’язане