Why Hermes Features Web UI Compare Install Resources Get started →
⚡ Open source · Self-hosted · MIT licensed

Hermes
Agent

The self-improving AI agent that lives on your server. Persistent memory, autonomous scheduling, and 15+ messaging platforms — all on hardware you control.

26k+ GitHub stars 15+ messaging platforms 47 built-in tools MIT licensed

Built by Nous Research

Why Hermes?

Most AI tools are excellent in the moment and weak over time. They give you a great answer, then forget you exist. The next session starts from zero.

The distinction isn't "has memory" vs "no memory" anymore. Every major tool has added some form of memory in the past year. The real question is whether that context is durable (survives reboots), self-hosted (your hardware), cross-surface (same agent on Telegram, Slack, terminal), and cumulative (compounds over months, not resets per project).

Hermes answers yes to all four. It runs as a persistent process on your server. Memory is markdown files in ~/.hermes/. The same agent that answered your Telegram message at 9am is available in your terminal at 2pm, with full context.

The market is converging fast. Chat assistants have added scheduling. Editors are shipping cloud agents. CLIs are getting skills systems. Hermes wins through synthesis — all of these capabilities working together on hardware you own, with a model of your choice.

Why synthesis matters: A scheduler without messaging is just cron. Messaging without memory is just a chatbot. Memory without scheduling is a glorified notes app. Hermes ties them together into a single persistent process with an identity that accumulates across time.
Session-scoped tool
You[Tool] → Answer → Done

Persistent agent
You[Hermes](memory, skills,
                    schedule, tools,
                    surfaces)

Memory: ~/.hermes/ (markdown files)
Skills: auto-written from experience
Schedule: cron, runs while you sleep
Surfaces: Telegram · Discord · Slack · browser
Model: your choice, swap anytime

What makes it different

🧠

Memory that compounds

Layered memory system: user profile, agent memory, skills, and session history. All stored locally as markdown files at ~/.hermes/.

  • Survives every reboot and model swap
  • 8 optional external memory providers
  • Grows more useful the longer you use it
  • Portable — it's just files
Memory docs →

Autonomous scheduling

Built-in cron scheduler runs on your server and delivers results to any platform you've connected. Set it and forget it.

  • Morning news briefings to Telegram
  • PR review automation
  • Test suite monitoring
  • Blog watchers and price alerts
Scheduling docs →
📡

Reach it from anywhere

15+ messaging platforms, same agent, same memory. Switch surfaces mid-conversation without losing context.

  • Telegram · Discord · Slack · WhatsApp
  • Signal · Matrix · Mattermost · Email · SMS
  • DingTalk · Feishu · WeCom · BlueBubbles
  • Home Assistant · browser
Messaging docs →

Everything in one system

🔧
47 built-in tools

Web search and extraction, browser automation, code execution, vision analysis, image generation, TTS, subagent delegation, and more.

Tools reference →
📚
Self-improving skills

The agent writes its own skills from experience. Compatible with agentskills.io open standard and shareable via Skills Hub.

Skills docs →
🔌
MCP integration

Connect to any MCP server — GitHub, databases, file systems, APIs. Hermes can also expose itself as an MCP server for Claude Code, Cursor, or Codex.

MCP docs →
🎙️
Voice mode

Real-time voice in CLI (Ctrl+B to record), Telegram voice bubbles, Discord voice channels. Supports faster-whisper locally or Groq/OpenAI Whisper.

Voice docs →
🖥️
6 terminal backends

Local, Docker, SSH, Daytona, Singularity, Modal. Run execution anywhere from a $5 VPS to serverless cloud, sandboxed as needed.

Backend docs →
🎭
Personality & SOUL.md

Define the agent's default voice with a global SOUL.md file. 14 built-in personas plus custom personalities via config.

Personality docs →
🤝
Agent orchestration

Spawn Claude Code or Codex as sub-agents for heavy coding tasks. Results fold back into Hermes memory. Hermes also runs as an MCP server for other tools.

Orchestration docs →
🔒
Security model

7-layer defense in depth: user allowlists, dangerous command approval, Docker isolation, MCP credential filtering, prompt injection scanning, cross-session isolation, input sanitization.

Security docs →

A browser interface for Hermes

Full-featured, no build step, no framework. Three-panel Claude-style layout — sessions sidebar, chat, workspace file browser. GitHub →

What it includes

1:1 parity with Hermes CLI
Multi-profile support
Session history with projects and tags
Tool call cards with expand/collapse
Workspace file browser
Inline file preview
Light + dark mode
Password protection
SSH tunnel ready
Docker image available
1
Install Hermes Agent first
bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes model   # configure your LLM provider
2
Clone and start the Web UI
bash
git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
./start.sh
or
Docker option
bash
docker pull ghcr.io/nesquena/hermes-webui:latest
docker run -d \
  -e WANTED_UID=$(id -u) -e WANTED_GID=$(id -g) \
  -v ~/.hermes:/home/hermeswebui/.hermes \
  -v ~/workspace:/workspace \
  -p 8787:8787 ghcr.io/nesquena/hermes-webui:latest
SSH tunnel (for remote servers)
bash
ssh -N -L 8787:127.0.0.1:8787 user@your-server

Then visit http://localhost:8787

