Why Hermes Features Web UI Who it's for Compare Install Hosting Resources 🤔 ELI5 🤖 Models 🌎 Community Get started →
⚡ Open source · Self-hosted · MIT licensed

Hermes
Agent

The self-improving AI agent that runs on your server. Layered memory that accumulates across sessions, a cron scheduler that fires while you're offline, and a skills system that saves reusable procedures automatically.

56k+ GitHub stars Multi-surface access 47 built-in tools MIT licensed

Built by Nous Research

Most tools are excellent in the moment and weak over time

Memory is no longer a differentiator on its own. ChatGPT, Claude, Cursor, and GitHub Copilot all have some form of memory now. Anthropic, OpenAI, and Microsoft are all shipping scheduling and agent features. The category boundaries that existed twelve months ago are blurring fast.

The distinction that matters is not "has memory" vs. "has no memory." It's whether context persists across sessions automatically, whether execution happens on hardware you control, whether you can reach the same agent identity from any device, and whether the system gets meaningfully better at your workflow over time without manual configuration.

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.

Why synthesis matters: The market is converging. Chat assistants added scheduling. Editors shipped cloud agents. CLIs are getting skills. Any single feature is available somewhere else. The value is having all of them in one self-hosted system, running continuously, with a persistent identity that accumulates real knowledge of your stack over time.
Session-scoped tool
You[Tool] → Answer → Done
(some tools carry memory, but execution is stateless)

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

Memory: ~/.hermes/ (markdown files, editable)
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 readable, editable markdown files at ~/.hermes/.

  • Survives every reboot and model swap
  • 8 optional external memory providers
  • You never configure it manually
  • Portable, inspectable, deletable
Memory docs →

Autonomous scheduling

Built-in cron scheduler runs on your server with full access to your memory and skills, and delivers results wherever you want them.

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

Reach it from anywhere

Multi-surface access: 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. 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 beautiful browser interface for Hermes

Full-featured, no build step, no framework. Three-panel Claude-style layout with sessions sidebar, chat, and workspace file browser. Everything you can do from a terminal, you can do from this UI. GitHub →

Hermes Web UI - three-panel layout with sessions, chat, and workspace
Three-panel layout — dark mode

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 (code, markdown, images)
Light + dark mode
Password protection
SSH tunnel ready
Docker image available
Voice input (Web Speech API)
Mobile responsive
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

Built for these workflows

Hermes earns its setup cost over time, not in the first session. These are the people and use cases where it shines.

💻
Solo developers
Don't want to re-explain your stack every session. Want an AI that actually knows your environment, your conventions, and what you fixed last week.
👥
Teams on a shared server
Multiple people sharing capable AI access without separate subscriptions. Each gets their own profile, memory, and history on the same instance.
Automation-heavy
Want an AI running scheduled tasks, delivering results to your phone, without babysitting it. Morning briefings, PR reviews, monitoring.
🔐
Privacy-conscious
Conversations, memory, and files stay on your hardware. No data leaving your server. Full control over what the agent can access.
🔄
Multi-model users
Switch between OpenAI, Anthropic, Google, DeepSeek, and others based on cost, capability, or rate limits without rebuilding your workflow.

How Hermes compares

The agent landscape is converging fast. Chat assistants added scheduling and connectors. Editors shipped cloud agents and automations. CLIs are getting skills systems and multi-surface reach. The lines between "assistant," "editor," and "agent" are dissolving. This table reflects where things stand in mid-2026. Hermes wins through synthesis: all of 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 ✓ many 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/mobile No No No No
GitHub Copilot Repo-scoped‡ Via agent Via CLI No No No No
Claude.ai ✓ Cowork ✓ 50+ connectors No No No No
ChatGPT ✓ 50+ connectors No No No No
Perplexity Computer Partial Daily/weekly Slack + Teams No No No No

† Claude Code: CLAUDE.md / MEMORY.md plus auto-memory since v2.1.59+; no automatic cross-project accumulation
‡ Copilot Agentic Memory: public preview Jan 2026; repo-scoped, auto-expires after 28 days

Head-to-head

Hermes vs. OpenClaw

