Maintenance

Канали випуску

OpenClaw постачається в трьох каналах оновлень:

  • stable: npm dist-tag latest. Рекомендовано для більшості користувачів.
  • beta: npm dist-tag beta, коли він актуальний; якщо beta відсутній або старіший за останній стабільний реліз, потік оновлення повертається до latest.
  • dev: рухома вершина main (git). npm dist-tag: dev (коли опубліковано). Гілка main призначена для експериментів і активної розробки. Вона може містити незавершені функції або несумісні зміни. Не використовуйте її для production gateway.

Зазвичай ми спершу постачаємо стабільні збірки в beta, тестуємо їх там, а потім запускаємо явний крок просування, який переміщує перевірену збірку в latest без зміни номера версії. За потреби maintainers також можуть опублікувати стабільний реліз безпосередньо в latest. Dist-tags є джерелом істини для npm встановлень.

Перемикання каналів

openclaw update --channel stable
openclaw update --channel beta
openclaw update --channel dev

--channel зберігає ваш вибір у конфігурації (update.channel) і узгоджує метод встановлення:

  • stable (встановлення пакетів): оновлюється через npm dist-tag latest.
  • beta (встановлення пакетів): віддає перевагу npm dist-tag beta, але повертається до latest, коли beta відсутній або старіший за поточний стабільний тег.
  • stable (git-встановлення): виконує checkout останнього стабільного git-тега.
  • beta (git-встановлення): віддає перевагу останньому beta git-тегу, але повертається до останнього стабільного git-тега, коли beta відсутній або старіший.
  • dev: забезпечує git checkout (типово ~/openclaw, можна перевизначити через OPENCLAW_GIT_DIR), перемикається на main, виконує rebase на upstream, збирає та встановлює глобальний CLI із цього checkout.

Одноразове націлювання на версію або тег

Використовуйте --tag, щоб націлитися на конкретний dist-tag, версію або специфікацію пакета для одного оновлення без зміни збереженого каналу:

# Install a specific version
openclaw update --tag 2026.4.1-beta.1

# Install from the beta dist-tag (one-off, does not persist)
openclaw update --tag beta

# Install from GitHub main branch (npm tarball)
openclaw update --tag main

# Install a specific npm package spec
openclaw update --tag [email protected]

Примітки:

  • --tag застосовується лише до пакетних (npm) встановлень. Git-встановлення ігнорують його.
  • Тег не зберігається. Ваш наступний openclaw update використовуватиме налаштований канал як зазвичай.
  • Захист від пониження версії: якщо цільова версія старіша за вашу поточну версію, OpenClaw запитає підтвердження (можна пропустити через --yes).
  • --channel beta відрізняється від --tag beta: потік каналу може повернутися до stable/latest, коли beta відсутній або старіший, тоді як --tag beta націлюється на сирий dist-tag beta для цього одного запуску.

Пробний запуск

Перегляньте, що зробив би openclaw update, без внесення змін:

openclaw update --dry-run
openclaw update --channel beta --dry-run
openclaw update --tag 2026.4.1-beta.1 --dry-run
openclaw update --dry-run --json

Пробний запуск показує ефективний канал, цільову версію, заплановані дії та чи потрібне було б підтвердження пониження версії.

Плагіни й канали

Коли ви перемикаєте канали за допомогою openclaw update, OpenClaw також синхронізує джерела плагінів:

  • dev віддає перевагу bundled plugins із git checkout.
  • stable і beta відновлюють npm-installed plugin packages.
  • npm-installed plugins оновлюються після завершення оновлення ядра.

Перевірка поточного стану

openclaw update status

Показує активний канал, тип встановлення (git або package), поточну версію та джерело (config, git tag, git branch або default).

Найкращі практики тегування

  • Тегуйте релізи, на які мають потрапляти git checkouts (vYYYY.M.D для stable, vYYYY.M.D-beta.N для beta).
  • vYYYY.M.D.beta.N також розпізнається для сумісності, але віддавайте перевагу -beta.N.
  • Legacy теги vYYYY.M.D-<patch> досі розпізнаються як stable (не beta).
  • Тримайте теги незмінними: ніколи не переміщуйте й не використовуйте тег повторно.
  • npm dist-tags залишаються джерелом істини для npm встановлень:
    • latest -> stable
    • beta -> candidate build або beta-first stable build
    • dev -> main snapshot (необов’язково)

Доступність застосунку macOS

Збірки beta й dev можуть не включати реліз застосунку macOS. Це нормально:

  • Git-тег і npm dist-tag усе одно можна опублікувати.
  • Зазначте "no macOS build for this beta" у release notes або changelog.

Пов’язане