v0.23.0

Hermes Agent v0.23.0


Überblick

v0.23.0 — The Hearth Release. Veröffentlicht am 5. November 2026. ~10.080 Commits · ~1.950 gemergte PRs · ~8.720 geänderte Dateien (+725.200 / −201.400) · ~850 geschlossene Issues · 666 Mitwirkende seit v0.22.0.

Das Bild aus der offiziellen Notiz lohnt sich zu behalten: v0.22.0 hat die Neulinge durch die Tür gebracht, v0.23.0 baut das Feuer, um das sie sich setzen. Praktisch heißt das: Die Einzelteile sind keine getrennten Produkte mehr. Dein kompletter Desktop-Workspace öffnet sich jetzt in einem Browser-Tab, den dein eigener gateway ausliefert. Jede Oberfläche — klassische CLI, TUI, Desktop, Editor-Integrationen, Messaging-Bots, cron — hängt an einem gateway, dem jede Session gehört, statt jeweils eine eigene Kopie des Agenten laufen zu lassen.

Dieses Release rollt außerdem die Patch-Releases v0.22.1–v0.22.7 auf und dokumentiert sie vollständig — daher die großen Zahlen: Die Zwei-Wochen-Fenster, die ohne kuratierte Notes ausgeliefert wurden, stehen jetzt hier.

Highlights

1. Dein Desktop-Workspace in einem Browser-Tab

Mit webapp.enabled: true liefert der gateway den Desktop-Workspace auf einem eigenen Listener aus — dieselben Chats, dieselben Group Chats, dieselben Plugins, dieselben Einstellungen. hermes webapp öffnet ihn. In den Desktop-Einstellungen unter Settings → Web Access läuft er in deinem Netzwerk oder hinter einer öffentlichen URL mit Anmeldung.

webapp:
  enabled: true          # Standard: false
  host: 127.0.0.1        # Standard
  port: 9120             # Standard
  public_url: ''         # setzen, wenn hinter einem Proxy oder einem öffentlichen Host ausgeliefert wird

Standardmäßig ist er aus und Single-User: Ein angemeldeter Tab handelt als du, die Sessions, die er zeigt, sind also dieselben, die auch das native Desktop zeigt. Anzeigeeinstellungen folgen dir auf derselben Maschine über Geräte hinweg. Docker-Image und Nix-Paket bringen ihn mit.

2. Ein gateway besitzt jede Konversation

Vor diesem Release konnten CLI, TUI, Desktop, ACP-Editoren, Messaging-Bots und cron jeweils ihren eigenen Agenten gegen denselben Chat laufen lassen — so wurde eine Nachricht doppelt geschrieben oder verschwand zwischen den Oberflächen. Jetzt besitzt ein gateway pro Maschine jede Session, und jede Oberfläche hängt als Client daran: Ein Chat, den du irgendwo öffnest, ist derselbe Chat, mit einer Queue und einer Historie.

Unter diesem Modell kannst du einen eingereihten Prompt von Desktop aus steuern oder bearbeiten, ohne dass er zweimal läuft. Der Zyklus hat außerdem repariert, was die erste Migration kaputt gemacht hat — Slash-Befehle, /retry, /refine, /review, Clarify-Karten, Reasoning-Anzeige, Usage und ACP-Sessions.

3. Bilder im Terminal

Wenn du ein Bild einfügst oder ein Tool einen Screenshot macht, zeichnen CLI und TUI es im Chat, statt einen Dateipfad auszugeben. Echte Pixel in kitty und Ghostty (CLI und TUI) sowie in iTerm2, WezTerm und Konsole (CLI); farbige Blöcke überall sonst; volle Auflösung im Terminal von VS Code, wenn dessen Bildsupport aktiv ist.

4. Eine Konversation zurückspulen

Drücke zweimal Esc in einem leeren, untätigen Composer — oder tippe /rewind — und CLI bzw. TUI listet deine früheren Prompts, den neuesten zuerst. Wähle einen aus und bearbeite und sende ihn erneut, oder forke von diesem Punkt aus eine neue Session. Bearbeiten-und-erneut-Senden schneidet nichts ab, bis du wirklich absendest: Die Änderung wird zuerst gegen den gewählten Turn neu validiert, und ein Abbruch lässt die Session genau so, wie sie war. Fork nutzt /branch und spult nur das Kind zurück, sodass die ursprüngliche Session ihre Zeilen behält.

