CLI commands
Миграция
openclaw migrate
Импортируйте состояние из другой агентной системы через поставщика миграции, принадлежащего плагину. Встроенные поставщики поддерживают состояние Codex CLI, Claude и 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 ~/.hermesOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ijxwcm92aWRlcg
" type="string">
Имя зарегистрированного поставщика миграции, например hermes. Выполните openclaw migrate list, чтобы увидеть установленных поставщиков.
--dry-runbooleanПостроить план и выйти без изменения состояния.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tZnJvbSA8cGF0aA
" type="string">
Переопределить исходный каталог состояния. Для Hermes по умолчанию используется ~/.hermes.
--include-secretsbooleanИмпортировать поддерживаемые учетные данные без запроса. Интерактивное применение спрашивает перед импортом обнаруженных учетных данных аутентификации, при этом по умолчанию выбран ответ «да»; неинтерактивный --yes требует --include-secrets для их импорта.
--no-auth-credentialsbooleanПропустить импорт учетных данных аутентификации, включая интерактивный запрос.
--overwritebooleanРазрешить применению заменять существующие цели, когда план сообщает о конфликтах.
--yesbooleanПропустить запрос подтверждения. Требуется в неинтерактивном режиме.
"--skillOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcGx1Z2luIDxuYW1l
" type="string">
Выбрать один элемент установки плагина Codex по имени плагина или идентификатору элемента. Повторите флаг, чтобы перенести несколько плагинов Codex. Если флаг не указан, интерактивные миграции Codex показывают нативный селектор плагинов Codex с флажками, а неинтерактивные миграции сохраняют все запланированные плагины. Это относится только к установленным в источнике плагинам Codex openai-curated, обнаруженным инвентаризацией app-server Codex.
--verify-plugin-appsbooleanТолько Codex. Принудительно выполнить свежий обход исходного app-server Codex app/list перед планированием активации нативного плагина. По умолчанию отключено, чтобы планирование миграции оставалось быстрым.
--no-backupbooleanПропустить резервное копирование перед применением. Требует --force, когда существует локальное состояние OpenClaw.
--forcebooleanТребуется вместе с --no-backup, когда применение иначе отказалось бы пропустить резервное копирование.
--jsonbooleanНапечатать план или результат применения как JSON. С --json и без --yes применение печатает план и не изменяет состояние.
Модель безопасности
openclaw migrate сначала выполняет предварительный просмотр.
Предварительный просмотр перед применением
Поставщик возвращает детализированный план до любых изменений, включая конфликты, пропущенные элементы и чувствительные элементы. Планы JSON, вывод применения и отчеты миграции редактируют вложенные ключи, похожие на секреты, такие как ключи API, токены, заголовки авторизации, cookies и пароли.
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. - Пользовательский
~/.claude/CLAUDE.md, добавленный в рабочийUSER.md. - Определения серверов MCP из проектного
.mcp.json, Claude Code~/.claude.jsonи Claude Desktopclaude_desktop_config.json. - Каталоги Skills Claude, которые включают
SKILL.md. - Markdown-файлы команд Claude, преобразованные в Skills OpenClaw только с ручным вызовом.
Архив и состояние для ручной проверки
Хуки Claude, разрешения, значения среды по умолчанию, локальная память, правила, ограниченные путями, субагенты, кеши, планы и история проекта сохраняются в отчете миграции или сообщаются как элементы для ручной проверки. OpenClaw не выполняет хуки, не копирует широкие списки разрешений и не импортирует состояние учетных данных OAuth/Desktop автоматически.
Поставщик Codex
Встроенный поставщик Codex по умолчанию обнаруживает состояние Codex CLI в ~/.codex или
в CODEX_HOME, когда установлена эта переменная среды. Используйте --from <path>, чтобы
инвентаризировать конкретный домашний каталог Codex.
Используйте этого поставщика при переходе на обвязку OpenClaw Codex, если вы хотите
осознанно продвинуть полезные личные ресурсы Codex CLI. Локальные запуски app-server Codex
используют отдельный для агента CODEX_HOME, поэтому по умолчанию они не читают ваш личный
~/.codex. Обычный процесс HOME все еще наследуется, поэтому Codex
может видеть общие $HOME/.agents/* записи Skills/маркетплейса плагинов, а
подпроцессы могут находить конфигурацию и токены в домашнем каталоге пользователя.
Запуск openclaw migrate codex в интерактивном терминале предварительно показывает полный
план, затем открывает селекторы с флажками перед финальным подтверждением применения. Сначала
запрашиваются элементы копирования Skills. Используйте Toggle all on или Toggle all off для массового
выбора. Нажмите Space, чтобы переключать строки, или нажмите Enter, чтобы активировать выделенную
строку и продолжить. Запланированные Skills изначально отмечены, конфликтующие Skills изначально не отмечены, а
Skip for now пропускает копирование Skills для этого запуска, продолжая выбор плагинов.
Когда установленные в источнике курируемые плагины Codex можно перенести и
--plugin не был передан, миграция затем запрашивает активацию нативного плагина Codex
по имени плагина. Элементы плагинов
изначально отмечены, если целевая конфигурация плагина OpenClaw Codex еще не содержит этот
плагин. Существующие целевые плагины изначально не отмечены и показывают подсказку конфликта, такую как
conflict: plugin exists; выберите Toggle all off, чтобы не переносить нативные плагины Codex
в этом запуске, или Skip for now, чтобы остановиться перед применением. Для скриптовых или
точных запусков передайте --skill <name> один раз для каждого Skills, например:
openclaw migrate codex --dry-run --skill gog-vault77-google-workspaceopenclaw migrate apply codex --yes --skill gog-vault77-google-workspaceИспользуйте --plugin <name>, чтобы неинтерактивно ограничить миграцию нативных плагинов Codex
одним или несколькими установленными в источнике курируемыми плагинами:
openclaw migrate codex --dry-run --plugin google-calendaropenclaw migrate apply codex --yes --plugin google-calendarЧто импортирует Codex
- Каталоги Skills Codex CLI в
$CODEX_HOME/skills, исключая кеш Codex.system. - Личные AgentSkills в
$HOME/.agents/skills, скопированные в текущую рабочую область агента OpenClaw, когда требуется владение на уровне агента. - Установленные в источнике плагины Codex
openai-curated, обнаруженные через Codex app-serverplugin/list. Планирование читаетplugin/readдля каждого включенного установленного плагина. Плагины с привязкой к приложению требуют, чтобы ответ учетной записи исходного app-server Codex был учетной записью подписки ChatGPT; ответы с учетными записями не ChatGPT или отсутствующие ответы учетной записи пропускаются сcodex_subscription_required. По умолчанию миграция не вызывает исходныйapp/list, поэтому плагины с привязкой к приложению, прошедшие проверку учетной записи, планируются без проверки доступности исходного приложения, а транспортные сбои поиска учетной записи пропускаются сcodex_account_unavailable. Передайте--verify-plugin-apps, когда хотите, чтобы миграция принудительно получила свежий снимок исходногоapp/listи требовала, чтобы каждое принадлежащее приложение присутствовало, было включено и доступно перед планированием нативной активации. В этом режиме транспортные сбои поиска учетной записи переходят к проверке инвентаризации исходных приложений. Снимок инвентаризации исходных приложений хранится в памяти для текущего процесса; он не записывается в вывод миграции или целевую конфигурацию. Отключенные плагины, нечитаемые сведения о плагинах, исходные учетные записи с ограничением по подписке и, когда запрошена проверка, отсутствующие приложения, отключенные приложения, недоступные приложения или сбои инвентаризации исходных приложений становятся вручную пропущенными элементами с типизированными причинами вместо записей целевой конфигурации. Применение вызывает app-serverplugin/installдля каждого выбранного подходящего плагина, даже если целевой app-server уже сообщает, что этот плагин установлен и включен. Перенесенные плагины 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- одну явную запись плагина с
marketplaceName: "openai-curated"иpluginNameдля каждого выбранного плагина
Миграция никогда не записывает 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. Используйте --from <path>, если Hermes находится в другом месте.
Что импортирует 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. - Учетные данные OpenCode OpenAI OAuth из OpenCode
auth.json, когда принята интерактивная миграция учетных данных или задан--include-secrets. Записи OAuth в Hermesauth.jsonявляются устаревшим состоянием, сообщаемым для ручной повторной авторизации OpenAI или исправления через doctor. - Поддерживаемые ключи API и токены из Hermes
.envи OpenCodeauth.json, когда принята интерактивная миграция учетных данных или задан--include-secrets.
Поддерживаемые ключи .env
AI_GATEWAY_API_KEYALIBABA_API_KEYANTHROPIC_API_KEYARCEEAI_API_KEYCEREBRAS_API_KEYCHUTES_API_KEYCLOUDFLARE_AI_GATEWAY_API_KEYCOPILOT_GITHUB_TOKENDASHSCOPE_API_KEYDEEPINFRA_API_KEYDEEPSEEK_API_KEYFIREWORKS_API_KEYGEMINI_API_KEYGH_TOKENGITHUB_TOKENGLM_API_KEYGOOGLE_API_KEYGROQ_API_KEYHF_TOKENHUGGINGFACE_HUB_TOKENKILOCODE_API_KEYKIMICODE_API_KEYKIMI_API_KEYMINIMAX_API_KEYMINIMAX_CODING_API_KEYMISTRAL_API_KEYMODELSTUDIO_API_KEYMOONSHOT_API_KEYNVIDIA_API_KEYOPENAI_API_KEYOPENCODE_API_KEYOPENCODE_GO_API_KEYOPENCODE_ZEN_API_KEYOPENROUTER_API_KEYQIANFAN_API_KEYQWEN_API_KEYTOGETHER_API_KEYVENICE_API_KEYXAI_API_KEYXIAOMI_API_KEYZAI_API_KEYZ_AI_API_KEY
Состояние только для архива
Состояние Hermes, которое OpenClaw не может безопасно интерпретировать, копируется в отчет о миграции для ручной проверки, но не загружается в действующую конфигурацию или учетные данные OpenClaw. Это сохраняет непрозрачное или небезопасное состояние, не создавая ложного впечатления, что OpenClaw может автоматически выполнять его или доверять ему:
plugins/sessions/logs/cron/mcp-tokens/state.db
После применения
openclaw doctorКонтракт Plugin
Источниками миграции являются плагины. Плагин объявляет свои идентификаторы провайдеров в openclaw.plugin.json:
{ "contracts": { "migrationProviders": ["hermes"] }}Во время выполнения плагин вызывает 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 используют одного и того же провайдера миграции плагина и по-прежнему показывают предварительный просмотр перед применением.
См. также
- Миграция из Hermes: пользовательское пошаговое руководство.
- Миграция из Claude: пользовательское пошаговое руководство.
- Миграция: перенос OpenClaw на новый компьютер.
- Doctor: проверка состояния после применения миграции.
- Плагины: установка и регистрация плагинов.