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.
Built by Nous Research
Community Web UI — not affiliated with or endorsed by Nous Research. Official site: hermes-agent.nousresearch.com
The core idea
Most tools are excellent in the moment and weak over time
Memory, scheduling, and agent tools are available across many products. What matters is how they work together: retaining useful context, repeating work reliably, and making the results available where you need them.
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.
Skills: auto-written from experience
Schedule: cron, runs while you sleep
Surfaces: Telegram · Discord · Slack · browser
Model: your choice, swap anytime
Three pillars
Memory, a schedule, and a way to reach your agent
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
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
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
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. 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 WebUI
A browser workspace for Hermes Agent
Keep your conversations, model and profile controls, and workspace files together. Chat in a three-panel desktop workspace or pick up the conversation from your phone. GitHub →
What it includes
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
hermes model # configure your LLM provider
curl -fsSL https://get-hermes.ai/install.sh | bash
Clones the Web UI to ~/hermes-webui and starts it on http://127.0.0.1:8787. Safe to re-run to update. Prefer to read it first? View the script, or do it by hand:
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
Who it's for
Who gets the most out of it
Hermes pays off for people who return to the same work, week after week.
Compare
Where Hermes fits beside the tools you already use
Hermes does not replace your chat app or your coding assistant. It is the part that stays running on your own machine. Here is how the work divides.
Chat assistants
Hosted apps you open in a browser or on your phone.
Quick questions, research, and drafting, with nothing to install or maintain.
You want the agent to act on your own machine, with your files and your shell, and to keep its memory as markdown in ~/.hermes/ that you can read, edit, and delete.
Coding agents
Agents you start in a repository to carry out a coding task.
Focused sessions in one codebase: reading the code, making the change, running the tests.
The work is not one repo or one sitting: jobs that run on a schedule, requests you send from your phone, context that carries from one project to the next.
Completions and edits inline, while you type. Hermes does not try to do this.
The work happens away from the editor: a server to check overnight, or a report due every morning.
Here you are choosing one or the other. They differ in how memory is stored, how skills get written, and which messaging platforms they support. Those details change often, so compare them on the side-by-side page.
These rows describe kinds of product, not any single product, and the lines between them keep moving. The linked pages cover each tool in detail. Hermes has trade-offs of its own, listed under What Hermes is not.
Quick start
Get started in 60 seconds
⭐ Want it on your phone, desktop, or every device? Read the full cross-platform setup guide — run the server once, then get a native app on Web, Windows, Linux, macOS, iOS & Android. Open setup guide →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
Where to run it
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.
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
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
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
- 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
Runs anywhere Python 3.11+ runs. Mac Mini, Raspberry Pi, a spare laptop, a homelab NAS — if it can run Python, it can run Hermes. No GPU needed. See the install docs for full requirements.
Honest limitations
What Hermes is not
Worth saying clearly. These are real trade-offs, not caveats.
Docs & community