🇫🇷 Cet article est aussi disponible en français.

Hermes Agent v0.20.0 'The Herald Release': Voice, A2A v1.0, and a Desktop Platform

Hermes Agent v0.20.0 'The Herald Release': Voice, A2A v1.0, and a Desktop Platform
🇫🇷 Cet article est aussi disponible en français.
📑 Table of Contents

Nous Research shipped Hermes Agent v0.20.0 on August 3, 2026 — the biggest single release in the project’s history. Dubbed “The Herald Release”, it turns the open-source agent from a text-based assistant into something that speaks, coordinates with other agents over a standard protocol, pushes signed events to external systems, and backs its research with verifiable citations.

The numbers tell the scale of the window: ~3,650 commits, ~1,400 merged PRs, ~5,200 files changed, ~559,000 insertions, ~405,000 deletions, ~1,200 issues closed, and 650+ contributors since v0.19.0 on July 20. Hermes Agent now sits at over 224,000 GitHub stars.

TL;DR — v0.20.0 is a four-part release: (1) conversational voice with streaming TTS, barge-in, and on-device wake words; (2) A2A v1.0, a bundled plugin implementing the Agent-to-Agent protocol and closing a feature request opened in 2025; (3) signed outbound webhooks letting Hermes push lifecycle events to any HTTP endpoint; (4) a grounded-citations skill with fact-checking mode. Underneath: the desktop app became a platform (artifacts, plugin SDK, quick-entry), the CLI got a power-user wave, context compression was overhauled, and tools learned to recover from their own failures.

Talk to Hermes — voice is now a conversation, not voicemail

The headline feature is real-time conversational voice. Previously, voice mode meant: speak, wait for the full reply to generate, then listen to one long audio file. v0.20.0 streams the reply clause-by-clause as it’s generated, and you can interrupt mid-sentence by simply talking — Hermes stops, listens, and the model is told you cut in. Busy-aware silence detection prevents it from talking over you.

The capability works across the CLI, the desktop app, and gateway adapters, and it’s paired with on-device wake words: you define your own open-vocabulary phrase (“hey Hermes”, or anything else), and detection runs locally so no audio leaves your machine while waiting. Multi-profile voice routing means different wake words can reach different profiles. Saying “stop” ends the voice chat hands-free on every surface.

Voice is also now a first-class citizen on messaging platforms: voice notes sent to Hermes on WhatsApp, Feishu, DingTalk, LINE, QQ, Photon, or Weixin are transcribed and answered, with auto-TTS replies delivered platform-aware (opus where platforms want opus, captions attached correctly). STT is fully configurable with its own hermes tools category, and OpenAI’s gpt-transcribe is supported. (Source: GitHub Release Notes — v0.20.0)

A2A v1.0 — Hermes speaks agent-to-agent

One of the oldest open feature requests in the repository, issue #514, asked for a standard way for Hermes to interoperate with other agents. v0.20.0 delivers it: a bundled plugin implementing the Agent-to-Agent (A2A) protocol v1.0. Hermes can now discover, talk to, and be driven by other A2A-compatible agents — a meaningful step toward heterogeneous multi-agent systems where each agent keeps its own stack but shares a wire protocol. (Source: GitHub Release Notes — v0.20.0)

Signed outbound webhooks — Hermes pushes to your systems

Until now, integrating Hermes into your infrastructure meant polling or listening on a platform. v0.20.0 reverses the model: Hermes can push signed lifecycle events (session activity, turn completions, tool events) to any HTTP endpoint you register. Events carry HMAC signatures so receivers can verify authenticity — enabling CI pipelines, home automation, dashboards, or any HTTP-speaking service without a polling loop. (Source: GitHub Release Notes — v0.20.0)

Research you can trust — grounded citations

The new grounded-citations skill targets one of the biggest trust problems in agent research: hallucinations disguised as citations. Every claim in Hermes-generated research is backed by a verifiable source — quotes are matched against the actual page text rather than generated from memory, citations link to the exact evidence, and a fact-checking mode runs the same machinery on any document or claim you hand it, reporting what checks out, what doesn’t, and what couldn’t be verified. (Source: GitHub Release Notes — v0.20.0)

The desktop app becomes a platform

The v0.20.0 desktop release is arguably its own release in miniature. The headline is artifacts: versioned cards with sandboxed live preview in a right-rail viewer, so generated HTML or apps run safely next to the chat. On top of that:

  • A real plugin SDK, with Kanban as its founding plugin, ctx.download for handing users files, floating pane placement, and multiple GUI windows.
  • A global-hotkey quick-entry window that captures a thought into any session from anywhere in the OS.
  • SSH remote-backend connection mode, letting the desktop drive a Hermes instance on another machine.
  • Second 60fps performance wave: streaming cost independent of transcript length, drag at 60fps with five streaming tabs, idle CPU near zero.
  • Composer upgrades: attach files/folders/links via picker, undo stack, double-ESC discard, double-Enter to send, and iMessage-style emoji reactions (opt-in).

