Hermes Agent is an open-source autonomous AI agent developed by Nous Research, released in February 2026 under the tagline “The agent that grows with you.” It features persistent agent-curated memory, autonomous skill creation and self-improvement, multi-platform messaging through a single gateway process, and a Kanban-based multi-agent orchestration system. The project is built with a React/Ink interactive TUI frontend and a Python JSON-RPC backend. GitHub: NousResearch/hermes-agent.
| Feature | Description |
|---|
| Persistent Memory | Agent-curated memory with periodic nudges for relevance |
| Skill System | Autonomous skill creation after complex tasks |
| Multi-Platform | Telegram, Discord, Slack, WhatsApp, Signal, CLI |
| Kanban Board | Multi-agent orchestration with heartbeat and zombie detection |
| Self-Evolution | DSPy + GEPA framework for optimizing skills and prompts |
| Interactive TUI | Ink-based terminal UI with live streaming and sticky composer |
# System requirements
- Node.js 20+ (for TUI frontend)
- Python 3.11+ (for JSON-RPC backend)
- Git
- 8GB+ RAM recommended for multi-agent workloads
# Clone the repository
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# Install Node.js dependencies (TUI frontend)
npm install
# Install Python dependencies (backend)
pip install -r requirements.txt
# Copy and configure environment
cp .env.example .env
# Run initial setup wizard
npm run setup
npm start # Interactive TUI mode
npm start -- --provider openrouter # Start with specific provider
npm start -- --headless # Headless mode (no TUI)
DEBUG=hermes:* npm start # Start with debug logging
Hermes Agent supports a wide range of model providers through a unified configuration interface.
| Provider | Config Key | Description |
|---|
| Nous Portal | nous | Native Nous Research model hosting |
| OpenRouter | openrouter | Access to 200+ models via single API |
| NVIDIA NIM | nvidia | Nemotron and NIM-hosted models |
| Xiaomi MiMo | mimo | MiMo reasoning models |
| z.ai / GLM | glm | GLM-series models |
| Kimi / Moonshot | kimi | Moonshot AI models |
| MiniMax | minimax | MiniMax model endpoints |
| Hugging Face | huggingface | HF Inference API and TGI endpoints |
| OpenAI | openai | GPT-series and compatible endpoints |
| Custom | custom | Any OpenAI-compatible API endpoint |
# Set default provider in .env
HERMES_PROVIDER=openrouter
HERMES_MODEL=nous-research/hermes-3-405b
# Or configure via CLI
hermes config set provider openrouter
hermes config set model nous-research/hermes-3-405b
# Set API keys per provider
hermes config set api-key openrouter sk-or-xxxxxxxxxxxx
hermes config set api-key nous nk-xxxxxxxxxxxx
hermes config set api-key openai sk-xxxxxxxxxxxx
Hermes Agent connects to multiple messaging platforms through a single unified gateway process. All platforms share the same agent context, memory, and skill set.
| Platform | Gateway Flag | Notes |
|---|
| CLI | --cli | Default interactive terminal mode |
| Telegram | --telegram | Requires bot token via BotFather |
| Discord | --discord | Requires bot application token |
| Slack | --slack | Requires Slack app with socket mode |
| WhatsApp | --whatsapp | Uses WhatsApp Business API or bridge |
| Signal | --signal | Uses signal-cli or linked device |
# Start with multiple platforms simultaneously
hermes gateway --telegram --discord --slack
# Configure platform tokens in .env
TELEGRAM_BOT_TOKEN=123456:ABC-DEF...
DISCORD_BOT_TOKEN=MTIzNDU2Nzg5...
SLACK_APP_TOKEN=xapp-1-...
SLACK_BOT_TOKEN=xoxb-...
Hermes Agent uses an agent-curated memory system where the agent itself decides what to remember, with periodic nudges to review and consolidate memories.
| Command | Description |
|---|
hermes memory list | List all stored memories |
hermes memory search <query> | Search memories by keyword or semantic similarity |
hermes memory export | Export memory store to JSON |
hermes memory import <file> | Import memories from a JSON file |
hermes memory stats | Show memory usage statistics |
hermes memory prune | Trigger manual memory consolidation |
hermes config set memory.backend sqlite # sqlite | postgres | json
hermes config set memory.nudge-interval 4 # Hours between nudges
hermes config set memory.max-entries 10000 # Max entries before auto-consolidation
hermes config set memory.dedup true # Enable semantic deduplication
hermes config set memory.auto-nudge false # Disable auto nudges (manual only)
Hermes Agent autonomously creates new skills after completing complex tasks. Skills are reusable action patterns that improve the agent’s capabilities over time.
| Command | Description |
|---|
hermes skills list | List all learned skills |
hermes skills show <name> | Display skill definition and usage |
hermes skills export | Export skills to a portable format |
hermes skills import <file> | Import skills from a file |
hermes skills delete <name> | Remove a specific skill |
hermes skills disable <name> | Temporarily disable a skill |
hermes skills stats | Show skill usage statistics |
# Configure auto-skill creation
hermes config set skills.auto-create true # Enable automatic skill proposals
hermes config set skills.confirm-create true # Require user confirmation
hermes config set skills.min-complexity 3 # Minimum task steps to trigger
The terminal user interface is built with React/Ink, providing a rich interactive experience with live streaming, clipboard integration, and a persistent status bar.
| Keybinding | Action |
|---|
Enter | Send message from composer |
Shift+Enter | New line in composer |
Ctrl+C | Cancel current generation or exit |
Ctrl+L | Clear conversation display |
Ctrl+V | Paste from clipboard |
Ctrl+S | Save conversation to file |
Tab | Cycle through TUI panels |
Esc | Close active overlay or panel |
/ | Open command palette |
# Available slash commands within the TUI
/help # Show available commands
/model <provider/model> # Switch model mid-conversation
/memory nudge # Trigger memory consolidation
/memory search <query> # Search agent memory
/skills list # List available skills
/clear # Clear conversation history
/export # Export current conversation
/system <prompt> # Set or update system prompt
/status # Show agent status and stats
/kanban # Open Kanban board view
Released as “The Tenacity Release” on May 7, 2026, the Kanban board provides multi-agent orchestration with built-in resilience features including heartbeat monitoring, task reclamation, zombie detection, automatic blocking, per-task retries, and hallucination recovery.
| Feature | Description |
|---|
| Heartbeat | Agents send periodic heartbeats to signal liveness |
| Reclaim | Orphaned tasks are reclaimed by available agents |
| Zombie Detection | Stale agents without heartbeats are flagged and cleaned up |
| Auto-Block | Tasks with unmet dependencies are automatically blocked |
| Per-Task Retries | Configurable retry count and backoff per task |
| Hallucination Recovery | Detects and recovers from agent hallucination loops |
# Initialize a Kanban board for a project
hermes kanban init --name "my-project" --agents 3
# Add tasks to the board
hermes kanban add --title "Research API options" --priority high
hermes kanban add --title "Write integration tests" --depends-on 1
# List board state
hermes kanban list
hermes kanban list --status in-progress
# Assign tasks to specific agents
hermes kanban assign --task 1 --agent agent-alpha
# Start the multi-agent orchestrator
hermes kanban run --board my-project
# Monitor board in real time
hermes kanban watch
# Core resilience settings
hermes config set kanban.heartbeat-interval 30 # Heartbeat interval (seconds)
hermes config set kanban.zombie-threshold 3 # Missed heartbeats before zombie flag
hermes config set kanban.max-retries 3 # Per-task retry limit
hermes config set kanban.retry-backoff exponential # Retry backoff strategy
hermes config set kanban.hallucination-recovery true # Enable hallucination recovery
hermes config set kanban.max-agents 5 # Maximum concurrent agents
hermes config set kanban.reclaim-timeout 120 # Seconds before orphan reclaim
Hermes Agent includes a self-evolution framework built on DSPy and GEPA (Guided Evolution of Prompts and Actions) for optimizing skills, prompts, and generated code over time.
| Component | Description |
|---|
| DSPy Integration | Declarative prompt optimization and evaluation |
| GEPA | Guided evolutionary approach to skill refinement |
| Skill Optimizer | Iteratively improves skill definitions via feedback |
| Prompt Tuner | Optimizes system and task prompts for better outputs |
| Code Refiner | Refactors and improves generated code patterns |
hermes evolve skill deploy-staging --iterations 10 # Optimize a specific skill
hermes evolve prompt --task-type code-review # Optimize prompts for a task type
hermes evolve all --budget 100 # Full evolution cycle
hermes evolve history # Show evolution history
hermes evolve export --output optimized-config.yaml # Export optimized configs
| Variable | Description |
|---|
HERMES_PROVIDER | Default model provider |
HERMES_MODEL | Default model identifier |
HERMES_HOME | Hermes data directory (default: ~/.hermes) |
HERMES_LOG_LEVEL | Logging level: debug, info, warn, error |
HERMES_MEMORY_BACKEND | Memory storage backend |
HERMES_MAX_TOKENS | Maximum token limit per request |
HERMES_TEMPERATURE | Default sampling temperature |
HERMES_SYSTEM_PROMPT | Override default system prompt |
| Concern | Recommendation |
|---|
| API Keys | Store in .env file with chmod 600; never commit to version control |
| Platform Tokens | Use separate bot accounts with minimal permissions |
| Memory Store | Encrypt at rest if storing sensitive conversation data |
| Allowed Chats | Restrict platform access to known chat/channel IDs |
| Skill Execution | Enable skills.confirm-create to review auto-generated skills |
| Network Access | Run behind a firewall; restrict outbound to required API endpoints |
| Multi-Agent | Use dedicated service accounts per agent in Kanban mode |
| Hallucination Recovery | Monitor recovery logs for repeated failures indicating prompt issues |
| Issue | Solution |
|---|
| Agent not responding | Check heartbeat with hermes kanban watch; restart stale agents |
| Memory full | Run hermes memory prune or increase memory.max-entries |
| Skill creation fails | Ensure skills.auto-create is enabled and task meets complexity threshold |
| TUI rendering issues | Update terminal emulator; ensure Unicode and 256-color support |
| Gateway connection lost | Check platform tokens and network; gateway auto-reconnects by default |
| Zombie agents detected | Reduce kanban.zombie-threshold or increase kanban.heartbeat-interval |
| Hallucination loop | Agent auto-recovers; check kanban.max-retries and review task prompt |
| Model timeout | Increase HERMES_MAX_TOKENS or switch to a faster provider |