OpenClaw to Hermes Migration (11/13) — Migration Checklist: Every hermes claw migrate Option

Official --dry-run / --preset / --skill-conflict / --workspace-target verbatim + pre-backup and post-verify


핵심 요약

  • Audience: OpenClaw user considering Hermes Agent. Or you're comparing both to decide.
  • What you'll get: All 8 official hermes claw migrate flags verbatim, what migrates vs what doesn't, a 5-step safe procedure (backup → dry-run → partial → full → verify), post-migration verification, rollback strategies.
  • Prerequisite: OpenClaw running, Hermes installed (#12), command basics (#13).

1. Why this command exists

Hermes ships an official migration command for OpenClaw users to switch cleanly:

hermes claw migrate [options]

Pairs with ~/.hermes/skills/openclaw-imports/ in the official repo — migrated skills land there.

Key note: migration is a copy, not a move. Success leaves OpenClaw data untouched. You can roll back, but disk usage doubles.


2. hermes claw migrate options — all (verbatim)

Flag Effect
--dry-run Preview only — no writes
--preset <name> full (includes secrets) or user-data (no secrets)
--overwrite Overwrite existing Hermes files
--migrate-secrets Include API keys
--source <path> Custom OpenClaw directory
--workspace-target <path> Target path for AGENTS.md
--skill-conflict <mode> skip / overwrite / rename
--yes Skip confirmation prompts

2.1 --preset distinction

  • full — everything: config, memory, skills, secrets (API keys / tokens).
  • user-data — no secrets. User memory, skills, AGENTS.md only.

On shared servers or team contexts: user-data. On a personal single machine: full is convenient.

2.2 --skill-conflict distinction

When an OpenClaw skill's name collides with a Hermes default or a previously migrated skill.

Mode Effect
skip Keep existing; drop new
overwrite Replace existing with new
rename Suffix the new one; keep both

First-pass migration: use rename — compare afterward, then delete.

2.3 --source / --workspace-target

For non-standard paths:

  • --source /custom/openclaw/path: if OpenClaw lives outside ~/.openclaw/.
  • --workspace-target ~/projects/my-app: merge OpenClaw workspace contents into the project's AGENTS.md.

3. What migrates and what doesn't

Not fully enumerated officially — inferred from the command's design + observation.

3.1 Migrates (confirmed)

  • User memory — OpenClaw MEMORY.md / USER.md → Hermes ~/.hermes/memories/.
  • Skills~/.openclaw/workspace/skills/~/.hermes/skills/openclaw-imports/.
  • AGENTS.md — if --workspace-target is set, merged there. Otherwise at workspace root.
  • (Optional) Secrets — with --preset full or --migrate-secrets, API keys and tokens.

3.2 Does NOT migrate (watch)

  • OpenClaw gateway state — stop the OpenClaw daemon separately; Hermes has its own gateway.
  • Channel pairing state — bot tokens come over, but paired user lists may need reconfirmation.
  • SQLite session DB — OpenClaw and Hermes use different session schemas. Past conversation logs are read-only reference, not migrated automatically.
  • Pairing approvals — must be re-approved in Hermes.
  • Cron / hooks — OpenClaw cron / hooks must be manually re-created with hermes cron / hermes webhook.

4. 5-step safe migration

4.1 Step 1: snapshot OpenClaw

In OpenClaw:

openclaw doctor
openclaw channels status --probe

cp -r ~/.openclaw ~/.openclaw.bak-$(date +%Y%m%d)

Full copy of the OpenClaw directory. Recoverable if hermes claw migrate fails.

4.2 Step 2: preserve current Hermes state

If you already used Hermes:

hermes backup -o ~/hermes-pre-migrate-$(date +%Y%m%d).zip

Restore with hermes import if conflicts go wrong.

4.3 Step 3: preview with --dry-run

hermes claw migrate --dry-run

No writes — just a plan. Confirm: - How many skills will migrate - Where AGENTS.md lands - Memory conflicts

Read the output carefully.

4.4 Step 4: partial migration (user-data + rename)

No secrets; collisions get rename:

hermes claw migrate \
  --preset user-data \
  --skill-conflict rename

Post-migration checks:

ls ~/.hermes/skills/openclaw-imports/
cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md

hermes skills list
hermes status --deep

4.5 Step 5: secrets migration (personal machines only)

On a personal laptop / home server:

hermes claw migrate \
  --preset full \
  --migrate-secrets \
  --overwrite \
  --yes

--overwrite replaces the user-data step with a secrets-inclusive version. Assumes backups done.

Never on a shared server. --migrate-secrets writes API keys to files under ~/.hermes/ — other users reading them = token leak.


5. Post-migration verification checklist

hermes doctor
hermes status --all

hermes skills list
ls ~/.hermes/skills/openclaw-imports/

cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md

hermes auth list

hermes gateway setup
hermes pairing list

hermes chat -q "Post-migration test. Do you remember my name?"

If USER.md had your name, the agent should answer naturally. "I don't know" means MEMORY/USER migration failed.


6. Skill conflict in practice

6.1 Inventory after rename

If OpenClaw has a skill memory-guardian and Hermes has a default with a similar name, after rename:

~/.hermes/skills/
├── memory-guardian/                # Hermes default
└── openclaw-imports/
    └── memory-guardian-openclaw/   # migrated, with suffix

Compare:

hermes skills inspect memory-guardian
hermes skills inspect memory-guardian-openclaw

inspect previews without installing. Keep the better one, remove the other:

hermes skills uninstall memory-guardian-openclaw

6.2 When to use --overwrite

Only if you heavily tuned an OpenClaw custom skill and want it verbatim:

hermes claw migrate --preset user-data --skill-conflict overwrite

Hermes defaults get replaced. Future Hermes upgrades to those defaults won't apply. Use this deliberately.


7. Memory merge — watch these

7.1 Token caps

Hermes active memory, per #14, caps at MEMORY.md 2,200 chars / USER.md 1,375 chars. If OpenClaw's was larger, it gets truncated.

After migration:

wc -c ~/.hermes/memories/MEMORY.md
wc -c ~/.hermes/memories/USER.md

If near the cap, curate. Long historical notes should move to the session DB (prompt the agent explicitly to store them so they enter FTS5 meaningfully).

7.2 Deduplication

OpenClaw and Hermes may have learned the same facts. Review and deduplicate manually.


8. AGENTS.md migration

OpenClaw's ~/.openclaw/workspace/skills/<skill>/AGENTS.md is per-skill. Hermes's AGENTS.md is per-project (git root).

Merge via --workspace-target:

hermes claw migrate \
  --workspace-target ~/projects/my-app \
  --preset user-data

OpenClaw workspace instructions merge into ~/projects/my-app/AGENTS.md. Existing AGENTS.md gets concatenated.


9. Channel reconnect — manual steps

Not auto:

9.1 Discord / Slack / Telegram bots

hermes gateway setup

Per channel: 1. Reuse the OpenClaw bot token (or hermes auth add referencing an env var) 2. Re-pair (Hermes gateway running → user DMs → pending) 3. hermes pairing listhermes pairing approve <CODE>

The Discord / Slack bots themselves persist — you don't need to recreate apps in Discord Developer Portal. Only the runtime moves from OpenClaw to Hermes.

9.2 Stop the OpenClaw bot

If both agents run with the same token, both reply — confusing. Stop OpenClaw first:

launchctl unload ~/Library/LaunchAgents/com.openclaw.gateway.plist
systemctl --user stop openclaw

9.3 Re-create cron / hooks

OpenClaw cron/hook entries need manual port:

cat ~/.openclaw/openclaw.json | jq .cron
cat ~/.openclaw/openclaw.json | jq .hooks

hermes cron create ...
hermes webhook subscribe ...

10. Rollback strategies

If something serious breaks:

10.1 Roll back Hermes only

hermes import ~/hermes-pre-migrate-$(date +%Y%m%d).zip

hermes backup / hermes import round-trips cleanly.

10.2 Back to OpenClaw

OpenClaw wasn't touched — just start it up.

hermes gateway stop
launchctl load ~/Library/LaunchAgents/com.openclaw.gateway.plist
systemctl --user start openclaw

Remove Hermes entirely:

hermes uninstall --full --yes

10.3 Hybrid

Keep both, but split across different channels: - OpenClaw: Telegram (long archive) - Hermes: Discord + Slack (new workflows)

Coexist as long as they don't attach to the same channel simultaneously. Memory / skills don't sync between them.


11. Decision guide — should you move

Condition Pick
You value self-improving skills + FTS5 memory Hermes
You need all 22+ messenger channels OpenClaw
Rust-native speed Neither — Codex
Native Windows required OpenClaw (Hermes needs WSL2)
40+ built-in tools + SOUL.md persona wanted Hermes
SOC2 / enterprise audit required Both are early-stage — be cautious

12. Counter-scenarios — when NOT to migrate

  • Production bot stable → prove Hermes ROI first on a separate channel before moving.
  • Heavy investment in OpenClaw custom skills → risk of overwrite. Use rename and compare over time.
  • Team operation → don't migrate until all teammates are ready. Coordinate timelines.
  • Native Windows environment → Hermes lacks official support; WSL2 is mandatory.

13. Printable checklist

Before - [ ] openclaw doctor green - [ ] ~/.openclaw backed up (cp -r) - [ ] Hermes backup (hermes backup -o ...) - [ ] Documented OpenClaw's channels / skills / crons

During - [ ] hermes claw migrate --dry-run to review plan - [ ] hermes claw migrate --preset user-data --skill-conflict rename - [ ] No errors in output

After - [ ] hermes doctor - [ ] hermes skills list shows OpenClaw imports - [ ] MEMORY.md / USER.md look right - [ ] OpenClaw daemon stopped - [ ] hermes gateway setup → channels reconnected - [ ] Pairings re-approved - [ ] First test message succeeds - [ ] Cron / hooks manually ported - [ ] After 1 week stable: decide to uninstall OpenClaw


14. Series recap

This closes the 15-post "AI Coding CLI Entry Guide."

Claude Code (#1–#5)

  1. Install complete
  2. Slash commands complete
  3. CLAUDE.md authoring
  4. Hooks complete
  5. Token & cache cost

Codex (#6–#8)

  1. Install complete
  2. Advanced config
  3. Parallel workflow

OpenClaw (#9–#11)

  1. Install + Discord 30 min
  2. Production ops
  3. OpenClaw ↔ Claude Code bridge

Hermes Agent (#12–#15)

  1. Install + SOUL.md
  2. Command cheatsheet
  3. Persistent memory FTS5
  4. (this post) migration checklist

References


This is post 15/15 and the final entry in the "AI Coding CLI Entry Guide" series.
last verified: 2026-04-25 (per hermes-agent.nousresearch.com official docs).

댓글

이 블로그의 인기 게시물

Agent Memory Engine (2/10) — Building an AI Agent Memory System with SQLite Alone

"ML Foundations (9/9) — PyTorch vs TensorFlow, and the Road to Local LLMs"

"RAG Core Study (14/26) — Evaluation Sets with RAGAS & DeepEval"

"ML Foundations (8/9) — Deep Learning Architectures: CNN, RNN, Attention"

"ML Foundations (7/9) — Deep Learning Training: Optimizers, Regularization, Initialization"

OpenClaw to Hermes Migration (2/13) — What to Preserve, Partially Port, or Discard

AI Agents I Built (5/7) — Building an Automated Blogger API Publishing System