CLI commands
Оновити
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: попередньо переглянути заплановані дії оновлення (канал/тег/ціль/процес перезапуску) без запису конфігурації, встановлення, синхронізації plugins або перезапуску.--json: вивести машинозчитуваний JSONUpdateRunResult, зокремаpostUpdate.plugins.warnings, коли пошкоджені або непридатні до завантаження керовані plugins потребують відновлення після успішного оновлення ядра, іpostUpdate.plugins.integrityDrifts, коли під час післяоновлювальної синхронізації plugin виявлено розбіжність артефакта npm plugin.--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
Показати активний канал оновлення + git-тег/гілку/SHA (для 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-tagbeta, але повертається доlatest, коли beta відсутній або старіший за поточний стабільний реліз.
OpenClaw ще не має LTS або місячного каналу підтримки. Ми працюємо
над місячними лініями підтримки, але --channel наразі приймає лише
stable, beta і dev. Використовуйте --tag <version-or-dist-tag> для одноразової
цілі, коли вам потрібен конкретний артефакт пакета.
Автооновлювач ядра Gateway (коли ввімкнений через конфігурацію) запускає шлях оновлення CLI
поза живим обробником запитів Gateway. Оновлення через менеджер пакетів control-plane update.run
примусово виконують невідкладний перезапуск оновлення без cooldown після заміни пакета,
оскільки старий процес Gateway може ще мати в пам’яті фрагменти, що вказують на
файли, видалені новим пакетом.
Для встановлень через менеджер пакетів openclaw update визначає цільову версію пакета
перед викликом менеджера пакетів. Глобальні встановлення npm використовують staged
install: OpenClaw встановлює новий пакет у тимчасовий npm prefix, перевіряє
упакований інвентар dist там, а потім замінює цим чистим деревом пакета
реальний глобальний prefix. Якщо перевірка не вдається, післяоновлювальні doctor, синхронізація plugin і
перезапуск не запускаються з підозрілого дерева. Навіть коли встановлена версія
вже збігається з цільовою, команда оновлює глобальне встановлення пакета,
потім запускає синхронізацію plugin, оновлення завершень команд ядра та перезапуск. Це
підтримує упаковані sidecars і записи plugin, що належать каналу, узгодженими з
встановленою збіркою OpenClaw, залишаючи повні перебудови завершень команд plugin для
явних запусків 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 тега, потім build і doctor.beta: віддати перевагу останньому тегу-beta, але повернутися до останнього stable тега, коли beta відсутній або старіший.dev: виконати checkoutmain, потім fetch і rebase.
Кроки оновлення
Перевірити чисте робоче дерево
Потребує відсутності незакомічених змін.
Перемкнути канал
Перемикає на вибраний канал (тег або гілку).
Отримати upstream
Лише для dev.
Попередній build (лише dev)
Запускає TypeScript build у тимчасовому робочому дереві. Якщо tip не проходить, відступає до 10 комітів назад, щоб знайти найновіший коміт, який можна зібрати. Встановіть OPENCLAW_UPDATE_PREFLIGHT_LINT=1, щоб також запустити lint під час цієї попередньої перевірки; lint запускається в обмеженому послідовному режимі, оскільки хости користувацьких оновлень часто менші за CI runners.
Rebase
Виконує rebase на вибраний коміт (лише dev).
Встановити залежності
Використовує менеджер пакетів репозиторію. Для pnpm checkout оновлювач bootstrap-ить pnpm за потреби (спочатку через corepack, потім тимчасовий fallback npm install pnpm@10) замість запуску npm run build у pnpm workspace.
Зібрати Control UI
Збирає gateway і Control UI.
Запустити doctor
openclaw doctor запускається як фінальна перевірка безпечного оновлення.
Синхронізувати plugins
Синхронізує plugins з активним каналом. Dev використовує bundled plugins; stable і beta використовують npm. Оновлює відстежувані встановлення plugin.
На каналі оновлення beta відстежувані встановлення npm і ClawHub plugin, що дотримуються
лінії default/latest, спершу пробують реліз plugin @beta. Якщо plugin не має
beta-релізу, OpenClaw повертається до записаної специфікації default/latest. Для npm
plugins OpenClaw також повертається назад, коли beta-пакет існує, але не проходить install
validation. Точні версії та явні теги не переписуються.
Скорочення --update
openclaw --update переписується в openclaw update (корисно для оболонок і скриптів запуску).
Пов’язане
openclaw doctor(пропонує спершу запустити update для git checkout)- Канали розробки
- Оновлення
- Довідник CLI