/ README.md
README.md
  1  <p align="center">
  2    <img src="assets/banner.png" alt="Hermes Agent" width="100%">
  3  </p>
  4  
  5  # Hermes Agent ☤
  6  
  7  <p align="center">
  8    <a href="https://hermes-agent.nousresearch.com/docs/"><img src="https://img.shields.io/badge/Docs-hermes--agent.nousresearch.com-FFD700?style=for-the-badge" alt="Documentation"></a>
  9    <a href="https://discord.gg/NousResearch"><img src="https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a>
 10    <a href="https://github.com/NousResearch/hermes-agent/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License: MIT"></a>
 11    <a href="https://nousresearch.com"><img src="https://img.shields.io/badge/Built%20by-Nous%20Research-blueviolet?style=for-the-badge" alt="Built by Nous Research"></a>
 12  </p>
 13  
 14  **The self-improving AI agent built by [Nous Research](https://nousresearch.com).** It's the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions. Run it on a $5 VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle. It's not tied to your laptop — talk to it from Telegram while it works on a cloud VM.
 15  
 16  Use any model you want — [Nous Portal](https://portal.nousresearch.com), [OpenRouter](https://openrouter.ai) (200+ models), [NVIDIA NIM](https://build.nvidia.com) (Nemotron), [Xiaomi MiMo](https://platform.xiaomimimo.com), [z.ai/GLM](https://z.ai), [Kimi/Moonshot](https://platform.moonshot.ai), [MiniMax](https://www.minimax.io), [Hugging Face](https://huggingface.co), OpenAI, or your own endpoint. Switch with `hermes model` — no code changes, no lock-in.
 17  
 18  <table>
 19  <tr><td><b>A real terminal interface</b></td><td>Full TUI with multiline editing, slash-command autocomplete, conversation history, interrupt-and-redirect, and streaming tool output.</td></tr>
 20  <tr><td><b>Lives where you do</b></td><td>Telegram, Discord, Slack, WhatsApp, Signal, and CLI — all from a single gateway process. Voice memo transcription, cross-platform conversation continuity.</td></tr>
 21  <tr><td><b>A closed learning loop</b></td><td>Agent-curated memory with periodic nudges. Autonomous skill creation after complex tasks. Skills self-improve during use. FTS5 session search with LLM summarization for cross-session recall. <a href="https://github.com/plastic-labs/honcho">Honcho</a> dialectic user modeling. Compatible with the <a href="https://agentskills.io">agentskills.io</a> open standard.</td></tr>
 22  <tr><td><b>Scheduled automations</b></td><td>Built-in cron scheduler with delivery to any platform. Daily reports, nightly backups, weekly audits — all in natural language, running unattended.</td></tr>
 23  <tr><td><b>Delegates and parallelizes</b></td><td>Spawn isolated subagents for parallel workstreams. Write Python scripts that call tools via RPC, collapsing multi-step pipelines into zero-context-cost turns.</td></tr>
 24  <tr><td><b>Runs anywhere, not just your laptop</b></td><td>Six terminal backends — local, Docker, SSH, Daytona, Singularity, and Modal. Daytona and Modal offer serverless persistence — your agent's environment hibernates when idle and wakes on demand, costing nearly nothing between sessions. Run it on a $5 VPS or a GPU cluster.</td></tr>
 25  <tr><td><b>Research-ready</b></td><td>Batch trajectory generation, Atropos RL environments, trajectory compression for training the next generation of tool-calling models.</td></tr>
 26  </table>
 27  
 28  ---
 29  
 30  ## Quick Install
 31  
 32  ```bash
 33  curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
 34  ```
 35  
 36  Works on Linux, macOS, WSL2, and Android via Termux. The installer handles the platform-specific setup for you.
 37  
 38  > **Android / Termux:** The tested manual path is documented in the [Termux guide](https://hermes-agent.nousresearch.com/docs/getting-started/termux). On Termux, Hermes installs a curated `.[termux]` extra because the full `.[all]` extra currently pulls Android-incompatible voice dependencies.
 39  >
 40  > **Windows:** Native Windows is not supported. Please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and run the command above.
 41  
 42  After installation:
 43  
 44  ```bash
 45  source ~/.bashrc    # reload shell (or: source ~/.zshrc)
 46  hermes              # start chatting!
 47  ```
 48  
 49  ---
 50  
 51  ## Getting Started
 52  
 53  ```bash
 54  hermes              # Interactive CLI — start a conversation
 55  hermes model        # Choose your LLM provider and model
 56  hermes tools        # Configure which tools are enabled
 57  hermes config set   # Set individual config values
 58  hermes gateway      # Start the messaging gateway (Telegram, Discord, etc.)
 59  hermes setup        # Run the full setup wizard (configures everything at once)
 60  hermes claw migrate # Migrate from OpenClaw (if coming from OpenClaw)
 61  hermes update       # Update to the latest version
 62  hermes doctor       # Diagnose any issues
 63  ```
 64  
 65  📖 **[Full documentation →](https://hermes-agent.nousresearch.com/docs/)**
 66  
 67  ## CLI vs Messaging Quick Reference
 68  
 69  Hermes has two entry points: start the terminal UI with `hermes`, or run the gateway and talk to it from Telegram, Discord, Slack, WhatsApp, Signal, or Email. Once you're in a conversation, many slash commands are shared across both interfaces.
 70  
 71  | Action | CLI | Messaging platforms |
 72  |---------|-----|---------------------|
 73  | Start chatting | `hermes` | Run `hermes gateway setup` + `hermes gateway start`, then send the bot a message |
 74  | Start fresh conversation | `/new` or `/reset` | `/new` or `/reset` |
 75  | Change model | `/model [provider:model]` | `/model [provider:model]` |
 76  | Set a personality | `/personality [name]` | `/personality [name]` |
 77  | Retry or undo the last turn | `/retry`, `/undo` | `/retry`, `/undo` |
 78  | Compress context / check usage | `/compress`, `/usage`, `/insights [--days N]` | `/compress`, `/usage`, `/insights [days]` |
 79  | Browse skills | `/skills` or `/<skill-name>` | `/<skill-name>` |
 80  | Interrupt current work | `Ctrl+C` or send a new message | `/stop` or send a new message |
 81  | Platform-specific status | `/platforms` | `/status`, `/sethome` |
 82  
 83  For the full command lists, see the [CLI guide](https://hermes-agent.nousresearch.com/docs/user-guide/cli) and the [Messaging Gateway guide](https://hermes-agent.nousresearch.com/docs/user-guide/messaging).
 84  
 85  ---
 86  
 87  ## Documentation
 88  
 89  All documentation lives at **[hermes-agent.nousresearch.com/docs](https://hermes-agent.nousresearch.com/docs/)**:
 90  
 91  | Section | What's Covered |
 92  |---------|---------------|
 93  | [Quickstart](https://hermes-agent.nousresearch.com/docs/getting-started/quickstart) | Install → setup → first conversation in 2 minutes |
 94  | [CLI Usage](https://hermes-agent.nousresearch.com/docs/user-guide/cli) | Commands, keybindings, personalities, sessions |
 95  | [Configuration](https://hermes-agent.nousresearch.com/docs/user-guide/configuration) | Config file, providers, models, all options |
 96  | [Messaging Gateway](https://hermes-agent.nousresearch.com/docs/user-guide/messaging) | Telegram, Discord, Slack, WhatsApp, Signal, Home Assistant |
 97  | [Security](https://hermes-agent.nousresearch.com/docs/user-guide/security) | Command approval, DM pairing, container isolation |
 98  | [Tools & Toolsets](https://hermes-agent.nousresearch.com/docs/user-guide/features/tools) | 40+ tools, toolset system, terminal backends |
 99  | [Skills System](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills) | Procedural memory, Skills Hub, creating skills |
100  | [Memory](https://hermes-agent.nousresearch.com/docs/user-guide/features/memory) | Persistent memory, user profiles, best practices |
101  | [MCP Integration](https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp) | Connect any MCP server for extended capabilities |
102  | [Cron Scheduling](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron) | Scheduled tasks with platform delivery |
103  | [Context Files](https://hermes-agent.nousresearch.com/docs/user-guide/features/context-files) | Project context that shapes every conversation |
104  | [Architecture](https://hermes-agent.nousresearch.com/docs/developer-guide/architecture) | Project structure, agent loop, key classes |
105  | [Contributing](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) | Development setup, PR process, code style |
106  | [CLI Reference](https://hermes-agent.nousresearch.com/docs/reference/cli-commands) | All commands and flags |
107  | [Environment Variables](https://hermes-agent.nousresearch.com/docs/reference/environment-variables) | Complete env var reference |
108  
109  ---
110  
111  ## Migrating from OpenClaw
112  
113  If you're coming from OpenClaw, Hermes can automatically import your settings, memories, skills, and API keys.
114  
115  **During first-time setup:** The setup wizard (`hermes setup`) automatically detects `~/.openclaw` and offers to migrate before configuration begins.
116  
117  **Anytime after install:**
118  
119  ```bash
120  hermes claw migrate              # Interactive migration (full preset)
121  hermes claw migrate --dry-run    # Preview what would be migrated
122  hermes claw migrate --preset user-data   # Migrate without secrets
123  hermes claw migrate --overwrite  # Overwrite existing conflicts
124  ```
125  
126  What gets imported:
127  - **SOUL.md** — persona file
128  - **Memories** — MEMORY.md and USER.md entries
129  - **Skills** — user-created skills → `~/.hermes/skills/openclaw-imports/`
130  - **Command allowlist** — approval patterns
131  - **Messaging settings** — platform configs, allowed users, working directory
132  - **API keys** — allowlisted secrets (Telegram, OpenRouter, OpenAI, Anthropic, ElevenLabs)
133  - **TTS assets** — workspace audio files
134  - **Workspace instructions** — AGENTS.md (with `--workspace-target`)
135  
136  See `hermes claw migrate --help` for all options, or use the `openclaw-migration` skill for an interactive agent-guided migration with dry-run previews.
137  
138  ---
139  
140  ## Contributing
141  
142  We welcome contributions! See the [Contributing Guide](https://hermes-agent.nousresearch.com/docs/developer-guide/contributing) for development setup, code style, and PR process.
143  
144  Quick start for contributors — clone and go with `setup-hermes.sh`:
145  
146  ```bash
147  git clone https://github.com/NousResearch/hermes-agent.git
148  cd hermes-agent
149  ./setup-hermes.sh     # installs uv, creates venv, installs .[all], symlinks ~/.local/bin/hermes
150  ./hermes              # auto-detects the venv, no need to `source` first
151  ```
152  
153  Manual path (equivalent to the above):
154  
155  ```bash
156  curl -LsSf https://astral.sh/uv/install.sh | sh
157  uv venv venv --python 3.11
158  source venv/bin/activate
159  uv pip install -e ".[all,dev]"
160  scripts/run_tests.sh
161  ```
162  
163  > **RL Training (optional):** The RL/Atropos integration (`environments/`) ships via the `atroposlib` and `tinker` dependencies pulled in by `.[all,dev]` — no submodule setup required.
164  
165  ---
166  
167  ## Community
168  
169  - 💬 [Discord](https://discord.gg/NousResearch)
170  - 📚 [Skills Hub](https://agentskills.io)
171  - 🐛 [Issues](https://github.com/NousResearch/hermes-agent/issues)
172  - 🔌 [HermesClaw](https://github.com/AaronWong1999/hermesclaw) — Community WeChat bridge: Run Hermes Agent and OpenClaw on the same WeChat account.
173  
174  ---
175  
176  ## License
177  
178  MIT — see [LICENSE](LICENSE).
179  
180  Built by [Nous Research](https://nousresearch.com).