OpenClaw (MIT, 350k+ stars) is the closest comparison: open-source, self-hosted, always-on. OpenClaw has the widest messaging surface (24+ platforms including iMessage, LINE, WeChat, Teams) and native Chrome CDP browser control. Hermes wins on stability (OpenClaw's Telegram integration broke across multiple 2026 releases) and security — three separate 2026 audits found malicious skills in ClawHub (Koi Security linked 335 to "ClawHavoc," Bitdefender flagged ~900 packages, ~20% of the ecosystem). Hermes writes skills automatically from experience; OpenClaw centers on a human-curated marketplace. Hermes runs in Python/ML ecosystem; OpenClaw is Node.js.

Hermes vs. Claude Code

Claude Code is Anthropic's official agentic tool spanning terminal, IDE, desktop, and browser. It has a 26-event hooks system, a plugin/skills marketplace, CLAUDE.md/MEMORY.md project memory with auto-memory since v2.1.59+, and cloud-managed scheduling on Anthropic infrastructure. Messaging channels (Telegram/Discord/iMessage) remain a research preview; Slack has not shipped. Key differences: scheduling requires cloud or desktop app (not a headless server daemon), memory doesn't accumulate across projects, and it's locked to Claude models. Hermes can spawn Claude Code as a sub-agent for heavy implementation tasks.

Hermes vs. Cursor

Cursor has changed substantially. Memories (per-project) shipped June 2025. Automations launched March 2026 with time-based, event-based, and Slack triggers on cloud VMs. Cursor v3.0 (April 2026) is explicitly agent-first with a $29.3B valuation. Cursor excels at editor-native agents with strong IDE integration. Hermes is self-hosted and server-resident: the same persistent identity follows you across every surface without cloud intermediation, works with any model family, and for workflows requiring data sovereignty or deep Python/ML tooling on your own hardware, Cursor's cloud architecture is a fundamental mismatch.

Hermes vs. Claude.ai / ChatGPT

Both are no longer simple chat tools. Claude Cowork added scheduling (Feb 2026) and 50+ connectors. ChatGPT has Agent Mode (July 2025), Scheduled Tasks, and 50+ connectors. Both have improved memory. The fundamental difference isn't features — it's where execution lives. Neither is self-hosted. Neither is provider-agnostic. Memory, sessions, and agent execution run on their servers, not yours. For workflows requiring data sovereignty, persistent server-resident execution, or provider flexibility, that's a disqualifying constraint.

Hermes vs. Perplexity Computer

Perplexity Computer (February 2026) is a cloud agentic workflow engine that routes across 19+ frontier models, runs tasks in isolated sandboxes, and connects to 400+ services via prebuilt OAuth. Zero setup, broad coverage. Key difference from Hermes: cloud-only, no data sovereignty, opaque credit costs, and no persistent environment state between runs.

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
Google / Gemini API key
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

Hosting options

Hermes is self-hosted by design — it runs on hardware you control. Here are the most practical ways to get it running, from zero-setup managed hosting to a bare VPS.

★ Easiest option
Agent37
From $3.99/mo

Managed Hermes hosting — live in 60 seconds with no VPS configuration. The only provider purpose-built for Hermes, with full terminal access, visual file browser, and live browser view on every plan.

  • Isolated Docker container per user
  • Full terminal + file browser on all plans
  • Brave search & Composio integrations included
  • Bring your own API key (Claude, OpenAI, Gemini…)
  • Live browser view: watch your agent work in real time
Visit agent37.com →
🖥
VPS — self-hosted
~$4–8/mo

Full control at roughly the same cost. Hetzner CX22 is the recommended pick: 4 GB RAM, 2 vCPU, 40 GB SSD, 20 TB bandwidth. Add Coolify for one-click deploys from GitHub with no manual Docker work.

  • Hetzner CX22 (~$4.50/mo) — best price-performance
  • Coolify for easy GitHub deploys (free, open-source)
  • Vultr, DigitalOcean, Linode all work from $5/mo
  • Full root access, no vendor lock-in
  • Docker or bare metal, any Linux distro
Install docs →
PaaS platforms
$5–7/mo

Git-push deploys with no server management. Good if you want to skip infrastructure entirely. Railway, Render, and Fly.io all support Node.js and Python with automatic SSL and domains.

  • Railway Hobby — $5/mo, connect GitHub, auto-deploy
  • Render — free tier available (sleeps on inactivity)
  • Fly.io — Docker-native, 30+ global regions
  • No SSH or server management required
  • Built-in CI/CD on every git push
Install docs →
📊
Minimum requirements — no GPU needed (Hermes calls external APIs)
  • RAM: 1 GB min, 2 GB recommended
  • CPU: 1 vCPU minimum
  • Storage: 10–20 GB SSD
  • OS: Ubuntu 22.04 LTS or any modern Linux
  • Model: Bring your own key — Claude, OpenAI, Gemini, or local

What Hermes is not

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

Not the best in-editor autocomplete. Cursor and Windsurf do that job better. Use one alongside Hermes — that's not what it's optimizing for.
🔧
Not zero-setup. You're running a server. That means initial configuration, and you're responsible for uptime, upgrades, and backups. The tradeoff is data sovereignty and control.
🤖
Doesn't make weaker models magical. Memory and skills help, but the underlying model determines reasoning quality. Hermes with a weak model is a well-organized weak model.
Needs guardrails for high-stakes automations. Autonomous execution on a schedule with shell access is powerful and requires judgment. Terminal commands can require confirmation — use that for anything consequential.
Not the lowest-friction one-shot tool. For a quick answer you'll never revisit, a chat interface is faster. Hermes earns its setup cost over time, not in the first session.