CLI commands
Оновити
openclaw update
Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev.
Якщо ви встановили через npm/pnpm/bun (глобальне встановлення, без метаданих git), оновлення відбуваються через потік менеджера пакетів у Оновлення.
Використання
openclaw updateopenclaw update statusopenclaw update repairopenclaw update wizardopenclaw update --channel betaopenclaw update --channel devopenclaw update --tag betaopenclaw update --tag mainopenclaw update --dry-runopenclaw update --no-restartopenclaw update --yesopenclaw update --acknowledge-clawhub-riskopenclaw update --jsonopenclaw --updateПараметри
--no-restart: пропустити перезапуск служби Gateway після успішного оновлення. Оновлення через менеджер пакетів, які перезапускають Gateway, перевіряють, що перезапущена служба повідомляє очікувану оновлену версію, перш ніж команда завершиться успішно.--channel <stable|beta|dev>: установити канал оновлень (git + npm; зберігається в конфігурації).--tag <dist-tag|version|spec>: перевизначити ціль пакета лише для цього оновлення. Для встановлень пакетаmainзіставляється зgithub:openclaw/openclaw#main; специфікації джерел GitHub/git пакуються в тимчасовий tarball перед поетапним глобальним встановленням npm.--dry-run: попередньо переглянути заплановані дії оновлення (потік channel/tag/target/restart) без запису конфігурації, встановлення, синхронізації plugins або перезапуску.--json: вивести машиночитний JSONUpdateRunResult, зокремаpostUpdate.plugins.warnings, коли пошкоджені або незавантажувані керовані plugins потребують відновлення після успішного оновлення ядра, деталі fallback для plugins beta-каналу, коли plugin не має beta-випуску, іpostUpdate.plugins.integrityDrifts, коли під час синхронізації plugins після оновлення виявлено drift артефактів npm plugin.--timeout <seconds>: тайм-аут для кожного кроку (за замовчуванням 1800 с).--yes: пропустити запити підтвердження (наприклад, підтвердження downgrade).--acknowledge-clawhub-risk: після перегляду попереджень довіри до спільноти ClawHub дозволити синхронізації plugins після оновлення продовжитися без інтерактивного запиту. Без цього ризиковані випуски plugins спільноти ClawHub пропускаються і лишаються без змін, коли OpenClaw не може показати запит. Офіційні пакети ClawHub і bundled джерела OpenClaw plugin обходять цей запит довіри до випуску.
openclaw update не має прапорця --verbose. Використовуйте --dry-run, щоб попередньо переглянути
заплановані дії channel/tag/install/restart, --json для машиночитних
результатів і openclaw update status --json, коли вам потрібні лише канал і
відомості про доступність. Якщо ви налагоджуєте журнали Gateway навколо оновлення,
детальність консолі й рівень файлового журналу розділені: Gateway --verbose впливає на
вивід термінала/WebSocket, а для файлових журналів потрібен logging.level: "debug" або
"trace" у конфігурації. Див. журналювання Gateway.
update status
Показати активний канал оновлень + git tag/branch/SHA (для source checkouts), а також доступність оновлень.
openclaw update statusopenclaw update status --jsonopenclaw update status --timeout 10Параметри:
--json: вивести машиночитний JSON стану.--timeout <seconds>: тайм-аут для перевірок (за замовчуванням 3 с).
update repair
Повторно запустити фіналізацію оновлення після того, як основний пакет уже змінився, але подальша
робота з відновлення не завершилася чисто. Це підтримуваний шлях відновлення, коли
openclaw update встановив новий основний пакет, але post-core синхронізація plugins,
метадані керованих npm plugins, оновлення registry або doctor repair ще мають
зійтися.
openclaw update repairopenclaw update repair --channel betaopenclaw update repair --acknowledge-clawhub-riskopenclaw update repair --jsonПараметри:
--channel <stable|beta|dev>: зберегти канал оновлень перед repair і виконати зближення plugins для цього каналу.--json: вивести машиночитний JSON фіналізації.--timeout <seconds>: тайм-аут для кроків repair (за замовчуванням1800).--yes: пропустити запити підтвердження.--acknowledge-clawhub-risk: після перегляду попереджень довіри до спільноти ClawHub дозволити зближенню plugins під час repair продовжитися без інтерактивного запиту. Офіційні пакети ClawHub і bundled джерела OpenClaw plugin обходять цей запит довіри до випуску.--no-restart: приймається для паритету з командою update; repair ніколи не перезапускає Gateway.
openclaw update repair запускає openclaw doctor --fix, перезавантажує відновлені
конфігурацію й записи встановлення, синхронізує відстежувані plugins для активного каналу оновлень,
оновлює встановлення керованих npm plugins, відновлює відсутні налаштовані payloads plugins,
оновлює registry plugins і записує зближені метадані install-record.
Він не встановлює новий основний пакет і не перезапускає Gateway.
update wizard
Інтерактивний потік для вибору каналу оновлень і підтвердження, чи перезапускати Gateway
після оновлення (за замовчуванням перезапускати). Якщо вибрати dev без git checkout, він
запропонує створити його.
Параметри:
--timeout <seconds>: тайм-аут для кожного кроку оновлення (за замовчуванням1800)
Що це робить
Коли ви явно перемикаєте канали (--channel ...), OpenClaw також підтримує
відповідність методу встановлення:
dev→ забезпечує git checkout (за замовчуванням:~/openclaw, або$OPENCLAW_HOME/openclaw, колиOPENCLAW_HOMEзадано; перевизначте черезOPENCLAW_GIT_DIR), оновлює його та встановлює глобальний CLI з цього checkout.stable→ встановлює з npm за допомогоюlatest.beta→ надає перевагу npm dist-tagbeta, але fallback доlatest, коли beta відсутня або старіша за поточний stable-випуск.
Core auto-updater Gateway (коли ввімкнений через конфігурацію) запускає шлях оновлення CLI
поза живим обробником запитів Gateway. Control-plane update.run
оновлення через менеджер пакетів і supervised git-checkout оновлення також використовують
handoff керованої служби замість заміни дерева пакета або перебудови
dist/ всередині живого процесу Gateway. Gateway запускає від'єднаний helper,
завершується, а helper виконує звичайний шлях CLI openclaw update --yes --json
поза деревом процесів Gateway. Якщо цей handoff недоступний,
update.run повертає структуровану відповідь із безпечною shell-командою для ручного запуску.
Для встановлень через менеджер пакетів openclaw update визначає цільову версію пакета
перед викликом менеджера пакетів. Глобальні встановлення npm використовують staged
install: OpenClaw встановлює новий пакет у тимчасовий npm prefix, перевіряє
там упакований inventory dist, а потім міняє це чисте дерево пакета на
справжній глобальний prefix. Якщо перевірка не проходить, post-update doctor, синхронізація plugins і
робота перезапуску не виконуються з підозрілого дерева. Навіть коли встановлена версія
вже збігається з ціллю, команда оновлює глобальне встановлення пакета,
потім запускає синхронізацію plugins, оновлення завершень core-command і роботу перезапуску. Це
утримує packaged sidecars і записи plugins, якими володіє канал, узгодженими з
встановленою збіркою OpenClaw, залишаючи повні перебудови завершень plugin-command для
явних запусків openclaw completion --write-state.
Коли встановлена локальна керована служба Gateway і перезапуск увімкнений,
оновлення через менеджер пакетів і git-checkout зупиняють запущену службу перед
заміною дерева пакета або зміною checkout/build output. Потім updater
оновлює метадані служби з оновленого встановлення, перезапускає
службу та перевіряє перезапущений Gateway перед повідомленням
Gateway: restarted and verified.. Оновлення через менеджер пакетів додатково перевіряють,
що перезапущений Gateway повідомляє очікувану версію пакета; git-checkout оновлення
перевіряють health Gateway і готовність служби після rebuild. На macOS
post-update перевірка також перевіряє, що LaunchAgent завантажений/запущений для активного
профілю і налаштований порт loopback здоровий. Якщо plist встановлений,
але launchd його не супервізує, OpenClaw автоматично re-bootstraps LaunchAgent,
а потім повторно запускає перевірки health/version/channel readiness. Свіжий
bootstrap завантажує job RunAtLoad напряму, тому recovery оновлення не
виконує негайно kickstart -k для щойно запущеного Gateway. Якщо Gateway все ще не
стає healthy, команда завершується з ненульовим кодом і друкує шлях до журналу перезапуску
разом із явними інструкціями щодо перезапуску, перевстановлення і package rollback. Якщо перезапуск
не може виконатися, команда друкує Gateway: restart skipped (...) або
Gateway: restart failed: ... із підказкою ручного openclaw gateway restart.
З --no-restart заміна пакета або git rebuild усе одно виконується, але
керована служба не зупиняється і не перезапускається, тому запущений Gateway може зберігати старий
код, доки ви не перезапустите його вручну.
Форма відповіді control-plane
Коли update.run викликається через control plane Gateway на
встановленні через менеджер пакетів або supervised git checkout, handler повідомляє про
ініціацію handoff окремо від оновлення CLI, яке продовжується після виходу
Gateway:
ok: true,result.status: "skipped",result.reason: "managed-service-handoff-started"іhandoff.status: "started"означають, що Gateway створив handoff керованої служби і запланував власний перезапуск, щоб від'єднаний helper міг виконатиopenclaw update --yes --jsonпоза живим процесом служби.ok: false,result.reason: "managed-service-handoff-unavailable"іhandoff.status: "unavailable"означають, що OpenClaw не зміг знайти boundary супервізованої служби і durable service identity для безпечного handoff. Наприклад, handoff systemd потребує identity unit OpenClaw (OPENCLAW_SYSTEMD_UNIT), а не лише ambient markers процесу systemd. Відповідь міститьhandoff.command, shell-команду для запуску поза Gateway.ok: false,result.reason: "managed-service-handoff-failed"означає, що Gateway спробував створити handoff, але не зміг породити від'єднаний helper.
Payload sentinel усе ще записується перед виходом Gateway, а CLI
handoff оновлює той самий restart sentinel після завершення health checks
перезапуску керованої служби. Під час handoff sentinel може містити
stats.reason: "restart-health-pending" без success continuation; перезапущений
Gateway продовжує опитувати його і запускає continuation лише після того, як CLI
перевірив health служби і переписав sentinel з фінальним результатом ok.
openclaw status і openclaw status --all показують рядок Update restart,
поки цей sentinel очікує або failed, а update.status оновлює і
повертає останній sentinel.
Потік Git checkout
Вибір каналу
stable: checkout останнього non-beta tag, потім build і doctor.beta: надавати перевагу останньому tag-beta, але fallback до останнього stable tag, коли beta відсутня або старіша.dev: checkoutmain, потім fetch і rebase.
Кроки оновлення
Перевірте чистий робочий каталог
Потребує відсутності незафіксованих змін.
Перемкніть канал
Перемикає на вибраний канал (тег або гілку).
Отримайте upstream
Лише для dev.
Передпольотна збірка (лише dev)
Запускає збірку TypeScript у тимчасовому робочому каталозі. Якщо tip не проходить, повертається назад до 10 комітів, щоб знайти найновіший коміт, який збирається. Установіть OPENCLAW_UPDATE_PREFLIGHT_LINT=1, щоб також запустити lint під час цієї передпольотної перевірки; lint запускається в обмеженому послідовному режимі, бо хости оновлення користувачів часто менші за CI runners.
Виконайте rebase
Виконує rebase на вибраний коміт (лише dev).
Установіть залежності
Використовує пакетний менеджер репозиторію. Для checkout-ів pnpm засіб оновлення ініціалізує pnpm за потреби (спочатку через corepack, потім через тимчасовий fallback npm install pnpm@11) замість запуску npm run build всередині workspace pnpm.
Зберіть Control UI
Збирає gateway і Control UI.
Запустіть doctor
openclaw doctor запускається як фінальна перевірка безпечного оновлення.
Синхронізуйте Plugin-и
Синхронізує Plugin-и з активним каналом. Dev використовує bundled Plugin-и; stable і beta використовують npm. Оновлює відстежувані встановлення Plugin-ів.
На каналі оновлень beta відстежувані встановлення npm і ClawHub Plugin-ів, які дотримуються
лінії default/latest, спочатку пробують реліз Plugin-а @beta. Якщо Plugin не має
beta-релізу, OpenClaw повертається до записаної специфікації default/latest і повідомляє
про це як попередження. Для npm Plugin-ів OpenClaw також повертається до fallback, коли beta
package існує, але не проходить перевірку встановлення. Ці попередження fallback для Plugin-ів
не спричиняють збій основного оновлення. Точні версії та явні теги не
переписуються.
Скорочення --update
openclaw --update переписується на openclaw update (корисно для shell-ів і launcher scripts).
Пов’язане
openclaw doctor(пропонує спочатку запустити оновлення в git checkout-ах)- Канали розробки
- Оновлення
- Довідник CLI