NousResearch/hermes-agent

Self-improving AI agent from Nous Research with a learning loop, TUI, messaging gateway, cron scheduling, subagents, and seven terminal backends. Works with any model.

  • 252k GitHub stars
  • Python
  • ⚖️ MIT
  • 🎯 Intermediate
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
NousResearch/hermes-agent preview image

What it is

Hermes Agent is an AI agent built by Nous Research with a built-in learning loop: it creates skills from experience, improves them during use, searches past conversations, and builds a model of the user across sessions. It runs from a terminal TUI or through a single gateway process for Telegram, Discord, Slack, WhatsApp, Signal, and CLI. It can run locally, on a VPS, on a GPU cluster, or on serverless infrastructure, and works with many model providers.

Who it's for

  • Developers who want a persistent agent that learns skills and remembers context across sessions
  • Users who want to talk to an agent from messaging apps like Telegram while it works on a remote machine
  • People who want scheduled, unattended automations described in natural language
  • Researchers generating batch trajectories for training tool-calling models
  • Users migrating from OpenClaw

Requirements

Requirements

  • Linux, macOS, WSL2, native Windows (PowerShell), or Android/Termux (aarch64)
  • An LLM provider such as Nous Portal, OpenRouter, OpenAI, or your own endpoint
  • Gateway setup is needed to use messaging platforms

Setup

  1. Install on Linux, macOS, or WSL2

    Run the one-line installer.

    bash
    curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
  2. Install on native Windows

    Run this in PowerShell.

    powershell
    iex (irm https://hermes-agent.nousresearch.com/install.ps1)
  3. Start chatting

    After installation, reload your shell and start Hermes.

    bash
    source ~/.bashrc    # reload shell (or: source ~/.zshrc)
    hermes              # start chatting!
  4. Optional: set up via Nous Portal

    Logs in via OAuth, sets Nous as your provider, and turns on the Tool Gateway.

    bash
    hermes setup --portal

Examples

Core CLI commands

bash
bash
hermes              # Interactive CLI — start a conversation
hermes model        # Choose your LLM provider and model
hermes tools        # Configure which tools are enabled
hermes gateway      # Start the messaging gateway (Telegram, Discord, etc.)
hermes setup        # Run the full setup wizard (configures everything at once)
hermes update       # Update to the latest version
hermes doctor       # Diagnose any issues

What it does: The main commands for chatting, choosing a model, configuring tools, starting the gateway, updating, and diagnosing problems.

Migrate from OpenClaw

bash
bash
hermes claw migrate              # Interactive migration (full preset)
hermes claw migrate --dry-run    # Preview what would be migrated
hermes claw migrate --preset user-data   # Migrate without secrets
hermes claw migrate --overwrite  # Overwrite existing conflicts

What it does: Imports settings, memories, skills, and allowlisted API keys from an existing OpenClaw install; --dry-run previews first.

Switch model in a conversation

Prompt
prompt
/model [provider:model]

Expected output: A slash command shared by the CLI and messaging platforms to change the model mid-conversation.

Check Nous Portal wiring

bash
bash
hermes portal info

What it does: Shows what is wired up after running hermes setup --portal.

Pros & cons

Pros

  • Pro:Model-agnostic: switch providers with hermes model with no code changes
  • Pro:Built-in learning loop with skill creation, memory, and FTS5 session search for cross-session recall
  • Pro:One gateway process covers Telegram, Discord, Slack, WhatsApp, Signal, and CLI
  • Pro:Seven terminal backends, including serverless Daytona and Modal that hibernate when idle

Cons

  • Con:Windows antivirus may flag the bundled uv.exe as a false positive, requiring verification or whitelisting
  • Con:Native Windows support is described as having possible bugs to report, per the README's heads-up
  • Con:Full use of web search, image generation, TTS, and cloud browser needs separate provider keys unless you use a Nous Portal subscription

Images