Hermes Agent - Self-Improving AI Agent Framework
Hermes Agent - Self-Improving AI Agent Framework
Hermes Agent is a self-improving AI agent framework developed 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.

Core Features
🧠 Closed Learning Loop
Hermes Agent's core advantage is its closed-loop learning capability:
- Automatic Skill Creation: Creates reusable skills after completing complex tasks
- Self-Improving Skills: Continuously optimizes existing skills through usage
- Knowledge Persistence: Periodic nudging mechanism ensures important information is recorded
- Session Search: FTS5-based full-text search with LLM summarization for cross-session recall
- User Modeling: Integrated Honcho dialectic user modeling
💬 Multi-Platform Messaging Gateway
Single gateway process supporting multiple messaging platforms:
- Telegram - Full Bot API support
- Discord - Server and DM support
- Slack - Workspace integration
- WhatsApp - Personal and group chats
- Signal - Privacy-first messaging
- Home Assistant - Smart home integration
Supports voice message transcription and cross-platform conversation continuity.
🖥️ Real Terminal Interface
Full-featured TUI (Terminal User Interface):
- Multi-line editing support
- Slash command autocompletion
- Session history browsing
- Interrupt and redirect
- Streaming tool output display
🔧 Multi-Model Support
Use any model you prefer, switch anytime:
| Provider | Features |
|---|---|
| Nous Portal | Official Nous Research |
| OpenRouter | 200+ models |
| z.ai/GLM | Zhipu GLM |
| Kimi/Moonshot | Moonshot AI |
| MiniMax | MiniMax models |
| OpenAI | GPT series |
| Custom endpoints | Local or private models |
Switch models with one command: hermes model
⏰ Scheduled Automations
Built-in Cron scheduler with delivery to any platform:
- Daily reports
- Nightly backups
- Weekly audits
All configured in natural language, running unattended.
🚀 Parallel Subagents
Spawn isolated subagents for parallel workflows:
- Complex task decomposition
- Multi-threaded processing
- Python scripts calling tools via RPC
- Compress multi-step pipelines into zero-context-cost turns
🌐 Runs Anywhere
Six terminal backend options:
- Local - Run directly on host
- Docker - Containerized deployment
- SSH - Remote servers
- Daytona - Serverless persistence
- Singularity - HPC environments
- Modal - Serverless cloud
Daytona and Modal offer serverless persistence — environments hibernate when idle and wake on demand, costing nearly nothing between sessions.
Quick Start
Installation
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashSupports Linux, macOS, and WSL2. The installer handles Python, Node.js, dependencies, and the hermes command automatically.
Note: Native Windows is not supported. Please install WSL2.
Configure and Launch
# Reload shell
source ~/.bashrc # or source ~/.zshrc
# Configure LLM provider
hermes setup
# Start chatting
hermesCommon Commands
hermes # Interactive CLI
hermes model # Switch provider or model
hermes setup # Re-run setup wizard
hermes gateway # Start messaging gateway
hermes update # Update to latest version
hermes doctor # Diagnose issuesSkills System
Hermes Agent's skills system is compatible with the agentskills.io open standard.
Skill Creation Flow
- Trigger: After completing complex tasks, Agent evaluates skill creation
- Generation: Automatically generates skill files with tool call sequences
- Continuous Improvement: Collects feedback and improves with each use
- Version Management: Skills can be iteratively updated
Skill Usage Example
# Skill file example (simplified)
name: "web_research"
description: "Perform deep web research and summarize"
tools:
- web_search
- web_fetch
- summarize
steps:
1. Receive research topic
2. Execute multi-source search
3. Fetch key page content
4. Generate structured summaryMemory System
Three-Layer Memory Architecture
┌─────────────────────────────────────┐
│ Working Memory │
│ Current session context & state │
├─────────────────────────────────────┤
│ Short-term Memory │
│ Recent session key info summary │
├─────────────────────────────────────┤
│ Long-term Memory │
│ Persistent user model & skills │
└─────────────────────────────────────┘Memory Trigger Mechanisms
- Periodic Nudging: Agent proactively asks whether to record important information
- Task Completion: Automatically extracts reusable knowledge
- Explicit User Instruction: "Remember this..."
MCP Integration
Model Context Protocol (MCP) support for connecting any MCP server to extend capabilities:
# Add MCP server
hermes mcp add <server-name> <server-url>
# List connected MCP servers
hermes mcp list
# Use MCP tools
# Call directly in conversation, Agent routes automaticallyConfiguration Example
Basic Config (~/.hermes/config.yaml)
# LLM Provider Configuration
provider:
default: openrouter
openrouter:
api_key: ${OPENROUTER_API_KEY}
model: anthropic/claude-3.5-sonnet
# Fallback provider
openai:
api_key: ${OPENAI_API_KEY}
model: gpt-4o
# Messaging Gateway Configuration
gateway:
telegram:
enabled: true
bot_token: ${TELEGRAM_BOT_TOKEN}
discord:
enabled: true
token: ${DISCORD_TOKEN}
# Memory Configuration
memory:
auto_save: true
nudge_interval: 300 # Remind every 5 minutes
max_search_results: 10
# Skills Configuration
skills:
auto_create: true
auto_improve: true
hub_url: https://agentskills.ioResearch Features
Hermes Agent provides specialized support for AI research:
- Batch Trajectory Generation: Generate large volumes of interaction trajectories for training
- Atropos RL Environments: Reinforcement learning training environments
- Trajectory Compression: Compress interaction trajectories for training next-generation tool-calling models
Contributing
Hermes Agent welcomes contributions!
Developer Quick Start
# Clone repository
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment
uv venv .venv --python 3.11
source .venv/bin/activate
# Install dependencies
uv pip install -e ".[all,dev]"
uv pip install -e "./mini-swe-agent"
# Run tests
python -m pytest tests/ -qProject Structure
hermes-agent/
├── src/
│ ├── agent/ # Core Agent logic
│ ├── skills/ # Skills system
│ ├── memory/ # Memory management
│ ├── gateway/ # Messaging gateway
│ └── tools/ # Toolsets
├── scripts/ # Installation and utility scripts
├── tests/ # Test suite
└── docs/ # DocumentationResources
License
MIT License - See LICENSE
Built by Nous Research