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.
