> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

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

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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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): переключается на последний стабильный 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.

<Tip>
  Если вы хотите использовать stable и dev параллельно, держите два клона и направьте свой gateway на стабильный.
</Tip>

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

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

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
# Установить конкретную версию
openclaw update --tag 2026.4.1-beta.1

# Установить из beta dist-tag (разово, не сохраняется)
openclaw update --tag beta

# Переключиться на движущийся GitHub main checkout
openclaw 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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
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
```

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

## Plugins и каналы

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

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

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

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
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.

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

* [Обновление](/ru/install/updating)
* [Внутреннее устройство установщика](/ru/install/installer)
