Каналы разработки

Последнее обновление: 2026-01-21

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

  • stable: npm dist-tag latest.
  • beta: npm dist-tag beta (сборки на тестировании).
  • dev: движущаяся голова main (git). npm dist-tag: dev (когда опубликовано).

Мы отправляем сборки в beta, тестируем их, затем продвигаем проверенную сборку в latest без изменения номера версии — dist-теги являются источником истины для npm установок.

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

Git checkout:

openclaw update --channel stable
openclaw update --channel beta
openclaw update --channel dev
  • stable/beta проверяют последний соответствующий тег (часто один и тот же тег).
  • dev переключается на main и делает rebase на upstream.

npm/pnpm глобальная установка:

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

Это обновляет через соответствующий npm dist-tag (latest, beta, dev).

Когда вы явно переключаете каналы с --channel, OpenClaw также выравнивает метод установки:

  • dev гарантирует git checkout (по умолчанию ~/openclaw, переопределение через OPENCLAW_GIT_DIR), обновляет его и устанавливает глобальный CLI из этого checkout.
  • stable/beta устанавливает из npm используя соответствующий dist-tag.

Совет: если вы хотите stable + dev параллельно, держите два клона и направьте свой шлюз на стабильный.

Плагины и каналы

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

  • dev предпочитает встроенные плагины из git checkout.
  • stable и beta восстанавливают установленные npm пакеты плагинов.

Лучшие практики тегирования

  • Тегируйте релизы, на которые должны попадать git checkouts (vYYYY.M.D или vYYYY.M.D-<patch>).
  • Сохраняйте теги неизменными: никогда не перемещайте и не используйте повторно тег.
  • npm dist-теги остаются источником истины для npm установок:
    • latest → stable
    • beta → кандидат сборки
    • dev → снимок main (опционально)

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

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

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