Nous Research-მა წარმოადგინა მიგრაციის ოფიციალური ინსტრუმენტი, რომელიც მომხმარებლებს საშუალებას აძლევს, საკუთარი OpenClaw, Clawdbot ან Moldbot გარემო Hermes-ის პლატფორმაზე სრულად გადაიტანონ. ეს პროცესი ავტომატიზებულია და ითვალისწინებს კონფიგურაციების, პერსონების, მეხსიერებისა და სკილების ადაპტირებას.

გადატანის პროცესი იწყება hermes claw migrate ბრძანებით. მნიშვნელოვანია, რომ სისტემა ავტომატურად ამოიცნობს ძველ დირექტორიებს, როგორიცაა ~/.openclaw/, ~/.clawdbot/ ან ~/.moltbot/.

OptionDescription
--dry-runPreview only — stop after showing what would be migrated.
--preset full (all compatible settings) or user-data (excludes infrastructure config). Neither preset imports secrets by default — pass --migrate-secrets explicitly.
--overwriteOverwrite existing Hermes files on conflicts (default: refuse to apply when the plan has conflicts).
--migrate-secretsInclude API keys. Required even under --preset full — no preset imports secrets silently.
--no-backupSkip the pre-migration zip snapshot of ~/.hermes/ (by default a single restore-point archive is written before apply, under ~/.hermes/backups/pre-migration-*.zip; restorable with hermes import).
--source Custom OpenClaw directory.
--workspace-target Where to place AGENTS.md.
--skill-conflict skip (default), overwrite, or rename.
--yesSkip the confirmation prompt after preview.

მიგრაციისას სისტემა სრულად აჩვენებს იმ მონაცემების ჩამონათვალს, რაც უნდა გადავიდეს, რაც მომხმარებელს საშუალებას აძლევს, პროცესის დადასტურებამდე გადაამოწმოს დეტალები.

