DEV Community

Marwane Manifi
Marwane Manifi

Posted on

Hermes Agent: The Self-Improving AI Agent That Runs 24/7 on Your Own Server — A Deep Dive

What Is Hermes Agent?

Hermes Agent is an open-source AI agent framework built by Nous Research (the team behind the Hermes model family). It runs on your own machine or server, connects to any LLM you choose, and can be reached through Telegram, Discord, Slack, WhatsApp, Signal, and more — 14 platforms total.

But what makes it genuinely different from the dozens of other agent tools out there is this: Hermes builds its own harness and improves itself over time. Every time you use it, it gets a little better at working with you specifically.

It's not a chatbot. It's not a code completion tool. It's an autonomous agent that can run shell commands, read files, browse the web, schedule tasks, delegate to sub-agents, and remember everything about how you work — across sessions, across platforms, across months of use.


The Five Core Mechanisms

1. The Learning Loop — It Gets Better Without You Teaching It

This is the heart of Hermes. After every task, it runs an automatic retrospective:

  • What should I remember? → writes to memory
  • Is this a recurring pattern? → creates a Skill
  • Did the user correct me? → updates the Skill

You don't trigger this. It just happens. The first time you ask it to write a Python script, the output might be generic. By the tenth time, it knows you prefer httpx over requests, you like error logs written to files instead of printed to terminal, and you hate long functions. Nobody taught it any of that — it observed and extracted the patterns itself.

2. Three-Layer Memory — From Goldfish to Old Friend

Most AI tools forget you the moment you close the tab. Hermes has three memory layers:

  • Session memory (SQLite + FTS5): Raw conversation history, full-text indexed. Hermes doesn't dump all of this into context — it searches by topic and pulls only what's relevant. Three months of use feels as fast as three days.
  • Persistent memory: A small, curated profile — your preferences, habits, tool choices. This loads into every conversation automatically.
  • Skill memory: Markdown files that capture "how to do things" — your validated workflows, stored in ~/.hermes/skills/.

The key design choice: on-demand retrieval, not full-context loading. FTS5 full-text search means Hermes finds the right memory at the right time without bloating token usage.

Optional add-on: Honcho user modeling (by Plastic Labs) — a 12-layer dialectical identity system that infers things about you that you never explicitly said. Like noticing you always pick the cheapest option and inferring you're cost-sensitive, so next time it surfaces pricing info first.

3. Self-Evolving Skills

A Skill in Hermes is a standalone markdown file in ~/.hermes/skills/ — instructions for how to do something well. Skills come from three sources:

Source How it works
Bundled 40+ pre-built Skills ship with installation
Agent-created Hermes auto-creates Skills from recurring tasks
Community Hub Install with one command

The killer feature: Skills self-improve through use. Every time you give feedback ("next time check if the table exists first"), Hermes goes back and edits the Skill file. Next run, the improvement is baked in.

Skills follow the agentskills.io standard — they're portable across Claude Code, Cursor, Codex CLI, Gemini CLI, and more. A Skill you wrote for one tool works in another.

4. 40+ Built-in Tools + MCP

Five categories of native tools:

Category Examples What they do
Execution terminal, code_execution, file Run commands (sandboxed), read/write files
Information web, browser, session_search Search, scrape, search conversation history
Media vision, image_gen, tts Understand images, generate images, text-to-speech
Memory memory, skills, todo, cronjob Manage memory, Skills, scheduled tasks
Coordination delegation, moa, clarify Sub-agents, multi-model answering, ask user

Beyond the built-in tools, Hermes supports MCP (Model Context Protocol) — connecting to 6,000+ external apps. GitHub, Slack, Jira, databases, Google Drive — add a config block to config.yaml and it just works. You can also filter which tools each MCP server exposes for security.

5. Multi-Platform Gateway

One unified process connects to all your messaging platforms simultaneously. Start a conversation on Telegram during your commute, continue it in the terminal at your desk — Hermes doesn't distinguish where a message came from. Same brain, same memory, same Skills.

Supports: Telegram, Discord, Slack, WhatsApp, Signal, Email, SMS (Twilio), Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, and Open WebUI.


How It Compares: Hermes vs Claude Code vs OpenClaw

These three tools aren't competing — they solve different problems.

