Maintenance

Оновлення

Підтримуйте OpenClaw в актуальному стані.

Щодо заміни образів Docker, Podman і Kubernetes див. Оновлення образів контейнерів. Gateway виконує безпечні для запуску операції оновлення до перевірки готовності та завершує роботу, якщо змонтований стан потребує ручного відновлення.

Рекомендовано: openclaw update

Визначає тип інсталяції (npm або git), отримує останню версію, запускає openclaw doctor і перезапускає Gateway.

bash
openclaw update

Перемикання каналів або вибір конкретної версії:

bash
openclaw update --channel betaopenclaw update --channel extended-stableopenclaw update --channel devopenclaw update --dry-run   # попередній перегляд без застосування

openclaw update не має прапорця --verbose (інсталятор має). Для діагностики використовуйте --dry-run, щоб переглянути заплановані дії, --json для структурованих результатів або openclaw update status --json, щоб перевірити стан каналу й доступності.

--channel beta надає перевагу npm dist-tag beta, але повертається до stable/latest, якщо тег beta відсутній або його версія старіша за останній стабільний випуск. Натомість використовуйте --tag beta для одноразового оновлення пакета, закріпленого безпосередньо за npm dist-tag beta.

--channel extended-stable призначений лише для пакетів, а інсталяція виконується тільки у передньому плані. OpenClaw зчитує загальнодоступний npm-селектор extended-stable, перевіряє точно вибраний пакет та інсталює саме цю версію. За відсутності або неузгодженості даних реєстру операція завершується безпечною відмовою; повернення до latest не відбувається ніколи. Якщо вибрана версія старіша за інстальовану, як і раніше, потрібне звичайне підтвердження пониження версії. CLI зберігає канал після успішного оновлення ядра; безпосередній виклик npm install -g openclaw@extended-stable не оновлює update.channel. Після заміни ядра придатні офіційні npm-плагіни з неявним/типовим наміром або наміром latest переходять на точно таку саму версію, що й ядро. Точні закріплення та явно вказані теги, відмінні від latest, сторонні плагіни й джерела, відмінні від npm, залишаються без змін. Інсталяції з каталогу, створені поточними версіями OpenClaw, зберігають цей типовий намір. Старіші записи, що містять лише точну версію, залишаються закріпленими, оскільки OpenClaw не може безпечно відрізнити старе автоматичне закріплення від користувацького; один раз виконайте openclaw plugins update @openclaw/name у каналі extended-stable, щоб знову долучити цей плагін до відстеження точної версії ядра.

--channel dev надає постійно оновлюване робоче дерево GitHub main. Для одноразового оновлення пакета --tag main зіставляється зі специфікацією пакета github:openclaw/openclaw#main та інсталює його безпосередньо через цільовий менеджер пакетів (npm/pnpm/bun).

Для керованих плагінів відсутність бета-випуску є попередженням, а не помилкою: оновлення ядра все одно може завершитися успішно, тоді як плагін повернеться до записаного типового/останнього випуску.

Семантику каналів див. у розділі Канали випусків.

Перемикання між інсталяціями npm і git

Використовуйте канали, щоб змінити тип інсталяції. Засіб оновлення зберігає стан, конфігурацію, облікові дані та робочий простір у ~/.openclaw; змінюється лише інсталяція коду OpenClaw, яку використовують CLI та Gateway.

bash
# інсталяція пакета npm -> редаговане робоче дерево gitopenclaw update --channel dev # робоче дерево git -> інсталяція пакета npmopenclaw update --channel stable

Спочатку перегляньте перемикання режиму інсталяції:

bash
openclaw update --channel dev --dry-runopenclaw update --channel stable --dry-run

dev забезпечує наявність робочого дерева git, збирає його та інсталює глобальний CLI із цього робочого дерева. Канали stable, extended-stable і beta використовують інсталяції пакетів. Канал extended-stable відхиляється для робочого дерева git без його зміни або перетворення. Якщо Gateway уже інстальовано, openclaw update оновлює метадані служби та перезапускає її, якщо не передано --no-restart.

