A technical comparison for power users evaluating self-hosted AI assistants
Node.js ยท MIT ยท by OpenClaw community
A self-hosted multi-channel AI gateway with a typed WebSocket daemon, SKILL.md plugin system, 20+ messaging integrations, cron/heartbeat, and a polished web/mobile control UI. Designed for 24/7 personal use with minimal setup friction.
Python ยท MIT ยท by Nous Research
A full-featured AI assistant framework with a 10K+ line Python core, CLI workflow, 18 messaging platforms, skills system, MCP integration, IDE plugin (ACP), and RL training environments. Aimed at developers and researchers who want deep extensibility.
| Dimension | OpenClaw ๐ข | Hermes Agent ๐ต |
|---|---|---|
| Project | openclaw/openclaw ยท MIT ยท v2026.4.x | nousresearch/hermes-agent ยท MIT ยทๆดป่ท development |
| Language | Node.js 24+ | Python 3.11+ |
| Architecture | Single long-lived WebSocket Gateway daemon (ws://127.0.0.1:18789), loopback-only by default |
Python orchestrator engine + separate gateway background process; synchronous AIAgent core (~10,700 lines), modular platform adapters |
| Channel Support | 20+ platforms: WhatsApp, Telegram, Discord, Slack, Signal, iMessage, IRC, Teams, Matrix, Feishu, LINE, Mattermost, Nostr, Synology, Twitch, Zalo, WeChat, QQ, WebChat, macOS/iOS/Android | 18 platforms: Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu, WeCom, Weixin, BlueBubbles, QQ, browser webhook, API server |
| Persistence | File-based workspace (~/.openclaw/), sessions.json, daily memory logs, optional LanceDB vector memory |
SQLite with FTS5 (hermes_state.py, gateway/session.py); configurable daily or idle session reset |
| Extensibility | SKILL.md files (bundled + ClawHub registry + workspace); Docker sandboxing; MCP registry; multi-agent routing | SKILL.md (agentskills.io compatible) + MCP client (stdio/HTTP) + plugin system for memory/context providers + external skill directories + dynamic webhook subscriptions |
| Agent Capabilities | Full agentic loop with tool use; browser control (Playwright); canvas; file/shell/exec; image/video/music/TTS generation; PDF/DOCX/PPTX/XLSX; LanceDB memory search; subagents; cron; webhooks; voice wake/talk (macOS/iOS/Android); Claude Code/Codex/Cursor delegation | 18+ LLM providers (OpenRouter, Anthropic, OpenAI, Google, DeepSeek, Ollama, vLLM, SGLang, etc.); 47 registered tools; subagent delegation via delegate_tool; voice mode (Discord); context compression; Anthropic prompt caching; background sessions; RL training via Atropos |
| Cron / Scheduling | Built-in cron with jobs.json; isolated sessions; announce delivery to any channel; NO_REPLY sentinel |
Natural language + cron expressions; pause/resume/edit/trigger; attach skills to jobs; tick every 60s; background job notifications (all/result/error/off) |
| Message Logging | Full transcripts in sessions.json; daily memory logs; Gateway debug logging | SQLite FTS5 full-text search; hermes sessions to browse/export/prune/rename/delete; hermes insights for token/cost/activity analytics |
| Setup Complexity | Moderate โ guided CLI onboarding (openclaw onboard); openclaw doctor for diagnostics; 5โ30 min typical |
Moderate โ curl | bash installer; hermes setup wizard; hermes model + hermes gateway setup; Python 3.11+ required |
| Documentation | High quality; docs.openclaw.ai; architecture/concepts/channel guides; DeepWiki; llms.txt | Good; hermes-agent.nousresearch.com/docs/; Docusaurus; getting-started, user-guide, developer-guide, reference |
| Self-Hosting | Fully self-hosted; no cloud dependency; Nix flake; Docker image; Tailscale/SSH tunnel for remote | Fully self-hosted; hermes gateway install [--system]; no Docker image (manual Docker deploy); WSL2/Termux supported |
| Resource Usage | ~100โ300 MB RAM idle (Node.js); low CPU at idle; can run on Raspberry Pi | Similar Python process footprint; gateway is CPU-light except during active agent turns |
| Windows Support | WSL2 only (no native Windows) | WSL2 only (no native Windows) |
| Auto-Start / Daemon | systemd user service (Linux), launchd (macOS) via openclaw daemon |
hermes gateway install (user systemd/launchd) or sudo hermes gateway install --system (systemd) |
| Updates | npm install -g openclaw@latest or openclaw update; frequent releases |
hermes update; active development, API may change |
| IDE Integration | Code execution via Claude Code / Codex / Cursor agent delegation | ACP adapter for VS Code / Zed / JetBrains; full IDE editor integration |
hermes insights)| Service | Default Port | Bind |
|---|---|---|
| OpenClaw Gateway | 18789 | 127.0.0.1 (loopback) |
| Hermes Gateway | Internal allocation (variable) | Internal |
| Hermes API Server (optional) | Configurable | Configurable |
No default port conflict between the two. If Hermes' API server is enabled, pick a port other than 18789.
Both tools use QR-code linking (WhatsApp Web protocol). Both will appear as separate linked devices on the same WhatsApp account. WhatsApp allows up to ~4 linked devices. Both assistants will respond independently โ configure ALLOWED_USERS on each to prevent unauthorized access. Stability is generally fine, but long-running QR-linked devices can occasionally de-link on WhatsApp server-side updates.
| Resource | Estimated Usage |
|---|---|
| OpenClaw RAM | ~100โ300 MB idle |
| Hermes RAM | ~150โ400 MB idle (Python) |
| Combined idle | ~300โ700 MB RAM โ well within a 2GB VPS |
| CPU at idle | Negligible for both |
| CPU during agent turn | spikes on whichever is active |
HERMES_HOME (~/.hermes/) and OPENCLAW_WORKSPACE (~/.openclaw/) directoriesALLOWED_USERS / ALLOW_ALL_USERS=false on Hermes; use OpenClaw's DM pairing allowlist18789| If you want... | Go with... |
|---|---|
| Everything working in 15 minutes, polished UI | OpenClaw |
| Deep Python hacking, RL training | Hermes |
| Native iOS/Android voice + apps | OpenClaw |
| IDE integration (VS Code, Zed, JetBrains) | Hermes |
| Local LLM inference (Ollama, vLLM) | Hermes |
| Canvas visual workspace | OpenClaw |
| Claude Code / Codex / Cursor agent delegation | OpenClaw |
| MCP client (external tool servers) | Hermes |
| Per-session token analytics | Hermes |
| Image / video / music generation tools | OpenClaw |
| Broadest messaging channel coverage | OpenClaw (20+ vs 18) |
| CLI-first, fully transparent Python codebase | Hermes |
| Strong Nous Research / AI research community | Hermes |