Ctrl K
ComunidadGuías…

docs/src/comparison.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Comparison

How Moltis compares to the larger open-source personal agent projects: OpenClaw
and Hermes Agent.

> **Disclaimer:** This page is based on source snapshots captured while writing:
> OpenClaw [`90eb5b0`](https://github.com/openclaw/openclaw/commit/90eb5b073fd2d7d8e94b19708e3baceeb8811ca8)
> from 2026-04-01, Hermes Agent
> [`9f22977`](https://github.com/NousResearch/hermes-agent/commit/9f22977fc0d2d6de5ff4d0a1a8e4d4ae3a00ea52)
> from 2026-04-20, and Moltis
> [`5d044c6`](https://github.com/moltis-org/moltis/commit/5d044c62fd9d19264db0fc5705065f633d10a657)
> from 2026-04-22. Projects move quickly, so check each repository for current
> behavior before making a deployment decision.

## At a Glance

| | [OpenClaw](https://github.com/openclaw/openclaw) | [Hermes Agent](https://github.com/NousResearch/hermes-agent) | **Moltis** |
|---|---|---|---|
| Primary stack | TypeScript, with Swift/Kotlin companion apps | Python, with TypeScript TUI/web surfaces | **Rust** |
| Main runtime | Node.js 22.16+/24 + npm/pnpm/bun | Python + uv/pip, optional Node UI pieces | **Single Rust binary** |
| Main shape | Broad gateway, channel, node, app, and plugin ecosystem | CLI/gateway agent with a learning loop and research tooling | **Persistent personal agent server with modular crates** |
| Local checkout size\* | ~1.1M app LoC | ~152K app LoC | **~270K Rust LoC** |
| Crates/modules | npm packages, extensions, apps | Python packages, plugins, tools, TUI | **59 Rust workspace crates** |
| Sandbox/backends | App-level permissions, browser/node tools | Local, Docker, SSH, Daytona, Singularity, Modal | **Docker/Podman + Apple Container + WASM + Vercel + Daytona + remote sandboxes** |
| Auth/access | Pairing and gateway controls | CLI and messaging gateway setup | **Password + Passkey + API keys + Vault** |
| Voice I/O | Voice wake and talk modes | Voice memo transcription | **Built-in STT + TTS providers** |
| MCP | Plugin/integration support | MCP integration | **stdio + HTTP/SSE** |
| Skills | Bundled, managed, and workspace skills | Self-improving skills, Skills Hub support | **Bundled/workspace skills + autonomous improvement + OpenClaw import** |
| Memory/RAG | Plugin-backed memory and context engine | Agent-curated memory, session search, user modeling | **SQLite + FTS + vector memory** |

\* LoC measured with `tokei`, excluding `node_modules`, generated build output,
`dist`, and `target`. Counts are a rough auditability signal, not a quality
metric.

## Architecture Approach

### OpenClaw, ecosystem-first personal assistant

OpenClaw is a full-featured personal assistant platform. The local checkout
shows a TypeScript gateway with macOS, iOS, and Android companion surfaces,
plus a large channel list, node tools, browser/canvas support, plugin
extensions, onboarding, and managed/workspace skills.

### Hermes Agent, learning-loop CLI and gateway

Hermes Agent is Python-first. Its README centers the agent around a terminal
interface, a messaging gateway, a closed learning loop, self-improving skills,
agent-curated memory, session search, user modeling, cron scheduling, and
cloud/serverless execution backends. Moltis has autonomous skill improvement
too, so Hermes' sharper distinction is its CLI/research loop and broad terminal
backend set. It also carries research-oriented pieces such as trajectory
generation and RL environments.

### Moltis, Rust-native persistent agent server

Moltis prioritizes a smaller trusted runtime, durable agent workflows, and
defense in depth. The Rust workspace is currently ~270K lines across 59 crates.
The agent runner and model interface are ~7.5K lines, with provider
implementations in ~19K more.

Key differences:

- **Single Rust binary** instead of a Node.js or Python application runtime
- **Built-in web UI** with streaming chat, settings, sessions, projects, and
  admin surfaces
- **Docker/Podman, Apple Container, WASM, Vercel, Daytona, and remote sandboxing**
- **Password, WebAuthn passkeys, scoped API keys, and vault-backed secret
  storage**
- **Cross-session recall** without dumping raw history into every prompt
- **Autonomous skill self-improvement** with `enable_self_improvement` on by default
- **Automatic checkpoints** before built-in skill and memory mutations
- **15 lifecycle hook events** with circuit breaker and dry-run mode
- **Read-only OpenClaw import** for identity, providers, skills, memory,
  sessions, channels, and MCP config

Moltis intentionally has a small unsafe surface, not a zero-unsafe entire
workspace. Unsafe code is isolated to Swift FFI, local model wrappers, and
precompiled WASM/runtime boundaries. The core agent and gateway paths stay in
safe Rust.

## Security Model

| Aspect | OpenClaw | Hermes Agent | **Moltis** |
|--------|----------|--------------|------------|
| Code sandbox | App-level permissions and tool controls | Local/Docker/SSH/cloud terminal backends | Docker/Podman + Apple Container + WASM + Vercel + Daytona + remote sandboxes |
| Secret handling | Environment/config/plugin paths | Config and provider credentials | `secrecy::Secret`, encrypted vault, redaction |
| Auth/access | Pairing and gateway controls | CLI plus messaging gateway setup | Password + Passkey + scoped API keys |
| SSRF protection | Tool/plugin dependent | Tool/backend dependent | DNS-resolved, blocks loopback/private/link-local/CGNAT |
| WebSocket origin | Gateway dependent | Gateway dependent | Cross-origin rejection |
| Unsafe/native boundary | N/A for TS core, native apps exist | N/A for Python core, native deps possible | Isolated FFI/runtime unsafe islands |
| Hook gating | Plugin and runtime hooks | Hooks/plugins | `BeforeToolCall` inspect/modify/block |
| Rate limiting | Gateway dependent | Gateway dependent | Per-IP throttle, strict login limits |

## Local Checkout Snapshot

| Metric | OpenClaw | Hermes Agent | **Moltis** |
|--------|----------|--------------|------------|
| Main implementation LoC\* | ~1.0M TypeScript, ~89K Swift, ~25K Kotlin | ~144K Python, ~8K TypeScript | **~270K Rust** |
| Main install path | `npm install -g openclaw` | `curl .../install.sh \| bash`, then `hermes` | **Install script, Homebrew, Docker, or Cargo** |
| Runtime dependency | Node.js | Python environment | **Bundled binary** |
| Workspace/package count | npm packages, extensions, apps | Python package, plugins, tools, UI packages | **59 Rust crates** |
| Test surface signal | Large TS/app test tree | Python and TUI tests | **470+ Rust files containing tests** |

\* These counts are intentionally limited to app/source directories and exclude
dependency folders and build output. They are useful for spotting scale, not for
ranking projects.

## Links

- [OpenClaw](https://github.com/openclaw/openclaw) and [OpenClaw docs](https://docs.openclaw.ai)
- [Hermes Agent](https://github.com/NousResearch/hermes-agent) and [Hermes docs](https://hermes-agent.nousresearch.com/docs/)
- [Moltis](https://github.com/moltis-org/moltis) and [Moltis docs](https://docs.moltis.org)