Open Source · MIT · Nous Research

Hermes Agent
learns every day

An open-source AI agent that runs 24/7 on your own server, uses any LLM as its "brain", remembers across sessions and writes its own skills from the work it has done. This guide takes you from install to real-world usage, situation by situation.

~/hermes — installs in 60 seconds
$ curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# Configure your LLM provider
$ hermes setup
# Start the agent
$ hermes
> Hi there! I'm Hermes — I learn after every interaction.
180K+
GitHub stars
47
Built-in tools
15+
Chat platforms
#1
OpenRouter daily
~/why-hermes

The self-improvement loop is its core strength

Unlike agents that just "connect to everything", Hermes bets on learning from experience — the longer it runs, the better it gets. Launched 25/02/2026 and overtook OpenClaw on 10/05 to lead global inference volume on OpenRouter.

01

Writes its own skills

After every task that uses 5+ tool calls, the agent runs a "reflection" step and produces a reusable SKILL.md skill file. With 20+ skills, similar tasks later run ~40% faster (in tokens & time).

02

The Curator

A background process that runs weekly, scoring, rewriting and pruning low-performing skills — keeping the skill library lean and "alive".

03

Persistent memory

Stored in SQLite with FTS5 full-text search, remembering across sessions. The agent "distills" its own memory, plus Honcho builds an ever-deeper model of the user.

04

Lives everywhere

One agent, one memory, every surface: Telegram, Discord, Slack, WhatsApp, Signal, Email, Teams… plus CLI/TUI, Web UI and IDE integrations (VS Code, Zed, JetBrains via ACP).

05

Sub-agents & parallelism

Hand work off to independent sub-agents (their own context + terminal), running in parallel. Programmatic Tool Calling via execute_code folds many steps into a single call.

06

Natural-language cron

Schedule in plain speech: "every 9am, summarize the inbox and send it to Slack" — runs in the background via the gateway, delivering results to any platform.

07

Private & self-owned

Self-hosted, MIT license, no telemetry, your data stays on your machine. Can run local models via LM Studio — sensitive data never leaves the box.

08

Isolated sandbox

Six terminal backends: local, Docker, SSH, Singularity, Modal, Daytona — with container hardening and namespace isolation to run commands safely.

09

Open & research-ready

Skills follow the open agentskills.io standard, shared via the Skills Hub. MCP support. Research-ready: batching, trajectory export, RL with Atropos.

~/installation

Setup: pick the path that fits you

Two common paths from two tutorial videos: NetworkChuck builds it manually on a VPS to understand it deeply, while Charlie Chang uses a 1-click deploy for speed.

Create a VPS on Hostinger

Pick the KVM 2 plan, Ubuntu OS. This is the server where Hermes will run continuously 24/7.

SSH into the VPS

Paste the SSH command from the Hostinger dashboard into your terminal, then enter the root password to log in.

Install Hermes with one command

Copy the one-line command from the Hermes site and paste it — the script installs everything for you.

# macOS / Linux / WSL2
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Choose your AI model (wizard)

When hermes setup runs, pick a provider: Nous Portal, OpenAI, Grok, OpenRouter, or a local model (LM Studio + Qwen).

Connect Telegram via BotFather

Create a new bot (its name must end in bot), copy the token and paste it into the terminal.

Whitelist your User ID

Use the @userinfobot bot to get your Telegram User ID, then add it to the allowlist — so strangers can't control your agent.

Install it as a SystemD service

Choose "system service" so the agent starts automatically when the server restarts. On a personal VPS you can run it as the root user.

Note: pick "default" instead of system service if you're installing on a personal laptop rather than a VPS.

1-click deploy on Hostinger

Use the Hostinger link → Deploy → checkout (~$8/month). Hostinger provisions the VPS + Docker container for Hermes automatically.

Configure Environment Variables

Fill these in the dashboard — almost no terminal typing needed:

telegram_bot_token # from BotFather
openrouter_api_key # from OpenRouter (+$5–$25 credit)
fal_key # from fal.ai — for generating images/video

Enter the container & check

Open the Terminal in the dashboard and run:

cd /path/to/XXXX # XXXX = your project's 4-character code
docker compose exec -it hermes-agent /bin/bash
hermes status # check the connection
hermes model # e.g. Claude Sonnet 4.6 via OpenRouter
hermes gateway start # start the gateway for Telegram

Pair with Telegram

Open the Telegram bot → type /start → copy the pairing code → paste it into the terminal. Done — the agent is ready to take commands from your phone.

~/basic-usage

Everyday use: remember, embody, self-upgrade

Three systems run alongside the main conversation loop to create the "an agent that grows with you" experience.

① Memory system

USER.md
~1,375 chars

Info about you: name, preferences, team, work context.

MEMORY.md
~2,200 chars

Environment & technical info: IPs, config, system notes.

SOUL.md
custom

The agent's persona / identity — it decides its "personality" in conversation.

