Обновление
OpenClaw развивается быстро (до версии "1.0"). Относитесь к обновлениям как к развертыванию инфраструктуры: обновить → запустить проверки → перезапустить (или использовать openclaw update, который выполняет перезапуск) → проверить.
Рекомендуемый способ: повторный запуск установщика с сайта (апгрейд на месте)
Предпочтительный путь обновления — повторный запуск установщика с сайта. Он обнаруживает существующие установки, выполняет обновление на месте и запускает openclaw doctor при необходимости.
curl -fsSL https://openclaw.ai/install.sh | bash
Примечания:
-
Добавьте
--no-onboard, если не хотите повторного запуска мастера начальной настройки. -
Для установки из исходного кода используйте:
Копировать
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --no-onboardУстановщик выполнит
git pull --rebaseтолько если репозиторий чист. -
Для глобальной установки скрипт использует
npm install -g openclaw@latestпод капотом. -
Примечание для совместимости:
clawdbotостается доступным как обертка для совместимости.
Перед обновлением
- Знайте, как вы установили: глобально (npm/pnpm) или из исходного кода (git clone).
- Знайте, как запущен ваш Шлюз: в терминале на переднем плане или как управляемый сервис (launchd/systemd).
- Сделайте снимок ваших настроек:
- Конфигурация:
~/.openclaw/openclaw.json - Учетные данные:
~/.openclaw/credentials/ - Рабочее пространство:
~/.openclaw/workspace
- Конфигурация:
Обновление (глобальная установка)
Глобальная установка (выберите один вариант):
npm i -g openclaw@latest
pnpm add -g openclaw@latest
Мы не рекомендуем использовать Bun для среды выполнения Шлюза (ошибки в WhatsApp/Telegram). Для переключения каналов обновления (установки через git + npm):
openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable
Используйте --tag <dist-tag|version> для одноразовой установки определенного тега/версии. См. Каналы разработки для информации о семантике каналов и примечаниях к выпускам. Примечание: при установке через npm шлюз логирует подсказку об обновлении при запуске (проверяет тег текущего канала). Отключите через update.checkOnStart: false.
Встроенный автообновлятель (опционально)
Автообновление отключено по умолчанию и является встроенной функцией Шлюза (не плагином).
{
"update": {
"channel": "stable",
"auto": {
"enabled": true,
"stableDelayHours": 6,
"stableJitterHours": 12,
"betaCheckIntervalHours": 1
}
}
}
Поведение:
stable: когда обнаружена новая версия, OpenClaw ждетstableDelayHours, а затем применяет детерминированный джиттер для каждой установки в пределахstableJitterHours(постепенное развертывание).beta: проверяет по расписаниюbetaCheckIntervalHours(по умолчанию: каждый час) и применяет, когда обновление доступно.dev: автоматическое применение отсутствует; используйте ручную командуopenclaw update.
Используйте openclaw update --dry-run для предварительного просмотра действий перед включением автоматизации. Затем:
openclaw doctor
openclaw gateway restart
openclaw health
Примечания:
- Если ваш Шлюз работает как сервис, предпочтительнее использовать
openclaw gateway restart, а не завершать процессы по PID. - Если вы зафиксированы на конкретной версии, см. раздел "Откат / фиксация версии" ниже.
Обновление (openclaw update)
Для установки из исходного кода (git checkout) предпочтительнее:
openclaw update
Он выполняет безопасный процесс обновления:
- Требует чистого рабочего дерева.
- Переключается на выбранный канал (тег или ветку).
- Выполняет fetch + rebase относительно настроенного апстрима (канал dev).
- Устанавливает зависимости, собирает проект, собирает Панель управления и запускает
openclaw doctor. - По умолчанию перезапускает шлюз (используйте
--no-restart, чтобы пропустить).
Если вы установили через npm/pnpm (без метаданных git), openclaw update попытается обновиться через ваш менеджер пакетов. Если он не может определить тип установки, используйте способ "Обновление (глобальная установка)".
Обновление (Панель управления / RPC)
В Панели управления есть кнопка Update & Restart (RPC: update.run). Она:
- Запускает тот же процесс обновления из исходников, что и
openclaw update(только для git checkout). - Записывает сигнальный файл для перезапуска со структурированным отчетом (хвост stdout/stderr).
- Перезапускает шлюз и отправляет пинг последней активной сессии с отчетом.
Если rebase завершается неудачей, шлюз прерывает операцию и перезапускается без применения обновления.
Обновление (из исходного кода)
Из локальной копии репозитория: Предпочтительный способ:
openclaw update
Ручной способ (примерно эквивалентный):
git pull
pnpm install
pnpm build
pnpm ui:build # автоматически устанавливает зависимости UI при первом запуске
openclaw doctor
openclaw health
Примечания:
pnpm buildважен, когда вы запускаете собранный бинарникopenclaw(openclaw.mjs) или используете Node для запуска изdist/.- Если вы запускаете из клона репозитория без глобальной установки, используйте
pnpm openclaw ...для CLI-команд. - Если вы запускаете напрямую из TypeScript (
pnpm openclaw ...), пересборка обычно не требуется, но миграции конфигурации все равно применяются → запустите doctor. - Переключение между глобальной установкой и установкой из git просто: установите другой вариант, затем запустите
openclaw doctor, чтобы точка входа сервиса шлюза была переписана под текущую установку.
Всегда запускайте: openclaw doctor
Doctor — это команда "безопасного обновления". Она намеренно простая: исправление + миграция + предупреждения. Примечание: если вы используете установку из исходного кода (git checkout), openclaw doctor предложит сначала запустить openclaw update. Типичные действия:
- Миграция устаревших ключей конфигурации / устаревших местоположений конфигурационных файлов.
- Аудит политик DM и предупреждения о рискованных "открытых" настройках.
- Проверка здоровья Шлюза и предложение перезапустить.
- Обнаружение и миграция старых сервисов шлюза (launchd/systemd; устаревшие schtasks) в текущие сервисы OpenClaw.
- На Linux — обеспечение "user lingering" для systemd (чтобы Шлюз переживал выход из системы).
Подробнее: Doctor
Запуск / остановка / перезапуск Шлюза
CLI (работает независимо от ОС):
openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow
Если используется управляющий сервис:
- macOS launchd (LaunchAgent в составе приложения):
launchctl kickstart -k gui/$UID/ai.openclaw.gateway(используйтеai.openclaw.<profile>; устаревшиеcom.openclaw.*все еще работают) - Linux systemd user service:
systemctl --user restart openclaw-gateway[-<profile>].service - Windows (WSL2):
systemctl --user restart openclaw-gateway[-<profile>].servicelaunchctl/systemctlработают только если сервис установлен; иначе запуститеopenclaw gateway install.
Ранбук и точные метки сервисов: Ранбук Шлюза
Откат / фиксация версии (когда что-то ломается)
Фиксация версии (глобальная установка)
Установите известную рабочую версию (замените <version> на последнюю рабочую):
npm i -g openclaw@<version>
pnpm add -g openclaw@<version>
Совет: чтобы увидеть текущую опубликованную версию, выполните npm view openclaw version. Затем перезапустите и снова запустите doctor:
openclaw doctor
openclaw gateway restart
Фиксация версии (исходный код) по дате
Выберите коммит на определенную дату (пример: "состояние main на 2026-01-01"):
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
Затем переустановите зависимости и перезапустите:
pnpm install
pnpm build
openclaw gateway restart
Если позже захотите вернуться к последней версии:
git checkout main
git pull
Если вы застряли
- Снова запустите
openclaw doctorи внимательно прочитайте вывод (он часто подсказывает решение). - Проверьте: Устранение неполадок
- Спросите в Discord: https://discord.gg/clawd