The self-evolving AI agent. One binary. Every platform.
Rust rewrite of Hermes Agent by Nous Research.
110,000+ lines of Rust ยท 1,354 tests ยท 17 crates ยท ~16MB binary
๐ Zero dependencies โ Single static binary. No Python, no pip, no Docker. Copy it to a Raspberry Pi, a $3 VPS, or an air-gapped server and run it.
๐ง Self-evolution engine โ Multi-armed bandit model selection, long-task planning, and prompt/memory shaping. The agent gets better the more you use it.
๐ 17 platforms, 30+ tools, 8 memory backends โ Telegram, Discord, Slack, WhatsApp, Signal, Matrix, and 11 more. File ops, browser, code execution, vision, voice, web search, Home Assistant, and beyond.
โก True concurrency โ Rust's tokio runtime dispatches tool calls across OS threads. A 30-second browser scrape doesn't block a 50ms file read. No GIL.
# Install
curl -fsSL https://raw.githubusercontent.com/Lumio-Research/hermes-agent-rs/main/scripts/install.sh | bash
# Set your API key
echo "ANTHROPIC_API_KEY=sk-..." >> ~/.hermes/.env
# Run
hermesThat's it. You're in an interactive session with tool access, memory, and streaming.
Chat with any LLM โ switch models mid-conversation:
hermes
> /model gpt-4o
> Summarize this repo and find security issues
One-shot tasks from the command line:
hermes chat --query "Refactor auth.rs to use the new error types"Multi-platform gateway โ connect Telegram, Discord, Slack, and more simultaneously:
hermes gateway startRun anywhere โ Docker, SSH, or remote sandboxes:
# ~/.hermes/config.yaml
terminal:
backend: docker
image: ubuntu:24.04MCP + ACP โ connect external tool servers or expose Hermes as one:
mcp:
servers:
- name: my-tools
command: npx my-mcp-serverVoice mode โ VAD + STT + TTS pipeline for hands-free interaction.
hermes-cli # Binary entry point, TUI, slash commands
โโโ hermes-agent # Agent loop, LLM providers, memory plugins
โ โโโ hermes-core # Shared types, traits, error hierarchy
โ โโโ hermes-intelligence # Model routing, prompt building, self-evolution
โ โโโ hermes-config # Config loading, YAML/env merging
โโโ hermes-tools # 30+ tool backends, approval engine
โโโ hermes-gateway # 17 platform adapters, session management
โโโ hermes-environments # Terminal: Local/Docker/SSH/Daytona/Modal/Singularity
โโโ hermes-mcp # Model Context Protocol client/server
โโโ hermes-acp # Agent Communication Protocol
โโโ hermes-skills # Skill management and hub
โโโ hermes-cron # Cron scheduling
โโโ hermes-http # REST/WebSocket API server
โโโ hermes-auth # OAuth token exchange
โโโ hermes-eval # SWE-bench, Terminal-Bench, YC Bench
โโโ hermes-telemetry # OpenTelemetry + Prometheus
Key traits: LlmProvider (10 providers) ยท ToolHandler (30+ backends) ยท PlatformAdapter (17 platforms) ยท TerminalBackend (6 backends) ยท MemoryProvider (8 plugins)
Tool call parsers: Hermes, Anthropic, OpenAI, Qwen, Llama, DeepSeek, Auto
One-liner (auto-detects OS and CPU):
curl -fsSL https://raw.githubusercontent.com/Lumio-Research/hermes-agent-rs/main/scripts/install.sh | bashFrom source:
cargo install --git https://github.com/Lumio-Research/hermes-agent-rs hermes-cli --lockedManual download: grab the binary for your platform from Releases.
Docker:
docker run --rm -it -v ~/.hermes:/root/.hermes ghcr.io/lumio-research/hermes-agent-rsContributions welcome. Run the test suite before submitting:
cargo test --workspace # 1,354 tests
cargo clippy --workspace # Lint
cargo fmt --all --check # FormatSee AGENTS.md for architecture details and coding conventions.
MIT โ see LICENSE.
Based on Hermes Agent by Nous Research.
