{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}

Миграция Openclaw

Перенесите область настройки OpenClaw пользователя в агент Hermes. Импортирует совместимые с Hermes воспоминания, SOUL.md, списки разрешенных команд, навыки пользователя и выбранные ресурсы рабочего пространства из ~/.openclaw, а затем сообщает, что именно не удалось перенести и почему.

Метаданные навыков

Источник Необязательно — установите с помощью hermesskills installofficial/migration/openclaw-migration
Путь необязательные-навыки/миграция/openclaw-миграция
Версия 1.0.0
Автор Агент Гермеса (Nous Research)
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS, Windows
Теги Миграция, OpenClaw, Гермес, Память, Персона, Импорт
Сопутствующие навыки hermes-agent

Ссылка: полная версия SKILL.md:::информация

Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.

OpenClaw -> Миграция Гермеса

Используйте этот навык, когда пользователь хочет перенести свою установку OpenClaw в агент Hermes с минимальной ручной очисткой.

Команда CLI

Для быстрой неинтерактивной миграции используйте встроенную команду CLI:

hermes claw migrate              # Full interactive migration
hermes claw migrate --dry-run    # Preview what would be migrated
hermes claw migrate --preset user-data   # Migrate without secrets
hermes claw migrate --overwrite  # Overwrite existing conflicts
hermes claw migrate --source /custom/path/.openclaw  # Custom source

The CLI command runs the same migration script described below. Use this skill (via the agent) when you want an interactive, guided migration with dry-run previews and per-item conflict resolution.

First-time setup: The hermes setup wizard automatically detects ~/.openclaw and offers migration before configuration begins.

What this skill does

It uses scripts/openclaw_to_hermes.py to:

Path resolution

The helper script lives in this skill directory at:

When this skill is installed from the Skills Hub, the normal location is:

Do not guess a shorter path like ~/.hermes/skills/openclaw-migration/....

Before running the helper:

  1. Prefer the installed path under ~/.hermes/skills/migration/openclaw-migration/.
  2. If that path fails, inspect the installed skill directory and resolve the script relative to the installed SKILL.md.
  3. Only use find as a fallback if the installed location is missing or the skill was moved manually.
  4. When calling the terminal tool, do not pass workdir: "~". Use an absolute directory such as the user's home directory, or omit workdir entirely.

With --migrate-secrets, it will also import a small allowlisted set of Hermes-compatible secrets, currently:

Default workflow

  1. Inspect first with a dry run.
  2. Present a simple summary of what can be migrated, what cannot be migrated, and what would be archived.
  3. If the clarify tool is available, use it for user decisions instead of asking for a free-form prose reply.
  4. If the dry run finds imported skill directory conflicts, ask how those should be handled before executing.
  5. Ask the user to choose between the two supported migration modes before executing.
  6. Ask for a target workspace path only if the user wants the workspace instructions file brought over.
  7. Execute the migration with the matching preset and flags.
  8. Summarize the results, especially:
  9. what was migrated
  10. what was archived for manual review
  11. what was skipped and why

User interaction protocol

Hermes CLI supports the clarify tool for interactive prompts, but it is limited to:

It does not support true multi-select checkboxes in a single prompt.

For every clarify call:

If a clarify call returns an error, inspect the error text, correct the payload, and retry once with a valid question and clean choices.

When clarify is available and the dry run reveals any required user decision, your next action must be a clarify tool call. Do not end the turn with a normal assistant message such as:

If a user decision is required, collect it via clarify before producing more prose. If multiple unresolved decisions remain, do not insert an explanatory assistant message between them. After one clarify response is received, your next action should usually be the next required clarify call.

Treat workspace-agents as an unresolved decision whenever the dry run reports:

In that case, you must ask about workspace instructions before execution. Do not silently treat that as a decision to skip.

Because of that limitation, use this simplified decision flow:

  1. For SOUL.md conflicts, use clarify with choices such as:
  2. keep existing
  3. overwrite with backup
  4. review first
  5. If the dry run shows one or more kind="skill" items with status="conflict", use clarify with choices such as:
  6. keep existing skills
  7. overwrite conflicting skills with backup
  8. import conflicting skills under renamed folders
  9. For workspace instructions, use clarify with choices such as:
  10. skip workspace instructions
  11. copy to a workspace path
  12. decide later
  13. If the user chooses to copy workspace instructions, ask a follow-up open-ended clarify question requesting an absolute path.
  14. If the user chooses skip workspace instructions or decide later, proceed without --workspace-target.
  15. For migration mode, use clarify with these 3 choices:
  16. user-data only
  17. full compatible migration
  18. cancel
  19. user-data only means: migrate user data and compatible config, but do not import allowlisted secrets.
  20. full compatible migration means: migrate the same compatible user data plus the allowlisted secrets when present.
  21. If clarify is not available, ask the same question in normal text, but still constrain the answer to user-data only, full compatible migration, or cancel.

Execution gate:

Use these exact clarify payload shapes as the default pattern:

Decision-to-command mapping

Map user decisions to command flags exactly:

Before executing, restate the exact command plan in plain language and make sure it matches the user's choices.

