Hermes Harness (Nous Research)

Hermes Agent is Nous Research's open-source (MIT), self-hosted, model-agnostic agent runtime — "the agent that grows with you." Unlike the IDE/terminal coding harnesses, it is a long-lived server-side process you run on your own box, reachable from messaging apps, that compounds skills and memory across sessions. It is the runtime Kevin deploys via Agent Machines; the tool overview is Hermes Agent (Nous Research).

Runtime vs model. "Hermes" names two Nous products: the open-weight Hermes LLM family (Hermes 3/4, tuned for <tool_call> function calling) and this agent runtime/harness. The runtime is named after and tuned to favor those models (its tool parser is literally hermes) but is model-agnostic — it runs any OpenAI-compatible endpoint via three API modes (chat-completions / Codex-responses / Anthropic-messages) behind one resolver. Source: NousResearch/hermes-agent

The agent loop

A single synchronous engine, AIAgent (run_agent.py), is reused by every entry point — CLI, the messaging gateway, the ACP editor adapter, batch runner, API server, and Python library — so surface differences live only at the edge. Flow: build a tiered system prompt (stable → context → volatile: identity/tool/skill guidance → context files → memory/profile/timestamp) that is frozen at session start to preserve prefix caching → resolve provider → call the model → dispatch tool calls → loop → persist to SQLite (FTS5). A context compressor summarizes middle turns past a threshold. Source: Hermes architecture docs

Skills as procedural memory

Skills are on-demand SKILL.md docs in ~/.hermes/skills/ (the agentskills.io standard). The agent writes and edits its own via a skill_manage tool — typically after a complex task, a recovered dead end, or a user correction — so procedure compounds instead of being rediscovered. Progressive disclosure keeps it cheap (skills_list ≈ 3k tokens → skill_view), and a Skills Hub installs from official/skills.sh/GitHub sources through a security scanner with trust tiers. This is procedural memory; the read/write paths generalize in Agent Memory System Architecture. Source: Hermes skills docs

The 2026-06 /learn feature turns that design into a skill compiler: the user points Hermes at directories, docs, URLs, past sessions, PDFs, configs, or a described procedure; the live agent gathers the material, writes a standards-compliant SKILL.md, and saves it through skill_manage, with the normal skills.write_approval gate if enabled. For Kevin, /learn is not a replacement for the no-one-off lifecycle; it is an accelerator for the codification step after a workflow has enough evidence. Source: Hermes skills docs; Source: X/@NousResearch, 2026-06-24

Memory and scheduling

Hermes now makes memory and context management explicit provider surfaces. Memory provider plugins add persistent cross-session knowledge beyond MEMORY.md / USER.md; context engine plugins replace the built-in compressor. Both are single-select and config-driven, which keeps the agent loop legible: one active memory backend, one active context strategy, no hidden pile of competing retrieval tools. Source: Hermes memory provider plugin docs; Source: Hermes context engine plugin docs

Orchestration primitives

  • /goal — an LLM-judge completion gate: after each turn a judge asks "goal satisfied?"; if not, Hermes auto-continues until met, budget exhausted, or interrupted.
  • Multi-agent kanban — a board (kanban_* tools, swarm/decompose/worker-lanes) plus a delegate tool for parallel subagents.
  • Approval buttons — native Slack/Telegram inline-keyboard approvals so the agent works in the background and taps you for a decision.
  • MCP + ACP — first-class MCP client (servers loaded dynamically) and an ACP adapter exposing Hermes as an editor-native agent to VS Code/Zed/JetBrains. In Kevin's Mac Mini stack, ACP is also the clean coding-worker boundary for Codex/Claude/OpenCode-style agents. Source: Hermes goals + kanban docs; Source: Hermes ACP docs
  • MoA as a model provider — Mixture of Agents presets appear as normal moa provider models; reference models give private analysis, the aggregator remains the acting model with the normal Hermes tool schema, and transcripts/tools/interrupts stay inside the same loop. Source: Hermes MoA docs

The point (per Hermes Agent (Nous Research) and The Eval Loop (Slop Is an Output Problem)): Hermes ships raw primitives you assemble and own — skills → judge, memory → ground truth, cron → monitor, approvals → ship gate, failures → new skills — not a turnkey dashboard.

Self-hosting and lineage

Designed as a persistent daemon decoupled from your laptop — runs from a $5 VPS to a GPU cluster, or serverless (Daytona/Modal hibernate-on-idle). Kevin's Agent Machines is exactly this: persistent Hermes on a Dedalus microVM with bundled wiki skills, seeded crons, and a Cursor-SDK MCP bridge, using sleep↔wake to save cost — durability in the spirit of Durable Agent Execution Architecture. Hermes is positioned as the successor to OpenClaw (ships hermes claw migrate); Kevin's rig treats the two as swappable runtimes on the same machine+provider contract. Source: NousResearch/hermes-agent

Ahmad's "switch from OpenClaw to Hermes" bookmark reinforces that successor reading, but the useful operational boundary is narrower: use Hermes when persistent memory, cron, goals, approvals, multi-agent kanban, and model-agnostic self-hosting are the center of the work; keep OpenClaw as the alternate gateway pattern when channel/node topology or OpenClaw-specific skills are the point. Current primary-source check found Hermes still on release v2026.7.1 / v0.18.0, with the repo active on main. Source: X/@TheAhmadOsman, 2026-06-22; Source: GitHub NousResearch/hermes-agent, 2026-07-03

Contrast

Where Claude Code, Codex, and Cursor are session-scoped coding copilots tied to a machine/editor and a vendor model, Hermes is a persistent, model-agnostic personal runtime that can code (terminal/file/exec + ACP, and can delegate to Cursor) but is centered on compounding memory, cron, and multi-channel reach. All four are while loops with invariants; Hermes makes the loop long-lived and self-owned.


Timeline