Skip to content
/

Hermes Agent (NousResearch)

hermes-agent · NousResearch/hermes-agent · ★ 168k · last commit 2026-05-26

Primitive shape 101 total
Skills 100 MCP tools 1
00

Summary

Hermes Agent — Summary

Hermes Agent by NousResearch is a production-grade self-improving AI agent with 167,908 stars — the second most-starred framework in this batch. It is a standalone Python CLI application (hermes binary) with a full TUI (prompt_toolkit), 7 terminal backends (local/Docker/SSH/Singularity/Modal/Daytona/Vercel Sandbox), a messaging gateway (Telegram/Discord/Slack/WhatsApp/Signal), a web dashboard (React/Vite), a built-in cron scheduler, multi-provider LLM support (200+ via OpenRouter), FTS5 SQLite session search, and a closed learning loop that creates skills from experience and improves them during use. Skills follow the agentskills.io open standard. The "self-improving" claim is implemented via autonomous skill creation after complex tasks, skill self-improvement during use, periodic memory nudges, and dialectic user modeling via Honcho. Seven terminal backends make it uniquely deployable beyond the laptop — on VPS, GPU cluster, or serverless (Modal/Daytona/Vercel Sandbox). Differs from seeds: no seed is a self-hosted personal agent of this scope. Closest to claude-flow (Archetype 3: MCP-anchored toolserver, continuous execution) but Hermes is provider-agnostic and ships as a Python package rather than npm. The learning loop (skills from experience) is unique — no seed implements autonomous skill authoring.

01

Overview

Hermes Agent — Overview

Origin

GitHub: https://github.com/NousResearch/hermes-agent
Stars: 167,908
License: MIT
Language: Python (primary), TypeScript (web dashboard)
Version: 0.14.0 (from pyproject.toml)
Last commit: 2026-05-26
Organization: Nous Research (AI research company)

Philosophy

From README:

"The self-improving AI agent built by Nous Research. It's the only agent with a built-in learning loop — it creates skills from experience, improves them during use, nudges itself to persist knowledge, searches its own past conversations, and builds a deepening model of who you are across sessions."

"Run it on a $5 VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle. It's not tied to your laptop — talk to it from Telegram while it works on a cloud VM."

"Use any model you want — Nous Portal, OpenRouter (200+ models), NovitaAI, NVIDIA NIM, Xiaomi MiMo, z.ai/GLM, Kimi/Moonshot, MiniMax, Hugging Face, OpenAI, or your own endpoint."

Key Design Decisions

  1. Learning loop: skills created from task experience, improved during use — not static library.
  2. Not tied to laptop: 7 terminal backends including serverless (Modal/Daytona) and SSH.
  3. OpenClaw migration support: explicit migration path from the predecessor project.
  4. agentskills.io compatibility: skills follow an open standard for portability.
  5. Exact version pinning: all dependencies pinned to exact versions (supply chain security response to Mini Shai-Hulud worm incident, 2026-05-12).
02

Architecture

Hermes Agent — Architecture

Distribution

# Linux/macOS/WSL2
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes

# Windows PowerShell
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)

Package

  • PyPI: hermes-agent (pip installable)
  • Package: pyproject.toml with [project.scripts]
    • hermeshermes_cli.main:main
    • hermes-agentrun_agent:main
    • hermes-acpacp_adapter.entry:main

Directory Tree (selected)

hermes-agent/
├── hermes/                  # Core library
├── hermes_cli/              # CLI and TUI
├── agent/                   # Agent loop, model tools
├── gateway/                 # Messaging platform gateway
├── tui_gateway/             # TUI gateway
├── web/                     # React/Vite web dashboard
├── skills/                  # Skill categories
│   ├── software-development/  # plan, TDD, debugging, etc.
│   ├── devops/
│   ├── mlops/
│   ├── research/
│   ├── social-media/
│   └── ...24 categories total
├── acp_adapter/             # ACP protocol adapter
├── acp_registry/            # ACP registry
├── providers/               # LLM provider adapters
├── mcp_serve.py             # MCP server
├── hermes_state.py          # SQLite state store
├── trajectory_compressor.py # Training data compression
├── pyproject.toml           # v0.14.0
└── uv.lock                  # Exact dependency pins

Required Runtime

  • Python 3.11
  • uv (package manager, recommended) or pip
  • Node.js (for web dashboard)
  • Provider API key or Nous Portal subscription

Terminal Backends (7)

Local, Docker, SSH, Singularity, Modal (serverless), Daytona (serverless), Vercel Sandbox

03

Components

Hermes Agent — Components

CLI Subcommands

Command Purpose
hermes Interactive TUI
hermes model Choose LLM provider and model
hermes tools Configure tool enablement
hermes config set Set config values
hermes gateway Start messaging gateway
hermes setup Full setup wizard
hermes claw migrate Migrate from OpenClaw
hermes update Update to latest version
hermes doctor Diagnose issues

Skills (24 categories, 100+ individual skills)