Post-run reporting rules

After execution, treat the script's JSON output as the source of truth.

  1. Base all counts on report.summary.
  2. Only list an item under "Successfully Migrated" if its status is exactly migrated.
  3. Do not claim a conflict was resolved unless the report shows that item as migrated.
  4. Do not say SOUL.md was overwritten unless the report item for kind="soul" has status="migrated".
  5. If report.summary.conflict > 0, include a conflict section instead of silently implying success.
  6. If counts and listed items disagree, fix the list to match the report before responding.
  7. Include the output_dir path from the report when available so the user can inspect report.json, summary.md, backups, and archived files.
  8. For memory or user-profile overflow, do not say the entries were archived unless the report explicitly shows an archive path. If details.overflow_file exists, say the full overflow list was exported there.
  9. If a skill was imported under a renamed folder, report the final destination and mention details.renamed_from.
  10. If report.skill_conflict_mode is present, use it as the source of truth for the selected imported-skill conflict policy.
  11. If an item has status="skipped", do not describe it as overwritten, backed up, migrated, or resolved.
  12. If kind="soul" has status="skipped" with reason Target already matches source, say it was left unchanged and do not mention a backup.
  13. If a renamed imported skill has an empty details.backup, do not imply the existing Hermes skill was renamed or backed up. Say only that the imported copy was placed in the new destination and reference details.renamed_from as the pre-existing folder that remained in place.

Migration presets

Prefer these two presets in normal use:

user-data includes:

full includes everything in user-data plus:

The helper script still supports category-level --include / --exclude, but treat that as an advanced fallback rather than the default UX.

Commands

Dry run with full discovery:

python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py

При использовании инструмента терминала отдавайте предпочтение шаблону абсолютного вызова, например:

{"command":"python3 /home/USER/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py","workdir":"/home/USER"}

Пробный прогон с предустановленными пользовательскими данными:

python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --preset user-data

Выполните миграцию пользовательских данных:

python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset user-data --skill-conflict skip

Выполните полностью совместимую миграцию:

python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset full --migrate-secrets --skill-conflict skip

Выполнить с включенными инструкциями рабочей области:

python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset user-data --skill-conflict rename --workspace-target "/absolute/workspace/path"

Не используйте $PWD или домашний каталог в качестве целевой рабочей области по умолчанию. Сначала запросите явный путь к рабочей области.

Важные правила

  1. Запустите пробный прогон перед записью, если только пользователь явно не скажет продолжить немедленно.
  2. Не переносите секреты по умолчанию. Токены, BLOB-объекты аутентификации, учетные данные устройства и необработанная конфигурация шлюза не должны передаваться Hermes, если только пользователь явно не запросит секретную миграцию.
  3. Не перезаписывайте непустые целевые объекты Hermes автоматически, если этого явно не хочет пользователь. Вспомогательный сценарий сохранит резервные копии, если включена перезапись.
  4. Всегда предоставляйте пользователю отчет о пропущенных элементах. Этот отчет является частью миграции, а не дополнительной опцией.
  5. Предпочитайте основное рабочее пространство OpenClaw (~/.openclaw/workspace/) вместо workspace.default/. Используйте рабочую область по умолчанию только в качестве резервной, если основные файлы отсутствуют.
  6. Даже в режиме секретной миграции переносите только секреты с чистым местом назначения Hermes. Неподдерживаемые BLOB-объекты аутентификации по-прежнему должны отображаться как пропущенные.
  7. Если пробный прогон показывает большую копию ресурса, конфликтующий SOUL.md или записи переполнения памяти, вызовите их отдельно перед выполнением.
  8. По умолчанию используется «только пользовательские данные», если пользователь не уверен.
  9. Включайте workspace-agents только в том случае, если пользователь явно указал путь к целевой рабочей области.
  10. Считайте --include/--exclude на уровне категории расширенным аварийным выходом, а не обычным потоком.
  11. Не заканчивайте пробное резюме расплывчатым вопросом: «Чем бы вы хотели заняться?» если уточнить доступно. Вместо этого используйте структурированные последующие подсказки.
  12. Не используйте открытую подсказку «уточнить», когда подсказка реального выбора сработает. Сначала отдайте предпочтение выбираемым вариантам, а затем свободному тексту только для абсолютных путей или запросов на проверку файлов.
  13. После пробного прогона никогда не останавливайтесь после подведения итогов, если еще осталось нерешенное решение. Немедленно используйте clarify для принятия решения о блокировке с наивысшим приоритетом.
  14. Порядок приоритетности дополнительных вопросов:
  15. Не обещайте представить варианты выбора позже в том же сообщении. Представьте их, вызвав clarify.
  16. После ответа в режиме миграции явно проверьте, не разрешен ли workspace-agents. Если да, то вашим следующим действием должен быть вызов clarify инструкции рабочей области.
  17. Если после любого «уточняющего» ответа остается еще одно необходимое решение, не пересказывайте то, что было только что решено. Немедленно задайте следующий необходимый вопрос.

Ожидаемый результат

После успешного запуска у пользователя должно быть: