Pular para o conteúdo

Hermes Agent

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.

FeatureDescription
Persistent MemoryAgent-curated memory with periodic nudges for relevance
Skill SystemAutonomous skill creation after complex tasks
Multi-PlatformTelegram, Discord, Slack, WhatsApp, Signal, CLI
Kanban BoardMulti-agent orchestration with heartbeat and zombie detection
Self-EvolutionDSPy + GEPA framework for optimizing skills and prompts
Interactive TUIInk-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.

ProviderConfig KeyDescription
Nous PortalnousNative Nous Research model hosting
OpenRouteropenrouterAccess to 200+ models via single API
NVIDIA NIMnvidiaNemotron and NIM-hosted models
Xiaomi MiMomimoMiMo reasoning models
z.ai / GLMglmGLM-series models
Kimi / MoonshotkimiMoonshot AI models
MiniMaxminimaxMiniMax model endpoints
Hugging FacehuggingfaceHF Inference API and TGI endpoints
OpenAIopenaiGPT-series and compatible endpoints
CustomcustomAny 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.

PlatformGateway FlagNotes
CLI--cliDefault interactive terminal mode
Telegram--telegramRequires bot token via BotFather
Discord--discordRequires bot application token
Slack--slackRequires Slack app with socket mode
WhatsApp--whatsappUses WhatsApp Business API or bridge
Signal--signalUses 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.

CommandDescription
hermes memory listList all stored memories
hermes memory search <query>Search memories by keyword or semantic similarity
hermes memory exportExport memory store to JSON
hermes memory import <file>Import memories from a JSON file
hermes memory statsShow memory usage statistics
hermes memory pruneTrigger 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.

CommandDescription
hermes skills listList all learned skills
hermes skills show <name>Display skill definition and usage
hermes skills exportExport 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 statsShow 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.

KeybindingAction
EnterSend message from composer
Shift+EnterNew line in composer
Ctrl+CCancel current generation or exit
Ctrl+LClear conversation display
Ctrl+VPaste from clipboard
Ctrl+SSave conversation to file
TabCycle through TUI panels
EscClose 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.

FeatureDescription
HeartbeatAgents send periodic heartbeats to signal liveness
ReclaimOrphaned tasks are reclaimed by available agents
Zombie DetectionStale agents without heartbeats are flagged and cleaned up
Auto-BlockTasks with unmet dependencies are automatically blocked
Per-Task RetriesConfigurable retry count and backoff per task
Hallucination RecoveryDetects 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.

ComponentDescription
DSPy IntegrationDeclarative prompt optimization and evaluation
GEPAGuided evolutionary approach to skill refinement
Skill OptimizerIteratively improves skill definitions via feedback
Prompt TunerOptimizes system and task prompts for better outputs
Code RefinerRefactors 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
VariableDescription
HERMES_PROVIDERDefault model provider
HERMES_MODELDefault model identifier
HERMES_HOMEHermes data directory (default: ~/.hermes)
HERMES_LOG_LEVELLogging level: debug, info, warn, error
HERMES_MEMORY_BACKENDMemory storage backend
HERMES_MAX_TOKENSMaximum token limit per request
HERMES_TEMPERATUREDefault sampling temperature
HERMES_SYSTEM_PROMPTOverride default system prompt
ConcernRecommendation
API KeysStore in .env file with chmod 600; never commit to version control
Platform TokensUse separate bot accounts with minimal permissions
Memory StoreEncrypt at rest if storing sensitive conversation data
Allowed ChatsRestrict platform access to known chat/channel IDs
Skill ExecutionEnable skills.confirm-create to review auto-generated skills
Network AccessRun behind a firewall; restrict outbound to required API endpoints
Multi-AgentUse dedicated service accounts per agent in Kanban mode
Hallucination RecoveryMonitor recovery logs for repeated failures indicating prompt issues
IssueSolution
Agent not respondingCheck heartbeat with hermes kanban watch; restart stale agents
Memory fullRun hermes memory prune or increase memory.max-entries
Skill creation failsEnsure skills.auto-create is enabled and task meets complexity threshold
TUI rendering issuesUpdate terminal emulator; ensure Unicode and 256-color support
Gateway connection lostCheck platform tokens and network; gateway auto-reconnects by default
Zombie agents detectedReduce kanban.zombie-threshold or increase kanban.heartbeat-interval
Hallucination loopAgent auto-recovers; check kanban.max-retries and review task prompt
Model timeoutIncrease HERMES_MAX_TOKENS or switch to a faster provider