Skip to main content
graphwiz.aigraphwiz.ai
← Back to Posts

Hermes: The OpenClaw Replacement That Actually Learns

AIDevOps
hermesopenclawai-agentsmigrationself-hosting

When OpenClaw hit nine CVEs in four days last spring, including a CVSS 9.9 vulnerability, developers started looking for alternatives. Cisco called personal AI agents like OpenClaw "a security nightmare." Meanwhile, a competitor had quietly grown to 110,000 GitHub stars in just ten weeks: Hermes Agent by Nous Research.

Hermes isn't just another OpenClaw clone. It adds something OpenClaw lacks: a closed learning loop that enables the agent to self-improve over time without fine-tuning. Every task it completes gets distilled into persistent memory; next time it encounters a similar request, it responds with accumulated experience.

What Migrates from OpenClaw

Hermes includes a built-in migration path via hermes claw migrate. The command auto-detects ~/.openclaw and imports:

  • Persona: SOUL.md~/.hermes/SOUL.md (direct copy)
  • Memory: MEMORY.md, USER.md, HEARTBEAT.md~/.hermes/memories/ (parsed into entries, merged with existing)
  • Skills: workspace/skills/~/.hermes/skills/openclaw-imports/
  • Command allowlist: Approval patterns → merged into config.yaml
  • Messaging settings: Platform configs, allowed users, working directory → ~/.hermes/.env
  • API keys: Allowlisted secrets (Telegram, OpenRouter, OpenAI, Anthropic, ElevenLabs) → ~/.hermes/.env
  • TTS assets: Workspace audio files → ~/.hermes/tts/
  • Workspace instructions: AGENTS.md (copy to workspace with --workspace-target)

Model configuration maps as follows:

OpenClawHermes
agents.defaults.modelconfig.yaml → model
models.providers.*config.yaml → custom_providers
channels.telegramconfig.yaml → platforms.telegram
agents.defaults.compactionconfig.yaml → compression

Quick Migration Steps

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

Anytime after install:

# Preview then migrate (always shows preview first)
hermes claw migrate

# Preview only, no changes
hermes claw migrate --dry-run

# Full migration including API keys, skip confirmation
hermes claw migrate --preset full --migrate-secrets --yes

# Migrate without secrets
hermes claw migrate --preset user-data

All options:

FlagDescription
--dry-runPreview only — no files modified
--preset {user-data,full}Migration preset (default: full). user-data excludes secrets
--overwriteOverwrite existing files (default: skip conflicts)
--migrate-secretsInclude allowlisted secrets
--source PATHCustom OpenClaw directory
--workspace-target PATHCopy AGENTS.md to this path
--skill-conflict {skip,overwrite,rename}Handle skill conflicts (default: skip)
--yes, -ySkip confirmation prompts

Installation Options

Option A: Official bash installer (recommended)

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes --version

The installer handles Python 3.11, Node.js v22, uv, ripgrep, and ffmpeg automatically. Requires Git as the only prerequisite.

Option B: Docker

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  -p 8642:8642 \
  nousresearch/hermes-agent gateway run

Place your .env file in ~/.hermes/ with ANTHROPIC_API_KEY or OPENAI_API_KEY, plus platform tokens like TELEGRAM_BOT_TOKEN.

Option C: From source

git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"
hermes --version

The [all] extra installs every platform connector and memory backend. For minimal install, use pip install -e .

Post-Migration Checklist

  1. Verify configuration:
hermes setup    # Run wizard if not done during install
hermes status   # Check agent, auth, and platform status
hermes doctor   # Diagnose any config or dependency issues
  1. Rebuild memory index: Migrated memories need re-embedding
hermes memory reindex
  1. Test skills: Check that migrated skills load correctly
hermes skills list
  1. Update model settings: Choose your provider
hermes model  # Interactive model selector

Recommended models: Qwen 3.5 (free on OpenRouter) for routine automation; Claude Opus 4.6 or GPT 5.4 (thinking mode medium+) for complex reasoning tasks.

Hermes vs OpenClaw: Trade-offs

AspectOpenClawHermes
StrengthBreadth: 20+ channels, 13,000+ ClawHub skillsDepth: Long-term memory, self-learning loop
SetupMore complex, Node.js-basedEasier setup, better default memory
Channels24 messaging platforms7 platforms
CommunityClawHub marketplaceSmaller but growing
Self-improvementRequires manual skill creationAutomatic via GEPA reflection loop
RuntimeNode.jsPython 3.11
SecurityCVEs spring 2026MIT license, local-only data storage, clean codebase

Dual-Stack Deployment

Hermes and OpenClaw naturally complement each other. Dual-stack deployment is often better than outright migration:

  • OpenClaw handles broad channel coverage and planning, decomposition, multi-step coordination
  • Hermes serves as the execution specialist for repetitive domain-specific workflows

Both can run side-by-side, exchanging tasks and results via HTTP or message queues. This is particularly useful for teams needing both broad channel coverage and long-term learning capability.

Known Migration Issues

The hermes claw migrate tool has tracked several schema drift issues:

IssueImpactStatus
workspace/workspace-main/ path changeMemories not migratingFixed in v0.3.0+
Channel tokens → accounts.default.* pathsWrong auth token locationFixed in v0.3.0+
TTS edgemicrosoft renameTTS provider detection failsFixed in v0.3.0+
Provider API types now hyphenatedWrong apiType for providersFixed in v0.3.0+
thinkingDefault enum expandedInvalid enum valuesFixed in v0.3.0+

If you're on a Hermes version pre-v0.3.0, use the migration script from the official docs or the community openclaw-to-hermes tool as a reference.

Why Hermes Now?

The timing isn't coincidental. OpenClaw's security crisis created a gap. But Hermes offers more than just safety — it offers a fundamentally different approach to AI agents: one that learns from experience rather than requiring manual skill creation.

If you have a long-running project and you've been using Claude Code or Cursor in the default configuration, the practical experiment is: install Hermes Agent on a $5 VPS, point it at one repo, give it a Telegram channel, and let it accumulate skills for a month. The skills it writes are the test — if they're useful after a month, the loop works for your workflow.

Migration takes under 10 minutes with hermes claw migrate. Your agent picks up right where it left off — SOUL.md, MEMORY.md, skills, and channels all transfer seamlessly. Keep OpenClaw installed for a week after migration in case you want to reference old configs before decommissioning.

Next Steps

  1. Backup your OpenClaw setup:
cp -r ~/.openclaw ~/.openclaw.backup
  1. Install Hermes:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  1. Run setup with migration:
source ~/.bashrc
hermes setup  # Auto-detects OpenClaw and offers migration
  1. Verify channels work:
hermes gateway

Send a test message to your Telegram/Discord bot to confirm everything's functioning. Your agent now has OpenClaw's breadth plus the ability to learn from every interaction.