Для пакетних інсталяцій із керованою службою Gateway команда openclaw update використовує корінь пакета, задіяний цією службою. Якщо команда оболонки openclaw походить з іншої інсталяції, засіб оновлення виводить обидва корені та шлях до Node керованої служби, а також перевіряє відповідність цієї версії Node вимозі engines.node цільового випуску перед заміною пакета.

Альтернатива: повторно запустіть інсталятор

bash
curl -fsSL https://openclaw.ai/install.sh | bash

Додайте --no-onboard, щоб пропустити початкове налаштування. Щоб примусово вибрати певний тип інсталяції, передайте --install-method git --no-onboard або --install-method npm --no-onboard.

Якщо openclaw update завершується помилкою після етапу інсталяції пакета npm, повторно запустіть інсталятор. Він не викликає засіб оновлення, а безпосередньо виконує глобальну інсталяцію пакета й може відновити частково оновлену інсталяцію npm.

bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm

Закріпіть відновлення за конкретною версією або dist-tag за допомогою --version:

bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --version <version-or-dist-tag>

Альтернатива: вручну через npm, pnpm або bun

bash
npm i -g openclaw@latest

Для контрольованих інсталяцій надавайте перевагу openclaw update: ця команда може узгодити заміну пакета з роботою запущеної служби Gateway. Якщо ви оновлюєте контрольовану інсталяцію вручну, спочатку зупиніть керований Gateway. Менеджери пакетів замінюють файли на місці, тому інакше запущений Gateway може спробувати завантажити файли ядра або плагіна під час заміни. Після завершення роботи менеджера пакетів перезапустіть Gateway, щоб він підхопив нову інсталяцію.

Для загальносистемної інсталяції Linux, що належить користувачу root, якщо openclaw update завершується помилкою EACCES, виконайте відновлення за допомогою системного npm, залишивши Gateway зупиненим на час ручної заміни. Використовуйте ті самі прапорці профілю та середовище, які ви зазвичай використовуєте для цього Gateway. Замініть /usr/bin/npm на системний npm, якому належить глобальний префікс root на вашому хості:

bash
openclaw gateway stopsudo /usr/bin/npm i -g openclaw@latestopenclaw gateway install --forceopenclaw gateway restart

Потім перевірте:

bash
openclaw --versioncurl -fsS http://127.0.0.1:18789/readyzopenclaw plugins list --jsonopenclaw gateway status --deep --jsonopenclaw doctor --lint --json

Коли openclaw update керує глобальною інсталяцією npm, команда спочатку інсталює цільову версію до тимчасового префікса npm, перевіряє склад упакованого каталогу dist, а потім підміняє чисте дерево пакета в справжньому глобальному префіксі, уникаючи накладання нового пакета npm на застарілі файли попереднього. Якщо команда інсталяції завершується помилкою, OpenClaw повторює спробу один раз із --omit=optional, що допомагає на хостах, де не вдається скомпілювати нативні необов’язкові залежності.

Керовані OpenClaw команди оновлення npm і плагінів також вимикають карантин ланцюга постачання npm min-release-age (або старіший ключ конфігурації before) для дочірнього процесу npm. Ця політика призначена для загального захисту, але явне оновлення OpenClaw означає «інсталювати вибраний випуск зараз».

bash
pnpm add -g openclaw@latest
bash
bun add -g openclaw@latest

Розширені теми інсталяції npm

Дерево пакета лише для читання

Під час виконання OpenClaw вважає упаковані глобальні інсталяції доступними лише для читання, навіть якщо поточний користувач має право запису до глобального каталогу пакетів. Інсталяції пакетів плагінів зберігаються в коренях npm/git, що належать OpenClaw, у каталозі користувацької конфігурації, а запуск Gateway не змінює дерево пакета OpenClaw.

У деяких конфігураціях npm для Linux глобальні пакети інсталюються в каталогах, що належать root, наприклад /usr/lib/node_modules/openclaw. OpenClaw підтримує таку структуру, оскільки команди інсталяції та оновлення плагінів записують дані поза цим глобальним каталогом пакетів.

Посилені модулі systemd

Надайте OpenClaw доступ на запис до коренів конфігурації та стану, щоб явні інсталяції плагінів, оновлення плагінів і очищення за допомогою doctor могли зберігати свої зміни:

