# hermes-agent

> Self-hosted AI agent that keeps skills and memory, and chats via terminal or Telegram

- Repository: https://github.com/NousResearch/hermes-agent
- Category: AI agents
- Stars: 256,284 · Forks: 55,983 · Language: Python · License: MIT
- Experience: Some experience
- Page: https://ir.adyog.com/repos/nousresearch/hermes-agent/

Hermes Agent is a personal AI agent you run yourself. You talk to it in a terminal interface or through Telegram, Discord, Slack, WhatsApp, Signal or email. One gateway process handles all the chat platforms, so a conversation can carry across them.

Its main idea is a learning loop. After complex tasks it can write a reusable skill, and it improves that skill with use. It keeps notes in memory, searches past conversations, and builds a profile of you over time. The README says its skills follow the agentskills.io open standard.

It isn't tied to one model or one machine. You pick a provider with `hermes model`, including Nous Portal, OpenRouter, OpenAI or your own endpoint. Tools can run locally, in Docker, over SSH, or on Singularity, Modal, Daytona or Vercel Sandbox. That lets it live on a cheap server while you chat from your phone. The README also covers migrating from OpenClaw.

## What it does

- **Learning loop**: Creates skills after complex tasks and refines them as it uses them. It also keeps agent-curated memory and searches past sessions with full-text search and LLM summaries.
- **Many chat platforms, one gateway**: Telegram, Discord, Slack, WhatsApp, Signal and the CLI connect through one gateway process. Voice memos are transcribed.
- **Scheduled automations**: A built-in cron scheduler runs tasks described in natural language, such as daily reports or nightly backups. Results can be delivered to any connected platform.
- **Subagents and scripted tool calls**: Spawns isolated subagents for parallel work. It can also write Python scripts that call tools over RPC, which collapses multi-step pipelines into one turn.
- **Seven terminal backends**: Runs tools locally, in Docker, over SSH, or on Singularity, Modal, Daytona and Vercel Sandbox. Daytona and Modal can hibernate when idle.

## What you could build

- Run an assistant on a small cloud server and message it from Telegram while it works.
- Schedule daily reports, nightly backups or weekly audits in plain language and have them sent to Discord or Slack.
- Compare different LLM providers by switching models in the same agent with one command.
- Connect MCP servers to give the agent extra tools for your own workflows.
- Generate batch trajectories for research on training tool-calling models.

## Who it's for

Suits developers and tinkerers who are comfortable with a terminal and want a self-hosted agent with long-term memory; you should have an API key or a Nous Portal account for a model.

## Get started

On Linux, macOS or WSL2, run the install script, then reload your shell and type hermes to start chatting. Use hermes model to choose a provider, and hermes setup for the full wizard. Windows has a separate PowerShell installer in the README.

```
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
```
```
source ~/.bashrc
```
```
hermes
```

Tags: ai-agent, llm, memory, messaging, self-hosted
