Руководство по миграции
Это руководство описывает перенос шлюза OpenClaw с одной машины на другую без повторного прохождения адаптации. Концептуально миграция проста:
- Скопируйте директорию состояния (
$OPENCLAW_STATE_DIR, по умолчанию:~/.openclaw/) — она включает конфигурацию, аутентификацию, сессии и состояние каналов. - Скопируйте ваше рабочее пространство (
~/.openclaw/workspace/по умолчанию) — оно включает файлы агентов (память, промпты и т.д.).
Но есть распространённые подводные камни, связанные с профилями, правами доступа и частичным копированием.
Перед началом (что вы переносите)
1) Определите вашу директорию состояния
В большинстве установок используется значение по умолчанию:
- Директория состояния:
~/.openclaw/
Но она может отличаться, если вы используете:
--profile <имя>(часто становится~/.openclaw-<имя>/)OPENCLAW_STATE_DIR=/какой-то/путь
Если вы не уверены, выполните на старой машине:
openclaw status
Ищите упоминания OPENCLAW_STATE_DIR / профиля в выводе. Если вы запускаете несколько шлюзов, повторите для каждого профиля.
2) Определите ваше рабочее пространство
Распространённые значения по умолчанию:
~/.openclaw/workspace/(рекомендуемое рабочее пространство)- пользовательская папка, которую вы создали
Ваше рабочее пространство — это место, где находятся файлы, такие как MEMORY.md, USER.md и memory/*.md.
3) Поймите, что вы сохраните
Если вы скопируете и директорию состояния, и рабочее пространство, вы сохраните:
- Конфигурацию шлюза (
openclaw.json) - Профили аутентификации / API-ключи / OAuth-токены
- Историю сессий + состояние агента
- Состояние каналов (например, логин/сессия WhatsApp)
- Ваши файлы рабочего пространства (память, заметки о навыках и т.д.)
Если вы скопируете только рабочее пространство (например, через Git), вы не сохраните:
- сессии
- учётные данные
- логины каналов
Они находятся в $OPENCLAW_STATE_DIR.
Шаги миграции (рекомендуемые)
Шаг 0 — Создайте резервную копию (старая машина)
На старой машине сначала остановите шлюз, чтобы файлы не менялись во время копирования:
openclaw gateway stop
(Необязательно, но рекомендуется) заархивируйте директорию состояния и рабочее пространство:
# Измените пути, если используете профиль или пользовательские расположения
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для tarball-архивов и их распаковки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) указывает на удалённый шлюз, то удалённый хост владеет хранилищем сессий + рабочим пространством.
- Миграция вашего ноутбука не перенесёт состояние удалённого шлюза.
Если вы в удалённом режиме, переносите хост шлюза.
Подводный камень: секреты в резервных копиях
$OPENCLAW_STATE_DIR содержит секреты (API-ключи, OAuth-токены, учётные данные WhatsApp). Относитесь к резервным копиям как к производственным секретам:
- храните зашифрованными
- избегайте передачи по незащищённым каналам
- обновите ключи, если подозреваете компрометацию
Контрольный список проверки
На новой машине подтвердите:
openclaw statusпоказывает, что шлюз работает- Ваши каналы всё ещё подключены (например, WhatsApp не требует повторной привязки)
- Панель управления открывается и показывает существующие сессии
- Ваши файлы рабочего пространства (память, конфигурации) присутствуют