Обслуживание

Руководство по миграции

Это руководство описывает перенос шлюза 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 не требует повторной привязки)
  • Панель управления открывается и показывает существующие сессии
  • Ваши файлы рабочего пространства (память, конфигурации) присутствуют

Связанное

ОбновлениеУдаление