Hermes Agent
Canonical version: Hermes Agent.
Hermes Agent is Nous Research's open-source, model-agnostic agent harness; distinct from the Hermes LLM line that shares the name. Where Hermes (the model) is a fine-tuned base, Hermes Agent is the surrounding scaffolding that turns any LLM into a long-running personal assistant with skills, memory, and cross-platform reach.
The differentiator versus Claude Code, Codex CLI, and Gemini CLI is the built-in learning loop. Hermes Agent does not stop at executing tasks; it autonomously creates skills from successful trajectories, refines them in use, persists facts about the user across sessions, and searches its own past conversations. The whole stack is positioned closer to a personal-assistant harness than to a coding-only CLI.
What it actually does
- Skills system; autonomous skill creation after complex tasks; skills self-improve during use; compatible with the open
agentskills.iostandard, which means skills are portable across other harnesses. - Persistent memory; agent-curated facts with periodic "nudges" that prompt the agent to record what it learned. Backed by FTS5 full-text search over session history with LLM summarization for cross-session recall.
- User modeling; uses Honcho (an external dialectic user-modeling library) to build an evolving model of who the user is and what they care about.
- Multi-platform reach; ships a single gateway that bridges 15+ platforms: Telegram, Discord, Slack, WhatsApp, Signal, Email, and more; voice memos transcribed in. The agent is reachable from anywhere, not just the terminal.
- Voice mode; real-time interaction across the CLI and chat surfaces; voice in, voice out, no separate app.
- Cron scheduler; built-in unattended automations.
- Subagents; isolated subagent spawning for parallel workstreams (the "Hermes Agent Kanban" pattern from Nous Research's announcements).
- Tool ecosystem; 40+ built-in tools; Python script integration via RPC for custom tool calls.
- Multi-backend execution; six terminal backends; local, Docker, SSH, Daytona, Singularity, Modal. Daytona and Modal support hibernation, keeping idle costs minimal on serverless.
Model agnosticism
Hermes Agent does not lock to Nous's own models. Switch via hermes model without code changes:
- Nous Portal (first-party).
- OpenRouter (200+ models).
- NVIDIA NIM, Xiaomi MiMo, z.ai / GLM, Kimi / Moonshot, MiniMax.
- Hugging Face, OpenAI, custom endpoints.
- xAI Grok via OAuth (May 2026); sign in with a Grok / SuperGrok subscription, no API key. First subscription-OAuth provider on the list; exposes Grok 4.3 for text/reasoning, Grok TTS for voice, and Grok Imagine for image/video. Available on every Grok tier. Pick via
hermes model→ "xAI Grok OAuth (SuperGrok Subscription)". Docs; https://hermes-agent.nousresearch.com/docs/guides/xai-grok-oauth ; announcement; https://x.ai/news/grok-hermes
That makes it one of the most genuinely provider-agnostic harnesses on the map; closer to OpenCode in philosophy than to first-party CLIs. The Grok OAuth path is structurally novel; it is the first time a frontier closed-weight provider lets a consumer subscription act as an agent backend, bypassing the usual API-key-and-billing-account flow.
Installation
Linux, macOS, WSL2, Android via Termux. Single installer:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Common entry points:
hermes: interactive CLI.hermes model: pick provider and model.hermes tools: enable / disable tools.hermes gateway: start the messaging gateway.hermes setup: full configuration wizard.hermes claw migrate: automatic import from OpenClaw (settings, memories, skills, API keys); supports dry-run and selective presets.
The OpenClaw migration path is notable; Nous explicitly absorbed the OpenClaw user base by making the upgrade frictionless.
Slash commands
Same commands work in the CLI and across messaging surfaces:
/new,/reset: fresh conversation./model [provider:model]: change LLM mid-session./personality [name]: switch persona./retry,/undo: reverse the last action./compress,/usage: context management./skills: browse procedural memory.
Self-evolution
The companion hermes-agent-self-evolution project applies DSPy + GEPA to automatically optimize skills, tool descriptions, system prompts, and code. It reads execution traces, proposes targeted variants via API calls (no GPU training required), evaluates them against held-out traces, and gates results behind tests, size limits, and human review before raising a PR. Synthetic data or real session history (including from Claude Code) can drive the evaluation set.
This is one of the few harnesses where the harness itself ships with a documented improvement loop, not just a tool registry.
Orchestrating other harnesses
Hermes ships first-party skills under official/autonomous-ai-agents/ that let it drive other coding harnesses as sub-agents: Claude Code, Codex CLI, OpenCode, Hermes itself, and (May 2026, announced by Teknium) OpenHands. Install with hermes update && hermes skills install official/autonomous-ai-agents/<name>. Once installed, Hermes auto-discovers them when asked to delegate, or force-load with /<agent-name> <prompt>. Cleanest path today to compose multiple agent harnesses without writing glue.
Buzz integration
Buzz is Block's self-hosted Nostr-based workspace where humans and agents share channels. Hermes plugs into it three ways, in increasing depth:
- Desktop runtime: Buzz Desktop launches Hermes locally as a managed component. Zero config; Hermes just appears in Settings once installed. The way to try it.
- Relay bridge: a hosted Hermes identity joins Buzz channels via
buzz-acp, bridging the relay over ACP. Buzz owns the transport and the agent identity. For relay operators. - Native gateway: Buzz becomes just another Hermes messaging platform alongside Telegram, Discord and the rest: channels, DMs, mention gating, threaded replies, reactions, images, cron delivery. Keeps every Hermes feature including approvals and memory. Uses a dedicated Nostr keypair so identities don't collide.
Mode 3 is the right one if you already run Hermes; the other two exist so Buzz users can get an agent without adopting Hermes first.
Credential firewall for Docker sandboxes (July 2026)
Announced 2026-07-24, and the most important thing Hermes has shipped for anyone running agents against real accounts.
Your real keys never enter the sandbox. The agent runs on stand-in tokens, and a local proxy swaps in the real credentials at the network boundary. Tokens lifted from a compromised sandbox are useless anywhere else.
hermes egress setup
Why this is the right shape
Sandboxing an agent has always had a hole in the middle. You isolate the filesystem, you isolate the process, and then you hand the sandbox a live API key because otherwise it can't do anything useful. The container is contained; the credential isn't. Prompt injection, a malicious dependency, or a bad tool description and the key walks out.
Moving substitution to the egress boundary fixes the actual failure mode. What lives inside the sandbox is a placeholder with no value outside it. Exfiltration stops being interesting, because there's nothing to exfiltrate.
This is the same mechanism as varlock's credential proxy, arrived at independently and in the same month. Two projects with different starting points converging on: give the agent a stand-in, inject the real value at a verified boundary. When that happens, it usually means the pattern is correct rather than clever. Worth treating as the default design for agent credential handling rather than a Hermes feature.
It also pairs directly with what DrSkill scans for. Secrets sitting in committable config files are the static version of this problem; a credential firewall is the runtime version. Both are about never letting the real value reach a place you don't control.
Where it sits among harnesses
- vs Claude Code / Codex CLI; coding-focused; Hermes Agent is broader (personal assistant, messaging, automations).
- vs OpenClaw; same niche; Hermes Agent is the more actively developed successor with first-class migration tooling.
- vs Aider / OpenCode; similar provider-agnosticism; Hermes Agent adds learning loop, gateway, scheduler.
- vs Claude Managed Agents; Hermes runs on your hardware, including a $5 VPS, with no managed-service dependency.
The Herald release and Bot Mode (August 2026)
Two back-to-back drops pushed the harness further toward "personal assistant OS":
Herald release (v0.20.0): voice-activated chats (pitched as a Google Home / Alexa replacement), plugins and Kanban in the desktop GUI, Agent2Agent protocol support, outbound webhooks, large token-efficiency and performance gains, Buzz integration, office/productivity skills, a grounded-research skill, more reliable local and open models, and a secrets lockdown built on Ironproxy (the credential-firewall line continued).
Bot Mode (v0.20.3, default-on in Hermes Desktop): agent profiles become a roster of named bots, each with its own role, model, memory, skills, and profile picture. Bots message each other through a persistent Agent Inbox and hand work off by @mention: multi-agent teams as a first-class desktop UI rather than an orchestration script. It started as a one-day public beta plugin from Teknium before shipping bundled.
Bot Mode is the notable design move: it maps multi-agent orchestration onto a group-chat mental model regular users already have, instead of exposing DAGs or config files.
Trade-offs
- Surface sprawl; messaging gateways, schedulers, subagents and learning loops are powerful but raise operational complexity. A coding-focused user is better served by a focused CLI.
- Self-improvement risks; an agent that mutates its own skills is an agent whose behavior drifts. Treat the self-evolution loop as opt-in, not a default.
- Discovery cost; 40+ tools, multiple backends, and a skills hub mean a real onboarding curve. Worth it for a daily-driver harness; expensive for a one-off.
License
MIT.
References
- Repository: https://github.com/NousResearch/hermes-agent
- Self-evolution variant: https://github.com/NousResearch/hermes-agent-self-evolution
- Documentation: https://hermes-agent.nousresearch.com/docs/
- LLM-readable docs: https://hermes-agent.nousresearch.com/llms.txt and https://hermes-agent.nousresearch.com/llms-full.txt
- Function calling utilities: https://github.com/NousResearch/Hermes-Function-Calling
- Paperclip adapter: https://github.com/NousResearch/hermes-paperclip-adapter
- Announcement (Hermes Agent Kanban): https://x.com/NousResearch/status/2050997692977844324
- Credential firewall for Docker sandboxes (2026-07-24): https://x.com/NousResearch/status/2080728699100406042
- Buzz integration docs: https://hermes-agent.nousresearch.com/docs/integrations/buzz
- Herald release thread (Teknium): https://x.com/Teknium/status/2084344999513383195
- Bot Mode follow-up (Teknium): https://x.com/Teknium/status/2085156837561893117
- Bot Mode coverage: https://www.marktechpost.com/2026/08/17/nous-research-hermes-bot-mode/
Related
- Nous Research
- Hermes
- AI Agent Harness
- AI Agent Harnesses (MoC)
- OpenClaw
- qm (Y Combinator): YC's org-scale harness, positioned as "customizable like Hermes or OpenClaw, but for a whole company"
- Atropos
- Buzz: Block's human+agent workspace; Hermes integrates three ways
- varlock: same credential-proxy pattern, arrived at independently
- DrSkill: scans for the static version of the same problem
- Docker
- AI Agent Skills
- Claude Code
- Codex CLI
- OpenCode
- OpenHands
- Aider
About Sébastien
Ready to get to the next level?
Found this valuable? Share it with someone who needs it.