v0.22.0

Hermes Agent v0.22.0


Overview

v0.22.0 – The Threshold Release. Erschienen am 13. Oktober 2026. Seit v0.21.0: ~24.200 Commits · ~6.080 gemergte PRs · ~15.600 geänderte Dateien (+2.045.000 / −1.140.000) · ~7.180 geschlossene Issues · ~2.520 Mitwirkende.

Hermes war der Gott der Schwellen: die Türöffnung, die Überquerung, der Grenzstein. v0.21.0 hat das Pantheon zusammengestellt; in v0.22.0 geht es darum, durch die Tür zu kommen. Eine frische Desktop-Installation startet jetzt mit einem geführten Setup-Chat, der auf einem kostenlosen Testmodell läuft – so unterhält sich ein Neuling mit Hermes, bevor er einen eigenen API-Schlüssel besitzt. Connectors tragen den Agenten hinüber in die Apps, die Sie bereits nutzen, ohne dass zum Start ein Konto nötig ist. Lokale Modelle holen ihn mit einer Ein-Klick-Runtime für llama.cpp auf Ihre eigene Hardware. Und die Schwelle selbst ist stabiler geworden: getestete stabile SemVer-Releases, denen Installationen standardmäßig folgen, signierte Desktop-Pakete (inklusive Microsoft Store) und ein Paketmanager unter allem. Rund um dieses Rückgrat: ein Katalog mit 600 Plugins, die Modellwelle Claude 5.5 / GPT-6, Anmeldung im Browser über den Passwortmanager, ein Bot Screen, den Sie übernehmen können, ein Backend und ein Gateway für jedes Profil und eine Codebasis, die ein Drittel kleiner ist.

Dies ist das umfangreichste Zeitfenster, das Hermes je ausgeliefert hat, etwa 2,5-mal so groß wie der v0.21.0-Zyklus, und es fasst die Patch-Releases v0.21.1–v0.21.7 zusammen und dokumentiert sie vollständig.


Highlights

1. Ein erster Start, der sich selbst einrichtet

