Maintenance

Каналы выпусков

OpenClaw поставляется с тремя каналами обновлений:

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

Обычно мы сначала публикуем стабильные сборки в beta, тестируем их там, а затем запускаем явный шаг продвижения, который перемещает проверенную сборку в latest без изменения номера версии. Сопровождающие также могут при необходимости опубликовать стабильный релиз напрямую в latest. Dist-tags являются источником истины для установок npm.

Переключение каналов

bash
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel dev

--channel сохраняет ваш выбор в конфигурации (update.channel) и выравнивает метод установки:

  • stable (установки пакета): обновляется через npm dist-tag latest.
  • beta (установки пакета): предпочитает npm dist-tag beta, но откатывается к latest, когда beta отсутствует или старее текущего стабильного тега.
  • stable (установки git): переключается на последний стабильный git-тег, исключая prerelease-теги semver, такие как -alpha.N, -beta.N, -rc.N, -dev.N, -next.N, -preview.N, -canary.N, -nightly.N и другие prerelease- суффиксы.
  • beta (установки git): предпочитает последний beta git-тег, но откатывается к последнему стабильному git-тегу, когда beta отсутствует или старее.
  • dev: обеспечивает git checkout (по умолчанию ~/openclaw или $OPENCLAW_HOME/openclaw, когда задан OPENCLAW_HOME; переопределяется через OPENCLAW_GIT_DIR), переключается на main, выполняет rebase на upstream, собирает и устанавливает глобальный CLI из этого checkout.

Разовое указание версии или тега

Используйте --tag, чтобы указать конкретный dist-tag, версию или спецификацию пакета для одного обновления без изменения сохраненного канала:

bash
# Установить конкретную версиюopenclaw update --tag 2026.4.1-beta.1 # Установить из beta dist-tag (разово, не сохраняется)openclaw update --tag beta # Переключиться на движущийся GitHub main checkoutopenclaw update --channel dev # Установить конкретную спецификацию npm-пакетаopenclaw update --tag openclaw@2026.4.1-beta.1 # Установить из GitHub main один раз без сохранения каналаopenclaw update --tag main

Примечания:

  • --tag применяется только к установкам пакета (npm). Установки git игнорируют его.
  • Тег не сохраняется. Следующий openclaw update использует ваш настроенный канал как обычно.
  • Для установок пакета OpenClaw предварительно упаковывает спецификации исходников GitHub/git во временный tarball перед staged npm install. Используйте --channel dev или --install-method git --version main, когда вам нужен движущийся checkout main как постоянная установка.
  • Защита от понижения версии: если целевая версия старее вашей текущей версии, OpenClaw запрашивает подтверждение (пропустите с --yes).
  • --channel beta отличается от --tag beta: поток канала может откатиться к stable/latest, когда beta отсутствует или старее, тогда как --tag beta указывает на необработанный dist-tag beta для этого одного запуска.

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

Предварительно просмотрите, что сделал бы openclaw update, не внося изменений:

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

Пробный запуск показывает эффективный канал, целевую версию, запланированные действия и потребуется ли подтверждение понижения версии.

Plugins и каналы

Когда вы переключаете каналы с помощью openclaw update, OpenClaw также синхронизирует источники plugins:

  • dev предпочитает bundled plugins из git checkout.
  • stable и beta восстанавливают npm-installed plugin packages.
  • npm-installed plugins обновляются после завершения обновления core.

Проверка текущего состояния

bash
openclaw update status

Показывает активный канал, тип установки (git или пакет), текущую версию и источник (конфигурация, git-тег, git-ветка или значение по умолчанию).

Рекомендации по тегированию

  • Помечайте тегами релизы, на которые должны попадать git checkouts (vYYYY.M.PATCH для stable, vYYYY.M.PATCH-beta.N для beta; именованные prerelease-суффиксы semver, такие как -alpha.N, -rc.N и -next.N, не являются стабильными целями).
  • Устаревшие числовые стабильные теги, такие как vYYYY.M.PATCH-1 и v1.0.1-1, по-прежнему распознаются как стабильные git-теги для совместимости.
  • vYYYY.M.PATCH.beta.N также распознается для совместимости, но предпочитайте -beta.N.
  • Держите теги неизменяемыми: никогда не перемещайте и не используйте тег повторно.
  • npm dist-tags остаются источником истины для установок npm:
    • latest -> stable
    • beta -> кандидатная сборка или стабильная сборка, сначала опубликованная в beta
    • dev -> снимок main (необязательно)

Доступность приложения macOS

Сборки beta и dev могут не включать релиз приложения macOS. Это нормально:

  • Git-тег и npm dist-tag все равно можно опубликовать.
  • Укажите "нет сборки macOS для этой beta" в заметках к релизу или changelog.

Связанные материалы

Was this useful?
On this page

On this page