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.
Переключение каналов
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel dev--channel сохраняет ваш выбор в конфигурации (update.channel) и выравнивает
метод установки:
stable(установки пакета): обновляется через npm dist-taglatest.beta(установки пакета): предпочитает npm dist-tagbeta, но откатывается к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, версию или спецификацию пакета для одного
обновления без изменения сохраненного канала:
# Установить конкретную версию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, когда вам нужен движущийся checkoutmainкак постоянная установка. - Защита от понижения версии: если целевая версия старее вашей текущей версии,
OpenClaw запрашивает подтверждение (пропустите с
--yes). --channel betaотличается от--tag beta: поток канала может откатиться к stable/latest, когда beta отсутствует или старее, тогда как--tag betaуказывает на необработанный dist-tagbetaдля этого одного запуска.
Пробный запуск
Предварительно просмотрите, что сделал бы openclaw update, не внося изменений:
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.
Проверка текущего состояния
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-> stablebeta-> кандидатная сборка или стабильная сборка, сначала опубликованная в betadev-> снимок main (необязательно)
Доступность приложения macOS
Сборки beta и dev могут не включать релиз приложения macOS. Это нормально:
- Git-тег и npm dist-tag все равно можно опубликовать.
- Укажите "нет сборки macOS для этой beta" в заметках к релизу или changelog.