Hermes Agent

A self-improving agent from Nous Research with a TUI, messaging gateway, cron jobs and skills it writes itself

CLIEditors’ pickHigh risk

nousresearch/hermes-agent

Install

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

Linux, macOS, WSL2 and Termux.

This is third-party code. Review the repository files before installing.

What it does

Hermes is a standalone agent with a terminal UI and a gateway for Telegram, Discord, Slack, WhatsApp, Signal and email. It creates skills after complex tasks and improves them in use, keeps a model of the user, searches past sessions, runs scheduled jobs and spawns subagents. It works with any model provider (Nous Portal, OpenRouter, OpenAI, your own endpoint) and seven terminal backends including local, Docker, SSH, Modal and Daytona. It is compatible with the agentskills.io standard and can connect MCP servers.

Who it is for. Developers and enthusiasts who want their own always-on agent on a server, reachable from messaging apps.

Good fit when

  • You want an agent running on a VPS that answers in Telegram or Slack
  • You want to automate daily reports and scheduled audits
  • You want to pick any model without vendor lock-in
  • You are migrating from OpenClaw and want to keep memory and skills

Not a fit when

  • You only need a skill for an existing agent such as Claude Code
  • You cannot give an agent shell access and messaging credentials

Example request

Every morning at 9:00 send me a Telegram summary of new issues in my repository

Limitations

The installer pulls uv, Python 3.11, Node.js, ripgrep, ffmpeg and, on Windows, a portable Git Bash. Antivirus tools sometimes flag the bundled uv.exe as a false positive; the README explains how to verify it. Termux gets a reduced dependency set. You need a model provider key or a Nous Portal subscription.

How to disable. Stop the gateway and CLI. The README has no uninstall command; the install lives in ~/.hermes on Linux, macOS and WSL2, or %LOCALAPPDATA%\hermes on Windows.

Security check

  • Installs via curl piped to bash and downloads binaries
  • The agent runs shell commands and acts autonomously on schedules
  • Stores provider keys and messaging tokens

README in short

Hermes Agent is Nous Research's agent with a built-in learning loop: it creates and improves skills, keeps memory and models the user across sessions. It runs in the terminal and through a messaging gateway, with cron, subagents and several execution backends including serverless ones. It installs with one command on Linux, macOS, WSL2, Termux and native Windows. Nous Portal offers a single subscription for models and tools, but your own keys work too. MIT licensed.

SKILL.md

---
name: hermes-agent
description: "Use, configure, theme, extend, and orchestrate Hermes Agent."
version: 3.2.0
author: Hermes Agent + Teknium
license: MIT
platforms: [linux, macos, windows]
metadata:
  hermes:
    tags: [hermes, setup, configuration, multi-agent, spawning, cli, gateway, bots, bot-mode, features, themes, skins, desktop-plugins, tui-widgets, petdex, development]
    homepage: https://github.com/NousResearch/hermes-agent
    related_skills: [claude-code, codex, opencode]
---

# Hermes Agent

Hermes Agent is an open-source AI agent framework by Nous Research that runs in your terminal, a native desktop app, messaging platforms, and IDEs. It's in the same category as Claude Code (Anthropic), Codex (OpenAI), and OpenClaw — autonomous coding and task-execution agents that use tool calling to interact with your system. Hermes works with any LLM provider (OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, local models, and 20+ others) and runs on Linux, macOS, Windows, and WSL.

What makes Hermes different:

- **Self-improving through skills** — Hermes learns from experience by saving reusable procedures as skills that load into future sessions.
- **Persistent memory across sessions** — remembers who you are, your preferences, environment details, and lessons learned. Pluggable memory backends.
- **Multi-platform gateway** — the same agent runs on Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Matrix, Teams, Email, and a dozen more platforms with full tool access, not just chat.
- **Many surfaces** — the same agent core drives the CLI, the Ink TUI, a native Electron desktop app, a web dashboard, and an ACP server for IDEs (VS Code / Zed / JetBrains).
- **Provider-agnostic** — swap models and providers mid-workflow; credential pools rotate across multiple API keys automatically.
- **Profiles** — run multiple independent Hermes instances with isolated configs, sessions, skills, and memory.
- **Extensible & themeable** — plugins, MCP servers, custom tools, webhook triggers, cron scheduling, skins that theme every surface, desktop UI plugins, TUI widgets, and pet mascots.

**This skill is a hub.** The body covers identity, quick start, spawning/orchestration, and hard invariants. Everything else lives in reference files — **load the matching reference (below) before answering**; do not answer detail questions from the body alone.

**Docs:** https://hermes-agent.nousresearch.com/docs/

## Scope & Verification

This skill is a concise operating guide, not the complete source of truth for every Hermes feature. If a Hermes feature, command, or setting is not mentioned here or in a reference, do not treat that absence as evidence that it does not exist. Check the live repository and official docs before giving a negative answer.

Good verification targets, cheapest first:

- **Every shipped feature, one line each: https://hermes-agent.nousresearch.com/docs/llms.txt.** Start here for any "can Hermes do X?" or "how do I do X?" — it indexes the entire documentation set with a link to the page that answers. It is generated from the docs tree on every build, so it is never behind the product. Fetch it with `web_extract`, or `curl -s https://hermes-agent.nousresearch.com/docs/llms.txt` when web tools are off. The whole documentation set in one file is at `/docs/llms-full.txt`.
- CLI commands: `hermes --help`, `hermes <command> --help`, and `hermes_cli/main.py`
- Source tree: https://github.com/NousResearch/hermes-agent

Never answer "Hermes can't do that" from memory. Hermes ships far more than this skill body describes, and the index exists so a negative answer is always checkable.

## Quick Start

```bash
# Install (shell installer — sets up uv, Python, the venv, and the launcher)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Interactive chat (default surface; set display.interface: tui to launch the Ink TUI instead)
hermes

# Single query
hermes chat -q "What is the capital of France?"

# Setup wizard  /  pick model+provider  /  health check
hermes setup
hermes model
hermes doctor

FAQ

Can I switch models without code changes?

Yes, with hermes model or /model in a conversation.

What migrates from OpenClaw?

SOUL.md persona, memories, user skills, command allowlist, messaging settings, allowlisted API keys and AGENTS.md instructions.

Editors’ pick

Anthropic's coding agent for the terminal, IDE and GitHub: understands your codebase, runs tasks and handles git

CLIHigh risk145K
Editors’ pick

OpenAI's coding agent that runs locally in your terminal, with IDE and desktop versions

CLIHigh risk124.1K
Editors’ pick

Google's open-source terminal agent on Gemini models: code work, shell, web search and MCP

CLIHigh risk107K
Editors’ pick

Open-source coding agent for VS Code, JetBrains, the terminal and desktop, with any model and MCP support

CLIHigh risk68K