Auto-loads & self-distills

All three files are loaded into the system prompt automatically at the start of each session. When a file fills up, Hermes "curates" it to prioritize the important information. Every 10 turns, a background task updates the memory.

Create a persona SOUL.md

Send a character description into the chat and the agent writes it into SOUL.md, holding the persona throughout:

Here is who you are going to be. Update any file, including your soul, to reflect this going forward. [character description]

② The skill self-improvement loop

Generates skills from doing the work

  • After finishing a complex task, the agent creates a skill as a reusable file.
  • Example: after setting up Twingate → it auto-creates a "Twingate client operations" skill.
  • The Curator classifies skills: active → stale → archive.

Create a skill on demand

Give it instructions + an API link, and the agent learns how to call it and saves it as a skill:

Create and add a skill for yourself: I send a product photo, the output is a UGC video using CogVideoX 2.0 — call the fal.ai API with a prompt generated from the image.

③ Simultaneous multi-channel interaction

One agent, many doors

Send commands to the agent via Telegram and the terminal at the same time, and it handles them in parallel. A message queue mechanism finishes the current task first instead of getting interrupted.

Connect external tools MCP

Attach any MCP server (via URL or a local command) to extend its capabilities. A Nous-vetted catalog allows 1-click installs and tool filtering for safe use.

~/by-situation

Using it for specific scenarios

Click each card to see the configuration and a sample prompt. Tip: for each purpose, create a separate "profile" so the memory doesn't get mixed up.

ACoding assistantcoding+
Config
A code-oriented model + MCP filesystem, add Git and testing skills, scope memory to a single project.
What it does
Traces a bug from the error report to the related commit, reads logs, compares staging vs production config, then proposes a fix with evidence.
Prompt
Trace this bug from the error report to the commit that caused it, check the logs, compare staging and production config, then propose a fix with evidence.
BLong-running research agentresearch+
Config
A strong model + web-extract and browser-automation skills. Give it separate memory so it doesn't blend with other agents.
What it does
Research spanning weeks/months: tracking competitors, analyzing the tech landscape, reviewing literature. Thanks to cross-session memory, it accumulates understanding without needing a re-brief.
Prompt
Keep tracking competitive intelligence for market X. Summarize new findings versus last week and flag the notable changes.
COps bot & automated reportingops · cron+
Config
Attach a chat channel (Slack/Telegram) + a cron schedule. Good for work like inventory tracking, where context and real-time data are essential.
What it does
Daily news briefings, weekly competitive summaries, monthly performance audits — running in the background, delivering results with no manual clicks.
Prompt
Every workday at 9am, summarize my inbox and post the summary to the Slack channel #daily.
DMeeting secretary — automatic minutesmeeting+
Config
A skill that joins the call (Google Meet) and reads live captions; optionally speaks in the meeting.
What it does
Joins the call, transcribes live, then does the follow-up work: summarizing and extracting action items so you can focus on the conversation instead of taking notes.
Prompt
Join the Google Meet at 2pm, record the content, and after the meeting send me a summary and a to-do list.
ESmart home controlsmart home+
Config
Connect Home Assistant / Philips Hue; you can add UniFi to manage the network, and Twingate for headless internal-network access.
What it does
Control lights and blinds via chat commands; scan and manage the network devices at home.
Prompt
Turn on Chuck Lamp and make it blue. Then lower the living-room blinds to 50%.
FMarketing video pipeline (UGC)media+
Config
Set fal_key, then let the agent create a skill that calls the fal.ai API (CogVideoX) to generate video from an image.
What it does
Takes a product photo → generates a prompt from the image → produces a UGC video automatically. It also handles images, text-to-speech, and vision.
Prompt
Here's a product photo. Make me a short UGC video advertising it, using the existing fal.ai skill.
GA 24/7 multi-agent systemsubagents+
Config
A parent agent (orchestrator) coordinates child agents (leaf): PM, Developer, Ops, Content — one role each, managed with systemd + a watchdog.
What it does
Splits work in parallel via delegate_task (up to 3 children at once by default), and the parent posts cards to a built-in Kanban board for the children to pick up.
Prompt
Have dev-agent build the login feature, ops-agent verify the deploy, content-agent write the changelog — run in parallel then report back.
~/hermes-vs-openclaw

Why choose Hermes over OpenClaw

Both use the open SKILL.md skill standard, but the philosophies differ: OpenClaw connects to as much as possible, Hermes learns from experience.

CriteriaHermes AgentOpenClaw
PhilosophyLearns from experience, writes its own skillsConnects to the most platforms
SkillsSelf-built from interaction + Curator cleanupDownloads ready-made skills from a marketplace
MemorySelf-curated hard limit, doesn't balloonProne to bloat over time
Stability"Like a product"Has had a security crisis before
TeamNous Research — an AI research labTooling-focused
SecurityA "less is more" philosophyLarger attack surface