# Hermes Agent Hermes Agent is [[Nous Research]]'s open-source, model-agnostic [[AI Agent Harness|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.io` standard, 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, [[Zhipu AI (Z.ai)|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: ```sh 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: 1. **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. 2. **Relay bridge** — a hosted Hermes identity joins Buzz channels via `buzz-acp`, bridging the relay over [[Agent Client Protocol (ACP)|ACP]]. Buzz owns the transport and the agent identity. For relay operators. 3. **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. ```sh 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 (A2A)|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]]