Hermes v0.20.1: 18 Plattformen und 13 versteckte Effizienz-Gewinne, die du wahrscheinlich verpasst hast

Gestern hast du hermes update ausgeführt, das Terminal meldete „Updated to v0.20.1“, und damit war es das. Kein Wunder: v0.20.1 ist ein leises Patch-Release – die offiziellen Notizen umfassen nur ein paar Zeilen und verweisen die vollständige Dokumentation auf „v0.21.0“.
Doch hinter dieser Stille stecken 656 zusammengeführte PRs, 1.444 Commits und 481 geschlossene Issues. Darin versteckt liegen 13 Effizienz-Gewinne, die die Release-Notes nie erwähnen – Dinge, die dir jeden Tag Zeit und Geld sparen. Holen wir sie alle ans Licht.
Die wichtigste Änderung: Die Plattformliste ist auf 18 angewachsen
Im v0.20.x-Zeitfenster deckt die offizielle Messaging-Dokumentation nun 18 Plattformen ab, alle bedient von einem einzigen Gateway-Prozess:
Telegram, Discord, Slack, WhatsApp (personal + Cloud API), Signal, Email, Matrix, IRC, QQ, Yuanbao, Feishu, Weixin, iMessage (BlueBubbles), LINE, DingTalk, Google Chat und SMS.
Egal, auf welcher Plattform du unterwegs bist: hermes gateway läuft als ein einziger Prozess, und Gespräche fließen nahtlos zwischen den Plattformen hin und her.
Die 13 versteckten Effizienz-Gewinne
A. Schnellere, zuverlässigere Installationen (2)
1. Das Windows-Setup hängt nicht mehr endlos (#85529 / #85539 / #81390)
Die Phase „Installing Node.js dependencies“ des Windows-Installers konnte endlos hängen – npm install und der Chromium-Download hatten keinerlei Zeitbegrenzung, und ein Nutzer ließ ihn über Nacht laufen (ein Phasen-Timer bei 744:38). Jetzt gilt: Jeder Schritt hat ein Timeout, Fehler melden sich lautstark, statt Erfolg vorzutäuschen, „Already up to date“ überspringt die Reparatur defekter Abhängigkeiten nicht mehr, und der Installer kann sich nach einem Absturz erholen.
2. Der Modellkatalog-Refresh blockiert keine Hot Paths mehr (#85555)
Der models.dev-Refresh nutzt jetzt ETag-conditional GETs: Er lädt nur dann erneut herunter, wenn sich der Inhalt tatsächlich geändert hat, und ein Netzwerk-freier Hot Path sorgt dafür, dass Start und Modellwechsel nicht auf das Netzwerk warten müssen.
B. Tokens sparen, Geld sparen (2)
3. Anthropic prompt caching kehrt lautlos zurück (#85554)
Wenn du einen eigenen Anthropic-kompatiblen Endpunkt nutzt (api_mode: anthropic_messages), ist prompt caching im v0.20.0-Zeitfenster womöglich lautlos verloren gegangen – jetzt kann jedes Modell prompt_caching: true|false deklarieren, und selbst nackte Aliase (z. B. fable → claude-fable-5) bekommen wieder cache_control-Breakpoints. Lange Gespräche sparen sofort Tokens.
4. Der context_length-Cache kann nicht mehr „vergiftet“ werden (#85507 / #85509 / #85506)
Ein korrupter Cache-Eintrag (context_length: 0) vergiftete früher die gesamte Auflösungskette und nagelte Kompressor wie sämtliche Anzeigen auf eine dauerhafte 0 fest. Jetzt: Nicht-positive Werte werden beim Schreiben abgelehnt, der Cache wird atomar geschrieben, und veraltete 32K-Untermeldungen (die MiniMax/Kimi-Klasse) werden verworfen und neu aufgelöst. Deine Kontextfenster-Zahlen sind wieder vertrauenswürdig.
C. Session-Resume (1)
5. Beim Fortsetzen einer Session wird das Modell wiederhergestellt, das du tatsächlich genutzt hast (#85261 / #85558)
hermes --resume oder /resume fiel früher stillschweigend auf die Standardkonfiguration zurück – du konntest gestern Nacht auf Grok unterwegs sein und die Session unmerklich auf etwas anderem fortsetzen. Jetzt werden das tatsächliche Modell, der Provider und der Endpunkt der Session wiederhergestellt, und /model-Wechsel persistieren ihre vollständige Route in der Session-Zeile.
D. CLI-/Desktop-Eingabe (3)
6. Eingefrorene CLI-Eingabe heilt sich jetzt selbst (#85630)
Wenn das Terminal wieder in den cooked mode zurückfiel, „weigerte“ sich die CLI, Eingaben anzunehmen – früher half nur ein externer stty-Rettungsgriff. Jetzt erkennt die CLI die Abweichung und heilt sich selbst.
7. Suggestion pills, drei Fixes tief (#85661 / #85698 / #85091)
- Pills warten jetzt, bis du ein Wort fertig getippt hast, bevor sie feuern (kein „use skill: hermes-agent“-Pop-up mehr, nur weil du ein Repo erwähnt hast);
- Das MCP-Verbindungsverzeichnis hat sich mehr als verdoppelt (zuvor deckte es nur 8 Anbieter ab);
- Der Geist des „einmal geklickt, dann toter Button“ ist verschwunden.
8. Tippen während blockierender Prompts geht nicht mehr verloren (#85045 / #84971)
Auf dem Desktop werden Nachrichten, die du getippt hast, während ein Bestätigungsdialog offen war, jetzt als nächster Turn ausgeführt, und wartende Prompts verschmelzen mit dem laufenden Turn – Schluss mit „Ich habe das doch getippt, warum ist nichts passiert?“
E. Gateway / Plattformen (3)
9. Cron-Alarme sagen jetzt die Wahrheit (#85536 / #85508)
Fehler bei Script-Jobs wurden früher als „Provider-Fehler“ gemeldet (und vereinzelte 429er falsch zugeordnet). Jetzt werden no_agent- und Script-Fehler, Timeouts, Fallback-Ketten und Drift ehrlich gemeldet; Drift-Alarme feuern einmal pro Job statt einmal pro Tick.
10. Voice/Wake blockiert nicht mehr das gesamte Gateway (#85438)
voice.toggle / record / tts und wake.start / status laufen jetzt über einen Pool – eine synchrone STT-Lazy-Installation (faster-whisper, ~50 MB, 300-Sekunden-Timeout) kann WebSocket-Sends nicht mehr blockieren. Sprachbefehle und Modellantworten streiten sich nicht mehr um denselben Thread.
11. Native Live-Cards auf Slack (#85476)
Slack-Antworten streamen jetzt als native live-typing-Nachrichten, optional mit Plan-/Task-Fortschrittskarten – du siehst direkt in Slack, woran der Agent denkt und wie weit er ist.
F. Tools & Datensicherheit (2)
12. Bildgenerierung umgeht deinen Provider nicht mehr (#85520)
Der image.generate-WebSocket-Handler rief früher das FAL-Blatt im Quellbaum direkt auf und umging dabei lautlos die plugin-registrierten Bild-Provider und das Krea-Routing – ein Plugin-Nutzer bekam deshalb falsche Ergebnisse. Jetzt läuft er durch den Provider-Dispatcher, sodass der Provider zum Einsatz kommt, den du konfiguriert hast.
13. state.db heilt sich selbst: übersteht sogar eine ausgetauschte Datenbankdatei (#84885 / #84886 / #84881)
- Wird die zugrunde liegende DB-Datei unter einer aktiven Verbindung ersetzt, greift ein begrenzter One-Shot-Reconnect-Self-Heal, statt bis zum Neustart festzuhängen;
- Vorübergehende EIO-Fehler werden 4× wiederholt;
hermes sessions recover --allow-partialstellt jetzt auch Tail-Zeilen wieder her, die lautlos verworfen wurden, mit einer lost_and_found-Spur als letztem Ausweg;- WAL-Checkpoints sind durchgängig PASSIVE, niemals TRUNCATE.
(Das setzt die Härtung aus dem 798-Nachrichten-Amnesie-Vorfall fort – eine weitere Verteidigungsebene auf Datenbankebene.)
So aktualisierst du
hermes update
Führe nach dem Upgrade hermes doctor aus, um zu bestätigen, dass alles gesund ist, und starte danach das Gateway neu (hermes gateway), damit die Plattformänderungen wirksam werden.
Fazit
v0.20.1 ist das „leise Arbeitstier“-Release: kein Tamtam, aber 656 PRs genau mit den Fixes, die du irgendwann brauchen wirst. Achtzehn Plattformen plus diese 13 Effizienz-Gewinne – dieses Release sollte jeder Langzeitnutzer installiert haben.
Mehr erfahren? Sieh dir die Befehlsreferenzen zu hermes update, hermes sessions, hermes cron und hermes model an; das vorherige Major-Release findest du in den v0.20.0-Release-Notes.