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.
Built by Nous Research
The core idea
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.
Skills: auto-written from experience
Schedule: cron, runs while you sleep
Surfaces: Telegram · Discord · Slack · browser
Model: your choice, swap anytime
Three pillars
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
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
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
Full feature set
Everything in one system
Web search and extraction, browser automation, code execution, vision analysis, image generation, TTS, subagent delegation, and more.
Tools reference →The agent writes its own skills from experience. Compatible with agentskills.io open standard and shareable via Skills Hub.
Skills docs →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 →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 →Local, Docker, SSH, Daytona, Singularity, Modal. Run execution anywhere from a $5 VPS to serverless cloud, sandboxed as needed.
Backend docs →Define the agent's default voice with a global SOUL.md file. 14 built-in personas plus custom personalities via config.
Personality docs →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 →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 →Hermes Web UI
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
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes model # configure your LLM provider
git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
./start.sh
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 -N -L 8787:127.0.0.1:8787 user@your-server
Then visit http://localhost:8787
Honest comparison
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.
Quick start
Get started in 60 seconds
Works on Linux, macOS, WSL2, and Android (Termux). On Windows, use WSL2 first.
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc # reload shell
hermes model # choose your LLM provider
hermes # start chatting
hermes model # choose LLM provider and model
hermes tools # configure enabled tools
hermes gateway setup # set up messaging platforms
hermes doctor # diagnose any issues
Supported LLM providers
hermes model to browse and authenticate interactively
Honest limitations
What Hermes is not
Worth saying clearly. These are real trade-offs, not caveats.
Docs & community