Category Examples
software-development plan, TDD, debugging, spike, subagent-driven-development
devops S6 container supervision, node-inspect-debugger
mlops training, deployment
research deep research workflows
social-media content creation
creative creative writing
data-science data analysis
productivity note-taking, scheduling
mcp MCP server integration patterns
apple macOS/iOS patterns
inference-sh inference.sh integration
...and 14 more categories

Messaging Gateway

Platforms: Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant

MCP Integration

  • mcp_serve.py — bundled MCP server
  • HTTP transport with auto-reconnect
  • JSON Schema type inference for tool inputs

ACP (Agent Communication Protocol)

  • acp_adapter/ — ACP protocol adapter
  • acp_registry/ — ACP registry

Web Dashboard

  • web/ — React + Vite
  • Stack: @nous-research/ui, xterm.js, observable/plot, react-three/fiber

State Store

  • hermes_state.py — SQLite with WAL mode, FTS5 full-text search, session history

Trajectory Compression

  • trajectory_compressor.py — compresses sessions for training the next generation of tool-calling models
05

Prompts

Hermes Agent — Prompts

Excerpt 1: TDD skill — test-first philosophy

Technique: Anti-pattern naming + visual counter-example

## Anti-Pattern: Horizontal Slices

**DO NOT write all tests first, then all implementation.** This is "horizontal slicing"...

WRONG (horizontal):
  RED:   test1, test2, test3, test4, test5
  GREEN: impl1, impl2, impl3, impl4, impl5

RIGHT (vertical):
  RED→GREEN: test1→impl1
  RED→GREEN: test2→impl2
  ...

(Note: this matches the adrielp TDD skill almost verbatim — likely shared or independently derived from the same pattern.)

Excerpt 2: subagent-driven-development skill category

Technique: Delegation-first principle

From the software-development skill category — the subagent-driven-development skill focuses on patterns for spawning isolated subagents for parallel workstreams, writing Python scripts that call tools via RPC, and collapsing multi-step pipelines into zero-context-cost turns.

Excerpt 3: Self-description (README)

Technique: Learning-as-first-class capability statement

"A closed learning loop: Agent-curated memory with periodic nudges. Autonomous skill creation after complex tasks. Skills self-improve during use. FTS5 session search with LLM summarization for cross-session recall. Honcho dialectic user modeling."

09

Uniqueness

Hermes Agent — Uniqueness

differs_from_seeds

No seed is a self-improving personal agent of this scope. Closest to claude-flow (continuous execution, SQLite memory, multi-agent) but claude-flow wraps Claude Code while Hermes is a standalone Python runtime that works with any provider. The learning loop (autonomous skill creation from experience + skill self-improvement) is the single most distinctive feature — no seed implements this. The 7 terminal backends (including serverless Modal/Daytona) enable deployment patterns no other framework in the catalog supports. The trajectory compression feature (converting sessions into LLM training data) positions Hermes as both an agent framework AND a research platform for training better tool-calling models.

Most Distinctive Features

  1. Autonomous skill creation: skills authored from task experience, not just pre-defined.
  2. 7 terminal backends: runs on VPS, Docker, SSH, Modal (serverless), Daytona — the only framework designed to run off-device.
  3. Trajectory compression: converts sessions into training data — dual-purpose as research tool.
  4. agentskills.io standard: skills follow an open standard for portability across compatible frameworks.
  5. Supply chain security: exact dependency pinning in response to the 2026-05-12 Mini Shai-Hulud worm incident.

Observable Failure Modes

  1. Complexity: many features, many providers, many backends — higher configuration burden than simpler harnesses.
  2. Exact pinning cost: every update requires manually bumping pins — faster development but higher maintenance.
  3. Nous Portal coupling: the full tool gateway experience requires a Nous Portal subscription.
  4. Learning loop quality: autonomous skill creation quality depends on the quality of task execution — bad habits get codified.
04

Workflow

Hermes Agent — Workflow

Entry Points

Mode Command Flow
Interactive CLI hermes TUI session → streaming tool output
Messaging hermes gateway Event-driven from Telegram/Discord/Slack
Setup hermes setup [--portal] Provider selection + auth

Session Lifecycle

Start session (hermes or messaging event)
→ Load MEMORY.md / user profile
→ Load relevant skills via / commands or auto-detection
→ Interactive loop with tool streaming
→ Memory nudge (periodic) — persist new knowledge
→ /compress or auto-compact when needed
→ Session saved to SQLite FTS5 index

Learning Loop

  1. Complex task completion → agent checks if a new skill should be created
  2. New skill created and stored in ~/.hermes/skills/
  3. During future use, skill improves based on outcomes
  4. FTS5 session search enables recalling past similar work
  5. Honcho dialectic user modeling builds user profile across sessions

Scheduled Automations

Built-in cron scheduler with delivery to any configured platform:

  • Daily reports, nightly backups, weekly audits in natural language
  • Runs unattended

Approval Gates

