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

Documentation Index

Fetch the complete documentation index at: https://docs2.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: попередньо переглянути заплановані дії оновлення (канал/тег/ціль/потік перезапуску) без запису конфігурації, встановлення, синхронізації плагінів або перезапуску.
  • --json: вивести машиночитний JSON UpdateRunResult, зокрема 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.
У режимі Nix (OPENCLAW_NIX_MODE=1) змінювальні запуски openclaw update вимкнено. Натомість оновіть джерело Nix або вхід flake для цього встановлення; для 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 → надає перевагу dist-tag npm beta, але повертається до 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: checkout main, потім fetch і rebase.

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

1

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

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

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

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

Отримати upstream

Лише dev.
4

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

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

Rebase

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

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

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

Зібрати інтерфейс керування

Збирає gateway та інтерфейс керування.
8

Запустити doctor

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

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

Синхронізує плагіни з активним каналом. Dev використовує bundled плагіни; stable і beta використовують npm. Оновлює відстежувані встановлення плагінів.
На beta-каналі оновлення відстежувані встановлення плагінів npm і ClawHub, які дотримуються лінії default/latest, спершу пробують реліз плагіна @beta. Якщо плагін не має beta-релізу, OpenClaw повертається до записаної специфікації default/latest і повідомляє це як попередження. Для npm-плагінів OpenClaw також повертається назад, коли beta пакет існує, але не проходить перевірку встановлення. Ці попередження fallback для плагінів не призводять до збою оновлення ядра. Точні версії та явні теги не перезаписуються.
Якщо оновлення точно зафіксованого npm-плагіна resolve-иться в артефакт, чия integrity відрізняється від збереженого запису встановлення, openclaw update перериває оновлення цього артефакту плагіна замість його встановлення. Перевстановіть або оновіть плагін явно лише після перевірки, що ви довіряєте новому артефакту.
Післяоновлювальні збої синхронізації плагінів, обмежені керованим плагіном і які шлях синхронізації може обійти (наприклад, недоступний npm registry для несуттєвого плагіна), повідомляються як попередження після успішного оновлення ядра. JSON-результат зберігає верхньорівневий update status: "ok" і повідомляє postUpdate.plugins.status: "warning" із рекомендаціями openclaw doctor --fix і openclaw plugins inspect <id> --runtime --json. Неочікувані винятки updater-а або синхронізації все одно призводять до збою результату оновлення. Виправте встановлення плагіна або помилку оновлення, потім повторно запустіть openclaw doctor --fix або openclaw update.Після кроку синхронізації для кожного плагіна openclaw update запускає обовʼязковий прохід післяядерної конвергенції перед перезапуском gateway: він відновлює відсутні налаштовані payload-и плагінів, перевіряє кожен активний відстежуваний запис встановлення на диску та статично перевіряє, що його package.json можна розпарсити (і що будь-який явно оголошений main існує). Збої цього проходу — і недійсний знімок конфігурації OpenClaw — повертають postUpdate.plugins.status: "error" і змінюють верхньорівневий update status на "error", тому openclaw update завершується з ненульовим кодом, а gateway не перезапускається з неперевіреним набором плагінів. Помилка містить структуровані рядки postUpdate.plugins.warnings[].guidance, що вказують на openclaw doctor --fix і openclaw plugins inspect <id> --runtime --json для подальших дій. Вимкнені записи плагінів і записи, що не є trust-source-linked офіційними цілями синхронізації, тут пропускаються, віддзеркалюючи політику skipDisabledPlugins, яку використовує перевірка missing-payload, тому застарілий вимкнений запис плагіна не може заблокувати інакше дійсне оновлення.Коли оновлений Gateway запускається, завантаження плагінів відбувається лише в режимі перевірки: startup не запускає менеджери пакетів і не змінює дерева залежностей. Перезапуски update.run через менеджер пакетів обходять звичайне відкладення простою та cooldown перезапуску після заміни дерева пакета, тому старий процес не може продовжувати lazy-loading видалених фрагментів.Якщо bootstrap pnpm усе ще не вдається, updater зупиняється рано з помилкою, специфічною для менеджера пакетів, замість спроби npm run build усередині checkout.

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

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

Повʼязане