The summary from the release notes: “The desktop stopped being a chat client and started being a workbench.” (Source: GitHub Release Notes — v0.20.0)

CLI power-user wave

The terminal got a batch of commands aimed at heavy users: !command runs a shell command instantly without spending a model turn; /init scans a project and generates or updates AGENTS.md; /diff shows staged/all/session changes from any surface; /context breaks down exactly what’s filling the context window; /focus gives a reduced-output view with hidden-line recovery; Ctrl+S stashes a half-written prompt into a browsable panel. And hermes import-agent migrates an existing Claude Code or Codex CLI setup into Hermes in one command. (Source: GitHub Release Notes — v0.20.0)

Tools that fix themselves, and a smarter agent loop

A broad sweep of self-recovery upgrades means the agent wastes far fewer turns on tool friction: truncated terminal output spills to a file the agent can read back, patch detects already-applied edits and diagnoses whitespace mismatches, write_file verifies content on disk, and searches that match nothing probe for near-misses. The default tool-calling iteration limit jumped 90 → 500, so long autonomous runs no longer hit an artificial wall.

Two loop-level features stand out. Mid-turn redirects let you correct the agent while it’s working — no more /stop and re-explain; work in flight is preserved and the original prompt is kept while the agent course-corrects. And context compression got a deep overhaul: per-turn micro-compaction instead of one giant pause, a guaranteed N-user-message tail so recent conversation always survives, per-model threshold overrides, and ghost-skill defense so a pruned skill can never silently haunt a session.

Smart approvals also matured: hermes approvals suggest mines approval history into allowlist proposals, a consecutive-denial circuit breaker stops misbehaving loops, and a new approval gate covers docker/podman daemon-redirect commands. (Source: GitHub Release Notes — v0.20.0)

Faster everywhere, again

Performance work continued on every surface: prompt caching now covers tool schemas on native Anthropic, hermes -w cold start dropped ~14s → ~1.8s, hermes update no-ops got 2–6s faster, heavy SDKs lazy-load off the import path, and config reads stopped deep-copying (54× faster on the telemetry gate). New model catalog entries include Gemini 3.1 Pro and 3.6 Flash, claude-opus-5, and deepseek-v4-flash-0731. On the platform side, Buzz (Block’s Nostr-based messenger) lands as a bundled gateway platform, the Vercel AI Gateway provider returns modernized, and desktop gains its SSH remote-backend mode. (Source: GitHub Release Notes — v0.20.0)

Security hardening

The release closed a long list of credential-surface gaps: an iron-proxy credential-injection egress firewall, DNS-pinned SSRF-safe fetches, strict redaction at every compaction boundary, tier-3 credential reads scoped, refreshed CVE dependency pins, and a Windows hardening wave closing the text-mode subprocess decode bug class repo-wide. (Source: GitHub Release Notes — v0.20.0)

The trajectory: four themed releases in five months

v0.20.0 continues a pattern established across 2026: each major release gets a theme and ships at an aggressive cadence. May’s v0.15.0 “Velocity”, June’s v0.16.0 “Surface” and v0.17.0, July’s v0.18.0 “Judgment” (which closed every P0/P1 issue), v0.19.0 “Quicksilver” (the speed release), and now v0.20.0 “Herald” (voice + interoperability). The unifying bet is that the agent’s edges matter more than its core: platforms, protocols, voice, and verifiability are where the product keeps expanding, while the core stays deliberately narrow.

FAQ

Is Hermes Agent v0.20.0 free?

Yes. Hermes Agent remains MIT-licensed open source, and v0.20.0 is available immediately via the shell installer or pip install hermes-agent. Hosted tiers exist for those who prefer managed infrastructure, but the core agent is free to run on your own hardware.

What exactly is A2A v1.0?

A2A (Agent-to-Agent) is an open protocol for agent interoperability. The v0.20.0 plugin lets Hermes discover, communicate with, and be driven by other A2A-compatible agents. It closes issue #514, one of the repository’s oldest open feature requests, and is aimed at heterogeneous multi-agent setups where different agents run different stacks.

Does voice mode require a paid API?

The wake-word detection runs on-device with no audio leaving your machine. TTS/STT providers are configurable — free local options exist (e.g., Edge TTS, local Whisper) as well as paid providers like OpenAI.

How does grounded citations work?

The grounded-citations skill matches every quote in generated research against the actual text of the cited page, links citations to the exact evidence, and offers a fact-checking mode that audits documents or claims you provide — reporting what verifies, what fails, and what cannot be checked.

What happened to the v0.19.1 patch release?

v0.19.1 (July 30) was an infrastructure patch tag that rolled up ~1,000+ PRs into a stable point for downstream consumers. Its content is fully documented within the v0.20.0 release notes.

Further Reading