Die TUI kann außerdem /new starten, während ein Turn noch läuft; der alte Turn arbeitet im Hintergrund weiter.

5. Jede Maschine in einem Desktop-Fenster

Desktop hält alle deine registrierten gateways gleichzeitig verbunden, der Wechsel zwischen diesem Rechner, einem SSH-Host und einem URL-gateway geht also sofort — kein Bestätigungsdialog, keine leere Session-Liste. Terminal-Tabs laufen auf dem Host, auf dem sie geöffnet wurden, und sagen das in ihrem Label. Ein Group Chat kann Bots von verschiedenen Maschinen beherbergen.

6. Group Chats, die sich selbst organisieren

Räume können jetzt einen Lead-Bot oder einen automatischen Router bestimmen lassen, wer auf eine Nachricht antwortet, die niemanden nennt. Geplante Jobs können mit deliver: room:<room_id>@<profile> in einen Raum posten und wecken nur die Bots, die sie @erwähnen. Räume behalten einen Zweck und gemeinsame Notizen, jeder Bot zeigt live, was er tut, und Bots pingen sich nicht mehr in Endlosschleifen: Ein Austausch ist nach der letzten menschlichen Nachricht auf max_hops (Standard 4) begrenzt.

7. Plugins, die sich selbst aktuell halten

hermes plugins update aktualisiert alle installierten Plugins in einem Durchgang, und ein optionaler Auto-Update-Schalter (CLI, Chat, Desktop, Dashboard) hält Katalog- und Git-Plugins aktuell. Updates, die dein Setup kaputt machen würden, werden zurückgehalten statt angewendet. Der Katalog ist von etwa 600 auf über 1.050 Einträge gewachsen, und eine neue Stufe „Verified“ markiert Plugins, die der Hersteller selbst baut.

8. Preisschilder und Ausgabengrenzen für bezahlte Tools

Bezahlte MCP-Tools können deklarieren, was ein Aufruf kostet, und der Approval-Prompt zeigt den Preis plus die laufende Summe des Chats. Mit gesetztem spend_limit fragt Hermes nach, bevor ein Chat das Budget überschreitet — auch bei einem vertrauenswürdigen Server und auch im YOLO-Modus; wo niemand antworten kann — ein cron-Job, ein headless chat -q-Lauf —, wird der Aufruf abgelehnt, statt still Geld auszugeben.

mcp_servers:
  renders:
    command: "render-mcp"
    tool_costs:
      create_image: 20
      animate: {credits: [5, 20], note: "per animation"}
    spend_limit: 100
    cost_unit: credits

9. Neue offizielle Plugins und ein kleinerer Kern

Meshy (Text und Bild zu 3D), ElevenLabs Music and Sound Effects, X Chat, REA und eine bubblewrap-Sandbox sind Ein-Befehl-Installationen. Camofox, mcp-serve, die Agent-Importer und Singularity sind aus dem Kern in Plugins gewandert, die sich für alle installieren, die sie genutzt haben.

10. Wähle, wie Subagenten laufen

Delegation ist steckbar: Behalte den Standard oder installiere das offizielle advanced-delegation-Plugin, um jede Subagenten-Aufgabe an ein benanntes Modell oder in ein separates profile zu schicken. /delegation wechselt zwischen den Routen.

11. Leichter und schneller, besonders wenn Hermes den ganzen Tag läuft

Wiederkehrende cron-Jobs teilen sich einen Prompt-Cache-Key. Hintergrund-One-Shot-Aufrufe zahlen nichts mehr für Cache-Writes, und One-Shot-Läufe senden etwa 1.570 Prompt-Tokens weniger pro Aufruf. patch und write_file kehren mit LSP in Millisekunden zurück — ein sauberer TypeScript-Edit ging von 10,1 s auf etwa 0,06 s. Langlebige gateways geben den Speicher geschlossener Sessions frei, und eine Desktop-Sidebar, die auf einem Store mit ~35.000 cron-Läufen saß, sprang von 121 Sekunden Refresh auf sofort.

