Перейти к содержанию

From Openclaw

На этой странице hermes claw migrate импортирует вашу конфигурацию OpenClaw (или устаревших Clawdbot/Moldbot) в Hermes. Это руководство описывает, что именно переносится, соответствие ключей конфигурации и что нужно проверить после миграции.

Быстрый старт

[code] # Предпросмотр, затем миграция (всегда показывает предпросмотр, затем запрашивает подтверждение) hermes claw migrate

# Только предпросмотр, без изменений
hermes claw migrate --dry-run

# Полная миграция, включая API-ключи, без подтверждения
hermes claw migrate --preset full --migrate-secrets --yes

[/code] Миграция всегда показывает полный предпросмотр того, что будет импортировано, перед внесением каких-либо изменений. Просмотрите список, затем подтвердите для продолжения. По умолчанию читает из ~/.openclaw//. Устаревшие директории ~/.clawdbot/ или ~/.moltbot/ обнаруживаются автоматически. То же самое касается устаревших имён файлов конфигурации (clawdbot.json, moltbot.json).

Параметры

Параметр Описание
--dry-run Только предпросмотр — остановиться после отображения того, что будет перенесено.
--preset <имя> full (все совместимые настройки) или user-data (исключает инфраструктурную конфигурацию). Ни один пресет не импортирует секреты по умолчанию — явно укажите --migrate-secrets.
--overwrite Перезаписывать существующие файлы Hermes при конфликтах (по умолчанию: отказ от применения, когда в плане есть конфликты).
--migrate-secrets Включает API-ключи. Требуется даже при --preset full — ни один пресет не импортирует секреты молча.
--no-backup Пропустить создание zip-снимка ~/.hermes/ перед миграцией (по умолчанию перед применением записывается один архив точки восстановления в ~/.hermes/backups/pre-migration-*.zip; можно восстановить с помощью hermes import).
--source <путь> Пользовательская директория OpenClaw.
--workspace-target <путь> Куда поместить AGENTS.md.
--skill-conflict <режим> skip (по умолчанию), overwrite или rename.
--yes Пропустить запрос подтверждения после предпросмотра.
## Что переносится
### Личность, память и инструкции
Что Источник OpenClaw
--- ---
Личность workspace/SOUL.md
Инструкции рабочего пространства workspace/AGENTS.md
Долговременная память workspace/MEMORY.md
Профиль пользователя workspace/USER.md
Ежедневные файлы памяти workspace/memory/*.md
Файлы рабочего пространства также проверяются в workspace.default/ и workspace-main/ как запасные пути (OpenClaw переименовал workspace/ в workspace-main/ в последних версиях и использует workspace-{agentId} для многопользовательских конфигураций).
### Навыки (4 источника)
Источник Расположение OpenClaw
--- ---
Навыки рабочего пространства workspace/skills/
Управляемые/общие навыки ~/.openclaw/skills/
Личные межпроектные ~/.agents/skills/
Общие на уровне проекта workspace/.agents/skills/
Конфликты навыков обрабатываются с помощью --skill-conflict: skip оставляет существующий навык Hermes, overwrite заменяет его, rename создаёт копию с суффиксом -imported.
### Конфигурация модели и провайдера
Что Путь конфигурации OpenClaw
--- ---
Модель по умолчанию agents.defaults.model
Пользовательские провайдеры models.providers.*
API-ключи провайдеров models.providers.*.apiKey
### Поведение агента
Что Путь конфигурации OpenClaw
--- ---
Макс. шагов agents.defaults.timeoutSeconds
Подробный режим agents.defaults.verboseDefault
Уровень рассуждений agents.defaults.thinkingDefault
Сжатие agents.defaults.compaction.mode
Модель сжатия agents.defaults.compaction.model
Задержка человека agents.defaults.humanDelay.mode
Время задержки человека agents.defaults.humanDelay.minMs / .maxMs
Часовой пояс agents.defaults.userTimezone
Таймаут выполнения tools.exec.timeoutSec
Docker-песочница agents.defaults.sandbox.backend
Docker-образ agents.defaults.sandbox.docker.image
### Политики сброса сессий
Путь конфигурации OpenClaw Путь конфигурации Hermes
--- ---
session.reset.mode session_reset.mode
session.reset.atHour session_reset.at_hour
session.reset.idleMinutes session_reset.idle_minutes
Примечание: OpenClaw также имеет session.resetTriggers (простой массив строк, например ["daily", "idle"]). Если структурированный session.reset отсутствует, миграция выводит настройки из resetTriggers.
### MCP-серверы
Поле OpenClaw Поле Hermes
--- ---
mcp.servers.*.command mcp_servers.*.command
mcp.servers.*.args mcp_servers.*.args
mcp.servers.*.env mcp_servers.*.env
mcp.servers.*.cwd mcp_servers.*.cwd
mcp.servers.*.url mcp_servers.*.url
mcp.servers.*.tools.include mcp_servers.*.tools.include
mcp.servers.*.tools.exclude mcp_servers.*.tools.exclude
### TTS (текст-в-речь)
Настройки TTS читаются из двух расположений в конфигурации OpenClaw со следующим приоритетом:
1. messages.tts.providers.{provider}.* (каноническое расположение)
2. talk.providers.{provider}.* на верхнем уровне (запасной вариант)
3. Устаревшие плоские ключи messages.tts.{provider}.* (старейший формат)
Что Назначение Hermes
Имя провайдера config.yamltts.provider
ID голоса ElevenLabs config.yamltts.elevenlabs.voice_id
ID модели ElevenLabs config.yamltts.elevenlabs.model_id
Модель OpenAI config.yamltts.openai.model
Голос OpenAI config.yamltts.openai.voice
Голос Edge TTS config.yamltts.edge.voice (OpenClaw переименовал «edge» в «microsoft» — оба распознаются)
TTS-ресурсы ~/.hermes/tts/ (копирование файлов)
### Платформы обмена сообщениями
Платформа Путь конфигурации OpenClaw
--- ---
Telegram channels.telegram.botToken или .accounts.default.botToken
Telegram credentials/telegram-default-allowFrom.json
Discord channels.discord.token или .accounts.default.token
Discord channels.discord.allowFrom или .accounts.default.allowFrom
Slack channels.slack.botToken или .accounts.default.botToken
Slack channels.slack.appToken или .accounts.default.appToken
Slack channels.slack.allowFrom или .accounts.default.allowFrom
WhatsApp channels.whatsapp.allowFrom или .accounts.default.allowFrom
Signal channels.signal.account или .accounts.default.account
Signal channels.signal.httpUrl или .accounts.default.httpUrl
Signal channels.signal.allowFrom или .accounts.default.allowFrom
Matrix channels.matrix.accessToken или .accounts.default.accessToken
Mattermost channels.mattermost.botToken или .accounts.default.botToken
### Прочие настройки
Что Путь OpenClaw
--- ---
Режим подтверждения approvals.exec.mode
Белый список команд exec-approvals.json
URL браузера CDP browser.cdpUrl
Безголовый браузер browser.headless
Ключ поиска Brave tools.web.search.brave.apiKey
Токен аутентификации шлюза gateway.auth.token
Рабочая директория agents.defaults.workspace
### В архиве (нет прямого аналога в Hermes)
Они сохраняются в ~/.hermes/migration/openclaw/<timestamp>/archive/ для ручного просмотра:
Что Файл архива
--- ---
IDENTITY.md archive/workspace/IDENTITY.md
TOOLS.md archive/workspace/TOOLS.md
HEARTBEAT.md archive/workspace/HEARTBEAT.md
BOOTSTRAP.md archive/workspace/BOOTSTRAP.md
Cron-задачи archive/cron-config.json
Плагины archive/plugins-config.json
Хуки/вебхуки archive/hooks-config.json
Бэкенд памяти archive/memory-backend-config.json
Реестр навыков archive/skills-registry-config.json
UI/идентификация archive/ui-identity-config.json
Логирование archive/logging-diagnostics-config.json
Список мультиагентов archive/agents-list.json
Привязки каналов archive/bindings.json
Сложные каналы archive/channels-deep-config.json
## Разрешение API-ключей
Когда --migrate-secrets включён, API-ключи собираются из четырёх источников в порядке приоритета:
1. Значения конфигурацииmodels.providers.*.apiKey и ключи TTS-провайдеров в openclaw.json
2. Файл окружения~/.openclaw/.env (ключи вида OPENROUTER_API_KEY, ANTHROPIC_API_KEY и т.д.)
3. Подобъект env конфигурацииopenclaw.json"env" или "env"."vars" (некоторые конфигурации хранят ключи здесь вместо отдельного файла .env)
4. Профили аутентификации~/.openclaw/agents/main/agent/auth-profiles.json (учётные данные для каждого агента)

Значения конфигурации имеют приоритет. Каждый последующий источник заполняет оставшиеся пробелы.

Поддерживаемые целевые ключи

OPENROUTER_API_KEY, OPENAI_API_KEY, ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, GEMINI_API_KEY, ZAI_API_KEY, MINIMAX_API_KEY, ELEVENLABS_API_KEY, TELEGRAM_BOT_TOKEN, VOICE_TOOLS_OPENAI_KEY Ключи, отсутствующие в этом белом списке, никогда не копируются.

Обработка SecretRef

Значения конфигурации OpenClaw для токенов и API-ключей могут быть в трёх форматах: [code] // Простая строка "channels": { "telegram": { "botToken": "123456:ABC-DEF..." } }

// Шаблон окружения
"channels": { "telegram": { "botToken": "${TELEGRAM_BOT_TOKEN}" } }

// Объект SecretRef
"channels": { "telegram": { "botToken": { "source": "env", "id": "TELEGRAM_BOT_TOKEN" } } }

[/code] Миграция разрешает все три формата. Для шаблонов окружения и объектов SecretRef с source: "env" значение ищется в ~/.openclaw/.env и в под-объекте env конфигурации openclaw.json. Объекты SecretRef с source: "file" или source: "exec" не могут быть разрешены автоматически — миграция предупреждает о них, и эти значения необходимо добавить в Hermes вручную через hermes config set.

После миграции

  1. Проверьте отчёт о миграции — выводится по завершении с количеством перенесённых, пропущенных и конфликтующих элементов.
  2. Просмотрите архивированные файлы — всё в ~/.hermes/migration/openclaw/<timestamp>/archive/ требует ручного внимания.
  3. Начните новую сессию — импортированные навыки и записи памяти вступают в силу в новых сессиях, а не в текущей.
  4. Проверьте API-ключи — запустите hermes status для проверки аутентификации провайдеров.
  5. Протестируйте обмен сообщениями — если вы перенесли токены платформ, перезапустите шлюз: systemctl --user restart hermes-gateway
  6. Проверьте политики сессий — убедитесь, что hermes config get session_reset соответствует вашим ожиданиям.
  7. Повторно свяжите WhatsApp — WhatsApp использует QR-связывание (Baileys), а не перенос токенов. Запустите hermes whatsapp для связывания.
  8. Очистка архива — после подтверждения, что всё работает, запустите hermes claw cleanup, чтобы переименовать оставшиеся директории OpenClaw в .pre-migration/ (предотвращает путаницу состояний).

Устранение неполадок

«Директория OpenClaw не найдена»

Миграция проверяет ~/.openclaw/, затем ~/.clawdbot/, затем ~/.moltbot/. Если ваша установка находится в другом месте, используйте --source /путь/к/вашему/openclaw.

«Не найдены API-ключи провайдеров»

Ключи могут храниться в нескольких местах в зависимости от версии OpenClaw: встроенные в openclaw.json в models.providers.*.apiKey, в ~/.openclaw/.env, в под-объекте "env" в openclaw.json или в agents/main/agent/auth-profiles.json. Миграция проверяет все четыре. Если ключи используют SecretRef с source: "file" или source: "exec", они не могут быть разрешены автоматически — добавьте их через hermes config set.

Навыки не отображаются после миграции

Импортированные навыки попадают в ~/.hermes/skills/openclaw-imports/. Начните новую сессию, чтобы они вступили в силу, или выполните /skills для проверки их загрузки.

TTS-голос не перенесён

OpenClaw хранит настройки TTS в двух местах: messages.tts.providers.* и конфигурация talk на верхнем уровне. Миграция проверяет оба. Если ваш ID голоса был установлен через UI OpenClaw (хранится в другом пути), вам может потребоваться установить его вручную: hermes config set tts.elevenlabs.voice_id YOUR_VOICE_ID. * Быстрый старт * Параметры * Что переносится * Личность, память и инструкции * Навыки (4 источника) * Конфигурация модели и провайдера * Поведение агента * Политики сброса сессий * MCP-серверы * TTS (текст-в-речь) * Платформы обмена сообщениями * Прочие настройки * В архиве (нет прямого аналога в Hermes) * Разрешение API-ключей * Поддерживаемые целевые ключи * Обработка SecretRef * После миграции * Устранение неполадок * «Директория OpenClaw не найдена» * «Не найдены API-ключи провайдеров» * Навыки не отображаются после миграции * TTS-голос не перенесён