
Hermes Agent
The Complete Developer Guide
A practical, code-first developer guide to Hermes Agent, an open-source autonomous AI agent framework built by Nous Research.
You can read the contents and the first 2,000 characters.
Free accounts get the whole book.
- By Marudi
- 37 chapters
- Updated Nov 2, 2026
- 34 readers
What’s inside
- What Is Hermes Agent?
- The Hermes Model Family
- Architecture Overview
- Installation & Setup
- Provider Configuration
- The CLI & TUI
From the first page
Author: Marudi Version: 1.0 — June 2026 Last updated: 2026-06-14 — current to Hermes Agent v2026.6.5 and model Hermes-4.3-36B.
Audience: Public marketplace reference. Maintainer / custodian: Marudi.
Scope of validity: Hermes Agent release scheme is date-based; this edition is current as of Hermes Agent v2026.6.5 (June 6, 2026) and Hermes 4.3-36B (the latest model, December 2025). Refresh cadence: review every 4–6 weeks — the framework ships multiple releases per month. (Note: releases carry both a date-based version (primary, e.g. v2026.6.5) and a semver alias (e.g. v0.16.0); secondary sources sometimes cite only the semver. Both refer to the same artifact. Source: https://github.com/NousResearch/hermes-agent/releases/tag/v2026.6.5)
Most AI agents are sophisticated command-line tools. You give them a task, they complete it, and you start fresh next session. Hermes is different.
Preview · 2,000 of 145,990 characters
Contents
- 01Hermes Agent: The Complete Developer Guidep.1
- Prefacep.1
- 02What Is Hermes Agent?p.2
- The Agent That Grows With Youp.2
- Key Differentiatorsp.2
- What Hermes Is NOTp.2
- The Ecosystemp.2
- 03Decision Matrixp.3
- 04The Hermes Model Familyp.4
- Hermes-2p.4
- Hermes-2 Prop.4
- Hermes-3 (August 2024)p.4
- Hermes-4 (August 2025)p.4
- Hermes-4.3 (December 2025) — current flagshipp.4
- Model Selection Guidep.4
- 05Architecture Overviewp.5
- The Three-Tier Designp.5
- The Agent Loopp.5
- NL → Code Entity Bridgep.5
- Context Compressionp.5
- 06Installation & Setupp.6
- Quick Installp.6
- Directory Structurep.6
- Initial Configurationp.6
- Verify the Installationp.6
- Agent rulesp.6
- 07Provider Configurationp.7
- All Supported Providersp.7
- Basic Provider Config in config.yamlp.7
- Switching Models at Runtimep.7
- Ollama Setup (Local Inference)p.7
- Custom / Self-Hosted Endpointsp.7
- Fallback Provider Chainp.7
- OpenRouter Advanced Routingp.7
- AWS Bedrockp.7
- +1 more section
- 08The CLI & TUIp.8
- Launching Hermesp.8
- Essential Slash Commandsp.8
- TUI Keyboard Shortcutsp.8
- Session Managementp.8
- Hermes Desktop (native app)p.8
See all 37 parts
- 09Your First Tool Usep.9
- Verifying Tools Are Enabledp.9
- First Terminal Tool Callp.9
- First Web Searchp.9
- Watching Tool Progressp.9
- Your First Multi-Tool Chainp.9
- 10Memory Systemp.10
- System Prompt Construction Orderp.10
- SOUL.md — Persona & Identityp.10
- MEMORY.md — Environmental Factsp.10
- USER.md — User Profilep.10
- Memory Management Commandsp.10
- SQLite FTS5 Session Searchp.10
- Memory vs. Skills: The Distinctionp.10
- The Reflection / Self-Evolution Loopp.10
- +1 more section
- 11Skills Systemp.11
- What a Skill Doesp.11
- SKILL.md Formatp.11
- Directory Structurep.11
- Progressive Disclosure (Token Efficiency)p.11
- Skill Bundlesp.11
- Autonomous Skill Creationp.11
- Installing Skills from External Sourcesp.11
- 12The Tool Ecosystemp.12
- Built-in Tools (47 total)p.12
- Enabling and Disabling Toolsp.12
- The execute_code Power Toolp.12
- Terminal Backendsp.12
- 13The Nous Tool Gatewayp.13
- What the Gateway Coversp.13
- Setupp.13
- Image Generation Modelsp.13
- Using Tools via the Gatewayp.13
- 14ChatML & the Hermes Prompt Formatp.14
- ChatML Formatp.14
- XML Tag Referencep.14
- The Canonical Function-Calling System Promptp.14
- Hermes-3 Scratch Pad (GOAP Reasoning)p.14
- Hermes-4 Hybrid Reasoningp.14
- 15Tool Definitions with JSON Schemap.15
- The Tool Definition Formatp.15
- Pydantic Model Classesp.15
- Complete Tool List Examplep.15
- LangChain Tool Integrationp.15
- Writing Effective Tool Descriptionsp.15
- Agent rulesp.15
- 16The Tool Call / Response Cyclep.16
- The Full Lifecyclep.16
- Parsing Tool Calls in Pythonp.16
- Full Agent Loop with Ollamap.16
- Recursive Function Call Loop with Depth Limitp.16
- Multi-Tool Calls in One Turnp.16
- 17Structured Output and JSON Modep.17
- System Prompt for JSON Modep.17
- Pydantic-Based Structured Outputp.17
- Complete JSON Mode Examplep.17
- Complex Nested Schema Examplep.17
- Structured Extraction from Documentsp.17
- 18Multi-Step Tool Chainsp.18
- When to Chain vs. When to Nestp.18
- Practical Chain: Research + Writep.18
- Using execute_code for Long Chainsp.18
- Handling Tool Errors Gracefullyp.18
- 19Delegation & Subagentsp.19
- delegate_task — The Built-in Patternp.19
- delegate_task Characteristicsp.19
- Spawning Independent Hermes Processesp.19
- Choosing the Right Patternp.19
- Five Proven Delegation Patternsp.19
- Kanban Multi-Agent Coordination (v0.13+)p.19
- Agent rulesp.19
- 20Scheduling & Cron Automationp.20
- Schedule Format Supportp.20
- Creating Jobsp.20
- Job Lifecyclep.20
- Delivery Routingp.20
- Cron Execution Detailsp.20
- Advanced Cron Optionsp.20
- Real-World Cron Recipesp.20
- Recipe: A Deterministic Scraping Watchdog (`--script` + `--no-agent` + `--deliver`)p.20
- +1 more section
- 21Custom Plugins & Toolsp.21
- Plugin Directory Structurep.21
- plugin.yamlp.21
- __init__.py — Full Registrationp.21
- tools.py — Tool Handlerp.21
- Available Hook Eventsp.21
- Plugin Discovery Pathsp.21
- Enabling a Pluginp.21
- Complete Practical Example: Slack Notifier Pluginp.21
- 22MCP Integrationp.22
- What MCP Doesp.22
- Basic MCP Configurationp.22
- Tool Filteringp.22
- mTLS for Secure Remote Serversp.22
- MCP Sampling (Server Requests LLM Inference)p.22
- MCP CLI Commandsp.22
- Running Hermes AS an MCP Serverp.22
- Popular MCP Servers to Installp.22
- 23Terminal Backendsp.23
- Backend Comparisonp.23
- Setting the Backendp.23
- Docker Backend Detailsp.23
- SSH Backendp.23
- 24The Messaging Gatewayp.24
- Supported Platforms (24+)p.24
- Gateway Setupp.24
- Configuration Filesp.24
- Per-Platform Environment Variablesp.24
- Access Tiersp.24
- Session Reset Policiesp.24
- In-Chat Slash Commandsp.24
- Finding a Delivery Target (JIDs & WhatsApp Groups)p.24
- +2 more sections
- 25Docker & VPS Deploymentp.25
- Basic Docker Gatewayp.25
- Full Docker Composep.25
- Resource Requirementsp.25
- VPS Warningp.25
- S6 Supervisionp.25
- Multi-Tenant Isolationp.25
- 26Serverless Deploymentp.26
- Modalp.26
- Daytonap.26
- Cost Patternsp.26
- 27Security & Command Approvalp.27
- Approval Modesp.27
- The Approval Promptp.27
- Hardline Blocklist (Never Overridable)p.27
- Dangerous Pattern Categoriesp.27
- YOLO Modep.27
- Seven-Layer Defense Modelp.27
- Production Security Checklistp.27
- Bitwarden Secrets Manager Integrationp.27
- +2 more sections
- 28Prompting Hermes Effectivelyp.28
- Give Rich Upfront Contextp.28
- Use AGENTS.md for Project Contextp.28
- Let the Agent Explorep.28
- Use Skills for Recurring Workflowsp.28
- Prompt Cachingp.28
- Memory Is a Frozen Snapshotp.28
- The most Powerful Turnp.28
- Agent rulesp.28
- 29Production Patternsp.29
- The Agent-Loop Internals (Developer View)p.29
- Model Flexibilityp.29
- Multi-Profile Setupp.29
- Error Handling in Productionp.29
- Structured Loggingp.29
- 30Local Models with Ollama & LM Studiop.30
- Choosing Local Models for Agentsp.30
- Ollama Setup (Complete)p.30
- LM Studio Setupp.30
- Why Context Length Mattersp.30
- Agent rulesp.30
- 31Complete Configuration Referencep.31
- Full config.yamlp.31
- Configuration Management Commandsp.31
- 32Slash Command Referencep.32
- Session Commandsp.32
- Model & Configurationp.32
- Background & Asyncp.32
- Skillsp.32
- Schedulingp.32
- Platformp.32
- Voicep.32
- Status & Diagnosticsp.32
- +1 more section
- 33Provider & Model Selection Guidep.33
- Decision Frameworkp.33
- For Hermes Agent (Framework)p.33
- For Direct Hermes Model Use (API / Ollama)p.33
- Context Length Requirementsp.33
- 34Migration from OpenClawp.34
- Migration Commandp.34
- What Migratesp.34
- Known Issuep.34
- 35Appendix A: Quick Start Cheat Sheetp.35
- 36Appendix B: Tool Call Templatep.36
- 37Appendix C: Environment Variables Referencep.37
- About This Guidep.37
- ACP Server Integration — Protocol Roles Clarificationp.37
- WhatsApp Group Messaging — Discovery and Pairing Correctionsp.37
- Gateway & Dashboard Bind Address Configurationp.37
- The `pre_gateway_dispatch` Hook: Payload and Contractp.37