ini
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmp
Попередня перевірка місця на диску

Перед оновленнями пакетів і явними інсталяціями плагінів OpenClaw намагається виконати орієнтовну перевірку доступного місця на цільовому томі. Якщо місця мало, з'являється попередження із зазначенням перевіреного шляху, але оновлення не блокується, оскільки квоти файлової системи, знімки та мережеві томи можуть змінитися після перевірки. Визначальними залишаються фактична інсталяція менеджером пакетів і перевірка після інсталяції.

Автоматичне оновлення

Типово вимкнено. Увімкніть його у ~/.openclaw/openclaw.json:

json5
{  update: {    channel: "stable",    auto: {      enabled: true,      stableDelayHours: 6,      stableJitterHours: 12,      betaCheckIntervalHours: 1,    },  },}
Канал Поведінка
stable Очікує протягом stableDelayHours (типово: 6), а потім застосовує оновлення з детермінованим випадковим зсувом у межах stableJitterHours (типово: 12) для поступового розгортання.
extended-stable Перевіряє підказку про оновлення лише для читання під час запуску та кожні 24 години, коли ввімкнено checkOnStart. Ніколи не застосовує автоматично.
beta Перевіряє кожні betaCheckIntervalHours (типово: 1) і застосовує негайно.
dev Автоматичне застосування відсутнє. Використовуйте openclaw update вручну.

Gateway також записує до журналу підказку про оновлення під час запуску (вимикається за допомогою update.checkOnStart: false). Збережені вибори extended-stable використовують цей шлях підказок лише для читання та наявний 24-годинний інтервал підказок, але ніколи не запускають автоматичну інсталяцію, передавання керування, перезапуск, стабільну затримку/випадковий зсув або опитування beta. Для пониження версії або відновлення після інциденту встановіть OPENCLAW_NO_AUTO_UPDATE=1 у середовищі Gateway, щоб блокувати автоматичне застосування, навіть якщо налаштовано update.auto.enabled. Підказки про оновлення під час запуску все одно можуть виконуватися, якщо також не вимкнено update.checkOnStart.

Оновлення менеджером пакетів, запитані через активну площину керування Gateway (update.run), не замінюють дерево пакета всередині запущеного процесу Gateway. В інсталяціях із керованою службою Gateway запускає відокремлене передавання керування, завершує роботу й дозволяє звичайному шляху CLI openclaw update --yes --json зупинити службу, замінити пакет, оновити метадані служби, перезапустити її, перевірити версію та доступність Gateway і, коли можливо, відновити інстальований, але не завантажений macOS LaunchAgent. Якщо Gateway не може безпечно виконати таке передавання, update.run повертає безпечну команду оболонки замість запуску менеджера пакетів усередині процесу.

Картка оновлення на бічній панелі Control UI запускає той самий процес update.run. У підписаній програмі macOS картка спочатку оновлює програму через Sparkle; після повторного запуску програма приводить керований локальний Gateway до відповідної версії.

Після оновлення

Запустіть doctor

bash
openclaw doctor

Переносить конфігурацію, перевіряє політики особистих повідомлень і стан Gateway. Докладніше: Doctor

Перезапустіть Gateway

bash
openclaw gateway restart

Перевірте

bash
openclaw health

Відкочування

Закріплення версії (npm)

bash
npm i -g openclaw@<version>openclaw doctoropenclaw gateway restart

Закріплення коміту (вихідний код)

bash
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"pnpm install && pnpm buildopenclaw gateway restart

Щоб повернутися до останньої версії: git checkout main && git pull.

Якщо виникли труднощі

  • Знову запустіть openclaw doctor та уважно прочитайте вивід.
  • Для openclaw update --channel dev у робочих деревах вихідного коду засіб оновлення за потреби автоматично налаштовує pnpm. Якщо з'являється помилка початкового налаштування pnpm/corepack, інсталюйте pnpm вручну (або знову ввімкніть corepack) і повторно запустіть оновлення.
  • Перегляньте: Усунення несправностей
  • Запитайте в Discord: https://discord.gg/clawd

Пов’язані матеріали

Was this useful?
On this page

On this page