From zero to working agent in under 5 minutes. Covers what the docs don't.
One command. That's it.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashSecurity tip: Piping scripts directly from the internet to bash executes them sight-unseen. If you prefer to inspect first:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o install.sh less install.sh # Review the script bash install.sh
Windows users: Native Windows is not supported. Install WSL2 and run the command from inside WSL. It works perfectly.
The installer handles everything automatically:
- Installs uv (fast Python package manager)
- Installs Python 3.11 via uv (no sudo needed)
- Installs Node.js v22 (for browser automation)
- Installs ripgrep (fast file search) and ffmpeg (audio conversion)
- Clones the Hermes repo
- Sets up the virtual environment
- Creates the global
hermescommand - Runs the setup wizard for LLM provider configuration
The only prerequisite is Git. Everything else is handled for you.
source ~/.bashrc # or: source ~/.zshrc
hermes # Start chatting!The setup wizard (hermes setup) walks you through:
hermes modelSupported providers:
| Provider | Best For | Env Variable |
|---|---|---|
| Anthropic (Claude) | Highest quality, best at complex tasks | ANTHROPIC_API_KEY |
| OpenAI (GPT-4.1/o3) | Strong tool use, fast | OPENAI_API_KEY |
| OpenRouter | Access 100+ models from one key | OPENROUTER_API_KEY |
| Cerebras | Fast inference, good for simple tasks | CEREBRAS_API_KEY |
| Groq | Very fast, limited context | GROQ_API_KEY |
| xAI (Grok) | Good balance of speed/quality | XAI_API_KEY |
| Google (Gemini) | Huge context, cheap | GEMINI_API_KEY |
You can configure multiple providers with automatic fallback. If one goes down, Hermes switches to the next.
hermes authThis opens an interactive menu to add API keys for each provider. Keys are stored in ~/.hermes/.env — never committed to git.
Tip: You can also set keys manually:
echo "ANTHROPIC_API_KEY=<your-key-here>" >> ~/.hermes/.env chmod 600 ~/.hermes/.env # Restrict access to your user onlyImportant: Always run
chmod 600 ~/.hermes/.envto prevent other users on the system from reading your API keys.
hermes toolsThis opens an interactive TUI to enable/disable tool categories:
- core — File read/write, terminal, web search
- web — Browser automation, web extraction
- browser — Full browser control (requires Node.js)
- code — Code execution sandbox
- delegate — Sub-agent spawning for parallel work
- skills — Skill discovery and creation
- memory — Memory search and management
Recommendation: Enable
core,web,skills, andmemoryat minimum. Addbrowserandcodeif you need automation or sandboxed execution.
After initial setup, fine-tune with hermes config set:
# Set primary model
hermes config set model anthropic/claude-sonnet-4-20250514
# Set fallback model (used when primary is rate-limited)
hermes config set fallback_models '["openrouter/anthropic/claude-sonnet-4-20250514"]'# Max turns per conversation (default: 90)
hermes config set agent.max_turns 90
# Verbose mode: off, on, or full
hermes config set agent.verbose off
# Quiet mode (less terminal output)
hermes config set agent.quiet_mode true# Enable prompt caching (reduces cost on repeated context)
hermes config set prompt_caching.enabled true
# Context compression (auto-summarize old messages)
hermes config set context_compression.enabled trueEverything lives under ~/.hermes/:
~/.hermes/
├── config.yaml # Main configuration
├── .env # API keys (never commit this)
├── SOUL.md # Agent personality (injected every message)
├── memories/ # Long-term memory entries
├── skills/ # Skills (auto-discovered)
├── skins/ # CLI themes
├── audio_cache/ # TTS audio files
├── logs/ # Session logs
└── hermes-agent/ # Source code (git repo)
Important:
SOUL.mdis injected into every message. Keep it under 1 KB. Every byte costs latency and tokens.
# Check everything is working
hermes status
# Quick test
hermes chat -q "Say hello and confirm you're working"Expected output: Hermes responds with a greeting, confirming the model connection, tool availability, and session initialization.
hermes updateThis pulls the latest code, updates dependencies, migrates config, and restarts the gateway. Run it regularly — Hermes ships frequent improvements.
- Coming from OpenClaw? → Part 2: OpenClaw Migration
- Want smarter memory? → Part 3: LightRAG Setup
- Need mobile access? → Part 4: Telegram Setup
- Want the agent to self-improve? → Part 5: On-the-Fly Skills