WhatOpenClaw sourceHermes destinationNotes
Personaworkspace/SOUL.md~/.hermes/SOUL.mdDirect copy
Workspace instructionsworkspace/AGENTS.mdAGENTS.md in --workspace-targetRequires --workspace-target flag
Long-term memoryworkspace/MEMORY.md~/.hermes/memories/MEMORY.mdParsed into entries, merged with existing, deduped. Uses § delimiter.
User profileworkspace/USER.md~/.hermes/memories/USER.mdSame entry-merge logic as memory.
Daily memory filesworkspace/memory/*.md~/.hermes/memories/MEMORY.mdAll daily files merged into main memory.

რა მონაცემები ექვემდებარება მიგრაციას?

SourceOpenClaw locationHermes destination
Workspace skillsworkspace/skills/~/.hermes/skills/openclaw-imports/
Managed/shared skills~/.openclaw/skills/~/.hermes/skills/openclaw-imports/
Personal cross-project~/.agents/skills/~/.hermes/skills/openclaw-imports/
Project-level sharedworkspace/.agents/skills/~/.hermes/skills/openclaw-imports/

Hermes-ი უზრუნველყოფს პერსონალური ინსტრუქციების, მეხსიერების ფაილებისა და სხვადასხვა სკილის უწყვეტად გადმოტანას. სისტემა ავტომატურად ამოწმებს workspace.default/ და workspace-main/ დირექტორიებს, რათა დარწმუნდეს, რომ ყველა სამუშაო ფაილი შენარჩუნებულია.

WhatOpenClaw config pathHermes destinationNotes
Default modelagents.defaults.modelconfig.yaml → modelCan be a string or {primary, fallbacks} object
Custom providersmodels.providers.*config.yaml → custom_providersMaps baseUrl, apiType/api — handles both short ("openai", "anthropic") and hyphenated ("openai-completions", "anthropic-messages", "google-generative-ai") values
Provider API keysmodels.providers.*.apiKey~/.hermes/.envRequires --migrate-secrets. See API key resolution below.
WhatOpenClaw config pathHermes config pathMapping
Max turnsagents.defaults.timeoutSecondsagent.max_turnstimeoutSeconds / 10, capped at 200
Verbose modeagents.defaults.verboseDefaultagent.verbose"off" / "on" / "full"
Reasoning effortagents.defaults.thinkingDefaultagent.reasoning_effort"always"/"high"/"xhigh" → "high", "auto"/"medium"/"adaptive" → "medium", "off"/"low"/"none"/"minimal" → "low"
Compressionagents.defaults.compaction.modecompression.enabled"off" → false, anything else → true
Compression modelagents.defaults.compaction.modelcompression.summary_modelDirect string copy
Human delayagents.defaults.humanDelay.modehuman_delay.mode"natural" / "custom" / "off"
Human delay timingagents.defaults.humanDelay.minMs / .maxMshuman_delay.min_ms / .max_msDirect copy
Timezoneagents.defaults.userTimezonetimezoneDirect string copy
Exec timeouttools.exec.timeoutSecterminal.timeoutDirect copy (field is timeoutSec, not timeout)
Docker sandboxagents.defaults.sandbox.backendterminal.backend"docker" → "docker"
Docker imageagents.defaults.sandbox.docker.imageterminal.docker_imageDirect copy

სკილების კონფლიქტის შემთხვევაში, მომხმარებელს აქვს არჩევანი: დატოვოს არსებული Hermes-ის ვერსია, გადააწეროს ის ახლით, ან შექმნას იმპორტირებული ასლი.

OpenClaw config pathHermes config pathNotes
session.reset.modesession_reset.mode"daily", "idle", or both
session.reset.atHoursession_reset.at_hourHour (0–23) for daily reset
session.reset.idleMinutessession_reset.idle_minutesMinutes of inactivity

მოდელებისა და პროვაიდერების კონფიგურაცია ასევე ავტომატურად ხდება. თუ თქვენ იყენებდით მრავალპროვაიდერიან სისტემას, hermes setup --portal ბრძანება მას ერთიან OAuth ავტორიზაციაში გააერთიანებს.

OpenClaw fieldHermes fieldNotes
mcp.servers.*.commandmcp_servers.*.commandStdio transport
mcp.servers.*.argsmcp_servers.*.args
mcp.servers.*.envmcp_servers.*.env
mcp.servers.*.cwdmcp_servers.*.cwd
mcp.servers.*.urlmcp_servers.*.urlHTTP/SSE transport
mcp.servers.*.tools.includemcp_servers.*.tools.includeTool filtering
mcp.servers.*.tools.excludemcp_servers.*.tools.exclude

აგენტის ქცევის მოდელები და სესიების განულების პოლიტიკები ასევე ექვემდებარება ავტომატურ ტრანსფორმაციას, რაც უზრუნველყოფს Hermes-ში იგივე ლოგიკის შენარჩუნებას, რაც OpenClaw-ში იყო.

სესიების განულების პოლიტიკა ამოიცნობს resetTriggers-ის მასივს და გარდაქმნის მას Hermes-ისთვის გასაგებ სტრუქტურად.

WhatHermes destination
Provider nameconfig.yaml → tts.provider
ElevenLabs voice IDconfig.yaml → tts.elevenlabs.voice_id
ElevenLabs model IDconfig.yaml → tts.elevenlabs.model_id
OpenAI modelconfig.yaml → tts.openai.model
OpenAI voiceconfig.yaml → tts.openai.voice
Edge TTS voiceconfig.yaml → tts.edge.voice (OpenClaw renamed "edge" to "microsoft" — both are recognized)
TTS assets~/.hermes/tts/ (file copy)

MCP სერვერებისა და TTS (ტექსტის მეტყველებად გარდაქმნა) პარამეტრების გადატანა ხდება პრიორიტეტული რიგითობით, რაც უზრუნველყოფს ხმოვანი პარამეტრების მაქსიმალურ სიზუსტეს.

PlatformOpenClaw config pathHermes .env variableNotes
Telegramchannels.telegram.botToken or .accounts.default.botTokenTELEGRAM_BOT_TOKENToken can be string or SecretRef. Both flat and accounts layout supported.
Telegramcredentials/telegram-default-allowFrom.jsonTELEGRAM_ALLOWED_USERSComma-joined from allowFrom[] array
Discordchannels.discord.token or .accounts.default.tokenDISCORD_BOT_TOKEN
Discordchannels.discord.allowFrom or .accounts.default.allowFromDISCORD_ALLOWED_USERS
Slackchannels.slack.botToken or .accounts.default.botTokenSLACK_BOT_TOKEN
Slackchannels.slack.appToken or .accounts.default.appTokenSLACK_APP_TOKEN
Slackchannels.slack.allowFrom or .accounts.default.allowFromSLACK_ALLOWED_USERS
WhatsAppchannels.whatsapp.allowFrom or .accounts.default.allowFromWHATSAPP_ALLOWED_USERSAuth via Baileys QR pairing — requires re-pairing after migration
Signalchannels.signal.account or .accounts.default.accountSIGNAL_ACCOUNT
Signalchannels.signal.httpUrl or .accounts.default.httpUrlSIGNAL_HTTP_URL
Signalchannels.signal.allowFrom or .accounts.default.allowFromSIGNAL_ALLOWED_USERS
Matrixchannels.matrix.accessToken or .accounts.default.accessTokenMATRIX_ACCESS_TOKENUses accessToken (not botToken)
Mattermostchannels.mattermost.botToken or .accounts.default.botTokenMATTERMOST_BOT_TOKEN

TTS პარამეტრები მოწმდება როგორც ახალი, ისე ძველი (Legacy) ფორმატის ფაილებში.

WhatOpenClaw pathHermes pathNotes
Approval modeapprovals.exec.modeconfig.yaml → approvals.mode"auto"→"off", "always"→"manual", "smart"→"smart"
Command allowlistexec-approvals.jsonconfig.yaml → command_allowlistPatterns merged and deduped
Browser CDP URLbrowser.cdpUrlconfig.yaml → browser.cdp_url
Browser headlessbrowser.headlessconfig.yaml → browser.headless
Brave search keytools.web.search.brave.apiKey.env → BRAVE_API_KEYRequires --migrate-secrets
Gateway auth tokengateway.auth.token.env → HERMES_GATEWAY_TOKENRequires --migrate-secrets
Working directoryagents.defaults.workspaceconfig.yaml → terminal.cwdLegacy migrations may still emit MESSAGING_CWD as a compatibility fallback

მესინჯერების პლატფორმები და სხვა კონფიგურაციები ასევე გადადის ახალ სტრუქტურაში. იმ პარამეტრებს, რომლებსაც Hermes-ში პირდაპირი ანალოგი არ გააჩნია, სისტემა ინახავს ცალკე არქივში ~/.hermes/migration/openclaw/<timestamp>/archive/, რათა მომხმარებელმა შეძლოს მათი ხელით გადამოწმება.

არქივის ფაილები განკუთვნილია მხოლოდ მექანიკური გადამოწმებისთვის.

WhatArchive fileHow to recreate in Hermes
IDENTITY.mdarchive/workspace/IDENTITY.mdMerge into SOUL.md
TOOLS.mdarchive/workspace/TOOLS.mdHermes has built-in tool instructions
HEARTBEAT.mdarchive/workspace/HEARTBEAT.mdUse cron jobs for periodic tasks
BOOTSTRAP.mdarchive/workspace/BOOTSTRAP.mdUse context files or skills
Cron jobsarchive/cron-config.jsonRecreate with hermes cron create
Pluginsarchive/plugins-config.jsonSee plugins guide
Hooks/webhooksarchive/hooks-config.jsonUse hermes webhook or gateway hooks
Memory backendarchive/memory-backend-config.jsonConfigure via hermes honcho
Skills registryarchive/skills-registry-config.jsonUse hermes skills config
UI/identityarchive/ui-identity-config.jsonUse /skin command
Loggingarchive/logging-diagnostics-config.jsonSet in config.yaml logging section
Multi-agent listarchive/agents-list.jsonUse Hermes profiles
Channel bindingsarchive/bindings.jsonManual setup per platform
Complex channelsarchive/channels-deep-config.jsonManual platform config

დაბოლოს, მიგრაციის შემდეგ რეკომენდებულია hermes status ბრძანების გაშვება API გასაღებების ვალიდურობის შესამოწმებლად და hermes-gateway-ის გადატვირთვა მესინჯერების გამართულად მუშაობისთვის.