Permission-based command approval. The --portal path handles sensitive tool (web search, image gen, TTS, cloud browser) routing via Nous Portal.

Migration from OpenClaw

hermes claw migrate              # Interactive migration
hermes claw migrate --dry-run    # Preview
hermes claw migrate --overwrite  # Overwrite conflicts

Migrates: SOUL.md, MEMORY.md, USER.md, skills, API keys, messaging settings, workspace instructions.

06

Memory Context

Hermes Agent — Memory & Context

State Storage

  • ~/.hermes/state.db — SQLite WAL, FTS5 session history, schema v13
  • ~/.hermes/skills/ — user-created and auto-generated skills
  • MEMORY.md — project-local persistent memory
  • USER.md — user profile (migrated from OpenClaw)
  • Honcho dialectic user modeling (cloud service)

SQLite State Details

From hermes_state.py:

  • WAL mode (falls back to journal mode on NFS/SMB)
  • FTS5 virtual table for fast text search across all session messages
  • Compression-triggered session splitting via parent_session_id chains
  • Source tagging ('cli', 'telegram', 'discord', etc.) for filtering

Memory Type

Hybrid: SQLite (session history + FTS5) + file-based (MEMORY.md, skills/).

Context Compaction

/compress or auto-compact when context fills. Compression uses trajectory_compressor.py to generate training-quality summaries.

Cross-Session

Yes. FTS5 search across all past sessions. Honcho dialectic user modeling builds a deepening user profile across sessions.

Learning Loop

New skills auto-created after complex tasks: stored in ~/.hermes/skills/user-created/. Skills improve during use based on outcomes.

07

Orchestration

Hermes Agent — Orchestration

Multi-Agent

Yes. Spawn isolated subagents for parallel workstreams. Write Python scripts that call tools via RPC.

Orchestration Pattern

parallel-fan-out: subagents spawned for independent workstreams, results collected.

Isolation Mechanism

Subagents run in isolated contexts. Seven terminal backends provide additional isolation levels (Docker, SSH, Modal, Daytona, Vercel Sandbox for cloud isolation).

Multi-Model

Yes. Provider-switchable at runtime via hermes model or /model [provider:model]. 200+ models via OpenRouter. Nous Portal provides tool gateway (search, image gen, TTS, cloud browser) under one subscription.

Execution Mode

Continuous (interactive loop), scheduled (cron scheduler), event-driven (messaging gateway).

Crash Recovery

Session resume. WAL-mode SQLite with fallback to journal mode on NFS.

Cross-Tool Portability

Medium: standalone Python application. Has ACP adapter for agent communication protocol interop. Skills follow agentskills.io standard for portability.

08

Ui Cli Surface

Hermes Agent — UI & CLI Surface

Dedicated CLI Binary

Yes. hermes (and hermes-agent, hermes-acp).

Not a thin wrapper — IS the agent runtime (prompt_toolkit-based interactive TUI).

CLI Subcommands

Subcommand Purpose
hermes Interactive TUI session
hermes model Choose provider/model
hermes tools Configure tools
hermes config set Set config values
hermes gateway Start messaging gateway
hermes setup [--portal] Full setup wizard
hermes claw migrate [--dry-run] Migrate from OpenClaw
hermes update Self-update
hermes doctor Diagnose issues

Local UI

TUI

  • Type: terminal-tui
  • Stack: prompt_toolkit + custom rendering
  • Features: multiline editing (Shift+Enter/Ctrl+Enter), slash-command autocomplete, conversation history, interrupt-and-redirect, streaming tool output, fixed input area

Web Dashboard

  • Type: web-dashboard
  • Stack: React + Vite, @nous-research/ui, xterm.js, @react-three/fiber, @observablehq/plot
  • Location: web/

Messaging Gateway

  • Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant
  • Cross-platform conversation continuity
  • Voice memo transcription
  • File attachments, multimodal messages

Observability

  • FTS5 session search with LLM summarization (/history)
  • /usage token tracking
  • /insights [--days N] — usage trends
  • Trajectory compression for training data export

Related frameworks

same archetype · same primary tool · same memory type

Claude-Flow / Ruflo ★ 55k

Eliminates single-agent context limits and sequential bottlenecks by orchestrating fault-tolerant swarms of specialized AI agents…

OpenCode ★ 165k

Terminal-first AI coding agent with multi-model routing, native desktop app, and a typed .opencode/ configuration system for…

OpenHands ★ 75k

Open-source AI software development platform (open-source Devin alternative) with Docker sandbox isolation, 77.6% SWE-bench…

DeerFlow ★ 70k

Long-horizon superagent that researches, codes, and creates by orchestrating parallel sub-agents with isolated contexts in Docker…

oh-my-openagent (omo) ★ 60k

Multi-provider AI agent orchestration for OpenCode: escape vendor lock-in by routing Sisyphus (Claude/Kimi/GLM) and Hephaestus…

gpt-engineer ★ 55k

ARCHIVED — the original LLM-driven code generation experiment that generates entire applications from a prose specification file.