Öffnen Sie die Desktop-App auf einem Rechner, auf dem Sie Hermes noch nie benutzt haben, startet sie statt eines Einstellungsbildschirms einen kurzen Setup-Chat. Karte für Karte fragt sie nach Ihrem Namen, einer Akzentfarbe und einem Layout, danach, welche Apps verbunden und welche Plugins installiert werden sollen, gibt dann eine kurze Tour und schlägt bis zu vier erste Aufgaben vor, die für Sie ausgewählt wurden. Sie läuft auf einem kostenlosen Testmodell (nous/welcome, einmal pro OS-Benutzer), braucht also keinen Schlüssel; Skip setup beendet sie, und Settings → Run onboarding again holt sie zurück. Der Agent hat außerdem set_theme bekommen, sodass „machen Sie es violett, Dunkelmodus“ in jedem Desktop-Chat funktioniert (#137429, #137522, #137807, #134209, #105258).

2. Connectors: Hermes arbeitet in Ihren Apps

Über das Nous-Tool-Gateway kann der Agent jetzt in gehosteten Apps wie Linear und Notion handeln: eine App anfordern, sich einmal im Browser anmelden, und die Tools sind im selben Turn nutzbar. Ein Nous-Konto ist zum Start nicht nötig; beim ersten Einsatz einer App legt Hermes eine kostenlose Identität nur für Connectors an. Der Desktop hat eine neue Seite Connectors, die gehostete Apps und Ihre MCP-Server in einer Liste zusammenführt (sie ersetzt den MCP-Tab), dieselbe Setup-Karte erscheint in TUI und CLI, und Sie können mehrere benannte Konten einer App verbinden (ein work- und ein home-Konto) und sie mit /connectors oder hermes connectors verwalten (#106842, #111008, #119074, #135143, #135072, #135097, #135151, #135173, #137426).

3. Lokale Modelle mit einem Klick

Hermes kann offene Modelle jetzt vollständig auf Ihrer Maschine ausführen, ohne dass etwas sie verlässt: kein Konto, kein API-Schlüssel. Es installiert und pflegt llama.cpp mit der passenden Engine für Ihre Hardware (CPU, CUDA, Metal, Vulkan oder ROCm), bewertet jedes Modell im Katalog gegen Ihre GPU und Ihren RAM und wählt den qualitativ besten Build, der passt. Downloads lassen sich pausieren und fortsetzen, der Server startet und stoppt mit Hermes, und Engine-Updates sind ein Klick. Start über Settings → Providers → Local Models unter Windows, macOS und Linux oder hermes model → Local models im Terminal. Der Katalog umfasst Qwen3.8 27B, Qwen3.8 Flash Next (mit seinem spekulativen MTP-Kopf), Qwen3.6 35B-A3B und DeepSeek V4 Flash, dazu jedes GGUF von Hugging Face (#100667, #101823, #128768, #111423, #133111, #134116).

4. Stabile Release-Kanäle

Hermes liefert jetzt getestete SemVer-Releases aus. Jedes Release durchläuft Quell-CI, Docker, Nix, signierte Desktop-Builds sowie Installations- und Upgrade-Läufe auf jedem Betriebssystem, bevor es veröffentlicht wird, und Quell-Installationen wandern standardmäßig von Release zu Release, statt jedem Commit auf main zu folgen. Lieber die blutige Kante? hermes update --set-channel main oder der neue Kanalwechsel in Desktop Settings → About. Der Wechsel zu einem älteren Release ist als Rollback gekennzeichnet und passiert nie ohne Nachfrage, und erneute Installationsläufe halten Sie auf dem Kanal, den Sie gewählt haben (#102765, #135847, #135949, #136313, #137780).

5. Signierte Desktop-Pakete, der Microsoft Store und ein Paketmanager

Die Desktop-App ist jetzt ein versiegeltes, signiertes Paket, das sein eigenes Python und Node mitbringt und sich selbst aktualisiert – der erste Start baut also nichts. Windows bekommt ein signiertes MSIX (x64 und ARM64) über den App Installer oder den Microsoft Store; macOS bekommt einen signierten, notarisierten Build für Apple Silicon. Darunter verwaltet ein neuer einheitlicher Paketmanager (hermes pm) jedes gepinnte, hash-geprüfte Tool und jede Python-Umgebung: Updates bauen eine neue Umgebung und wechseln erst, wenn sie ihre Prüfung besteht, ein fehlgeschlagenes oder abgebrochenes Update kann Sie also nicht mehr halb angewendet zurücklassen (#102765, #132361, #132386, #120339, #122221).

6. Der Plugin-Katalog: 600 geprüfte Plugins

Der Plugin-Katalog ist in diesem Zyklus gestartet und auf 600 Einträge gewachsen, jeder an einen geprüften Commit gepinnt und installierbar aus Hermes Desktop oder der CLI. Durchsuchen Sie ihn nach Kategorie und Sterneranking, mit einer Seite pro Plugin und pro Autor; Katalogregeln halten gelistete Plugins davon ab, Hermes-Interna zu patchen oder nicht scanbare Binärdateien auszuliefern. Memory-Provider liegen jetzt bei ihren Herstellern (Honcho, Supermemory, Hindsight, Mem0, OpenViking, Holographic), ebenso Home Assistant, Spotify und Langfuse: bestehende Nutzer werden automatisch migriert, und die Standardinstallation ist schlanker geworden (#69446, #111415, #117808, #113381, #114732, #131267, #132476, #136436).

7. Die Modellwelle Claude 5.5 und GPT-6

Claude Fable 5.1, Opus 5.5, Sonnet 5.5 und Haiku 5.5, GPT-6 Astra, Sol und Luna plus GPT-6.1 Sol sowie Gemini 4 Argon sind auf Nous Portal, OpenRouter und nativen Routen auswählbar, wo sie angeboten werden. Früheres Reasoning wird jetzt standardmäßig bei jedem Provider erneut eingespielt, der es lesen kann, über Resume, Branches und Kompaktierung hinweg, sodass lange mehrstufige Arbeit ihren Gedankengang behält. Und wenn ein Provider eine schlechte Stunde hat, wartet Hermes vorübergehende 503/529/Timeouts in sichtbaren, begrenzten Zyklen ab, statt Ihren Turn zu beenden (#100577, #119304, #126842, #134759, #128248, #137955, #136358, #116353).

8. Bei Websites mit dem Passwortmanager anmelden

Der Browser-Agent kann sich mit Logins aus 1Password, Bitwarden oder Hermes’ eigenem verschlüsselten Vault auf Websites anmelden, und das Modell sieht das Passwort nie. Ist nichts gespeichert, bekommen Sie in CLI, TUI oder Desktop eine maskierte Abfrage zum Speichern, Einmalcodes werden gefüllt, ohne in die Unterhaltung zu gelangen, und das Füllen von Karten- und Adressdaten an der Kasse braucht Ihre Bestätigung (#106480, #107585, #137084).

9. Bot Screen: dem Bot bei der Arbeit zusehen, übernehmen, wenn er Sie braucht

Ein Bot auf einem Linux-Gateway kann einen eigenen Desktop haben, den Hermes Desktop live streamt. Wenn er auf einen Login, eine 2FA-Abfrage oder ein CAPTCHA trifft, übernehmen Sie den Bildschirm, erledigen den Schritt selbst und geben die Kontrolle zurück, während der Bot mit Ihrer Session weitermacht. Mit einem Docker-, SSH- oder Singularity-Backend laufen der Bildschirm des Bots, Computer Use und der Browser in der Sandbox, nie auf Ihrem Host (#108914, #121169, #121110).

10. Ein Backend und ein Gateway für jedes Profil

Hermes betreibt jetzt pro Maschine ein einziges Messaging-Gateway und ein einziges Desktop-Backend, die alle Ihre Profile bedienen, statt einem Prozess pro Profil. Ein neues Profil bringt seine Bots ohne Neustart zum Laufen, jedes Profil behält eigene Credentials, Allowlists, Cron-Jobs und Sessions, und hermes update migriert bestehende Setups pro Profil automatisch. Weniger Prozesse, keine Token-Konflikte, eine Sache zum Starten und Stoppen (#112854, #108928, #118273, #117983, #118246, #118027).

11. Subagenten live sehen und steuern

Laufende Subagenten bleiben jetzt über dem Composer sichtbar – in der CLI (F6), der TUI (Ctrl+T) und dem Desktop –, mit Aufgabe, verstrichener Zeit und Live-Transkript jedes Kindes, plus Schaltflächen für Steer und Stop. /stop erreicht Hintergrundkinder und gibt deren Teilarbeit zurück, und delegate_task kann Screenshots und Mocks an vision-fähige Kinder weitergeben (#105593, #115616, #97689).

12. Eine Modellauswahl, die Ihre Tarife kennt

Markieren Sie Ihre Lieblingsmodelle mit einem Stern, sehen Sie direkt in der Auswahl, wenn ein Abo zur Neige geht („17 % übrig · zurückgesetzt um 15:00“) und wann ein Rate-Limit endet, und wählen Sie den Reasoning-Aufwand als Teil der Modellauswahl in hermes model, /model (/model X --reasoning high) und dem Desktop. Sie wechseln, bevor Sie an die Wand fahren, nicht danach (#126535, #133392, #133408, #110346, #113117).

13. Hermes in Ihrer Sprache, überall

Jeder benutzersichtbare String in CLI, Messaging-Gateway, TUI und Desktop läuft jetzt über einen einzigen Übersetzungskatalog, mit vollständiger Abdeckung in den mitgelieferten Sprachen. Neue Sprachen können als Plugins erscheinen, und jedes Profil kann einzelne Strings mit einer kleinen YAML-Datei überschreiben (#126296).

14. Schlanker in jeder Hinsicht

Die gesamte Codebasis wurde ohne Verhaltensänderung vereinfacht: der Quellcode ging von rund 1,06 Mio. auf 698K Zeilen zurück (−34 %), und gateway/run.py schrumpfte von 34.847 auf 5.512 Zeilen. Auch die Prompts wurden leichter: etwa 19 selten genutzte Tools laden jetzt nur, wenn der Agent nach ihnen sucht, was das bei jedem Aufruf gesendete Desktop-Tool-Schema etwa halbiert, und weitere ~2,1k Tokens fielen aus dem festen Prompt. Bei lokalen Modellen fällt bei jedem Turn weniger Prefill an (#102117, #97979, #106676, #137084).

15. Kleine Annehmlichkeiten, die sich summieren

Opt-in-Vim-Tasten im CLI-Prompt, ein Git-Branch-Feld in der Statusleiste, eine Glocke und eine Desktop-Benachrichtigung, wenn Hermes auf Sie wartet, Ctrl+C, das Ihren Entwurf löscht statt den Turn zu beenden, ein editierbares /queue und hermes --native, damit Ihr eigenes Terminal TUI-Scrollback und Suche übernimmt. Im Desktop verwandelt ein neuer Simple-Modus die App in ein schlichtes Chat-Fenster, und Fehler sagen jetzt, was schiefgelaufen ist, mit einer Lösung per Klick (#106412, #106434, #101284, #101320, #137065, #95999, #121035, #118587, #111601).


⚠️ Hinweise zum Upgrade

  • Python 3.14 ist die Laufzeitumgebung für verwaltete Installationen (der Paketmanager installiert sie für Sie). KittenTTS ist unter 3.14 nicht verfügbar (#102765).
  • Der Windows-Desktop gibt es nur als MSIX und braucht Windows 11 22H2 oder neuer; die NSIS-/MSI-Installer sind weg. Die macOS-App ist in Standard-Builds nur für Apple Silicon erhältlich (#102765, #136603).
  • Ein Gateway pro Maschine ist der Standard. hermes update führt Gateways pro Profil in den multiplexen Standard zusammen, wenn nichts kollidiert (#112854).
  • Chats werden nicht mehr per Idle-/Tages-Timer zurückgesetzt. Die Idle-/Daily-Modi von session_reset sind ausgemustert (Konfigurationen, die sie noch setzen, protokollieren eine Warnung); /new oder /reset startet neu (#105021, #126244).
  • Alte Sessions werden automatisch bereinigt. sessions.auto_prune ist jetzt standardmäßig aktiv: beendete Sessions, die 90 Tage inaktiv waren, werden beim Start gelöscht. Angeheftete und offene Sessions werden nie angefasst; mit sessions.auto_prune: false bleibt alles erhalten.
  • Memory-Provider sind zu Katalog-Plugins geworden (Honcho, Supermemory, Hindsight, Mem0, OpenViking, Holographic), ebenso Home Assistant, Spotify und Langfuse. Bestehende Nutzer werden beim Update oder beim ersten Start migriert, die Daten bleiben intakt. ByteRover und RetainDB bleiben mitgeliefert.
  • Für Plugin-Autoren: die alte Kompatibilitäts-Importschicht für Plugins ist weg (#126164), hermes sync (Skill Sync) wurde entfernt (#132465) und der mitgelieferte tirith-Scanner ebenfalls (#133832). Mehrere Tools wurden umbenannt (todo → todo_list, cronjob → cronjob_manage, process → process_manage); die alten Namen funktionieren weiter (#97979).

🚪 Onboarding, kostenlose Stufe, Connectors & lokale Modelle

  • Onboarding beim ersten Start – eine frische Desktop-Installation bekommt den geführten Setup-Chat (siehe Highlight 1). Bestehende Installationen und entfernte Backends (SSH, URL, Cloud) bekommen ihn nicht automatisch; der alte Setup-Profil-Ablauf und /initiate-setup sind gelöscht (#137420, #134215, #108292).
  • set_theme – der Agent kann die Akzentfarbe (ein Farbfeld oder ein beliebiges #rrggbb), den Modus hell/dunkel/System und das Layout setzen oder eine Auswahl anzeigen (#137522).
  • Kostenlose Stufe – eine erste Desktop-Installation ohne Provider und ohne Nous-Konto bekommt das kostenlose Modell nous/welcome als einmalige Testphase (einmal pro OS-Benutzer). CLI, TUI und Gateway bekommen kein Konto und kein kostenloses Modell; HERMES_GUEST_ONBOARDING ist weg. hermes auth upgrade oder /login in einem beliebigen Chat oder Messaging-DM hebt diese kostenlose Identität auf ein volles Nous-Konto an, Ihre verbundenen Apps bleiben erhalten (#137807, #105258, #105259, #105260, #105261).
  • Klare Limits in der kostenlosen Stufe – das kostenlose Rate-Limit beendet den Turn sofort und nennt den Zeitpunkt des Zurücksetzens; jeder Fehler in der kostenlosen Stufe hat einen Code und einen schlichten Satz; die App kümmert sich um die Browser-Prüfung des Kontodienstes; Nutzer der kostenlosen Stufe sehen einen Hinweis zu Nutzungsbedingungen und Datenschutz. Nous-Konten ohne Guthaben können Modelle wählen, die über ein bestehendes Abo abgerechnet werden, und erhalten die kostenlose verwaltete schnelle Websuche (#134049, #111970, #133824, #117079).
  • Connectors – Connectors für gehostete Apps, die Connectors-Seite und mehrere Konten pro App (siehe Highlight 2). Connector-Tools können außerdem Ihre lokalen Dateien als Anhänge senden und die zurückgegebenen Dateien speichern. nous.guest: false schaltet Gast-Identitäten ab; tools.connectors.enabled: false schaltet Connectors ab (#111238, #138014).
  • Lokale Modelle – Installation mit einem Klick (siehe Highlight 3); Hugging-Face-GGUF-Downloads mit Pause und Fortsetzen; ein einmaliges Setup-Angebot nach dem Onboarding auf Rechnern, die das empfohlene Modell ausführen können (#129506). Engine-Updates mit einem Klick: NVIDIA unter Linux bekommt CUDA, AMD- und Intel-GPUs bekommen Vulkan, dimensioniert nach ihrem eigenen Speicher, und jedes Backend nutzt llama.cpp b11370 (#111423, #133111, #131782). Bessere Empfehlungen: nur Modelle, die vollständig in den GPU-Speicher passen, werden empfohlen, und das 27B-Modell wird nicht mehr auf Hardware vorgeschlagen, auf der es schlecht läuft (#108429, #135438, #134116, #112107). Eigene lokale Server: LM Studio hat ein Provider-Profil, die Ollama-Auswahl flackert nicht mehr, ein selbst gestarteter llama.cpp-Server erscheint in /model, und der Fallback auf das vom Desktop verwaltete Modell funktioniert (#134320, #113129, #116679, #131795).

📦 Stabile Releases, Desktop-Pakete & Paketmanager

  • Stabile Releases und Update-Kanäle – getestete stabile SemVer-Releases und der Kanalwechsel (siehe Highlight 4). v0.21.6 und v0.21.7 gingen als erste durch das neue Tor; Forks bleiben auf main, und eine Installation, die dem neuesten Release voraus ist, wartet auf das nächste. Leichtere Update-Prüfungen: ein GitHub-API-Aufruf pro Tag ersetzt git fetch alle 30 Minuten (#107648).
  • Versiegelte, signierte Desktop-Pakete – siehe Highlight 5. In einem Paket verweist hermes update auf den richtigen Updater (App Installer, Store oder macOS) (#134911). Paketierte Installationen funktionieren durchgängig: das Terminal des Agenten führt hermes aus, die Deinstallation erklärt das Entfernen über das Betriebssystem, und Plugins mit Python-Abhängigkeiten installieren sich innerhalb von MSIX (#134051, #135333).
  • hermes pm – der einheitliche Paketmanager (siehe Highlight 5): gepinnte, hash-geprüfte Versionen von Python 3.14, uv, Node, ripgrep, FFmpeg, Chromium und Git/Bash unter Windows, mit hermes pm doctor|status|repair|gc. Mitwirkende nutzen source ./activate (oder .ps1/.fish).
  • Abhängigkeitsumgebungen sind Generationen – neue werden vor der Nutzung geprüft, eine fehlgeschlagene Installation lässt die funktionierende also bestehen; Updates und hermes pm gc holen alte zurück (92 GB auf 18 GB auf einem Host) (#124968, #133808). Optionale SDKs (Anthropic, Bedrock) laden mitten in der Session ohne Neustart; security.allow_lazy_installs: false schaltet das ab (#122221). Plugins deklarieren Python-Abhängigkeiten, die mit dem Kern über Profile hinweg aufgelöst werden; Konflikte werden abgelehnt, und ein Update deaktiviert ein Plugin, das nicht mehr passt (#113851, #122103, #114569, #132469).
  • Updates können nicht halb durchlaufen – siehe Highlight 5; ein abgebrochenes Update repariert sich beim nächsten Start selbst (#132361, #120339). Schnellere Updates, kleinere Checkouts – Updates bauen nur neu, was sich geändert hat (16,5 s statt 32,5 s unter macOS), Clones sind blobless, und das Wachstum von .git bei Teil-Clones ist behoben (#135092, #133016, #131679).
  • Installer – install.sh/install.ps1 prüfen die gepinnte uv- und Git-Version, übergeben an PM, protokollieren nach logs/install.log und funktionieren jetzt auf musl-Linux (Alpine, Void), unter Windows 10 und mit Unicode-Pfaden unter Windows (#124964, #125598, #132430). Bei opt-in-Telemetrie erfassen Fehler bei Installation, Update, Skills und Plugins einen Grund (#133809).
  • Docker / Nix / Termux / Windows – Docker pinnt eine Debian-13-Basis mit vollständigem Chromium; stable/latest bewegen sich nur bei einem veröffentlichten Release; eingebackene Extras kehren nach einem Neustart zurück (#135726, #135084). Nix teilt die Pins, und seine Desktop-App bekommt Wayland; Termux wechselt zu einem signierten APT-Paket (pkg upgrade hermes-agent), wobei die Doku weiterhin warnt, dass es defekt ist; Windows-Updates laufen zu Ende, während die alte Laufzeitumgebung noch genutzt wird (#128144, #122146, #131779).

🧠 Provider & Modelle

  • Provider als Plugins – ACP- und CLI-getriebene Provider installieren sich außerhalb des Baums über hermes plugins install; --provider chatgpt wählt ChatGPT Codex OAuth (#101456, #115761). Bedrock liefert GPT-6 (1M) und erzwingt Claude Guardrails; Azure Foundry listet Deployments; Gemini akzeptiert vollständige JSON-Schema-Tools; OpenCode Go leitet Claude über Messages (#133573, #107815, #115770, #98928, #134848).
  • Neue Stellschrauben – agent.text_verbosity legt die Antwortlänge im Responses-Format fest; benannte eigene Provider laufen auf dem Codex app-server (#115880, #115905).
  • Modellkatalog – Claude 5.x (Opus 5.5 auch nativ bei Anthropic und auf Bedrock, 1M); GPT-6 Astra/Astra Pro in standard, fast und flex, opt-in Codex -900k, und /fast ultrafast für Astra und 6.1 Sol; Gemini 3.8 Flash und Gemini 4 Argon; DeepSeek V4.1 Flash, Qwen3.8-Max-0902, Grok 4.7, GLM-5.3-FlashX, Muse Spark 1.3, Solar Pro 4/Mini 4 (#122633, #103261, #119410, #136950, #101450, #137989, #107489, #100966, #118371, #117435, #101948, #131645).
  • Auth – Profile teilen OAuth-Logins sicher (Single-Use-Grants laufen nie auseinander, der eigene Login eines Profils bleibt erhalten); die Nous-Anmeldung übersteht stündliches Ablaufen, parallele Subagenten, Portal-Ausfälle und Edge-Prüfungen (#100929, #134574, #103526, #121488). Tote Logins werden einmal benannt, samt Lösung über hermes auth add; auth.adopt_external_logins: false verhindert, dass Codex-CLI-/Claude-Code-Logins ausgeliehen werden (#113816, #115586).
  • Routing, Fallback und Caching – agent.auto_recovery_cycles (Standard 5) begrenzt die Wartezeit, und der Fallback kehrt zu einem Codex-Primary zurück, dessen Quote wieder offen ist (#116353, #130716). Auto-Routing rechnet nie bei einem Provider ab, den Sie nicht gewählt haben; provider_routing.models pinnt OpenRouter pro Modell (#107366, #104159). Opt-in cache_ttl: auto (1 Std. interaktiv, 5 Min. für Subagenten/Cron); ein cache-brechendes /model in einer großen Session fragt vorher nach; die Kompaktierung behält den Prefix (#118337, #95267, #104455).
  • Reasoning – wird bei jedem Provider erneut eingespielt, der es lesen kann; der Aufwand ist in jeder Auswahl einstellbar, mit eigenen Stufennamen; der Anthropic-Schnellmodus folgt der Doku (#136358, #110346, #115735, #120517).

🏗️ Core-Agent, Sessions & Memory

  • Hängende Turns erholen sich – ein Watchdog (agent.turn_liveness.timeout_s, Standard 600 s) unterbricht einen Turn ohne Fortschritt und gibt seine Session frei; wiederholte Transkript-Reparaturen lösen jetzt einen Fehler aus, statt still zu bleiben (#99758, #99687). Tote Streams ohne Text werden wiederholt, Wiederholungsschleifen abgeschnitten, und unterbrochene Turns werden nicht als erledigt gemeldet (#113135, #130551, #112272).
  • Kompaktierung richtet sich nach echten Token-Zahlen – nach der vom Provider gemeldeten Nutzung, nicht nach Bytes durch vier; der geschützte Tail ist auf 20 % begrenzt, damit auch Modelle mit kleinem Fenster kompaktieren (#104555, #117957). Schlechte Zusammenfassungen können den Kontext nicht löschen: abgelehnte oder überlastete Zusammenfassungs-Provider lassen das Transkript unberührt, und eine nicht bestätigte Kompaktierung ändert nichts (#118920, #115906, #136083). Neue providerspezifische Schlüssel compression.model_thresholds und auxiliary.<task>.no_progress_timeout (#108061, #115804).
  • Sessions und state.db – Lock-Timeouts benennen den Prozess, der die Sperre hält, eine ausgelastete Datenbank beendet keinen Turn mehr, und benachbarte PID-Namespaces können keine Leases stehlen (#116967, #134577, #132161). state.db wächst nicht mehr: Auto-Prune ist standardmäßig aktiv (beendete Sessions älter als 90 Tage) und schließt veraltete Cron-/Kanban-/Subagenten-Sessions; VACUUM läuft nur, wenn 25 % zurückgewinnbar sind (#101316, #100903). Reparaturbefehle: hermes sessions set-journal-mode delete|wal, repair-profiles, repair-prompts (#117684, #115689, #124200).
  • Memory – OpenViking und Holographic wechseln beim Update oder beim ersten Start in den Plugin-Katalog, die Daten bleiben intakt, oder es wird gesagt, warum nicht (#134350, #136436, #131269). Von Hand formatierte MEMORY.md/USER.md werden akzeptiert, Ablehnungen sagen, was zu korrigieren ist, und Secrets werden entfernt, bevor Provider sie sehen (#133038, #134429).
  • Profile und Konfiguration – eine kaputte config.yaml fällt auf die letzte funktionierende Kopie zurück, und Lesefehler können sie nicht löschen (#109463, #120343). hermes config get maskiert Secrets (--raw hebt das auf), set lehnt Tippfehler-Pfade ab und legt Namen im Env-Stil in .env ab (#111341, #112250). Profile bleiben getrennt: REST-Routen wirken auf das Profil, das sie benennen, Exporte überspringen .ssh/.aws/.gnupg, und import-agent --sync hält Importe aktuell (#118275, #132201, #88855).

📱 Messaging-Plattformen (Gateway)

  • Ein Gateway bedient jedes Profil – hermes gateway status erklärt jede Ablehnung durch die Boot-Sperre, hermes gateway migrate --multiplex migriert von Hand, Webhook-Plattformen bedienen jedes Profil unter /p/<profile>/, hermes -p X gateway stop|start parkt ein einzelnes Profil, und gateway.standalone: true ist ein vorübergehendes Opt-out (#112854, #108952, #119774, #119680). Profile bleiben isoliert: Clones überspringen Bot-Tokens, außer mit --clone-channels, und profile_routes kann nach Absender routen (#109502, #115642).
  • Sessions und Befehle – /login meldet Nutzer der kostenlosen Stufe aus einem DM an; die Idle-/Daily-Modi von session_reset sind ausgemustert, es starten also nur /new und /reset neu; /branch öffnet auf Discord, Telegram, Slack und Matrix einen Geschwister-Thread (--here behält das alte Verhalten); der Modus decline sendet unberechtigten DMs eine höfliche Ablehnung; eine opt-in-Fußzeile served_model nennt das Modell, das geantwortet hat (#105261, #126244, #117450, #88028, #115925).
  • Plattformen – Telegrams opt-in bots_require_mention stoppt Bot-Antwortschleifen, extra.drop_pending_on_cold_boot: false behält Nachrichten, die während der Offline-Zeit gesendet wurden, CJK kann sich für Rich Messages entscheiden; das Discord-Setup prüft den Token, verknüpft die Message Content Intent und setzt Sie auf die Allowlist, und Kanäle mit freien Antworten können automatisch Threads anlegen; Slack bekommt eine Block-Kit-Auswahl für /model, samt Status/Titeln in der Agent Sessions API; WhatsApp setzt native Erwähnungen über hermes send --mention ohne 5-Sekunden-Batching-Verzögerung um und paart Sessions in jedem Profil; Signal-Tabellen werden monospace gerendert, Matrix-LaTeX wird in Element gesetzt, E-Mail lehnt gefälschte Absender ab und verlangt eine authserv_id-Bindung (Mails werden verworfen, bis sie gesetzt ist), und QQ Bot send_message liefert Medien aus (#106534, #116134, #111831, #132456, #116168, #103436, #101477, #115253, #117104, #132518, #106538, #106515, #132663, #131927).
  • Webhooks und der API-Server – opt-in coalesce bündelt Ereignis-Bursts zu einem Lauf, cron_job-Routen lösen Cron-Jobs bei Ereignissen aus, Signaturen nach Standard Webhooks werden verifiziert, und opt-in mirror_to_session gibt Antworten Kontext (#92066, #95262, #104183, #120825). Der API-Server streamt Reasoning an OpenAI-kompatible Clients, und Stream-Freigaben sind beantwortbar (#115797, #121769).
  • Relay und Bot Chat – Bot-Mode-Räume können Mitglieder bearbeiten, auf @handle antworten, 200 Nachrichten Verlauf behalten und absenderbewusste Bot-DMs mit einer ALLOW_BOTS-Schleifensicherung unterstützen (#113384, #107520). Relay prüft die Ziele von send_message; NeMo-Relay-Tracing in 0.10.0 markiert Spans mit dem Arbeitsverzeichnis (#99220, #135787, #108345).

🖥️ Desktop-App

  • Einfacher / erweiterter Modus – „Simple“ blendet Entwickler-Bereiche aus, „Advanced“ bleibt der Standard (#118587). Tabs in der Titelleiste; Profile öffnen in einem eigenen Fenster oder als Startstandard (#107099, #113176). Sidebar-Gruppierung nach Gateway/Profil, wiederverwendbare Cloud-Instanzen, „Neue Session“ per Drag auf einen Bereich ziehen (#105813, #70571). Das Transkript eines anderen Coding-Agenten importieren und fortsetzen (#104229). Goal-/Loop-/Heartbeat-Karten pausieren, setzen fort und stoppen über dem Composer (#104246).
  • Chat und Composer – eine Pille für den Reasoning-Aufwand; ein Modell per Slug hinzufügen; Einfügungen über 3.000 Zeichen werden als .txt angehängt; opt-in-Tastenkürzel für macOS-Fenster-Screenshots (#109907, #120693, #108901, #113349). Umsetzbare Fehler nennen Problem und Lösung; Karten für Nutzungslimits zeigen den Zeitpunkt des Zurücksetzens und können einen erneuten Versuch planen (#111601, #116288). Der Kommentarmodus im Browser heftet Seitenelemente mit Notizen fest und sendet Ausschnitte, Selektoren und Styles an den Composer (#100083).
  • Einstellungen und Plugins – geordnete Unterseiten, durchsuchbar über ⌘K; Chat-Schriftart (z. B. OpenDyslexic); Russisch, Französisch, Deutsch und Spanisch (#117127, #111226, #100429). Eine Zeile pro Plugin; Plugins bekommen Einstellungsseiten, und Desktop-Plugins können App-Aktionen per ID ausführen, über das Pet sprechen, Bedienelemente für das Aussehen ergänzen und die Sidebar-Navigation umsortieren (#133182, #136417, #135504, #120912, #120922).
  • Bot Mode – Bot Screen (siehe Highlight 9), standardmäßig aus und mit Host-Paketen als Voraussetzung (#108914). Gruppenchats können Räume umsortieren und die ausgeblendete Historie eines Mitglieds komprimieren (#105909, #117015).
  • Leistung und Plattformen – der Desktop hängt sich an das laufende Backend, das jedes Profil bedient (#118246). Schnellerer Start unter Windows; Linux läuft ohne sudo und unter WSLg/Wayland (#111002, #100136, #113247). Sessions folgen dem Git-Worktree und Branch des Agenten; der Review-Bereich grenzt die Arbeit ein; SSH-Workspaces durchsuchen, Sessions per Drag auf Projekte ziehen, Logs durchsuchen, Kanban-Blockaden sehen und auflösen (#128428, #127200, #99538, #126543, #126658, #125647).

⌨️ CLI, TUI & Dashboard

  • CLI – display.vim_mode, ein Statusfeld git_branch und display.bell_on_prompt (Glocke plus OSC-9-Benachrichtigung), alle standardmäßig aus (#106412, #106434, #101284, #101320). Ctrl+T öffnet den Subagenten-Monitor; ein mehrzeiliges Einfügen mitten im Turn ist eine Nachricht (#105879, #109146). Skriptbare Befehle: hermes usage --json (Quote, ohne Session), hermes worktree --json/--older-than, kanban edit --title/--body/--priority und -t, um MCP-Server für den Start auszuwählen (#115899, #95257, #117632, #101634). Außerdem: hermes -z beendet sich bei einem Fehler mit einem Exit-Code ungleich null; -m custom:<name>:<model> erreicht diesen Provider; die Fußzeile klappt nicht mehr auf „Window too small“ zusammen (#113234, #115293, #117439).
  • TUI – --native oder display.tui_native nutzt den nativen Terminalmodus (#121035). Kontrolle im laufenden Turn: doppeltes Esc unterbricht, Push-to-Talk schneidet die Sprache ab, und das Live-Dock (auch in der CLI) zeigt /goal und wartende Prompts (#125803). Tipp-Korrekturen: Shift+Buchstabe auf Terminals mit erweiterten Tasten, macOS Ctrl+D, Bild-Einfügen unter Wayland, stabile Idle-Neuzeichnungen (#90674, #116851, #116824, #87907). Angehängte TUIs treten ihrer Session wieder bei; attachments.storage: workspace legt Dateien bereit, die ein sandboxed Agent lesen kann (#112227, #125816).
  • Dashboard – Chat auf mehr Geräten: Screenreader, Touch-Scroll auf dem iPad, keine doppelten Zeichen der mobilen Tastatur, und ein zweiter Tab bekommt sein eigenes Terminal (#133960, #134181, #116978, #117061). Fehler bestehen aus einem Satz und einer Lösungsschaltfläche statt rohem JSON, dazu Titelsuche, ein Live-Switcher und Analysen pro API-Aufruf (#111602, #133981, #134100, #133991). Self-Hosting: Subpfade hinter Reverse-Proxys, Anmeldung per Passwort neben OAuth, nicht ablaufende entfernte Sessions (#133903, #107018, #110061).
  • Slash-Befehle – Reasoning-Aufwand in jeder Auswahl (hermes model, Aux-Modelle, /model), und /model X --reasoning high funktioniert ebenfalls (#110346). Ein editierbares /queue kann Prompts auflisten, bearbeiten, verschieben oder entfernen; /s ist /steer (#95999, #125803). /context zeigt jede Instruktionsdatei als geladen, abgeschnitten oder verdeckt an (#91272).

🔧 Tools, MCP & Browser

  • Seltene Tools laden bei Bedarf – computer_use, session_search, image_generate, cron und Desktop-GUI-Tools sitzen standardmäßig hinter tool_search (Desktop-Schemas 13.367 → 6.883 Tokens; defer: [] schaltet das ab); aus todo/cronjob/process werden todo_list/cronjob_manage/process_manage (Aliase bleiben erhalten) (#97979). Die Tool-Liste wird pro Session eingefroren, über TUI, -q --resume und Gateway-Wechsel hinweg, damit der Prompt-Cache hält (#120289). Unbeaufsichtigte Gateway-/Cron-Sessions stoppen Tool-Schleifen hart, und fünf identische Wiederholungen halten jedes Tool an (#100967).
  • Schlauere Datei- und Web-Tools – read_file zeigt SQLite-Schemas und markiert Merge-Konflikte, search_files führt ripgrep direkt aus (5–6-mal schneller), und die schlüssellose web_search wechselt bei Ausfall zwischen kostenlosen Anbietern (#115974, #104502, #134048).
  • MCP – hermes mcp login <server> --flow device für Headless-Terminals (#104891). Robusteres OAuth: Refresh-Tokens werden nie gelöscht, doppelt ausgegeben oder an einen anderen Aussteller geschickt; RFC-9207-, von Google gehostete und hinter WAF liegende Server melden sich an; Gateways öffnen nie Browser-Tabs (#106185, #111186). Mehr Server verbinden sich: reine SSE-Server fallen zurück, strenge Server verbinden sich (opt-in sampling.tools), und der Katalog ergänzt offizielles n8n und Asana V2 (#106432, #131891, #116048). Beim Start verbinden sich bis zu mcp.discovery_concurrency (4) Server gleichzeitig; Vision-Modelle sehen MCP-Bilder; tote stdio-Server starten neu, ohne einen Aufruf zu wiederholen (#117956, #133815, #106546).
  • Browser und Computer Use – die Anmeldung über den Passwortmanager füllt nach Ihrer Bestätigung auch Karten und Adressen; hermes-sandbox:desktop ist das neue Standard-Image (bestehende Sandboxes bleiben) (#106480, #121169). browser_exec funktioniert sofort, steuert das mitgelieferte Chromium (auch den Cloud-Fallback) und öffnet localhost über einen Sidecar (#102986).
  • Terminal und Codeausführung – Vordergrund-Timeouts über 600 s werden zu Hintergrundjobs, heartbeat=N sendet Fortschritt, und das Live-Arbeits-Dock listet sie auf (#103529). Sandbox-Ergebnisse markieren eine neu erstellte Umgebung; SSH-Pfade werden remote aufgelöst (#107093, #122657). LSP ergänzt lsp.servers und lsp.package_manager und führt nie den eigenen Interpreter oder das SDK eines geklonten Repos aus (#115714, #126239).
  • Medien – neue Modelle: GPT Image 2.5 und Kling Image v3; Video: Kling 3.0, Kling O3, LTX 2.5, Wan 3.0, MiniMax H3 Max Turbo, Gemini Omni Flash 1.1 (#105988). Opt-in stt.streaming zeigt Wörter, während Sie sprechen (CLI, TUI, Desktop), und lange Aufnahmen werden bei allen Cloud-Providern transkribiert (#133853, #133825). Opt-in voice.voice_chat_mode: gpt-live gibt dem Desktop Vollduplex-Sprachverkehr; auxiliary.voice_chat führt gesprochene Turns auf einem schnelleren Modell aus, und TTS startet früher (#108137, #133986, #115846).

🧩 Plugins, Skills & der Plugin-Katalog

  • Plugin-Katalog – Plugin- und Autorenseiten: /docs/plugins sortiert Plugins in die Regale Memory, Desktop, Platforms, Web, Tools, Voice, Automation und Models. Die Seiten zeigen die Beschreibung, einen Offenlegungshinweis, Screenshots, das README aus dem gepinnten Commit, eine Schaltfläche „Open in Hermes Desktop“ und einen kopierbaren Installationsbefehl (#111415, #111547, #117808). Besser lesbare Karten tragen neben dem gepinnten Commit ein Versionsetikett (1.2.0 @ ad3f352b), Bannerbilder, eine einheitliche Größe und einen Hellmodus (#113381, #125065, #124001). Einträge können bekannte Probleme angeben, die hermes plugins install und das Dashboard bei der Installation anzeigen (#124058). Regeln für Einträge: Desktop-Plugins müssen innerhalb der SDK-Slots bleiben, 11 Plugins, die Interna gepatcht haben, wurden entfernt (installierte Kopien funktionieren weiter), und der Einreichungsleitfaden entspricht dem, was die CI durchsetzt (#115579, #130860, #131048).
  • Neu im Katalog – alle 600 Einträge sind in diesem Zyklus neu. Aus dem Kern ausgewandert sind neben den fünf Memory-Providern Holographic, das einen neuen Community-Maintainer bekommen hat, sowie Home Assistant, Spotify, Langfuse und TouchDesigner, die jetzt offizielle Katalog-Plugins sind (#114732, #136196, #132476, #137130). Offizielle Ergänzungen: Blender Lab, Snyk, NVIDIA App und NVIDIA Broadcast (nur Windows), Telegram Business, Memory Wiki (#119365, #109084). Regalgrößen: Memory 65 (Cognee, LanceDB, ReMe, Memoria, HydraDB, Mnemosyne, YantrikDB, BetterDB), Web und Suche 34 (Apify, Parallel, Linkup, SerpApi, You.com, TinyFish, Oxylabs), Modell-Provider 48 (JetBrains Junie, Telnyx, NetMind, Groq, Chutes, Kiro, Opper, AIHubMix), Plattformen 32 (Inline, Microsoft 365, Rocket.Chat, VK, Zalo, iMessage, Sendblue), Voice 18 (Speechify, Deepgram, Fish Audio, Gemini Live), Desktop-Bereiche 140, Tools 180 (#112292, #118231, #118512, #114202).
  • Plugin-System – Modell-Provider außerhalb des Baums erscheinen in den Modellauswahlen, melden sich über hermes auth an (eingebautes OAuth PKCE) und erneuern Tokens (#116552). Opt-in-Plugin-Host pro Profil: plugins.isolation: host führt Fremd-Plugins in einem Prozess pro Profil aus, mit nur den Secrets dieses Profils (#126911). Neue APIs: Hooks für unterbrochene Turns, zusätzliche LLM-Aufrufe und Rückfragen an den Menschen; Plugins können Gateway-Sessions starten, Automation Blueprints und Aux-Modell-Slots ergänzen, den Computer-Use-Treiber ausliefern und Codex-signierte Anfragen stellen (#118909). Desktop-Plugin-SDK: Einstellungen aus config_schema werden als Formular unter Capabilities → Plugins gerendert; Plugins bekommen eine Brücke zu Skills/Toolsets/Profilen sowie Modell-Pill- und Menü-Slots (#118917). Installieren, pinnen, aktualisieren: private Repos installieren mit Ihren Git-Anmeldedaten, der Desktop pinnt ein Plugin auf einen Commit, Updates behalten Nutzerdaten, und Skill-Plugins laufen als /plugin:skill (#106981, #107321, #133175). Robusterer Loader und Scanner: hängende Importe werden nach plugins.load_timeout_seconds (10 s) übersprungen, Guard-Hooks schlagen geschlossen fehl, und Prosa, Fixtures und Regex-Literale blockieren Installationen nicht mehr (#118915, #115954).
  • Skills – neue optionale Skills: pr-lens, system-atlas, anatomy, mono-color, dream-loop, scrollcraft, auteur, ip-as-logo, ai-presenter-video, live-dashboard, dynamic-workflow, reddit-reading, rss-feeds (#109306, #103821). Der Index von Skills Hub baut wieder auf, mit etwa 480 Science-Skills, und die Suche findet auch nicht indexierte Skills (#109178). skills.auto_load pinnt Skills in jede Session, und skills.create_dir legt fest, wohin vom Agenten erstellte Skills gehen (#92048, #100377). Bessere Selbstverbesserung: Gelerntes und Korrekturen landen im Skill der Aufgabe, die Hintergrund-Review kann jeden Skill verbessern, und mitten im Chat hinzugefügte Skills erreichen die nächste Nachricht (#102107). Leichterer Kurator: blockiert den CLI-Prompt nicht mehr, eine Installation fiel von 1,9 GB auf etwa 200 MB, und ungenutzte Skills werden nach 30 statt 90 Tagen archiviert (#115862). Skills Guard: blockierte Installationen in einer Stichprobe von 421 Skills fielen von 83 auf 68, und Inline-Shell ist auf Nicht-Community-Skills beschränkt (#135595).

⏰ Cron, Kanban & Delegation

  • Cron – nicht gepinnte Jobs nutzen das zur Auslösezeit konfigurierte Modell, pinned bindet eines fest (#113679). Selbstheilende Zeitpläne: eine Auslösung, die das Modell nie erreicht hat, läuft nach 5, 15 und 30 Minuten erneut, ein „Retry after“-Fenster des Providers parkt den Job still, und ein während eines Neustarts verpasster Slot wird einmal ausgelöst (#108731, #115843). Ruhigere Warnungen: eine Warnung pro Vorfall plus eine Erinnerung alle cron.failure_repeat_alert_hours; failure_deliver leitet Fehlermeldungen um oder schaltet sie stumm; ein Agent kann seinen Lauf mit [CRON_FAILURE] als fehlgeschlagen markieren (#114807, #101373, #113155). Neue Joboptionen: --paused erstellt einen Job ohne Scharfschaltung, und --interpreter führt Skripte in Ihrer eigenen venv aus (#104984, #125392). Ein multiplexes Gateway führt die Jobs jedes Profils mit dessen Env und Secrets aus; die Auslieferung braucht positive Belege, Ausgaben werden überall von Secrets bereinigt, und späte oder Satelliten-Läufe werden gekennzeichnet (#118027, #100908, #112830).
  • Kanban – Worker überstehen Provider-Probleme: fehlgeschlagene Turns werden an Ort und Stelle mit Kontext wiederholt, und Rate-Limits oder 5xx reihen neu ein, statt Wiederholungen zu verbrauchen (#112318, #112500). Ein Board, das sich selbst erklärt: Karten zeigen bei Fehlern die letzte Ausgabe des Workers, und der Versand nennt den Grund, warum eine Karte zurückgehalten wird (#112618). Eine einzige Workflow-Definition steuert die Spalten; Worker bekommen kanban_schedule; kanban create --body-file; der Desktop folgt Gateway-Wechseln (#134340, #130455, #116791, #119054).
  • Delegation und Multi-Agent – live Subagenten, Bilder und /stop (siehe Highlight 11). Fan-outs verlieren weniger: fehlgeschlagene Kinder tauchen sofort auf, ein Absturz des Owners behält fertige Arbeit, Kinder können Prozesse an das Elternteil übergeben, und Abschlüsse pro Aufgabe sind opt-in (#103549, #116707, #105125). Routing der Kinder: delegation.fallback_providers gibt Kindern eine eigene Kette, und child_timeout_seconds misst Inaktivität (#105347, #117606). /goal ist in CLI, Desktop und Messaging konsistent, der Judge wartet auf Subagenten, /goal pause for now überschreibt das Ziel nicht mehr, und Gates laufen im Workspace der Session (#104833, #132251, #125453).

🔒 Sicherheit, Datenschutz & Codebasis

  • Sicherheitsfixes aus v0.21.6 – Härtung der Dashboard-Anmeldung (gefälschte X-Forwarded-For, Größenbeschränkungen, Login-Codes nur über Loopback); das automatische Git überspringt Repo-Filterprogramme; die E-Mail-Allowlist widersteht Spoofing über Anzeigenamen (#133367, #130685, #130661, #125212). Secrets bleiben, wo sie sind: Kindprozesse erben keine Adapter- oder Dashboard-Secrets, das entfernte execute_code hält seinen Token aus argv heraus, Profilexporte überspringen Credential-Speicher, und Schlüssel erreichen bei Refresh oder Fallback nie fremde Hosts (#125755, #124262, #130525, #120299). Schärfere Redaktion: der Debug-Share redigiert, bevor er abschneidet, Dateilesevorgänge und Terminalausgaben maskieren .env und Konfigurations-Secrets, hermes config get maskiert außer mit --raw, und Memory-Übergaben werden bereinigt (#132270, #111422, #111341, #134429, #100564). Dateien nur für den Eigentümer auf der Platte: Credentials, state.db, Snapshots, Browser-Profile, Medien-Caches, je nach Ihrer umask (#109509, #127229).
  • Weitere Schutzmechanismen – mehr Abrufe passieren den SSRF-Schutz (security.fake_ip_ranges für Fake-IP-Proxys); Abrufe von Cloud-Metadaten, zsh/dash Pipe-to-Shell und deno eval brauchen eine Freigabe; approvals.deny funktioniert in Sandboxes; eingebaute Regeln ersetzen den mitgelieferten tirith-Scanner (#114887, #113156, #116726, #103649, #133832). Geschlossene Lücken: der MCP-OAuth-Callback spiegelt kein HTML mehr, und eingehende Webhooks, SMS und WhatsApp Cloud lehnen leere Signatur-Secrets ab (#92612, #133257). Opt-in geteilte Metriken: tägliche Nutzungsstatistiken erreichen Nous nur mit Zustimmung, beide telemetry.shared_metrics-Schalter sind standardmäßig aus, jedes Profil fragt einmal, und Enter bedeutet „No thanks“ (#95278).
  • Codebasis und Leistung – etwa 2,1k weniger Prompt-Tokens pro Anfrage, Vault-Tools bei Bedarf, Datei-Sondierungen mit einem Roundtrip, und hermes -w packt nicht mehr bei jedem Start neu (#137084, #101599). Sicherere Backups: hermes backup behält die drei neuesten und markiert unvollständige Archive; hermes import lehnt beschädigte ab (#106455, #121498). Außerdem: KEY_2…-Umgebungsvariablen reihen sich in Credential-Pools ein; ein hermes status auf einem Bildschirm; opt-in display.suppress_warning_notifications; Roster-Bereiche für Desktop-Bots; nur Hermes’ eigene node/npm/uv werden genutzt; Xiaomi MiMo v2.6 (#112390, #131034, #114370, #101290, #125589, #118502).
  • Für Mitwirkende – CODEOWNERS ersetzt das Label-Gate; E2E (inklusive nativem Windows) läuft nur bei Release-Builds; stabile Releases überspringen macOS Intel/Termux standardmäßig (#131726, #136603).

🐛 Wichtige Bugfixes

  • Onboarding, Connectors und lokale Modelle – der verwaltete llama-server stürzt unter Windows nicht mehr mit 0xC0000374 ab und erbt Ihre Credentials nicht mehr (#116923); lokale Modellserver unter Windows laufen eingegrenzt, und Waisen werden sicher wiederhergestellt; zwei gleichzeitig startende Backends starten einen Router (#111038, #117600).
  • Installation, Update und Paketierung – Docker-Agenten verlieren nach einem Neustart nicht mehr ihren eingebauten API-Server, ihr Messaging und ihre MCP-Abhängigkeiten (#135726); ein mitten im Pull abgebrochenes hermes update zerstört nicht mehr jeden Einstiegspunkt (#120339).
  • Provider und Modelle – ein rate-limitiertes Claude-Modell legt nicht mehr die ganze Credential für alle anderen Claude-Modelle lahm (#113171); Sessions des Codex app-server bekommen jetzt SOUL.md und den Hermes-System-Prompt (#115759).
  • Agent-Loop, Sessions und Memory – ein Chat, dessen Session-Zeile gelöscht wurde, legt sie neu an, statt jeden weiteren Turn still zu verwerfen (#124117); Nachrichten, die beim Beenden des Gateways gepuffert werden, werden in ihre Session zurückgeholt (#114225).
  • Die vollständige Liste der Fixes steht im Release-Body.

Upgrade

hermes update

Verwaltete Installationen bekommen eine Python-3.14-Laufzeitumgebung. Führen Sie nach dem Upgrade hermes doctor aus, um die Installation zu prüfen, und starten Sie das Gateway neu (hermes gateway), damit Plattformänderungen wirksam werden. Um vor dem Ausführen zu sehen, was das nächste Update anfassen wird: hermes update --plan.

Vollständiges Changelog: v0.21.0…v0.22.0

← Hermes Agent Changelog