12. Ein schlankerer Skill-Satz, den du sperren kannst

Eine frische Installation bringt 44 eingebaute Skills statt 58. Word, PowerPoint und Excel sind zu einem microsoft-office-Skill verschmolzen, 12 Nischen-Skills sind optionale Installationen geworden, und Skills, die ein Vendor-Repo, ein Katalog-MCP oder die eingebaute Websuche bereits abdeckt, wurden entfernt. Nach hermes curator lock <skill> kann der Agent diesen Skill durch kein Tool mehr umschreiben, selbst unter YOLO, und der Curator archiviert ihn nicht.

Upgrade-Hinweise

  • Die alten eingebauten Browser-Tools sind weg. Browser-Automatisierung läuft nur noch über browser_exec; agent-browser und die zehn browser_*-Tools (browser_navigate, browser_click, …) wurden entfernt. Installationen, die Camofox genutzt haben, bekommen das camofox-Plugin automatisch installiert. Wenn deine Prompts, Skills oder Toolset-Listen die alten Tools nennen, stell sie auf browser_exec um.
  • Desktop braucht macOS 13+ und 64-Bit-Windows. Die App ist auf Electron 44 umgestiegen, das nicht mehr auf macOS 11, macOS 12 oder 32-Bit-Windows läuft.
  • hermes mcp serve heißt jetzt hermes mcp-serve. Der Befehl ist in ein Plugin gewandert, und MCP-Clients, die Hermes als Server starten, müssen ihren Befehl anpassen — nichts schreibt ihn für dich um.
  • Office-Skills zusammengeführt. Word, PowerPoint und Excel sind ein microsoft-office-Skill; alte Kopien bleiben auf der Platte, bis du sie entfernst.
  • Der Webapp ist standardmäßig aus. Nichts wird an einen Browser ausgeliefert, bis du webapp.enabled oder Web Access einschaltest.

Ebenfalls in diesem Fenster

  • Modelle — GLM-5.3 ist der stille Standard, wenn du nie eines auswählst, mit demselben 1M-Kontextfenster auf Nous Portal und OpenRouter. GPT-6.1 Terra, DeepSeek V4.1 Flash 1017, Gemini 4 Argon auf Solstice und Nemotron 3.5 Super VL kommen als neue Optionen; Claude Mythos wird immer als denkend behandelt. /model reset bringt eine mit /model gepinnte Session auf deinen konfigurierten Standard zurück, ohne die Konversation zu verlieren.
  • Compaction — das optionale compression.prepare_ahead schreibt die nächste Zusammenfassung im Hintergrund, während sich eine Session dem Trigger nähert, sodass die Compaction den Turn nicht mehr pausiert. Zusammenfassungen listen unsichere Aussagen in UNVERIFIED:-Zeilen. hermes sessions refresh-prompts lässt fortlaufende Sessions ein bearbeitetes SOUL.md, einen Skill oder eine Kontextdatei im nächsten Turn aufnehmen.
  • Sicherheit — mehr Secret-Formen werden maskiert (gequotete Secrets, Connection Strings, Azure-Keys, Nicht-PEM-Private-Keys, SMB-Passwörter), das Approval-Gate fragt jetzt bei curl … | sudo bash-Pipes und bei Credential-Uploads nach, die hinter einer genehmigten Regel verborgen liegen, und eine veraltete Approval-Karte kann nicht mehr die nächste Anfrage genehmigen.
  • Cron — ein laufender Job kann von der CLI, von Desktop, über die API oder vom Agenten selbst abgebrochen werden, und jeder Job kann deklarieren, was mit Läufen passiert, die verpasst wurden, während Hermes aus war.
  • Zuverlässigkeit — der etwa einmal pro Minute auftretende gateway-Freeze während Memory-Trims ist weg, geschlossene Sessions verlassen den Speicher, und hermes gateway stop / restart verweigern sich, solange Sessions laufen.

Upgrade

hermes update
hermes doctor
hermes version

hermes doctor endet mit einem Exit-Code ungleich null, wenn es noch ein ungelöstes Problem listet, und taugt damit als Health Gate nach dem Upgrade.

← Hermes Agent Changelog