How Hermes compares

The agent landscape is converging fast. Chat assistants added scheduling. Editors shipped cloud agents. CLIs are getting skills systems. Most comparisons a year ago are already outdated. This table reflects where things stand in mid-2026 — and will keep shifting. Hermes wins through synthesis: these capabilities working together on hardware you own, with a model of your choice.

vs. the agent landscape

Tool Persistent memory Self-hosted scheduling Messaging / surfaces Self-hosted Open source Self-improving skills Always-on
Hermes ✓ self-hosted ✓ 15+ platforms ✓ MIT ✓ automatic
OpenClaw ✓ 24+ platforms ✓ MIT Partial
Claude Code Partial Cloud or desktop app Preview No No No No
Codex Partial Desktop app No ✓ (CLI) ✓ Apache 2.0 No No
OpenCode Partial No Community Community No
Cursor ✓ per-project Cloud VMs ✓ Slack/web No No No No
GitHub Copilot Partial repo Via agent Via CLI No No No No
Claude.ai ✓ Cowork ✓ 50+ connectors No No No No
ChatGPT ✓ 50+ connectors No No No No

Head-to-head

Hermes vs. OpenClaw

OpenClaw (MIT, ~350k+ GitHub stars) is the closest comparison — open-source, self-hosted, always-on, with persistent memory, cron scheduling, and messaging. OpenClaw has the widest messaging surface (24+ platforms, including iMessage, LINE, WeChat, Teams) and native Chrome CDP browser control. Hermes wins on stability (OpenClaw has documented Telegram regressions through April 2026) and security — three separate 2026 audits found malicious skills in ClawHub, with Koi Security linking 335 packages to the "ClawHavoc" campaign and Bitdefender flagging ~900 malicious packages (~20% of the ecosystem). Hermes writes skills automatically; OpenClaw centers on a human-curated marketplace. Hermes also runs in the Python/ML ecosystem; OpenClaw is Node.js.

Hermes vs. Claude Code

Claude Code is Anthropic's official agentic tool, strong for focused coding sessions. It has a 26-event hooks system, a plugin/skills marketplace, CLAUDE.md/MEMORY.md project memory, and cloud-managed scheduling on Anthropic infrastructure. Research-preview messaging covers Telegram, Discord, and iMessage; Slack is not yet shipped. The key differences: cloud scheduling runs on Anthropic's infrastructure (data leaves your hardware; desktop app tasks run locally but require the app open), it's locked to Claude models, and it's not open source. Hermes can spawn Claude Code as a sub-agent for heavy implementation tasks — they're complementary.

Hermes vs. Cursor

Cursor has changed substantially. Per-project Memories shipped June 2025. Automations launched March 2026 — time-based, event-based, Slack-triggered background agents. v3.0 (April 2026) went agent-first. It's now valued at $29.3B. Cursor is excellent at what it does. But its agents run on cloud VMs with no data sovereignty. Hermes runs on your server, accumulates context across all your projects (not per-project), works with any model family, and is reachable from every surface you use — not just the editor.

Hermes vs. Claude.ai / ChatGPT

Both are capable and no longer just chat tools. Claude Cowork added scheduling (Feb 2026) and 50+ connectors including Slack. ChatGPT has Agent Mode (July 2025), Scheduled Tasks, a computer-using agent, and 50+ connectors. The fundamental issue isn't features — it's where execution lives. Neither is self-hosted. Memory, sessions, and scheduled tasks run on their servers. For workflows requiring data sovereignty, server-resident execution, or provider flexibility, that's a hard constraint with no workaround.

Get started in 60 seconds

Works on Linux, macOS, WSL2, and Android (Termux). On Windows, use WSL2 first.

bash — one-liner install
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
bash — first run
source ~/.bashrc      # reload shell
hermes model          # choose your LLM provider
hermes                # start chatting
bash — key commands
hermes model          # choose LLM provider and model
hermes tools          # configure enabled tools
hermes gateway setup  # set up messaging platforms
hermes doctor         # diagnose any issues
Full installation guide →

Supported LLM providers

Nous Portal OAuth
OpenAI / Codex Device code auth
Anthropic API key / auth
OpenRouter 200+ models API key
GitHub Copilot OAuth or token
DeepSeek API key
Groq API key
Hugging Face 20+ models API key
Ollama / local Local
Custom endpoint Any OpenAI-compatible URL Custom
Run hermes model to browse and authenticate interactively

What Hermes is not

Worth saying clearly. These are real trade-offs, not caveats.

✏️
Not the best in-editor autocomplete. For tight editor integration and line-by-line completions, use Cursor or Windsurf. That's not what Hermes is optimizing for.
🔧
Not zero-setup. You're running a server process. There's initial configuration for providers, messaging platforms, and tools. That's the trade-off for having something you own.
🤖
Doesn't make weaker models magical. The infrastructure is only as good as the model you connect. A weak model with great memory is still a weak model.
⚠️
Needs guardrails for high-stakes automations. Autonomous scheduling with broad tool access is powerful. Review what you're scheduling. The security model helps, but judgment matters.
Not the lowest-friction one-shot tool. For a quick answer you'll never revisit, claude.ai or ChatGPT is faster to reach. Hermes earns its setup cost over time, not in the first session.