Миграция OpenClaw на новую машину

Это руководство мигрирует OpenClaw Gateway с одной машины на другую без повторного онбординга.

Миграция проста концептуально:

  • Скопируйте директорию состояния ($OPENCLAW_STATE_DIR, по умолчанию: ~/.openclaw/) — это включает конфигурацию, авторизацию, сессии и состояние каналов.
  • Скопируйте ваш workspace (~/.openclaw/workspace/ по умолчанию) — это включает ваши файлы агента (память, промпты и т.д.).

Но есть распространённые подводные камни вокруг профилей, прав доступа и частичных копий.

Перед началом (что вы мигрируете)

1) Определите вашу директорию состояния

Большинство установок используют по умолчанию:

  • Директория состояния: ~/.openclaw/

Но она может быть другой, если вы используете:

  • --profile <name> (часто становится ~/.openclaw-<profile>/)
  • OPENCLAW_STATE_DIR=/some/path

Если вы не уверены, запустите на старой машине:

openclaw status

Ищите упоминания OPENCLAW_STATE_DIR / profile в выводе. Если вы запускаете несколько gateway, повторите для каждого профиля.

2) Определите ваш workspace

Распространённые значения по умолчанию:

  • ~/.openclaw/workspace/ (рекомендуемый workspace)
  • пользовательская папка, которую вы создали

Ваш workspace — это место, где находятся файлы вроде MEMORY.md, USER.md и memory/*.md.

3) Поймите, что вы сохраните

Если вы копируете и директорию состояния, и workspace, вы сохраняете:

  • Конфигурацию Gateway (openclaw.json)
  • Профили авторизации / API-ключи / OAuth-токены
  • Историю сессий + состояние агента
  • Состояние каналов (например, вход/сессия WhatsApp)
  • Ваши файлы workspace (память, заметки навыков и т.д.)

Если вы копируете только workspace (например, через Git), вы не сохраняете:

  • сессии
  • учётные данные
  • входы в каналы

Они находятся в $OPENCLAW_STATE_DIR.

Шаги миграции (рекомендуется)

Шаг 0 — Сделайте резервную копию (старая машина)

На старой машине сначала остановите gateway, чтобы файлы не менялись во время копирования:

openclaw gateway stop

(Необязательно, но рекомендуется) архивируйте директорию состояния и workspace:

# Настройте пути, если вы используете профиль или пользовательские местоположения
cd ~
tar -czf openclaw-state.tgz .openclaw

tar -czf openclaw-workspace.tgz .openclaw/workspace

Если у вас несколько профилей/директорий состояния (например, ~/.openclaw-main, ~/.openclaw-work), архивируйте каждую.

Шаг 1 — Установите OpenClaw на новую машину

На новой машине установите CLI (и Node, если нужно):

На этом этапе нормально, если онбординг создаст свежий ~/.openclaw/ — вы перезапишете его на следующем шаге.

Шаг 2 — Скопируйте директорию состояния + workspace на новую машину

Скопируйте и то, и другое:

  • $OPENCLAW_STATE_DIR (по умолчанию ~/.openclaw/)
  • ваш workspace (по умолчанию ~/.openclaw/workspace/)

Распространённые подходы:

  • scp архивов и распаковка
  • rsync -a через SSH
  • внешний диск

После копирования убедитесь:

  • Скрытые директории были включены (например, .openclaw/)
  • Владение файлами корректно для пользователя, запускающего gateway

Шаг 3 — Запустите Doctor (миграции + восстановление сервиса)

На новой машине:

openclaw doctor

Doctor — это "безопасная скучная" команда. Она восстанавливает сервисы, применяет миграции конфигурации и предупреждает о несоответствиях.

Затем:

openclaw gateway restart
openclaw status

Распространённые подводные камни (и как их избежать)

Подводный камень: несоответствие профиля / state-dir

Если вы запускали старый gateway с профилем (или OPENCLAW_STATE_DIR), а новый gateway использует другой, вы увидите симптомы вроде:

  • изменения конфигурации не вступают в силу
  • каналы отсутствуют / выход выполнен
  • пустая история сессий

Исправление: запустите gateway/сервис, используя тот же профиль/state dir, который вы мигрировали, затем запустите снова:

openclaw doctor

Подводный камень: копирование только openclaw.json

openclaw.json недостаточно. Многие провайдеры хранят состояние в:

  • $OPENCLAW_STATE_DIR/credentials/
  • $OPENCLAW_STATE_DIR/agents/<agentId>/...

Всегда мигрируйте всю папку $OPENCLAW_STATE_DIR.

Подводный камень: права доступа / владение

Если вы копировали как root или меняли пользователей, gateway может не суметь прочитать учётные данные/сессии.

Исправление: убедитесь, что директория состояния + workspace принадлежат пользователю, запускающему gateway.

Подводный камень: миграция между удалёнными/локальными режимами

  • Если ваш UI (WebUI/TUI) указывает на удалённый gateway, удалённый хост владеет хранилищем сессий + workspace.
  • Миграция вашего ноутбука не переместит состояние удалённого gateway.

Если вы в удалённом режиме, мигрируйте хост gateway.

Подводный камень: секреты в резервных копиях

$OPENCLAW_STATE_DIR содержит секреты (API-ключи, OAuth-токены, учётные данные WhatsApp). Обращайтесь с резервными копиями как с производственными секретами:

  • храните зашифрованными
  • избегайте обмена через незащищённые каналы
  • ротируйте ключи, если подозреваете утечку

Чек-лист проверки

На новой машине подтвердите:

  • openclaw status показывает, что gateway запущен
  • Ваши каналы всё ещё подключены (например, WhatsApp не требует повторной пары)
  • Панель управления открывается и показывает существующие сессии
  • Ваши файлы workspace (память, конфигурации) присутствуют

Связанное