CLI commands
Миграция
openclaw migrate
Импортируйте состояние из другой агентной системы через провайдер миграции, принадлежащий Plugin. Встроенные провайдеры поддерживают Claude, Codex CLI и Hermes; плагины могут регистрировать дополнительные провайдеры.
Команды
openclaw migrate listopenclaw migrate claude --dry-runopenclaw migrate codex --dry-runopenclaw migrate codex --skill gog-vault77-google-workspaceopenclaw migrate codex --plugin google-calendar --dry-runopenclaw migrate codex --plugin google-calendar --verify-plugin-apps --dry-runopenclaw migrate hermes --dry-runopenclaw migrate hermesopenclaw migrate apply codex --yes --skill gog-vault77-google-workspaceopenclaw migrate apply codex --yes --plugin google-calendaropenclaw migrate apply codex --yesopenclaw migrate apply claude --yesopenclaw migrate apply hermes --yesopenclaw migrate apply hermes --include-secrets --yesopenclaw onboard --flow importopenclaw onboard --import-from claude --import-source ~/.claudeopenclaw onboard --import-from hermes --import-source ~/.hermesЗапуск openclaw migrate <provider> без других флагов формирует и предварительно показывает план, а затем (в TTY) запрашивает подтверждение перед его применением. Команды openclaw migrate plan <provider> и openclaw migrate apply <provider> разделяют предварительный просмотр и применение на отдельные подкоманды с одинаковыми флагами.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ijxwcm92aWRlcg
" type="string">
Имя зарегистрированного провайдера миграции, например hermes. Чтобы просмотреть установленные провайдеры, выполните openclaw migrate list.
--dry-runbooleanСформировать план и завершить работу без изменения состояния.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tZnJvbSA8cGF0aA
" type="string">
Переопределить каталог исходного состояния. По умолчанию Hermes использует ~/.hermes, Codex — ~/.codex (или $CODEX_HOME), а Claude — ~/.claude.
--include-secretsbooleanИмпортировать поддерживаемые учётные данные без запроса подтверждения. При интерактивном применении перед импортом обнаруженных учётных данных аутентификации выводится запрос, в котором по умолчанию выбран утвердительный ответ; при неинтерактивном применении с --yes для их импорта требуется --include-secrets.
--no-auth-credentialsbooleanПропустить импорт учётных данных аутентификации, включая интерактивный запрос.
--overwritebooleanРазрешить при применении замену существующих целевых объектов, если в плане указаны конфликты.
--yesbooleanПропустить запрос подтверждения. Обязателен в неинтерактивном режиме.
"--skillOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcGx1Z2luIDxuYW1l
" type="string">
Выбрать один элемент установки Plugin Codex по имени Plugin или идентификатору элемента. Повторите флаг, чтобы перенести несколько плагинов Codex. Если флаг не указан, при интерактивной миграции Codex отображается встроенный список плагинов Codex с флажками, а при неинтерактивной миграции сохраняются все запланированные плагины. Применимо только к установленным из исходного расположения плагинам Codex из openai-curated, обнаруженным по данным инвентаризации сервера приложений Codex.
--verify-plugin-appsbooleanТолько для Codex. Перед планированием активации встроенного Plugin принудительно выполняет новый обход app/list исходного сервера приложений Codex. По умолчанию отключено, чтобы планирование миграции выполнялось быстро.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tYmFja3VwLW91dHB1dCA8cGF0aA
" type="string">
Путь к архиву резервной копии перед миграцией или к каталогу для него. Передаётся команде openclaw backup create.
--no-backupbooleanПропустить резервное копирование перед применением. Если локальное состояние OpenClaw существует, требуется --force.
--forcebooleanТребуется вместе с --no-backup, если без этого применение откажется пропускать резервное копирование.
--jsonbooleanВывести план или результат применения в формате JSON. Если указать --json без --yes, команда применения выводит план и не изменяет состояние.
Модель безопасности
openclaw migrate сначала выполняет предварительный просмотр.
Предварительный просмотр перед применением
До внесения любых изменений провайдер возвращает детализированный план, включая конфликты, пропущенные и конфиденциальные элементы. В планах JSON, результатах применения и отчётах о миграции скрываются значения вложенных ключей, похожих на секретные данные, например ключей API, токенов, заголовков авторизации, файлов cookie и паролей.
openclaw migrate apply <provider> показывает предварительный план и запрашивает подтверждение перед изменением состояния, если не указан --yes. В неинтерактивном режиме для применения требуется --yes.
Резервные копии
Перед применением миграции команда создаёт и проверяет резервную копию OpenClaw. Если локальное состояние OpenClaw ещё не существует, этап резервного копирования пропускается и миграция продолжается. Чтобы пропустить резервное копирование при наличии состояния, укажите одновременно --no-backup и --force.
Конфликты
Команда применения отказывается продолжать работу при наличии конфликтов в плане. Просмотрите план, а затем повторно запустите команду с --overwrite, если существующие целевые объекты нужно заменить намеренно. Провайдеры всё равно могут сохранять резервные копии отдельных перезаписываемых файлов в каталоге отчёта о миграции.
Секреты
При интерактивном применении выводится запрос на импорт обнаруженных учётных данных аутентификации, в котором по умолчанию выбран утвердительный ответ. Используйте --no-auth-credentials, чтобы пропустить их, или --include-secrets, чтобы импортировать учётные данные без участия пользователя вместе с --yes.
Провайдер Claude
Встроенный провайдер Claude по умолчанию обнаруживает состояние Claude Code в ~/.claude. Используйте --from <path>, чтобы импортировать конкретный домашний каталог или корень проекта Claude Code.
Что импортирует Claude
- Проектные файлы
CLAUDE.mdи.claude/CLAUDE.mdв рабочую область агента OpenClaw (AGENTS.md). - Пользовательский файл
~/.claude/CLAUDE.md, добавляемый в конец файлаUSER.mdрабочей области. - Определения серверов MCP из проектного файла
.mcp.json, файла Claude Code~/.claude.json(включая записи для отдельных проектов) и файла Claude Desktopclaude_desktop_config.json. - Каталоги навыков Claude, содержащие
SKILL.md(пользовательский~/.claude/skillsи проектный.claude/skills). - Markdown-файлы команд Claude (пользовательские из
~/.claude/commandsи проектные из.claude/commands), преобразуемые в навыки OpenClaw только с ручным вызовом.
Архивируемое состояние и элементы для ручной проверки
Обработчики Claude, разрешения, значения окружения по умолчанию, проектный файл CLAUDE.local.md, каталог .claude/rules, пользовательские и проектные каталоги agents/, а также история проектов (projects, cache и plans в ~/.claude) сохраняются в отчёте о миграции или указываются как элементы для ручной проверки. OpenClaw не запускает обработчики, не копирует широкие списки разрешений и не импортирует автоматически состояние учётных данных OAuth или Desktop.
Провайдер Codex
Встроенный провайдер Codex по умолчанию обнаруживает состояние Codex CLI в ~/.codex или в CODEX_HOME, если задана эта переменная окружения. Используйте --from <path>, чтобы получить инвентаризацию конкретного домашнего каталога Codex.
Используйте этот провайдер при переходе на среду выполнения Codex в OpenClaw, если требуется целенаправленно перенести полезные личные ресурсы Codex CLI. Локальные серверы приложений Codex запускаются с отдельным CODEX_HOME для каждого агента, поэтому по умолчанию они не читают ваш личный каталог ~/.codex. Обычное значение HOME процесса при этом наследуется, поэтому Codex видит общие навыки и записи каталогов плагинов из $HOME/.agents/*, а подпроцессы могут находить конфигурацию и токены из домашнего каталога пользователя.
При запуске openclaw migrate codex в интерактивном терминале сначала отображается полный план, затем перед окончательным подтверждением применения открываются списки с флажками. Сначала предлагается выбрать элементы копирования навыков. Для массового выбора используйте Toggle all on или Toggle all off. Нажмите пробел, чтобы переключить состояние строки, или Enter, чтобы активировать выделенную строку и продолжить. Запланированные навыки изначально отмечены, навыки с конфликтами — не отмечены, а Skip for now пропускает копирование навыков в этом запуске, но продолжает выбор плагинов. Если установленные из исходного расположения курируемые плагины Codex доступны для миграции и флаг --plugin не указан, затем предлагается выбрать по имени плагины Codex для встроенной активации. Элементы плагинов изначально отмечены, если только в целевой конфигурации Plugin Codex в OpenClaw уже нет соответствующего Plugin. Существующие целевые плагины изначально не отмечены и показывают подсказку о конфликте, например conflict: plugin exists; выберите Toggle all off, чтобы не переносить встроенные плагины Codex в этом запуске, или Skip for now, чтобы остановиться перед применением.
Для автоматизированных запусков или точного выбора явно укажите один или несколько навыков либо плагинов:
openclaw migrate codex --dry-run --skill gog-vault77-google-workspaceopenclaw migrate apply codex --yes --skill gog-vault77-google-workspaceopenclaw migrate codex --dry-run --plugin google-calendaropenclaw migrate apply codex --yes --plugin google-calendarЧто импортирует Codex
- Каталоги навыков Codex CLI в
$CODEX_HOME/skills, кроме системного кеша Codex.system. - Личные AgentSkills из
$HOME/.agents/skills, копируемые в рабочую область текущего агента OpenClaw для владения на уровне агента. - Установленные из исходного расположения плагины Codex из
openai-curated, обнаруженные черезplugin/listсервера приложений Codex. При планировании для каждого включённого установленного Plugin читаются данные черезplugin/read.
Для миграции плагинов, использующих приложения, действуют дополнительные проверки:
- Для плагинов, использующих приложения, учётная запись исходного сервера приложений Codex должна быть учётной записью с подпиской ChatGPT. Ответы для учётных записей, не относящихся к ChatGPT, и ответы без данных учётной записи пропускаются с причиной
codex_subscription_required. - По умолчанию миграция не вызывает
app/listисходной системы, поэтому плагины, использующие приложения и прошедшие проверку учётной записи, планируются без проверки доступности приложений в исходной системе, а при транспортных ошибках получения данных учётной записи они пропускаются с причинойcodex_account_unavailable. - Укажите
--verify-plugin-apps, чтобы принудительно получить новый снимокapp/listисходной системы и перед планированием встроенной активации потребовать, чтобы каждое принадлежащее пользователю приложение существовало, было включено и доступно. В этом режиме при транспортных ошибках получения данных учётной записи выполняется проверка по инвентаризации приложений исходной системы. Снимок хранится в памяти только для текущего процесса; он никогда не записывается в результаты миграции или целевую конфигурацию.
Отключённые плагины, недоступные для чтения сведения о плагинах, исходные учётные записи без требуемой подписки, а также — при установленном --verify-plugin-apps — отсутствующие, отключённые или недоступные приложения становятся вручную пропущенными элементами с типизированными причинами вместо записей в целевой конфигурации. Для каждого выбранного подходящего Plugin команда применения вызывает plugin/install сервера приложений, даже если целевой сервер приложений уже сообщает, что этот Plugin установлен и включён. Перенесённые плагины Codex доступны только в сеансах, где выбрана встроенная среда выполнения Codex; они недоступны для запусков провайдера OpenClaw, привязок диалогов ACP и других сред выполнения.
Состояние Codex для ручной проверки
Файл Codex config.toml, встроенные обработчики hooks/hooks.json, некурируемые каталоги, кешированные пакеты плагинов, которые не являются курируемыми плагинами, установленными из исходного расположения, а также установленные из исходного расположения плагины, не прошедшие проверку подписки исходной системы, не активируются автоматически. Если указан --verify-plugin-apps, также пропускаются плагины, не прошедшие проверку по инвентаризации приложений исходной системы. Все эти элементы копируются или перечисляются в отчёте о миграции для ручной проверки.
Для переносимых курируемых плагинов, установленных из исходного расположения, команда применения записывает:
plugins.entries.codex.enabled: trueplugins.entries.codex.config.codexPlugins.enabled: trueplugins.entries.codex.config.codexPlugins.allow_destructive_actions: true- по одной явной записи Plugin с
marketplaceName: "openai-curated"иpluginNameдля каждого выбранного Plugin
Миграция никогда не записывает plugins["*"] и никогда не сохраняет пути к локальному кешу каталога.
Пропущенные плагины не записываются в целевую конфигурацию. Ошибки подписки на стороне источника указываются для элементов, требующих ручной обработки, с типизированными причинами: codex_subscription_required, codex_account_unavailable, plugin_disabled или plugin_read_unavailable. При использовании --verify-plugin-apps ошибки инвентаризации приложений источника также могут отображаться как app_inaccessible, app_disabled, app_missing или app_inventory_unavailable. Установки на целевой стороне, требующие аутентификации, указываются для соответствующего элемента плагина со значениями status: "skipped", reason: "auth_required" и обезличенными идентификаторами приложений; соответствующие явные записи конфигурации записываются отключёнными до повторной авторизации и включения. Другие ошибки установки возвращаются как результаты error, относящиеся к конкретным элементам.
Если инвентаризация плагинов сервера приложений Codex недоступна во время планирования, миграция вместо сбоя всего процесса использует резервные информационные элементы из кэшированного пакета.
Провайдер Hermes
Встроенный провайдер Hermes по умолчанию обнаруживает состояние в ~/.hermes. Если Hermes находится в другом месте, используйте --from <path>.
Что импортирует Hermes
- Конфигурацию модели по умолчанию из
config.yaml. - Настроенные провайдеры моделей и пользовательские конечные точки, совместимые с OpenAI, из
providersиcustom_providers. - Определения серверов MCP из
mcp_serversилиmcp.servers. SOUL.mdиAGENTS.mdв рабочее пространство агента OpenClaw.- Содержимое
memories/MEMORY.mdиmemories/USER.md, добавляемое в конец файлов памяти рабочего пространства. - Значения конфигурации памяти по умолчанию для файловой памяти OpenClaw, а также архивные элементы или элементы для ручной проверки внешних провайдеров памяти, таких как Honcho.
- Skills, содержащие файл
SKILL.mdв каталогеskills/<name>/. - Значения конфигурации отдельных Skills из
skills.config. - Учётные данные OpenAI OAuth из файла OpenCode
auth.json, если при интерактивной миграции разрешён перенос учётных данных или задан параметр--include-secrets. Записи OAuth в Hermesauth.jsonявляются устаревшим состоянием и помечаются для ручной повторной авторизации OpenAI или исправления с помощью doctor. - Поддерживаемые ключи API и токены из Hermes
.envи OpenCodeauth.json, если при интерактивной миграции разрешён перенос учётных данных или задан параметр--include-secrets.
Поддерживаемые ключи .env
AI_GATEWAY_API_KEY, ALIBABA_API_KEY, ANTHROPIC_API_KEY, ARCEEAI_API_KEY, CEREBRAS_API_KEY, CHUTES_API_KEY, CLOUDFLARE_AI_GATEWAY_API_KEY, COPILOT_GITHUB_TOKEN, DASHSCOPE_API_KEY, DEEPINFRA_API_KEY, DEEPSEEK_API_KEY, FIREWORKS_API_KEY, GEMINI_API_KEY, GH_TOKEN, GITHUB_TOKEN, GLM_API_KEY, GOOGLE_API_KEY, GROQ_API_KEY, HF_TOKEN, HUGGINGFACE_HUB_TOKEN, KILOCODE_API_KEY, KIMICODE_API_KEY, KIMI_API_KEY, MINIMAX_API_KEY, MINIMAX_CODING_API_KEY, MISTRAL_API_KEY, MODELSTUDIO_API_KEY, MOONSHOT_API_KEY, NVIDIA_API_KEY, OPENAI_API_KEY, OPENCODE_API_KEY, OPENCODE_GO_API_KEY, OPENCODE_ZEN_API_KEY, OPENROUTER_API_KEY, QIANFAN_API_KEY, QWEN_API_KEY, TOGETHER_API_KEY, VENICE_API_KEY, XAI_API_KEY, XIAOMI_API_KEY, ZAI_API_KEY, Z_AI_API_KEY.
Состояние только для архивирования
Состояние Hermes, которое OpenClaw не может безопасно интерпретировать, копируется в отчёт о миграции для ручной проверки, но не загружается в действующую конфигурацию или учётные данные OpenClaw. Это позволяет сохранить непрозрачное или небезопасное состояние, не создавая ложного впечатления, что OpenClaw может автоматически выполнять его или считать доверенным: plugins/, sessions/, logs/, cron/, mcp-tokens/, state.db.
После применения
openclaw doctorКонтракт Plugin
Источники миграции представляют собой плагины. Plugin объявляет идентификаторы своих провайдеров в openclaw.plugin.json:
{ "contracts": { "migrationProviders": ["hermes"] }}Во время выполнения Plugin вызывает api.registerMigrationProvider(...). Провайдер реализует detect, plan и apply. Ядро отвечает за оркестрацию CLI, политику резервного копирования, запросы пользователю, вывод JSON и предварительную проверку конфликтов. Ядро передаёт проверенный план в apply(ctx, plan), а провайдеры могут повторно сформировать план только в том случае, если этот аргумент отсутствует для обеспечения совместимости.
Плагины провайдеров могут использовать openclaw/plugin-sdk/migration для создания элементов и подсчёта итогов, а также openclaw/plugin-sdk/migration-runtime для копирования файлов с учётом конфликтов, копирования в отчёт только архивируемых данных, кэшированных обёрток среды выполнения конфигурации и отчётов о миграции.
Интеграция с первоначальной настройкой
При первоначальной настройке может быть предложена миграция, если провайдер обнаруживает известный источник. И openclaw onboard --flow import, и openclaw setup --wizard --import-from hermes используют один и тот же провайдер миграции Plugin и перед применением по-прежнему показывают предварительный просмотр.
См. также
- Миграция с Hermes: руководство для пользователей.
- Миграция с Claude: руководство для пользователей.
- Миграция: перенос OpenClaw на новый компьютер.
- Doctor: проверка работоспособности после применения миграции.
- Плагины: установка и регистрация плагинов.