Перейти к основному содержанию

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

Это руководство описывает перенос Gateway (шлюз) OpenClaw с одной машины на другую без повторного прохождения онбординга. Концептуально миграция проста:
  • Скопировать каталог состояния ($OPENCLAW_STATE_DIR, по умолчанию: ~/.openclaw/) — он включает конфигурацию, аутентификацию, сеансы и состояние каналов.
  • Скопировать ваше рабочее пространство (по умолчанию ~/.openclaw/workspace/) — оно включает файлы ваших агентов (память, промпты и т. д.).
Однако есть распространённые «подводные камни», связанные с профилями, правами доступа и неполными копиями.

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

1. Определите каталог состояния

Большинство установок используют значение по умолчанию:
  • Каталог состояния: ~/.openclaw/
Но он может отличаться, если вы используете:
  • --profile <name> (часто становится ~/.openclaw-<profile>/)
  • OPENCLAW_STATE_DIR=/some/path
Если вы не уверены, выполните на старой машине:
openclaw status
Ищите упоминания OPENCLAW_STATE_DIR / профиля в выводе. Если вы запускаете несколько Gateway (шлюзов), повторите для каждого профиля.

2. Определите ваше рабочее пространство

Распространённые значения по умолчанию:
  • ~/.openclaw/workspace/ (рекомендуемое рабочее пространство)
  • пользовательская папка, которую вы создали
Ваше рабочее пространство — это место, где находятся такие файлы, как MEMORY.md, USER.md и memory/*.md.

3. Поймите, что будет сохранено

Если вы копируете и каталог состояния, и рабочее пространство, вы сохраняете:
  • Конфигурацию Gateway (шлюз) (openclaw.json)
  • Профили аутентификации / ключи API / OAuth-токены
  • Историю сеансов и состояние агента
  • Состояние каналов (например, вход/сеанс WhatsApp)
  • Файлы рабочего пространства (память, заметки Skills и т. д.)
Если вы копируете только рабочее пространство (например, через Git), вы не сохраняете:
  • сеансы
  • учётные данные
  • входы в каналы
Они находятся в $OPENCLAW_STATE_DIR.

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

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

На старой машине сначала остановите шлюз, чтобы файлы не изменялись во время копирования:
openclaw gateway stop
(Необязательно, но рекомендуется) заархивируйте каталог состояния и рабочее пространство:
# Adjust paths if you use a profile or custom locations
cd ~
tar -czf openclaw-state.tgz .openclaw

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

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

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

Шаг 2 — Скопируйте каталог состояния и рабочее пространство на новую машину

Скопируйте оба:
  • $OPENCLAW_STATE_DIR (по умолчанию ~/.openclaw/)
  • ваше рабочее пространство (по умолчанию ~/.openclaw/workspace/)
Распространённые способы:
  • scp архивы и извлечь
  • rsync -a по SSH
  • внешний накопитель
После копирования убедитесь, что:
  • Скрытые каталоги были включены (например, .openclaw/)
  • Владение файлами корректно для пользователя, под которым запускается шлюз

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

На новой машине:
openclaw doctor
Doctor — это «безопасная и надёжная» команда. Она восстанавливает сервисы, применяет миграции конфигурации и предупреждает о несоответствиях. Затем:
openclaw gateway restart
openclaw status

Обычные пулеметы (и как их избежать)

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

Если вы запускали старый шлюз с профилем (или OPENCLAW_STATE_DIR), а новый шлюз использует другой, вы увидите такие симптомы, как:
  • изменения конфигурации не применяются
  • каналы отсутствуют / вышли из системы
  • пустая история сеансов
Исправление: запустите шлюз/сервис, используя тот же профиль/каталог состояния, который вы перенесли, затем повторно выполните:
openclaw doctor

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

openclaw.json недостаточно. Многие провайдеры хранят состояние в:
  • $OPENCLAW_STATE_DIR/credentials/
  • $OPENCLAW_STATE_DIR/agents/<agentId>/...
Всегда переносите весь каталог $OPENCLAW_STATE_DIR целиком.

Футбол: разрешения / право собственности

Если вы копировали файлы от root или сменили пользователя, шлюз может не иметь доступа к учётным данным или сеансам. Исправление: убедитесь, что каталог состояния и рабочее пространство принадлежат пользователю, под которым запускается шлюз.

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

  • Если ваш UI (WebUI/TUI) указывает на удалённый шлюз, удалённый хост владеет хранилищем сеансов и рабочим пространством.
  • Перенос вашего ноутбука не перенесёт состояние удалённого шлюза.
Если вы используете удалённый режим, переносите хост шлюза Gateway.

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

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

Контрольный список проверки

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

Связанное