CLI commands
Оновити
openclaw update
Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev.
Якщо ви встановили через npm/pnpm/bun (глобальне встановлення без метаданих git), оновлення відбуваються через потік менеджера пакетів, описаний у Оновлення.
Використання
openclaw updateopenclaw update statusopenclaw update wizardopenclaw update --channel betaopenclaw update --channel devopenclaw update --tag betaopenclaw update --tag mainopenclaw update --dry-runopenclaw update --no-restartopenclaw update --yesopenclaw update --jsonopenclaw --updateПараметри
--no-restart: пропустити перезапуск служби Gateway після успішного оновлення. Оновлення через менеджер пакетів, які перезапускають Gateway, перевіряють, що перезапущена служба повідомляє очікувану оновлену версію, перш ніж команда завершиться успішно.--channel <stable|beta|dev>: установити канал оновлень (git + npm; зберігається в конфігурації).--tag <dist-tag|version|spec>: перевизначити ціль пакета лише для цього оновлення. Для пакетних встановленьmainзіставляється зgithub:openclaw/openclaw#main.--dry-run: попередньо переглянути заплановані дії оновлення (канал/тег/ціль/потік перезапуску) без запису конфігурації, встановлення, синхронізації плагінів або перезапуску.--json: вивести машиночитний JSONUpdateRunResult, зокремаpostUpdate.plugins.warnings, коли пошкоджені або незавантажувані керовані плагіни потребують відновлення після успішного оновлення ядра, подробиці fallback для плагінів beta-каналу, коли плагін не має beta-релізу, іpostUpdate.plugins.integrityDrifts, коли під час післяоновлювальної синхронізації плагінів виявлено розбіжність артефакту npm-плагіна.--timeout <seconds>: час очікування для кожного кроку (типово 1800 с).--yes: пропустити запити підтвердження (наприклад, підтвердження пониження версії).
openclaw update не має прапорця --verbose. Використовуйте --dry-run, щоб попередньо переглянути
заплановані дії канал/тег/встановлення/перезапуск, --json для машиночитних
результатів і openclaw update status --json, коли потрібні лише відомості про канал і
доступність. Якщо ви налагоджуєте журнали Gateway навколо оновлення,
детальність консолі та рівень файлового журналювання є окремими: Gateway --verbose впливає
на вивід у термінал/WebSocket, тоді як файлові журнали потребують logging.level: "debug" або
"trace" у конфігурації. Див. Журналювання Gateway.
update status
Показати активний канал оновлень + тег/гілку/SHA git (для checkout-ів із вихідного коду), а також доступність оновлень.
openclaw update statusopenclaw update status --jsonopenclaw 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→ надає перевагу dist-tag npmbeta, але повертається доlatest, коли beta відсутня або старіша за поточний stable-реліз.
Автооновлювач ядра Gateway (коли ввімкнений через конфігурацію) запускає шлях оновлення CLI
поза живим обробником запитів Gateway. Оновлення через менеджер пакетів update.run у control plane
примусово виконують невідкладений перезапуск оновлення без cooldown після заміни пакета,
оскільки старий процес Gateway усе ще може мати в памʼяті фрагменти, що вказують на
файли, видалені новим пакетом.
Для встановлень через менеджер пакетів openclaw update визначає цільову версію
пакета перед викликом менеджера пакетів. Глобальні встановлення npm використовують поетапне
встановлення: OpenClaw встановлює новий пакет у тимчасовий префікс npm, перевіряє
там упакований інвентар dist, а потім замінює цим чистим деревом пакета
реальний глобальний префікс. Якщо перевірка не вдається, післяоновлювальний doctor, синхронізація плагінів і
перезапуск не виконуються з підозрілого дерева. Навіть коли встановлена версія
вже відповідає цілі, команда оновлює глобальне встановлення пакета,
потім виконує синхронізацію плагінів, оновлення завершення команд ядра та перезапуск. Це
підтримує узгодженість упакованих sidecar-компонентів і записів плагінів, що належать каналам, із
встановленою збіркою OpenClaw, залишаючи повні перебудови завершення команд плагінів для
явних запусків openclaw completion --write-state.
Коли встановлено локальну керовану службу Gateway і перезапуск увімкнено,
оновлення через менеджер пакетів зупиняють запущену службу перед заміною дерева
пакета, потім оновлюють метадані служби з оновленого встановлення, перезапускають
службу та перевіряють, що перезапущений Gateway повідомляє очікувану версію, перш ніж
повідомити про успіх. На macOS післяоновлювальна перевірка також перевіряє, що LaunchAgent
завантажений/працює для активного профілю, а налаштований порт local loopback
справний. Якщо plist встановлено, але launchd не наглядає за ним, OpenClaw
автоматично повторно bootstraps LaunchAgent, а потім повторно запускає
перевірки готовності health/version/channel. Свіжий bootstrap завантажує завдання RunAtLoad
безпосередньо, тому відновлення після оновлення не виконує негайно kickstart -k для щойно
запущеного Gateway. Якщо Gateway усе ще не стає справним, команда завершується
з ненульовим кодом і друкує шлях до журналу перезапуску, а також явні інструкції з перезапуску, перевстановлення та
відкату пакета. З --no-restart
заміна пакета все одно виконується, але керована служба не зупиняється і не
перезапускається, тому запущений Gateway може зберігати старий код, доки ви не перезапустите його
вручну.
Потік git checkout
Вибір каналу
stable: checkout останнього non-beta тегу, потім build і doctor.beta: надавати перевагу останньому тегу-beta, але повертатися до останнього stable тегу, коли beta відсутня або старіша.dev: checkoutmain, потім fetch і rebase.
Кроки оновлення
Перевірити чистий worktree
Потребує відсутності незакомічених змін.
Перемкнути канал
Перемикає на вибраний канал (тег або гілку).
Отримати upstream
Лише dev.
Передполітна збірка (лише dev)
Запускає збірку TypeScript у тимчасовому worktree. Якщо tip не проходить, повертається назад до 10 комітів, щоб знайти найновіший коміт, який збирається. Установіть OPENCLAW_UPDATE_PREFLIGHT_LINT=1, щоб також запускати lint під час цієї передполітної перевірки; lint запускається в обмеженому послідовному режимі, оскільки хости користувацьких оновлень часто менші за CI runner-и.
Rebase
Виконує rebase на вибраний коміт (лише dev).
Встановити залежності
Використовує менеджер пакетів репозиторію. Для pnpm checkout-ів updater bootstraps pnpm на вимогу (спочатку через corepack, потім fallback із тимчасовим npm install pnpm@11) замість запуску npm run build у pnpm workspace.
Зібрати інтерфейс керування
Збирає gateway та інтерфейс керування.
Запустити doctor
openclaw doctor запускається як фінальна перевірка безпечного оновлення.
Синхронізувати плагіни
Синхронізує плагіни з активним каналом. Dev використовує bundled плагіни; stable і beta використовують npm. Оновлює відстежувані встановлення плагінів.
На beta-каналі оновлення відстежувані встановлення плагінів npm і ClawHub, які дотримуються
лінії default/latest, спершу пробують реліз плагіна @beta. Якщо плагін не має
beta-релізу, OpenClaw повертається до записаної специфікації default/latest і повідомляє
це як попередження. Для npm-плагінів OpenClaw також повертається назад, коли beta
пакет існує, але не проходить перевірку встановлення. Ці попередження fallback для плагінів
не призводять до збою оновлення ядра. Точні версії та явні теги не
перезаписуються.
Скорочення --update
openclaw --update переписується на openclaw update (корисно для оболонок і launcher-скриптів).
Повʼязане
openclaw doctor(пропонує спершу запустити update для git checkout-ів)- Канали розробки
- Оновлення
- Довідник CLI