Dimension Claude Code OpenClaw Hermes Agent
Core philosophy Interactive coding Configuration-as-behavior Autonomous background + self-improvement
Your role Sitting at the terminal directing Writing config files Deploy and check in occasionally
Memory CLAUDE.md + auto-memory SOUL.md + Daily Logs + semantic search Three-layer self-improving memory
Skill source Manually installed ClawHub 5,700+ community Agent-created + community Hub
Run mode On-demand On-demand 24/7 background
Deployment Local CLI (subscription) Local CLI (free + API costs) Self-hosted (VPS / Docker / Serverless)

The practical way to think about it:

  • Need real-time pair programming? → Claude Code
  • Need transparent, auditable agent behavior for a team? → OpenClaw
  • Need 24/7 automated code review, scheduled tasks, persistent memory? → Hermes
  • Long-term content project? → Hermes for research + Claude Code for writing

They're complementary. The agentskills.io standard means Skills are portable between all three.


Getting Started: From Zero to Running in 15 Minutes

Step 1: Install

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes version  # verify
Enter fullscreen mode Exit fullscreen mode

Works on macOS, Linux, WSL2, and even Termux on Android. The script handles Python, Node.js, and all dependencies.

Docker alternative:

docker pull nousresearch/hermes-agent:latest
docker run -v ~/.hermes:/opt/data nousresearch/hermes-agent:latest
Enter fullscreen mode Exit fullscreen mode

Step 2: Configure a model

All configuration lives in one file: ~/.hermes/config.yaml

model:
  provider: openrouter       # or nousportal, openai, anthropic, ollama, etc.
  api_key: sk-or-xxxxx
  model: anthropic/claude-sonnet-4
terminal: local              # or docker, ssh, daytona, modal
Enter fullscreen mode Exit fullscreen mode

Supported providers include OpenRouter (200+ models with one key), Nous Portal (officially recommended), OpenAI, Anthropic, z.ai/Zhipu, and Ollama for fully offline local models.

Step 3: Start talking

hermes
Enter fullscreen mode Exit fullscreen mode

That's it. Ask it to search the web, read files, run shell commands. It will ask for permission before executing anything potentially dangerous.

Step 4: Connect Telegram (optional but game-changing)

  1. Create a bot with @botfather in Telegram → get a token
  2. Add to ~/.hermes/config.yaml:
gateway:
  telegram:
    token: YOUR_BOT_TOKEN
Enter fullscreen mode Exit fullscreen mode
  1. Run hermes — it connects to the Telegram Gateway automatically

You now have a personal AI assistant reachable from your phone, anywhere in the world.

Step 5: Deploy to a VPS for 24/7 uptime

Any cheap VPS will do (Hetzner, DigitalOcean, Vultr — whatever you already use). Hermes is lightweight without a local LLM.

docker run -d \
  --name hermes \
  --restart unless-stopped \
  -v ~/.hermes:/opt/data \
  nousresearch/hermes-agent:latest
Enter fullscreen mode Exit fullscreen mode

That's a 24/7 AI assistant with persistent memory, reachable from your phone.


What Makes It Actually Special

After spending a week with this, here's what I think the real differentiators are:

  1. The harness builds itself. Other tools need you to write the rules (CLAUDE.md, SOUL.md). Hermes observes, learns, and writes its own rules. You can override anything, but the default is zero-config improvement.

  2. Memory that actually works long-term. FTS5 on-demand retrieval means it doesn't slow down after months. Your data stays local in SQLite — no cloud vector database needed.

  3. Everything stays on your machine. MIT license, self-hosted, any LLM you want. No vendor lock-in, no data leaving your server. A basic VPS runs it comfortably — memory usage is under 500MB without a local model.

  4. Skills are portable. The agentskills.io standard means your investment in Skills isn't locked to one platform. Switch tools, keep your workflows.

  5. It works when you're not there. Cron scheduling + Telegram gateway = an agent that reviews PRs at 2am, monitors your servers, drafts daily reports, and sends you the results over breakfast.


Limitations to Be Aware Of

  • No automatic memory expiration. The memory database only grows. You need to manually audit ~/.hermes/ occasionally.
  • Skill self-improvement depends on feedback quality. Vague feedback ("this doesn't feel right") won't improve anything. Specific feedback works.
  • Auto-generated rules can drift. The convenience of automatic improvement comes with the trade-off that you're giving up some control. Check your Skill files periodically.
  • Community ecosystem is still young. OpenClaw's ClawHub has 5,700+ Skills from the lobster craze's network effects. Hermes's community is growing but isn't there yet.

Links

Happy to answer questions if anyone's tried it or is thinking about setting it up.

Top comments (0)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.