Hermes Agent: Das Praxishandbuch (2026)
# Ein Praxishandbuch zu Hermes Agent, dem selbstverbessernden Open-Source-KI-Agenten von Nous Research: Anbieter-Authentifizierung, Konfigurationsdateien, das Skills-System und der Betrieb als plattformübergreifendes Messaging-Gateway.
Kurzfassung: Hermes Agent ist ein selbstoptimierender Open-Source-KI-Agent von Nous Research. Er läuft als CLI und als plattformübergreifendes Messaging-gateway, speichert eine dauerhafte Identität und einen persistenten Speicher auf der Festplatte, bündelt skills, die sich durch ihre Nutzung verbessern, und funktioniert mit jedem OpenAI-kompatiblen LLM-Anbieter — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok oder Ihrem eigenen selbst gehosteten Endpunkt.1219 Die aktuelle Version ist v0.21.7 (Tag
v0.21.7, 11. Oktober 2026), der fünfte kumulative Patch der v0.21-Reihe und der erste, bei dem sämtliche Kanäle über die neue Stable-Release-Pipeline des Projekts ausgeliefert werden; Neuerungen in v0.21.7 erläutert die Änderungen, anschließend sind die Versionsabschnitte vom neuesten zum ältesten geordnet.56 Die größte Hürde für die meisten neuen Benutzer ist die Anbieterauthentifizierung: Beim Tagv0.21.6enthält Hermes 39 Anbieter in seiner statischen Auswahlliste und erweitert diese automatisch anhand von 41 mitgelieferten Anbieter-Plugins sowie benutzerdefinierten Endpunkten. Dazu kommen drei unterschiedliche Authentifizierungswege (API-Schlüssel in.env, OAuth überhermes modeloder ein benutzerdefinierter Endpunkt inconfig.yaml).5355 Mit dem Authentifizierungsmodell sollten Sie sich zuerst vertraut machen — alles Weitere hängt davon ab, welcher Anbieter aufgelöst wird.
Hermes Agent arbeitet als vollständige Agentenlaufzeit, nicht als Chat-Wrapper. Er liest Ihr Dateisystem, führt Befehle in Sandbox-Backends aus, extrahiert Inhalte aus dem Web, startet Subagenten, führt geplante cron-Jobs aus, kommuniziert über einen einzigen gateway-Prozess mit Telegram/Discord/Slack/WhatsApp/Signal/Email und erstellt aus Erfahrungen eigene skills.1 Die CLI ist eine Terminal-Benutzeroberfläche, die auf einer Konversationsschleife in run_agent.py aufbaut; das gateway ist ein dauerhaft laufender Prozess, der Nachrichten von Messaging-Plattformen durch dieselbe Konversationsschleife leitet.3
Der Unterschied zwischen gelegentlicher und professioneller Hermes-Nutzung beruht auf fünf Systemen. Wenn Sie diese beherrschen, wird Hermes zum Kraftmultiplikator:
- Anbieterauflösung: wie Authentifizierungsabläufe API-Aufrufen zugeordnet werden
- Konfigurationshierarchie:
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Tool- und toolset-System: welche Aktionen der Agent ausführen kann, mit plattformspezifischen Beschränkungen
- Skills-System: prozeduraler Speicher, den der Agent erstellt und weiterentwickelt
- Gateway + cron + profiles: Hermes dort ausführen, wo Sie arbeiten, nicht nur dort, wo Sie sich gerade befinden
Wichtigste Erkenntnisse
- Für die Anbieterauthentifizierung gibt es drei Wege, nicht nur einen. API-Schlüssel in
.env, OAuth überhermes model/hermes authoder ein benutzerdefinierter Endpunkt inconfig.yaml. Wählen Sie den Weg, der zu Ihrem Anbieter passt, nicht den, der Ihnen vertraut erscheint. - Ein Anbieterwechsel erfordert nur einen einzigen Befehl.
hermes modelführt Sie interaktiv durch alle unterstützten Anbieter einschließlich OAuth-Anmeldungen, und mit/model provider:modelwechseln Sie während einer Sitzung, ohne den Verlauf zu verlieren.2 - Zwei Dateien bilden die vom Benutzer bearbeitbare Konfigurationsoberfläche.
~/.hermes/config.yamlenthält Einstellungen und~/.hermes/.envGeheimnisse.auth.json,SOUL.md,MEMORY.mdundskills/werden direkt von Hermes verwaltet — Sie könnenSOUL.mdmanuell bearbeiten, die übrigen Elemente werden jedoch vom Agenten selbst verändert.4 - Hermes ist der Nachfolger von OpenClaw. Wenn Sie migrieren, importiert
hermes claw migrateautomatisch mehr als 30 Kategorien von Zustandsdaten.5 - Hilfsaufgaben verwenden standardmäßig Ihr Hauptmodell. Bilderkennung, Genehmigungsklassifizierung, Komprimierung und Sitzungstitel werden als separate „auxiliary“-LLM-Aufrufe ausgeführt. Beim Tag leitet
autosämtliche Aufrufe an Ihr primäres Chatmodell weiter – Sie müssen nichts konfigurieren, doch bei teuren Reasoning-Modellen verursachen diese Nebenaufgaben erhebliche Zusatzkosten. Weisen Sie einzelneauxiliary.<task>-Slots günstigen, schnellen Modellen zu, wenn dies relevant ist.434
Jeder folgende Abschnitt stützt sich auf die Upstream-Dokumentation unter hermes-agent.nousresearch.com/docs und den Quellbaum unter github.com/NousResearch/hermes-agent. Jede Tatsachenbehauptung enthält eine Fußnote, die auf die jeweilige Upstream-Seite verweist.
Wählen Sie Ihren Weg
| Was Sie benötigen | Hier geht es weiter |
|---|---|
| Hermes installieren | Installation — Einzeilen-Installationsprogramm oder manuelle Schritte |
| Bei einem Anbieter anmelden | Authentifizierung und Anbieter — der Abschnitt, nach dem Sie gesucht haben |
| Modelle während einer Sitzung wechseln | Der Befehl hermes auth und Benutzerdefinierte und selbst gehostete Endpunkte zur /model-Syntax |
| Ein lokales LLM ausführen | Benutzerdefinierte und selbst gehostete Endpunkte — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Messaging-Plattformen verbinden | Messaging-gateway — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat, ntfy, Buzz (28 in der Vergleichstabelle der Dokumentation) |
| Einen skill schreiben oder installieren | Skills-System — progressive Offenlegung + skill hub |
| Detaillierte Referenz zu jedem CLI-Befehl | Lesen Sie weiter — oder springen Sie direkt zu den CLI-Befehlen |
So funktioniert Hermes: das mentale Modell
Hermes basiert auf einer einzigen Konversationsschleife, die von jedem Einstiegspunkt aufgerufen werden kann. Zu den Einstiegspunkten gehören die CLI (cli.py), der Messaging-gateway (gateway/run.py), der ACP-Adapter für die Editorintegration, der Batch-Runner und ein API-Server.3 Letztlich rufen sie alle AIAgent.run_conversation() in run_agent.py auf. Diese Methode:
- Erstellt über
agent/prompt_builder.pyden System-Prompt ausSOUL.md,MEMORY.md,USER.md, skills, Kontextdateien und Tool-Anleitungen (bei der Aufteilung im September 2026 wurde sie in das neue Paketagent/verschoben)3 - Bestimmt über
runtime_provider.pyden Laufzeit-Provider — in diesem Schritt werden Ihre Authentifizierung, die Basis-URL und der API-Modus ausgewählt3 - Ruft den Provider in einem von drei API-Modi auf:
chat_completions,codex_responsesoderanthropic_messages3 - Leitet alle zurückgegebenen Tool-Aufrufe über
model_tools.pyund die zentrale Tool-Registry (tools/registry.py) weiter3 - Wiederholt die Schleife, bis das Modell eine endgültige Antwort erzeugt, und speichert die Sitzung anschließend mit FTS5 in SQLite3
Diese Schleife zu verstehen, ist wichtig, weil jede Funktion — Persönlichkeiten, Speicher, skills, Komprimierung und Fallback — an eine dieser Phasen anknüpft. Wenn Sie einen Konfigurationsschlüssel sehen und sich fragen, was er bewirkt, lautet die Antwort meist: „Er steuert Phase 1, 2, 3 oder 4 der oben beschriebenen Schleife.“
Plattformunabhängiger Kern. Eine einzige AIAgent-Klasse dient der CLI, dem gateway, ACP, Batch-Verarbeitung und dem API-Server. Plattformspezifische Unterschiede befinden sich im Einstiegspunkt, nicht im Agenten selbst.3 Deshalb funktionieren dieselben Slash-Befehle im Terminal und in Telegram — sie werden über eine gemeinsame COMMAND_REGISTRY in hermes_cli/commands.py weitergeleitet.6
Die Verzeichnisstruktur ist das System. Hermes speichert alles unter ~/.hermes/ (oder bei nicht standardmäßigen profiles unter $HERMES_HOME):4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Jede der oben aufgeführten Dateien erfüllt eine bestimmte Aufgabe; ihre Zuständigkeiten überschneiden sich nicht. Wenn Sie wissen möchten, „wo Hermes X speichert“, finden Sie es an einer dieser Stellen.
Neu in v0.21.7 (die Zusammenfassung vom 11. Oktober)
Hermes Agent v0.21.7 (Tag v0.21.7, datiert auf den 11. Oktober 2026 und veröffentlicht am 12. Oktober) ist die aktuelle Version und die fünfte schlanke Sammelversion der v0.21.x-Reihe. Anders als v0.21.6, das nur den Tag und das Docker-Image bereitstellte, deckt diese Version alle Kanäle ab: die Desktop-App (macOS auf Apple silicon und Windows), die Builds für den Microsoft Store und MSIX, das Installationsprogramm, Docker und Hermes Cloud. Seit v0.21.6 umfasst sie „740 Nicht-Merge-Commits“ in „4.156 geänderten Dateien“, „204 zusammengeführte PRs“ und „69 geschlossene Issues“ (der Vergleich auf GitHub zählt einschließlich Merges 777 Commits). Kuratierte Hinweise werden erneut auf v0.22.0 verschoben. Folgende Änderungen sind in der Version dokumentiert und im Quellcode des Tags geprüft:5657
- Quellcodeinstallationen folgen jetzt getaggten Versionen.
hermes updatewechselt in einem Checkout des offiziellen Repositorys zur neuesten veröffentlichten VersionvX.Y.Zund deren exaktem Commit, statt jedem Commit aufmainzu folgen. Eine Installation, die der neuesten Version bereits voraus ist, bleibt bis zur nächsten Version auf ihrem aktuellen Stand. Zudem setzt der Resolver einen Checkout bei unklarer Lage nie aufgrund einer Vermutung zurück: Ist die Beziehung unbekannt (flache Historie, GitHub nicht erreichbar), bleibt HEAD unverändert. Um weiterhin jedem Commit zu folgen, führen Siehermes update --set-channel mainaus;--channel <name>überschreibt die Auswahl für einen einzelnen Lauf (stableundcanarywählen veröffentlichte Versionen,maindie Branch-Spitze). Die Auswahl wird für jede Installation unterupdate.installsinconfig.yamlgespeichert. Als Schlüssel dient eine aus dem Installationspfad abgeleitete ID (hermes update --install-idzeigt sie an), da ein einziges~/.hermesgleichzeitig eine Host-Installation, ein Docker-gateway und die Desktop-App bedienen kann. Forks, Mirrors und Ursprünge mit lokalen Pfaden folgen weiterhinmain; Store-, MSIX- und gebündelte Desktop-Installationen bleiben unverändert. - Die Desktop-App bietet denselben Schalter. Unter Einstellungen ▸ Info ▸ Updates gibt es für Quellcodeinstallationen nun die Zeile Update-Kanal („Stabile Versionen“ oder „Jeder Commit“); außerdem zeigt der Aktualisierungsdialog den aktuell verwendeten Kanal an.
- Reasoning bleibt beim Fortsetzen erhalten. Signierte Thinking-Blöcke werden nach
hermes chat --resumesowie beim nächsten gateway-Durchlauf erneut übermittelt, sofern der Upstream sie verifiziert. Außerdem lehnen Reasoning-Modelle mit Bedrock Converse fortgesetzte Sitzungen nicht mehr ab. Wird eine Signatur vom Upstream abgelehnt, erhält sie einen Fingerabdruck und wird aus neu erstellten Anfragen herausgefiltert, statt die Sitzung zu unterbrechen. - Updates schlagen hinter bestimmten Firewalls nicht mehr fehl. Installationen auf
mainrufen keinen Versionsdatensatz mehr ab, den regionale Firewalls mit 403 beantworten. Bei der Stable-Prüfung wird Ihr GitHub-Token verwendet, sofern einer festgelegt ist (GITHUB_TOKENodergh auth login). Wird der Token abgelehnt, erfolgt ein anonymer Wiederholungsversuch. Ein GitHub-Ratenlimit wird außerdem als Ratenlimit gemeldet und nicht mehr als „keine Version“. - Holographic verlässt den Kernbestand. Als integrierte Speicher-Provider verbleiben nur ByteRover und RetainDB; Holographic wird aus dem Plugin-Katalog installiert (Community-Stufe,
requires_hermes: ">=0.21.5"), und die automatische Migration berücksichtigt es wie die anderen sechs. Siehe Externe Speicher-Provider. - Der Plugin-Katalog ist von 493 auf 552 Einträge gewachsen, darunter laut Versionshinweisen memory-shield, command-ledger, Memoria, Model Router, wyoming-voice-bridge, codex-account-switch und redline. Die Provider-Plugins bleiben bei 41 Verzeichnissen und die statische Auswahl bei 39 Zeilen.
- Ebenfalls laut Versionshinweisen: Plugins können integrierte Desktop-Aktionen ausführen (
ctx.runAction, beispielsweiseview.showBrowser) und über die Sprechblase des Pets kommunizieren (ctx.pet.say); Codex-Anfragen werden vom Kern gestellt, sodass Plugins den Token nie erhalten; ein während einer Sitzung installiertes skill erreicht das Modell ohne Neuaufbau des Prompts; Krea 2 Medium Turbo ist für neue zahlende Abonnenten der standardmäßige Bildkanal, mit einem FAL-Fallback, wenn das verwaltete Krea eine Anfrage ablehnt; Desktop-Updates sind schneller; angeheftete Installationen checken nur den Pin aus; und Komprimierungsmarkierungen werden an Relay ausgegeben (agent/relay_compaction.pyerzeugthermes.compaction-Datensätze als NeMo-Relay-Markierungen).
Aktualisierung: Die Desktop-App aktualisiert sich selbst, Store-Installationen werden über den Store aktualisiert; für die CLI verwenden Sie hermes update oder den Einzeiler des Installationsprogramms; Docker und Hermes Cloud laden nousresearch/hermes-agent:stable (oder :latest).56
Neuerungen in v0.21.6 (Das Rollup vom 8. Oktober)
Hermes Agent v0.21.6 (Tag v0.21.6, 8. Oktober 2026) war vom 8. bis zum 11. Oktober die aktuelle Version, das vierte schlanke Rollup der v0.21.x-Reihe und die erste Veröffentlichung über die neue Stable-Release-Pipeline des Projekts: „eine Attempt-Ref, ein getestetes Docker-Image und ein Receipt-Tag bei der Veröffentlichung“. Ausgeliefert werden ausschließlich der Tag, das GitHub-Release und das Docker-Image; die Desktop-App, die Termux-Pakete und der Microsoft-Store-Build behalten bis zum nächsten gebündelten Release ihre aktuellen Versionen. Das Zeitfenster seit v0.21.5 ist das bislang größte: „8.867 Non-Merge-Commits“ in „8.342 geänderten Dateien“, „2.106 zusammengeführte PRs“ und „3.027 geschlossene Issues“ (der GitHub-Vergleich zählt einschließlich Merges 9.180 Commits). Kuratierte Hinweise werden erneut auf v0.22.0 verschoben. Das Release führt auf, was nicht dokumentiert wird; jeder nachfolgende Punkt wurde im Quellcode am Tag überprüft:5455
- Live-Transkription während des Sprechens. Mit
stt.streaming: truewird partieller Text bereits während einer Äußerung auf dem CLI, in der TUI und auf dem Desktop gestreamt. Die Funktion ist standardmäßig deaktiviert, arbeitet mit den STT-Anbieternopenai,xaiundelevenlabs(stt.streaming_modelbezeichnet das eine Modell mit Deltas während der Äußerung, bei OpenAIgpt-live-transcribe) und greift bei einem Streaming-Fehler auf den Dateipfad zurück. - Sprachinteraktionen erhalten einen eigenen Modellplatz.
auxiliary.voice_chatleitet eine gesprochene Interaktion (CLI-Spracheingabe, eine Sprachkonversation auf dem Desktop oder in der TUI, eine Sprachnachricht in einem Messaging-Dienst) an ein schnelleres Modell als das Hauptmodell der Sitzung weiter, standardmäßig mitreasoning_effort: none. Das Routing wird nach dem Aufbau des System-Prompts gebunden und vor der Speichersynchronisierung sowie der Hintergrundüberprüfung wieder aufgehoben. Eine Interaktion, die den Komprimierungsschwellenwert des Sprachmodells überschreiten würde, verbleibt beim Hauptmodell. Siehe Hilfsmodelle. - Drittanbieter-Plugins können außerhalb des Prozesses ausgeführt werden.
plugins.isolation: host(Standardwert:in_process) lädt allgemeine Plugins in einem Plugin-Host-Prozess pro profile und verweigert jeden anderen Pfad, über den Benutzercode innerhalb des Prozesses importiert würde (Kategorieanbieter, Modellanbieter-profile, Dashboard-Plugin-APIs); gebündelte Plugins verbleiben innerhalb des Prozesses. Wenn ein Plugin hängen bleibt oder abstürzt, fällt sein Host aus, nicht das gateway. Siehe Plugin-System. - Vier weitere Speicheranbieter verlassen den Kern-Quellbaum. Honcho, Mem0, OpenViking und Supermemory werden nun aus dem Plugin-Katalog installiert (Community-Stufe, gepflegt von ihren jeweiligen Anbietern) und folgen damit Hindsight; zum gebündelten Angebot gehören ByteRover, Holographic und RetainDB. Die mit v0.21.5 eingeführte automatische Migration deckt alle acht Namen ab. Siehe Externe Speicheranbieter.
- Die Plugin-Kompatibilitätsschicht wurde entfernt.
hermes_cli/plugin_compat.pyist nur noch ein inaktiver Stub,COMPAT_MANIFEST.mdund die Shims wurden gelöscht undplugins.allow_deprecated_importsexistiert nicht mehr; ein Plugin, das weiterhin einen Pfad aus der Zeit vor der Aufteilung importiert, kann nicht importiert werden. Siehe Plugin-System. hermes statusbeginnt mit einer Zusammenfassung. Die Standardausgabe enthält eine Zeile pro Komponente;--full(Alias--all) gibt sämtliche Abschnitte aus und--deepführt die langsamen Prüfungen aus. In den Versionshinweisen wird außerdem ein Flag namens--shorterwähnt; der Parser am Tag kennt dieses nicht, da die Zusammenfassung bereits der Standard ist.- Erweiterbare, mehrschichtige Sprachpakete.
display.languageakzeptiert jede ID, die von den gebündelten Katalogen (17 am Tag), dem Overlay-Verzeichnis des profile oder einem Plugin-Sprachpaket bereitgestellt wird.hermes config set display.language <id>erkennt zunächst die Plugins, sodass ein gerade installiertes Paket akzeptiert wird. Core- und TUI-Zeichenfolgen werden in getrennten Schichten ausgeliefert (locales/<lang>.yamlundlocales/<lang>.tui.yaml, am Tag 16 TUI-Pakete). Siehe Lokalisierung. - Drei neue Anbieter-Plugins:
lmstudio,solsticeundtencent-tokenhuberhöhen die Zahl der Verzeichnisse unterplugins/model-providers/von 38 auf 41; die statische Auswahlliste bleibt bei 39 Zeilen. Die Auswahlmenüs von Nous und OpenRouter ergänzen GPT-6.1 Sol (mit einer-pro-Variante), Claude Sonnet 5.5 und Claude Haiku 5.5; die Listen vonopenai-apiund Bedrock ergänzen GPT-6.1 Sol. Lokale Modelle:hermes modellistet Modelle von Ollama, LM Studio und Ollama Cloud direkt auf, und die gebündelte lokale Laufzeitumgebung ergänzt llama.cpp-CUDA-Builds (llamacpp-cuda), laut Release unter Linux für x64 und arm64. - Die Genehmigungsregeln erhalten zwei neue Erkennungsmechanismen. Ein Upload mit curl oder wget (
-d,-F,-T), der eine nach einem Geheimnis benannte Variable oder eine Anmeldedatendatei überträgt, sowie eine solche Datei, die über eine Pipe an einen Upload übergeben wird, werden als mögliche Datenexfiltration gekennzeichnet. Ein unsichtbares oder bidirektionales Unicode-Steuerzeichen in einem Befehl wird als mögliche Verschleierung markiert, da sich der genehmigte Befehl von dem tatsächlich ausgeführten unterscheiden könnte. - Cron übersteht einen nicht beschreibbaren Speicher. Bei einer vollen Festplatte oder einem schreibgeschützten Mount (ENOSPC, EROFS, EACCES) stuft das System den cron-Speicher einmalig herab, statt bei jedem 60-Sekunden-Takt zu warnen, prüft höchstens einmal pro Minute erneut und meldet den Zustand über
hermes cron statusundhermes doctor(das Release ergänzt außerdem eine Warnung im Hauptkanal). - Die Discord-Einrichtung prüft das Bot-Token und gibt den Einladungslink aus – einschließlich der vom Adapter benötigten Berechtigungsbits. Außerdem weist sie ausdrücklich auf ein weiterhin deaktiviertes Message Content Intent hin, da Discord die Verbindung des Bots andernfalls ablehnt. Siehe Messaging-gateway.
- Außerdem:
activate.fish, das fish-Gegenstück zum Entwicklungsumgebungs-Skript./activate; laut Versionshinweisen eine vereinheitlichte Kanban-Workflow-Definition; sowie Funktionen, die im Release aufgeführt sind, aber nicht mit dem Desktop-Build dieser Version ausgeliefert werden: favorisierte und angeheftete Modelle am Anfang der Desktop-Auswahl, ein Nutzungschip, bevor ein Abonnement sein Limit erreicht, Hinweise zu Ratenbegrenzungen der Anbieter mit Grund und Endzeitpunkt, eine Auswahl des Diff-Umfangs im Überprüfungsbereich und eine Keep-awake-Funktion, die der Interaktion folgt.
Sicherheitskorrekturen, die im Release alle mit Quellenangabe aufgeführt werden: vier von Tenable Research gemeldete Probleme bei der Dashboard-Authentifizierung (ein gefälschter X-Forwarded-For-Header konnte die Ratenbegrenzung der Passwortanmeldung zurücksetzen und die Obergrenze pro IP umgehen; nicht authentifizierte Anmeldeanfragen konnten unbegrenzt große Werte in das Authentifizierungs-Auditprotokoll schreiben; die öffentlichen /auth/-Routen hatten keine Begrenzung der Body-Größe; und die native Anmeldung konnte Anmeldecodes an eine Nicht-Loopback-Weiterleitung senden, was die Übernahme einer Sitzung ermöglichte); automatische git-Aufrufe (Snapshots des Sitzungsarbeitsbereichs, Subagent-Worktrees, Kanban, Worktree-Bereinigung, hermes -w) konnten vor dem ersten Prompt die in der eigenen Konfiguration eines nicht vertrauenswürdigen Repositorys definierten Filterprogramme clean, smudge oder process ausführen und verweigern den Vorgang nun, wenn sich die Filter nicht neutralisieren lassen; außerdem konnte ein in Anführungszeichen gesetzter Anzeigename in einem From-Header einer E-Mail die E-Mail-Zulassungsliste als erlaubter Absender passieren – dieser wird nun nach dem Entfalten mit parseaddr geparst (GHSA-rxqh-5572-8m77). Behandeln Sie diesen Tag bei jeder Dashboard-, gateway- oder E-Mail-Bereitstellung als sicherheitsrelevantes Upgrade.5455
Aktualisierung: hermes update oder der einzeilige Installer-Befehl; Docker und Hermes Cloud laden nousresearch/hermes-agent:stable (oder :latest).54
Neuerungen in v0.21.5 (Das Rollup vom 24. September)
Hermes Agent v0.21.5 (Tag v2026.9.24, 24. September 2026) war vom 24. September bis zum 8. Oktober die aktuelle Version und das dritte schlanke Rollup der v0.21.x-Reihe: „Dieser Tag bündelt die seit v0.21.4 zusammengeführten rund 460 PRs in einem stabilen, getaggten Release für nachgelagerte Verbraucher“. Kuratierte Hinweise werden erneut auf v0.22.0 verschoben. Die für Betreiber relevanten Änderungen wurden im Quellcode am Tag überprüft:5253
- Der Hindsight-Speicher verlässt den Kern-Quellbaum. Der gebündelte Hindsight-Anbieter und das pip-Extra
hermes-agent[hindsight]wurden entfernt; Hindsight wird nun aus dem Plugin-Katalog installiert und von Vectorize gepflegt; in den Versionshinweisen wird dies nicht erwähnt. Wenn Ihre Konfigurationmemory.provider: hindsightfestlegt, installierthermes updatedas Katalog-Plugin in jedem profile-Stammverzeichnis, in dem es genannt wird. Fehlt es weiterhin, wird es beim ersten Start des Agenten installiert, sofernsecurity.allow_lazy_installsnicht auffalsegesetzt ist (führen Sie in diesem Fallhermes plugins install hindsightaus). Einstellungen,.env-Schlüssel und Speicherdaten bleiben unverändert. Siehe Externe Speicheranbieter. gateway.multiplex_profiles: falsewird nicht mehr unterstützt. Das gateway schreibt die Einstellung direkt intrueum und zeigt einmalig einen eingerahmten Hinweis an. Ein benanntes profile, das ein eigenes gateway beibehalten muss, setzt in seiner eigenenconfig.yamldie Optiongateway.standalone: true; um ein bereitgestelltes profile offline zu nehmen, parkthermes -p <name> gateway stopdieses nun, ohne den Host anzuhalten. Siehe Messaging-gateway.- Neue Modelle in den Auswahlmenüs von Nous und OpenRouter: GPT-6 Sol und GPT-6 Luna (jeweils mit einer
-pro-Variante) sowie Claude Opus 5.5. - Die Plugin-Kompatibilität war bei diesem Tag unverändert:
plugins.allow_deprecated_imports: truefunktionierte weiterhin. v0.21.6 entfernt die Schicht und den Schlüssel (siehe Neuerungen in v0.21.6).
Aktualisierung: hermes update oder der einzeilige Installer-Befehl; die Images von Docker und Hermes Cloud werden aus nousresearch/hermes-agent:v2026.9.24 erstellt.52
Neuerungen in v0.21.4 (der zweite Rollup-Patch)
Hermes Agent v0.21.4 (Tag v2026.9.21, 21. September 2026) ist das zweite bewusst schlank gehaltene Rollup der v0.21.x-Reihe. Die eigene Beschreibung lautet: „Patch-Release. Dieser Tag bündelt die seit v0.21.3 zusammengeführten rund 1.800 PRs zu einem stabilen, mit einem Tag versehenen Release für nachgelagerte Nutzer (Docker-Images, Hermes Cloud, gehostete Bereitstellungen).“ Der Zeitraum seit v0.21.3 umfasst „5.071 Non-Merge-Commits“ in „5.169 geänderten Dateien“, „1.812 zusammengeführte PRs“ und „2.116 geschlossene Issues“. Gemessen an der Commit-Anzahl ist dies der zweitgrößte Zeitraum zwischen zwei Tags in der Projektgeschichte, nur übertroffen von den 5.139 Commits in v0.21.1; gemessen an den zusammengeführten PRs ist es der größte. Die kuratierte Darstellung wird erneut aufgeschoben, wörtlich: „Die vollständigen kuratierten Release Notes für diesen Zeitraum erscheinen mit v0.22.0 und dokumentieren alles ab v0.21.0“ und „Nichts aus diesem Zeitraum wird ausgelassen.“ Die Mitteilung führt allerdings auf, was sie nicht dokumentiert. Jeder der folgenden Punkte wurde im Quellcode des Tags überprüft; wenn ein Punkt einen bestehenden Abschnitt dieses Leitfadens betrifft, ist der Verweis direkt eingefügt.5051
- Ein gateway pro Host, und Desktop verbindet sich, statt einen neuen Prozess zu starten. Vorgesehen sind ein
hermes serveund einhermes gateway runpro Host und OS-Benutzer, die jeweils sämtliche profile bündeln. Durchgesetzt wird dies über eine neue hostweite Singleton-Ebene: eine für die gesamte Laufzeit des erfolgreichen Prozesses gehaltene Host-Sperre sowie ein Rendezvous-Datensatz mit(pid, createTime). Dadurch kann ein zweiter Aufruf nachweisen, dass der Eigentümer derselbe aktive Prozess ist, und sich mit ihm verbinden, statt einen zweiten Port zu belegen. Veraltete Zustände werden nachgewiesen, niemals lediglich angenommen. Die Desktop-App wendet dasselbe Prinzip auf ihrer Seite an und verbindet sich mit dem laufenden Host-Backend, statt ein zweites zu starten. Unter Messaging Gateway finden Sie die technischen Einzelheiten.51 - Connectors werden zu einem einzigen, vom Backend verwalteten Vorgang mit einer einheitlichen Einrichtungskarte. Ein
manage_connections-tool-Aufruf steuert im Backend eine rein datenbasierte Zustandsmaschine für Verbindungen. Desktop, TUI und CLI stellen sie alle als dieselbe Einrichtungskarte dar: ein Feld je fehlendem Zugangsdatenwert, wobei die Aktion der Karte erst freigegeben wird, wenn jedes erforderliche Feld Text enthält. Weitere Informationen finden Sie im Unterabschnitt zur kostenlosen Nous-Stufe.51 --format stream-json: maschinenlesbare Einzeldurchläufe.hermes chat -q ... --format stream-jsongibt für CI-Runner und Orchestratoren ein JSON-Objekt pro stdout-Zeile aus: zunächst einsystem/init-Ereignis, danachtext-Deltas sowietool_use- undtool_result-Ereignisse und schließlich einen abschließendenresult-Umschlag mit Exit-Code, endgültigem Text und Token-Statistiken. Diagnosemeldungen und die Sitzungs-ID verbleiben auf stderr, die Tool-Ausgabe ist pro Ereignis auf 5.000 Zeichen begrenzt, und das Flag impliziert--quiet, erfordert-qoder--query-file(ohne eines davon Exit-Code 2) und kann nicht mit--tuikombiniert werden. Die Optionstabelle fürhermes chatenthält das Flag.51skills.auto_loadbindet skills in jede Sitzung ein. Unterskills.auto_loadinconfig.yamlaufgeführte Namen werden in jeder neuen Sitzung vollständig geladen – gleichermaßen in CLI, TUI, gateway, cron und API – und einmalig aufgelöst, wenn der Prompt erstmals erstellt wird. Das Skills System erhält einen Unterabschnitt zu fest eingebundenen skills.51- Eine
decline-Option für nicht autorisierte Direktnachrichten.unauthorized_dm_behaviorerhält nebenpairundignoreeinen dritten Wert:declinesendet eine einmalige höfliche Ablehnung und reagiert anschließend 24 Stunden lang nicht mehr auf diesen Absender. Siehe Benutzerautorisierung und Kopplung.51 mcp.discovery_concurrencybegrenzt gleichzeitige MCP-Verbindungen bei der Erkennung. Der Standardwert ist 4,0bedeutet unbegrenzt. Jeder konfigurierte Server wird weiterhin verbunden, die Verbindungen werden lediglich nicht mehr alle gleichzeitig hergestellt. Siehe MCP-Integration.51session_searcherhält Zeitgrenzen und einen erneuten Suchversuch. Die Suchstruktur akzeptiertafter-/before-Grenzen (ISO-Angaben oder relative Zeiträume wie7d). Liefert eine aus mehreren Wörtern bestehende Abfrage keine Ergebnisse, wird die Suche wiederholt und dabei nach EINEM BELIEBIGEN Begriff gesucht, statt nach der impliziten UND-Verknüpfung aller Begriffe durch FTS5. Siehe Sitzungssuche.51hermes sessions set-journal-mode delete|wal: der Offline-Konverter für den Journal-Modus. Dies ist der Weg zur Selbsthilfe bei einerstate.db, die im falschen SQLite-Journal-Modus feststeckt – wofür zuvorPRAGMA journal_mode=DELETEmanuell ausgeführt werden musste. Beenden Sie zuerst das gateway, das dashboard und jede CLI-Instanz: Der Befehl verweigert die Ausführung, solange ein fremder Prozess die Datenbank geöffnet hält, wechselt den Modus, ohne auf geöffnete Prozesse zu warten, und überprüft anschließend die Header-Bytes der SQLite-Datei. Unter Windows gibt es keine Suche nach Prozessen, welche die Datei geöffnet halten. Dort wird die Ausführung daher verweigert, bis Sie nach dem manuellen Beenden sämtlicher Hermes-Prozesse--forceübergeben.hermes doctorverweist nun darauf. Der Eintrag fürhermes sessionsunter Befehle der obersten Ebene enthält den Befehl.51- Desktop: eine Schrifteinstellung, Engine-Updates mit einem Klick und die Deinstallation von plugins. In den Einstellungen gibt es nun ein Feld für die Schriftfamilie, das pro profile unter
desktop.font_familygespeichert wird. Es überschreibt die Sans-Serif-Schrift des Themes im Chat und in der Benutzeroberfläche. Die Vorschlagsliste beginnt mit barrierearmen Schriftarten (OpenDyslexic, Atkinson Hyperlegible, Lexend); ein leeres Feld überlässt die Auswahl dem Theme. Die verwaltete Laufzeitumgebung für lokale Modelle zeigt bei Verfügbarkeit eines Updates die Schaltfläche „Engine aktualisieren“ an. Nach einem fehlgeschlagenen Update bleibt sie sichtbar, sodass Sie es direkt erneut versuchen können. Außerdem lässt sich ein plugin im Plugins-Hub nach Bestätigung in einem Dialogfeld deinstallieren.51 - Videokataloge: LTX 2.5 und Kling O3. Das FAL-Videoplugin ergänzt
ltx-2.5(das quelloffene Audio-/Videomodell von Lightricks: natives Audio, Bild-zu-Video mit bis zu 20 s/4K, Voreinstellungen für Kamerabewegungen, günstige Stufe – fal lehnt Clips über 10 s bei 1440p/2160p ab) undkling-o3(die führende Modellfamilie von Kuaishou, Premium-Stufe: natives Storytelling über mehrere Einstellungen, optionales Audio, 3–15 s).51 - Der Pluginkatalog wird zu einem ausgelieferten Verzeichnis und einer Website. Das Verzeichnis
plugin-catalog/des Repositorys wuchs von 9 Einträgen beiv2026.9.14auf 228 bei diesem Tag – ein geprüftes YAML pro plugin, jeweils an eine exakte Commit-SHA gebunden. Die Dokumentationswebsite erstellt nun außerdem je eine Seite pro plugin und Autor, auf der die README-Datei des plugins aus dem festgelegten Commit dargestellt wird. Alle zehn im Release genannten Community-plugins sind im Tag als Katalogeinträge enthalten. Unter Plugin System finden Sie die Einzelheiten.51 - Hinzu kommt eine umfangreiche Reihe von Fehlerbehebungen für die profile-/Multiplex-Isolierung, cron, Kanban, Desktop und
state.db, die im Release lediglich als Kategorie genannt wird. Die kuratierte Dokumentation dieser Korrekturen bleibt v0.22.0 vorbehalten.50
Die Rücknahme der Plugin-Kompatibilität ist auch in diesem Zeitraum noch nicht erfolgt. COMPAT_MANIFEST.md, compat_manifest.json und die Kompatibilitäts-Shims sind bei v2026.9.21 weiterhin vorhanden. Die einzigen Änderungen an hermes_cli/plugin_compat.py in diesem Zeitraum sind ein prozessweiter Scan-Cache (ein Multiplex-gateway erkennt plugins einmal pro bereitgestelltem profile; das erneute Parsen des Quellcodes jedes plugins kostete im Startpfad etwa 0,4 s pro profile) und Trefferpfade im POSIX-Format unter Windows (#112576). Das Datumstor und der Ausweg über einen literalen booleschen Wert bleiben unverändert, sodass betroffene plugins mit plugins.allow_deprecated_imports: true weiterhin geladen werden. Der Kompatibilitätskasten unter Plugin System beschreibt den aktuellen Stand.42
Der Aktualisierungsvorgang bleibt unverändert: hermes update für Git-Installationen oder das Shell-Installationsprogramm für Neuinstallationen. Docker- und Hermes Cloud-Images werden aus diesem Tag erstellt (nousresearch/hermes-agent:v2026.9.21).50
Neuerungen in v0.21.3 (der Patch vom 14. September)
Hermes Agent v0.21.3 (Tag v2026.9.14, 14. September 2026) umfasst drei weitere Tage aus main und wurde mit einer aus zwei Punkten bestehenden Mitteilung veröffentlicht. Der Grund: Cloud-Agenten aktualisieren sich automatisch auf den neuesten Release-Tag, und die Korrekturen an der Anmeldung beim remote gateway mussten sie erreichen. (1) Sitzungen im remote dashboard werden durch stoßweise Aktualisierungsanfragen nicht mehr widerrufen: Beide Aktualisierungspfade im gateway – die Cookie-Prüfung und die native Bearer-Route von Desktop – führen nun gleichzeitig eingehende Anfragen mit demselben rotierenden Aktualisierungstoken zu einem einzigen Durchlauf zusammen. Dadurch kann eine Welle von Anfragen nach dem Aufwachen eines Desktop-Systems kein bereits rotiertes Token mehr an die Wiederverwendungserkennung des Portals senden und so die gesamte Sitzung widerrufen. Zudem erfolgt die Aktualisierung außerhalb der Ereignisschleife, sodass ein langsamer Identitätsanbieter /api/status nicht mehr blockiert. (2) Langlebige Prozesse erzeugen keine doppelten Writer-Handles für state.db mehr: gateway, dashboard-/Desktop-Backend, ACP und CLI-Reader stellen schreibgeschützte Verbindungen her, während Writer innerhalb desselben Prozesses das Handle aus der Registry gemeinsam nutzen. Die Statistik für diesen Zeitraum: „1.036 Non-Merge-Commits“ in „2.642 geänderten Dateien“ und „338 zusammengeführte PRs“. Alles Weitere wird bewusst aufgeschoben: Das Release nennt ausdrücklich, was nicht dokumentiert wird (Auswahl der Reasoning-Intensität in jedem Modellwähler, OpenRouter OAuth PKCE, HEIF-/HEIC-/AVIF-Dekodierung, eine Welle neuer FAL-Katalogeinträge, in Slack eingefügte Tabellen und das Agent Sessions API, die Verweigerung des state.db-WAL-Modus auf VM-übergreifenden Dateisystemen und mehr) und verpflichtet sich wörtlich zu einer kuratierten Dokumentation: „Die vollständigen kuratierten Release Notes für diesen Zeitraum erscheinen mit v0.22.0 und dokumentieren alles ab v0.21.0“ und „Nichts aus diesem Zeitraum wird ausgelassen.“49
Und die Frist für die Plugin-Kompatibilität trat planmäßig in Kraft. Die für den 14. September 2026 angekündigte Entfernung aus v0.21.1 wurde im ausgelieferten Code als Datumstor wirksam, nicht als Rücknahme des Codes: Beim Tag v2026.9.14 enthält hermes_cli/plugin_compat.py den Eintrag COMPAT_REMOVAL_DATE = 2026-09-14, und removal_in_effect() gibt ab diesem Datum true zurück (oder sobald die Manifestdatei nicht mehr vorhanden ist). Ein betroffenes externes plugin wird deshalb beim Laden deaktiviert und mit einem roten Hinweis versehen. Was noch NICHT geschehen ist: die Rücknahme, durch welche die alten Importpfade tatsächlich gelöscht werden. COMPAT_MANIFEST.md, compat_manifest.json und die Kompatibilitäts-Shims sind beim Tag weiterhin vorhanden – ebenso bei v2026.9.21 und mit Stand vom 22. September auch auf main. Deshalb funktioniert plugins.allow_deprecated_imports: true weiterhin als Ausweg: Sobald der Loader fortfahren darf, lassen sich die alten Pfade noch auflösen. Dabei gibt es zwei Fallstricke: Der Schlüssel muss ein literaler boolescher YAML-Wert sein (der Code akzeptiert ausschließlich den booleschen Wert True; eine Zeichenfolge in Anführungszeichen wie "true" oder "false" gilt entsprechend dem Quellcodekommentar „Literal boolean only“ als nicht gesetzt). Außerdem funktioniert dieser Ausweg nicht mehr, sobald die Rücknahme erfolgt, da dann die Pfade selbst verschwinden. Der Kompatibilitätskasten unter Plugin System beschreibt den aktuellen Stand.4249
Neues in v0.21.2 (das state.db-Patch-Release)
Hermes Agent v0.21.2 (Tag v2026.9.11, 11. September 2026) dient vor allem dazu, die Probleme zu beheben, die v0.21.0 verursacht hat. Das Release bringt es auf den Punkt: „v0.21.0 enthielt eine umfassende Überarbeitung der Verbindungsverwaltung des Sitzungsspeichers, die bei einigen Installationen state.db anfällig machte: Zweite Schreibprozesse hoben gegenseitig ihre Sperren auf, intakte Datenbanken wurden als beschädigt gemeldet und eine einzige fehlerhafte Zeile brachte sessions list zum Absturz. Dieses Release beseitigt diese Fehlerklasse und bündelt alles Weitere, was in den vier Tagen seit v0.21.1 in main aufgenommen wurde.“ Anders als die bewusst knappen Hinweise zu v0.21.1 dokumentiert dieses Release seine wichtigsten Neuerungen selbst. Die Statistik für diesen Zeitraum nennt „947 Nicht-Merge-Commits“ in „1.869 geänderten Dateien“ sowie „312 zusammengeführte PRs“ von „140 Mitwirkenden“; die kuratierte Dokumentation des gesamten v0.21.x-Zeitraums bleibt v0.22.0 vorbehalten.48
- Die state.db-Zuverlässigkeitsoffensive: sechs PRs, 44 geschlossene Issues. Die Empfehlungen des Releases für Betreiber stehen an erster Stelle – und auch Sie sollten sie zuerst beachten: Falls Ihre
state.dbunter 0.21.0 oder 0.21.1 beschädigt wurde, führen Siehermes doctoraus. Der Befehl unterscheidet nun zwischen strukturellen Schäden und Schäden am Volltextsuchindex, statt alles als „FTS-Schreibkorruption“ zu bezeichnen. Reicht eine Neuerstellung nicht aus, verweist er aufhermes sessions recover --inspect-only(offline, nicht destruktiv und an ein profile gebunden; prüft die Lesbarkeit der kanonischen Tabellen, ohne eine Ausgabedatenbank anzulegen). Die Ursachenbehebung entfernt jeden zweiten Schreibprozess aus dem Speicher: profile-gateways schrieben den Zustand gehosteter Räume alle 5 Sekunden in die übergeordnetestate.db. Diese Koordination erfolgt nun in einer eigenenshared-state.db, sodass profile-gateways den zentralen Sitzungsspeicher nie mit Schreibzugriff öffnen. Das Dashboard versucht es zuerst schreibgeschützt; crons Lebenszyklus-Schutz greift über die registrierte Verbindungsverwaltung zu, statt ein unvermitteltesopen()auf einer aktiven Datenbank aufzurufen (wodurch die POSIX-Sperren des gateways aufgehoben werden – das klassische Rezept für eine beschädigte SQLite-Datenbank); unddoctor --fixverweigert einen checkpoint, dessen Sicherheit nicht nachgewiesen werden kann. Weitere Verbesserungen: Schäden am FTS-Index beeinträchtigen jetzt lediglich die Suche, während der Index später neu aufgebaut wird, anstatt den gesamten Durchlauf abzubrechen. Eine einzelne beschädigte Zeile bringtsessions list, den Export oder die Erkenntnisgewinnung nicht mehr zum Absturz (fehlerhafte Zeilen erscheinen als?, begleitet von einer Warnung mit dem Namen der Sitzung). Sitzungen werden nie an die Datenbank eines anderen profile gebunden und lesen auch nicht daraus. Zudem beansprucht ein schreibgeschützter Zugriff nicht mehr die Schreibsperre, sodass ein einmaligerhermes-Aufruf hinter einem ausgelasteten gateway statt nach 4–20 Sekunden Wartezeit fehlzuschlagen nun 0,01 Sekunden benötigt.48 - Verstärkte Isolierung mehrerer profile. Seit v0.19.0 wiederholt dieser Leitfaden die Aussage des Projekts, dass das profile-Routing jedem profile „vollständig isolierte Konfigurationen, skills, Speicher und Geheimnisse“ bietet. In v0.21.2 hatte dieses Versprechen noch Lücken, die nun geschlossen sind: Bots sekundärer profile übernahmen die Positivlisten des Standard-profile, Adapter konnten Anmeldedaten an den Host des Standard-profile senden, stdio-MCP-Server erhielten die Vault-Geheimnisse des Standard-profile, die
MEDIA:-Übermittlung konnte.env/auth.json/state.dbeines anderen profile anhängen, Webhook- und Feishu-Callbacks konnten vom zugewiesenen profile abweichen und sekundäre profile konnten über prozessbezogene Zwischenspeicher den Nous-Bearer eines Geschwister-profile übernehmen (#107609-#107630). Wenn Sie mehrere profile über ein einziges gemultiplextes gateway betreiben, ist dies das Release, ab dem der Isolierungsanspruch tatsächlich erfüllt wird.48 - Der passwortblinde Anmeldedaten-Vault. Der Agent kann sich nun im Browser anmelden, bezahlen und Adressen ausfüllen, indem er 1Password, Bitwarden oder den lokalen Hermes-Vault verwendet, ohne jemals ein Geheimnis zu sehen. Zwei-Faktor-Codes stammen entweder aus einem gespeicherten Authentifizierungsschlüssel (TOTP: ein Base32-Seed oder eine
otpauth://totp-URI; zählerbasiertes HOTP wird abgelehnt) oder werden über Ihre Benutzeroberfläche abgefragt. Jedes Backend stellt dem Agenten dieselbe Struktur bereit – Anmeldemetadaten sowie einen undurchsichtigen, mit einem Namensraum versehenen Handle (vault_lokal,op:,bw:). Das Passwort wird erst beim Ausfüllen aufgelöst. Externe Passwortmanager bleiben gesperrt, bis Sie sie für die Sitzung entsperren, und das Masterpasswort „ist niemals ein tool-Argument, niemals argv und wird niemals gespeichert“. Dies baut auf derSecretSource-Arbeit aus v0.19.0 auf, durch die die API-Schlüssel der Anbieter aus der Klartextdatei.enventfernt wurden; der Vault schützt nun auf dieselbe Weise die Browser-Anmeldedaten des Agenten.48 - Ein kuratierter, per SHA fixierter Plugin-Katalog.
hermes plugins browselistet „jeden kuratierten Eintrag des Plugin-Katalogs“ auf,hermes plugins searchdurchsucht den Katalog undhermes plugins installlöst Katalognamen ebenso wie Git-URLs undowner/repoauf.hermes plugins packergänzt dies um „deklarative, gemeinsam nutzbare Plugin-Sammlungen“: Eine einzelnehermes-pack.yamlfixiert eine Gruppe von Plugins auf exakte Commit-SHAs;pack installführt gewöhnliche fixierte Installationen aus, wobei die Zustimmung zu den Funktionen weiterhin für jedes Plugin einzeln gilt;pack exporterzeugt ein pack aus der aktuellen Installation undpack showdient als Probelauf. Der Befehlsblock unter Plugin-System enthält die neuen Unterbefehle.48 - Kostenlose Nous-Stufe und geführter Erststart. Neuinstallationen bieten sofort kostenlose Inferenz und Konnektoren sowie einen einzigen Befehl zur Anmeldung.
/loginfunktioniert innerhalb eines Chats und Konnektor-tools (Gmail, Linear, Notion und weitere) lassen sich übertool_searchdurchsuchen. Der geführte Erststart der Desktop-Anwendung wird durchHERMES_GUEST_ONBOARDING=1gesteuert, wobei ausschließlich der exakte Wert1die Funktion aktiviert: Der eigene Test der Desktop-Anwendung bestätigt, dass'true','0'und ein leerer Wert sie deaktiviert lassen. Die Startentscheidung wird außerdem in die Umgebung des erzeugten Backends geschrieben, damit kein geerbter Wert unbeabsichtigt übernommen wird. Siehe Nous Tool Gateway.48 - Spawn-Stürme des Desktop-Backends gehören der Vergangenheit an. Bot Mode erzeugte beim Start und bei jeder Aktualisierung der Liste bisher für jedes profile ein Backend oder stellte eine Verbindung dazu her. Beim Überfahren der Bot-Liste mit dem Mauszeiger wurde für jede Zeile ein Backend erzeugt, und ein profile-Wechsel konnte ein doppeltes primäres Backend starten. All diese Probleme wurden in diesem Zeitraum behoben.48
Der Aktualisierungsvorgang bleibt unverändert: hermes update für eine bestehende Installation oder das Shell-Installationsprogramm für eine Neuinstallation.48
Neuerungen in v0.21.1 (der Rollup-Patch)
Hermes Agent v0.21.1 (Tag v2026.9.7, 7. September 2026) fällt bewusst knapp aus: ein „Patch-Release“, das „den aktuellen Stand von main seit v0.21.0 für mit Tags versehene Deployments und nachgelagerte Nutzer bündelt“. Der Haupttext nennt die Zahlen für diesen Zeitraum – „5.139 Non-Merge-Commits in 4.364 geänderten Dateien (+601.014 / -768.419)“ und „632 zusammengeführte PRs“ – und vertagt dann die eigentliche Darstellung: „Vollständige kuratierte Release Notes für diesen Zeitraum werden mit v0.22.0 veröffentlicht.“ Damit ist dies der größte Zeitraum zwischen zwei aufeinanderfolgenden Tags in der Projektgeschichte (kein vorheriger Zeitraum zwischen benachbarten Tags übertrifft die 2.790 Non-Merge-Commits von v2026.7.20..v2026.7.30), veröffentlicht mit den kürzesten Release Notes. Bis v0.22.0 die kuratierte Dokumentation liefert, zeigen die folgenden sechs Bereiche, was den Betrieb von Hermes mit diesem Tag verändert; jeder Punkt wurde im Quellcode überprüft.41
- Die Codebasis wurde zerlegt, und am 14. September lief die Frist für die Plugin-Kompatibilität ab. Bei der Zerlegung im September 2026 (PR #102117) wurden die großen Module des Repositorys in spezialisierte Dateien aufgeteilt: Ein neues Paket
agent/enthält die Interna der Konversationsschleife (214 Module auf oberster Ebene sowie sieben Unterpakete;prompt_builder.pybefindet sich nun unteragent/prompt_builder.py, währendrun_agent.pyweiterhin die Heimat vonAIAgentist), die Subcommand-Parser von CLI wurden in das Pakethermes_cli/subcommands/verschoben (61 Module), die statische ListeCANONICAL_PROVIDERSwanderte vonhermes_cli/models.pynachhermes_cli/models_catalog_static.py(die Liste selbst blieb unverändert: 39 statische Einträge, weiterhin automatisch um die 39 mitgelieferten Provider-Plugin-Ordner ergänzt), unddelegate_taskwurde auf etwa ein Dutzend Module untertools/delegate_tool_*verteilt. Interne Importpfade sind kein stabiler API. Deshalb exportiert eine neue DateiCOMPAT_MANIFEST.mdim Stammverzeichnis des Repositorys 1.148 „moved-lazy“-öffentliche Namen erneut unter ihren alten Modulpfaden, wobei bei der Auflösung für jeden Namen einmal pro Prozess eineHermesPluginCompatWarningausgegeben wird. Die Kompatibilitätsschicht war nur vorübergehend vorgesehen, und ihre Entfernung trat planmäßig am 2026-09-14 in Kraft, sechs Tage nach dem Tag – nicht als Rücknahme einer Codeänderung, sondern durch eine bereits im ausgelieferten Code enthaltene Datumsschranke. Seit diesem Datum wird ein betroffenes Drittanbieter-Plugin nicht geladen: Das Banner von CLI,hermes doctorundhermes updatezeigen einen roten Hinweis mit dem Namen des deaktivierten Plugins an, die Desktop-Anwendung zeigt einmalig einen modalen Dialog, undhermes plugins listnennt den Grund. Wenn Sie externe Plugins verwenden, prüfen Sie diese:hermes plugins compat <path>gibt für jede Fundstellefile:linemit altem Pfad -> neuem Pfad aus und beendet sich mit Status 1, solange noch Fundstellen vorhanden sind (--jsonliefert eine maschinenlesbare Ausgabe; ohne Argumente wird die gesamte installierte Plugin-Sammlung geprüft). Als Ausweichlösung für ein Plugin, dessen Autor noch nicht nachgezogen hat, dientplugins.allow_deprecated_imports: trueinconfig.yaml; sie funktioniert weiterhin: Die Änderung, mit der die alten Importpfade tatsächlich entfernt werden, war mit Stand vom 22. September noch nicht enthalten (überprüft bis Tagv2026.9.21sowie aufmain). Daher lassen sich die alten Pfade weiterhin auflösen, sobald der Loader fortfahren darf. Einzelheiten zu den Folgen finden Sie oben unter Neuerungen in v0.21.2; der Abschnitt Plugin-System enthält den Kasten zum aktuellen Stand.42 - Gateway-Konversationen werden überhaupt nicht mehr zeitgesteuert rotiert. Die Dokumentation zum Sitzungslebenszyklus formuliert die Vereinbarung nun ausdrücklich: „Weder Inaktivität noch verstrichene Zeit führen jemals zur Rotation einer Konversation.
/newund/resetsetzen eine ausdrückliche Grenze; die Kontextkomprimierung verwaltet weiterhin lange Verläufe. Veraltete Timer-Konfigurationen werden ignoriert. Der vorhandene DatentypSessionResetPolicybesteht lediglich als inaktive Kompatibilitätsstruktur und nicht als Laufzeitrichtlinie.“ Grenzen werden ausdrücklich von Benutzern gesetzt. Wenn Sie Sitzungs-Reset-Timer aus der OpenClaw-Ära mithermes claw migrateübernommen haben, sind diese nun inaktive Daten. Siehe Messaging-Gateway.43 - Die Autorisierung von MCP erhält einen Gerätecode-Ablauf.
hermes mcp login <name>unterstützt nun--flow {browser,device}:browserbezeichnet den bestehenden PKCE-Ablauf,deviceeine Gerätecode-Anmeldung gemäß RFC 8628 für Rechner, auf denen ein Browser-Callback unpraktisch ist, und das Flag überschreibt die Einstellungoauth.flowdes Servers. In diesem Zeitraum wurde auch die übrige Authentifizierungsoberfläche von MCP gehärtet: Die profile-Zugehörigkeit wird in allen OAuth-Sitzungen durchgesetzt, fehlerhafte Metadaten-Caches von OAuth werden ignoriert, anstatt einen Server zu blockieren, und die Desktop-Anwendung leitet OAuth von MCP über clientlokale Callbacks weiter. Ebenfalls neu:-t/--toolsetsfiltert nun auch, welche konfigurierten MCP-Server überhaupt gestartet werden. Dadurch überspringt ein einmaliger Lauf mithermes -z -t <toolsets>den Kaltstart nicht benötigter Server. Der Befehlsblock unter MCP-Integration enthält nunloginundreauth [--all]; beide gab es bereits vor diesem Zeitraum, sie waren hier jedoch noch nicht dokumentiert.44 - Delegation bildet Hintergrundarbeit jetzt ehrlich ab. Sechs Zuverlässigkeitsänderungen an
delegate_task, die alle direkt aus dem Quellcode des Delegationswerkzeugs beim betreffenden Tag hervorgehen. (1) Ein Hintergrund-Batch wird standardmäßig als EINE Fertigstellung zurückgegeben. Mitdelegation.independent_completionslässt sich der Aufruf stattdessen in Fertigstellungseinheiten aufteilen: Aufgaben mit demselbengroup-Wert werden zusammengefasst und gemeinsam gemeldet, während jede nicht gruppierte Aufgabe nach ihrem Abschluss einzeln gemeldet wird. Diese Voreinstellung ist bewusst gewählt – laut Quellcode hat eine Flut einzelner Fertigstellungen „Orchestratoren fragmentiert, die dafür keinen Plan hatten“. (2) Die Hintergrundprozesse eines untergeordneten Agenten werden beim Beenden des Agenten beendet, sofern er sie nicht mitprocess_manage(action="handoff")an den übergeordneten Agenten übergibt. Nicht übergebene Restprozesse werden im Ergebnis alsorphaned_processesbenannt; Prozesse des untergeordneten Agenten, die beendet wurden, ohne jemals ausgelesen worden zu sein, erscheinen einschließlich eines Auszugs ihrer Ausgabe alsunread_completions. Die Haltung hinter diesem Design lautet laut Docstring im Quellcode: Der übergeordnete Agent „muss dies von der Laufzeit erfahren“, anstatt der Behauptung eines untergeordneten Agenten zu vertrauen, ein „Watcher laufe“. (3)delegation.fallback_providerswird zu einer echten Konfigurationsoberfläche:nullübernimmt die Kette des übergeordneten Agenten für nicht festgelegte untergeordnete Agenten,[]deaktiviert Fallbacks, und ein über Provider, Endpunkt oder Modell festgelegter untergeordneter Agent erhält keinen Fallback, sofern diese Einstellung keinen definiert. (4) Die Fallback-Kette eines untergeordneten Agenten wird über den kanonischen Normalisierer aufgelöst, sodass fehlerhafte Einträge verworfen werden, anstatt das Starten eines Agenten zu verhindern. (5) Bei einem Absturz während einer Einheit gehen bereits abgeschlossene untergeordnete Agenten nicht mehr verloren: Jeder abgeschlossene untergeordnete Agent einer Einheit mit mehreren Agenten wird dauerhaft in der eigenen Zeile der Einheit erfasst und bleibt als Teilergebnis im wiederhergestellten Ergebnis erhalten. (6) Subagents übernehmen niemals die einstündige Prompt-Cache-Stufe: Ein delegierter untergeordneter Agent wird auf die 5-Minuten-Stufe zurückgestuft, weil die einstündige Stufe preislich für eine Person ausgelegt ist, die längere Zeit nicht am Rechner arbeitet, und nicht für einen Schub parallel ausgeführter untergeordneter Agenten.45 - Provider und Modelle. Die Kataloge erhalten OpenAIs GPT-6 Astra und Astra Pro mit den Geschwindigkeitsstufenvarianten
-fast/-flex(„doppelter Preis, Prioritätsstufe“ / „halber Preis, Flex-Stufe“) in den Katalogen von Nous Portal und OpenRouter. Auf der ChatGPT/Codex-Route von OAuth ist Astra an das Konto gebunden (nur die aktive kontobezogene Erkennung darf es anbieten) und erhält eine optionale Auswahlvariante-900k, die das angegebene Kontextfenster von 272K auf aktiv überprüfte rund 900K erhöht; das Suffix wird niemals übertragen. Hinzu kommenanthropic/claude-fable-5.1,google/gemini-3.7-flashundgemini-3.8-flash,qwen/qwen3.8-max-0902undqwen3.8-flashsowie Metas Muse-Spark-1.3-Familie (1M Kontext, einschließlich Contributor-Varianten) und ein Meta-Provider-Plugin namensmuse-imagezur Bilderzeugung. Tavily kommt als Backend für Websuche und Extraktion hinzu (TAVILY_API_KEY; bei Auswahl von Tavily überhermes toolsfunktioniert es auch ohne Schlüssel). Eine verwaltete llama.cpp-Laufzeit macht lokale Modelle zu einer vollwertigen Option (offizielle Binärdateien, ein überwachterllama-server, Einrichtung mit einem Klick über die Desktop-Anwendung), und externe Prozess-Provider außerhalb des Repositorys erhalten einen eigenen Auflösungszweig. Für den Betrieb relevant: Die Remote-Kataloge der Modellauswahl werden nun alle 20 Minuten aktualisiert (model_catalog.ttl_minutes, Standardwert 20); der veraltete Schlüsselttl_hourswird nur dann berücksichtigt, wenn ein Benutzer ihn ausdrücklich gesetzt hatte.46 - Desktop: Seite kommentieren, Sitzung steuern. Der integrierte Browser erhält einen Kommentarmodus: Klicken Sie auf Annotate, anschließend auf ein beliebiges Element der aktiven Seite (oder ziehen Sie einen Rahmen darum) und geben Sie eine Notiz ein. Gespeicherte Kommentare bleiben als nummerierte Markierungen sichtbar und senden niemals eigenständig eine Nachricht. Wenn Sie fertig sind, übergibt „Add N comments“ den gesamten Batch an den Composer, einschließlich eines zugeschnittenen Screenshots pro Markierung. Jeder Elementkommentar enthält außerdem seinen CSS-Selektor, sein Markup und die für das Layout relevanten berechneten Stile, damit der Agent das Element in Ihrem Quellcode findet, anstatt anhand eines Bildes raten zu müssen. Passwort- und ausgeblendete Werte sowie Attribute, deren Namen auf Schlüssel hindeuten, werden geschwärzt, bevor das Markup die Seite verlässt. Größere Batches werden nach Seitenbereichen gruppiert. So werden aus gut zwanzig Kommentaren nur wenige Arbeitspakete, die üblicherweise verschiedene Dateien betreffen – und sich deshalb sicher auf parallele Arbeitskräfte verteilen lassen. Ergänzend gibt es strukturierte Sitzungssteuerungen samt Automatisierungsoptionen, das Erstellen von Sitzungen per Ziehen, eine Sitzungsimportansicht für Transkripte anderer Coding-Agenten,
display.resume_last_session(standardmäßig true: Bei einem Kaltstart wird der letzte Chat oder die letzte Seite erneut geöffnet), eine einmalige Einwilligungsabfrage mit der Optionbrowser.use_real_profile, wenn ein Browser-Bereich erstmals bei deaktivierter Einstellung geöffnet wird, einen integrierten Katalog optionaler skills unter Capabilities -> Skills mit Installation per Klick sowie Russisch als neue Sprache für die Desktop-Benutzeroberfläche (die 17 Gebietsschemakataloge von CLI bleiben unverändert).47
Der Aktualisierungsvorgang bleibt unverändert: hermes update für eine bestehende Installation oder das Shell-Installationsprogramm für eine Neuinstallation. Die kuratierte Dokumentation dieses Zeitraums bleibt v0.22.0 vorbehalten; die oben beschriebenen Bereiche zeigen, was sich mit diesem Tag ändert.41
Neuerungen in v0.21.0 (The Pantheon Release)
Hermes Agent v0.21.0 (Tag v2026.8.31, 31. August 2026) ist das aktuelle Funktionsrelease und zugleich die kuratierte Dokumentation, auf die sämtliche gebündelten v0.20.x-Updates verwiesen hatten: „Dieses Release bündelt alle Infrastruktur-Patch-Tags von v0.20.1 bis v0.20.6 – diese Zeiträume sind hier vollständig dokumentiert.“ Inhaltlich knüpft es an Herald an: „Mit v0.20.0 wurde Hermes zum Herold – er sprach und überbrachte anderen Agenten Botschaften. In v0.21.0 versammeln sich die Götter.“ Die Statistikzeile im Wortlaut: „Seit v0.20.0: ~5.800 Commits · ~2.475 zusammengeführte PRs · ~5.680 geänderte Dateien · ~869.000 Einfügungen · ~135.000 Löschungen · ~2.100 geschlossene Issues · über 760 Mitwirkende“.35
Das Release ist nach Funktionsbereichen gegliedert; diese Zusammenfassung folgt derselben Struktur. Wenn eine Funktion einen bestehenden Abschnitt dieses Leitfadens betrifft, finden Sie den Verweis direkt im jeweiligen Eintrag.
- Bot Mode: Ihre Agenten werden zu einer integrierten Gemeinschaft. Bot Mode entwickelt sich vom gebündelten
hermes-bots-Plugin des v0.20.3-Zeitraums zu einem standardmäßig aktivierten Bestandteil der Desktop-App. Jedes Agenten-profile erhält einen Namen, ein deterministisches Avatar-Gesicht mit Steuerelementen zum Zufallsgenerieren und Sperren sowie einen Platz in einer gemeinsamen Übersicht. Sie erstellen Gruppenchats im Discord-Stil, in denen mehrere Bots und Sie sich in einem Raum unterhalten, erwähnen über den Nachrichten-Editor jeden beliebigen Bot mit @ und versehen Räume mit Namen und Bildern. Zum Funktionsumfang gehören Agent-zu-Agent-Nachrichtenkarten mit Absenderangabe, Zustellhinweise auf Absenderseite, Paint-first-Hydration für sofortiges Aufwachen, ein Bereich für Routinen sowie eine Neuentwicklung auf Grundlage des App-Designsystems. Das Release selbst formuliert es so: „Früher bedeutete ‚Multi-Agent‘ vor allem technische Verkabelung; heute sieht es aus wie eine Chat-App voller Kollegen.“35 hermes peer: Bot-zu-Bot-Direktnachrichten zwischen Ihren Agenten. Jeder Hermes-Agent kann jeden anderen über dessen Handle kontaktieren – über profiles und gateways hinweg, aus CLI oder direkt aus einer Unterhaltung heraus. Bitten Sie etwa Ihren Recherche-Bot, seine Ergebnisse an Ihren Coding-Bot weiterzugeben, und lesen Sie die Antwort dort, wo Sie sich gerade befinden. „Antworten gehen im kanonischen Bot Chat des jeweiligen Agenten ein. Unterhaltungen zwischen Agenten bleiben dadurch dauerhaft erhalten und nachvollziehbar, statt nach einmaligem Senden zu verschwinden.“ Der Befehlhermes peer(Peers hinzufügen/auflisten/entfernen sowiedm) ist in der Tabelle Befehle der obersten Ebene aufgeführt.35- Cron-Jobs mit Gedächtnis. Geplante Jobs vergessen nicht mehr nach jedem Lauf alles: Cron-Agenten laden und aktualisieren wie alle anderen Agenten einen dauerhaften Speicher,
continuity=trueübernimmt die Ausgabe eines Laufs in den nächsten, sodass ein Monitor bereits gemeldete Inhalte erkennen und Duplikate vermeiden kann, und jeder Job erhält einen dauerhaften Notizblock. Jobs im Monitor-Modus überspringen LLM vollständig, wenn sich nichts geändert hat; der Reasoning-Aufwand lässt sich für jeden Job festlegen und Cron-Ausgaben können im kanonischen Bot Chat eines Bots eingehen, wo dieser tatsächlich darauf antwortet. Der Abschnitt Geplante Aufgaben (Cron) dokumentiert nun die At-Tag-Mechanik der einzelnen Funktionen.3537 - Live-Orchestrierung von Subagenten.
delegate_taskerhält Steuerungsaktionen: Sie können laufende Unteragenten auflisten, einen von ihnen während der Ausführung durch eine Kurskorrektur neu ausrichten oder ihn vorzeitig stoppen und das Teilergebnis behalten. Unteragentenausgaben lassen sich anhand eines JSON-Schemas validieren, die Kosten jeder Delegierung werden in den Ergebnissen ausgewiesen und die Standardwerte steigen auf 250 Iterationen pro Unteragent sowie 10 gleichzeitig laufende Unteragenten – die einheitlichen Obergrenzen, diemax_async_childrenin v0.19.0 ersetzt haben.3538 - Die MCP-Kommandozentrale. MCP-Server und der Katalog werden auf einer einzigen Desktop-Seite zusammengeführt. Diese bietet einen „Beliebiges einfügen“-Import per Drag-and-drop, Hintergrundprüfungen des Systemzustands, die Sie vor dem Fehlschlagen eines Tool-Aufrufs zur erneuten Authentifizierung auffordern, eine Kosten- und Nutzungsübersicht für die gesamte Flotte (Schätzungen der Schema-Token sowie 30-Tage-Nutzung pro Server) und
hermes://-Deep-Links, über die sich ein MCP-Server nach ausdrücklicher Bestätigung installieren lässt. Siehe MCP-Integration.35 - Eine Leistungswelle für CLI. Strg+P öffnet eine unscharfe Befehlspalette, die auch über
/paletteerreichbar ist. Die/model-Auswahl filtert bereits während der Eingabe,/statuszeigt Reasoning-Modus, ausstehende Genehmigungen und Kontextnutzung, und die Statusleiste kann mit separaten Umschaltern für jedes Feld die aktuelle Cache-Trefferquote in Prozent, die Latenz und die Token pro Sekunde anzeigen. Hinzu kommen ein globaler Not-Aus, das Anheften und Lösen von Sitzungen, wechselnde Platzhalter im Nachrichten-Editor und Terminal-Haustiere. Ein Hinweis zur Benennung: Das Release bezeichnet eine Genehmigungsprüfung im Probelauf alshermes approval-check; im betreffenden Tag heißt diese Oberfläche jedochhermes approvals test– einen Unterbefehlapproval-checkgibt es nicht.3540 - Der Agent steuert den Browser der Desktop-App. Der integrierte Browser ist nicht länger nur ein Fenster, das der Agent betrachten kann: Hermes navigiert darin, klickt auf Elemente und liest Inhalte direkt aus. Seiten lassen sich zudem im Systembrowser öffnen, wobei vollständige Link-Kontextmenüs zur Verfügung stehen.35
- Sechs neue Provider und eine Welle neuer Modelle im Katalog. Meta Model API (Muse Spark), CommandCode, Tencent TokenPlan, Nebius Token Factory, Ramp Router und Actual Computer. Drei davon (Meta AI, CommandCode und Actual Computer) wurden bereits in früheren gebündelten Zeiträumen eingeführt und waren schon in der Provider-Matrix enthalten. Neu hinzu kommen Tencent TokenPlan, Nebius Token Factory und Ramp Router sowie die neue Alibaba-Token-Plan-SKU aus der Dokumentation. Die Kataloge werden um GLM-5.3-Flash, qwen3.8-max/flash, Gemini 3.7 Flash, MiniMax M3 free, Nemotron 3.5 Lightning und Muse Spark 1.2 erweitert. Damit gehen zwei strukturelle Änderungen einher: Mit
model_overridesinconfig.yamlkönnen Sie das Kontextfenster oder die Preisangaben jedes Modells anpassen, ohne auf ein Release zu warten. Außerdem können Provider nun als über Entry Points erkannte, per pip installierte Pakete ausgeliefert werden; eine zentrale Registry für Auswahlwarnungen weist darüber hinaus in sämtlichen Auswahloberflächen darauf hin, wenn ein Modell mit Ihren Daten trainiert.3536 - Umfassende Sicherheitshärtung. Schreibzugriffe auf geschützte Agentenanweisungsdateien (AGENTS.md, skills und Speicher) erfordern jetzt immer eine Genehmigung, damit ein durch Prompt Injection manipulierter Agent seine eigenen dauerhaften Anweisungen nicht unbemerkt umschreiben kann. Eine umfassende Überarbeitung der Schwärzung schließt Lücken, durch die Geheimnisse über Terminalfehler, Lesezugriffe auf
.env, checkpoints und ACP-Protokolle offengelegt werden konnten. Das Genehmigungssystem erkennt nun auch destruktive Windows-Befehle; macOS-Berechtigungen bleiben dank einer stabilen TCC-Signaturidentität (hermes desktop --setup-tcc-identity) über Updates hinweg erhalten. Außerdem wurden der Blender-MCP-Katalogeintrag und der zugehörige skill nach einer Kompromittierung des vorgelagerten Projekts entfernt. Einzelheiten zum betreffenden Tag finden Sie unter Sicherheitshärtung.3539 - Weiterentwicklung des gateway. Slack erhält native Live-Karten mit echten Streaming-Antworten und optionalen Plan-/Aufgabenkarten sowie die Möglichkeit, ausgehende Linkvorschauen zu unterdrücken. Telegram bekommt eine Inline-Auswahl, über die sich jeder Befehl und skill mittels @botname durchsuchen lässt, wodurch die Obergrenze des Telegram-Befehlsmenüs umgangen wird. Auch der Relay-Pfad wird ausgereifter: native Plugin-Initialisierung, Live-Kartenaktionen mit Entwurfs-Streaming, Segmentierung von Sitzungsspannen und wiederhergestellte Sprachnachrichten-STT. Über einen gateway-Steuerungssocket können Flotten-Clients den gateway abfragen, während Updater ihn geordnet pausieren können, statt den gesamten Prozessbaum zu beenden. Zudem erfasst der Turn-Reaper die Stacks blockierter Worker, sobald der Watchdog ausgelöst wird.35
- Eine Welle neuer skills. Acht wiederhergestellte Produktivitäts-skills (document-to-action-items, meeting-action-items, email-inbox-triage, github-issue-to-pr, weekly-review-planning, competitor-news-monitor, product-price-monitor und social-media-content-calendar), aus HAR-Dateien abgeleitete API-Clients („Beobachten Sie eine Website einmal und rufen Sie anschließend ihre verborgene API direkt und ohne Browser auf“), publish-site, session-librarian, blocked-page-recovery, merge-reconciler, plan-interrogation sowie ein beratender SKILL.md-Linter bei der Erstellung.35
In diesem Zeitraum rückgängig gemacht (nicht enthalten): Sowohl der Model-Council-Modus (/council) als auch die DCP-context engine wurden zunächst integriert und anschließend zurückgesetzt. Der ausschließlich auf WS basierende gateway-Server (#94245) wurde zusammengeführt und danach ebenfalls zurückgesetzt (#96118), sodass FastAPI weiterhin Teil des Desktop-Startpfads ist. Die sequenznummerierte Ereigniswiedergabe (#94219) und die verlustfreie Desktop-Wiederverbindung über WebSocket wurden hingegen tatsächlich ausgeliefert. Electron wurde auf 40.10.2 zurückgesetzt. Sollten Community-Berichte zu den v0.20.x-Zeiträumen eine dieser Funktionen erwähnt haben, sind sie in diesem Release nicht enthalten.35
Der Aktualisierungsvorgang bleibt unverändert: hermes update bei einer bestehenden Installation oder das Shell-Installationsprogramm für Neuinstallationen. Der gebündelte Unterabschnitt unter dem nachfolgenden Herald-Release bleibt die nach Tags gegliederte Dokumentation dazu, welche Änderungen in welchem Zeitraum eingeführt wurden.35
Neuerungen in v0.20.0 (The Herald Release)
Hermes Agent v0.20.0 (Tag v2026.8.3, 3. August 2026) war das Funktionsrelease, bevor v0.21.0 sämtliche Änderungen zusammenführte. v0.20.1 (13. August) und v0.20.2 (16. August) sind darauf aufbauende Stabilisierungsversionen, während v0.20.3 (Tag v2026.8.16.2, veröffentlicht am 17. August), v0.20.4 (Tag v2026.8.18, 18. August), v0.20.5 (Tag v2026.8.19, veröffentlicht am 21. August) und v0.20.6 (Tag v2026.8.27, 27. August) die Reihe der Rollups mit eigenen Funktionsfenstern fortsetzen — siehe den nachfolgenden Unterabschnitt. Das Zeitfenster seit v0.19.0 umfasst etwa 3.650 Commits, 1.400 zusammengeführte PRs und 1.200 geschlossene Issues von mehr als 650 Mitwirkenden.59
Drei Änderungen machen frühere Anweisungen dieses Leitfadens hinfällig. Lesen Sie diese zuerst:
- Node 26 ist jetzt erforderlich. Das Installationsprogramm legt
NODE_VERSION="26"fest und lehnt ältere Laufzeitumgebungen mit „Node.js … is too old (Hermes requires Node >=26)“ ab. Installationsprogramme,healundupgradesetzen diese Anforderung gleichermaßen durch. Beachten Sie, dass auf der Installationsseite der Dokumentationswebsite noch Node v22 genannt wird — das Installationsskript und die Versionshinweise sind die neueren, maßgeblichen Quellen.59 - pip und Homebrew wurden eingestellt, nicht nur als veraltet gekennzeichnet. Wörtlich: „brew + pip/PyPI wheel channels retired (shell installer / Docker / Nix are the supported channels).“ Wenn Sie Hermes noch über pip oder brew installiert haben, erhalten Sie über diesen Weg keine neuen Releases mehr.59
- Das standardmäßige Iterationslimit für Tool-Aufrufe wurde von 90 auf 500 erhöht. Lange autonome Durchläufe stoßen dadurch nicht mehr an eine künstliche Grenze, und sämtliche nachfolgend beschriebenen Schwellenwerte für Budgetdruck werden anhand des neuen Limits berechnet.
read_filegibt zudem standardmäßig 2.000 statt 500 Zeilen zurück.59
Die weiteren Neuerungen des Releases:
- Konversationsmodus per Sprache. Streaming-TTS mit Unterbrechungsmöglichkeit und lokal auf dem Gerät erkannten Aktivierungswörtern.59
- A2A v1.0. Ein Protokoll-Plugin für die Kommunikation zwischen Agenten, das die langjährige Anforderung aus Issue #514 erfüllt.59
- Signierte ausgehende Webhooks.
hermes webhookunterstützte zuvor nur eingehende Webhooks. v0.20.0 ergänzt HMAC-signierte ausgehende Lebenszyklus-Webhooks für Sitzungs-, Turn- und Tool-Ereignisse.59 - Quellengestützte Zitate. Ein neuer skill mit Faktenprüfungsmodus.59
- Eine Welle neuer Funktionen für CLI-Power-User. Mit
!commandführen Sie einen Shell-Befehl sofort aus, ohne einen Modell-Turn zu verbrauchen./initdurchsucht das Projekt und erstellt oder aktualisiert eineAGENTS.md./diffzeigt auf jeder Oberfläche vorgemerkte, sämtliche oder sitzungsbezogene Änderungen./contextschlüsselt auf, was das Kontextfenster belegt./focusbietet eine Ansicht mit reduzierter Ausgabe, in der sich ausgeblendete Zeilen wieder einblenden lassen. Mit Strg+S können Sie eine nur teilweise verfasste Eingabe zwischenspeichern.hermes import-agentmigriert eine Claude Code- oder Codex-CLI-Konfiguration mit einem einzigen Befehl.59 - Erweiterungen für die Verwaltung von Geheimnissen. Eine mit jedem Tresor kombinierbare Befehlsquelle für Geheimnisse, Token-Rotation mit einem einzigen Befehl und aussagekräftigen Startfehlern, ein optionaler verschlüsselter Notfall-Cache für Bitwarden, pro profile-Home beschränkte und vom Tresor eingespeiste Schlüssel sowie
${env:VAR}-SecretRef-Parität zwischenconfig.yamlund der MCP-Konfiguration. Das nachfolgend beschriebene Authentifizierungsmodell mit drei Pfaden bleibt unverändert.59 - Schnellerer Warmstart. Der Kaltstart von
hermes -wwurde von etwa 14 s auf 1,8 s verkürzt.59 - Desktop wurde zu einer Plattform. Artefakte mit versionierten Karten und isolierter Live-Vorschau, ein Plugin-SDK mit Kanban als erstem Desktop-Plugin, ein globaler Hotkey für die Schnelleingabe, mehrere GUI-Fenster, ein SSH-Modus für Remote-Backends und native Anmeldung gemäß RFC 8252.59
Die Rollups v0.20.3, v0.20.4, v0.20.5 und v0.20.6 (17.–27. August)
Nach v0.20.0 veröffentlichte das Projekt in hoher Frequenz mit Tags versehene Rollups, die über reine Stabilisierung hinausgingen. Bei allen vier wurden kuratierte Hinweise auf dieselbe Weise zurückgestellt — in jedem hieß es, dass „full curated release notes for this window will ship with v0.21.0“ — und v0.21.0 hat sie inzwischen bereitgestellt: Neuerungen in v0.21.0 oben ist die kuratierte Dokumentation dieses gesamten Zeitraums. Das Release bestätigt, dass die Zeitfenster „are fully documented here“. Die nachfolgenden Blöcke bleiben als zeitgenössische Aufzeichnung der einzelnen Tags erhalten — sie zeigen, welche Änderungen mit welchem Tag eingeführt wurden, während die kuratierten Hinweise diese zusammenfassen.58233035
v0.20.3 (ca. 250 Commits und ca. 125 PRs seit v0.20.2):
- Migration auf MCP 2.x SDK mit Unterstützung des zustandslosen Protokolls vom 28. Juli 2026. Hermes wechselt zur aktuellen MCP-SDK-Generation und unterstützt die zustandslose Revision des Protokolls.58
- Bot Mode erscheint als mitgeliefertes Plugin (
hermes-bots), das das zentrale Protokoll für Teammitglieder enthält.58 - Ein CommandCode-Provider-Plugin ergänzt den Provider-Katalog.58
- Cua Driver 0.20-Laufzeitverträge für die Computernutzung sowie eine robustere Verwaltung der Python-Laufzeitumgebung von Unterprozessen durch PYTHONHOME/PYTHONPATH-Isolierung.58
- Zuverlässigkeit: Selbstreparatur des cron-Schedulers (EMFILE-Wiederherstellung, Abgleich veralteter Ansprüche und erneute Aktivierung festgefahrener Jobs), Korrekturen gegen Datenverlust bei Sitzungsübergaben, Selbstreparatur der Remote-gateway-Verbindung auf dem Desktop sowie zahlreiche Portierungen aus dem Ökosystem (Sicherheitsprüfung bei Plugin-Installationen,
/worktree, Erhalt manueller Änderungen durch/rollbackund Lesen von UTF-16-Dateien).58
v0.20.4 (ca. 146 Commits und ca. 74 PRs seit v0.20.3):
- Die Glasoberfläche des Desktops: mattes Glas und Transparenzeffekte mit Auswahl der Froststärke und Vorauswahl für macOS.58
- Eine SESSIONS|BOTS-Seitenleiste mit Registerkarten und der Möglichkeit, einzelne Bots ein- oder auszublenden, ergänzt durch Korrekturen für Gruppenchats im Bot Mode (lang andauernde Turns von Mitgliedern, Markdown-Darstellung und maschinenübergreifendes Routing).58
- NVIDIA SkillEvaluator Tier 1 führt bei der Installation von skills beratende Prüfungen durch — Lizenz- und Sicherheitsprüfungen werden ausgeführt, wenn Sie einen skill installieren.58
- Robustere Medienübertragung für cron (konfigurierbarer Timeout, Anhänge bei manueller Ausführung und Anzeige verpasster Ausführungen), Korrekturen für Event-Loop-Threads und Ressourcenkonflikte in SessionDB, ehrliche Angaben von
hermes updatezu geparkten Branches sowie native Betriebssystembenachrichtigungen für Kanban.58
v0.20.5 (ca. 746 Commits und ca. 323 PRs seit v0.20.4):
- Die schlüssellose Webebene: Die Websuche funktioniert bei Neuinstallationen ohne jegliche API-Schlüssel — durch kostenlose Rotation über 5 Anbieter mit Ring-Failover.23
- Eine CLI-Politurwelle: eine unscharfe Suche im
/model-Auswahlmenü, eine Befehlspalette über Strg+P und eine ausführlichere/status-Anzeige.23 - Bot Mode wird erwachsen: Threads in Gruppenräumen, einklappbare Gesprächszusammenfassungen, Blob-Gesichter als Avatare sowie PDF-/Dateianhänge per Drag-and-drop.23
- Werkzeuge für Flotten und Worktrees: Belege von
hermes update,hermes update --plan(in den Versionshinweisen als „fleet--planverification“ bezeichnet; das Flag gehört zuhermes update, nicht zu einemfleet-Befehl, und laut Parser-Hilfe wird es „Show the update plan and exit without changing anything“) sowiehermes worktree list/prune.2327 - Cron-Jobs erhalten dauerhaften Speicher und eine pro Job konfigurierbare Reasoning-Intensität, ergänzt durch aus den Composio-Evaluierungsergebnissen abgeleitete Regeln für die Ausführungsdisziplin und Schutzmechanismen gegen Laufzeitstillstände, Rückfragen mit mehreren Fragen, den opencode-freien Provider ohne Authentifizierung sowie Desktop-Performanceverbesserungen (Paint-first-Hydration des Bot Mode und React Compiler in beiden Renderern).23
v0.20.6 (Tag v2026.8.27, 27. August — ca. 1.313 Commits und ca. 525 PRs seit v0.20.5):
Das Release bezeichnet sich ausdrücklich als „Patch release. This tag rolls up the ~525 PRs merged since v0.20.5 into a stable tagged release for downstream consumers“. Laut eigener Beschreibung umfasst das Zeitfenster etwa 1.313 Commits in rund 1.557 Dateien (+177.113 / −21.682) — etwa 525 zusammengeführte PRs.30 Die wichtigsten Punkte aus dieser Beschreibung:
- Zustimmungspflichtiges Browsen mit dem echten profile — beim lokalen Browsen kann Ihr standardmäßiges Chromium-profile verwendet werden, unter Windows mit einem zustimmungspflichtigen Ablauf zum Schließen.30
- Der Desktop-Browser erhält ein eigenes Betriebssystemfenster, ergänzt durch eine verwaltete SSH-Engine für Remote-Updates und eine profile-Leiste für Flotten.30
- Erweiterter Remote-MCP-Katalog: mehr als 50 im Livebetrieb geprüfte, von Anbietern gehostete Server, darunter Cloudflare, Grafana Cloud, Better Stack und Railway.30
- Optionale Verschlüsselung gespeicherter Geheimnisse über den Betriebssystem-Schlüsselbund — keine macOS-Schlüsselbundabfragen mehr bei jedem Start.30
- Neue Modelle in den Auswahlmenüs: GLM-5.3-Flash, MiniMax M3 free und MiniMax H3 Max video.30
- TTL-Ergebniscaching für
web_search/web_extractundtool_searchmit mehreren Abfragen und Wortstammerkennung.30 - Lean-tail-Komprimierung ist jetzt die Standardeinstellung — der nachfolgende Abschnitt Kontextkomprimierung dokumentiert die Konfiguration zum Zeitpunkt des Tags.3031
- Terminal-Backends sind jetzt austauschbar — siehe Terminal-Backends.3032
- Transparenz bei Updatern und Flotten: Updater pausieren gateways über den Kontroll-Socket, anstatt deren Prozessbäume zu beenden, und über Images oder Pakete verwaltete Installationen verweigern unsichere direkte Aktualisierungen.30
- Dauerhafte Bestätigungen von cron-Vorfällen mit klareren Fehlermeldungen bei unterschiedlichen Codeversionen, Steuerungsmöglichkeiten für Link-Vorschauen in Slack und gemeinsam genutzte Docker-Containeridentitäten.30
Der Aktualisierungsvorgang bleibt unverändert: hermes update für eine bestehende Installation oder das Shell-Installationsprogramm für eine Neuinstallation.582330
Neues in v0.19.0 (The Quicksilver Release)
Hermes Agent v0.19.0 (Tag v2026.7.20, 20. Juli 2026) ist nach der Schnelligkeit des Götterboten selbst benannt: Im Mittelpunkt des Releases steht kompromisslose Reaktionsfähigkeit – mit einer um etwa 80 % kürzeren Zeit bis zum ersten Token beim ersten Durchlauf auf allen Plattformen. Hinzu kommen Abrechnungsfunktionen im Terminal, Passwortmanager als Quellen für Geheimnisse, standardmäßig aktivierte intelligente Genehmigungen, beobachtbare Subagents und eine ausfallsichere Antwortzustellung. Seit v0.18.0 gab es mehr Änderungen als in jedem bisherigen Release-Zeitraum des Projekts: etwa 2.245 Commits, rund 1.065 zusammengeführte PRs, ungefähr 3.300 geschlossene Issues und mehr als 450 Mitwirkende aus der Community.60
- Überall etwa 80 % schneller bis zum ersten Token. Die Zeit vom Absenden bis zur Verarbeitung sank beim Kaltstart im CLI, gateway, TUI, Desktop und cron gleichermaßen von etwa 4,3 s auf rund 0,9 s – die Discord-Funktionserkennung wurde aus dem kritischen Pfad entfernt, die Ollama-Prüfung wird bei bekannten Nicht-Ollama-Anbietern übersprungen und blockierende Arbeit aus der Agenteninitialisierung beseitigt. Auch die wahrgenommene Latenz wurde optimiert: Reasoning-Modelle streamen ihre Gedankengänge jetzt standardmäßig live (
display.show_reasoningist aktiviert), und das Antwortfeld wird mit jedem Token statt erst nach jeder Zeile aktualisiert.60 - Rendering-Optimierungen für Desktop und TUI. Die Desktop-App erhielt mit etwa 20 PRs eine umfassende Geschwindigkeitsoptimierung: 14-mal weniger CPU-Auslastung im Streaming-Markdown-Splitter dank inkrementeller Blockanalyse, virtualisierte Diffs im Prüfbereich, schnelles Wechseln zwischen Sitzungen auch bei umfangreichen Transkripten sowie keine erneuten Render-Vorgänge der Seitenleiste und Werkzeugzeilen mehr bei jedem Token. Die TUI rendert gestreamtes Markdown nun blockweise und inkrementell.60
- Installationen über pip und Homebrew sind veraltet. Beide Wege wurden als „nicht unterstützte Legacy-Installationen“ gekennzeichnet und sollten entfernt werden. Diese Entfernung ist inzwischen mit v0.20.0 erfolgt – die Kanäle brew und pip/PyPI wheel wurden eingestellt; unterstützt werden nur noch das Shell-Installationsprogramm, Docker und Nix.6059
- Geheimnisse können aus Ihrem Passwortmanager stammen. Eine neue, erweiterbare
SecretSource-Schnittstelle ruft Geheimnisse beim Laden aus Bitwarden und 1Password (op://-Referenzen) ab. Mehrere Tresore lassen sich gleichzeitig verwenden; dabei gelten eine deterministische Prioritätsreihenfolge, Konfliktwarnungen und Herkunftsangaben für jede Variable – API-Schlüssel müssen somit nicht mehr in einer unverschlüsselten.env-Datei gespeichert werden. Weitere Tresoranbieter lassen sich künftig als Plugins ergänzen.60 - Intelligente Genehmigungen sind jetzt Standard. Wenn Hermes einen gekennzeichneten Befehl ausführen möchte, bewertet ihn ein unabhängiger LLM-Prüfer, statt Sie bei jedem einzelnen Befehl zur Bestätigung aufzufordern – und jedes Urteil gilt ausschließlich für genau diesen Befehl. Benutzerdefinierte Ablehnungsregeln blockieren übereinstimmende Befehle selbst im YOLO-Modus, mit
/deny <reason>übermitteln Sie den Grund Ihrer Ablehnung, damit der Agent seinen Kurs korrigieren kann, und diepre_tool_call-Genehmigungsaktion des Plugins – nun wieder mit Regelschlüsseln verfügbar – leitet einen Werkzeugaufruf zur menschlichen Freigabe weiter.60 - Abrechnung im Terminal:
/subscriptionund/topup. Verwalten Sie Ihren Nous Portal-Tarif, ohne das Terminal zu verlassen: Sehen Sie Ihren Tarif und das verbleibende Kontingent ein, prüfen Sie vorab die genauen Kosten eines Upgrades oder den Zeitpunkt, zu dem ein Downgrade wirksam wird, und wenden Sie die Änderung mit Rückgängig-Option an. Die Desktop-App erhält einen entsprechenden Reiter für Abrechnungseinstellungen.60 - Beobachten Sie Subagents bei der Arbeit und verlieren Sie nie wieder eine fertige Antwort. Aufrufe von
delegate_taskgeben Dateien mit Live-Transkripten zurück, die Sie unmittelbar nach dem Start der Subagents mittail -fverfolgen können – jeder Werkzeugaufruf, jedes Ergebnis und jede gestreamte Antwort erscheinen in einem menschenlesbaren Protokoll pro untergeordnetem Agenten. Abschlüsse delegierter Hintergrundaufgaben bleiben über Neustarts hinweg erhalten. Abschließende gateway-Antworten werden zudem in einem Zustellungsverpflichtungsregister instate.dberfasst und beim nächsten Start erneut zugestellt, falls der gateway während des Sendens ausfällt. Die Konfigurationsoptionmax_async_childrenist zugunsten einheitlicher Parallelitätsgrenzen für Delegierungen veraltet.60 - Ein gateway, viele profile. Ein einzelner multiplexierter gateway, der ein gemeinsames Bot-Token verwendet, kann bestimmte Guilds, Kanäle oder Threads verschiedenen profiles zuordnen – jeweils mit vollständig isolierter Konfiguration sowie eigenen skills, Speicherinhalten und Geheimnissen. Eine Überschreibung ist über
GATEWAY_MULTIPLEX_PROFILESmöglich. Der Routing-Index wurde nachstate.dbverschoben;sessions.jsondient jetzt nur noch als optionaler Legacy-Spiegel.60 - Neue Anbieter und Modelle. Fireworks AI erhält vollständige Unterstützung einschließlich Kostenschätzung und Platz 2 in der Anbieterauswahl; hinzu kommen DeepInfra und Upstage Solar. Die Kataloge werden um GPT-5.6 (Sol/Terra/Luna + Pro, vollständig integriert), grok-4.5 (GA), kimi-k3 (kimi-k2.x wurde eingestellt) und das vollständig integrierte Claude Sonnet 5 erweitert. Mit dem anbieterspezifischen Flag
enabled: falseund der Konfigurationexcluded_providerslassen sich ungenutzte Anbieter aus den/model-Auswahllisten und der Modellauflösung entfernen.60 - Der Reasoning-Aufwand wird einstellbar. Die neuen Aufwandsstufen
maxundultrastehen auf allen Oberflächen zur Verfügung. Hinzu kommen modellspezifische Überschreibungen in der Konfiguration, ein individueller Aufwand pro Slot in MoA-Voreinstellungen – Berater denken gründlich, während die Synthese schnell bleibt –, ein aufgabenspezifischer Aufwand für Hilfsmodelle sowie ein sitzungsbezogener/reasoning-Befehl im CLI.60 - Oberflächen für CLI und MCP.
hermes sessions exportexportiert Markdown, Quarto, HTML, reine Prompts und Hugging Face-Traces; mit der optionalen Einstellung--redactwerden vertrauliche Inhalte bereinigt./model --onceüberschreibt das Modell für einen einzelnen Durchlauf, Slash-skill-Aufrufe lassen sich kombinieren (/skill-a /skill-b do XYZ),--safe-modeunterstützt die Fehlerdiagnose,hermes config get/unsetvervollständigen die Konfigurationsverwaltung,hermes servewird zu einem echten Headless-Backend und MCP-Werkzeuge übernehmen die Namenskonventionmcp__server__tool.60
Wenn Sie von v0.18.x aktualisieren, sollten Sie vor allem 2 Änderungen beachten: Installationen über pip oder Homebrew werden nun als nicht unterstützte Legacy-Installationen bemängelt – wechseln Sie zum Einzeilen-Installationsprogramm – und max_async_children ist zugunsten einheitlicher Parallelitätsgrenzen für Delegierungen veraltet. Alle anderen Änderungen sind Ergänzungen. Die wichtigsten Gründe für ein Upgrade sind die um etwa 80 % geringere Latenz beim ersten Durchlauf, intelligente Genehmigungen und das Zustellungsregister, das fertige Antworten vor Verlusten durch Abstürze schützt.
Neues in v0.18.0 (The Judgment Release)
Hermes Agent v0.18.0 (Tag v2026.7.1, 1. Juli 2026) ist nach dem Urteilsvermögen benannt: Der Agent überprüft seine eigene Arbeit, statt lediglich Erfolg zu melden, und sein Ensemble-Reasoning lässt sich tatsächlich nachvollziehen. Zudem wird der gesamte P0/P1-Rückstand abgearbeitet – etwa 692 Aufgaben mit höchster Priorität wurden innerhalb von 12 Tagen gelöst.22
- Mixture-of-Agents als vollwertiges Modell. MoA kann nun wie jedes andere Modell auf allen Oberflächen ausgewählt werden, wobei das Ensemble-Reasoning sichtbar bleibt: Die vollständige Ausgabe jedes Referenzmodells erscheint als eigener beschrifteter Block und die Antworten werden live gestreamt – Sie können dem Ensemble beim Denken zusehen, statt lediglich eine undurchsichtige zusammengeführte Antwort zu erhalten.22
- Abschlussverträge für
/goal. Bevor der Agent ein Ziel als abgeschlossen meldet, überprüft er seine eigene Arbeit, indem er die Prüfungen des Projekts ausführt, statt einfach Erfolg zu behaupten – Urteilsvermögen auf sich selbst angewandt.22 /learn– beschreiben Sie etwas und machen Sie daraus ein skill. Verwandeln Sie einen Arbeitsablauf in ein wiederverwendbares skill, indem Sie ihn beschreiben; generierte skills entsprechen automatisch den Konventionen in CONTRIBUTING.md des Repositorys.22/journey-Zeitleiste. Ein visueller Verlauf von Speicherinhalten und skills im Zeitverlauf einschließlich Bearbeitungsfunktionen sowie ein Speichergraph auf dem Desktop.22- Parallele Verteilung auf Hintergrund-Subagents. Delegieren Sie mehrere Aufgaben, die gleichzeitig ausgeführt werden, ohne die Unterhaltung zu blockieren – aus dem einzelnen Hintergrund-Subagent in v0.17.0 wird eine ganze Flotte.22
- Desktop Projects. Vollwertige Programmierprojekte mit einem Organisationsmodell aus Projekt, Repository und Lane.22
- Auf null skalierbarer gateway. Gateways können bei Inaktivität in den Ruhezustand wechseln und das kontrollierte Beenden laufender Aufgaben koordinieren, sodass Bereitstellungen nahtlos erfolgen – besonders relevant für alle, die Hermes als permanent verfügbaren Dienst betreiben.22
- Unterstützung für Google Vertex AI. Gemini-Zugriff über GCP-Dienstkonten mit automatischer Aktualisierung von OAuth2-Tokens als neuer Bestandteil des Anbieterkatalogs.22
- Editor-Befehl
/prompt. Öffnet$EDITOR, damit Sie mehrzeilige Prompts verfassen können, ohne sich mit der Eingabezeile abzumühen.22
Wenn Sie von v0.17.x aktualisieren, gibt es hier keine inkompatiblen Änderungen am CLI. Die wichtigsten Gründe für ein Upgrade sind Abschlussverträge – Ziele, die sich selbst überprüfen –, vollwertiges MoA mit nachvollziehbaren Ensembles und /learn zum Erfassen von skills.
Was ist neu in v0.17.0 (The Reach Release)
Hermes Agent v0.17.0 (Tag v2026.6.19, 19. Juni 2026) trägt seinen Namen aufgrund der inzwischen deutlich größeren Reichweite des Agenten – mit neuen Messaging-Kanälen, neuen Modellanbietern und umfassenderer Steuerung von Desktop und Dashboard. Die Version erweitert v0.16.x; die CLI-Oberfläche bleibt unverändert.21
- Neue Messaging-Kanäle. iMessage funktioniert nun über Photon Spectrum (Gerätecode-OAuth,
hermes photon login) ohne Mac-Relay; die WhatsApp Business Cloud API ist ein offizieller Meta-Adapter, der keinen Bridge-Prozess mehr erfordert; SimpleX unterstützt jetzt Gruppen, native Anhänge, Textbündelung und automatische Annahme; außerdem kommt Raft als gebündeltes Plattform-Plugin mit einem durch Datenschutzvorgaben abgesicherten Wake-Channel-Konzept hinzu.21 - Neue Modelle und Anbieter. Der Katalog wurde um
z-ai/glm-5.2(1 Mio. Kontext),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultraundgrok-composer-2.5-fast(das Cursor-Modell über xAI OAuth, 200.000 Kontext) erweitert. Der xAI-Standard wurde aufgrok-build-0.1umgestellt, und adaptive Anthropic-Modelle folgen nun dem modernen Thinking-Vertrag (sie senden niemals einreasoning-Feld).21 - Desktop und Dashboard. Die Desktop-App erhält Hintergrund-Subagenten, deren delegierte Aktivitäten über Live-„Watch-Windows“ gestreamt werden (
delegate_task(background=true)), einen Composer-Modellselektor, neu belegbare Tastenkürzel, native Betriebssystembenachrichtigungen, eigene Composer-Entwürfe pro Thread, Themes aus dem VS Code Marketplace sowie eine Benutzeroberfläche auf Japanisch und traditionellem Chinesisch. Das Dashboard bietet einen vollständigen profile-Builder (Modelle/skills/MCPs ohne Bearbeitung vonconfig.yaml), einen globalen profile-Umschalter, einen überarbeiteten Skills Hub mit Sicherheitsprüfung, Automation Blueprints (parametrisierte Vorlagen für Formulare, Slash Commands, Unterhaltungen und Dokumentation) sowie eine sichere Anmeldung, die hinter dem OAuth-Gate den Statuscode 401 zurückgibt.21 - Skills und Tools.
image_generatekann nun bei jedem unterstützten Bildanbieter ein Ausgangsbild bearbeiten und transformieren, statt ausschließlich neue Bilder zu erzeugen; dasmemory-Tool wurde um einoperations-Array ergänzt, das atomare Batch-Vorgänge zum Hinzufügen, Ersetzen und Entfernen in einem einzigen Aufruf ermöglicht; ein neuersimplify-code-skill führt parallel eine Überprüfung und Bereinigung durch drei Agenten aus, die durch eine Chesterton’s-Fence-Risikostufe abgesichert ist; zudem ersetzt der boolesche Wertwrite_approvalden dreistufigenwrite_mode.21 - Architektur. Hintergrund-Subagenten geben sofort ein Handle zurück und speisen ihr Ergebnis als neuen Turn wieder ein; ein MCP-Elicitation-Handler ermöglicht Bestätigungen während eines Tool-Aufrufs, und erst später verbundene MCP-Tools werden zwischen Turns bereitgestellt, ohne die Cache-Sicherheit zu beeinträchtigen; cron wird zu einem austauschbaren CronScheduler mit Chronos als Managed-cron-Anbieter; außerdem können Administratoren über einen neuen Managed scope (
/etc/hermes) für Benutzer unveränderliche Konfigurationen festlegen. Hinzu kommt ein Gateway-Gateway-Relay für Topologien mit mehreren gateways.21 - Neue Befehle.
/version,/billing(interaktive Abrechnung im Terminal),hermes photon login(iMessage-Authentifizierung) undhermes curator run --consolidate– die Konsolidierung muss jetzt ausdrücklich aktiviert werden, sodass die routinemäßige Hintergrundkuratierung keine Token verbraucht.21 - Sicherheit. v0.17.0 schließt eine Umgehungsmöglichkeit der Denylist für Shell-Escapes, bricht bei fehlenden Genehmigungsmodulen und Gateway-Adaptern mit eigenen Richtlinien sicher ab, bereinigt die Umgebung für Unterprozesse von cron-Auftragsskripten, schwärzt Geheimnisse in Debug-Dumps von Anfragen, prüft MCP-stdio-Konfigurationen auf Exfiltrationsmuster und aktualisiert urllib3 sowie PyJWT, um CVEs zu beheben.21
Wenn Sie von v0.16.x aktualisieren, gibt es hier keine inkompatiblen Änderungen an der CLI; hinzu kommen lediglich neue Kanäle, Modelle und Oberflächen rund um denselben Agenten. Die wichtigsten Gründe für ein Upgrade sind iMessage ohne Relay, die offiziellen WhatsApp-Adapter und der Managed scope für Administratoren.
Was ist neu in v0.16.0 (The Surface Release)
Hermes Agent v0.16.0 (Tag v2026.6.5, 5. Juni 2026) ist nach den neuen Oberflächen benannt, die den auf die CLI ausgerichteten Agenten zugänglich machen. Die wichtigste Neuerung: Hermes ist nicht mehr auf das Terminal beschränkt.20
- Native Desktop-App. Hermes Desktop ist eine neue Electron-App für macOS, Linux und Windows, die sich mit einem Klick installieren und direkt in der App aktualisieren lässt. Sie bietet Ihnen ein Chatfenster mit Streaming, Drag-and-drop-Dateien, das Einfügen von Bildern aus der Zwischenablage, eine
Cmd+K-Palette, eine Sitzungsliste mit Archivierung und Suche sowie einen Modellselektor in der Statusleiste. Über einen sicheren WebSocket kann sie eine Verbindung zu einem entfernten Hermes gateway herstellen und sich per OAuth oder Benutzername und Passwort authentifizieren. Dabei unterstützt sie eigene Remote-Hosts pro profile sowie gleichzeitige Sitzungen mit mehreren profiles, die durch profile-übergreifende@session-Verweise miteinander verknüpft werden können. Die Desktop-Benutzeroberfläche enthält über eine typisierte i18n-Schicht (display.language; Englisch bleibt die Standardsprache) zudem eine vollständige Übersetzung ins vereinfachte Chinesisch (简体中文).20 - Browserbasiertes Administrationspanel. Das lokale Web-Dashboard wurde von einer Statusansicht zu einem vollständigen Administrationspanel ausgebaut: mit einem MCP-Katalog samt Schaltern zum Aktivieren und Deaktivieren, Anmeldedatenverwaltung, Erstellung von Webhooks und Hooks, Speicherkonfiguration, Gateway-Steuerung sowie einer Systemseite mit Prüfung vor Aktualisierungen und Debug Share per Klick. Auf einer neuen Kanalseite lassen sich alle Messaging-Plattformen des gateways (Telegram, Discord, Slack und die übrigen) im Browser konfigurieren. Die Authentifizierung ist nun austauschbar und unterstützt die Anmeldung mit Benutzername und Passwort, einen generischen selbst gehosteten OIDC-Anbieter,
hermes dashboard registerfür einen selbst gehosteten OAuth-Client sowie die Rotation von Sitzungen per Refresh-Token.20 - Neue CLI- und Slash Commands.
/undo [N]setzt die letzten N Benutzer-Turns mit Vorbelegung und Soft-Delete zurück und funktioniert in der CLI, der TUI sowie auf allen Messaging-Plattformen. Eine konfigurierbare Standardschnittstelle (cliodertui) mit einer--cli-Überschreibung kommt hinzu; die TUI erhält einen einheitlichen/model-Befehl und ein Sitzungs-Overlay.hermes portalist ein verständlicher Alias für den Onboarding-Ablauf im Nous Portal, der beim ersten Start nun Quick Setup und Full Setup anbietet. Ergänzt werden außerdem die beiden Diagnosebefehlehermes prompt-sizeundhermes sessions optimize.20 - Neue Modelle und Anbieter. Der Selektor wurde um
deepseek-v4-flash,MiniMax-M3(1 Mio. Kontext, native MiniMax-Anbieter),qwen3.7-plus(Nous + OpenRouter) undgemini-3.5-flash(Gemini OAuth + API-Schlüssel) erweitert. Ein vollwertiger xAI-Grok-OAuth-Anbieter kommt zum Desktop-Launcher hinzu, der Modellselektor unterstützt nun auf allen Oberflächen die unscharfe Suche, Anbieter mit mehreren Endpunkten werden in einer Zeile gruppiert, und der Katalog wird nicht mehr täglich, sondern stündlich aktualisiert.20 (Seit v0.21.1 gilt erneut ein anderer Rhythmus: Die Remote-Kataloge des Selektors werden alle 20 Minuten aktualisiert,model_catalog.ttl_minutes.46) - Schlankere skills und schrittweise Offenlegung. Redundante und nicht mehr funktionsfähige skills wurden aus dem Standardsatz entfernt (Spotify wurde in ein natives Plugin verschoben, Linear in
hermes mcp install linear, und mehrere veraltete Einträge wurden gelöscht), weitere skills sind nun optional, und einenvironments:-Relevanzfilter im Frontmatter (kanban/docker/s6) hält kontextspezifische skills aus dem Index heraus, bis sie angefordert werden.NVIDIA/skillsist jetzt neben OpenAI, Anthropic und HuggingFace standardmäßig eine vertrauenswürdige Skills-Hub-Quelle. MCP- und Plugin-Tools unterstützen nun die schrittweise, bereichsbezogene Offenlegung von Tools; außerdem wurde ein MCP-Fehler behoben, der fälschlicherweise eine erfolgreiche OAuth-Authentifizierung meldete, obwohl kein Token abgerufen worden war.20 - Sicherheit. v0.16.0 schreibt eine gepatchte Starlette-Version (≥1.0.1) für CVE-2026-48710 (BadHost) fest, verlagert SSRF-URL-Prüfungen in asynchronen Pfaden aus der Ereignisschleife, entfernt das Bedrock-Inference-Bearer-Token aus der Umgebung von Unterprozessen, fügt
bws_cache.jsonzur Dateisicherheits-Lesesperre unddocker restart/stop/killzur Liste gefährlicher Muster hinzu und bereinigt unsichtbare Unicode-Zeichen in geprüften skill-Inhalten. Mit diesem Release wurden 2 P0- und 62 P1-Probleme geschlossen, davon 16 mit Sicherheitskennzeichnung.20
Wenn Sie von v0.15.x aktualisieren, handelt es sich bei keiner dieser Neuerungen um eine inkompatible Änderung an der CLI selbst; vielmehr kommen zusätzliche Oberflächen und Anbieter rund um denselben Agenten hinzu. Wenn Sie Hermes für Benutzer ohne Terminalzugang bereitstellen oder ein entferntes gateway über einen Browser verwalten möchten, sind die Desktop-App und das Administrationspanel die entscheidenden Gründe für ein Upgrade.
Was ist neu in v0.14.0 (The Foundation Release)
Bei v0.14.0 steht weniger eine einzelne herausragende Funktion im Vordergrund als vielmehr die Vereinfachung der Einrichtung und die Erweiterung der Einsatzmöglichkeiten von Hermes.19 Die wichtigsten betrieblichen Änderungen:
- Installation und Start sind schlanker.
pip install hermes-agentfunktioniert über PyPI, umfangreiche Adapter werden bei der ersten Verwendung nachinstalliert, und im Startpfad werden genügend Aufgaben verzögert, um den Kaltstart um etwa 19 Sekunden zu verkürzen. (Seit v0.19.0 gelten pip-Installationen als veraltet – siehe Installation.) - Abonnements können zu lokalen API-Endpunkten werden.
hermes proxyverwandelt durch OAuth gestützte Anbieter wie Claude Pro, ChatGPT Pro und SuperGrok in einen OpenAI-kompatiblen lokalen Endpunkt für Tools wie Codex, Aider, Cline und Continue. - Die Reichweite des gateways wächst. LINE und SimpleX Chat kommen zum gateway hinzu (die Plattformvergleichstabelle der Dokumentation führt beim Tag
v2026.8.3128 Plattformen auf; der Abschnitt Messaging Gateway erläutert, was in dieser Zahl enthalten ist), Microsoft Teams ist durchgängig angebunden, das Nachladen des Discord-Verlaufs ist standardmäßig aktiviert, undclarify-Abfragen in Telegram und Discord verwenden nun native Schaltflächen. - Die Überprüfung nach Schreibvorgängen wird verbessert. Nach Änderungen kann Hermes pro Turn Zusammenfassungen der Dateimutationen und semantische Diagnosen des Language Servers vor dem nächsten Turn anzeigen. Dadurch nähert es sich stärker einer evidenzbasierten Agentenarbeit an.
- Desktop- und Medien-Tools werden erweitert.
computer_usefunktioniert über cua-driver auch für Anbieter außerhalb von Anthropic,video_generatewird hinter austauschbaren Backends vereinheitlicht, undvision_analyzesendet rohe Pixeldaten an Modelle, die tatsächlich Bilder verarbeiten können.
Installation
Der Einzeilen-Installer ist der unterstützte Installationsweg. Er übernimmt Python, uv, Node.js, ripgrep, ffmpeg, das Klonen des Repositorys, die virtuelle Umgebung und den globalen Befehl hermes.7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Installationen über pip und Homebrew sind seit v0.19.0 veraltet. Das mit v0.14.0 eingeführte PyPI-Paket (
pip install hermes-agent) und die Homebrew-Formel gelten inzwischen als „nicht unterstützte Legacy-Installationen“. Hermes warnt auf allen Oberflächen davor, sobald eine solche Installation erkannt wird, blockiert sie jedoch nicht. Die Veröffentlichung über PyPI und Homebrew soll eingestellt werden. Wenn Sie Hermes über pip oder brew installiert haben, wechseln Sie zum oben genannten Installer.60
Funktioniert unter Linux, macOS, WSL2 und Android/Termux (der Installer erkennt Termux automatisch und verwendet ein getestetes Android-Paket).7 Native Windows-Unterstützung ist inzwischen eine Tier-1-Plattform und nicht mehr die frühe Betaversion, die mit v0.14.0 ausgeliefert wurde. Installieren Sie Hermes dort mit iex (irm https://hermes-agent.nousresearch.com/install.ps1). Auf eine Einschränkung weist die Dokumentation ausdrücklich hin: Unter macOS wird nur Apple Silicon unterstützt; Intel-Macs werden nicht unterstützt.59 Historisch betrachtet führte v0.14.0 die native Windows-Unterstützung als frühe Betaversion über einen PowerShell-Installer ein. Für den Produktiveinsatz bleibt WSL2 jedoch die sicherere Empfehlung, bis der Windows-Installationsweg ausgereifter ist.19
Nach Abschluss der Installation:
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
Die einzige Voraussetzung ist git. Der Installer richtet automatisch Python 3.11 über uv ein (kein sudo erforderlich), außerdem Node.js 26 (für die Browserautomatisierung und die WhatsApp-Bridge), ripgrep und ffmpeg. Seit v0.20.0 ist mindestens Node 26 erforderlich: Der Installer lehnt ältere Versionen ab und installiert stattdessen eine von Hermes verwaltete Node-Version.597
Installation überprüfen
hermes --version # Check version (global flag; there is no `version` subcommand)
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor zeigt Ihnen genau, was fehlt und wie Sie das Problem beheben können.7 Wenn Sie Hilfe benötigen, können Sie die Ausgabe von hermes dump in ein GitHub-Issue oder einen Discord-Thread einfügen. Der Diagnosebefehl erstellt eine Klartextübersicht Ihrer gesamten Einrichtung, in der geheime Daten unkenntlich gemacht sind.8
Manuelle Installation
Wenn Sie vollständige Kontrolle benötigen – etwa über eine benutzerdefinierte Python-Version, bestimmte Extras oder die Integration mit Nix/NixOS –, finden Sie den manuellen Ablauf Schritt für Schritt in der Installationsanleitung des Upstream-Projekts.7 Die wichtigsten optionalen Extras, die Sie mit uv pip install -e ".[<extras>]" kombinieren können:
| Extra | Zusätzlicher Funktionsumfang |
|---|---|
all |
Alles unten Aufgeführte |
messaging |
Telegram- und Discord-gateway |
cron |
Auswertung von Cron-Ausdrücken |
cli |
Terminalmenü-UI für den Einrichtungsassistenten |
modal |
Modal-Backend für die Cloud-Ausführung |
voice |
CLI-Mikrofoneingabe und Audiowiedergabe |
tts-premium |
Premium-Stimmen von ElevenLabs |
honcho |
KI-nativer Speicher (Honcho-Integration) |
mcp |
Unterstützung für Model Context Protocol |
homeassistant |
Home-Assistant-Integration |
acp |
Unterstützung für die ACP-Editor-Integration |
slack |
Nachrichten über Slack |
pty |
PTY-Terminalunterstützung (interaktive CLI-Tools) |
dev |
pytest und Testwerkzeuge |
termux |
Getestetes Android-Paket (enthält cron, cli, pty, mcp, honcho, acp) |
Der Installationsbefehl für Termux ist anders – er verwendet pip mit einer Constraints-Datei statt uv pip:
python -m pip install -e ".[termux]" -c constraints-termux.txt
Der Grund dafür ist, dass .[all] unter Android über das Extra voice das Paket faster-whisper einbindet. Dieses hängt von ctranslate2-Wheels ab, die nicht für Android veröffentlicht werden.7
Authentifizierung und Provider
Beim Tag v2026.9.7 enthält hermes_cli/models_catalog_static.py in Zeile 311 insgesamt 39 statische CANONICAL_PROVIDERS-Einträge (durch die Aufteilung im September 2026 wurde die Liste aus hermes_cli/models.py ausgelagert; die Einträge selbst blieben unverändert, einschließlich tencent-tokenplan aus v0.21.0) und erweitert diese Liste automatisch aus plugins/model-providers/ (39 mitgelieferte Verzeichnisse; neun davon – actual, alibaba-coding-plan, commandcode, deepinfra, meta-ai, nebius-token-factory, opencode-free, router, upstage – haben keinen statischen Eintrag und werden von der automatischen Erweiterung aufgenommen, da sie den standardmäßigen Authentifizierungstyp api_key verwenden). Auf der Provider-Seite der Dokumentation sind 45 Cloud- und Abonnement-Provider sowie eine Zeile für benutzerdefinierte Endpunkte aufgeführt; lokale und selbst gehostete Server werden separat behandelt (Ollama, vLLM, SGLang, llama.cpp, LM Studio, LiteLLM, ClawRouter und alle OpenAI-kompatiblen Endpunkte).26 Beim Tag v2026.9.24 umfasst die statische Liste weiterhin 39 Einträge, plugins/model-providers/ jedoch nur noch 38 Verzeichnisse: Der schlüssellose Provider opencode-free wurde am 18. September entfernt, da der kostenlose Tarif von OpenCode anonymen Datenverkehr außerhalb des eigenen Clients inzwischen ablehnt.53 Beim Tag v0.21.6 umfasst die statische Liste noch immer 39 Zeilen, während die Anzahl der Verzeichnisse auf 41 gestiegen ist: lmstudio und tencent-tokenhub, die bereits statische Zeilen hatten, erhalten Provider-Verzeichnisse, und solstice, für das keine solche Zeile existiert, wird über die automatische Erweiterung hinzugefügt.55 Darüber liegen benutzerdefinierte Endpunkte und drei unterschiedliche Authentifizierungswege. Nachfolgend finden Sie die gesamte Authentifizierungsoberfläche, nach Wegen geordnet, damit Sie den für Ihre Voraussetzungen passenden schnell finden.
Die drei Authentifizierungswege
Jeder Provider in Hermes folgt einem von drei Authentifizierungsmustern:
Weg 1 – API-Schlüssel in .env. Hinterlegen Sie Ihren Schlüssel in ~/.hermes/.env; Hermes liest ihn beim Start ein. Dieser Weg wird von OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (sowie MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini und den meisten Drittanbieter-Providern verwendet.2 Seit v0.19.0 muss der Schlüssel nicht mehr in einer Klartextdatei liegen: Eine erweiterbare SecretSource-Schnittstelle kann Geheimnisse beim Laden aus Bitwarden oder 1Password (op://-Referenzen) abrufen. Dabei lassen sich mehrere Tresore gleichzeitig nutzen; außerdem gibt es eine deterministische Prioritätsreihenfolge, Konfliktwarnungen und Herkunftsinformationen für jede Variable – .env bleibt die Rückfalloption. (Dies unterscheidet sich vom Bootstrap-Token des Bitwarden Secrets Manager aus v0.15.0, mit dem Provider-Schlüssel hinter einem einzigen Token gebündelt wurden; SecretSource ersetzt die Klartextdatei selbst, und künftige Tresor-Provider lassen sich als Plugins ergänzen.)60
Weg 2 – OAuth über hermes model oder hermes auth. Startet einen Gerätecode-Ablauf, öffnet einen Browser und speichert die Zugangsdaten in ~/.hermes/auth.json (vorhandene Zugangsdaten aus Tools wie Claude Code oder Codex CLI lassen sich ebenfalls importieren). Dieser Weg wird von Nous Portal, OpenAI Codex (ChatGPT-Konto), GitHub Copilot und Anthropic (Claude Pro/Max) verwendet.2
Weg 3 – Benutzerdefinierter Endpunkt in config.yaml. Für jede OpenAI-kompatible API – Ollama, vLLM, SGLang, llama.cpp, LM Studio, LiteLLM-Proxy, Together AI, Groq, Azure OpenAI oder Ihren eigenen selbst gehosteten Server. Die Konfiguration erfolgt einmalig über hermes model → Custom endpoint und wird anschließend dauerhaft in config.yaml gespeichert.2
Die vollständige Provider-Matrix
Diese Matrix umfasst die auf der Dokumentationsseite aufgeführten Provider einschließlich des genauen Einrichtungsablaufs für jeden einzelnen. Die Auswahl beim genannten Tag enthält mehr Provider als die Dokumentation (siehe Anzahl oben), und alles, was OpenAI-kompatibel ist, kann über die Zeile für benutzerdefinierte Endpunkte angebunden werden.226
| Provider | Authentifizierungsweg | Einrichtung |
|---|---|---|
| Nous Portal | OAuth | hermes model (OAuth-Anmeldung, abonnementbasiert) |
| OpenAI Codex | OAuth | hermes model (ChatGPT-Gerätecode, verwendet Codex-Modelle) |
| GitHub Copilot | OAuth oder Token | hermes model (OAuth-Gerätecode) oder COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Lokaler Unterprozess | hermes model (erfordert copilot CLI im PATH sowie copilot login) |
| Anthropic | OAuth oder API-Schlüssel | hermes model (bevorzugt Claude Code-Zugangsdaten), ANTHROPIC_API_KEY oder ANTHROPIC_TOKEN-Einrichtungstoken |
| OpenRouter | API-Schlüssel | OPENROUTER_API_KEY in ~/.hermes/.env |
| AI Gateway (Vercel) | API-Schlüssel | AI_GATEWAY_API_KEY in ~/.hermes/.env (Provider: ai-gateway) |
| z.ai / GLM (ZhipuAI) | API-Schlüssel | GLM_API_KEY in ~/.hermes/.env (Provider: zai) |
| Kimi / Moonshot | API-Schlüssel | KIMI_API_KEY in ~/.hermes/.env (Provider: kimi-coding). Mit v0.19.0 wird kimi-k3 in die Kataloge aufgenommen (kimi-k2.x wurde eingestellt).60 |
| MiniMax (global) | API-Schlüssel | MINIMAX_API_KEY in ~/.hermes/.env (Provider: minimax) |
| MiniMax China | API-Schlüssel | MINIMAX_CN_API_KEY in ~/.hermes/.env (Provider: minimax-cn) |
| Alibaba Cloud (Qwen) | API-Schlüssel | DASHSCOPE_API_KEY in ~/.hermes/.env (Provider: alibaba, Aliasse: dashscope, qwen) |
| Kilo Code | API-Schlüssel | KILOCODE_API_KEY in ~/.hermes/.env (Provider: kilocode) |
| OpenCode Zen | API-Schlüssel | OPENCODE_ZEN_API_KEY in ~/.hermes/.env (Provider: opencode-zen) |
| OpenCode Go | API-Schlüssel | OPENCODE_GO_API_KEY in ~/.hermes/.env (Provider: opencode-go) |
| DeepSeek | API-Schlüssel | DEEPSEEK_API_KEY in ~/.hermes/.env (Provider: deepseek) |
| Hugging Face | API-Schlüssel | HF_TOKEN in ~/.hermes/.env (Provider: huggingface, Alias: hf) |
| Google / Gemini | API-Schlüssel | GOOGLE_API_KEY oder GEMINI_API_KEY in ~/.hermes/.env (Provider: gemini) |
| Fireworks AI | API-Schlüssel | Vollwertiger Provider mit Kostenschätzung und zwischengespeicherten Preisspalten in der Modellauswahl; in den Provider-Auswahlmenüs auf Position 2 vorgerückt. Neu in v0.19.0.60 |
| DeepInfra | API-Schlüssel | Vollwertiger Provider mit einer gehärteten Integration. Neu in v0.19.0.60 |
| Upstage Solar | API-Schlüssel | Vollwertiger Provider. Neu in v0.19.0.60 |
| xAI (Grok) | Nativer Provider / SuperGrok OAuth | Vollwertiger Provider mit direktem API-Zugriff und Modellkatalog (ab v0.9.0). v0.14.0 ergänzt SuperGrok OAuth und erhöht das Kontextfenster von grok-4.3 für berechtigte Konten auf 1 Million.21619 v0.17.0 ergänzt grok-composer-2.5-fast (das Modell von Cursor über xAI OAuth, Kontext von 200.000) und ändert den xAI-Standard auf grok-build-0.1.21 Mit v0.19.0 erreicht grok-4.5 im Katalog die allgemeine Verfügbarkeit.60 |
| xAI Custom Voices | API-Schlüssel | TTS-Provider mit Stimmklonung. Neu in v0.13.0; konfigurieren Sie ihn unter tts: in config.yaml und hinterlegen Sie den xAI-Schlüssel in .env.18 |
| Xiaomi MiMo | Nativer Provider | Vollwertiger Provider mit Einrichtungsassistent und Modellkatalog. Kostenloses MiMo v2 Pro auf Nous Portal für Hilfsaufgaben (ab v0.9.0).1615 |
| Google AI Studio | API-Schlüssel | GOOGLE_API_KEY oder GEMINI_API_KEY in ~/.hermes/.env. Direkter Gemini-Zugriff mit automatisch erkannten Kontextlängen über die models.dev-Registry (ab v0.8.0).15 |
| Qwen OAuth (Portal) | OAuth | hermes model → “Qwen OAuth (Portal)” (Provider: qwen-oauth; Browser-PKCE-Anmeldung, die eine lokale Qwen CLI-Anmeldung wiederverwendet). OAuth-Provider mit Unterstützung für Portal-Anfragen (ab v0.8.0). Der oben beschriebene DashScope-Weg mit API-Schlüssel wurde in v0.14.0 von Alibaba Cloud in Qwen Cloud umbenannt; bestehende Konfigurationsschlüssel funktionieren weiterhin.151926 |
| OpenCode Free (entfernt) | Schlüssellos | Am 18. September 2026 entfernt und in den Tags v2026.9.21 und v2026.9.24 nicht mehr enthalten. Eine Konfiguration, die weiterhin opencode-free, free oder opencode_free angibt, führt zu einer Fehlermeldung, die auf die Entfernung hinweist; wechseln Sie über hermes model zu opencode-zen (nutzungsabhängige Abrechnung, OPENCODE_ZEN_API_KEY) oder opencode-go (Abonnement, OPENCODE_GO_API_KEY). Der Provider wurde im Zeitfenster von v0.20.5 als „opencode-free-Provider ohne Authentifizierung“ eingeführt.2353 |
| OpenAI API (direkt) | API-Schlüssel | OPENAI_API_KEY in ~/.hermes/.env (Provider: openai-api, optional OPENAI_BASE_URL)26 |
| Google Vertex AI | OAuth2 / ADC | hermes model → “Google Vertex AI” (Provider: vertex; OAuth2 über Dienstkonto-JSON oder Application Default Credentials, Abrechnung über Ihr GCP-Projekt)26 |
| Azure AI Foundry | Endpunkt + Schlüssel | hermes model → “Azure AI Foundry” (Provider: azure-foundry; verwendet Ihren Azure OpenAI-/Foundry-Endpunkt und -Schlüssel; in der Auswahl wird er als „OpenAI-artiger oder Anthropic-artiger Endpunkt“ beschrieben)26 |
| AWS Bedrock | AWS-Zugangsdaten | hermes model → “AWS Bedrock” (Provider: bedrock; standardmäßige AWS-Zugangsdatenkette über boto3, IAM oder API-Schlüssel; Claude, Nova, Llama, DeepSeek)26 |
| NVIDIA NIM / Build | API-Schlüssel | NVIDIA_API_KEY in ~/.hermes/.env (Provider: nvidia; von NIM gehostete Nemotron- und andere Modelle auf build.nvidia.com oder ein lokaler NIM-Endpunkt über eine Base-URL-Überschreibung)26 |
| Ollama Cloud | OAuth oder API-Schlüssel | hermes model → “Ollama Cloud” (Provider: ollama-cloud; fügen Sie OLLAMA_API_KEY ein und wählen Sie aus den erkannten, in der Cloud gehosteten Modellen)26 |
| StepFun Step Plan | API-Schlüssel | STEPFUN_API_KEY in ~/.hermes/.env (Provider: stepfun; Agenten- und Coding-Modelle über die Step Plan API)26 |
| MiniMax (OAuth) | OAuth | hermes model → „MiniMax (OAuth)“ (Provider: minimax-oauth; Browser-PKCE-Anmeldung für den Coding Plan, globale oder chinesische Region)26 |
| Meta AI | API-Schlüssel | MODEL_API_KEY in ~/.hermes/.env (Provider: meta-ai; Meta Model API, Muse-Spark-Familie)26 |
| NovitaAI | API-Schlüssel | NOVITA_API_KEY in ~/.hermes/.env (Provider: novita; über 200 Modelle, Model API, Agent Sandbox, GPU Cloud)26 |
| Arcee AI | API-Schlüssel | ARCEEAI_API_KEY in ~/.hermes/.env (Provider: arcee; Aliasse: arcee-ai, arceeai; Trinity-Modelle)26 |
| GMI Cloud | API-Schlüssel | GMI_API_KEY in ~/.hermes/.env (Provider: gmi; Aliasse: gmi-cloud, gmicloud). Verwenden Sie die exakte Modell-ID, die der /v1/models-Endpunkt von GMI zurückgibt26 |
| Actual Computer | API-Schlüssel oder lokaler Daemon | ACTUAL_API_KEY in ~/.hermes/.env für das gehostete Relay oder ACTUAL_BASE_URL=http://127.0.0.1:8080 für den lokalen Daemon ohne Schlüssel auf der Loopback-Schnittstelle (Provider: actual; Aliasse: actual-computer, actualcomputer, aci)26 |
| Tencent TokenHub | API-Schlüssel | TOKENHUB_API_KEY in ~/.hermes/.env (Provider: tencent-tokenhub; Aliasse: tencent, tokenhub, tencentmaas; Hy3 Preview)26 |
| CommandCode | API-Schlüssel | COMMANDCODE_API_KEY in ~/.hermes/.env (Provider: commandcode, Alias commandcode-chat; Claude-Modelle über commandcode-anthropic, Alias commandcode-claude). Funktioniert mit den Tarifen GOAT, Pro, Max und Provider, nicht jedoch mit dem Go-Tarif für 1 $, der keinen API-Zugriff bietet. Das Plugin wurde im Veröffentlichungszeitraum von v0.20.3 eingeführt.5826 |
| Alibaba Cloud (Coding Plan) | API-Schlüssel | DASHSCOPE_API_KEY (Provider: alibaba-coding-plan, Alias alibaba_coding); eine separate Abrechnungseinheit an einem anderen Endpunkt als beim DashScope-Provider alibaba26 |
| Tencent TokenPlan | API-Schlüssel | TOKENPLAN_API_KEY in ~/.hermes/.env (Provider: tencent-tokenplan, Aliasse: tokenplan, tencent-lkeap; Hy4 Preview über den Anthropic-Messages-Endpunkt unter api.lkeap.cloud.tencent.com). Neu in v0.21.0; die Auswahl fasst TokenHub und TokenPlan unter einer gemeinsamen, nur zur Anzeige dienenden Zeile „Tencent Hy“ zusammen3536 |
| Nebius Token Factory | API-Schlüssel | NEBIUS_API_KEY in ~/.hermes/.env (Provider: nebius-token-factory; Aliasse: nebius, nebius-tf, tokenfactory). Neu in v0.21.03536 |
| Ramp Router | API-Schlüssel | RAMP_ROUTER_API_KEY in ~/.hermes/.env (Provider: router; Aliasse: ramp-router, ramp, router.com). Ramps nativer OpenAI-Responses-LLM-gateway unter api.router.com mit einem kontoabhängigen Live-Katalog – gültig sind jeweils die Modell-IDs, die /v1/models für Ihren Schlüssel zurückgibt; deshalb ruft die Auswahl sie ab, statt sie fest zu codieren. Neu in v0.21.03536 |
| Alibaba Cloud (Token Plan) | API-Schlüssel | ALIBABA_TOKEN_PLAN_API_KEY in ~/.hermes/.env (Provider: alibaba-token-plan; Endpunkt für das chinesische Festland: alibaba-token-plan-cn) – die Model-Studio-Stufe mit pauschalem Token-Kontingent, eine dritte Alibaba-Abrechnungseinheit neben alibaba und alibaba-coding-plan36 |
| Benutzerdefinierter Endpunkt | config.yaml | hermes model → „Benutzerdefinierter Endpunkt“ (gespeichert in config.yaml). Die OpenAI-kompatible Liste der Dokumentation umfasst Together AI, Groq, Cerebras (https://api.cerebras.ai/v1), Mistral, Azure OpenAI, LocalAI und Jan26 |
Seit v0.19.0 können Sie außerdem nicht verwendete Provider ausblenden: Ein providerspezifisches Flag enabled: false und der Konfigurationsschlüssel excluded_providers entfernen sie aus den /model-Auswahllisten und der integrierten Provider-Auflösung.60 |
Anthropic: Drei Authentifizierungsmethoden
Anthropic erhält einen eigenen Abschnitt, da Hermes drei verschiedene Zugangswege zu Claude unterstützt und die Wahl des richtigen entscheidend ist. Aus der Upstream-Dokumentation:2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
Wenn Sie über hermes model Anthropic OAuth auswählen, bevorzugt Hermes den eigenen Anmeldedatenspeicher von Claude Code, statt das Token nach ~/.hermes/.env zu kopieren. Dadurch bleiben aktualisierbare Claude-Anmeldedaten weiterhin aktualisierbar.2 Falls Sie Claude Code bereits auf demselben Computer verwenden, ist dies der sauberste Weg.
So legen Sie Anthropic dauerhaft in config.yaml fest:
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude und --provider claude-code funktionieren ebenfalls als Kurzformen für --provider anthropic.2
GitHub Copilot: Zwei Modi
Copilot wird in zwei Modi unterstützt: direkte Copilot-API (empfohlen) und Copilot ACP (startet den lokalen Copilot-CLI als Unterprozess).2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
Die Authentifizierung wird laut Upstream-Dokumentation in dieser Reihenfolge geprüft:2
1. Umgebungsvariable COPILOT_GITHUB_TOKEN
2. Umgebungsvariable GH_TOKEN
3. Umgebungsvariable GITHUB_TOKEN
4. CLI-Fallback gh auth token
5. Anmeldung per OAuth-Gerätecode über hermes model
Der Token-Typ ist entscheidend. Die Copilot-API unterstützt keine klassischen Personal Access Tokens (ghp_*). Unterstützt werden OAuth-Token (gho_*), fein abgestufte PATs (github_pat_* mit der Berechtigung Copilot Requests) und GitHub-App-Token (ghu_*). Wenn gh auth token ein ghp_*-Token zurückgibt, verwenden Sie stattdessen hermes model, um sich über OAuth zu authentifizieren.2
Chinesische AI-Provider (erstklassige Unterstützung)
Hermes bietet integrierte Unterstützung für z.ai/GLM, Kimi/Moonshot, MiniMax (globale und chinesische Endpunkte) sowie Alibaba Cloud mit dedizierten Provider-IDs.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
Basis-URLs lassen sich mit den Umgebungsvariablen GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL oder DASHSCOPE_BASE_URL überschreiben.2
Z.AI erkennt den Endpunkt automatisch. Bei Verwendung des Providers z.ai/GLM prüft Hermes mehrere Endpunkte (globale, chinesische und Coding-Varianten), um einen zu finden, der Ihren API-Schlüssel akzeptiert. Der funktionierende Endpunkt wird automatisch zwischengespeichert – für die meisten Benutzer ist kein GLM_BASE_URL erforderlich.2
xAI (Grok) aktiviert Prompt-Caching automatisch. Wenn die Basis-URL x.ai enthält, sendet Hermes bei jeder Anfrage den Header x-grok-conv-id, damit sie innerhalb einer Konversationssitzung an denselben Server geleitet wird und zwischengespeicherte System-Prompts sowie der bisherige Verlauf wiederverwendet werden.2 Dies geschieht automatisch; eine Konfiguration ist nicht erforderlich.
Der Befehl hermes auth
hermes auth ist der Befehl zur Verwaltung von Anmeldedaten für Pools und OAuth-Anmeldedaten.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Mit Anmeldedatenpools können Sie mehrere API-Schlüssel oder OAuth-Token für denselben Provider rotieren – praktisch, um Ratenbegrenzungen auf mehrere Schlüssel zu verteilen, ohne den Code zu ändern.6 Die veralteten Befehle hermes login / hermes logout wurden entfernt; verwenden Sie stattdessen hermes auth.6
Benutzerdefinierte und selbst gehostete Endpunkte
Hermes funktioniert mit jedem OpenAI-kompatiblen API-Endpunkt. Wenn ein Server /v1/chat/completions implementiert, können Sie Hermes darauf verweisen.2
Interaktive Einrichtung (empfohlen):
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
Manuelle config.yaml:
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
Beide Ansätze werden dauerhaft in config.yaml gespeichert, der zentralen Informationsquelle für Hauptmodell, Provider und Basis-URL.2 Die veralteten Umgebungsvariablen OPENAI_BASE_URL und LLM_MODEL werden für die Konfiguration des Hauptmodells nicht mehr gelesen – verwenden Sie hermes model oder bearbeiten Sie config.yaml direkt.2 (OPENAI_BASE_URL und OPENAI_API_KEY werden weiterhin als Fallback für den zusätzlichen Routing-Pfad provider: "main" berücksichtigt; löschen Sie sie daher nicht unbedacht, falls Sie sie dort verwenden.)4
Benutzerdefinierte Endpunkte während einer Sitzung wechseln:
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom (ohne Modellnamen) fragt den /v1/models-API Ihres Endpunkts ab und wählt das Modell automatisch aus, wenn genau eines geladen ist – praktisch für lokale Server, auf denen ein einzelnes Modell ausgeführt wird.2
Lokale LLM-Server (Einrichtungsvorlagen)
Die Upstream-Dokumentation enthält vollständige Einrichtungsanleitungen für Ollama, vLLM, SGLang, llama.cpp und LM Studio. Hier finden Sie die wichtigsten Befehle, die Sie tatsächlich ausführen werden. Jeder davon ist darauf ausgelegt, einen funktionsfähigen Endpunkt bereitzustellen, den Hermes verwenden kann.2
Ollama – einfachster lokaler Weg, ohne Konfiguration:
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Kritischer Stolperstein bei Ollama: Ollama verwendet standardmäßig sehr kurze Kontextlängen (4.096 Token bei weniger als 24 GB VRAM). Sie müssen sie über OLLAMA_CONTEXT_LENGTH oder ein Modelfile erhöhen – der OpenAI-kompatible API akzeptiert keine Kontextlänge vom Client, sodass Hermes sie nicht für Sie festlegen kann.2 Legen Sie für die Agent-Nutzung mindestens 16k–32k fest.
vLLM – leistungsstarke Bereitstellung von GPU:
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
Für Tool-Aufrufe sind --enable-auto-tool-choice und --tool-call-parser <name> erforderlich. Unterstützte Parser: hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Ohne diese Flags werden Tool-Aufrufe als einfacher Text zurückgegeben.2
SGLang – schnelle Bereitstellung mit RadixAttention zur Wiederverwendung des KV-Caches:
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
Stolperstein bei SGLang: Der Standardwert für max_tokens beträgt 128. Legen Sie auf dem Server --default-max-tokens fest oder konfigurieren Sie model.max_tokens in config.yaml, falls Antworten abgeschnitten werden.2
llama.cpp / llama-server – CPU und Apple Silicon Metal:
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
--jinja ist für Tool-Aufrufe erforderlich. Ohne diese Option ignoriert llama-server den Parameter tools vollständig, und das Modell versucht, Tools aufzurufen, indem es JSON in seinen Antworttext schreibt – Hermes kann dies jedoch nicht als tatsächliche Tool-Aufrufe parsen.2
LM Studio – Desktop-Anwendung mit GUI:
Starten Sie den Server in der LM-Studio-Anwendung (Registerkarte „Developer“ → „Start Server“) oder über CLI: lms server start (startet auf Port 1234) und lms load qwen2.5-coder --context-length 32768.2 Richten Sie anschließend hermes model auf http://localhost:1234/v1.
Kritischer Stolperstein bei LM Studio: LM Studio liest die Kontextlänge aus den Modellmetadaten, doch viele GGUF-Modelle geben als Standardwert 2048 oder 4096 an. Legen Sie die Kontextlänge in den LM-Studio-Modelleinstellungen stets ausdrücklich fest – klicken Sie neben der Modellauswahl auf das Zahnradsymbol, setzen Sie „Context Length“ auf mindestens 16384 (vorzugsweise 32768) und laden Sie das Modell neu.2
Benannte benutzerdefinierte Provider
Wenn Sie mit mehreren benutzerdefinierten Endpunkten arbeiten (beispielsweise einem lokalen Entwicklungsserver und einem entfernten GPU-Server), definieren Sie diese in config.yaml als benannte benutzerdefinierte Provider:2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
Anschließend können Sie während einer Sitzung mit der dreiteiligen Syntax zwischen ihnen wechseln:
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
Sie können benannte benutzerdefinierte Provider auch über das interaktive Menü von hermes model auswählen.2
Erweiterbare Provider-Architektur (v0.13.0+)
v0.13.0 enthält eine ProviderProfile ABC sowie ein Verzeichnis plugins/model-providers/, sodass sich Inferenz-Provider von Drittanbietern ohne Änderungen am Kern integrieren lassen.18 Wenn ein Provider einen mit OpenAI, Anthropic oder Codex kompatiblen API-Modus unterstützt, können Sie eine Unterklasse von ProviderProfile implementieren, die Authentifizierungspfad, Basis-URL, Modellkatalog und Caching-Header deklariert; Hermes löst sie über denselben runtime_provider.py-Pfad auf, den auch die integrierten Provider verwenden. Diese architektonische Änderung bildet die Grundlage der Provider-Erweiterung in v0.13.0: Statt den Kerncode zu bearbeiten, um einen Provider hinzuzufügen, liefern Sie ein Plugin aus.
OpenAI-kompatibler lokaler Proxy (v0.14.0+)
hermes proxy stellt einen OpenAI-kompatiblen lokalen Endpunkt bereit, dessen Grundlage der OAuth-Provider ist, bei dem Hermes bereits angemeldet ist – Claude Pro, ChatGPT Pro, SuperGrok oder ein anderer kompatibler konfigurierter Provider.19 Dadurch können Tools, die einen OpenAI-artigen API erwarten, darunter Codex CLI, Aider, Cline, Continue oder benutzerdefinierte Skripte, Ihre abonnementbasierte Hermes-Authentifizierung ohne separaten API-Schlüssel wiederverwenden. Behandeln Sie den Proxy als lokale Entwicklungsinfrastruktur: Binden Sie ihn gezielt ein, machen Sie ihn nicht allgemein zugänglich und berücksichtigen Sie die providerspezifischen Bedingungen.
Erkennung der Kontextlänge
Laut Upstream-Dokumentation werden zwei Einstellungen immer wieder verwechselt:2
context_length– das gesamte Kontextfenster (kombiniertes Token-Budget für Ein- und Ausgabe, z. B. 1.000.000 für Claude Opus 4.7 oder 200.000 für Sonnet 4.6). Anhand dieses Werts entscheidet Hermes, wann der Verlauf komprimiert wird.model.max_tokens– die Ausgabeobergrenze (maximale Anzahl an Token, die das Modell in einer einzelnen Antwort generieren darf). Sie steht nicht mit der Verlaufslänge in Zusammenhang.
Legen Sie context_length fest, wenn die automatische Erkennung die Fenstergröße falsch bestimmt:
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes verwendet zur Erkennung von Kontextfenstern eine mehrstufige Auflösungskette: Konfigurationsüberschreibung → benutzerdefinierter Provider pro Modell → persistenter Cache → Endpunkt /models → Anthropic /v1/models → OpenRouter API → Nous Portal → models.dev (von der Community gepflegtes Verzeichnis für mehr als 3.800 Modelle) → Standardrückfallwerte (128K).2 Das System berücksichtigt den Provider, sodass dasselbe Modell je nach bereitstellendem Anbieter unterschiedliche Kontextgrenzen haben kann (z. B. bietet claude-opus-4.6 bei direkter Nutzung von Anthropic 1M, bei GitHub Copilot jedoch 128K).2
Intelligentes Modell-Routing: Provider-Rotation und Fallback
Hermes bindet Sie nicht an ein Modell bei einem einzigen Provider. Intelligentes Modell-Routing bezeichnet die Mechanismen, die entscheiden, welcher Provider und welches Modell eine bestimmte Anfrage tatsächlich verarbeitet: Pools mit Zugangsdaten verteilen die Last auf mehrere Schlüssel, ein konfigurierter Fallback übernimmt, wenn das primäre Modell ausfällt, und die nachfolgenden Zusatz-Slots leiten Nebenaufgaben unabhängig von Ihrem Hauptmodell an günstigere Modelle weiter.26 Konfigurieren Sie diese drei gemeinsam – sie machen den Unterschied zwischen einem Agent, der aufgrund einer Ratenbegrenzung zum Stillstand kommt, und einem, der weiterarbeitet.
Pools mit Zugangsdaten. Wenn Sie mehrere API-Schlüssel für denselben Provider besitzen, konfigurieren Sie über hermes auth eine Rotationsstrategie. So verteilen Sie Ratenbegrenzungen auf mehrere Schlüssel.6
Fallback-Modell. Konfigurieren Sie ein provider:model-Ersatzmodell, zu dem Hermes automatisch wechselt, wenn Ihr primäres Modell ausfällt (Ratenbegrenzungen, Serverfehler, Authentifizierungsfehler):2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
Der Fallback wechselt während der Sitzung Modell und Provider, ohne dass Ihre Unterhaltung verloren geht. Er wird höchstens einmal pro Sitzung ausgelöst.2 Unterstützte Provider für den Fallback: openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
Zusatzmodelle
Hermes verwendet „Hilfsmodelle“ für Nebenaufgaben: Bildanalyse (Vision), Klassifizierung zur Genehmigung gefährlicher Befehle, Kontextkomprimierung, Generierung von Sitzungstiteln, Einfügen von TTS-Audio-Tags, Zuordnung von skills, MCP-Tool-Dispatch, die Kanban-Spezifizierer-/Dekomponierer-Familie und seit v0.21.6 Sprachdialoge (auxiliary.voice_chat, wobei eine gesprochene Interaktion auf einem schnelleren Modell ausgeführt wird, standardmäßig mit reasoning_effort: none; das Hauptmodell bleibt jedoch erhalten, wenn die Anfrage den Komprimierungsschwellenwert des Sprachmodells überschreiten würde).43455 Standardmäßig (auxiliary.*.provider: "auto") wird jede Hilfsaufgabe auf Ihrem Haupt-Chatmodell ausgeführt – also auf demselben Anbieter und Modell, das Sie in hermes model ausgewählt haben. Die Dokumentation weist ausdrücklich darauf hin, dass dies die frühere automatische Erkennung günstiger Anbieter ersetzt: „Frühere Builds wiesen Benutzern von Aggregatoren (OpenRouter, Nous Portal) anbieterseitig ein günstiges Standardmodell zu. Das führte zu unerwartetem Verhalten … auto verwendet nun für alle das Hauptmodell; aufgabenspezifische Überschreibungen in config.yaml haben weiterhin Vorrang.“34 Für den Einstieg müssen Sie nichts konfigurieren; der Nachteil sind die Kosten: Bei teuren Reasoning-Modellen können Hilfsaufgaben spürbare Zusatzkosten verursachen. Weisen Sie einzelne Aufgaben deshalb günstigen, schnellen Modellen zu, wenn dies relevant ist.
Zwei ehemalige Hilfsaufgaben verwenden überhaupt kein LLM mehr: die Webextraktion („web_extract und Browser-Snapshots kürzen lange Inhalte deterministisch und speichern den vollständigen Text für die seitenweise Ausgabe mit read_file – ohne Beteiligung eines LLM“) und die Sitzungssuche (das Tool mit einheitlichem Ausgabeformat gibt Datenbankinhalte direkt zurück). Ihre früheren Blöcke auxiliary.web_extract.* und auxiliary.session_search.* sind nicht mehr in den Standardeinstellungen enthalten. Verbliebene Werte in einer bestehenden config.yaml seien „harmlose Überbleibsel und würden ignoriert“; auch der Slot flush_memories fehlt in den Standardeinstellungen dieses Tags.34
Sie können festlegen, welches Modell und welcher Anbieter für die einzelnen Hilfsaufgaben verwendet werden. Für jeden Hilfs-Slot stehen dieselben Optionen zur Verfügung: provider, model, base_url (sowie api_key, timeout, extra_body und ein aufgabenspezifischer Wert für reasoning_effort).434
auxiliary:
vision: # vision_analyze + browser screenshots
provider: "auto" # "auto" (= main model), "openrouter", "nous", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 120
download_timeout: 30
approval: # dangerous-command approval classifier
provider: "auto"
model: ""
timeout: 30
compression: # summarizer -- legacy compression.summary_* keys migrate here (config v17)
provider: "auto"
model: ""
base_url: ""
timeout: 120
title_generation: # auto-generated session titles after the first exchange
enabled: true # set false to disable auto-titles
provider: "auto"
model: ""
language: "" # empty follows the conversation; e.g. "English" pins titles to one language
tts_audio_tags: { provider: "auto", model: "" } # Gemini 3.1 TTS hidden audio-tag insertion
skills_hub: { provider: "auto", model: "" } # skill matching and search
mcp: { provider: "auto", model: "" } # MCP tool dispatch
triage_specifier: { provider: "auto", model: "" } # hermes kanban specify: rough one-liner into a concrete spec, promoted to todo
kanban_decomposer: { provider: "auto", model: "" } # hermes kanban decompose: triage task into a graph of child tasks routed to specialist profiles
profile_describer: { provider: "auto", model: "" } # hermes profile describe --auto: 1-2 sentence profile descriptions
Weitere spezialisierte Slots folgen demselben Schema: goal_judge (bewertet, ob der /goal-Vertrag erfüllt wurde), curator (der Fork zur Überprüfung der skill-Nutzung), background_review (der Fork zur Selbstverbesserung nach einer Interaktion), review (der Reviewer-Subagent für /review), moa_reference und moa_aggregator (Mixture-of-Agents), memory_query_rewrite sowie monitor. Sie müssen YAML dafür nicht manuell bearbeiten: Führen Sie hermes model aus und wählen Sie „Hilfsmodelle konfigurieren“, um für jede Aufgabe interaktiv ein Modell auszuwählen.34
Die Anbieteroption "main" bedeutet „denselben Anbieter wie mein Haupt-Agent verwenden“ und ist nur innerhalb von auxiliary:, compression: und primären Fallback-Einträgen (fallback_providers: oder dem veralteten fallback_model:) gültig. Für die Einstellung model.provider auf oberster Ebene ist sie nicht zulässig. Wenn Sie einen benutzerdefinierten OpenAI-kompatiblen Endpunkt als Hauptmodell verwenden, legen Sie im Abschnitt model: den Wert provider: custom fest.4
Warum das wichtig ist: Da auto bereits Ihr Hauptmodell verwendet, gibt es die frühere Stolperfalle „OpenRouter konfigurieren oder eine unbemerkte Verschlechterung der Hilfsaufgaben riskieren“ nicht mehr – dafür rücken nun die Kosten in den Vordergrund. Wenn Ihr Hauptmodell ein teures Reasoning-Modell ist, leiten Sie die häufig ausgeführten Nebenaufgaben an ein günstiges, schnelles Modell weiter:
auxiliary:
vision:
provider: "openrouter"
model: "google/gemini-2.5-flash"
compression:
provider: "openrouter"
model: "google/gemini-2.5-flash"
Konfigurationssystem
Hermes verfügt über ein mehrstufiges Konfigurationssystem. Die Rangfolge zu verstehen, ist entscheidend, da höhere Ebenen niedrigere überschreiben und eine dieser Ebenen eine globale Provider-Registry ist, die in config.yaml nicht sichtbar ist.
Aufbau der Konfigurationsdateien
Laut der Upstream-Dokumentation besteht eine Hermes-Konfiguration aus den folgenden Dateien:4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml im Vergleich zu .env — sind Einstellungen in beiden Dateien festgelegt, hat config.yaml bei nicht geheimen Einstellungen Vorrang.4 Dabei gilt:
- Geheimnisse (API-Schlüssel, Bot-Tokens, Passwörter) → .env
- Alles andere (Modell, Terminal-Backend, Komprimierungseinstellungen, Speicherlimits, toolsets) → config.yaml
Geheimnisse lassen sich in config.yaml mithilfe einer Interpolation im Shell-Stil referenzieren:4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Konfiguration verwalten
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config get KEY # Print a single value (v0.19.0+)
hermes config unset KEY # Remove a key so the default applies again (v0.19.0+)
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
Beispiele:4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check und hermes config migrate sollten Sie nach jedem hermes update ausführen — damit werden neu hinzugefügte Konfigurationsoptionen erkannt, die in Ihrer Datei noch fehlen.6
Konfigurationsrangfolge
Hermes lädt die Konfiguration aus mehreren Quellen. Legen mehrere Quellen denselben Wert fest, setzt sich die Quelle mit der höheren Priorität durch:4
- CLI-Argumente —
hermes chat --model anthropic/claude-sonnet-4(Überschreibung für einen einzelnen Aufruf) - Umgebungsvariablen — werden beim Prozessstart angewendet
config.yaml— die primäre Einstellungsdatei.env— ausschließlich für Geheimnisse- Integrierte Standardwerte — werden verwendet, wenn der Wert nirgendwo anders festgelegt ist
CLI-Flags haben bei diesem einzelnen Aufruf immer Vorrang. Langfristig ist config.yaml die maßgebliche Konfigurationsquelle.
Lokalisierung (ab v0.13.0)
Mit v0.13.0 wurden 7 Gebietsschemas für CLI- und gateway-Meldungen eingeführt: Chinesisch (vereinfacht), Japanisch, Deutsch, Spanisch, Französisch, Ukrainisch und Türkisch.18 v0.14.0 lokalisiert sämtliche gateway-Befehle sowie das Web-Dashboard, ergänzt 8 weitere Gebietsschemas und erhöht deren Gesamtzahl auf 16.19 Beim Tag v2026.8.31 enthält die Verzeichnisstruktur locales/ 17 Nachrichtenkataloge – Englisch sowie 16 Übersetzungen (af, ar, de, es, fr, ga, hu, it, ja, ko, pt, ru, tr, uk, zh-hant, zh).33 Die Dokumentation ist derzeit nur auf zh-Hans lokalisiert. Das Gebietsschema wird anhand der Umgebungsvariablen LC_ALL / LANG oder eines expliziten locale:-Schlüssels in config.yaml bestimmt. Englisch bleibt die Standardsprache und die maßgebliche Quelle für jede Zeichenfolge, die von einer Übersetzung noch nicht abgedeckt wird. Mit v0.21.6 werden Sprachen erweiterbar: display.language akzeptiert jede ID, die von den 17 mitgelieferten Katalogen, dem Overlay-Verzeichnis des profile oder einem installierten Plugin-Sprachpaket bereitgestellt wird. hermes config set display.language <id> führt zudem zuerst die Plugin-Erkennung aus, sodass ein gerade installiertes Paket akzeptiert wird. Core- und TUI-Zeichenfolgen bilden separate Ebenen (locales/<lang>.yaml und locales/<lang>.tui.yaml; beim Tag sind 16 TUI-Pakete enthalten).55
Profiles — mehrere isolierte Hermes-Instanzen
Profiles ermöglichen Ihnen mehrere isolierte Hermes-Instanzen, jeweils mit eigener Konfiguration, eigenen Sitzungen, skills, eigenem Speicher und eigener gateway-PID. So können Sie eine „geschäftliche Hermes-Instanz“ und eine „private Hermes-Instanz“ parallel betreiben, ohne dass eine auf den Zustand der anderen zugreifen kann.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
Jedes profile erhält ein eigenes HERMES_HOME (standardmäßig ~/.hermes-<name>/), sodass mehrere profiles das gateway gleichzeitig ausführen können, ohne sich gegenseitig zu beeinträchtigen.63
Seit v0.21.2 wird die Isolationsgrenze strenger durchgesetzt: Eine Reihe von Korrekturen schloss tatsächliche profile-übergreifende Datenlecks in Setups mit gebündelten gateways. Dort konnten sekundäre profiles zuvor die Zulassungslisten des Standard-profile übernehmen, Zugangsdaten an dessen Host senden, dessen Vault-Geheimnisse an stdio-MCP-Server weitergeben oder die Dateien .env/auth.json/state.db eines anderen profile an eine MEDIA:-Übermittlung anhängen (#107609-#107630). Wenn Sie mehrere profiles bündeln, ist v0.21.2 der Tag, ab dem die zugesicherte Isolation tatsächlich gewährleistet ist – siehe Neuerungen in v0.21.2.48
CLI-Befehle
Dieser Abschnitt dient als Referenz für Praktiker zu den CLI-Befehlen der obersten Ebene. Die maßgebliche, aus dem Code abgeleitete Referenz finden Sie in der upstream bereitgestellten Referenz zu CLI-Befehlen.6
Globale Optionen
hermes [global-options] <command> [subcommand/options]
| Option | Beschreibung |
|---|---|
--version, -V |
Version anzeigen und beenden |
--profile <name>, -p <name> |
Zu verwendendes Hermes-profile auswählen |
--resume <session>, -r <session> |
Eine Sitzung anhand ihrer ID oder ihres Titels fortsetzen |
--continue [name], -c [name] |
Die neueste Sitzung fortsetzen (oder einen passenden Titel suchen) |
--worktree, -w |
In einem isolierten git-worktree starten |
--in <dir> |
Vor dem Starten oder Fortsetzen in DIR wechseln. In Kombination mit --resume latest oder -c wird die neueste Sitzung für den Arbeitsbereich von DIR ausgewählt und die Sitzung verbleibt in DIR (die Wiederherstellung des aufgezeichneten Arbeitsverzeichnisses wird übersprungen)27 |
--ignore-user-config |
~/.hermes/config.yaml ignorieren und auf die integrierten Standardwerte zurückgreifen (Anmeldedaten in .env werden weiterhin geladen)27 |
--ignore-rules |
Automatische Einbindung von AGENTS.md, SOUL.md, .cursorrules, Speicher und vorgeladenen skills überspringen27 |
--tui |
Die moderne TUI anstelle der klassischen REPL starten27 |
--cli |
Die klassische prompt_toolkit-REPL erzwingen (überschreibt display.interface=tui)27 |
--dev |
Mit --tui: TypeScript-Quelldateien über tsx ausführen (dist-Build überspringen)27 |
--yolo |
Bestätigungsabfragen für gefährliche Befehle umgehen |
--safe-mode |
Fehlerbehebungsoption — Hermes in einem minimalen abgesicherten Modus starten, um Startprobleme einzugrenzen (ab v0.19.0)60 |
--pass-session-id |
Die Sitzungs-ID in den System-Prompt des Agenten aufnehmen |
Befehle der obersten Ebene
| Befehl | Zweck |
|---|---|
hermes chat |
Interaktiver Chat oder einmalige Anfrage |
hermes model |
Standardanbieter und -modell interaktiv auswählen |
hermes gateway |
Messaging-gateway ausführen oder verwalten |
hermes setup |
Interaktiver Einrichtungsassistent |
hermes auth |
Anmeldedaten verwalten — hinzufügen, auflisten, entfernen, zurücksetzen und Strategie festlegen |
hermes status |
Status von Agent, Authentifizierung und Plattform anzeigen; seit v0.21.6 standardmäßig als Zusammenfassung auf einer Bildschirmseite, mit --full (oder --all) für alle Abschnitte und --deep für die langsamen Prüfungen |
hermes cron |
cron-Planer prüfen und einen Durchlauf auslösen |
hermes webhook |
Dynamische webhook-Abonnements verwalten |
hermes doctor |
Konfigurations- und Abhängigkeitsprobleme diagnostizieren |
hermes dump |
Kopierbare Einrichtungsübersicht für Support und Fehlerbehebung |
hermes logs |
Agent-, gateway- und Fehlerprotokolle anzeigen, live verfolgen und filtern |
hermes config |
Konfiguration anzeigen, bearbeiten, migrieren und abfragen |
hermes pairing |
Messaging-Kopplungscodes genehmigen oder widerrufen |
hermes skills |
skills durchsuchen, installieren, veröffentlichen und prüfen |
hermes honcho |
Sitzungsübergreifenden Honcho-Speicher verwalten. Pluginabhängig: Laut Dokumentation werden „Plugin-spezifische Unterbefehle (z. B. hermes honcho) automatisch registriert, wenn ihr Anbieter aktiv ist“. Daher fehlt der Befehl in hermes --help, sofern Honcho nicht der aktive Speicheranbieter ist6 |
hermes memory |
Externen Speicheranbieter konfigurieren |
hermes acp |
Hermes als ACP-Server ausführen (Editorintegration) |
hermes mcp |
Konfiguration des MCP-Servers verwalten; Hermes als MCP-Server ausführen |
hermes plugins |
Plugins verwalten |
hermes tools |
Aktivierte Tools je Plattform konfigurieren |
hermes sessions |
Sitzungen durchsuchen, exportieren, bereinigen und löschen. v0.19.0 erweitert hermes sessions export um die Formate Markdown, Quarto, HTML, reine Prompts und Hugging Face-Traces sowie um eine optionale Bereinigung von Geheimnissen mit --redact und Filter für Alter, Arbeitsbereich und Plattform60; hermes sessions recover rekonstruiert kanonische Sitzungsdaten aus einer beschädigten state.db offline und zerstörungsfrei in einer separaten NEUEN Datenbank. Mit --inspect-only wird die Lesbarkeit der kanonischen Tabellen geprüft, ohne eine Datenbank zu erstellen (der in v0.21.2 vorgesehene Wiederherstellungsweg)48; hermes sessions set-journal-mode delete\|wal (im Umfeld von v0.21.4) konvertiert einen Speicher offline zwischen WAL und Rollback-Journal. Der Befehl verweigert die Ausführung, solange ein fremder Prozess die Datenbank oder eine Begleitdatei geöffnet hält, wechselt den Modus, ohne auf solche Prozesse zu warten, überprüft anschließend die SQLite-Headerbytes 18/19 und akzeptiert --db für einen vom Standard abweichenden Speicher. Beenden Sie zuerst gateway, dashboard und jeden CLI-Prozess. Unter Windows, wo keine Suche nach haltenden Prozessen verfügbar ist, wird die Ausführung verweigert, bis Sie nach dem manuellen Beenden aller Hermes-Prozesse --force übergeben. Die Ausführung erfolgt bewusst offline, damit der Befehl den zu konvertierenden Speicher nie öffnet; hermes doctor verweist inzwischen ebenfalls darauf51 |
hermes insights |
Analysen zu Token-Nutzung, Kosten und Aktivität anzeigen |
hermes claw |
Hilfsfunktionen für die OpenClaw-Migration |
hermes profile |
profiles verwalten (mehrere isolierte Instanzen) |
hermes completion |
Skripte zur Shell-Vervollständigung ausgeben (bash/zsh) |
hermes whatsapp |
WhatsApp-Bridge konfigurieren und koppeln |
hermes --version (-V) |
Versionsinformationen ausgeben. Dies ist eine globale Option, kein Unterbefehl: Beim Tag v2026.8.31 enthält die Menge _BUILTIN_SUBCOMMANDS keinen Eintrag version, und der schnelle Startpfad erkennt ausschließlich --version / -V27 |
hermes update |
Eine Quellinstallation aktualisieren und Abhängigkeiten neu installieren; seit v0.21.7 folgt ein offizieller Checkout der neuesten veröffentlichten Version (--set-channel main, um jedem Commit zu folgen, --channel <name> für einen einzelnen Durchlauf und --install-id, um die ID dieser Installation auszugeben) |
hermes uninstall |
Hermes vom System entfernen (--full löscht zusätzlich Konfiguration und Daten) |
hermes backup |
Vollständige Sicherung von Konfiguration, Sitzungen, skills und Speicher (ab v0.9.0)16 |
hermes import |
Aus einem Sicherungsarchiv wiederherstellen — zur Migration zwischen Computern oder für ein Rollback (ab v0.9.0)16 |
hermes dashboard |
Lokales Web-dashboard zur browserbasierten Agentenverwaltung starten (ab v0.9.0)16 |
hermes serve |
Backend-API-Server ohne Benutzeroberfläche ausführen — seit v0.19.0 wird die Weboberfläche weder gebaut noch eingebunden60 |
hermes debug share |
Einen vollständigen Debugbericht auf einen pastebin-Dienst hochladen, um ihn bei der Fehlerbehebung zu teilen (ab v0.9.0)16 |
hermes approvals |
Tools für Bestätigungsabfragen: suggest leitet aus dem Bestätigungsverlauf Vorschläge für command_allowlist ab; test simuliert die Bestätigungsentscheidung für einen Befehl, ohne ihn auszuführen („führt ihn niemals aus“, mit --backend und --json). In den Versionshinweisen zu v0.21.0 wird dieser Probelauf als hermes approval-check bezeichnet, beim Tag v2026.8.31 existiert jedoch kein Unterbefehl approval-check — verfügbar ist hermes approvals test2740 |
hermes bundles |
skill-Bündel erstellen, auflisten und verwalten (Aliasse für mehrere skills unter einem einzigen Slash-Befehl /<name>)27 |
hermes checkpoints |
~/.hermes/checkpoints/, den Schattenspeicher hinter /rollback, prüfen, bereinigen oder leeren; ohne Argumente ausführen, um eine Statusübersicht zu erhalten27 |
hermes computer-use |
Computer Use-Backend (cua-driver) verwalten (macOS/Windows/Linux)27 |
hermes console |
Sichere Hermes-Befehlskonsole öffnen27 |
hermes curator |
skill-Wartung im Hintergrund (curator): Status anzeigen, ausführen, pausieren und fixieren27 |
hermes egress |
iron-proxy-Firewall zur Einschleusung ausgehender Anmeldedaten für entfernte Terminal-Sandboxes verwalten (standardmäßig deaktiviert)27 |
hermes fallback |
Fallback-Anbieter verwalten, die bei einem Ausfall des primären Modells ausprobiert werden27 |
hermes hooks |
Shell-Script-hooks prüfen und verwalten: list, test <event>, revoke und doctor (Ausführungsbit, Zulassungsliste, Abweichung der Änderungszeit, Gültigkeit von JSON, Laufzeit eines synthetischen Durchlaufs)27 |
hermes import-agent |
Eine Claude Code- (~/.claude) oder Codex-CLI-Einrichtung (~/.codex) in Hermes importieren27 |
hermes desktop (Alias gui) |
Native Electron-Desktop-App bauen und starten27 |
hermes kanban |
Profilübergreifendes Kollaborationsboard (Aufgaben, Links, Kommentare) mit Boards, einem swarm-Diagramm (swarm: parallele Worker → Prüfer → Synthesizer) und einem Dispatcher27 |
hermes login / hermes logout |
Veraltet. Verwenden Sie hermes auth zur Verwaltung von Anmeldedaten, hermes model zur Auswahl eines Anbieters oder hermes setup für die vollständige Einrichtung27 |
hermes lsp |
Verwaltung des Language Server Protocol: status, list, install <server>, install-all und restart (laufende LSP-Clients beenden; bei der nächsten Bearbeitung werden sie neu gestartet)27 |
hermes migrate |
Konfiguration für eingestellte Modelle oder veraltete Einstellungen migrieren27 |
hermes moa |
Anbieter- und Modellplätze für Mixture of Agents konfigurieren (benannte Voreinstellungen, die in der Modellauswahl verfügbar sind)27 |
hermes journey (Aliasse learning, memory-graph) |
Zeitlicher Verlauf erlernter skills und Erinnerungen27 |
hermes monitoring |
gateway-Überwachung prüfen (Export von Integritätsdaten und Diagnosen); status zeigt Einstellungen, Exportstatus und den Stand der Schwärzung an27 |
hermes pause / hermes resume |
Not-Aus: pause stoppt cron-/kanban-Ausführungen und neue gateway-Durchläufe; resume hebt den Stopp auf27 |
hermes peer |
Bot-zu-Bot-Direktnachrichten zwischen Computern: Hermes-gateways anderer peers mit add, list und remove verwalten und einem dortigen Agenten mit dm eine Nachricht senden, wobei dessen Antwort ausgegeben wird27 |
hermes pets |
Animierte petdex-Begleiter durchsuchen, installieren und auswählen27 |
hermes portal |
Nous Portal einrichten (Anmeldung, Modellauswahl, Tool Gateway): login (Standard), info, open, tools; siehe Nous Tool Gateway2728 |
hermes project |
Projekte verwalten (benannte Arbeitsbereiche mit mehreren Ordnern): erstellen, auflisten, anzeigen, Ordner hinzufügen oder entfernen, umbenennen, Primärordner festlegen, verwenden, archivieren, wiederherstellen und mit einem kanban-Board verknüpfen27 |
hermes proxy |
Lokaler OpenAI-kompatibler Proxy für OAuth-Anbieter: start, status, providers27 |
hermes prompt-size |
Aufschlüsselung der Byte-Größe von System-Prompt und Tool-Schemas anzeigen; wird offline ausgeführt27 |
hermes send |
Ohne Agentenschleife und ohne LLM eine Nachricht an eine konfigurierte Plattform senden (Skripte, cron-Jobs, CI)27 |
hermes skin |
skins auflisten, wechseln und anpassen (list, use, set)27 |
hermes slack |
Hilfsfunktionen für die Slack-Integration: manifest gibt ein Slack-App-Manifest aus oder schreibt es in eine Datei, wobei jeder gateway-Befehl als nativer Slash-Befehl registriert ist27 |
hermes sync |
Skill Sync zwischen Geräten und mit Ihrem Team: status, pull, push, now, enable, disable, device, propose27 |
hermes whatsapp-cloud |
WhatsApp Business Cloud-API-Integration einrichten (nicht identisch mit der Baileys-Bridge hermes whatsapp für persönliche Konten)27 |
hermes worktree |
Angesammelte git-worktrees und zusammengeführte Branches prüfen und bereinigen. list (Aliasse ls, audit; Standard) klassifiziert jeden worktree nach Alter, Größe, Ergebnis und Begründung; prune entfernt sichere worktrees und löscht vollständig zusammengeführte lokale Branches. Beide akzeptieren --repo <root>; bei prune kommen --dry-run (Plan anzeigen, ohne Änderungen vorzunehmen), --trees-only und --branches-only hinzu. Nicht committete Änderungen an nachverfolgten Dateien, einzigartige noch nicht gepushte Commits oder verwendete worktrees werden niemals gelöscht; ausschließlich aus nicht nachverfolgten Dateien bestehende Arbeitsstände werden vor dem Entfernen unter ~/.hermes/archive/worktree-prune/ archiviert27 |
hermes secrets |
Externe Quellen für Geheimnisse (Bitwarden, 1Password) verwalten, aus denen beim Prozessstart API-Schlüssel abgerufen werden27 |
hermes security |
Lieferkettenprüfung (OSV.dev) für venv, Plugins und MCP-Server (audit)27 |
hermes verify |
Ausführungsrezept eines Projekts erkennen und per Smoke-Test prüfen27 |
hermes chat — Der zentrale Einstiegspunkt
Wenn Sie hermes ohne Argumente ausführen, gelangen Sie in den interaktiven Chat. hermes chat ist die explizite Form mit Optionen:6
hermes chat -q "Summarize the latest PRs" --oneshot # Answer and exit (without --oneshot, a TTY seeds an interactive session)
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
Wichtige Optionen:
| Option | Beschreibung |
|---|---|
-q, --query "..." |
Auszuführende Anfrage. Änderung in v0.21.0: Auf einem echten TTY wird damit nun eine interaktive Sitzung begonnen (die Anfrage wird unverändert als erster Durchlauf übermittelt). In Kombination mit --oneshot oder -Q sowie auf einem Nicht-TTY wird die Anfrage beantwortet und das Programm anschließend beendet — das entspricht dem früheren Verhalten für Einzelanfragen40 |
--query-file PATH |
Einzelne Anfrage aus einer Datei statt aus der Befehlszeile lesen (- liest stdin). Es findet keine Shell-Auswertung statt, sodass Anführungszeichen, $(...) und Backticks unverändert übergeben werden; kann nicht zusammen mit -q verwendet werden51 |
--oneshot |
Mit -q/--query-file: Anfrage beantworten und beenden (früheres Verhalten für Einzelanfragen). Wird bei Nicht-TTY-Standardein- und -ausgabe sowie durch -Q/--quiet impliziert40 |
-m, --model <model> |
Modell für diesen Durchlauf überschreiben |
-t, --toolsets <csv> |
Eine durch Kommas getrennte Gruppe von toolsets aktivieren |
--provider <provider> |
Einen Anbieter erzwingen (siehe vollständige Liste) |
-s, --skills <name> |
Einen oder mehrere skills für diese Sitzung vorladen |
-v, --verbose |
Ausführliche Ausgabe |
-Q, --quiet |
Programmatischer Modus (kein Banner, Spinner oder keine Vorschauen) |
--format <fmt> |
Ausgabeformat für den Einzelanfragemodus (-q oder --query-file): text (Standard) gibt die endgültige Antwort als Klartext aus; stream-json gibt durch Zeilenumbrüche getrennte JSON-Ereignisse (JSONL) aus — ein system/init-Ereignis, text-Deltas, tool_use-/tool_result-Ereignisse und anschließend einen abschließenden result-Umschlag mit Exitcode, endgültigem Text und Token-Statistiken. stream-json impliziert --quiet, erfordert -q oder --query-file (ohne eine dieser Optionen Exitcode 2) und kann nicht mit --tui kombiniert werden; Diagnosen und Sitzungs-ID verbleiben auf stderr, und die Tool-Ausgabe ist pro Ereignis auf 5.000 Zeichen begrenzt (im Umfeld von v0.21.4)51 |
--resume <session> |
Eine Sitzung direkt aus chat fortsetzen |
--worktree |
Einen isolierten git-worktree erstellen |
--checkpoints |
Dateisystem-checkpoints vor destruktiven Änderungen aktivieren |
--yolo |
Bestätigungsabfragen überspringen |
--source <tag> |
Quellen-Tag der Sitzung (Standard: cli; für Integrationen tool verwenden) |
--max-turns <N> |
Maximale Anzahl der Tool-Aufrufiterationen pro Gesprächsdurchlauf (seit v0.20.0 standardmäßig 500 oder gemäß agent.max_turns in der Konfiguration)40 |
hermes setup — Vollständiger Assistent
Führt den vollständigen Einrichtungsassistenten aus oder springt direkt zu einem Abschnitt:6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs — Strukturierte Protokollabfragen
hermes logs ist leistungsfähiger als tail -f für die Protokolldateien, da gleichzeitig nach Stufe, Sitzungs-ID und Zeitraum gefiltert werden kann.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
Die Protokolldateien befinden sich in ~/.hermes/logs/:6
- agent.log — sämtliche Agentenaktivitäten (API-Aufrufe, Tool-Ausführung, Sitzungslebenszyklus, INFO+)
- errors.log — ausschließlich Warnungen und Fehler (eine gefilterte Teilmenge von agent.log)
- gateway.log — Aktivitäten des Messaging-gateway (Plattformverbindungen, Ausführung, webhooks)
Die Rotation erfolgt automatisch über den RotatingFileHandler von Python — achten Sie auf agent.log.1, agent.log.2 usw.6
hermes doctor — Diagnose
hermes doctor [--fix] ist der erste Befehl, den Sie bei Problemen ausführen sollten. Er prüft die Gültigkeit der Konfiguration, das Vorhandensein von Abhängigkeiten, die Verfügbarkeit von API-Schlüsseln und den Dienststatus. Mit --fix kann er automatische Reparaturen versuchen.6
Um Diagnosedaten mit anderen zu teilen, verwenden Sie hermes dump. Der Befehl erzeugt eine kompakte Klartextübersicht mit geschwärzten API-Schlüsseln, die Sie direkt in ein GitHub-Issue oder einen Discord-Thread einfügen können.6
Slash Commands
Slash Commands werden innerhalb einer aktiven Chatsitzung (CLI oder Messaging-Plattform) ausgeführt. Sie werden über eine gemeinsame COMMAND_REGISTRY in hermes_cli/commands.py verteilt, weshalb die meisten Befehle auf allen Oberflächen identisch funktionieren.9
Sitzungssteuerung
| Befehl | Beschreibung |
|---|---|
/new (Alias /reset) |
Neue Sitzung starten |
/clear |
Bildschirm leeren und neue Sitzung starten |
/history |
Gesprächsverlauf anzeigen |
/save |
Aktuelles Gespräch speichern |
/retry |
Letzte Nachricht erneut versuchen |
/undo |
Letzten Austausch zwischen Benutzer und Assistent entfernen |
/title <name> |
Titel für die aktuelle Sitzung festlegen |
/compress |
Gesprächskontext manuell komprimieren |
/rollback [number] |
Dateisystem-checkpoints auflisten oder wiederherstellen |
/stop |
Alle laufenden Hintergrundprozesse beenden |
/status |
Informationen zu Sitzung, Modell, Token und Kontext anzeigen – seit dem v0.20.5-Zeitraum werden außerdem der Reasoning-Modus, ausstehende Genehmigungen und die Kontextnutzung angezeigt4035 |
/queue <prompt> |
Einen Prompt für den nächsten Durchlauf in die Warteschlange stellen. Achtung: Sowohl /queue als auch /quit beanspruchen /q; die letzte Registrierung gewinnt, sodass /q in der Praxis als /quit aufgelöst wird – geben Sie daher immer ausdrücklich /queue ein.9 |
/resume [name] |
Eine zuvor benannte Sitzung fortsetzen |
/statusbar (Alias /sb) |
Kontext-/Modellstatusleiste ein- oder ausblenden |
/background <prompt> (Alias /bg) |
Einen Prompt in einer separaten Hintergrundsitzung ausführen |
/btw <question> |
Flüchtige Nebenfrage (keine Tools, wird nicht gespeichert) |
/plan [request] |
Das mitgelieferte plan-skill laden, um einen Plan zu erstellen, statt ihn auszuführen |
/branch [name] (Alias /fork) |
Von der aktuellen Sitzung einen Zweig erstellen |
/goal <target> |
Den Agenten auf ein Ziel festlegen, damit er über mehrere Durchläufe hinweg bei der Aufgabe bleibt. Das Ralph-Loop-Muster als grundlegendes Konstrukt erster Klasse. Konfigurierbares Durchlaufbudget. Neu in v0.13.0.18 |
/subgoal <criterion> |
Erfolgskriterien zu einem aktiven /goal hinzufügen, ohne die Schleife neu zu starten. Neu in v0.14.0.19 |
/handoff <target> |
Die aktive Sitzung – Nachrichten, Tool-Aufrufe und Kontext – an ein anderes Modell, eine andere Persona oder ein anderes profile übertragen. Neu in v0.14.0.19 |
/worktree [new [name]\|list\|prune [--dry-run]] |
Isolierte Git-worktrees prüfen, erstellen oder freigeben, ohne die Sitzung zu verlassen. new erstellt einen worktree unter .worktrees/ des Repositorys und verschiebt die Sitzung dorthin; list listet sie auf; prune führt dieselbe beaufsichtigte Freigabe wie hermes worktree prune durch und greift laut Dokumentation „niemals auf den Tree zu, in dem die Sitzung ausgeführt wird“27 |
Konfiguration und Modell
| Befehl | Beschreibung |
|---|---|
/config |
Aktuelle Konfiguration anzeigen |
/model [model-name] |
Aktuelles Modell anzeigen oder ändern |
/provider |
Verfügbare Anbieter und den aktuellen Anbieter anzeigen |
/personality [name] |
Ein Persona-Overlay festlegen |
/verbose |
Zwischen den Anzeigen des Tool-Fortschritts wechseln |
/reasoning |
Reasoning-Aufwand und -Anzeige verwalten. v0.19.0 ergänzt die Aufwandsstufen max und ultra und beschränkt /reasoning auf die jeweilige Sitzung; zugleich werden in der Konfiguration Aufwandsüberschreibungen pro Modell und MoA-Slot unterstützt60 |
/skin |
Darstellungs-Skin/-Theme anzeigen oder ändern |
/voice [on\|off\|tts\|status] |
Sprachmodus von CLI ein- oder ausschalten |
/yolo |
YOLO-Modus ein- oder ausschalten (Genehmigungsabfragen überspringen). Seit v0.19.0 blockieren benutzerdefinierte Ablehnungsregeln passende Befehle auch im YOLO-Modus60 |
/fast |
Fast Mode ein- oder ausschalten – priorisierte Verarbeitung für Modelle von OpenAI und Anthropic (ab v0.9.0)16 |
/debug |
Schnelldiagnose auf allen Plattformen (ab v0.9.0)16 |
/subscription |
Ihren Nous Portal-Tarif im Terminal verwalten – Tarif und verbleibendes Kontingent anzeigen, Kosten einer Hoch- oder Herabstufung in der Vorschau prüfen und Änderungen mit Rückgängig-Option anwenden (ab v0.19.0)60 |
/topup |
Ihrem Nous Portal-Guthaben Geld hinzufügen, ohne das Terminal zu verlassen (ab v0.19.0)60 |
Der Befehl /model ist das zentrale Werkzeug, um während einer Sitzung zwischen Anbietern zu wechseln:9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
v0.19.0 ergänzt /model --once – eine Modellüberschreibung für einen einzigen Durchlauf, nach dessen Antwort automatisch wieder Ihr vorheriges Modell verwendet wird.60 Seit dem v0.20.5-Zeitraum unterstützt die /model-Auswahl außerdem eine unscharfe Suche: Sie filtert die Ergebnisse während Ihrer Eingabe.2335
Tools, Skills und Informationen
| Befehl | Beschreibung |
|---|---|
/tools [list\|disable\|enable] [name...] |
Tools für die aktuelle Sitzung verwalten |
/toolsets |
Verfügbare toolsets auflisten |
/browser [connect\|disconnect\|status] |
Lokale Chrome-CDP-Verbindung verwalten |
/skills |
skills suchen, installieren, prüfen oder verwalten |
/cron |
Geplante Aufgaben verwalten |
/reload-mcp |
MCP-Server aus config.yaml neu laden |
/plugins |
Installierte Plugins auflisten |
/help |
Alle Befehle anzeigen |
/usage |
Token-Nutzung, Kosten und Dauer anzeigen |
/insights |
Nutzungsanalysen der letzten 30 Tage anzeigen |
/platforms |
Status der Messaging-Plattformen anzeigen |
/profile |
Namen und Home-Verzeichnis des aktiven profile anzeigen |
/palette |
Die unscharfe Befehlspalette öffnen (auch mit Strg+P) – sämtliche Befehle und skills per unscharfer Suche durchsuchen. Im v0.20.5-Zeitraum eingeführt4035 |
Dynamische skill-Slash-Commands
Jedes installierte skill wird automatisch als Slash Command bereitgestellt:9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
Seit v0.19.0 lassen sich Aufrufe von Slash-skills verketten: /skill-a /skill-b do XYZ lädt beide skills der Reihe nach in einem einzigen Durchlauf, einschließlich Autovervollständigung und Ghost Text für die verketteten Namen.60
Sie können in config.yaml außerdem Schnellbefehle definieren, die einen kurzen Namen als Alias für einen längeren Prompt verwenden:9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Geben Sie anschließend im CLI /review, /deploy oder /morning ein.
Präfixabgleich
Befehle unterstützen den Präfixabgleich: Die Eingabe /h wird als /help, /mod als /model aufgelöst. Ist ein Präfix mehrdeutig, gewinnt die erste Registrierung gemäß der Reihenfolge in der Registry. Vollständige Befehlsnamen und registrierte Aliasse haben stets Vorrang vor Präfixübereinstimmungen.9
Messaging-spezifische Befehle
Einige Befehle funktionieren nur auf Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, E-Mail, Home Assistant):9
/status— Sitzungsinformationen anzeigen (nicht mehr ausschließlich für Messaging; siehe Sitzungssteuerung)/sethome(Alias/set-home) — den aktuellen Chat als Plattform-Home festlegen/approve [session|always]— einen ausstehenden gefährlichen Befehl genehmigen/deny [reason]— einen ausstehenden gefährlichen Befehl ablehnen. Seit v0.19.0 übermittelt/deny <reason>dem Agenten Ihren Ablehnungsgrund, damit er seinen Kurs korrigiert, statt den Versuch blind zu wiederholen60/update— Hermes Agent auf die neueste Version aktualisieren/commands [page]— alle Befehle und skills seitenweise durchsuchen
Einige weitere sind ausschließlich in CLI verfügbar: /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Tools & Toolsets
Hermes verfügt über ein umfangreiches integriertes Tool-Register, das Websuche, Browserautomatisierung, Terminalausführung, Dateibearbeitung, Speicher, Delegation, RL-Training, Nachrichtenübermittlung, Home-Assistant-Integration und mehr abdeckt.10 Tools sind in logischen toolsets organisiert, die für jede Plattform aktiviert oder deaktiviert werden können.
Übergeordnete Kategorien
| Kategorie | Beispiele | Beschreibung |
|---|---|---|
| Web | web_search, web_extract |
Das Web durchsuchen und Seiteninhalte extrahieren |
| Terminal und Dateien | terminal, process, read_file, patch |
Befehle ausführen und Dateien bearbeiten |
| Browser | browser_navigate, browser_snapshot, browser_vision |
Interaktive Browserautomatisierung mit Text und visueller Erkennung |
| Medien | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Multimodale Analyse und Generierung. video_analyze ist vorrangig auf Gemini ausgelegt und bietet erweiterbare Unterstützung für kompatible multimodale Anbieter (ab v0.13.0). v0.14.0 ergänzt das einheitliche video_generate mit austauschbaren Anbieter-Backends und übermittelt Rohpixel über vision_analyze, wenn das aktive Modell visuelle Eingaben unterstützt.1819 |
| Agentenorchestrierung | todo, clarify, execute_code, delegate_task |
Planung, Klärung, Codeausführung und Delegation an Unteragenten |
| Computersteuerung | computer_use |
Desktopsteuerung über das cua-driver-Backend; seit v0.14.0 funktioniert dies auch mit anderen visuell leistungsfähigen Anbietern als Anthropic.19 |
| Speicher und Abruf | memory, session_search |
Persistenter Speicher und Sitzungssuche |
| Automatisierung und Übermittlung | cronjob, send_message |
Geplante Aufgaben und ausgehende Nachrichten |
| Integrationen | ha_*, MCP-Tools, rl_* |
Home Assistant, MCP und RL-Training |
Zu den gängigen Namen von toolsets gehören web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant und rl.10
Tools verwalten
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
Tools können während einer Sitzung auch über /tools disable <name> und /tools enable <name> umgeschaltet werden. Dabei wird die Sitzung zurückgesetzt, damit die neue Toolauswahl wirksam wird.9
Terminal-Backends
Das Terminal-Tool umfasst sieben integrierte Ausführungs-Backends – und seit v0.20.6 lässt sich diese Auswahl wie die Anbieterauswahl durch Plugins erweitern (siehe unten):1024
| Backend | Anwendungsfall |
|---|---|
local |
Ausführung auf Ihrem Rechner (Standard) – Entwicklung, vertrauenswürdige Aufgaben |
docker |
Isolierte Container – Sicherheit, Reproduzierbarkeit |
ssh |
Remote-Server – Sandbox, hält den Agenten von seinem eigenen Code fern |
singularity |
HPC-Container – Cluster-Computing ohne Root-Rechte |
modal |
Serverlose Cloud-Ausführung |
daytona |
Cloud-Sandbox-Arbeitsbereich – persistente Remote-Entwicklungsumgebung |
vercel_sandbox |
Vercel-Sandbox-Cloud-MicroVM – Cloud-Ausführung mit Snapshot-basierter Dateisystempersistenz. Installieren Sie hermes-agent[vercel], legen Sie terminal.vercel_runtime (node24, node22 oder python3.13) fest und authentifizieren Sie sich mit VERCEL_TOKEN, VERCEL_PROJECT_ID und VERCEL_TEAM_ID; das Stammverzeichnis des Remote-Arbeitsbereichs ist standardmäßig /vercel/sandbox24 |
Wechseln Sie Backends mit hermes config set terminal.backend <name> oder in config.yaml:
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona, vercel_sandbox
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
Plugin-Backends (ab v0.20.6). Drittanbieter von Sandboxes müssen nicht mehr in das zentrale Repository aufgenommen werden: Ein Plugin registriert beim Laden über PluginContext.register_terminal_environment_provider einen TerminalEnvironmentProvider, woraufhin der registrierte Name über terminal.backend genau wie ein integriertes Backend auswählbar wird. Integrierte Namen sind reserviert – das Register weist Anbieter zurück, deren Name mit einem im Repository enthaltenen Backend kollidiert. Ein registriertes Backend wird automatisch in alle zentralen Oberflächen eingebunden (Backendauswahl in hermes setup, Prüfstatus im Dashboard, Überprüfungen durch hermes doctor, Handhabung von Containerpfaden und Arbeitsverzeichnissen sowie Entfernung von Geheimnissen), da der Kern an jeder Klassifizierungsstelle das Register statt einer fest codierten Namensliste abfragt.32
SSH-Backend (aus Sicherheitsgründen empfohlen – der Agent kann seinen eigenen Code nicht verändern):10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Docker-Backend:
terminal:
backend: docker
docker_image: python:3.11-slim
Containerressourcen (gilt für docker, singularity, modal und daytona):10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
Mit container_persistent: true bleiben installierte Pakete, Dateien und Konfigurationen sitzungsübergreifend erhalten.10
Alle Container-Backends werden mit Sicherheitshärtung ausgeführt: schreibgeschütztes Root-Dateisystem (Docker), alle Linux-Capabilities außer DAC_OVERRIDE, CHOWN und FOWNER entfernt, keine Rechteausweitung, PID-Limits (256 Prozesse), vollständige Namespace-Isolierung und ein persistenter Arbeitsbereich über Volumes.10
Hintergrundprozesse
Das Terminal-Tool unterstützt die Ausführung im Hintergrund mit expliziter Prozessverwaltung:10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
Der PTY-Modus (pty=true) ermöglicht interaktive CLI-Tools wie Codex und Claude Code.10
Sudo
Wenn ein Befehl sudo benötigt, fragt Hermes nach Ihrem Passwort, das für die Dauer der Sitzung zwischengespeichert wird. Alternativ können Sie SUDO_PASSWORD in ~/.hermes/.env festlegen.10
Multi-Agent-Kanban (ab v0.13.0)
v0.13.0 macht die Zusammenarbeit mehrerer Agenten zu einem grundlegenden Konzept: einem dauerhaften Kanban-Board, das Aufgaben, Status und Mitarbeiteridentitäten agenten- und neustartübergreifend verfolgt.18 Durch das Board kann ein Schwarm von Hermes-Mitarbeitern Aufgaben tatsächlich abschließen, statt an fehlgeschlagenen Übergaben zum Stillstand zu kommen.
| Mechanismus | Funktionsweise |
|---|---|
| Heartbeats | Jeder Mitarbeiter sendet regelmäßig ein Lebenszeichen, solange ihm eine Aufgabe gehört. Bleibt ein Heartbeat aus, wird der Mitarbeiter als verdächtig markiert und die Aufgabe zur erneuten Übernahme freigegeben. |
| Erneute Übernahme | Ein anderer Mitarbeiter kann eine verlassene Aufgabe mit ihrem vollständigen Zustand und allen bisherigen Teilergebnissen übernehmen. |
| Zombie-Erkennung | Mitarbeiter, die beendet werden, ohne eine Aufgabe als abgeschlossen zu markieren, werden automatisch für die Übernahme neuer Aufgaben gesperrt. So sammeln sich im Schwarm keine verwaisten Identitäten an. |
| Halluzinationsprüfung | Besteht eine Ausgabe die Prüfung nicht, wird die Aufgabe mit einer Begründung an das Board zurückgegeben, statt als erledigt markiert zu werden. |
max_retries pro Aufgabe |
Überschreibt das standardmäßige Wiederholungslimit für eine bekanntermaßen fehleranfällige Aufgabe. |
| Boards für mehrere Projekte | Ein einziges Hermes-Home kann mehrere unabhängige Boards beherbergen. |
Das Kanban-Board lässt sich für die Zielvorgabe nahtlos mit /goal (Ralph-Schleife mit festgeschriebenem Ziel) und für die Erzeugungssemantik mit dem vorhandenen Tool delegate_task kombinieren. Daraus entsteht ein Schwarmmuster, bei dem alle Agenten dieselbe verlässliche Informationsquelle dafür verwenden, was als Nächstes zu tun ist, wer daran arbeitet und wo es Probleme gibt.
Was ist ein Hermes-Schwarm?
Ein Schwarm besteht aus mehreren Hermes-Mitarbeitern, die parallel an einem gemeinsamen Kanban-Board arbeiten. Er ist kein separates Subsystem, das Sie aktivieren müssen – vielmehr wird er durch das Board ermöglicht. Das Board liefert genau das, was parallele Agenten nicht selbst bereitstellen können: eine einzige verbindliche Antwort auf die Frage: Was soll ich als Nächstes übernehmen, und arbeitet bereits jemand daran?
Mit v0.15.0 wurde dieses Muster zu einer unterstützten Topologie ausgebaut. Hinzu kamen eine Schwarmtopologie zur Koordination paralleler Mitarbeiter, die automatische Zerlegung eines übergeordneten Ziels in Teilaufgaben, Modellüberschreibungen pro Aufgabe, geplante Aufgaben und eine Worktree-Verwaltung, damit parallele Mitarbeiter nicht im selben Checkout miteinander in Konflikt geraten.63
| Problem bei einer einfachen Multi-Agent-Konfiguration | Was das Board stattdessen leistet |
|---|---|
| Zwei Mitarbeiter übernehmen dieselbe Aufgabe | Der Besitz einer Aufgabe wird beansprucht und die Identität des Mitarbeiters erfasst |
| Ein Mitarbeiter fällt während einer Aufgabe aus und die Arbeit geht verloren | Der Heartbeat bleibt aus und die Aufgabe wird mit den bisherigen Teilergebnissen erneut übernommen |
| Ein abgestürzter Mitarbeiter „hält“ Aufgaben für immer fest | Die Zombie-Erkennung hindert ihn daran, neue Aufgaben zu übernehmen |
| Ein teures Modell für jede Teilaufgabe | Modellüberschreibungen pro Aufgabe – kostengünstige Modelle für mechanische Teilaufgaben |
| Parallele Mitarbeiter bearbeiten dieselben Dateien | Die Worktree-Verwaltung isoliert den Checkout jedes Mitarbeiters |
Der praktische Ablauf: Geben Sie dem Schwarm ein Ziel, lassen Sie es durch die automatische Zerlegung in Board-Aufgaben
aufteilen und die Mitarbeiter diese Aufgaben übernehmen, ausführen und die Ergebnisse zurückgeben. Das Wiederholungslimit gilt pro Aufgabe (max_retries),
sodass eine einzelne fehleranfällige Teilaufgabe nicht die Fehlertoleranz des gesamten Durchlaufs aufbraucht. Da das Board
dauerhaft ist, übersteht ein Schwarm Neustarts – die Mitarbeiter verbinden sich erneut und setzen ihre Arbeit mit demselben Zustand fort.
Ein Schwarm ist nur so gut wie seine Zerlegung. Das Board koordiniert Mitarbeiter; es verwandelt ein schlecht unterteiltes Ziel nicht in ein gutes. Aufgaben mit gemeinsamem verborgenem Zustand geraten weiterhin miteinander in Konflikt – mit oder ohne Worktrees.
Skills System
Skills sind bei Bedarf abrufbare Wissensdokumente, die der Agent laden kann, wenn er sie benötigt. Sie folgen dem Prinzip der schrittweisen Offenlegung, um den Token-Verbrauch zu minimieren, und sind mit dem offenen Standard agentskills.io kompatibel.11
Alle Skills befinden sich in ~/.hermes/skills/ – dem primären Verzeichnis und der maßgeblichen Quelle. Bei einer Neuinstallation werden die mitgelieferten Skills aus dem Repository kopiert. Über den Hub installierte und vom Agenten erstellte Skills werden ebenfalls hier abgelegt.11
Schrittweise Offenlegung
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
Der Agent lädt den vollständigen Inhalt eines Skills erst dann, wenn er ihn tatsächlich benötigt.11
SKILL.md-Format
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Bedingte Aktivierung
Skills können sich abhängig von den verfügbaren Tools ein- oder ausblenden. Dies ist besonders für Fallback-Skills nützlich – kostenlose oder lokale Alternativen, die nur angezeigt werden sollen, wenn ein kostenpflichtiges Tool nicht verfügbar ist:11
| Feld | Verhalten |
|---|---|
fallback_for_toolsets |
Skill wird ausgeblendet, wenn die aufgeführten toolsets verfügbar sind |
fallback_for_tools |
Wie oben, prüft jedoch einzelne Tools |
requires_toolsets |
Skill wird ausgeblendet, wenn die aufgeführten toolsets nicht verfügbar sind |
requires_tools |
Wie oben, prüft jedoch einzelne Tools |
Beispiel: Der integrierte Skill duckduckgo-search verwendet fallback_for_toolsets: [web]. Wenn FIRECRAWL_API_KEY gesetzt ist, steht das Web-toolset zur Verfügung und der Agent verwendet web_search – der DuckDuckGo-Skill bleibt ausgeblendet. Ohne den API-Schlüssel erscheint der DuckDuckGo-Skill automatisch als Fallback.11
Vom Agenten verwaltete Skills
Der Agent kann seine eigenen Skills über das Tool skill_manage erstellen, aktualisieren und löschen. Dies ist das prozedurale Gedächtnis des Agenten: Wenn er einen nicht trivialen Arbeitsablauf ermittelt, speichert er die Vorgehensweise als Skill zur späteren Wiederverwendung.11
Wann der Agent Skills erstellt:11 - Nachdem er eine komplexe Aufgabe (mindestens 5 Tool-Aufrufe) erfolgreich abgeschlossen hat - Wenn Fehler oder Sackgassen aufgetreten sind und er den funktionierenden Weg gefunden hat - Wenn der Benutzer seine Vorgehensweise korrigiert hat - Wenn er einen nicht trivialen Arbeitsablauf entdeckt hat
Aktionen:11
| Aktion | Verwendungszweck |
|---|---|
create |
Neuen Skill von Grund auf erstellen |
patch |
Gezielte Korrekturen (bevorzugt – am Token-effizientesten) |
edit |
Umfangreiche strukturelle Überarbeitungen |
delete |
Einen Skill vollständig entfernen |
write_file |
Unterstützende Dateien hinzufügen oder aktualisieren |
remove_file |
Eine unterstützende Datei entfernen |
Skill Hub
Durchsuchen, suchen, installieren und verwalten Sie Skills aus Online-Registern:611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
Integrierte Hub-Quellen:11
| Quelle | Beispiel | Hinweise |
|---|---|---|
official |
official/security/1password |
Optionale, mit Hermes ausgelieferte Skills (integriertes Vertrauen) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Öffentliches Skill-Verzeichnis von Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
URL-basierte Erkennung von Websites, die /.well-known/skills/index.json veröffentlichen |
github |
openai/skills/k8s |
Direkte Installation aus GitHub-Repositorys oder -Pfaden |
clawhub |
— | Skill-Marktplatz eines Drittanbieters |
lobehub |
— | Konvertierung des LobeHub-Agentenkatalogs |
browse-sh |
— | Skill-Quelle von Browserbase |
Standardmäßige GitHub-taps (ohne Einrichtung durchsuchbar): openai/skills, anthropics/skills, huggingface/skills, NVIDIA/skills, garrytan/gstack. Die Quelle claude-marketplace wurde in v0.20.0 entfernt; browse-sh ersetzte sie in der Quellenliste.1159
Sicherheitsprüfung
Alle über den Hub installierten Skills durchlaufen eine Sicherheitsprüfung auf Datenexfiltration, Prompt-Injection, destruktive Befehle, Hinweise auf Lieferkettenangriffe und andere Bedrohungen.11
Vertrauensstufen:11
| Stufe | Quelle | Richtlinie |
|---|---|---|
builtin |
Wird mit Hermes ausgeliefert | Immer vertrauenswürdig |
official |
optional-skills/ im Repository |
Integriertes Vertrauen, keine Drittanbieterwarnung |
trusted |
Vertrauenswürdige Register (openai/skills, anthropics/skills) |
Weniger restriktive Richtlinie |
community |
Alle übrigen Quellen | Ungefährliche Befunde können mit --force übergangen werden; als dangerous eingestufte Befunde bleiben blockiert |
Mit --force lassen sich nicht gefährliche Richtlinienblockierungen für Community-Skills übergehen. Eine als dangerous eingestufte Sicherheitsprüfung lässt sich damit nicht übergehen.11
Externe Skill-Verzeichnisse
Sie können Hermes auf zusätzliche Skill-Verzeichnisse verweisen, die zusammen mit dem lokalen Verzeichnis durchsucht werden:11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Pfade unterstützen die Erweiterung von ~ und die Ersetzung von Umgebungsvariablen im Format ${VAR}. Externe Verzeichnisse sind schreibgeschützt – wenn der Agent einen Skill erstellt oder bearbeitet, schreibt er stets nach ~/.hermes/skills/. Existiert ein Skill-Name an beiden Orten, hat die lokale Version Vorrang.11
Angeheftete Skills: skills.auto_load (v0.21.4-Zeitraum)
Skill-Namen, die in config.yaml unter skills.auto_load aufgeführt sind, werden in jeder neuen Sitzung vollständig geladen – für CLI, TUI, gateway, cron und API gleichermaßen:51
skills:
auto_load:
- team-conventions
- deploy-checklist
Die Liste wird einmalig aufgelöst, wenn der Prompt des Agenten erstmals erstellt wird. Bei einem fehlenden oder deaktivierten Namen wird eine Warnung ausgegeben und der Eintrag übersprungen, statt die Sitzung fehlschlagen zu lassen. HERMES_IGNORE_RULES – der Mechanismus hinter --ignore-rules – unterdrückt die Liste ebenso wie den übrigen automatisch eingefügten Kontext. Dies ergänzt -s/--skills um dauerhafte Vorgaben, während diese Optionen Skills nur für eine einzelne Sitzung vorab laden.51
Persistenter Speicher
Hermes verfügt über einen begrenzten, kuratierten Speicher, der über Sitzungen hinweg erhalten bleibt. Zwei Dateien bilden den Speicher des Agenten; beide befinden sich unter ~/.hermes/memories/:12
| Datei | Zweck | Zeichenbegrenzung |
|---|---|---|
MEMORY.md |
Persönliche Notizen des Agenten – Informationen zur Umgebung, Konventionen und gewonnene Erkenntnisse | 2.200 Zeichen (~800 Token) |
USER.md |
Benutzerprofil – Präferenzen, Kommunikationsstil und Erwartungen | 1.375 Zeichen (~500 Token) |
Beide werden beim Sitzungsstart als unveränderlicher Snapshot in den System-Prompt eingefügt. Der Agent verwaltet seinen eigenen Speicher über das memory-Tool – mit add, replace oder remove.12
Muster des unveränderlichen Snapshots: Die Einfügung in den System-Prompt wird einmal beim Sitzungsstart erfasst und während der Sitzung nicht mehr geändert. Das ist beabsichtigt, da so der Präfix-Cache des LLM für eine bessere Leistung erhalten bleibt. Während einer Sitzung vorgenommene Änderungen werden sofort auf dem Datenträger gespeichert, erscheinen jedoch erst in der nächsten Sitzung im System-Prompt.12
Was gespeichert werden sollte
Speichern Sie Folgendes (der Agent erledigt dies proaktiv):12
- Benutzerpräferenzen: „Ich bevorzuge TypeScript gegenüber JavaScript“ → user
- Informationen zur Umgebung: „Auf diesem Server läuft Debian 12 mit PostgreSQL 16“ → memory
- Korrekturen: „Verwenden Sie für Docker-Befehle kein sudo, der Benutzer gehört der docker-Gruppe an“ → memory
- Konventionen: „Das Projekt verwendet Tabulatoren, eine Zeilenbreite von 120 Zeichen und Docstrings im Google-Stil“ → memory
- Abgeschlossene Arbeiten: „Datenbank am 2026-01-15 von MySQL zu PostgreSQL migriert“ → memory
Speichern Sie Folgendes nicht:12 - Triviale oder offensichtliche Informationen - Leicht erneut ermittelbare Fakten - Unverarbeitete Datenmengen (zu groß für den Speicher) - Sitzungsspezifische, kurzlebige Informationen - Informationen, die bereits in Kontextdateien enthalten sind
Sitzungssuche
Neben MEMORY.md und USER.md kann der Agent mit dem session_search-Tool frühere Unterhaltungen durchsuchen. Alle CLI- und Messaging-Sitzungen werden mit einer FTS5-Volltextsuche in SQLite (~/.hermes/state.db) gespeichert. Seit der Neugestaltung in v0.15.0 kommt das Tool vollständig ohne LLM aus – es gibt gespeicherte Gesprächsinhalte direkt zurück (in der Formulierung der Quelle: Das „single-shape tool returns DB content directly“). Dadurch wurde es 4.500-mal schneller und verursacht keine API-Kosten mehr.126334
| Funktion | Persistenter Speicher | Sitzungssuche |
|---|---|---|
| Kapazität | Insgesamt ~1.300 Token | Unbegrenzt (alle Sitzungen) |
| Geschwindigkeit | Sofort (im System-Prompt) | Eine FTS-Abfrage – seit v0.15.0 kein LLM-Aufruf |
| Anwendungsfall | Wichtige Fakten sind stets verfügbar | Bestimmte frühere Unterhaltungen finden |
| Verwaltung | Manuell vom Agenten kuratiert | Automatisch – alle Sitzungen werden gespeichert |
| Token-Kosten | Fest pro Sitzung (~1.300 Token) | Bei Bedarf |
Im Veröffentlichungszeitraum von v0.21.4 kamen zwei Ergänzungen hinzu, die beide mit dem Tag v2026.9.21 verifiziert wurden. Erstens Zeitgrenzen: Die Discovery-Struktur akzeptiert after (eine inklusive Untergrenze für die Startzeit der Sitzung) und before (eine exklusive Obergrenze). Beide Werte können als ISO-Datum bzw. ISO-Datum mit Uhrzeit angegeben werden – ein reiner Datumswert bedeutet Mitternacht UTC an diesem Tag – oder als relative Dauer (7d, 24h, 2w). Sie sind nur für Abfragen vorgesehen, die tatsächlich einen Zeitraum nennen; sort bleibt eine Gewichtung der Rangfolge und keine Grenze. Zweitens gibt es einen erneuten Abrufversuch bei null Ergebnissen: Da FTS5 zwischen Begriffen implizit AND verwendet, kann eine umformulierte Abfrage mit mehreren Wörtern einen gespeicherten Satz verfehlen, sobald auch nur eines dieser Wörter darin fehlt. Liefern daher sowohl die exakte Abfrage als auch sämtliche Teilzeichenketten-Fallbacks keine Ergebnisse, wird der Index erneut mit einer Übereinstimmung für einen BELIEBIGEN Begriff durchsucht. Dabei stehen Zeilen, die mehr Begriffe abdecken, in der Rangfolge weiter oben. Treffer behalten die Semantik exakter Übereinstimmungen bei, da der erneute Versuch nur nach einer Suche ohne Ergebnisse erfolgt; Abfragen mit explizitem OR/NOT, Einzelbegriff-Abfragen und über CJK geleitete Abfragen bleiben unverändert.51
Externe Speicheranbieter
Für einen umfassenderen persistenten Speicher über MEMORY.md und USER.md hinaus enthält Hermes in v0.21.7 zwei Plugins für externe Speicheranbieter: RetainDB und ByteRover. Sechs weitere lassen sich aus dem Plugin-Katalog installieren: Holographic, das in v0.21.7 aus dem Kernrepository entfernt wurde, Honcho, OpenViking, Mem0 und Supermemory, die in v0.21.6 entfernt wurden, sowie Hindsight, das in v0.21.5 entfernt wurde. Alle sechs sind Community-Einträge, die von ihren jeweiligen Anbietern gepflegt werden.125557
Hindsight war bis einschließlich v0.21.4 Teil des Kernrepositorys und wurde in v0.21.5 in den Katalog verschoben, wo es von Vectorize gepflegt wird. Honcho, Mem0, OpenViking und Supermemory folgten in v0.21.6, Holographic in v0.21.7. Bestehende Installationen werden selbstständig migriert: Wenn memory.provider einen dieser Anbieter benennt, installiert hermes update das Katalog-Plugin in jedem profile-Stammverzeichnis, in dem dieser Anbieter angegeben ist. Fehlt es anschließend noch, wird es beim ersten Start des Agenten installiert. Bei security.allow_lazy_installs: false protokolliert der Startvorgang des Agenten lediglich eine Meldung; führen Sie daher selbst hermes plugins install <name> aus. Das Plugin wird unter ~/.hermes/plugins/<name>/ abgelegt und zu plugins.enabled hinzugefügt; memory.provider, memory.hindsight.*, HINDSIGHT_API_KEY und Ihre Speicherdaten bleiben unverändert. Überprüfen Sie den Status mit hermes memory status und hermes plugins list. Das pip-Extra hermes-agent[hindsight] wurde entfernt.53
Externe Anbieter werden parallel zum integrierten Speicher ausgeführt und ersetzen ihn niemals. Sie ergänzen Funktionen wie Wissensgraphen, semantische Suche, automatische Faktenextraktion und sitzungsübergreifende Benutzermodellierung:612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
Es kann jeweils nur ein externer Anbieter aktiv sein. Der integrierte Speicher ist immer aktiv.6
Automatische Sitzungsfortsetzung (v0.13.0+)
Mit v0.13.0 lassen sich Unterbrechungen während der Agentenausführung ohne Sitzungsverlust überstehen. Nach einem Neustart setzt das gateway unterbrochene Sitzungen automatisch fort; Neustarts über /update bewahren den Sitzungsstatus während des Upgrades; beim Neuladen von Quelldateien während der Entwicklung bleibt die aktive Sitzung erhalten, statt eine neue zu erzwingen.18 In der Praxis bedeutet das: Lang laufende gateway-Aufgaben und cron-gesteuerte Jobs setzen ihr Kontextfenster nicht mehr zurück, wenn der Prozess neu startet.
Checkpoints v2 (v0.13.0+)
Die Statuspersistenz wurde in v0.13.0 als Single-Store-Konzept mit echter Bereinigung, Schutzmechanismen für den Datenträger und ohne verwaiste Schattenrepositorys neu implementiert.18 Das vorherige checkpoint-System sammelte bei lang laufenden profiles immer mehr Statusdaten auf dem Datenträger an. Der v2-Speicher begrenzt die lokale checkpoint-Speicherung strikt und beseitigt die doppelte Buchführung, die dieses Wachstum verursacht hatte. Eine Änderung der benutzerseitigen Konfiguration ist nicht erforderlich; der nächste checkpoint-Schreibvorgang verwendet den v2-Pfad.
Persönlichkeit und SOUL.md
SOUL.md ist die primäre Identität einer Hermes-Instanz. Sie belegt Platz 1 im System-Prompt und ersetzt die fest codierte Standardidentität.13
Hermes legt automatisch eine standardmäßige SOUL.md unter ~/.hermes/SOUL.md an (bei benutzerdefinierten profiles unter $HERMES_HOME/SOUL.md). Vorhandene Benutzerdateien werden niemals überschrieben. Hermes lädt SOUL.md ausschließlich aus HERMES_HOME und sucht nicht im aktuellen Arbeitsverzeichnis danach. Dadurch bleibt die Persönlichkeit projektübergreifend vorhersehbar.13
Was in SOUL.md gehört
Verwenden Sie die Datei für dauerhafte Vorgaben zu Ausdruck und Persönlichkeit:13 - Tonalität - Kommunikationsstil - Grad der Direktheit - standardmäßiger Interaktionsstil - stilistisch zu vermeidende Elemente - Umgang von Hermes mit Unsicherheit, Meinungsverschiedenheiten und Mehrdeutigkeit
Verwenden Sie sie weniger für:13 - einmalige Projektanweisungen - Dateipfade - Repository-Konventionen - vorübergehende Workflow-Details
Diese gehören in AGENTS.md, nicht in SOUL.md.
SOUL.md im Vergleich zu AGENTS.md
Dies ist der wichtigste Unterschied bei der Identitätsverwaltung in Hermes:13
SOUL.md – Identität, Tonalität, Stil, Kommunikationsstandards und Verhalten auf Persönlichkeitsebene.
AGENTS.md – Projektarchitektur, Programmierkonventionen, Tool-Präferenzen, Repository-spezifische Workflows, Befehle, Ports, Pfade und Bereitstellungshinweise.
Eine nützliche Regel: Soll etwas Sie überallhin begleiten, gehört es in SOUL.md. Gehört es zu einem Projekt, gehört es in AGENTS.md.13
Integrierte Persönlichkeiten
Hermes enthält integrierte Persönlichkeiten, zwischen denen Sie mit /personality wechseln können:1333
| Name | Beschreibung |
|---|---|
helpful |
Freundlicher Allzweckassistent |
concise |
Kurze, präzise Antworten |
technical |
Detaillierter, präziser Technikexperte |
creative |
Innovatives Denken jenseits ausgetretener Pfade |
teacher |
Geduldiger Pädagoge mit anschaulichen Beispielen |
kawaii |
Niedliche Ausdrücke, Glitzern und Begeisterung |
catgirl |
Neko-chan mit katzenartigen Ausdrücken |
pirate |
Kapitän Hermes, ein technikversierter Freibeuter |
shakespeare |
Bardische Prosa mit dramatischem Flair |
surfer |
Entspannte Bro-Vibes |
noir |
Erzählstil eines abgebrühten Detektivs |
uwu |
Maximale Niedlichkeit mit uwu-Sprech |
philosopher |
Tiefgründige Betrachtung jeder Anfrage |
hype |
MAXIMALE ENERGIE |
Benutzerdefinierte Persönlichkeiten in config.yaml:13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Wechseln Sie anschließend mit /personality codereviewer.
SOUL.md im Vergleich zu /personality
SOUL.md bildet die grundlegende Ausdrucksweise. /personality ist eine sitzungsspezifische Überlagerung.13 Verwenden Sie eine pragmatische Standardkonfiguration für SOUL.md und nutzen Sie anschließend /personality teacher für ein Lerngespräch oder /personality creative für ein Brainstorming.
Nous Tool Gateway (v0.10.0+)
Seit Hermes Agent v0.10.0 (2026-04-16) erhalten zahlende Nous Portal-Abonnenten über ihre bestehenden Portal-Zugangsdaten verwalteten Zugriff auf eine kuratierte Auswahl von Tools — ohne zusätzliche API-Schlüssel verwalten zu müssen.65 Die Hermes CLI selbst bleibt MIT-lizenziert und vollständig quelloffen. Neu ist, dass Ihre Portal-Authentifizierung jetzt mehr als nur Modellinferenz freischaltet.
Der schnellste Einstieg ist hermes setup --portal, das im README als „Ein Befehl nach einer Neuinstallation“ vorgestellt wird: Der Befehl meldet Sie über OAuth an, legt Nous als Ihren Provider fest und aktiviert das Tool Gateway. Anschließend verwalten Sie die Verbindung mit hermes portal. hermes portal login (der Standard, wenn kein Unterbefehl angegeben wird) führt dasselbe einmalige Onboarding aus; hermes portal info gibt die „Zusammenfassung der Portal-Authentifizierung und des Tool-Gateway-Routings“ aus; hermes portal open öffnet die Abonnementseite in Ihrem Standardbrowser; hermes portal tools listet die gateway tools auf und zeigt, welche über Nous geroutet werden. hermes portal status bleibt als verborgener Alias für die Abwärtskompatibilität von info erhalten, und in der CLI-Referenz der Dokumentation zum Tag heißt der Unterbefehl weiterhin status, sodass beide funktionieren.28
Was das gateway enthält
| Tool | Provider | Anwendungsfall |
|---|---|---|
| Websuche | Firecrawl | Informationsabruf für Agenten, die aktuelle Informationen benötigen |
| Bildgenerierung | FAL / FLUX 2 Pro | Bilder direkt generieren, ohne einen FAL-Schlüssel zu konfigurieren |
| Text-to-Speech | OpenAI TTS | Sprachausgabe über messaging gateways |
| Browserautomatisierung | Browser Use | Headless-Navigation und Scraping |
Funktionsweise
Das gateway wird für jedes Tool separat aktiviert. Dazu dient das neue Konfigurationsfeld use_gateway. Wenn Sie Portal-Zugangsdaten in hermes auth hinterlegt und das gateway für ein Tool aktiviert haben, werden die Aufrufe dieses Tools über Portal geroutet. Andernfalls wird Ihr direkter API-Schlüssel verwendet, sofern vorhanden.
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Laufzeitpriorität: Wenn das gateway verfügbar ist und für ein Tool use_gateway: true festgelegt wurde, bevorzugt Hermes das gateway, selbst wenn Sie zusätzlich einen direkten API-Schlüssel konfiguriert haben. Das ist für die Abrechnung relevant — gateway-Aufrufe werden Ihrem Portal-Abonnement und nicht dem Guthaben Ihres direkten API-Schlüssels belastet.
gateway aktivieren
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
Das Abonnement wird automatisch anhand der Portal-OAuth-Zugangsdaten erkannt, die bereits in hermes auth hinterlegt sind — eine separate Anmeldung ist nicht erforderlich. Seit v0.19.0 können Sie außerdem das Abonnement selbst innerhalb einer Sitzung verwalten: /subscription zeigt Ihren Tarif und das verbleibende Kontingent an, gibt genau an, was ein Upgrade kostet oder wann ein Downgrade wirksam wird, und führt die Änderung mit Hinweisen auf geplante Änderungen und einer Rückgängig-Option durch; mit /topup fügen Sie Guthaben hinzu. Die Desktop-App bietet einen entsprechenden Tab für Abrechnungseinstellungen.60
Preise und Zugang
Preise und Tarifbezeichnungen werden auf der Preisseite von Nous Portal (https://portal.nousresearch.com/pricing) veröffentlicht. Dieser Leitfaden führt die Tarife nicht einzeln auf, da sie zum Portal-Produkt und nicht zur Hermes CLI gehören und sich unabhängig von Hermes-Versionen ändern. Registrieren Sie sich unter https://portal.nousresearch.com/ und informieren Sie sich auf der Preisseite über die aktuellen Tarife.
Kostenloser Nous-Tarif und geführter Erststart (v0.21.2+)
Seit v0.21.2 benötigen Sie nach einer Neuinstallation weder einen kostenpflichtigen Tarif noch einen API-Schlüssel, um einen funktionsfähigen Agenten zu erhalten: Kostenlose Inferenz und connectors sind sofort verfügbar, die Anmeldung erfolgt mit einem einzigen Befehl und /login startet die Anmeldung direkt aus einem Chat. Connector-Tools (Gmail, Linear, Notion und weitere) lassen sich wie jedes andere Tool über tool_search durchsuchen. Die Desktop-App bietet hinter HERMES_GUEST_ONBOARDING=1 einen geführten Erststart; nur der exakte Wert 1 aktiviert ihn. Ein eigener Desktop-Test stellt sicher, dass 'true', '0' und ein leerer Wert ihn deaktiviert lassen. Die Startentscheidung wird zudem in die Umgebung des gestarteten Backends geschrieben, sodass ein geerbter Wert niemals unbeabsichtigt übernommen wird.48
Seit dem Veröffentlichungszeitraum von v0.21.4 werden diese connectors durch einen einzigen, vom Backend gesteuerten Vorgang verbunden, statt die Logik auf einzelne Frontends zu verteilen: Ein manage_connections-Tool-Aufruf steuert im Backend eine reine Daten-Zustandsmaschine für Verbindungen (mit einem festen Zeitlimit von 300 Sekunden für den Vorgang — bewusst kein Konfigurationsschlüssel), die von Desktop, TUI und CLI einheitlich als dieselbe Einrichtungskarte dargestellt wird. Die Karte zeigt für jede fehlende Zugangsinformation ein Feld an (Name, Eingabeaufforderung, Pflichtangabe) und deaktiviert ihre Aktionsschaltfläche, bis alle Pflichtfelder Text enthalten. Das Backend erzwingt bei jedem Frontend dieselbe Trennung, bei der ausschließlich Geheimnisse übermittelt werden.51
Hinweis zur Einstellung
- Die Umgebungsvariable
HERMES_ENABLE_NOUS_MANAGED_TOOLSwurde in v0.10.0 entfernt. Verwaltete Tools werden jetzt über das toolspezifische Konfigurationsfelduse_gatewayaktiviert und anhand des Status Ihres Portal-Abonnements freigegeben.65
Einordnung: Was dieses Release nicht ist
Die Hermes Agent CLI ist nicht an ein Abonnement gebunden. Das Projekt bleibt MIT-lizenziert, und alle Kernfunktionen (CLI, skills, memory, messaging gateway, cron, MCP, lokales Dashboard sowie BYOK für jeden Provider) funktionieren vollständig, ohne dass Sie dafür bezahlen müssen. v0.10.0 ergänzt lediglich einen komfortablen Zugangsweg für Benutzer, die bereits für Nous Portal bezahlen — aus dem kostenlosen Nutzungsweg wird nichts entfernt.
Messaging Gateway
Hermes kann als dauerhaft laufender gateway-Prozess betrieben werden, der über einen einzigen gateway-Prozess Verbindungen zu 28 Messaging-Plattformen herstellt: Telegram, Discord, Slack, WhatsApp, Signal, SMS, E-Mail, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat, Photon (iMessage), WhatsApp Cloud API, WeCom Callback, Raft, IRC, ntfy, Buzz und einen generischen Webhook-Adapter.364171819 Diese Zahl 28 stammt aus der Plattformvergleichstabelle der Dokumentation beim Tag v2026.8.31; darunter definiert gateway/config.py 24 integrierte Platform-Enum-Mitglieder (einschließlich Nicht-Chat-Einträgen wie local, api_server, webhook, msgraph_webhook und relay) und ordnet jeden anderen Namen bei Bedarf einem der 22 gebündelten Adapterverzeichnisse unter plugins/platforms/ zu. Deshalb stimmt eine bloße Zählung der Enum-Mitglieder oder Verzeichnisse nicht mit der Zahl aus der Dokumentation überein.25 v0.9.0 ergänzte iMessage über BlueBubbles (automatische Webhook-Registrierung, Einrichtungsassistent und Ausfallsicherheit) sowie native WeChat-Unterstützung über iLink Bot API mit dem WeCom-Callback-Modus für Unternehmensanwendungen.16 v0.11.0 ergänzte QQBot.64 v0.12.0 ergänzte Microsoft Teams und Tencent Yuanbao.17 v0.13.0 ergänzte Google Chat als 20. Plattform und nutzt dabei dieselbe erweiterbare Adapterarchitektur; auch IRC und Microsoft Teams wurden auf das neue Adaptermuster mit generischen Plugin-Hooks für env_enablement_fn / cron_deliver_env_var migriert.18 v0.14.0 ergänzt LINE und SimpleX Chat und vervollständigt den Microsoft-Teams-Stack durchgängig mit Graph-Authentifizierung, Webhook-Listener, Pipeline-Laufzeit und ausgehender Zustellung.19 v0.17.0 (19. Juni 2026) ergänzt relay-freies iMessage über Photon Spectrum (Gerätecode-OAuth mit hermes photon login – kein Mac-/BlueBubbles-relay erforderlich), den offiziellen WhatsApp Business Cloud API-Adapter (der die Anforderung eines Bridge-Prozesses ersetzt), SimpleX-Gruppen und native Anhänge sowie Raft als gebündeltes Plattform-Plugin.21 Zwei weitere erscheinen ohne besondere Erwähnung in den Versionshinweisen in der Dokumentationstabelle: ntfy ist ein schlanker HTTP-Pub/Sub-Push-Kanal (abonnieren Sie ein Thema in der mobilen ntfy-App, senden Sie eine Nachricht an das Thema, um mit dem Agenten zu kommunizieren, und empfangen Sie die Antwort auf Ihrem Telefon; funktioniert mit dem öffentlichen ntfy.sh-Server oder einer selbst gehosteten Instanz, ohne SDK oder Daemon), und Buzz verbindet Hermes mit einer Buzz-Community, der quelloffenen Plattform von Block für die Zusammenarbeit zwischen Menschen und Agenten auf Basis des Nostr-Protokolls. Für ausgehende Nachrichten ruft der Adapter die buzz CLI auf, während er für eingehende Nachrichten ein natives Nostr-WebSocket-Abonnement verwendet. Beide werden über hermes gateway setup eingerichtet.25
Einrichtung
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
Die interaktive Einrichtung führt Sie durch die Verbindung jeder Plattform: API-Tokens, Bot-IDs, Kanalzuordnungen und Zulassungslisten.6 Seit v0.21.6 überprüft der Discord-Schritt das Bot-Token, gibt einen Einladungslink mit den vom Adapter benötigten Berechtigungsbits aus und weist auf einen weiterhin deaktivierten Message Content Intent hin, durch den Discord die Verbindung des Bots ablehnt.5455
Nachrichtenfluss
Aus der vorgelagerten Architekturdokumentation:3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
Jede Messaging-Plattform durchläuft dieselbe AIAgent-Konversationsschleife wie die CLI. Deshalb funktionieren Slash-Befehle an beiden Stellen identisch, und deshalb kann ein in Telegram geplanter cron-Job seine Ausgabe an Discord zustellen – der Unterschied zwischen den Plattformen besteht lediglich an den Systemgrenzen.3
v0.19.0 ergänzt profilbasierte Nachrichtenweiterleitung und dauerhafte Zustellung. Ein einzelner multiplexter gateway, der ein Bot-Token gemeinsam nutzt, kann bestimmte Guilds, Kanäle oder Threads an unterschiedliche profile weiterleiten – jeweils mit vollständig isolierter Konfiguration, eigenen skills, eigenem Speicher und eigenen Geheimnissen. Dafür steht die Überschreibung GATEWAY_MULTIPLEX_PROFILES zur Verfügung. Dank umfassender Härtungsmaßnahmen kann ein falsch konfiguriertes profile nicht mehr den gesamten gateway zum Absturz bringen. Intern wurde der Weiterleitungsindex nach state.db verschoben (sessions.json ist jetzt eine optionale Legacy-Spiegelung), und endgültige Antworten werden rund um den Plattformversand in einem dauerhaften Verzeichnis offener Zustellungsverpflichtungen erfasst. Tritt nach Fertigstellung einer Antwort ein gateway-Absturz auf, wird sie beim nächsten Start erneut zugestellt, statt unbemerkt verloren zu gehen.60 Die Isolation zwischen weitergeleiteten profiles wurde mit v0.21.2 gehärtet. Dadurch wurde speziell in dieser Multiplex-Konfiguration eine Reihe profilübergreifender Datenlecks geschlossen: vererbte Zulassungslisten, an den Host des Standard-profile gesendete Zugangsdaten, Geheimnisse aus dem Vault des Standard-profile, die stdio-MCP-Server erreichten, profilübergreifende MEDIA:-Anhänge sowie ein Nous-Bearer-Token eines anderen profile, das in prozessbezogenen Zwischenspeichern erhalten blieb (#107609-#107630).48
v0.21.1 macht Konversationsgrenzen ausschließlich explizit. Die Dokumentation zum Sitzungslebenszyklus beim Tag v2026.9.7 formuliert den Vertrag in vier Sätzen: „Weder Inaktivität noch die verstrichene Zeit führen jemals zu einem Wechsel der Konversation. /new und /reset erzeugen eine explizite Grenze; die Kontextkomprimierung verwaltet weiterhin lange Verläufe. Veraltete Timer-Konfigurationen werden ignoriert. Der vorhandene Datentyp SessionResetPolicy besteht als inaktive Kompatibilitätsstruktur fort und dient nicht als Laufzeitrichtlinie.“ Eine explizite Unterbrechung erzeugt weiterhin beim nächsten eingehenden Beitrag eine Grenze, die Wiederherstellung berücksichtigt abgeschlossene Grenzen, statt sie erneut zu öffnen, und eine ausschließlich ressourcenbedingte Verdrängung lässt Konversationen fortsetzbar. Wenn eine Sitzung auf Ihrem gateway scheinbar „nie abläuft“, ist das inzwischen beabsichtigt; beginnen Sie mit /new selbst eine neue.43
Seit dem Zeitfenster von v0.21.4 stellt ein zweiter Aufruf von hermes gateway run eine Verbindung her oder verweigert den Start, statt dieselbe Adresse doppelt zu binden. Pro Host und Betriebssystembenutzer gilt: ein hermes serve und ein hermes gateway run, die jeweils alle profiles multiplexen. Wenn Sie einen gateway für ein profile starten, das der laufende Multiplexer bereits bedient, verbindet sich der Befehl lediglich und wird mit Status 0 beendet. Bedient er dieses profile noch nicht, fordert Hermes ihn auf, profiles/ erneut einzulesen, und stellt die Verbindung her, sobald dies geschehen ist. Kann der Multiplexer das profile nicht bedienen, verweigert der Befehl den Start, statt unbemerkt einen zweiten gateway zu starten. --replace richtet sich nun gegen diesen Hostprozess, unabhängig davon, welches profile ihn gestartet hat, und --force überspringt die Rückfrage vollständig, wenn der Eigentümerprozess feststeckt. Eigenständige gateways können weiterhin parallel betrieben werden: Handelt es sich beim laufenden gateway um den eigenständigen, nicht multiplexenden gateway eines anderen profile, startet Ihr profile wie bisher einen eigenen daneben, bis diese Migration erzwungen wird (#109417). Werden zwei gateways gleichzeitig gestartet, wird derjenige, der die Hostsperre nicht erhält, mit Status 75 beendet; jeder von Hermes erzeugte Supervisor versucht den Start daraufhin erneut. Zu diesem Zeitpunkt ist der Datensatz des Gewinners bereits vorhanden, sodass der erneute Versuch gemäß den obigen Regeln eine Verbindung herstellt oder den Start verweigert. Die Sperren und der Rendezvous-Datensatz befinden sich unter $HERMES_GATEWAY_LOCK_DIR, andernfalls unter $XDG_STATE_HOME/hermes/gateway-locks (standardmäßig ~/.local/state/hermes/gateway-locks), und gelten jeweils für den Betriebssystembenutzer. Ein Datensatz, dessen PID nicht mehr läuft oder von einem anderen Prozess wiederverwendet wurde, gilt als veraltet und wird ignoriert, sodass ein abgestürzter gateway den nächsten Start nicht blockiert. Die Desktop-App folgt derselben Regel und verbindet sich mit dem laufenden Host-Backend, statt ein zweites zu starten.51
Seit v0.21.5 ist Multiplexing nicht mehr optional. gateway.multiplex_profiles hat genau einen gültigen Wert: true. Ein fehlender Schlüssel wird als aktiviert behandelt und in die config.yaml des Standard-profile geschrieben; ein explizites false wird direkt in der Datei zu true umgeschrieben. Dabei erscheint einmalig ein eingerahmter Hinweis beim Start dieses gateway und erneut in der Zusammenfassung des nächsten hermes update. Zwei Steuerungsmöglichkeiten ersetzen die frühere Abwahloption. Um ein einzelnes profile offline zu nehmen, ohne die Bots aller anderen zu stoppen, führen Sie hermes -p <name> gateway stop aus: Der Host parkt es (über eine Markierungsdatei profiles/<name>/gateway.parked), und hermes -p <name> gateway start hebt das Parken auf. Die Schaltflächen „Stop“ und „Start“ im Dashboard und in der Desktop-App bewirken dasselbe. Ein benanntes profile, das weiterhin einen eigenen gateway benötigt, setzt gateway.standalone: true in seiner eigenen config.yaml; der Host bedient es nie, und seine Befehle stop/start wirken auf seinen eigenen Prozess. Die Dokumentation bezeichnet diesen Schlüssel als „vorübergehende Kompatibilitätslösung“ und nicht als unterstützte Topologie; beim Standard-profile wird er unter Ausgabe einer Warnung ignoriert. Eine Aufteilung auf verschiedene Betriebssystembenutzer oder ein HERMES_HOME außerhalb von profiles/ im Standard-Ausgangsverzeichnis erfordert weiterhin --force.53
Benutzerautorisierung und Pairing
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Pairing-Codes verhindern, dass beliebige Fremde mit Ihrem gateway kommunizieren. Ein Benutzer sendet über seine Messaging-Plattform einen Pairing-Code; Sie genehmigen ihn mit hermes pairing approve. Danach ist der Benutzer autorisiert.6
unauthorized_dm_behavior legt fest, was eine fremde Person vor dem Pairing als Antwort auf eine Direktnachricht erhält: pair sendet per Direktnachricht einen Pairing-Code, ignore verwirft die Nachricht ohne Rückmeldung und decline, der im Zeitfenster von v0.21.4 ergänzte Wert, sendet eine einmalige höfliche Ablehnung und bleibt diesem Absender gegenüber anschließend 24 Stunden lang stumm (#88028). Die Ablehnung wird pro Plattform und Absender auch über Aliasse hinweg dedupliziert, und ihr Text stammt aus unauthorized_dm_decline_message (einem globalen Schlüssel; ein leerer Wert verwendet die integrierte Antwort: „Hallo! Ich bin ein persönlicher Assistent und kann nur mit meinem Besitzer chatten, daher kann ich Ihnen leider nicht direkt helfen.“). Legen Sie das Verhalten global oder für jede Plattform einzeln dort fest, wo es der Einrichtungsassistent einträgt:
# ~/.hermes/config.yaml
unauthorized_dm_behavior: decline # global; gateway.unauthorized_dm_behavior also works
unauthorized_dm_decline_message: "" # empty = built-in reply
platforms:
telegram:
unauthorized_dm_behavior: pair # per-platform value always wins
Wenn nichts festgelegt ist, hängt der tatsächlich verwendete Standardwert von Ihren Zulassungslisten ab. Sind keine konfiguriert, lautet er pair. Sobald irgendeine Zulassungsliste festgelegt wurde (GATEWAY_ALLOWED_USERS oder die Variable einer Plattform für zugelassene Benutzer, zugelassene Gruppenbenutzer oder zugelassene Gruppenchats), ändert er sich zu ignore, da die Zulassungsliste einen bewusst eingeschränkten gateway signalisiert und das Senden von Codes an unbekannte Kontakte störend wirkt und möglicherweise Informationen preisgibt (#9337). Ein globales ignore oder decline setzt diese Regel außer Kraft, ein globales pair hingegen nicht, weil es nicht vom Standardwert zu unterscheiden ist. Wenn Sie Pairing zusammen mit einer Zulassungsliste beibehalten möchten, legen Sie pair für jede Plattform einzeln fest. (Die eigene dm_policy eines Plattformadapters wird, sofern festgelegt, vor der Zulassungslistenregel berücksichtigt.) E-Mail ist wie ein Posteingang aufgebaut und verwendet standardmäßig ignore, sofern nicht der eigene plattformspezifische Schlüssel eine andere Einstellung aktiviert; ein globaler Wert gilt dafür nicht. Wenn Sie eine Plattform ohne Zulassungsliste konfigurieren, bietet hermes gateway setup „Ablehnen“ als eine der Antwortmöglichkeiten an.51
Geplante Aufgaben (Cron)
Hermes verfügt über ein erstklassiges cron-System, in dem Jobs Agentenaufgaben und keine Shell-Befehle sind. Jeder geplante Job wird mit einem neuen AIAgent, dem konfigurierten Prompt und optional angehängten skills ausgeführt und übermittelt die Ergebnisse an eine beliebige Plattform:36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
Alternativ können Sie einen Job direkt in einem Messaging-Chat im Dialog erstellen:
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
Der Agent richtet den cron-Job über seine Tools ein. Jobs werden dauerhaft in JSON gespeichert und bleiben auch nach Neustarts erhalten.3
Mit v0.21.0 erhielten geplante Jobs Gedächtnis und Urteilsvermögen. Vier Mechanismen, die alle mit dem Tag v2026.8.31 verifiziert wurden:3537
- Kontinuität.
continuity=truefügt bei jeder Ausführung die letzte eigene Ausgabe eines Jobs ein, sodass ein Scout oder Monitor „aufwacht, sieht, was er beim letzten Mal gemeldet hat, Duplikate vermeiden und dort weitermachen kann, wo er aufgehört hat“. Die eingefügte Anweisung lautet „avoid repeating what was already reported“, die erste Ausführung bleibt unverändert, und intern wird das Flag als reservierter Eintragselfincontext_fromgespeichert. Sie können es mithermes cron create ... --continuitysowiehermes cron edit <job_id> --continuity/--no-continuityumschalten.37 - Dauerhafte Notizblöcke. Jeder Job erhält einen kleinen KV-Zwischenspeicher für Cursor, Wasserzeichen und Beobachtungslisten (16 KB pro Wert, 64 KB pro Job – er wird bei jeder Ausführung in den Prompt eingefügt, weshalb die Begrenzungen bewusst gewählt sind). Geschrieben wird er mit
hermes cron notepad <job_id> set <key> <value>, das der laufende Agent über sein Terminal-Tool aufruft.37 - Monitor-Modus. Ein Job kann eine kostengünstige Quelle vom Typ
monitor_script/monitor_urleinbinden, die bei jedem Durchlauf zuerst ausgeführt wird: Eine unveränderte Ausgabe (als exakte Bytefolge verglichen) unterdrückt die Agentenausführung vollständig – kein LLM-Aufruf, keine Zustellung, sondern eine stilleno_change-Ausführung. Bei einer Änderung wird hingegen ein Diff-Block eingefügt und der Agent normal ausgeführt. Sorgen Sie bei Monitor-Skripten für eine stabile Ausgabe, da sonst jeder Durchlauf wie eine Änderung wirkt.37 - Reasoning-Aufwand pro Job und Zustellung an Bot Chat. Mit
--reasoning-effortwird die Denktiefe eines Jobs (nonebisultra) festgelegt, wobei die globalen und modellspezifischen Einstellungen für die Ausführungen dieses Jobs überschrieben werden.deliver=bot-chatstellt die Ausgabe außerdem als echte eingehende Nachricht in der kanonischen Bot-Chat-Sitzung eines profile zu. Dort „kümmert sich der Bot um alles, was eine Aktion erfordert, und antwortet in seinem Chat“, statt dass ein Mensch lediglich einen Kanal mitliest.37
MCP-Integration
Hermes unterstützt das Model Context Protocol sowohl als Client als auch als Server:6
Als Client — verbinden Sie Hermes mit externen MCP-Servern, um dessen Tool-Angebot zu erweitern:
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
hermes mcp login <name> # Force re-auth for an OAuth server (--flow browser|device)
hermes mcp reauth [--all] # Re-authenticate one OAuth server, or every one
Oder nehmen Sie die Konfiguration manuell in config.yaml vor:14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Seit v0.19.0 werden MCP-Tools dem Modell nach dem Namensschema mcp__server__tool bereitgestellt. Jeder Tool-Name enthält somit den Namen seines Servers, sodass es nicht mehr zu Konflikten kommt, wenn zwei Server dasselbe Tool anbieten. Außerdem erscheinen Protokollbenachrichtigungen von MCP-Servern in agent.log.60
v0.21.1 ergänzt einen Gerätecode-Ablauf für MCP-OAuth: hermes mcp login <name> akzeptiert --flow {browser,device}. browser bezeichnet den bestehenden PKCE-Ablauf, device eine Gerätecode-Anmeldung gemäß RFC 8628 für Headless- oder Remote-Rechner; das Flag überschreibt die Konfiguration oauth.flow des Servers. Im selben Release-Zeitraum wird die profile-Zugehörigkeit während sämtlicher OAuth-Sitzungen durchgesetzt, fehlerhafte Metadaten-Caches für OAuth werden ignoriert, statt einen Server zu blockieren, und Desktop-MCP-OAuth wird über clientlokale Callbacks weitergeleitet. -t/--toolsets filtert nun außerdem, welche konfigurierten MCP-Server gestartet werden, sodass bei einem eingegrenzten Aufruf nicht benötigte Server keinen Kaltstart durchlaufen.44
v0.21.0 macht die MCP-Oberfläche der Desktop-Anwendung zu einer Kommandozentrale: Server und Katalog werden auf einer Seite zusammengeführt, ein Drag-and-drop-Import nach dem Prinzip „paste anything“ wird unterstützt, Hintergrundprüfungen des Systemzustands weisen auf ablaufende Authentifizierungen hin, bevor ein Tool-Aufruf fehlschlägt, eine Kosten- und Nutzungsübersicht für die gesamte Serverflotte zeigt geschätzte Schema-Tokenmengen sowie die Nutzung der vergangenen 30 Tage pro Server an, und über hermes://-Deep-Links können Sie einen MCP-Server nach ausdrücklicher Bestätigung installieren.35
Das Release-Fenster von v0.21.4 ergänzt mcp.discovery_concurrency (Standardwert 4; 0 = unbegrenzt, #117373): eine Obergrenze dafür, zu wie vielen konfigurierten MCP-Servern die Erkennung gleichzeitig eine Verbindung aufbaut. Die Verbindung zu jedem Server wird weiterhin hergestellt – die Begrenzung verhindert lediglich, dass dies bei allen gleichzeitig geschieht. Bei einem negativen Wert oder einer Zahl, die keine Ganzzahl ist, wird eine Warnung protokolliert und auf den Standardwert zurückgegriffen.51
Als Server — stellen Sie Hermes-Unterhaltungen anderen Agenten zur Verfügung:
hermes mcp serve
hermes mcp serve -v # Verbose
Kontextkomprimierung
Hermes komprimiert lange Unterhaltungen automatisch, damit sie in das Kontextfenster Ihres Modells passen. Das Zusammenfassungsmodell für die Komprimierung wird über einen separaten LLM-Aufruf angesprochen – dafür können Sie einen beliebigen Anbieter oder Endpunkt verwenden.4 Seit v0.20.6 verwendet die Richtlinie für das beibehaltene Ende standardmäßig lean (compression.tail_mode: lean). Beim Tag befinden sich die Einstellungen für Modell, Anbieter und Endpunkt des Zusammenfassungsmodells unter auxiliary.compression.* statt unter den älteren Schlüsseln compression.summary_*. Veraltete Schlüssel werden beim ersten Laden automatisch migriert (Konfigurationsversion 17).3031
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
threshold_tokens: null # Optional absolute token cap -- trigger fires at the lower of ratio vs cap
target_ratio: 0.20 # Fraction of threshold to preserve as recent tail (legacy tail mode)
tail_mode: lean # Tail retention: "lean" (default) or "legacy"
protect_last_n: 20 # Min recent messages to keep uncompressed
protect_first_n: 3 # Non-system head messages pinned across compactions
auxiliary:
compression:
model: "" # Empty = main chat model; e.g. "google/gemini-3-flash-preview"
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
base_url: null # Custom OpenAI-compatible endpoint (overrides provider)
Was tail_mode festlegt. legacy behält ein wörtliches Ende in der durch target_ratio bestimmten Größe bei – bei großen Kontextfenstern oder erhöhten Schwellenwerten werden dadurch pro Komprimierung 100–240K Token gehortet. lean behält stattdessen ein begrenztes wörtliches Ende von 2,5 % des Kontextfensters bei (mindestens 10K, höchstens 25K) und wahrt die Kontinuität über die Zusammenfassung: ein detailliertes Sitzungsprotokoll des komprimierten Bereichs, in dem Bezeichner erhalten bleiben (ein zusätzlicher Aufruf des Zusammenfassungsmodells pro Versuch), einen mechanisch extrahierten Ankerindex (PR-Nummern, SHAs, Pfade, Fehlerzeichenfolgen – per Regex, niemals paraphrasiert), jedes echte Benutzerstatement als wörtliches Zitat sowie einen session_search-Wiederherstellungsverweis, über den der Agent erneut auf wegkomprimierte Inhalte zugreifen kann. Das in der Dokumentation angegebene Messergebnis für reale Sitzungen mit 500K Token: etwa 49K statt etwa 162K beibehaltene Token. Alte Tool-Ergebnisse innerhalb des lean-Endes werden auf einzeilige Platzhalter mit einem Wiederherstellungsverweis reduziert; unbekannte tail_mode-Werte greifen auf lean zurück.31
auxiliary.compression.provider |
auxiliary.compression.base_url |
Ergebnis |
|---|---|---|
auto (Standard) |
nicht festgelegt | Besten verfügbaren Anbieter automatisch erkennen |
nous / openrouter / usw. |
nicht festgelegt | Diesen Anbieter und dessen Authentifizierung erzwingen |
| beliebig | festgelegt | Benutzerdefinierten Endpunkt direkt verwenden (Anbieter wird ignoriert) |
Das Zusammenfassungsmodell muss ein Kontextfenster unterstützen, das mindestens so groß wie das Ihres Hauptmodells ist, da es den vollständigen mittleren Abschnitt der Unterhaltung in einem einzigen Aufruf erhält. Ist sein Kontextfenster kleiner, schlägt der Aufruf fehl und die mittleren Gesprächsrunden werden ohne Zusammenfassung verworfen.431
Warnungen bei knappem Budget
Wenn der Agent an einer komplexen Aufgabe mit vielen Tool-Aufrufen arbeitet, kann er sein Iterationsbudget (seit v0.20.0 standardmäßig 500 statt zuvor 90 Runden) aufbrauchen, ohne dies zu bemerken. Bei knappem Budget wird das Modell automatisch gewarnt:4
| Schwellenwert | Stufe | Was das Modell sieht |
|---|---|---|
| 70 % | Vorsicht | [BUDGET: 350/500. 150 iterations left. Start consolidating.] |
| 90 % | Warnung | [BUDGET WARNING: 450/500. Only 50 left. Respond NOW.] |
Stream-Zeitüberschreitungen
Für die LLM-Streaming-Verbindung gelten zwei Zeitüberschreitungsebenen, die sich für lokale Anbieter (localhost, LAN-IPs) automatisch anpassen:4
| Zeitüberschreitung | Standard | Lokale Anbieter | Umgebungsvariable |
|---|---|---|---|
| Socket-Lesezeitüberschreitung | 120s | Automatisch auf 1800s erhöht | HERMES_STREAM_READ_TIMEOUT |
| Erkennung veralteter Streams | 180s | Automatisch deaktiviert | HERMES_STREAM_STALE_TIMEOUT |
| API-Aufruf (ohne Streaming) | 1800s | Unverändert | HERMES_API_TIMEOUT |
Die Socket-Lesezeitüberschreitung wird für lokale Endpunkte auf 30 Minuten erhöht, da lokale LLMs beim Prefill großer Kontexte mehrere Minuten benötigen können, bevor sie das erste Token ausgeben.4
Lokales Web-Dashboard (v0.9.0+)
Ein browserbasiertes Dashboard, mit dem Sie Ihren Hermes Agent lokal verwalten können. Konfigurieren Sie Einstellungen, überwachen Sie Sitzungen, durchsuchen Sie skills und verwalten Sie Ihr gateway, ohne Konfigurationsdateien oder das Terminal anzufassen.16 Starten Sie es mit hermes dashboard. Für neue Benutzer, die eine GUI bevorzugen, ist dies der einfachste Einstieg.
Überwachung von Hintergrundprozessen (v0.9.0+)
Mit watch_patterns können Sie Muster festlegen, die in der Ausgabe von Hintergrundprozessen überwacht werden, und sich bei Übereinstimmungen in Echtzeit benachrichtigen lassen.16 Überwachen Sie Fehler, warten Sie auf bestimmte Ereignisse („listening on port“) oder verfolgen Sie Build-Protokolle – ganz ohne Polling. Zusammen mit notify_on_complete aus v0.8.0 (das beim Abschluss einer Hintergrundaufgabe benachrichtigt) verfügt Hermes nun über eine vollständige Beobachtungsebene für Hintergrundprozesse.15
Pluggable Context Engine (v0.9.0+)
Die Kontextverwaltung ist jetzt über hermes plugins als austauschbarer Baustein verfügbar. Sie können benutzerdefinierte context engines einsetzen, die steuern, was der Agent bei jedem Durchlauf sieht – durch Filterung, Zusammenfassung oder domänenspezifische Kontextinjektion.16 Dadurch wird die Kontextstrategie von der zentralen Agentenschleife entkoppelt, sodass sich der Kontext projekt- oder domänenspezifisch anpassen lässt.
Sicherung und Wiederherstellung (v0.9.0+)
hermes backup erstellt ein vollständiges Archiv Ihrer Konfiguration, Sitzungen, skills und Ihres Speichers. hermes import stellt die Daten aus einem Sicherungsarchiv wieder her.16 Nutzen Sie dies, um zwischen Rechnern zu migrieren, vor größeren Änderungen Momentaufnahmen anzulegen oder eine bewährte Konfiguration mit Teammitgliedern zu teilen.
Termux-/Android-Unterstützung (v0.9.0+)
Hermes läuft über Termux nativ auf Android. Angepasste Installationspfade, TUI-Optimierungen für mobile Bildschirme, Unterstützung für Sprach-Backends und der Befehl /image funktionieren direkt auf dem Gerät.16
Sicherheitshärtung (v0.13.0+)
v0.13.0 behob 8 P0-Sicherheitsprobleme und änderte eine Standardeinstellung zugunsten des Benutzers.18 Mit v0.14.0 folgen weitere 12 behobene P0- und 50 behobene P1-Probleme, darunter Härtungsmaßnahmen gegen sudo-Brute-Force-Angriffe und für sudo-stdin, Korrekturen für die Umgehung von Schutzmaßnahmen gegen gefährliche Befehle, die Bereinigung von Toolfehlern vor der erneuten Einspeisung in das Modell, die Authentifizierung von Dashboard-Plugin-API, SSRF-Abdeckung für den skills-hub sowie die Prüfung auf Sicherheitshinweise zur Lieferkette während der Installation.19
| Korrektur | Änderung |
|---|---|
| Standardmäßig aktivierte Geheimnisredaktion | Zuvor musste sie ausdrücklich aktiviert werden. In Protokollen und Uploads über hermes debug share werden Geheimnisse redigiert, sofern dies nicht ausdrücklich deaktiviert wurde. v0.12.0 hatte die Redaktion nach Berichten über beschädigte Nutzdaten standardmäßig deaktiviert; v0.13.0 aktiviert sie wieder als sicherere Grundeinstellung. |
| Guild-übergreifende Umgehung bei Discord-Direktnachrichten (CVSS 8.1) | Zulassungslisten für Discord-Rollen sind jetzt auf die jeweilige Guild beschränkt. Damit wurde ein Pfad geschlossen, über den die Rolle eines Benutzers in einer Guild Direktnachrichten über alle Guilds hinweg autorisierte. |
| Standardeinschränkungen für WhatsApp | Der WhatsApp-Adapter weist unbekannte Personen standardmäßig ab und antwortet niemals im Selbst-Chat. |
| TOCTOU-Zeitfenster bei MCP OAuth | Eine Race Condition beim Speichern von Zugangsdaten in MCP OAuth-Abläufen wurde behoben. |
TOCTOU bei CLI auth.json |
Ein vergleichbares TOCTOU-Zeitfenster im Zugangsdaten-Writer des CLI-Authentifizierungsspeichers wurde geschlossen. |
| SSRF-Mindestschutz im Browser | Das hybride Routing erzwingt einen SSRF-Mindestschutz für Cloud-Metadaten gegen Anfragen, die 169.254.169.254 oder entsprechende Adressen zu erreichen versuchen. |
| Prüfung von cron-Prompts auf Prompt-Injection | Zusammengesetzte Prompts (einschließlich geladener skill-Inhalte) werden vor der Ausführung des cron-Jobs auf Prompt-Injection geprüft. |
Redaktion bei hermes debug share |
Beim Hochladen über Debug Share werden Protokollinhalte zum Zeitpunkt des Uploads redigiert, nicht nur beim Schreiben. |
Wenn Sie eine Hermes-Bereitstellung betreuen, sollten Sie v0.13.0 und v0.14.0 als sicherheitsrelevante Upgrades behandeln, nicht lediglich als Funktionsupdates. v0.13.0 schließt die Guild-übergreifende Discord-Umgehung und zwei TOCTOU-Zeitfenster; v0.14.0 ergänzt eine weitere Härtungsrunde für die sudo-Verarbeitung, die erneute Einspeisung von Toolfehlern, Plugin-API, SSRF im skills-hub und Sicherheitshinweise zu Abhängigkeiten.
v0.21.0 bringt eine vierte Welle. Schreibzugriffe auf geschützte Dateien mit Agentenanweisungen – AGENTS.md, CLAUDE.md, SOUL.md, .cursorrules, skills und Speicher – erfordern nun immer eine Genehmigung. Dadurch kann ein durch Prompt-Injection manipulierter Agent seine eigenen dauerhaften Anweisungen nicht unbemerkt umschreiben. Die Sperre ist standardmäßig aktiviert (security.protected_instruction_files: true, mit einer über fnmatch ausgewerteten Liste zusätzlicher Basisnamen in protected_instruction_extra_patterns). Der Quelltext benennt den dadurch geschlossenen Angriffsvektor ausdrücklich: „eine eingeschleuste Anweisung, die AGENTS.md / CLAUDE.md / SOUL.md bearbeitet“. Zudem wird darauf hingewiesen, dass Anweisungsdateien aus Verzeichnisbäumen des aktuellen Arbeitsverzeichnisses geladen werden und daher „jede AGENTS.md an einem Ort, von dem aus der Agent später ausgeführt werden könnte, ein aktives Ziel ist“.3539 Dieselbe Version schließt Lücken, durch die Geheimnisse über Terminalfehler, Lesezugriffe auf .env-Dateien, checkpoints und ACP-Protokolle offengelegt werden konnten; erweitert das Genehmigungssystem um destruktive Windows-Befehle und -Pfade; sorgt mithilfe einer stabilen TCC-Signaturidentität dafür, dass macOS-Berechtigungen Updates überstehen (einmalige Einrichtung: hermes desktop --setup-tcc-identity, nur unter macOS, erfordert openssl/security/codesign); entfernt nach einer Kompromittierung des vorgelagerten Projekts den Blender-MCP-Katalogeintrag und den zugehörigen skill; und ergänzt Plugin-Installationen um Tier-1-Sicherheitsprüfungen.3539
v0.21.6 bringt eine fünfte Welle. Dazu gehören vier von Tenable Research gemeldete Korrekturen an der Dashboard-Authentifizierung (Spoofing von X-Forwarded-For zur Umgehung der Anmelderatenbegrenzung, unbegrenzte Schreibvorgänge in das Authentifizierungs-Audit durch nicht authentifizierte Anfragen, eine fehlende Begrenzung der Anfragekörpergröße auf den öffentlichen /auth/-Routen sowie Anmeldecodes, die an eine nicht auf Loopback beschränkte Weiterleitungsadresse gesendet wurden und damit eine Sitzungsübernahme ermöglichten), automatische git-Aufrufe, die vor dem ersten Prompt nicht mehr die eigenen, nicht vertrauenswürdigen clean-, smudge- oder process-Filterprogramme eines Repositorys ausführen, sowie ein mit parseaddr ausgewerteter From-Header für E-Mails, sodass ein in Anführungszeichen gesetzter Anzeigename die Zulassungsliste nicht passieren kann. Einzelheiten finden Sie unter Neuerungen in v0.21.6.5455
Architektur für Praktiker
Dieser Abschnitt richtet sich an alle, die verstehen möchten, was unter der Haube geschieht, um Fehler zu beheben, Hermes zu erweitern oder die Performance einschätzen zu können. Er fasst die vorgelagerte Architekturdokumentation zusammen.3
Einstiegspunkte → AIAgent
Jeder Einstiegspunkt in Hermes ruft letztlich AIAgent.run_conversation() auf:
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
Das Diagramm wurde aus der vorgelagerten Architekturdokumentation übernommen.3
„47 Tools / 20 Toolsets“ gegenüber „28 Tools“ in Ihrem Banner. Die Angabe „47 Tools“ entspricht der Gesamtzahl im Tool-Register des vorgelagerten Repositorys – also allen Tools, für die Hermes über sämtliche Toolsets hinweg Quellcode mitliefert. Ihre tatsächlich ausgeführte CLI zeigt im Startbanner eine niedrigere Zahl an (die Installation, anhand derer ich diesen Leitfaden überprüft habe, meldet 28 tools / 89 skills). Das ist kein Fehler. Viele Toolsets sind optional und müssen in config.yaml unter toolsets: ausdrücklich aktiviert werden – etwa Adapter für Messaging-Plattformen, Browserautomatisierung und aufwendigere Scraping-Tools. Die Gesamtzahl im Register steht für „verfügbar“, die Zahl im Banner für „in Ihrem aktuellen profile aktiviert“. Mit hermes tools --list prüfen Sie, welche Toolsets aktiv sind. Einzelne Toolsets können Sie über den Block toolsets: in ~/.hermes/config.yaml aktivieren oder deaktivieren (oder innerhalb einer laufenden Sitzung mit /tools list / /tools enable <name> / /tools disable <name> – das Entfernen eines Tools setzt die Sitzung zurück, damit der Agent sein Tool-Manifest neu erstellt).
Die drei API-Modi
Hermes abstrahiert die Unterschiede zwischen Anbietern in drei API-Modi, die zur Laufzeit automatisch ausgewählt werden:3
| API-Modus | Verwendet von |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, die meisten benutzerdefinierten Endpunkte und alle OpenAI-kompatiblen Server |
codex_responses |
OpenAI Codex (über ChatGPT OAuth) |
anthropic_messages |
Anthropic API (nativ), Anthropic OAuth, Anthropic-kompatible Proxys |
Der Resolver runtime_provider.py ordnet (provider, model)-Tupel für mehr als 18 Anbieter (api_mode, api_key, base_url) zu und verarbeitet dabei OAuth-Abläufe, Anmeldedaten-Pools und die Auflösung von Aliasen.3
Datenfluss durch eine CLI-Sitzung
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ agent.prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
Aus der vorgelagerten Architekturseite.3
Reihenfolge der Prompt-Zusammenstellung
Der Prompt-Stack umfasst:13
SOUL.md(Agent-Identität – oder die integrierte Ersatzversion, falls nicht verfügbar)- Tool-spezifische Verhaltenshinweise
- Speicher-/Benutzerkontext (
MEMORY.md,USER.md) - Hinweise zu Skills
- Kontextdateien (
AGENTS.md,.cursorrules) - Zeitstempel
- Plattformspezifische Formatierungshinweise
- Optionale System-Prompt-Overlays wie
/personality
SOUL.md bildet das Fundament – alles Weitere baut darauf auf.13
Sitzungsspeicherung
SQLite-basierte Sitzungsspeicherung mit FTS5-Volltextsuche. Sitzungen verfügen über eine Abstammungsverfolgung (Eltern-/Kindbeziehungen über Komprimierungen hinweg), plattformspezifische Isolation und atomare Schreibvorgänge mit Konfliktbehandlung.3
Wenn der Speicher bei einer v0.21.x-Installation Probleme bereitet, verwenden Sie v0.21.2 oder neuer: Diese Version behob die für v0.21.0 typische Anfälligkeit von state.db (zweite Schreibprozesse lösten gegenseitig ihre Sperren auf, intakte Datenbanken wurden als beschädigt gemeldet, und eine einzige fehlerhafte Zeile brachte sessions list zum Scheitern). Außerdem wurde die Koordination gehosteter Räume aus dem Stammspeicher in eine eigene shared-state.db verlagert, sodass profile-gateways den zentralen Sitzungsspeicher nie mit Schreibzugriff öffnen. hermes doctor unterscheidet nun zwischen strukturellen Schäden und Schäden am FTS-Index. Bei FTS-Schäden wird die Suche eingeschränkt, statt die Anfrage scheitern zu lassen. hermes sessions recover --inspect-only (offline, nicht destruktiv und an ein profile gebunden) meldet die Lesbarkeit kanonischer Tabellen, ohne eine Ausgabedatenbank anzulegen – der Unterbefehl existierte bereits vor diesem Versionsfenster, war hier jedoch noch nicht dokumentiert. Siehe Neuerungen in v0.21.2.48 Für einen Speicher, der im falschen SQLite-Journalmodus feststeckt, führte das v0.21.4-Versionsfenster den Offline-Konverter hermes sessions set-journal-mode delete|wal ein (siehe die Zeile zu hermes sessions unter Befehle der obersten Ebene).51
Plugin-System
Es gibt drei Quellen für die Erkennung: ~/.hermes/plugins/ (Benutzer), .hermes/plugins/ (Projekt) und pip-Einstiegspunkte. Plugins registrieren Tools, Hooks und CLI-Befehle über eine Kontext-API. Speicheranbieter sind ein spezialisierter Plugin-Typ unter plugins/memory/.3 Seit v0.21.6 hält plugins.isolation: host (Standardwert: in_process) den Code von Python-Plugins Dritter aus dem Hermes-Prozess heraus: Allgemeine Plugins werden pro profile in einem eigenen plugin-host-Prozess geladen und kommunizieren ausschließlich über ctx mit Hermes. Alle anderen Pfade, die Benutzercode innerhalb des Prozesses importieren würden (Kategorieanbieter, Profile von Modellanbietern und APIs von Dashboard-Plugins), verweigern dies unter Angabe eines Grundes; mitgelieferte Plugins verbleiben im Prozess. Wenn sich ein Plugin aufhängt oder abstürzt, fällt dadurch sein host aus, nicht das gateway.55 Seit v0.21.2 gibt es außerdem einen kuratierten, per SHA fixierten Plugin-Katalog, den Sie durchsuchen und aus dem Sie Plugins anhand ihres Namens installieren können, sowie hermes plugins pack für „deklarative, gemeinsam nutzbare Plugin-Sets“: Eine einzige hermes-pack.yaml fixiert mehrere Plugins auf exakte Commit-SHAs. Pack-Installationen werden in gewöhnliche fixierte Installationen aufgefächert, während die Zustimmung zu Berechtigungen weiterhin für jedes Plugin einzeln erfolgt.48
Im v0.21.4-Versionsfenster wurde dieser Katalog von einer CLI-Oberfläche zu einem mitgelieferten Artefakt ausgebaut. Das Verzeichnis plugin-catalog/ des Repositorys wuchs von 9 Einträgen bei v2026.9.14 auf 228 bei v2026.9.21 – ein geprüfter YAML pro Plugin (Name, Repository, Maintainer, Stufe, Kategorie und Berechtigungen), fixiert auf einen exakten 40-stelligen Commit-SHA, wobei die Aufnahme in das Verzeichnis zugleich die Zulassung darstellt. Die Daten werden als plugin-catalog.json für die CLI veröffentlicht (live abgerufen und unter ~/.hermes/cache/ zwischengespeichert). Die Dokumentationswebsite erzeugt nun aus denselben Daten jeweils eine Seite pro Plugin (/docs/plugins/<name>) und Autor (/docs/plugins/by/<slug>). Jede Seite stellt die README des Plugins dar, die vom fixierten Commit und niemals von der Spitze eines Branches abgerufen wird. Dabei entfernt eine zur Build-Zeit angewendete Positivliste rohe HTML; die Sortierung nach Hinzufügungs- oder Aktualisierungsdatum basiert auf den Committer-Daten. Die zehn Community-Plugins, die in der v0.21.4-Veröffentlichung genannt werden, sind beim Tag allesamt unter ihren tatsächlichen Katalog-Slugs enthalten: hermes-tailscale, hermes-ssh, shodan, hermes-terminal, hermes-rss (zusätzlich gibt es ein separates rss-reader), hermes-resetwatch, done-bell, kiwi, cognee und web-octen. In der Desktop-Version kann ein Plugin nun über den Plugins-Hub hinter einem Bestätigungsdialog deinstalliert werden – Katalog-Plugins über plugins.manage remove, eigenständige Desktop-Plugins über den Electron-Loader.51
hermes plugins # Interactive enable/disable UI
hermes plugins browse # List every curated plugin catalog entry (v0.21.2+)
hermes plugins search <query> # Search the curated plugin catalog (v0.21.2+)
hermes plugins install <name|repo> # Install from the curated catalog, a Git URL, or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
hermes plugins pack install <src> # Shareable SHA-pinned plugin sets; also: pack export, pack show (v0.21.2+)
Kompatibilitätsfenster (v0.21.1), inzwischen abgelaufen: Externe Plugins mussten bis zum 14. September 2026 von den Importpfaden vor der Zerlegung migriert werden. Durch die Zerlegung im September 2026 (PR #102117) wurden interne Komponenten verschoben, die Plugins häufig importierten. Eine temporäre
COMPAT_MANIFEST.md-Ebene exportierte 1.148 verschobene öffentliche Namen erneut aus ihren alten Modulen und warnte einmal pro Name und Prozess (HermesPluginCompatWarning). Die Entfernung trat planmäßig am 14. September 2026 in Kraft, und zwar über eine Datumssperre im ausgelieferten Code (COMPAT_REMOVAL_DATEinhermes_cli/plugin_compat.py; eine Rücknahme des Codes war nicht erforderlich): Seit diesem Datum wird ein betroffenes Plugin deaktiviert – es wird nicht geladen, und ein roter Hinweis erscheint im CLI-Banner, inhermes doctorundhermes update; zudem werden einmalig ein Desktop-Dialog und der Grund inhermes plugins listangezeigt. Für Autoren:hermes plugins compat <path>gibt weiterhin jede Fundstelle im Formatfile:linesamt altem Pfad -> neuem Pfad aus und beendet sich mit Status 1, solange noch Einträge vorhanden sind (mit--jsonerhalten Sie eine maschinenlesbare Ausgabe). Benutzer, die auf ein nicht mehr gepflegtes Plugin angewiesen sind, können inconfig.yamlweiterhinplugins.allow_deprecated_imports: truefestlegen – der Wert muss ein literaler YAML-Boolescher Wert sein, keine Zeichenfolge in Anführungszeichen. Dies funktioniert weiterhin, weil die Rücknahme, welche die alten Pfade löscht, noch nicht eingespielt wurde: Manifest und Shims sind inv2026.9.14,v2026.9.21,v2026.9.24sowie mit Stand vom 24. September inmainvorhanden (im v0.21.4-Versionsfenster wurde das Kompatibilitätsmodul lediglich angepasst, um Plugin-Scans zwischenzuspeichern und Windows-Pfade zu normalisieren; im v0.21.5-Versionsfenster bliebhermes_cli/plugin_compat.pyunverändert, und entfernt wurden nur die Manifest-Einträge für das gelöschte Hindsight-Modul). Sobald diese Rücknahme eingespielt wird, funktioniert der Ausweg nicht mehr, weil die alten Pfade selbst verschwinden. Abgedeckt waren ausschließlich öffentliche Namen der obersten Ebene; private Namen und Monkeypatch-Schnittstellen für Tests gehörten nie zur Oberfläche und werden nicht wiederhergestellt.4253 Mitv0.21.6ist dieser Ausweg geschlossen: Das Manifest, die Shims, der Scannerhermes plugins compatundplugins.allow_deprecated_importswurden entfernt.hermes_cli/plugin_compat.pybleibt als funktionsloser Stub für Updater erhalten, die noch aus älteren Checkouts ausgeführt werden; ein Plugin, das weiterhin einen Importpfad aus der Zeit vor der Zerlegung verwendet, kann nicht importiert werden.55
Designprinzipien
Aus der vorgelagerten Architekturseite:3
| Prinzip | Praktische Bedeutung |
|---|---|
| Prompt-Stabilität | Der System-Prompt ändert sich nicht während eines Gesprächs. Keine den Cache ungültig machenden Änderungen, außer durch ausdrückliche Benutzeraktionen (/model) |
| Beobachtbare Ausführung | Jeder Tool-Aufruf ist für den Benutzer über Callbacks sichtbar. Fortschrittsanzeigen in der CLI (Spinner) und im gateway (Chatnachrichten) |
| Unterbrechbar | API-Aufrufe und Tool-Ausführungen können während der Ausführung durch Benutzereingaben oder Signale abgebrochen werden |
| Plattformunabhängiger Kern | Eine einzige AIAgent-Klasse dient der CLI, dem gateway, ACP, der Stapelverarbeitung und dem API-Server. Plattformunterschiede befinden sich im Einstiegspunkt |
| Lose Kopplung | Optionale Subsysteme (MCP, Plugins, Speicheranbieter und RL-Umgebungen) verwenden Registermuster und check_fn-Gating anstelle fester Abhängigkeiten |
| Profile-Isolation | Jedes profile erhält ein eigenes HERMES_HOME, eine eigene Konfiguration, einen eigenen Speicher, eigene Sitzungen und eine eigene gateway-PID. Mehrere profiles werden gleichzeitig ausgeführt |
Migration von OpenClaw
Hermes Agent ist der Nachfolger von OpenClaw. Wenn Sie von einer bestehenden OpenClaw-Installation migrieren:65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate liest standardmäßig aus ~/.openclaw (und erkennt außerdem automatisch die veralteten Verzeichnisse ~/.clawdbot und ~/.moldbot) und schreibt die Daten nach ~/.hermes.6
Direkt importiert (mehr als 30 Kategorien): SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills aus 4 Quellverzeichnissen, Standardmodell, benutzerdefinierte Provider, MCP-Server, Tokens und Zulassungslisten für Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), Agent-Standardeinstellungen (Reasoning-Aufwand, Komprimierung, menschliche Verzögerung, Zeitzone, Sandbox), Richtlinien zum Zurücksetzen von Sitzungen (jetzt wirkungslos: Seit v0.21.1 wechseln Timer eine Unterhaltung nicht mehr43), Genehmigungsregeln, TTS-Konfiguration, Browsereinstellungen, Tool-Einstellungen, Ausführungs-Timeout, Befehlszulassungsliste, gateway-Konfiguration und API-Schlüssel aus 3 Quellen.6
Zur manuellen Prüfung archiviert: cron-Jobs, Plugins, Hooks/Webhooks, Speicher-Backend (QMD), Konfiguration der skills-Registry, Benutzeroberfläche/Identität, Protokollierung, Multi-Agent-Konfiguration, Kanalbindungen, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
Bei der Auflösung des API-Schlüssels werden 3 Quellen in dieser Prioritätsreihenfolge geprüft: Konfigurationswerte → ~/.openclaw/.env → auth-profiles.json.6
Fehlerbehebung
„No inference provider configured. Run ‘hermes model’ to choose a provider and model“
Dieser Fehler tritt bei jeder Neuinstallation zuerst auf: Hermes hat noch keinen Provider ermittelt. Die Meldung bedeutet genau das, was sie besagt – keiner der 3 Authentifizierungswege hat einen verwendbaren Provider ergeben. Führen Sie Folgendes aus:
hermes model
Die interaktive Auswahl führt Sie durch alle unterstützten Provider, einschließlich der OAuth-Gerätecodeabläufe (Nous Portal, GitHub Copilot, Anthropic, OpenAI Codex) und benutzerdefinierter Endpunkte für selbst gehostete Server. Falls Sie erwartet haben, dass bereits ein Provider konfiguriert ist, zeigt hermes doctor, welche Zugangsdaten Hermes tatsächlich erkennt. Häufige Ursachen sind ein am falschen Ort hinterlegter API-Schlüssel (er gehört in .env oder muss über hermes config set festgelegt werden, nicht im Shell-Profil), abgelaufene OAuth-Zugangsdaten in ~/.hermes/auth.json oder ein benutzerdefinierter Endpunkt in config.yaml, bei dem base_url verloren gegangen ist. Die Authentifizierungswege werden unter Authentifizierung und Provider ausführlich erläutert.27
„API key not set“
Führen Sie hermes model aus, um Ihren Provider interaktiv zu konfigurieren, oder verwenden Sie hermes config set OPENROUTER_API_KEY your_key. Der Befehl hermes doctor zeigt Ihnen genau, welche Schlüssel fehlen.7
„Context limit: 2048 tokens“ beim Start (lokale Modelle)
Hermes erkennt die Kontextlänge automatisch über den Endpunkt /v1/models Ihres Servers, doch viele lokale Server melden niedrige Standardwerte. Legen Sie die Länge daher ausdrücklich in config.yaml fest:2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Tool-Aufrufe werden als Text angezeigt, statt ausgeführt zu werden
Auf Ihrem Server sind Tool-Aufrufe nicht aktiviert oder das Modell unterstützt sie über die Serverimplementierung nicht.2
| Server | Lösung |
|---|---|
| llama.cpp | Fügen Sie dem Startbefehl --jinja hinzu |
| vLLM | Fügen Sie --enable-auto-tool-choice --tool-call-parser hermes hinzu |
| SGLang | Fügen Sie --tool-call-parser qwen (oder einen geeigneten Parser) hinzu |
| Ollama | Tool-Aufrufe sind standardmäßig aktiviert – prüfen Sie mit ollama show <model>, ob Ihr Modell sie unterstützt |
| LM Studio | Aktualisieren Sie auf Version 0.3.6 oder höher und verwenden Sie ein Modell mit nativer Tool-Unterstützung |
Antworten brechen mitten im Satz ab
Dafür kommen 2 Ursachen infrage:2
- Niedrige Ausgabelimitierung (
max_tokens) auf dem Server – SGLang verwendet standardmäßig 128 Tokens pro Antwort. Legen Sie auf dem Server--default-max-tokensfest oder konfigurieren Siemodel.max_tokensinconfig.yaml. - Erschöpfter Kontext – Das Modell hat sein Kontextfenster vollständig gefüllt. Erhöhen Sie
model.context_lengthoder aktivieren Sie die Kontextkomprimierung in Hermes.
„Connection refused“ von WSL2 zu einem unter Windows gehosteten Modellserver
WSL2 verwendet einen virtuellen Netzwerkadapter mit einem eigenen Subnetz. localhost innerhalb von WSL2 verweist daher auf die Linux-VM und nicht auf den Windows-Host. Es gibt 2 Möglichkeiten:2
Gespiegeltes Netzwerk (Windows 11 22H2 oder höher): Bearbeiten Sie %USERPROFILE%\.wslconfig:
[wsl2]
networkingMode=mirrored
Führen Sie anschließend wsl --shutdown aus und starten Sie WSL neu. localhost funktioniert nun in beide Richtungen.
Host-IP als Ausweichlösung (ältere Windows-Versionen): Ermitteln Sie innerhalb von WSL2 die IP-Adresse des Windows-Hosts und verwenden Sie diese anstelle von localhost:
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
Außerdem muss der Modellserver an 0.0.0.0 statt an 127.0.0.1 gebunden sein. Legen Sie für Ollama OLLAMA_HOST=0.0.0.0 fest, fügen Sie für llama-server/SGLang --host 0.0.0.0 hinzu oder aktivieren Sie in LM Studio „Serve on Network“.2
Das Iterationsbudget ignoriert agent.max_turns
Wenn in der Aktivitätszeile N/90 (oder ein anderer veralteter Höchstwert) angezeigt wird, obwohl in config.yaml der Wert agent.max_turns: 500 festgelegt ist, liegt dies wahrscheinlich an einer veralteten HERMES_MAX_ITERATIONS-Zeile in ~/.hermes/.env: Der Einrichtungsassistent schrieb das Budget früher in beide Speicherorte. Bricht die Startüberleitung aufgrund eines vorherigen Fehlers beim Parsen der Konfiguration ab, setzt sich der verwaiste Wert aus .env unbemerkt durch. Seit v0.21.1 erkennt hermes doctor dieses überschattende Wertepaar, und hermes doctor --fix löscht die Zeile aus .env, sodass config.yaml maßgeblich bleibt.41
Wo befindet sich alles?
hermes status und hermes dump helfen Ihnen dabei weiter. hermes logs list zeigt alle Protokolldateien samt ihrer Größe an. hermes config path gibt den Speicherort der Konfigurationsdatei aus. hermes config env-path gibt den Speicherort der .env-Datei aus.6
FAQ
Was ist der Unterschied zwischen Hermes Agent und Claude Code?
Claude Code ist der offizielle CLI von Anthropic und auf Modelle von Anthropic beschränkt. Hermes Agent ist ein Open-Source-Agent-Framework von Nous Research, das mit jedem OpenAI-kompatiblen Anbieter funktioniert — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google oder Ihrem eigenen selbst gehosteten Endpunkt.12 Außerdem umfasst Hermes ein Messaging-gateway für Telegram/Discord/Slack/WhatsApp/Signal, über das Claude Code nicht verfügt.
Kann ich Hermes mit einem API-Schlüssel von Anthropic verwenden?
Ja. Dafür gibt es 3 Möglichkeiten:2
- Setzen Sie
ANTHROPIC_API_KEYin~/.hermes/.envund führen Siehermes chat --provider anthropic --model claude-sonnet-4-6aus - Führen Sie
hermes modelaus und wählen Sie Anthropic — Hermes verwendet den Anmeldedatenspeicher von Claude Code, sofern verfügbar - Legen Sie als Ausweichlösung manuell ein
ANTHROPIC_TOKEN(Setup-Token oder OAuth-Token) fest
Option 2 empfiehlt sich, wenn Sie Claude Code bereits auf demselben Rechner verwenden — so bleiben aktualisierbare Claude-Anmeldedaten weiterhin aktualisierbar.
Wie wechsle ich den Anbieter, ohne meine Unterhaltung zu verlieren?
Verwenden Sie innerhalb einer Sitzung /model provider:model. Unterhaltungsverlauf, Speicher und skills bleiben vollständig erhalten:9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
Ich habe Anthropic konfiguriert, aber Bildverarbeitung/Web/Komprimierung funktionieren nicht
In aktuellen Builds kann dieses Problem in seiner früheren Form weitgehend nicht mehr auftreten. Standardmäßig (auxiliary.*.provider: "auto") wird jede Hilfsaufgabe — Bildverarbeitung, Genehmigungsklassifizierung, Komprimierung und Sitzungstitel — mit Ihrem primären Chatmodell ausgeführt. Eine reine Anthropic-Konfiguration erledigt diese Aufgaben somit mit dem bereits vorhandenen OAuth. Der frühere Standard (Gemini Flash über OpenRouter → Nous → automatische Codex-Erkennung, mit stillschweigender Einschränkung, falls nichts davon konfiguriert war) wurde entfernt: „auto verwendet jetzt für alle das Hauptmodell, wobei aufgabenspezifische Überschreibungen in config.yaml weiterhin Vorrang haben.“34
Falls eine Hilfsaufgabe weiterhin fehlschlägt, suchen Sie nach einer expliziten aufgabenspezifischen Überschreibung, die auf einen nie konfigurierten Anbieter verweist (auxiliary.<task>.provider / .model in config.yaml), oder nach veralteten Legacy-Schlüsseln: Seit Tag v2026.8.31 wird die Komprimierungszusammenfassung wie jeder andere Hilfsplatz konfiguriert — über auxiliary.compression.provider — und ältere compression.summary_*-Schlüssel werden automatisch dorthin migriert (Konfigurationsversion 17).31 Die Webextraktion ist überhaupt keine LLM-Aufgabe mehr („kein LLM beteiligt“). Daher ist ein Fehler bei der Webzusammenfassung in aktuellen Builds kein Problem des Hilfsmodells.34 So binden Sie eine Aufgabe wieder ausdrücklich an Ihren primären Anbieter:
auxiliary:
vision: { provider: "main" }
compression: { provider: "main" }
Worin besteht der Unterschied zwischen SOUL.md und AGENTS.md?
SOUL.md definiert die Identität Ihres Agents — Tonfall, Stil und Kommunikationsstandards. Die Datei befindet sich unter ~/.hermes/SOUL.md und gilt überall. AGENTS.md ist projektspezifisch — Architektur, Konventionen, Befehle und Pfade — und befindet sich in Ihrem Projektverzeichnis.13 Soll etwas überall gelten, gehört es in SOUL.md. Gehört es zu einem Projekt, gehört es in AGENTS.md.
Wie führe ich mehrere Hermes-Instanzen parallel aus?
Mit profiles. Jedes profile erhält ein eigenes HERMES_HOME, eine eigene Konfiguration, einen eigenen Speicher, eigene Sitzungen und eine eigene gateway-PID:6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
Unterstützt Hermes lokale LLMs?
Ja, über den Pfad für benutzerdefinierte Endpunkte. Hermes funktioniert mit jedem OpenAI-kompatiblen Server: Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan oder Ihrem eigenen.2 Serverspezifische Einrichtungsanleitungen finden Sie unter Benutzerdefinierte und selbst gehostete Endpunkte.
Warum zeigt mein Startbanner weniger tools an, als Hermes laut diesem Leitfaden besitzt?
Der Leitfaden nennt 47 tools / 20 toolsets aus der Upstream-Architekturregistrierung — das ist die Gesamtzahl der tools, für die Hermes über sämtliche toolsets hinweg Quellcode bereitstellt. Ihre laufende Installation zeigt im Banner eine kleinere Zahl an (die für diesen Leitfaden verwendete Referenzinstallation meldet 28 tools), da Hermes beim Start nur die standardmäßig vorgesehenen toolsets aktiviert. Viele toolsets müssen ausdrücklich aktiviert werden: Messaging-gateway-Adapter, Browserautomatisierung, umfangreichere Scraping-Stacks und mehrere spezialisierte Integrationen müssen explizit unter toolsets: in ~/.hermes/config.yaml aufgeführt sein, bevor sie geladen werden. Gesamtzahl der Registrierung = „was verfügbar ist, wenn Sie es aktivieren“. Gesamtzahl im Banner = „was Ihr aktuelles profile tatsächlich geladen hat“. Mit hermes tools --list sehen Sie, welche toolsets aktiv und welche verfügbar, aber deaktiviert sind. Einzelne toolsets können Sie zur Laufzeit mit /tools enable <name> und /tools disable <name> umschalten (das Deaktivieren löst einen Sitzungsneustart aus, damit der Agent sein tool-Manifest mit der neuen Struktur neu erstellt).
Wie handhabt Hermes den Modell-Fallback, wenn mein primärer Anbieter ausfällt?
Konfigurieren Sie in config.yaml einen fallback_model-Block:2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Wenn der primäre Anbieter ausfällt (Ratenbegrenzung, Serverfehler oder Authentifizierungsfehler), wechselt Hermes während der laufenden Sitzung auf den Fallback, ohne den Unterhaltungsverlauf zu verlieren. Dies geschieht höchstens einmal pro Sitzung.
Kann der Agent seine eigenen skills im Laufe der Zeit verbessern?
Ja — genau darin besteht der „selbstverbessernde“ Teil von Hermes Agent. Über das tool skill_manage kann der Agent skills erstellen, aktualisieren und löschen. Wenn er einen nicht trivialen Arbeitsablauf erschließt, speichert er die Vorgehensweise als skill zur späteren Wiederverwendung.11 Der Agent erstellt skills nach komplexen Aufgaben (mehr als 5 tool-Aufrufe), wenn Fehler auftreten und er einen funktionierenden Lösungsweg findet, wenn Sie seine Vorgehensweise korrigieren oder wenn er einen nicht trivialen Arbeitsablauf entdeckt.
Gibt es eine IDE-Integration?
Ja — Hermes kann als ACP-Server (Agent Client Protocol) für VS Code, Zed und JetBrains ausgeführt werden:6
pip install -e '.[acp]'
hermes acp
Änderungsprotokoll
| Datum | Änderung | Quelle |
|---|---|---|
| 2026-10-13 | Leitfaden v1.25: Hermes v0.21.7 (Tag v0.21.7, 11. Okt.) – fünfter Sammelpatch und der erste, der über alle Kanäle ausgeliefert wird (Desktop, Store/MSIX, Installationsprogramm, Docker, Cloud); kuratierte Hinweise wurden auf v0.22.0 verschoben. Neuer Abschnitt „Neuerungen“ am Anfang; die Kurzfassung verweist darauf. Auf Tag-Ebene behandelt: Quellinstallationen folgen getaggten Releases (hermes update --set-channel main, um weiterhin main zu folgen, --channel, --install-id, installationsbezogene Datensätze unter update.installs), der Wechsel des Update-Kanals in der Desktop-Anwendung, die Wiedergabe signierter Gedankengänge beim Fortsetzen und Bedrock-Converse-Reasoning, die Behandlung von 403-Fehlern und Token bei der stabilen Prüfung, die Verschiebung von Holographic in den Katalog (im Kern verbleiben ByteRover und RetainDB), Katalogwachstum von 493 auf 552. Die Zeile hermes update in der CLI-Tabelle und der Abschnitt zu externen Speicheranbietern wurden aktualisiert; der Abschnitt zu v0.21.6 wurde neu datiert. |
5657 |
| 2026-10-11 | Leitfaden v1.24: Hermes v0.21.6 (Tag v0.21.6, 8. Okt.) – vierter Sammelpatch und der erste aus der neuen Stable-Release-Pipeline (nur Tag, GitHub-Release und Docker-Image); kuratierte Hinweise wurden auf v0.22.0 verschoben. Neuer Abschnitt „Neuerungen“ am Anfang; die Kurzfassung verweist darauf. Auf Tag-Ebene behandelt: Live-Transkription mit stt.streaming, der Slot auxiliary.voice_chat, plugins.isolation: host, die Verschiebung von vier weiteren Speicheranbietern in den Katalog (Honcho, Mem0, OpenViking, Supermemory; im Kern verbleiben ByteRover, Holographic und RetainDB), die Entfernung der Plugin-Kompatibilitätsschicht und von allow_deprecated_imports, die zusammenfassungsorientierte Ausgabe von hermes status (--full, --deep; beim Tag kein Flag --short), austauschbare Sprachpakete, Zunahme der Anbieter-Plugins von 38 auf 41, GPT-6.1 Sol und Claude Sonnet/Haiku 5.5 in den Auswahllisten, zwei Genehmigungsdetektoren, Beeinträchtigung bei fehlerhaftem Zustand des cron-Speichers, Discord-Onboarding sowie Sicherheitskorrekturen für Tenable, git-filter und email-sender. Hilfsmodelle, Lokalisierung, CLI-Tabelle, externe Speicheranbieter, Messaging-Gateway, Plugin-System, Kompatibilitätskasten und Sicherheitshärtung wurden aktualisiert. |
5455 |
| 2026-09-24 | Leitfaden v1.23: Der Orientierungsblock zu v0.14.0, der seit der ersten Version des Leitfadens oberhalb des aktuellen Releases stand, schließt nun als ältester Abschnitt den Verlauf unter „Neuerungen“ ab – entsprechend der dort ansonsten verwendeten Reihenfolge vom neuesten zum ältesten Eintrag. Keine inhaltliche Änderung; die Kurzfassung führt nun direkt von den wichtigsten Erkenntnissen über den Quellenhinweis zu „Wählen Sie Ihren Weg“. | Struktur des Leitfadens |
| 2026-09-24 | Leitfaden v1.22: Hermes v0.21.5 (Tag v2026.9.24, 24. Sept.) – dritter Sammelpatch; kuratierte Hinweise wurden auf v0.22.0 verschoben. Neuer Abschnitt „Neuerungen“ am Anfang; die Kurzfassung verweist darauf. Auf Tag-Ebene behandelt: Hindsight wurde aus dem Kernverzeichnis in den Plugin-Katalog verschoben (in den Release Notes nicht erwähnt), einschließlich automatischer Migration; gateway.multiplex_profiles: false wurde außer Betrieb genommen, dazu kamen profilbezogenes Parken und gateway.standalone; GPT-6 Sol/Luna und Claude Opus 5.5 wurden in die Auswahllisten von Nous und OpenRouter aufgenommen. Unter „Externe Speicheranbieter“ werden nun sieben gebündelte Anbieter sowie Hindsight aus dem Katalog aufgeführt. Das Messaging-Gateway enthält nun einen Absatz zur entfernten Opt-out-Option. Der Kompatibilitätskasten wurde beim Tag erneut geprüft: plugin_compat.py ist unverändert, der Ausweg funktioniert weiterhin. Korrigiert: Die Anzahl der gebündelten Anbieter-Plugins beträgt 38 statt 39, und die Zeile zu OpenCode Free ist als entfernt gekennzeichnet; beide Änderungen stammen vom 18. September. |
5253 |
| 2026-09-23 | Leitfaden v1.21: Überarbeitung auf Korrektheit und Lesbarkeit, weiterhin auf dem Stand von Hermes v0.21.4 (Tag v2026.9.21; kein neueres Release). „Neuerungen“ ist nun vom neuesten zum ältesten Eintrag angeordnet, v0.21.3 hat einen eigenen Abschnitt und die Kurzfassung beginnt mit dem aktuellen Release. Kopplung: decline ist der einzige neue Wert; sobald eine Zulassungsliste festgelegt ist, lautet der effektive Standardwert ignore; die YAML-Struktur ist platforms.<name>.unauthorized_dm_behavior oder der Schlüssel auf oberster Ebene. stream-json akzeptiert --query-file, das eine eigene Zeile in der Optionstabelle erhält. Bei set-journal-mode werden die Regel, alles anzuhalten, und unter Windows --force erwähnt. Der Absatz zum Host-Singleton beginnt nun mit dem Verhalten aus Betreibersicht. Sätze zu Writer-Prozessen wurden entfernt. |
5051 |
| 2026-09-22 | Leitfaden v1.20: Hermes v0.21.4 (Tag v2026.9.21, 21. Sept.) – der zweite Sammelpatch: „5.071 Nicht-Merge-Commits“, „5.169 geänderte Dateien“, „1.812 zusammengeführte PRs“ und „2.116 geschlossene Issues“ seit v0.21.3, begleitet von einer knappen Notiz, die die kuratierte Berichterstattung auf v0.22.0 verschiebt. Neuer Abschnitt „Neuerungen“ unterhalb des Blocks zu v0.21.3. Alle fünf Kennzahlen wurden im lokalen Klon beim angegebenen Mess-Commit 4b8a8134 exakt reproduziert (der Tag fügt einen Release-Commit hinzu: 5.072 Nicht-Merge-Commits; insgesamt 5.173 einschließlich Merges, übereinstimmend mit dem GitHub-Vergleich API); das zweitgrößte Zeitfenster zwischen zwei Tags überhaupt, nur übertroffen von den 5.139 bei v0.21.1 (diese Aussage wurde erneut geprüft und trifft weiterhin zu). Die absichtlich undokumentierte Liste des Releases wurde ERST nach Überprüfung der Quellen beim Tag behandelt; jeder Eintrag wurde in seinen bestehenden Abschnitt eingeordnet: Host-Singleton (gateway/host_rendezvous.py: ein hermes serve und ein hermes gateway run pro Host und Betriebssystembenutzer, Host-Sperre und Rendezvous-Datensatz mit (pid, createTime) als Aktivitätsnachweis; host_attach.py mit fünf Ergebnissen ATTACH/RESCAN/REPLACE_HOST/REFUSE/START; Desktop-Komponente host-backend-attach.ts mit der Abfolge Ledger -> HTTP -> Token -> WS und einem Spawn-Gate auf Host-Ebene – das Messaging-Gateway erhält den entsprechenden Absatz); ein einziger Backend-gesteuerter Connector-Vorgang (tools/connectors/operation.py „Reine Daten, keine E/A“, Frist von 300 s bewusst nicht als Konfigurationsschlüssel ausgeführt, Einrichtungskarte manage_connections auf Desktop/TUI/CLI gemäß Test beim Tag – Unterabschnitt zur kostenlosen Nous-Stufe erweitert); --format stream-json (_parser.py:247-249 + hermes_cli/stream_json.py: system/init -> text/tool_use/tool_result -> ein result-Umschlag; erfordert -q, impliziert --quiet, lehnt --tui ab, Obergrenze von 5.000 Zeichen für Tools – die Tabelle mit Chat-Optionen erhält die entsprechende Zeile); skills.auto_load (config_defaults.py:1435, „in jeder neuen Sitzung vollständig geladen und angeheftet (CLI, TUI, gateway, cron, API)“, einmalig beim Aufbau des Prompts aufgelöst, fehlende Namen erzeugen eine Warnung und werden übersprungen, HERMES_IGNORE_RULES unterdrückt dies – neuer Unterabschnitt „Angeheftete Skills“); gateway-decline (gateway/config.py:139, eine höfliche Ablehnung, danach 24 h Stille gemäß DECLINE_DEDUPE_SECONDS #88028, unauthorized_dm_decline_message, plattformspezifisch über platforms.<name>.extra, Email verwendet standardmäßig ignore – Kopplungsabschnitt erweitert); mcp.discovery_concurrency (config_defaults.py:526, Standardwert 4, 0 = unbegrenzt #117373, ungültige Werte führen zu einer Warnung und zum Standardwert, jeder Server stellt dennoch eine Verbindung her – Abschnitt MCP erweitert); session_search mit after/before und Wiederholung mit gelockerter OR-Verknüpfung (Tool-Schema :708-725, inklusive/exklusive Grenzen, ISO oder 7d/24h/2w; hermes_state_search.py:1151-1163 wiederholt eine ergebnislose Suche mit einem beliebigen Begriff im unicode61-Index, die Semantik exakter Treffer bleibt erhalten, OR/NOT/einzelne Begriffe/CJK sind ausgenommen – Sitzungssuche erweitert und die veraltete Aussage dieses Abschnitts zur „Zusammenfassung mit Gemini Flash“ gemäß 34 auf das einheitliche Design ohne LLM aus v0.15.0 KORRIGIERT); hermes sessions set-journal-mode delete\|wal (subcommands/sessions.py:177 + sessions_cmd_journal_mode.py, Offline-Selbsthilfe für #100896, lehnt fremde Halter ab, prüft die Header-Bytes 18/19, doctor verweist darauf – Sitzungszeile und Sitzungsspeicher erweitert); Desktop-Welle (Schriftfeld desktop.font_family, das --dt-font-sans des Themes überschreibt, mit barrierefreiheitsorientierten Vorschlägen; „Update-Engine“ für Runtime-Updates mit einem Klick und sichtbarer Wiederholungsoption bei Fehlern; Deinstallation im Plugins-Hub nach Bestätigung über plugins.manage remove / Electron-Loader); Videokataloge (plugins/video_gen/fal mit ltx-2.5 + kling-o3 und den beim Tag geltenden Funktionsangaben; Bestandszeile in der toolsets-Referenz); Ausbau des Plugin-Katalogs (plugin-catalog/ innerhalb des Zeitfensters von 9 auf 228 Einträge gewachsen, über SHA angeheftete YAML-Zulassung, Websites pro Plugin und Autor mit READMEs vom angehefteten Commit über einen Zulassungslisten-Renderer, Sortierung nach hinzugefügt/aktualisiert anhand der Committer-Daten; die zehn Community-Plugins des Releases wurden unter ihren tatsächlichen Slugs hermes-tailscale/hermes-ssh/shodan/hermes-terminal/hermes-rss/hermes-resetwatch/done-bell/kiwi/cognee/web-octen als vorhanden verifiziert – Plugin-System erweitert). Die Kategorie der Korrekturläufe (Profil-/Multiplex-Isolierung, cron, Kanban, Desktop, state.db) wurde gemäß der Verschiebung im Release selbst für die Prüfung von v0.22.0 ZURÜCKGESTELLT. Kompatibilitätsstatus erneut verifiziert: Der Revert, der Pfade entfernt, wurde NOCH IMMER nicht integriert – Manifest und Shims sind bei v2026.9.21 UND auf main bei a53b42ddea vorhanden (2026-09-22, am selben Tag abgerufen); die Änderungen im Zeitfenster von plugin_compat.py betreffen lediglich einen Plugin-Scan-Cache und Windows-Pfade in POSIX-Form (#112576), die Prüfung auf einen literalen booleschen Wert wurde von :261-268 nach :296-303 verschoben und lautet weiterhin is True; der Aktualitätsstand wurde im Aufzählungspunkt zu v0.21.1, im Block zu v0.21.3, im Kasten zum Plugin-System und in 42 aktualisiert. Erneute Bestandsaufnahmen bei v2026.9.21: 39 statische Anbieter (AST-Zählung bei models_catalog_static.py:311) und 39 Anbieter-Plugin-Ordner, beide unverändert; der Tag zur Anbieteranzahl in der Kurzfassung wurde von v2026.9.14 auf v2026.9.21 aktualisiert; die Formulierung „aktuelles Release“ bei v0.21.3 wurde entfernt. |
505142 |
| 2026-09-15 | Leitfaden v1.19: Hermes v0.21.2 (Tag v2026.9.11, 11. Sep.) „The state.db Patch Release“ + v0.21.3 (Tag v2026.9.14, 14. Sep.) sowie die Folgen der Frist für die Plugin-Kompatibilität. Neuer Abschnitt „Neuerungen“ unterhalb des Abschnitts zu v0.21.1. Bei v0.21.2 („947 Nicht-Merge-Commits“, „312 zusammengeführte PRs“, „140 Mitwirkende“) steht die Kampagne zur Zuverlässigkeit von state.db im Mittelpunkt (sechs PRs, 44 Issues: Koordination gehosteter Räume aus dem Root-Speicher nach shared-state.db verlagert – bei diesem Tag in gateway/hosted_rooms.py:398-426 verifiziert; das Dashboard öffnet zunächst schreibgeschützt; cron-Schutz über die Registrierung nachverfolgter Verbindungen; doctor --fix verweigert Checkpoints, deren Sicherheit nicht zweifelsfrei nachweisbar ist; Schäden am FTS-Index beeinträchtigen die Suche, statt den Turn fehlschlagen zu lassen; beschädigte Zeilen werden als ? dargestellt, statt sessions list zum Absturz zu bringen; an das profile gebundene Zuordnung; schreibgeschützte Öffnungsvorgänge belegen nicht länger die Schreibsperre, 4–20 s -> 0,01 s; die Betreiberempfehlung des Releases bleibt erhalten: zuerst hermes doctor, dann hermes sessions recover --inspect-only – Parser unter hermes_cli/subcommands/sessions.py:185-196; der Unterbefehl EXISTIERTE BEREITS vor diesem Zeitfenster (vorhanden in v2026.8.31) und wird daher als neu dokumentiert, nicht als neu bezeichnet); verstärkte Isolation mehrerer profiles (#107609–#107630 schlossen tatsächliche Lücken im seit v0.19.0 geltenden Versprechen einer „vollständigen Isolation“ – vererbte Positivlisten, Zugangsdaten zum Host des Standard-profile, Vault-Geheimnisse für stdio-MCP-Server, profile-übergreifende MEDIA:-Anhänge, Nous-Bearer benachbarter profiles; Hinweise zur ehrlichen Einordnung bei Profiles und im Multiplex-Absatz zum Messaging Gateway ergänzt); der passwortblinde Zugangsdaten-Vault (Anmelden, Bezahlen und automatisches Ausfüllen über 1Password, Bitwarden oder den lokalen Vault mithilfe namensraumbezogener Handles, die nur Metadaten enthalten und deren Passwort erst beim Ausfüllen aufgelöst wird; das Master-Passwort wird nie als Tool-Argument übergeben; TOTP aus einem gespeicherten Authentifizierungsschlüssel – bei diesem Tag in agent/vault_backends/ + agent/vault_store.py:74-105 verifiziert); der Plugin-Katalog (hermes plugins browse/search + kataloggestütztes install + pack install/export/show, per SHA fixiert – Unterparser bei diesem Tag verifiziert; Befehlsblock im Plugin System aktualisiert); der kostenlose Nous-Tarif + geführte Erststart (kostenlose Inferenz und Konnektoren, /login aus einem Chat, HERMES_GUEST_ONBOARDING=1, wobei NUR der Literalwert 1 aktiviert – guest-onboarding-flag.test.ts verifiziert; neuer Unterabschnitt unter Nous Tool Gateway); außerdem Fehlerbehebungen für Desktop-Spawn-Stürme. Kleiner Block zu v0.21.3 („1.036 Nicht-Merge-Commits“, „338 zusammengeführte PRs“; Tag erstellt, damit sich automatisch aktualisierende Cloud-Agenten ihn erhalten): Single-Flight-Tokenaktualisierung beendet Sitzungswiderrufe durch stoßweise Aktualisierungen (Commit 5dea46d13d, #110061), doppelte state.db-Writer-Handles unterbunden (Commit 939a2f64b4, #110934), beide ausschließlich im Zeitfenster v2026.9.11..v2026.9.14 verifiziert; die eigene Verschiebungsankündigung des Releases zitiert („Vollständige kuratierte Versionshinweise für dieses Zeitfenster erscheinen mit v0.22.0, das alles ab v0.21.0 dokumentieren wird“ … „Nichts in diesem Zeitfenster wird ausgelassen“) und die absichtlich undokumentierte Liste (Auswahlfelder für den Reasoning-Aufwand, OpenRouter PKCE, HEIF/AVIF, die FAL-Welle, Slack Agent Sessions API, Ablehnung von WAL über VM-Grenzen hinweg) in der Zeile genannt und für die Prüfung von v0.22.0 ZURÜCKGEHALTEN. Folgen der Kompatibilitätsfrist in die Vergangenheitsform umgeschrieben – im Aufschlüsselungspunkt zu v0.21.1, im Plugin-System-Kasten und in 42: Die Entfernung wurde PLANMÄSSIG über eine Datumsschranke aktiviert, nicht durch das Zurücksetzen von Code (hermes_cli/plugin_compat.py:32 setzt in v2026.9.14 das COMPAT_REMOVAL_DATE; removal_in_effect() in :86-90 ist seit 2026-09-14 wahr); betroffene Plugins sind nun mit dem roten Hinweis deaktiviert – die Rücknahme, durch die die alten Importpfade gelöscht werden, ist jedoch NOCH NICHT erfolgt (COMPAT_MANIFEST.md + compat_manifest.json + Shims sowohl beim Tag ALS AUCH auf main bei 5d59366010 vorhanden, abgerufen am 2026-09-15 um 12:55 PT), sodass plugins.allow_deprecated_imports: true betroffene Plugins weiterhin laden lässt; ausschließlich boolescher Literalwert (plugin_compat.py:261-268, is True – eine Zeichenfolge in Anführungszeichen aktiviert die Umgehung nie). Nur im Änderungsprotokoll, durch Release oder Quellcode verifiziert: Telegram bots_require_mention verlangt bei Bots eine @Erwähnung und unterbricht dadurch Bot-zu-Bot-Schleifen; hermes -z --resume setzt die Sitzung fort (-z = --oneshot, hermes_cli/_parser.py:113); passive Aktualisierungsprüfungen fragen den GitHub API höchstens einmal täglich ab, statt alle 30 Min. einen Git-Fetch auszuführen (banner.py:129-131 bei v2026.9.11, :136-139 bei v2026.9.14); hermes backup -k/--keep reduziert standardmäßig auf die neuesten 3 ZIP-Dateien (subcommands/backup.py:24-26), und Sicherungen von config.yaml befinden sich in einem einzigen größenbegrenzten Ordner backups/config/; Schlüssel von model_thresholds können als provider:substr anbieterspezifisch definiert werden (agent/context_compressor.py:1558-1567); --clone-all kopiert keine cron-Aufträge mehr (das Flag gehört zu hermes profile, subcommands/profile.py:24, NICHT zu hermes cron); kanban promote lehnt nicht abgeschlossene übergeordnete Elemente ab, und kanban_request_review weist unbekannte Prüfer-profiles zurück; /model und auxiliary auto rechnen nie über einen nicht von Ihnen ausgewählten Anbieter ab und wechseln nie automatisch zu einem Anbieter, für den keine Zugangsdaten vorliegen; Auswahlfelder ergänzen DeepSeek V4.1 Flash (Nous Portal + OpenRouter), GPT Image 2.5 sowie Opus 5 + Fable 5.1 im nativen Anthropic-Auswahlfeld; die Aufbewahrungsdauer von debug share wurde beim dpaste-Fallback auf 1 Tag verkürzt. Neu ermittelte Werte bei v2026.9.14: statische Anbieter 39 (AST-Zählung von CANONICAL_PROVIDERS in models_catalog_static.py:314) und Anbieter-Plugin-Ordner 39, beide unverändert; Standardwert von --max-turns weiterhin 500, jetzt in cli.py:404 (41s cli.py:400 bleibt für den zugehörigen Tag korrekt); model_catalog.ttl_minutes 20 (config_defaults.py:1866); die Aussage zu v0.21.1 als größtem Zeitfenster (5.139) bleibt gegenüber den beiden neuen Zeitfenstern (959 und 1.037 lokale Nicht-Merge-Zählungen) korrekt; der TL;DR-Stempel zur Anbieterzahl wurde von v2026.9.7 auf v2026.9.14 verschoben. |
484942 |
| 2026-09-08 | Leitfaden v1.18: Hermes v0.21.1 (Tag v2026.9.7, 7. Sep.) – der Rollup-Patch: das bislang größte Zeitfenster zwischen zwei Tags („5.139 Non-Merge-Commits“, „632 zusammengeführte PRs“) unter bewusst knapp gehaltenen Patch-Hinweisen, die kuratierte Hinweise auf v0.22.0 verschieben. Neuer Abschnitt „Neuigkeiten“ oberhalb des Pantheon-Abschnitts mit sechs anhand von Quellen verifizierten Clustern: die September-Dekomposition und die Frist für Plugin-Kompatibilität am 14.09.2026 (COMPAT_MANIFEST.md: 1.148 in Lazy Loading verschobene Namen, HermesPluginCompatWarning einmal pro Name, das Prüfwerkzeug hermes plugins compat, der Notausgang plugins.allow_deprecated_imports; dem Plugin-System wurde ein Kasten zum Kompatibilitätszeitraum hinzugefügt), ausschließlich explizite Gesprächsgrenzen im gateway (SessionResetPolicy ist jetzt wirkungslos – Messaging Gateway aktualisiert, Liste zur Claw-Migration mit Anmerkungen versehen), MCP-Gerätecode-OAuth (hermes mcp login --flow device, RFC 8628; login und reauth --all zum MCP-Befehlsblock hinzugefügt; profile-Zuständigkeit über OAuth-Sitzungen, fehlerhafte Metadaten-Caches werden ignoriert, Desktop-Callbacks bleiben lokal im Client, -t filtert das Starten von MCP-Servern), Zuverlässigkeit der Delegation (Abschlusseinheiten über delegation.independent_completions mit einer group pro Aufgabe, standardmäßig ein Abschluss pro Aufruf; Übergabe von Hintergrundprozessen, wobei orphaned_processes und unread_completions in Ergebnissen ausgewiesen werden; delegation.fallback_providers; durch den Normalisierer validierte untergeordnete Ketten; absturzsichere Teilergebnisse; untergeordnete Prozesse erben nie die 1-Stunden-Cache-Stufe – alles aus dem Quellcode des delegate-Tools am Tag entnommen), Anbieter/Modelle (GPT-6 Astra + Astra Pro mit Fast-/Flex-Stufen, bei Codex OAuth an das Konto gebunden und mit einer optionalen -900k-Variante; claude-fable-5.1; gemini-3.7/3.8-flash; qwen3.8-max-0902; Muse Spark 1.3 + das image_gen-Plugin muse-image; Tavily-Suche/-Extraktion; die verwaltete llama.cpp-Laufzeit; Anbieter als externe Prozesse; Katalogaktualisierung alle 20 Minuten über model_catalog.ttl_minutes) und die Desktop-Welle (Kommentarmodus des integrierten Browsers, der pro Anmerkung Selektor/Markup/Stile in nach Regionen gruppierten Stapeln überträgt; strukturierte Sitzungs- und Automatisierungssteuerung; Erstellen von Sitzungen per Ziehen; Sitzungsimport fremder Transkripte; display.resume_last_session; Zustimmung zum echten profile beim ersten Öffnen; integrierter Katalog optionaler skills; russische Desktop-Lokalisierung). Nur im Changelog, durch Commits oder Quellen verifiziert: Zuverlässigkeit von cron (Übergabe bei Neustarts über drei Commits mit verifizierten Korrekturen gehärtet, Zustellungsdeduplizierung mit terminaler Aufbewahrung serialisiert, Race Condition beim Erstellen pausierter Jobs behoben, Discord-cron-Medien werden an ihr Ziel weitergeleitet und Uploadfehler gemeldet, Kontinuität über stille Audit-Ticks hinweg bewahrt), Shell-Parsing für Genehmigungen (GNU-env-Split-Escapes und argv0-Operanden, Grenzen von env-argv und Shell-Kommentaren, Befehlsersetzungsinhalte in Anführungszeichen behalten ihre Befehlsgrenzen, approvals.deny innerhalb isolierter Container), der Watchdog für die Startbereitschaft des gateway (hermes_startup_watchdog.py; gateway.startup_watchdog mit einem Zeitlimit von 300 s, erzwungener Beendigung 75), Widerstandsfähigkeit von state.db (Lost-and-found-Wiederherstellung über sqlite3-.recover, FTS-Routing für like_scan, neues Dokument docs/state-db-recovery.md), Performance (search_files führt ripgrep auf lokalen POSIX-Hosts nativ aus, Transkripte untergeordneter delegate-Prozesse sind ab Schemaversion 30 vom Trigramm-FTS-Index ausgeschlossen, ein gemeinsam genutzter OpenAI-httpx-Client für Haupt- und Hilfspfade), gateway.trust_env, die Slack-Block-Kit-Auswahl für /model und Medienzustellung aus Remote-Sandboxes (Anmeldedaten und darauf verweisende symbolische Links verlassen die Sandbox nie); die Fehlerbehebung erhält die Doctor-Prüfung auf den Geist einer veralteten HERMES_MAX_ITERATIONS-Variable. Erneute Bestandsaufnahme am Tag von v2026.8.31 auf v2026.9.7: 39 statische Anbieter und 39 Anbieter-Plugin-Ordner, beide mit denselben Einträgen wie in v0.21.0 – die Aussage aus der Vorabprüfung „38 statische Anbieter, xai in das Plugin aufgenommen“ wurde anhand des Quellcodes widerlegt (das xai-Tupel befindet sich weiterhin in der statischen Liste; nur die Datei wurde verschoben, hermes_cli/models.py -> hermes_cli/models_catalog_static.py:311); prompt_builder.py wurde im mentalen Modell und im CLI-Datenfluss auf den neuen Pfad agent/prompt_builder.py umgestellt; die Aussage aus v0.16 zur stündlichen Katalogaktualisierung bleibt auf diese Version beschränkt, während daneben der 20-Minuten-Takt ergänzt wurde. Bestehende Aussagen erneut verifiziert und unverändert: der Hinweis zur Benennung von hermes approvals test, Standardwert 500 für --max-turns (cli.py:400 am Tag; der veraltete Docstring mit dem Wert 60 wurde nicht übernommen), 2.000 Zeilen bei read_file, Delegationsgrenzen 250/10, compression.tail_mode: lean, Node 26, 17 CLI-Gebietsschemata. |
41424344454647 |
| 2026-07-28 | Leitfaden v1.12: Durch die Suchnachfrage angestoßene Erweiterung der Abdeckung – für zwei Themen mit guten Konversionsraten fehlte eine passende Zielüberschrift. Keine neue Veröffentlichung. GSC zeigt, dass hermes swarm und hermes agent swarm von Position ~8 aus Konversionsraten von 4,4–6,3 % erzielen und hermes smart model routing von Position 6,7 aus 4,9 %, obwohl für keinen dieser Begriffe ein Abschnitt existierte: swarm kam nur im Fließtext innerhalb von Multi-Agent Kanban und in Changelog-Zeilen vor, „smart model routing“ ausschließlich in einer Fußnote. Unter Multi-Agent Kanban wurde Was ist ein Hermes Swarm? ergänzt – der Abschnitt definiert einen swarm als parallele Worker auf einem einzigen dauerhaften Board, dokumentiert die swarm-Topologie von v0.15.0, die automatische Dekomposition, Modellüberschreibungen pro Aufgabe, geplante Aufgaben und die Worktree-Verwaltung und stellt tabellarisch dar, welchen Fehler jeder Mechanismus verhindert. Provider Rotation & Fallback wurde in Smart Model Routing: Provider Rotation & Fallback umbenannt und um eine Einleitung ergänzt, die Anmeldedaten-Pools, Fallback-Modell und Hilfsrouting zu einem System zusammenführt. Da intern kein Anker verlinkt war, verursacht die Umbenennung keine fehlerhaften Links. |
63 2 6 |
| 2026-08-31 | Leitfaden v1.17: Hermes v0.21.0 „The Pantheon Release“ (Tag v2026.8.31, 31. Aug.) – das kuratierte Rollup erscheint. Neuer Abschnitt „Neuigkeiten“ oberhalb des Herald-Abschnitts, gegliedert nach den Funktionsbereichen der Veröffentlichung: Bot Mode im Desktop gebündelt und standardmäßig aktiviert (benannte profiles, deterministische Avatare, Gruppenchats mit @-Erwähnungen), Bot-zu-Bot-Direktnachrichten mit hermes peer (Antworten erscheinen im kanonischen Bot Chat jedes Agenten), cron-Kontinuität (continuity=true, dauerhafte Notizblöcke, Überspringen von LLM im Überwachungsmodus, Festlegen des Aufwands pro Job – der Abschnitt „Geplante Aufgaben“ erhält die Mechanik aller vier Punkte am Tag), Live-Orchestrierung von Subagenten (delegate_task zum Auflisten/Steuern/Stoppen, Ausgaben untergeordneter Prozesse nach dem JSON-Schema, Standardwerte auf 250 Iterationen/10 gleichzeitige untergeordnete Prozesse angehoben – in config_defaults.py anhand des Quellcodes verifiziert; die Angaben 3/50 auf der Dokumentationsseite zur Delegation sind demgegenüber veraltet), die MCP-Kommandozentrale (+hermes://-Installationslinks – MCP-Abschnitt aktualisiert), die CLI-Leistungswelle (/palette + Strg+P und ein registry-übergreifendes /status zu den Slash-Tabellen hinzugefügt, Filterung während der Eingabe bei /model vermerkt; die Bezeichnung hermes approval-check aus den Veröffentlichungshinweisen wurde am Tag als hermes approvals test identifiziert – ein solcher Unterbefehl existiert nicht), der vom Agenten gesteuerte integrierte Browser, die Anbieter-/Modellwelle (sechs neue Anbieter; die Matrix erhält Zeilen für Tencent TokenPlan, Nebius Token Factory, Ramp Router und Alibaba Token Plan mit aus der Dokumentation zitierten Umgebungsvariablen; model_overrides; Warnungen zu Datentrainingsstufen; Anbieter-Plugins über pip), die Sicherheitswelle (Schreibvorgänge an AGENTS.md/skills/memory erfordern immer eine Genehmigung – security.protected_instruction_files: true und die Sperre in tools/file_tools.py am Tag verifiziert; Redaktionsdurchlauf; Genehmigungsabdeckung unter Windows; hermes desktop --setup-tcc-identity; Blender-MCP entfernt – „Security Hardening“ erhält eine vierte Welle), Weiterentwicklung des gateway, die Welle aus 8 skills und die Liste der ZURÜCKGENOMMENEN Änderungen (Model Council /council, DCP context engine, ausschließlich über WS erreichbarer gateway-Server – Replay mit Sequenzstempeln #94219 WURDE ausgeliefert; Electron zurück auf 40.10.2; grep bestätigt, dass im Leitfaden keine der zurückgenommenen Funktionen dokumentiert war). Die im Rollup-Unterabschnitt angekündigte Verschiebung der Hinweise ist ERLEDIGT; der Abschnitt verweist nun auf die kuratierte Übersicht. Die Zeitfensterblöcke bleiben als Datensatz für die einzelnen Tags erhalten. Erneute Bestandsaufnahme am Tag von v2026.8.27 auf v2026.8.31: statische Anbieter 38 -> 39 (+tencent-tokenplan), Anbieter-Plugin-Ordner 37 -> 39 (+nebius-token-factory, +router, beide auth_type="api_key"), Anbieterzeilen in der Dokumentation 41 -> 45; unverändert und erneut verifiziert: 28 Plattformzeilen in der Dokumentation/24 Mitglieder des Platform-Enums (identische Liste)/22 Adapterordner, identische _BUILTIN_SUBCOMMANDS (73, peer seit den Rollup-Zeitfenstern vorhanden, kein version), 7 Terminal-Backends + Plugin-registry (registry bytegenau identisch), 14 Persönlichkeiten und 17 Gebietsschemata (bytegenau identische/identische Listen), Lean-Standardwert für die Komprimierung und die Aufstellung der Hilfs-Slots, bytegenau identische _startup_fast.py/portal_cli.py. Bei der Verifizierung behobene Abweichung: hermes chat -q auf einem TTY startet jetzt eine interaktive Sitzung (das neue --oneshot stellt den Modus „Antworten und beenden“ wieder her), und der Standardwert von --max-turns in der Chat-Tabelle wurde gemäß der Parser-Hilfe am Tag von 90 auf 500 korrigiert. |
35363738394033 |
| 2026-08-27 | Guide v1.16: Hermes v0.20.6 (Tag v2026.8.27, 27. Aug.) – vierte Sammelversion. Der Abschnitt zur Sammelversion erhält sein viertes Zeitfenster, entsprechend der release-eigenen Beschreibung (~1.313 Commits in ~1.557 Dateien, +177.113 / −21.682 – ~525 zusammengeführte PRs seit v0.20.5): zustimmungspflichtiges Browsen mit realen Profilen (standardmäßiges Chromium-Profil, Windows-Ablauf zum Schließen nach Bestätigung), der Desktop-Browser in einem eigenen Betriebssystemfenster, eine verwaltete SSH Remote-Update-Engine und eine Profilleiste für Geräteflotten, Erweiterung des Remote-MCP-Katalogs (mehr als 50 im Livebetrieb verifizierte, von Anbietern gehostete Server, darunter Cloudflare, Grafana Cloud, Better Stack und Railway), optionale Betriebssystem-Schlüsselbundverschlüsselung für gespeicherte Geheimnisse, neue Modelle in der Modellauswahl (GLM-5.3-Flash, MiniMax M3 free, MiniMax H3 Max video), TTL-Ergebnis-Caching für web_search/web_extract, tool_search mit mehreren Suchanfragen und Wortstammerkennung, Pausieren von gateways durch Updater über den Kontroll-Socket, Verweigerung unsicherer In-Place-Updates bei Image-/Paketmanagerinstallationen, Bestätigungen dauerhafter cron-Vorfälle, Steuerung der Linkvorschau in Slack und gemeinsam genutzte Docker-Containeridentitäten. Zwei Release-Aussagen widersprachen bestehenden Abschnitten; beide wurden anhand des Tags bestätigt und korrigiert: Lean-Tail-Komprimierung ist der Standard (Context Compression mit den Schlüsseln des Tags neu geschrieben – tail_mode: lean, threshold_tokens, protect_first_n, Einstellungen für den Zusammenfasser unter auxiliary.compression.* mit automatischer Migration auf Konfigurationsversion 17; der gegenteilige Hinweis zur Fehlerbehebung wurde korrigiert) und Terminal-Backends lassen sich durch Plugins erweitern (neu als sieben integrierte Backends sowie eine Plugin-Registry im Stil der Anbieterauswahl dargestellt; integrierte Namen sind reserviert). Die anhand des Tags erneut verifizierten Versionsangaben wurden von v2026.8.19 auf v2026.8.27 aktualisiert: 38 statische Anbieter und 37 Anbieter-Plugin-Ordner, 24 Mitglieder im Platform-Enum / 22 Adapterordner / 28 Zeilen in der Dokumentationstabelle, kein Unterbefehl version (73 Einträge in _BUILTIN_SUBCOMMANDS, worktree vorhanden), Parser-Optionen und zitierte Hilfetexte unverändert, BUILTIN_PERSONALITIES weiterhin 14 (helpful bis hype); locales/ enthält nun 17 Kataloge (en + 16 Übersetzungen; Anzahl am Tag ergänzt). main befindet sich AUF dem Tag (ahead_by: 0, Status identisch). Ebenfalls korrigiert wurde eine bei der Überprüfung entdeckte Abweichung: der veraltete Standard des Hilfssystems – auto leitet nun jede Hilfsaufgabe an das Haupt-Chatmodell weiter, statt sie über die Erkennungskette Gemini Flash via OpenRouter → Nous → Codex zuzuweisen; Auxiliary Models wurde mit der am Tag vorhandenen Slot-Liste neu geschrieben (title_generation, tts_audio_tags, triage_specifier, kanban_decomposer, profile_describer mit jeweils einer belegten Kurzbeschreibung ergänzt; die Slots web_extract und session_search wurden upstream entfernt – keiner von beiden verwendet noch einen LLM – und flush_memories ist nicht mehr in den Standardeinstellungen enthalten), außerdem wurde der ausschließlich Anthropic betreffende Eintrag zur Fehlerbehebung neu belegt. Die Zeile des Releases zur Neuinstallation verwendet die rohe Skript-URL von GitHub; der Guide behält die kanonische Adresse hermes-agent.nousresearch.com/install.sh bei. Kuratierte Hinweise sind weiterhin für v0.21.0 angekündigt. |
293031323334 |
| 2026-08-26 | Guide v1.15: KORREKTUR – kein neues Release (neuestes Tag v2026.8.19 / v0.20.5 vom 21. Aug.); bestehende Aussagen wurden anhand des Tags erneut verifiziert. Terminal-Backends: sechs → sieben; vercel_sandbox wurde der Tabelle und dem Konfigurationskommentar hinzugefügt. Messaging-Plattformen: Die vereinzelten Angaben von „22“ wurden mit den 28 Einträgen der Vergleichstabelle in der Dokumentation am Tag abgeglichen und die Zählgrundlage angegeben (24 integrierte Mitglieder im Platform-Enum, 22 gebündelte Adapterordner); ntfy und Buzz wurden der gateway-Liste hinzugefügt. Anbieter: „~20 / ~22 erstklassige“ wurde durch die belegte Anzahl ersetzt (38 statische Einträge in CANONICAL_PROVIDERS plus automatische Erweiterung durch 37 gebündelte Anbieter-Plugins; 41 Zeilen für Cloud-/Abonnementangebote auf der Dokumentationsseite), „vollständige Liste“ wurde entfernt, die Qwen-OAuth-Zeile korrigiert und 17 Matrixzeilen ergänzt (OpenCode Free, OpenAI API direct, Vertex AI, Azure Foundry, Bedrock, NVIDIA NIM, Ollama Cloud, StepFun, MiniMax OAuth, Meta AI, NovitaAI, Arcee AI, GMI Cloud, Actual Computer, Tencent TokenHub, CommandCode, Alibaba Coding Plan). hermes version → hermes --version (am Tag kein Unterbefehl). hermes honcho wurde als Plugin-abhängig gekennzeichnet. „fleet --plan“ → hermes update --plan. Global Options erhält --in, --tui, --cli, --dev, --ignore-rules, --ignore-user-config; Top-Level Commands erhält 34 Zeilen aus _BUILTIN_SUBCOMMANDS, darunter hermes worktree list\|prune mit den zugehörigen Flags; der Slash-Befehl /worktree wurde hinzugefügt; hermes setup --portal und hermes portal login\|info\|open\|tools wurden dokumentiert. main lag zum Zeitpunkt der Überprüfung 1.104 Commits vor dem Tag (inzwischen sind alle in v2026.8.27 zusammengefasst); kuratierte Hinweise sind für v0.21.0 angekündigt. |
23242526272829 |
| 2026-08-24 | Guide v1.14: v0.20.5 (Tag v2026.8.19, veröffentlicht am 21. Aug.). Der Abschnitt zur Sammelversion erhält sein drittes Zeitfenster (~746 Commits / ~323 PRs seit v0.20.4): die schlüssellose Web-Stufe (kostenlose Rotation zwischen 5 Anbietern mit Ring-Failover – Websuche bei Neuinstallationen ganz ohne Schlüssel), Verbesserungen an CLI (unscharfe Suche in der /model-Auswahl, Befehlspalette mit Strg+P, informativeres /status), Gruppenraum-Threads im Bot Mode sowie einklappbare Zusammenfassungen und PDF-/Datei-Drag-and-drop, hermes worktree list/prune, Belege für hermes update und Flottenüberprüfung mit --plan, dauerhafter Speicher für cron mit individuell pro Auftrag einstellbarem Reasoning-Aufwand, Schutzmechanismen gegen Ausführungsstillstände aus den Ergebnissen der Composio-Evaluierung, der authentifizierungsfreie Anbieter opencode-free sowie Desktop-Leistungsverbesserungen (Paint-First-Hydration, React Compiler in beiden Renderern). v0.21.0 mit vollständigen kuratierten Hinweisen steht weiterhin aus – die Zusammenfassungen basieren auf der release-eigenen Beschreibung des Zeitfensters. Die Versionshistorie im Kopfbereich wurde aktualisiert. |
23 |
| 2026-08-20 | Guide v1.13: v0.20.3 (Tag v2026.8.16.2, veröffentlicht am 17. Aug.) und v0.20.4 (Tag v2026.8.18 vom 18. Aug.). Neuer Unterabschnitt unter dem Herald Release: Die Folge von Sammelversionen enthält nun neue Funktionen und dient nicht mehr nur der Stabilisierung. v0.20.3 (~250 Commits / ~125 PRs): Migration auf MCP 2.x SDK mit Unterstützung des zustandslosen Protokolls vom 28.07.2026, gebündeltes Bot-Mode-Plugin (hermes-bots) mit dem grundlegenden Teamkollegenprotokoll, CommandCode-Anbieter-Plugin, Laufzeitverträge für die Computernutzung mit Cua Driver 0.20, Absicherung der Laufzeitverantwortung von Python, Selbstheilung des cron-Schedulers, Korrekturen gegen Datenverlust bei Sitzungsübergaben, Übernahmen aus dem Ökosystem (/worktree, Erhaltung manueller Änderungen bei /rollback, Sicherheitsprüfung bei der Plugin-Installation). v0.20.4 (~146 Commits / ~74 PRs): gläserne/transluzente Desktop-Oberfläche mit Auswahl der Froststärke, Seitenleiste mit den Tabs SESSIONS|BOTS und individuellem Ein-/Ausblenden einzelner Bots, beratende Tier-1-Prüfung durch NVIDIA SkillEvaluator bei skill-Installationen (Lizenz + Sicherheit), Absicherung des Medienversands per cron, ehrliche Kommunikation über geparkte Branches bei hermes update. Beide Releases geben an, dass die vollständigen kuratierten Hinweise mit v0.21.0 erscheinen – die Zusammenfassungen basieren auf den release-eigenen Beschreibungen der Zeitfenster. Der Einleitungssatz und die Tag-Historie wurden aktualisiert. |
58 |
| 2026-08-16 | Guide v1.12: v0.20.0 „The Herald Release“ (3. Aug., Tag v2026.8.3) sowie die Stabilisierungstags v0.20.1 (13. Aug.) und v0.20.2 (16. Aug.). Drei Korrekturen beheben nicht mehr funktionierende Anweisungen: Node 26 ist erforderlich (das Installationsprogramm legt NODE_VERSION="26" fest und lehnt ältere Laufzeiten ab – die Angabe Node v22 auf der Dokumentationsseite ist veraltet, daher sind Installationsprogramm und Release-Hinweise maßgeblich), pip und Homebrew wurden eingestellt und nicht nur als veraltet gekennzeichnet („Shell-Installationsprogramm / Docker / Nix sind die unterstützten Kanäle“), und das standardmäßige Iterationslimit wurde von 90 auf 500 erhöht, wodurch sämtliche Zahlen in der Tabelle zum Budgetdruck ungültig wurden. Der Installationsbefehl wurde auf die kanonische Adresse https://hermes-agent.nousresearch.com/install.sh korrigiert. Entfernte Oberfläche: Die skill-Quelle claude-marketplace wurde entfernt und in der Quellenliste durch browse-sh ersetzt; die standardmäßigen GitHub-Taps sind nun openai, anthropics, huggingface, NVIDIA und gstack. Das Messaging-gateway wurde durch direkte Aufzählung der Vergleichstabelle in der Dokumentation von 22 auf 28 Plattformen neu gezählt (die Dokumentation veröffentlicht keine offizielle Gesamtzahl). Windows (nativ) ist Tier 1 und keine frühe Beta; macOS unterstützt ausschließlich Apple Silicon. Ein neuer Abschnitt behandelt das Release selbst: dialogorientierte Sprachsteuerung mit Unterbrechungsmöglichkeit, A2A v1.0, signierte ausgehende Lebenszyklus-Webhooks, skill für belegte Zitate, die CLI-Welle mit !//init//diff//context//focus und hermes import-agent, Befehlshelfer als Geheimnisquelle, Verkürzung des Kaltstarts von hermes -w von ~14 s auf ~1,8 s sowie Desktop-Artefakte und ein Plugin SDK. Als unverändert bestätigt: die drei Authentifizierungswege, die Struktur von ~/.hermes/, hermes update und die dokumentierte Tool-Liste. |
59 |
| 2026-07-21 | Guide v1.11: v0.19.0 „The Quicksilver Release“ (20. Juli 2026, Tag v2026.7.20). Abschnitt „Neu in v0.19.0“ hinzugefügt: ~80 % kürzere TTFT beim ersten Turn (Kaltstart vom Absenden bis zur Weiterleitung ~4,3 s → ~0,9 s über CLI/gateway/TUI/Desktop/cron hinweg), standardmäßig Live-Streaming des Reasonings (display.show_reasoning EIN), Geschwindigkeitswelle mit ~20 PRs für den Desktop (14× schnelleres Streaming-Markdown) + inkrementelles Markdown in der TUI; Installationen über pip/Homebrew als veraltet eingestuft (nur Warnung „unsupported legacy“, Einstellung der Veröffentlichung über PyPI/Homebrew geplant) — Installationsabschnitt und TL;DR auf den Einzeilen-Installer korrigiert; austauschbare SecretSource mit Bitwarden- und 1Password-Providern (op://-Referenzen, mehrere Vaults, deterministische Prioritätsreihenfolge, Herkunftsnachweis pro Variable); intelligente Genehmigungen als Standard (unabhängiger LLM-Prüfer pro markiertem Befehl) + benutzerdefinierte Ablehnungsregeln, die auch unter YOLO gelten, + /deny <reason> + erneute Einführung der Genehmigungeskalation über pre_tool_call für Plugins; Abrechnung im Terminal mit /subscription + /topup + Abrechnungs-Tab in der Desktop-App (die Aussage „kein separater Abonnementbefehl“ wurde zurückgenommen); Live-Transkripte von Subagents + dauerhafte Hintergrunddelegation + Verzeichnis der Zustellpflichten in state.db; max_async_children zugunsten einheitlicher Parallelitätsgrenzen für Delegationen als veraltet eingestuft; profile-basiertes Nachrichtenrouting im gateway (ein gebündeltes Bot-Token → isolierte profiles, GATEWAY_MULTIPLEX_PROFILES, Routingindex in state.db, sessions.json als optionaler Legacy-Spiegel); Provider/Modelle: Fireworks AI (Platz 2 in der Auswahl), DeepInfra, Upstage Solar, GPT-5.6 (Sol/Terra/Luna + Pro) durchgängig unterstützt, grok-4.5 allgemein verfügbar, kimi-k3 (kimi-k2.x eingestellt), Claude Sonnet 5 vollständig integriert, enabled: false pro Provider + excluded_providers, Reasoning-Stufen max/ultra mit Overrides pro Modell/pro MoA-Slot sowie sitzungsbezogenes /reasoning; CLI/MCP: hermes sessions export (Markdown/Quarto/HTML/nur Prompt/HF-Trace, --redact), /model --once, gestapelte Slash-skill-Aufrufe, --safe-mode, hermes config get/unset, echtes Headless-Verhalten für hermes serve, MCP-Benennung nach dem Muster mcp__server__tool. Erfasst außerdem die ausgelassenen Patch-Tags v0.18.1 (Tag v2026.7.7) und v0.18.2 (Tag v2026.7.7.2) vom 7.–8. Juli 2026 — gebündelte Infrastruktur-Patches; die wesentliche Korrektur in v0.18.2 hebt die feste Bindung von WhatsApp Baileys auf und verwendet 7.0.0-rc13 für zuverlässige Docker-Builds. |
60 61 |
| 2026-07-16 | Ersten Eintrag zur Fehlerbehebung für die wortgetreue Startfehlermeldung hinzugefügt: „No inference provider configured. Run ‘hermes model’ to choose a provider and model“ — aufgrund der Suchnachfrage; verweist auf die interaktive Auswahl, hermes doctor und die drei Authentifizierungswege. Keine Produktänderungen. |
2 7 |
| 2026-07-01 | Guide v1.10: v0.18.0 „The Judgment Release“ (1. Juli 2026, Tag v2026.7.1). Abschnitt „Neu in v0.18.0“ hinzugefügt: vollständiger P0/P1-Rückstand abgearbeitet (~692 Einträge); Mixture-of-Agents als erstklassige Funktion mit beschrifteter Ensemble-Ausgabe pro Modell und Live-Streaming; Abschlussverträge — /goal überprüft die eigene Arbeit durch Ausführung der Projektprüfungen; /learn (Workflow beschreiben → wiederverwendbarer skill, konform mit CONTRIBUTING.md); /journey-Zeitleiste für Speicher/skill + Speichergraf im Desktop; Auffächerung auf Hintergrund-Subagents (gleichzeitige delegierte Aufgaben); Desktop Projects (Projekt/Repository/Lane); gateway mit Skalierung auf null und Drain-Koordination; Google Vertex AI (Gemini über GCP-Dienstkonten, automatische Aktualisierung von OAuth2); /prompt-Composer für \$EDITOR. Quelle: hermes-agent-Releases. |
22 |
| 2026-06-21 | Guide v1.9: v0.17.0 „The Reach Release“ (19. Juni 2026, Tag v2026.6.19). Abschnitt „Neu in v0.17.0“ hinzugefügt. Messaging: relay-freies iMessage über Photon Spectrum (hermes photon login, Gerätecode-OAuth), offizieller API-Adapter für WhatsApp Business Cloud (ohne Bridge), SimpleX-Gruppen + Anhänge, Raft-Plattform-Plugin. Modelle: z-ai/glm-5.2 (1M), anthropic/claude-fable-5, laguna-m.1, nemotron-3-ultra, grok-composer-2.5-fast (xAI OAuth, 200k); xAI-Standard → grok-build-0.1; adaptive Anthropic-Modelle lassen das Feld reasoning weg. Desktop/Dashboard: Hintergrund-Subagents mit Live-Beobachtungsfenstern (delegate_task(background=true)), vollständiger profile-Builder, überarbeiteter Skills Hub, Automation Blueprints, sichere 401-Anmeldung, Themes aus dem VS Code Marketplace, japanische + traditionell-chinesische Benutzeroberfläche. Skills/Tools: Bild-zu-Bild-Bearbeitung mit image_generate, atomare operations-Batches für memory, skill simplify-code, boolesches write_approval (ersetzt write_mode). Architektur: MCP-Elicitation-Handler, austauschbarer CronScheduler + Chronos, Managed-Bereich (/etc/hermes), Gateway-Gateway-Relay. Befehle: /version, /billing, hermes curator run --consolidate (Opt-in). Sicherheit: Umgehung der Denylist für Shell-Escapes geschlossen, ausfallsicher geschlossene Genehmigungs-/gateway-Adapter, cron-Umgebung bereinigt, Geheimnisse in Debug-Dumps geschwärzt, MCP-stdio-Prüfung auf Datenabfluss, CVE-Aktualisierungen für urllib3 + PyJWT. |
21 |
| 2026-06-08 | Guide v1.8: v0.16.0 „The Surface Release“ (5. Juni 2026, Tag v2026.6.5). Titel des Guides auf v0.16 geändert und Abschnitt „Neu in v0.16.0“ hinzugefügt. Kernaussage: Hermes ist nicht mehr auf das Terminal beschränkt. Native Hermes Desktop-App (Electron, macOS/Linux/Windows) mit Ein-Klick-Installation, Selbstaktualisierung innerhalb der App, Streaming-Chat, Drag-and-drop + Einfügen von Bildern aus der Zwischenablage, Cmd+K-Palette, Sitzungsarchiv/-suche, Modellauswahl in der Statusleiste, Verbindung mit einem entfernten gateway über sicheres WebSocket (OAuth oder Benutzername/Passwort, Hosts pro profile, profile-übergreifende @session-Links) sowie vollständiger Übersetzung ins vereinfachte Chinesisch über typisiertes i18n. Browser-Administrationsbereich (Web-Dashboard → vollständige Administration): MCP-Katalog aktivieren/deaktivieren, Anmeldedatenverwaltung, Erstellung von Webhooks/Hooks, Speicherkonfiguration, gateway-Steuerung, Systemseite mit Prüfung vor Aktualisierungen + Debug Share, neue Kanalseite und austauschbare Authentifizierung (Benutzername/Passwort, selbst gehostetes OIDC, hermes dashboard register). Neue Befehle: /undo [N] (CLI/TUI/Messaging), konfigurierbare Standardschnittstelle (cli/tui, --cli), vereinheitlichtes /model in der TUI + Sitzungs-Overlay, hermes portal, hermes prompt-size, hermes sessions optimize. Neue Modelle: deepseek-v4-flash, MiniMax-M3 (1M Kontext), qwen3.7-plus, gemini-3.5-flash; erstklassige Unterstützung von xAI Grok OAuth im Desktop-Launcher; unscharfe Modellauswahl; stündliche Katalogaktualisierung. Skills: schlankere Standardauswahl (Spotify → natives Plugin, Linear → hermes mcp install linear, verwaiste Skills entfernt), Relevanzprüfung über environments: (kanban/docker/s6), standardmäßig vertrauenswürdiger NVIDIA/skills-Tap, progressive (bereichsbezogene) Offenlegung von MCP-/Plugin-Tools. Sicherheit: CVE-2026-48710 (Starlette BadHost) auf ≥1.0.1 festgelegt; SSRF-Prüfungen aus dem Event-Loop ausgelagert; Bedrock-Bearer-Token aus der Umgebung von Unterprozessen entfernt; Lesezugriff auf bws_cache.json geschützt; docker restart/stop/kill zu den gefährlichen Mustern hinzugefügt; Bereinigung unsichtbarer Unicode-Zeichen. 2 P0 + 62 P1 geschlossen (16 mit Sicherheitskennzeichnung). |
20 |
| 2026-05-31 | Guide v1.7.1: v0.15.1 (29. Mai 2026, 01:12 UTC) — Velocity-Patch. Hotfix am selben Tag nach Velocity; feste Tag-Zeile v2026.5.29. Behebt die 401-Neuladeschleife im Dashboard, die Bereitstellungen im Loopback-Modus betraf. Docker behandelt --insecure nicht mehr als implizit — setzen Sie HERMES_DASHBOARD_INSECURE=1 ausdrücklich, um diese Option wieder zu aktivieren. Unverpackte MCP-Befehle (npx, npm, node) werden in Docker-Containern wieder korrekt aufgelöst. Quellen-Badges und Kategorien-Seitenleiste der Skills-Seite werden dargestellt. Kanban-Worker reagieren ordnungsgemäß auf SIGTERM, statt verwaiste Prozesse zu hinterlassen. Skills.sh-Katalog durch Sitemap-Erkennung von 858 auf 19.932 Einträge erweitert. 28 Commits, 21 zusammengeführte PRs, 9 Mitwirkende. v0.15.2 (29. Mai 2026, 13:37 UTC) — Velocity-Paketierungs-Patch. Korrigiert Wheel- und sdist-Distributionen, sodass sie plugin.yaml-Manifeste enthalten und Installationen aus PyPI ohne Sideloading des Quellbaums funktionieren. Reiner Paketierungs-Hotfix, 4 Mitwirkende. |
62 |
| 2026-05-28 | Leitfaden v1.7: v0.15.0 (28. Mai 2026) – The Velocity release (Tag v2026.5.28) hinzugefügt. Schwerpunkt: eine umfassende Refaktorierung und neue Orchestrierungsprimitive. Codebasis-Refaktorierung: run_agent.py wurde um 76 % verkleinert (16.083 → 3.821 Zeilen) und auf 14 zusammenhängende Module verteilt. Multi-Agent-Kanban v2: automatische Zerlegung übergeordneter Ziele in Teilaufgaben, Schwarmtopologie zur Koordination paralleler Worker, modellspezifische Überschreibungen pro Aufgabe, geplante Aufgaben und Worktree-Verwaltung. Performance: eine weitere Sekunde beim Kaltstart eingespart; 47 % weniger Funktionsaufrufe pro Konversation; session_search wurde neu gestaltet und ist 4.500-mal schneller, wobei die Abhängigkeit von LLM entfernt wurde (und damit auch die entsprechenden API-Kosten entfielen). Sicherheit: Eine Promptware-Abwehr schützt an drei sicherheitskritischen Kontrollpunkten vor Prompt-Injection der Brainworm-Klasse; die Integration von Bitwarden Secrets Manager ersetzt mehrere anbieterspezifische API-Schlüssel durch ein einziges Bootstrap-Token. Skill-Bundles: Mit einem einzigen Slash-Befehl lassen sich mehrere Skills gleichzeitig laden. TUI-Sitzungsorchestrator: Verwaltung mehrerer Sitzungen in einem einzigen Terminalfenster. Neue Anbieter: Unterstützung für Krea 2 (Medium/Large) und das FAL-Plugin zur Bildgenerierung; die xAI-Integrationsrunde ergänzt ein Websuch-Plugin, vorgelagertes OAuth, die Erkennung eingestellter Modelle und natürliche TTS-Pausen. Zahlen: 1.302 Commits, 747 zusammengeführte PRs und 321 Mitwirkende aus der Community. Laut den GitHub-Versionshinweisen behebt ein Patch-Release vom selben oder folgenden Tag die 401-Neuladeschleife im Dashboard, eine explizite Umgebungsvariable für --insecure in Docker, die Auflösung einfacher MCP-Befehle in Docker (npx, npm, node), die Wiederherstellung der Skills-Seite, die SIGTERM-Behandlung für Kanban-Worker sowie den vollständigen Skills-Katalog mit 19.932 Einträgen über die Sitemap. |
63 |
| 2026-05-21 | Leitfaden v1.6: v0.14.0 (16. Mai 2026) – The Foundation release hinzugefügt. Schwerpunkt: eine schlankere Installations- und Laufzeitgrundlage sowie breitere Oberflächen für Anbieter, gateway, Medien und Verifizierung. Hinzugefügt wurden SuperGrok OAuth mit einem Kontextfenster von 1 Mio. für grok-4.3, das OpenAI-kompatible hermes proxy für OAuth-Anbieter, erstklassige Unterstützung für x_search, pip install hermes-agent, verzögerte Installation von Abhängigkeiten, ein um etwa 19 Sekunden schnellerer Start, 180-mal schnellere Browser-CDP-Aufrufe, LINE und SimpleX Chat als 22 Messaging-Plattformen, durchgängige Unterstützung für Microsoft Teams, /handoff, /subgoal, native Klärungsschaltflächen in Telegram/Discord, nachträgliches Laden des Discord-Verlaufs, vision_analyze für Rohpixel, eine Verifizierungsfußzeile pro Durchlauf für Dateiänderungen, semantische LSP-Diagnosen bei jedem Schreibvorgang, einheitliches video_generate, computer_use über cua-driver für Anbieter ohne Anthropic, anklickbare OSC8-URLs, Unterstützung für die Zed ACP Registry, der OpenRouter Pareto Code router, NovitaAI, die Codex-App-Server-Laufzeit, der vertrauenswürdige huggingface/skills-Tap, 9 optionale Skills, die Plugin-Funktionen ctx.llm / tool_override, Websuche mit Brave/DDGS, die Umbenennung von Qwen Cloud, eine native Windows-Beta sowie die Behebung von 12 P0- und 50 P1-Problemen. |
19 |
| 2026-05-07 | Leitfaden v1.5: v0.13.0 (7. Mai 2026) – The Tenacity release hinzugefügt. Schwerpunkt: ein robustes Multi-Agent-Kanban-Board (Heartbeat, Rückforderung, Zombie-Erkennung, Halluzinationskontrolle, max_retries pro Aufgabe, projektübergreifende Boards), das Schwärme von einem Delegationsmuster zu einem erstklassigen Primitiv macht. Der Befehl /goal richtet den Agenten über mehrere Durchläufe hinweg auf ein Ziel aus (Ralph-Loop-Muster als Slash-Befehl). Neues Tool video_analyze, zunächst für Gemini und mit erweiterbarer Unterstützung kompatibler Modelle. xAI Custom Voices TTS als Anbieter mit Sprachklonfunktion. Internationalisierung für 7 Sprachen (zh-Hans, ja, de, es, fr, uk, tr) für CLI und gateway-Nachrichten; Dokumentation ausschließlich auf zh-Hans. Google Chat als 20. Messaging-Plattform über das steckbare Adaptermuster; IRC und Microsoft Teams wurden auf dasselbe Muster migriert. ProviderProfile ABC + plugins/model-providers/ für steckbare Drittanbieter ohne Änderungen am Kern. Automatische Fortsetzung von Sitzungen nach einem Neustart des gateway, /update und dem Neuladen von Quelldateien. checkpoints v2 wurde mit einem zentralen Speicherdesign, echtem Pruning und Schutzmechanismen für den Datenträger neu geschrieben. Acht geschlossene P0-Sicherheitslücken: standardmäßig aktivierte Geheimnisredaktion, Umgehung der Discord-DM-Beschränkung über mehrere Guilds hinweg (CVSS 8.1), Ablehnung unbekannter Absender und Stummschaltung von Selbstchats in WhatsApp, TOCTOU bei MCP OAuth, TOCTOU bei auth.json in CLI, SSRF-Mindestschutz im Browser, Prüfung von cron auf Prompt-Injection sowie Redaktion bei hermes debug share. Linting nach Schreibvorgängen für Python/JSON/YAML/TOML, skriptbasierter cron-Modus no_agent, plattformübergreifende Zulassungslisten für Slack/Telegram/Mattermost/Matrix/DingTalk sowie Erweiterungen für MCP (SSE-Transport, Weiterleitung von OAuth, MEDIA-Tags für Bilder). Zahlen seit v0.12.0: 864 Commits, 588 zusammengeführte PRs, 829 geänderte Dateien, 295 Mitwirkende aus der Community und 282 geschlossene Probleme (13 P0, 36 P1). |
18 |
| 2026-05-06 | Leitfaden v1.4: v0.12.0 (30. April 2026) – The Curator release hinzugefügt. Schwerpunkt: ein autonomer Curator im Hintergrund, der über den cron-Taktgeber des gateway ausgeführt wird (standardmäßig alle 7 Tage), die Skill-Bibliothek anhand eines Bewertungsrasters benotet, veraltete Skills entfernt, verwandte Skills zusammenführt und für jeden Durchlauf Berichte erstellt – Hermes wartet sich zwischen aktiven Sitzungen selbst. Die Selbstverbesserungsschleife wurde um rasterbasierte Bewertungen, eine Bevorzugung aktiver Aktualisierungen, korrekte Laufzeitvererbung und auf Speicher sowie Skills beschränkte toolsets erweitert. Vier neue Inferenzanbieter: GMI Cloud, Azure AI Foundry, MiniMax OAuth und Tencent Tokenhub. LM Studio wurde zu einem erstklassigen Anbieter aufgewertet. Manifeste entfernter Modellkataloge werden nun ohne neue Releases automatisch aktualisiert. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über die steckbare gateway-Architektur) und Tencent Yuanbao (18., native Text- und Medienunterstützung). Native Spotify-Unterstützung über PKCE OAuth mit gebündeltem skill; Google Meet-Plugin für Anrufe und Transkriptionen; Piper local TTS als Anbieter. ComfyUI v5 und TouchDesigner-MCP wurden von optional auf standardmäßig gebündelt umgestellt. Neue Skills: Humanizer, claude-design, design-md, airtable. Ergänzungen für CLI: einmaliger Modus hermes -z, Vorabprüfung mit hermes update --check, Slash-Befehl /reload-skills und steckbare Stile für die Beschäftigt-Anzeige. Der sichtbare Kaltstart der TUI wurde durch verzögerte Agenteninitialisierung und verzögerte Importe um etwa 57 % verkürzt. Sicherheit: Die Geheimnisredaktion ist standardmäßig deaktiviert, um eine Beschädigung der Nutzdaten zu verhindern; strikte Sperrliste für nicht wiederherstellbare Befehle. Zahlen: 1.096 Commits, 550 zusammengeführte PRs und 213 Mitwirkende aus der Community. |
17 |
| 2026-04-25 | Leitfaden v1.3: v0.11.0 (23. April 2026) – The Interface release hinzugefügt. Vollständige Neuentwicklung der interaktiven TUI mit React/Ink und einem Python JSON-RPC-Backend (tui_gateway); fixierter Eingabebereich, Live-Streaming mit OSC-52-Zwischenablagenunterstützung, stabile Auswahlschlüssel, Statusleiste mit Stoppuhr pro Durchlauf und Git-Branch, Bestätigung bei /clear, Voreinstellung für ein helles Design sowie ein Beobachtbarkeits-Overlay für das Starten von Subagenten. Steckbare Transportarchitektur – Formatkonvertierung und HTTP-Transport wurden für eine übersichtlichere Anbieteranbindung nach agent/transports/ ausgelagert. Native AWS-Bedrock-Unterstützung über das Converse-API. Fünf neue Inferenzpfade: NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth und Vercel ai-gateway. GPT-5.5 über Codex OAuth – das neue Flaggschiffmodell von OpenAI ist nun über ChatGPT Codex OAuth ohne separaten API-Schlüssel erreichbar. QQBot (17. Messaging-Plattform) mit Einrichtung per QR-Code-Scan und Streaming. Erweiterung der Plugin-Oberfläche: Slash-Befehle, Tool-Dispatch, Ausführungsblockierung und Ergebnistransformation. /steer <prompt> – Hinweise während eines laufenden Durchlaufs, die eine Notiz einschleusen, welche der laufende Agent nach seinem nächsten Tool-Aufruf sieht, ohne den Durchlauf zu unterbrechen oder den Prompt-Cache zu beeinträchtigen. Shell-Hooks binden Skripte ohne Python-Plugins als Lebenszyklus-Hooks ein. Der direkte Webhook-Zustellmodus leitet Nutzdaten unter Umgehung des Agenten unmittelbar an einen Plattformchat weiter, um sie zu verteilen. Intelligentere Delegation mit Orchestrator-Rollen, konfigurierbarer Starttiefe und Dateikoordination. Das Dashboard erhält ein Plugin-System, einen Live-Designwechsel, i18n und mobile Anpassungsfähigkeit. Zahlen seit v0.9.0: 1.556 Commits, 761 zusammengeführte PRs, 1.314 geänderte Dateien, 224.174 Einfügungen und 29 Mitwirkende aus der Community. |
64 |
| 2026-04-16 | Leitfaden v1.2: v0.10.0 – Nous Tool Gateway hinzugefügt. Zahlende Abonnenten von Nous Portal erhalten nun ohne zusätzliche API-Schlüssel Zugriff auf verwaltete Tools (Firecrawl-Websuche, Bildgenerierung mit FAL / FLUX 2 Pro, OpenAI TTS und Browserautomatisierung mit Browser Use). Die Aktivierung erfolgt für jedes Tool einzeln über das neue Konfigurationsfeld use_gateway. Sind beide Varianten konfiguriert, bevorzugt die Laufzeit das gateway gegenüber direkten API-Schlüsseln. Die Umgebungsvariable HERMES_ENABLE_NOUS_MANAGED_TOOLS wurde entfernt. Hermes Agent CLI bleibt MIT-lizenziert und vollständig kostenlos. |
65 |
| 2026-04-13 | Leitfaden v1.1: Funktionen aus v0.8.0 und v0.9.0 hinzugefügt. Lokales Web-Dashboard, Modus /fast, die Plattformen iMessage und WeChat (insgesamt 16), Überwachung von Hintergrundprozessen (watch_patterns), steckbare context engine, hermes backup/hermes import, Termux/Android, die Anbieter xAI, MiMo, Google AI Studio und Qwen, Befehl /debug sowie umfassende Sicherheitshärtung. |
15 16 |
| 2026-04-10 | Leitfaden v1.0: Erstveröffentlichung zu Hermes Agent v0.7.0. Anbieter-Authentifizierung, Konfiguration, CLI, Slash-Befehle, Tools, Skills, Speicher, gateway, cron, MCP, Komprimierung, Architektur, Migration von OpenClaw, Fehlerbehebung und FAQ. | |
| — |
Referenzen
-
Nous Research, Projekt-README „Hermes Agent“ auf GitHub. Primärquelle für die Produktbeschreibung (selbstverbessernder Agent, mehrere Anbieter, Messaging-gateway, Terminal-Backends, Weiterentwicklung von skills, cron-Scheduler, Delegation) und den Einzeiler zur „Schnellinstallation“. ↩↩↩
-
Nous Research, „AI Providers“ in der Dokumentation zu Hermes Agent. Primärquelle für die vollständige Anbieterliste, die Authentifizierungsmethoden der einzelnen Anbieter (Nous Portal OAuth, Codex-Gerätecode, GitHub Copilot-Token-Typen, die drei Authentifizierungsmethoden von Anthropic, chinesische KI-Anbieter, Hugging-Face-Routing, benutzerdefinierte Endpunkte), die drei Authentifizierungswege (API-Schlüssel in
.env, OAuth überhermes model, benutzerdefinierter Endpunkt inconfig.yaml), die Syntax des Slash-Befehls/model(einschließlichcustom:name:model), Einrichtungsvorlagen für Ollama/vLLM/SGLang/llama.cpp/LM Studio, Anweisungen zur WSL2-Netzwerkkonfiguration, die Erkennungskette für die Kontextlänge, die Konfiguration von Fallback-Modellen, intelligentes Modell-Routing und benannte benutzerdefinierte Anbieter. Alle anbieterspezifischen Namen von Umgebungsvariablen, Token-Typen, Überschreibungen der Basis-URL und Modellkennungen in diesem Beitrag stammen von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Architecture“ im Entwicklerhandbuch zu Hermes Agent. Primärquelle für das Systemübersichtsdiagramm, die Verzeichnisstruktur, den Datenfluss durch die Nachrichtenpfade der CLI-Sitzung und des gateway, die drei API-Modi (
chat_completions,codex_responses,anthropic_messages), die Anbieterauflösung überruntime_provider.py, die Sitzungspersistenz über SQLite + FTS5, die Plattformliste des Messaging-gateway, die Erkennungsquellen des Plugin-Systems, die profile-Isolierung und die sechs Designprinzipien. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Configuration“ im Benutzerhandbuch zu Hermes Agent. Primärquelle für die Struktur des Konfigurationsverzeichnisses, die Regel für
config.yamlgegenüber.env(„config.yamlhat bei nicht geheimen Einstellungen Vorrang“), die Rangfolge der Konfiguration (CLI-Argumente → Umgebungsvariablen → config.yaml → .env → Standardwerte), die Einstellungen zur Kontextkomprimierung (compression.*-Block mitthreshold,threshold_tokens,target_ratio,tail_mode,protect_last_n,protect_first_n; Modell, Anbieter und Endpunkt des Zusammenfassungsmodells befinden sich seit der Migration auf Konfigurationsversion 17 unterauxiliary.compression.*), die Schwellenwerte für die Budgetauslastung (70 % Vorsicht, 90 % Warnung), Streaming-Zeitüberschreitungen mit automatischer Anpassung für lokale Anbieter und den vollständigen Konfigurationsblock für Hilfsmodelle (auxiliary:mit den Slotsvision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). Die Beschränkung des Anbieters"main"auf Hilfs-, Komprimierungs- und Fallback-Slots stammt ebenfalls von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Migrate from OpenClaw“ in den Anleitungen zu Hermes Agent. Quelle für den Migrationsablauf von OpenClaw zu Hermes. ↩↩
-
Nous Research, „CLI Commands Reference“ in der Referenzdokumentation zu Hermes Agent. Primärquelle für sämtliche in diesem Beitrag dokumentierten CLI-Befehle der obersten Ebene, darunter
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes updateundhermes uninstall. Alle Flags der Unterbefehle, Optionsbeschreibungen, das Verhalten des Anmeldedatenpools, die Syntax zur Protokollfilterung, die Flags für die OpenClaw-Migration, die Befehle zur profile-Verwaltung und die Befehle zur Dienstinstallation in diesem Beitrag stammen von dieser Seite. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Installation“ in der Anleitung für die ersten Schritte mit Hermes Agent. Primärquelle für den Installationsbefehl als Einzeiler, das Verhalten des Installationsprogramms (Voraussetzungen, Plattformunterstützung, automatische Termux-Erkennung, Anforderungen für Windows/WSL2), die Tabelle der optionalen Erweiterungen, die Schritte zur manuellen Installation und die Verifizierungsbefehle. ↩↩↩↩↩↩↩↩↩
-
Nous Research, „CLI Commands Reference“ — siehe insbesondere den Abschnitt zu
hermes dump, der das Ausgabeformat des Befehls (Kopfzeile, Umgebung, Identität, Modell, Terminal, API-Schlüssel, Funktionen, Dienste, Arbeitslast, Konfigurationsüberschreibungen) und seinen vorgesehenen Einsatz zum Teilen von Diagnosedaten beschreibt. ↩ -
Nous Research, „Slash Commands Reference“ in der Referenzdokumentation zu Hermes Agent. Primärquelle für sämtliche in diesem Beitrag aufgeführten Slash-Befehle, die
COMMAND_REGISTRY-Architektur, die Aufteilung zwischen CLI und Messaging, dynamische Slash-Befehle für skills, Schnellbefehle inconfig.yaml, das Verhalten des Präfixabgleichs und die ausschließlich für Messaging vorgesehenen Befehle (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Tools & Toolsets“ im Benutzerhandbuch zu Hermes Agent. Primärquelle für den Überblick über die Tool-Kategorien, Befehle zur Verwendung von toolset, die sieben Terminal-Backends (local, docker, ssh, singularity, modal, daytona, vercel_sandbox), die Containerkonfiguration (CPU, Arbeitsspeicher, Festplattenspeicher, persistent), die Sicherheitshärtung von Containern, die API-Verwaltung von Hintergrundprozessen und die sudo-Unterstützung. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, „Skills System“ im Benutzerhandbuch zu Hermes Agent. Primärquelle für die schrittweise Offenlegung, das Format von
SKILL.md, plattformspezifische skills, die bedingte Aktivierung (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), vom Agenten verwaltete skills überskill_manage, die Befehle des skill hub und dessen Quellenliste (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), Sicherheitsscans und Vertrauensstufen sowie externe skill-Verzeichnisse. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Persistent Memory“ im Benutzerhandbuch zu Hermes Agent. Primärquelle für die Zeichenbegrenzungen von
MEMORY.md/USER.md, das Muster eingefrorener Momentaufnahmen, die Aktionen des Speicher-Tools (add,replace,remove), die Kriterien dafür, was gespeichert beziehungsweise ausgelassen werden sollte, den Vergleich zwischen Speicher- und Sitzungssuche sowie die externen Speicheranbieter. Beim Tagv2026.9.24heißt es auf der zugehörigen Seite Memory Providers (Zeile 9): „Hermes Agent wird mit 7 Plugins für externe Speicheranbieter ausgeliefert“. Zudem wird ergänzt, dass „weitere (wie Hindsight) im Plugin-Katalog verfügbar sind“;plugins/memory/enthält bei diesem Tagbyterover,holographic,honcho,mem0,openviking,retaindbundsupermemory. ↩↩↩↩↩↩↩↩ -
Nous Research, „Personality & SOUL.md“ im Benutzerhandbuch zu Hermes Agent. Primärquelle für das Verhalten von
SOUL.md(befindet sich inHERMES_HOME, wird nie überschrieben, steht an Position 1 im System-Prompt und wird vor der Einbindung auf Sicherheitsrisiken geprüft), die Unterscheidung zwischen SOUL.md und AGENTS.md, die Liste der integrierten Persönlichkeiten (14 Persönlichkeiten vonhelpfulbishype), benutzerdefinierte Persönlichkeiten inconfig.yaml, das Überlagerungsmuster von/personalityund die vollständige Reihenfolge beim Aufbau des Prompt-Stacks. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, „Use MCP with Hermes“ und MCP Config Reference in den Anleitungen und der Referenz zu Hermes Agent. Quelle für das Konfigurationsformat
mcp_servers:inconfig.yamlmit den Felderncommand,argsundenv. ↩ -
Versionshinweise zu Hermes Agent v0.8.0. 8. April 2026. Automatische Benachrichtigungen zu Hintergrundprozessen, kostenloses MiMo v2 Pro auf Nous Portal, plattformübergreifender Modellwechsel im laufenden Betrieb über
/model, Google AI Studio als nativer Anbieter, Qwen OAuth, aktivitätsbasierte Zeitüberschreitungen, Genehmigungsschaltflächen auf Slack/Telegram, MCP OAuth 2.1 PKCE, zentrale Protokollierung, Erweiterung des Plugin-Systems. ↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.9.0. 13. April 2026. Lokales Web-Dashboard, Fast Mode (
/fast), iMessage über BlueBubbles, WeChat + WeCom, Termux/Android, Überwachung von Hintergrundprozessen (watch_patterns), native Anbieter für xAI + Xiaomi MiMo, austauschbare context engine, einheitliche Proxy-Unterstützung, Sicherheitshärtung (Behebung von Path Traversal, Shell Injection, SSRF und RCE),hermes backup/hermes import,/debug+hermes debug share, 16 unterstützte Plattformen. 487 Commits, 269 zusammengeführte PRs, 24 Mitwirkende. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.12.0. 30. April 2026. „The Curator release.“ Autonomer Curator im Hintergrund, der die Skill-Bibliothek in einem standardmäßigen 7-Tage-Zyklus bewertet, bereinigt und konsolidiert und dabei über den cron-Taktgeber des gateway ausgeführt wird. Verbesserte Selbstoptimierungsschleife: rubric-basierte Bewertung, Bevorzugung aktiver Aktualisierungen, korrekte Vererbung der Laufzeitumgebung und auf Speicher und skills beschränkte toolsets. Vier neue Inferenzanbieter: GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio wurde zum vollwertigen Anbieter aufgewertet. Manifeste für Remote-Modellkataloge werden automatisch und ohne neue Releases aktualisiert. Zwei neue Messaging-Plattformen: Microsoft Teams (19., über eine austauschbare gateway-Architektur) und Tencent Yuanbao (18., native Unterstützung für Text + Medien). Native Spotify-Integration über PKCE OAuth mit gebündeltem skill; Google-Meet-Plugin für Anrufe und Transkription; Piper als lokaler TTS-Anbieter. ComfyUI v5 + TouchDesigner-MCP sind standardmäßig gebündelt. Neue skills: Humanizer, claude-design, design-md, airtable. CLI:
hermes -zals One-Shot-Modus,hermes update --checkfür Vorabprüfungen, Slash-Befehl/reload-skills, austauschbare Stile für die Auslastungsanzeige. Der TUI-Kaltstart wurde durch verzögerte Initialisierung um ca. 57 % verkürzt. Sicherheit: Die Schwärzung von Geheimnissen ist standardmäßig deaktiviert; strikte Sperrliste für nicht wiederherstellbare Befehle. Statistik seit v0.11.0: 1.096 Commits, 550 zusammengeführte PRs, 213 Mitwirkende aus der Community. Siehe auch: Release-Tag v2026.4.30. ↩↩↩ -
Versionshinweise zu Hermes Agent v0.13.0. 7. Mai 2026. „The Tenacity release.“ Multi-Agent-Kanban-Board mit Heartbeat, Rückübernahme, Zombie-Erkennung, Halluzinationskontrolle, aufgabenspezifischem
max_retriesund Boards für mehrere Projekte. Slash-Befehl/goalzum Fixieren von Zielen über mehrere Dialogrunden hinweg (Ralph-Loop-Grundelement) mit konfigurierbarem Rundenbudget. Toolvideo_analyze, vorrangig für Gemini ausgelegt und kompatibel mit multimodalen Erweiterungen. xAI Custom Voices als TTS-Anbieter mit Stimmenklonung. i18n für 7 Sprachen: zh-Hans, ja, de, es, fr, uk, tr (CLI + gateway-Nachrichten; Dokumentation nur auf zh-Hans). Google Chat als 20. Messaging-Plattform über ein austauschbares Adaptermuster mit generischen Plugin-Hooksenv_enablement_fn/cron_deliver_env_var; IRC und Microsoft Teams wurden auf dasselbe Muster migriert.ProviderProfileABC +plugins/model-providers/für austauschbare Drittanbieter. Automatische Wiederaufnahme von Sitzungen nach einem Neustart des gateway,/updateund dem erneuten Laden von Quelldateien. Checkpoints v2 als Neufassung mit einem einzigen Speicher, echter Bereinigung, Schutzmechanismen für den Datenträger und ohne verwaiste Schatten-Repositories. Acht geschlossene P0-Sicherheitslücken: standardmäßig aktivierte Schwärzung von Geheimnissen, Umgehung der Gildenbeschränkung bei Discord-Direktnachrichten (CVSS 8.1, Rollen-Positivlisten auf Gildenebene), standardmäßige Ablehnung unbekannter Absender in WhatsApp + niemals Antworten im eigenen Chat, TOCTOU beim Speichern von MCP-OAuth-Anmeldedaten, CLI-TOCTOU beiauth.jsonin Schreibroutinen für Anmeldedaten, grundlegender SSRF-Schutz vor Cloud-Metadaten im Browser bei Hybrid-Routing, Prüfung zusammengesetzter cron-Prompts (einschließlich Skill-Inhalten) auf Prompt Injection, Schwärzung von Protokollinhalten beim Hochladen überhermes debug share. Weitere erwähnenswerte Punkte: Linting nach Schreibvorgängen für Python/JSON/YAML/TOML, reiner Skript-Watchdog-Modusno_agentfür cron, Plattform-Positivlisten für Slack/Telegram/Mattermost/Matrix/DingTalk, Verbesserungen an MCP (SSE-Transport, Weiterleitung von OAuth, Bildergebnisse als MEDIA-Tags). Statistik seit v0.12.0: 864 Commits, 588 zusammengeführte PRs, 829 geänderte Dateien, 295 Mitwirkende aus der Community, 282 geschlossene Issues (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.14.0. 16. Mai 2026. „The Foundation release.“ Seit v0.13.0: 808 Commits, 633 zusammengeführte PRs, 1.393 geänderte Dateien, 165.061 Einfügungen, 545 geschlossene Issues (12 P0, 50 P1) und 215 Mitwirkende aus der Community. Neu hinzugekommen sind SuperGrok OAuth mit einem Kontextfenster von 1 Mio. für grok-4.3,
hermes proxy,x_search, PyPI-Paketierung, verzögert geladene Abhängigkeiten, ein sitzungsübergreifender Claude-Prompt-Cache für 1 Stunde, ein um ca. 19 s schnellerer Start, 180-mal schnellere Browser-CDP-Aufrufe, LINE und SimpleX Chat für insgesamt 22 Messaging-Plattformen,/handoff, native Schaltflächen für Rückfragen, das Nachladen des Discord-Verlaufs,vision_analyzefür Rohpixeldaten, eine Prüfungsfußzeile für Dateiänderungen nach jeder Dialogrunde, semantische LSP-Diagnosen, das vereinheitlichtevideo_generate,computer_useüber cua-driver, OSC8-Links, Unterstützung für die Zed ACP Registry, der OpenRouter Pareto Code Router, NovitaAI, die Codex App-Server-Laufzeitumgebung,huggingface/skills, Plugin-ctx.llm,tool_override, Brave/DDGS-Suche, Härtung gegen gefährliche Befehle,/subgoal, die Umbenennung von Qwen Cloud, eine native Windows-Beta, insgesamt 16 Sprachversionen sowie umfassende Aktualisierungen an Dokumentation und Tests. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.16.0, „The Surface Release“, Tag
v2026.6.5, veröffentlicht am 6. Juni 2026 um 00:55:58 UTC (Datum des Release-Tags: 5. Juni 2026); neueste Version mit Stand vom 8. Juni 2026. Neuer nativer Hermes Desktop (Electron, macOS/Linux/Windows; Verbindung mit einem entfernten gateway über sicheres WebSocket mit OAuth oder Benutzername/Passwort; entfernte Hosts je profile; profileübergreifende@session-Links; Benutzeroberfläche auf vereinfachtem Chinesisch über typisierte i18n,display.language). Das Web-Dashboard wurde zu einem vollständigen Administrationsbereich ausgebaut (MCP-Katalogumschalter, Anmeldedatenverwaltung, Erstellung von Webhooks/Hooks, Speicherkonfiguration, gateway-Steuerung, Systemseite mit Prüfung vor Updates und Debug Share, Kanalseite; erweiterbare Authentifizierung einschließlich selbst gehostetem OIDC undhermes dashboard register). Neue Befehle:/undo [N], konfigurierbare Standardschnittstelle (cli/tui,--cli), TUI-/modelplus Sitzungsübersicht,hermes portal,hermes prompt-size,hermes sessions optimize. Neue Modelle:deepseek-v4-flash,MiniMax-M3(1 Mio. Kontext),qwen3.7-plus,gemini-3.5-flash; xAI Grok OAuth; unscharfe Auswahl; stündliche Katalogaktualisierung. Skills: schlankere Standardauswahl, Relevanzprüfung mitenvironments:, standardmäßig vertrauenswürdigerNVIDIA/skills-Tap, schrittweise Offenlegung von Tools, Behebung fälschlich als erfolgreich gemeldeter MCP-OAuth-Vorgänge. Sicherheit: CVE-2026-48710 (Starlette BadHost) auf ≥1.0.1 festgesetzt, SSRF-Prüfungen aus dem Ereignis-Loop ausgelagert, Bedrock-Bearer-Token aus der Umgebung von Unterprozessen entfernt, Lesezugriff aufbws_cache.jsongeschützt,docker restart/stop/killzu den gefährlichen Mustern hinzugefügt, unsichtbare Unicode-Zeichen bereinigt; 2 P0- und 62 P1-Probleme geschlossen (16 davon mit Sicherheitskennzeichnung). Marketingformulierungen der Versionshinweise (Anzahl der PRs/Commits, „none of this existed a week ago“) wurden ausgeschlossen; erfasst sind nur konkrete, dem Tag zugeordnete Funktions- und Versionsangaben. In der aktuellen Sitzung am 8. Juni 2026 verifiziert. ↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.17.0, „The Reach Release“, Tag
v2026.6.19, 19. Juni 2026; neueste Version mit Stand vom 21. Juni 2026. Messaging: iMessage über Photon Spectrum (OAuth per Gerätecode,hermes photon login, kein Mac-Relay); offizieller API-Adapter für WhatsApp Business Cloud (ersetzt den Bridge-Prozess); SimpleX-Gruppen, native Anhänge, Textbündelung, automatische Annahme; Raft als gebündeltes Plattform-Plugin. Modelle/Anbieter:z-ai/glm-5.2(1 Mio. Kontext),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(xAI OAuth, 200.000 Kontext); xAI-Standard →grok-build-0.1; adaptive Anthropic-Modelle verwenden den modernen Thinking-Vertrag (keinreasoning-Feld). CLI/Slash-Befehle:/version,/billing,hermes photon login,hermes curator run --consolidate(optional), grafische Oberfläche fürhermes model, Klonen von profiles. Desktop: Überwachungsfenster für Hintergrund-Subagents (delegate_task(background=true)), Modellauswahl im Composer, neu belegbare Tastenkürzel, native Betriebssystembenachrichtigungen, Entwürfe je Thread, Themes aus dem VS Code Marketplace, Benutzeroberfläche auf Japanisch und traditionellem Chinesisch. Dashboard: vollständiger profile-Builder, globaler profile-Umschalter, überarbeiteter Skills Hub mit Sicherheitsprüfung, Automation Blueprints, sichere Anmeldung (401 hinter OAuth). Skills/Tools: Bild-zu-Bild-Bearbeitung mitimage_generateüber verschiedene Anbieter hinweg, atomare Stapelverarbeitung mitmemoryoperations,simplify-code-skill für parallele Überprüfungen, boolescheswrite_approvalersetztwrite_mode. Architektur: Hintergrund-Subagents (Handle wird sofort zurückgegeben, Ergebnis fließt als neuer Turn ein), MCP-Elicitation-Handler für Bestätigungen während eines Tool-Aufrufs, verspätet verbundene MCP-Tools werden zwischen Turns bereitgestellt, erweiterbarer CronScheduler plus von Chronos verwaltetes cron, verwalteter Geltungsbereich (durch Administratoren unter/etc/hermesfestgelegt), Gateway-Gateway-Relay. Sicherheit: Umgehung der Denylist für Shell-Escapes geschlossen, bei fehlendem Genehmigungsmodul und Gateway-Adaptern mit eigener Richtlinie wird sicher abgebrochen, Umgebung von cron-Job-Skripten bereinigt, Geheimnisse in Debug-Dumps unkenntlich gemacht, Host-Metadaten aus öffentlichen Statusinformationen entfernt, MCP-stdio auf Exfiltrationsmuster geprüft, urllib3 und PyJWT wegen CVEs aktualisiert. Marketingformulierungen der Veröffentlichung (Commit-/PR-Zahlen) wurden ausgeschlossen. In der aktuellen Sitzung am 21. Juni 2026 verifiziert. ↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.18.0 (Tag
v2026.7.1), 1. Juli 2026 – „The Judgment Release“. Abarbeitung des priorisierten Backlogs (alle P0-/P1-Probleme geschlossen, etwa 692 Einträge innerhalb von zwölf Tagen); Mixture-of-Agents kann in allen Schnittstellen als vollwertiges Modell ausgewählt werden, wobei die vollständige Ausgabe jedes Referenzmodells in einem eigenen beschrifteten Block dargestellt und die Live-Antwort gestreamt wird; Abschlussverträge für/goal(der Agent überprüft seine eigene Arbeit durch Ausführung der Projektprüfungen); Befehl/learn(verwandelt beliebige Inhalte anhand einer Beschreibung in einen wiederverwendbaren skill, wobei CONTRIBUTING.md automatisch eingehalten wird);/journeyals visuelle Zeitleiste für Speicher und skills mit Bearbeitungsfunktion sowie einem Speichergraphen in der Desktop-App; parallele Verteilung an Hintergrund-Subagents (mehrere gleichzeitig delegierte Aufgaben); Desktop Projects (Projekt-/Repository-/Lane-Modell); auf null skalierbares gateway mit koordinierter Leerung; Unterstützung für Google Vertex AI (Gemini über GCP-Dienstkonten, automatische Aktualisierung von OAuth2-Tokens);/prompt-Befehl für $EDITOR. In der aktuellen Sitzung am 1. Juli 2026 (PST) anhand der GitHub-Veröffentlichungsseite verifiziert; v0.18.0 ist die neueste Version. ↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.20.5 (Tag
v2026.8.19, angegebenes Veröffentlichungsdatum 19. August, veröffentlicht am 21. August 2026; am 24. August 2026 über die GitHub-API abgerufen – Vorabversion: false). Wörtliche Beschreibung des Zeitfensters: „~746 Commits in ~1.250 Dateien (+111.500 / -20.701) – ~323 zusammengeführte PRs, darunter Threads für Gruppenräume im Bot Mode, einklappbare Gesprächszusammenfassungen, Blob-Face-Avatare und PDF-/Dateianhänge per Drag-and-drop; die schlüssellose Webstufe (kostenlose Rotation zwischen 5 Anbietern mit Ring-Failover, Websuche bei Neuinstallationen ohne jegliche Schlüssel); eine CLI-Politurwelle (unscharfe/model-Auswahl, Befehlspalette über Strg+P, aussagekräftigerer/status); Ausführungsdisziplin und Schutzmechanismen gegen Laufzeitstillstände aus den Ergebnissen der Composio-Evaluierung; Belege fürhermes updateund flottenweite Überprüfung mit--plan;hermes worktree list/prune; der opencode-freie Anbieter ohne Authentifizierung; Klärung mehrerer Fragen; Desktop-Performanceverbesserungen (Paint-first-Hydration im Bot Mode, Compositor-Spinner, React Compiler in beiden Renderern); und cron-Jobs mit persistentem Speicher und individuell festlegbarem Reasoning-Aufwand.“ Die Veröffentlichung wiederholt: „Die vollständigen kuratierten Versionshinweise für dieses Zeitfenster erscheinen mit v0.21.0.“ ↩↩↩↩↩↩↩↩↩↩↩ -
Terminal-Backends beim Tag
v2026.8.31(für Guide v1.17 erneut verifiziert;agent/terminal_env_registry.pyist byteidentisch mit seiner Version ausv2026.8.31, die Angaben im Docstring vontools/terminal_tool.pysind unverändert undtools/environments/enthält weiterhin dieselben sieben Backend-Module, nun ergänzt um den Helferpath_utils.py): Docstring des Modulstools/terminal_tool.py, wörtlich: „Ein Terminal-Tool, das Befehle in lokalen, Docker-, Modal-, SSH-, Singularity-, Daytona- und Vercel-Sandbox-Umgebungen ausführt“ und in der Liste zur Umgebungsauswahl der Eintragvercel_sandbox: „In Cloud-Sandboxes von Vercel Sandbox ausführen“; das Backend-Modultools/environments/vercel_sandbox.pyist beim Tag nebendaytona.py,docker.py,local.py,modal.py,singularity.pyundssh.pyvorhanden. Die README-Datei beim Tag: „Sieben Terminal-Backends – lokal, Docker, SSH, Singularity, Modal, Daytona und Vercel Sandbox.“ Die Dokumentationsseite zu Tools und Toolsets (Quellewebsite/docs/user-guide/features/tools.mdbeim Tag) führtvercel_sandboxtabellarisch als „Vercel-Sandbox-Cloud-MicroVM“ für „Cloud-Ausführung mit Snapshot-gestützter Dateisystempersistenz“ auf, zeigt den Konfigurationskommentar# or: docker, ssh, singularity, modal, daytona, vercel_sandboxund erklärt: „Authentifizieren Sie sich mit allen drei VariablenVERCEL_TOKEN,VERCEL_PROJECT_IDundVERCEL_TEAM_ID. … Unterstützte Laufzeitumgebungen sindnode24,node22undpython3.13; Hermes verwendet standardmäßig/vercel/sandboxals Stammverzeichnis des entfernten Arbeitsbereichs.“ Beiv2026.8.31enthält das Pakettools/environments/außerdem gemeinsam genutzte Infrastruktur (base.pymit der abstrakten BasisklasseBaseEnvironment,file_sync.py,modal_utils.py,managed_modal.py); der Paket-Docstring zählt das verwaltete Modal als Modal-Modus und nicht als achtes Backend: „Modal bietet zusätzlich direkte und von Nous verwaltete Modi, die über terminal.modal_mode ausgewählt werden.“ ↩↩↩ -
Anzahl der Messaging-Plattformen beim Tag
v2026.8.31(für Version 1.17 des Leitfadens erneut überprüft; identisch mitv2026.8.31– 28 Zeilen in der Dokumentationstabelle, dieselben 24 Mitglieder desPlatform-Enums und dieselben 22 Adapterverzeichnisse). Die Dokumentationsseite zum Messaging Gateway (Quellewebsite/docs/user-guide/messaging/index.mdbeim Tag) enthält eine Tabelle zum „Plattformvergleich“ mit 28 Zeilen: Telegram, Discord, Slack, Google Chat, WhatsApp, WhatsApp Cloud API, Signal, SMS, E-Mail, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, WeCom Callback, Weixin, BlueBubbles, Photon (iMessage), QQ, Yuanbao, Microsoft Teams, LINE, ntfy, Raft, IRC, Buzz, SimpleX.gateway/config.pydefiniertclass Platform(Enum)mit 24 expliziten Mitgliedern (local,telegram,discord,whatsapp,whatsapp_cloud,slack,signal,mattermost,matrix,homeassistant,email,sms,dingtalk,api_server,webhook,msgraph_webhook,feishu,wecom,wecom_callback,weixin,bluebubbles,qqbot,yuanbao,relay) und dokumentiert: „Plugin-Plattformen verwenden dynamische Mitglieder, die bei Bedarf von_missing_()erstellt werden, sodassPlatform("irc")funktioniert, ohne dieses Enum zu ändern.“ Der Verzeichnisbaumplugins/platforms/des Tags enthält 22 Adapterverzeichnisse:a2a buzz dingtalk discord email feishu google_chat homeassistant irc line matrix mattermost ntfy photon raft simplex slack sms teams telegram wecom whatsapp. Plattformbeschreibungen: auf der ntfy-Seite heißt es wörtlich: „ntfy ist ein einfacher HTTP-basierter Pub/Sub-Benachrichtigungsdienst. Er funktioniert mit dem kostenlosen öffentlichen Server unterntfy.shoder jeder selbst gehosteten Instanz … Abonnieren Sie ein Thema über die mobile ntfy-App, senden Sie Nachrichten an das Thema, um mit dem Agenten zu kommunizieren, und erhalten Sie die Antwort auf Ihrem Mobiltelefon.“ Auf der Buzz-Seite heißt es wörtlich: „Der Buzz-Adapter verbindet Hermes mit einer Buzz-Community – Blocks auf dem Nostr-Protokoll basierender Open-Source-Plattform für die Zusammenarbeit zwischen Menschen und Agenten – und leitet Nachrichten zwischen Buzz-Kanälen (oder DMs) und dem Agenten weiter. Für ausgehenden Datenverkehr wird die BinärdateibuzzCLI über die Shell aufgerufen … eingehender Datenverkehr verwendet ein natives Nostr-WebSocket-Abonnement.“ Auf beiden Seiten: „Führen Siehermes gateway setupaus und wählen Sie … für eine geführte Einrichtung.“ ↩↩↩ -
Anzahl der Provider beim Tag
v2026.8.31(für Version 1.17 des Leitfadens erneut überprüft; v0.21.0 ÄNDERTE diese Zahlen gegenüber den 38 statischen Einträgen, 37 Plugin-Verzeichnissen und 41 Dokumentationszeilen vonv2026.8.31).hermes_cli/models.pydeklariertCANONICAL_PROVIDERS: list[ProviderEntry]mit 39 statischen Einträgen (nous,fireworks,openrouter,moa,novita,lmstudio,anthropic,openai-codex,openai-api,alibaba,xai-oauth,xiaomi,tencent-tokenhub,tencent-tokenplan,nvidia,copilot,copilot-acp,huggingface,gemini,vertex,deepseek,xai,zai,kimi-coding,kimi-coding-cn,stepfun,minimax,minimax-oauth,minimax-cn,ollama-cloud,arcee,gmi,kilocode,opencode-zen,opencode-go,bedrock,azure-foundry,ai-gateway,qwen-oauth), gefolgt vom Kommentar „CANONICAL_PROVIDERS automatisch um alle unter providers/ registrierten Provider erweitern, die nicht bereits in der obigen Liste enthalten sind. Das Hinzufügen von plugins/model-providers// genügt, um einen neuen Provider in der Modellauswahl verfügbar zu machen“; die Schleife überspringt weiterhin nur die Authentifizierungstypenoauth_device_code,oauth_external,external_process,aws_sdk,copilotundvertex. Der Verzeichnisbaumplugins/model-providers/des Tags enthält 39 Providerverzeichnisse (nebius-token-factoryundrouterkamen im Zeitraum von v0.21.0 hinzu); die neun ohne statischen Eintrag (actual,alibaba-coding-plan,commandcode,deepinfra,meta-ai,nebius-token-factory,opencode-free,router,upstage) werden alle dem Authentifizierungstypapi_keyzugeordnet – sieben deklarierenauth_type="api_key"ausdrücklich (einschließlich der beiden neuen Plugins), währendcommandcodeundopencode-freeauth_type: str = "api_key"ausproviders/base.pyübernehmen. Die Dokumentationsseite zu AI Providern (Quellewebsite/docs/integrations/providers.mdbeim Tag) führt 45 benannte Provider sowie eine Zeile für einen „benutzerdefinierten Endpunkt“ auf (seitv2026.8.31hinzugefügte Zeilen: Ramp Router, Nebius Token Factory, Tencent TokenPlan, Alibaba Cloud (Token Plan) – zitiert in 36); jeder Umgebungsvariablenname, Provider-Slug, Alias und Authentifizierungshinweis in den neuen Matrixzeilen ist aus dieser Tabelle zitiert, darunter „OpenCode Free | Ohne Schlüssel – weder API-Schlüssel noch Konto erforderlich (Provider:opencode-free, Aliasse:free,opencode_free). Wählen Sie den Provider überhermes modeloder/model freeaus; Anfragen werden anonym gesendet“, „Google Vertex AI | … OAuth2 über JSON eines Dienstkontos oder ADC, GCP-Abrechnung“, „AWS Bedrock | … standardmäßige AWS-Anmeldedatenkette über boto3“ und „CommandCode | … Funktioniert mit GOAT-/Pro-/Max-/Provider-Tarifen (nicht mit dem Go-Tarif für 1 $ – kein API-Zugriff)“. Die Zeile zu Meta AI stammt aus dem Block derselben Seite für einen API-Schlüssel erster Klasse: „Meta Model API (Muse-Spark-Familie) …hermes chat --provider meta-ai --model muse-spark-1.2… Erforderlich: MODEL_API_KEY“. Cerebras erscheint nur in der Tabelle „Andere kompatible Provider“ der Seite (https://api.cerebras.ai/v1, „Inferenz auf Chips im Wafermaßstab“) und wird deshalb unter der Zeile für benutzerdefinierte Endpunkte statt als Provider erster Klasse aufgeführt. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
CLI-Oberfläche beim Tag
v2026.8.31(für Guide v1.17 erneut verifiziert; die zitierten Hilfetexte zu globalen Optionen und sämtliche Fakten zu_BUILTIN_SUBCOMMANDSsind gegenüberv2026.8.31unverändert – das Frozenset ist mit 73 Einträgen identisch –, währendhermes_cli/_parser.pynur innerhalb vonhermes chatgeändert wurde, wie in 40 dokumentiert). Die globalen Optionen und ihre Hilfetexte stammen aushermes_cli/_parser.py:--in(„Vor dem Starten oder Fortsetzen in DIR wechseln. In Kombination mit ‘–resume latest’ oder -c wird die neueste Sitzung für den Arbeitsbereich von DIR ausgewählt, und die Sitzung verbleibt in DIR (die Wiederherstellung des aufgezeichneten Arbeitsverzeichnisses wird übersprungen).“),--ignore-user-config(„~/.hermes/config.yaml ignorieren und auf integrierte Standardeinstellungen zurückgreifen (Anmeldedaten in .env werden weiterhin geladen)“),--ignore-rules(„Automatische Einbindung von AGENTS.md, SOUL.md, .cursorrules, Speicher und vorab geladenen skills überspringen“),--tui(„Die moderne TUI anstelle der klassischen REPL starten“),--cli(„Die klassische prompt_toolkit-REPL erzwingen (überschreibt display.interface=tui)“),--dev(„Mit –tui: TypeScript-Quelldateien über tsx ausführen (dist-Build überspringen)“) und--version/-V(„Version anzeigen und beenden“).hermes_cli/_startup_fast.pyverwendet den Schnellpfad ausschließlich fürargv in (["--version"], ["-V"]), und das_BUILTIN_SUBCOMMANDS-Frozenset inhermes_cli/main.pyenthält keinen Eintragversion; die CLI-Befehlsreferenz dokumentierthermes --version(„Versionsinformationen anzeigen“), aber keinhermes version. Die Befehlsbeschreibungen sind diehelp=-Texte des Parsers aushermes_cli/main.pyundhermes_cli/subcommands/*.pybeim Tag (zum Beispielapprovals: „Werkzeuge für Genehmigungsabfragen (Verlauf nach Vorschlägen für die Zulassungsliste durchsuchen)“;pause: „Not-Aus: cron-/Kanban-Verteilung und neue gateway-Durchläufe pausieren“;sync: „Skill Sync – Ihre skills geräteübergreifend und mit Ihrem Team synchronisieren“;verify: „Ausführungsrezept eines Projekts erkennen und einem Smoke-Test unterziehen“;login: „Veraltet. Verwenden Siehermes auth, um Anmeldedaten zu verwalten,hermes model, um einen Anbieter auszuwählen, oderhermes setupfür die vollständige Einrichtung.“), abgeglichen mit der Tabelle der Befehle auf oberster Ebene in der Dokumentation.hermes update --planbefindet sich inhermes_cli/subcommands/update.py: „Den Aktualisierungsplan anzeigen und beenden, ohne Änderungen vorzunehmen: Installationsart (git/docker/nix), sämtliche laufenden Hermes-Dienste in allen profiles mit ihrem Supervisor und der Version des ausgeführten Codes sowie die Art, wie jeder Dienst neu gestartet wird. Schreibgeschützt; für eine aktive Flotte sicher.“; in_BUILTIN_SUBCOMMANDSexistiert kein Befehlfleet.hermes worktreeist inhermes_cli/main.pyregistriert (Hilfe: „Angesammelte git-Worktrees und zusammengeführte Branches prüfen und bereinigen“) und umfasstlist(Aliassels,audit; „Jeden Tree klassifizieren: Alter, Größe, Urteil, Grund (Standardaktion)“),prune(„Sichere Trees entfernen und vollständig zusammengeführte lokale Branches löschen“),--repo,--dry-run(„Den Plan anzeigen, ohne Änderungen vorzunehmen“),--trees-only(„Nur Worktrees entfernen; lokale Branches unverändert lassen“) und--branches-only(„Nur zusammengeführte lokale Branches löschen; Worktrees unverändert lassen“). Der Slash-Befehl/worktreeist_handle_worktree_commandinhermes_cli/cli_commands_mixin.py(Syntaxblock:/worktree,/worktree new [name],/worktree list,/worktree prune [--dry-run]); der Abschnitt „Worktree-Bereinigung“ im CLI-Benutzerhandbuch ergänzt: „Innerhalb einer Sitzung führt/worktree prune [--dry-run]denselben Vorgang aus (und verändert niemals den Tree, in dem die Sitzung ausgeführt wird).“ ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Portal-Befehle beim Tag
v2026.8.31(für Guide v1.17 erneut verifiziert;hermes_cli/portal_cli.pyist bytegenau mit seiner Version ausv2026.8.31identisch). Im Abschnitt „Erfassung des API-Schlüssels überspringen – Nous Portal“ heißt es in der README beim Tag: „Ein Befehl nach einer Neuinstallation:hermes setup --portal… Dadurch werden Sie über OAuth angemeldet, Nous wird als Ihr Anbieter festgelegt und das Tool Gateway aktiviert. Mithermes portal infokönnen Sie jederzeit prüfen, was eingerichtet ist.“hermes_cli/portal_cli.pyregistriertportal(Hilfe: „Nous Portal einrichten (Anmeldung, Modellauswahl, Tool Gateway); siehe auchportal info“) mitlogin(„Bei Nous Portal anmelden und einrichten (Standard; einmaliges Onboarding)“),info(„Zusammenfassung der Portal-Authentifizierung und des Tool-Gateway-Routings anzeigen“),open(„Die Portal-Abonnementseite in Ihrem Standardbrowser öffnen“),tools(„Tool-Gateway-Werkzeuge und die über Nous gerouteten Werkzeuge auflisten“) sowie dem Codekommentar „statusbleibt als ausgeblendeter Alias für Abwärtskompatibilität mitinfoerhalten.“ Die Dokumentationsseite zum Tool Gateway zeigthermes setup --portal # Fresh install: Nous OAuth + set Nous as provider + turn on the Tool Gateway in one goundhermes portal info # Portal auth + Tool Gateway routing summary; die CLI-Befehlsreferenz beim selben Tag dokumentiert weiterhinhermes portal [status|open|tools]. ↩↩↩ -
GitHub-Vergleich über API,
NousResearch/hermes-agent,v2026.8.19...main, abgerufen am 26. August 2026:ahead_by: 1104,behind_by: 0. API für Releases führtv2026.8.19(Hermes Agent v0.20.5, veröffentlicht am 2026-08-21T12:16:39Z) als neuesten Tag auf. In dessen Hinweisen heißt es: „Die vollständigen kuratierten Versionshinweise für diesen Zeitraum erscheinen mit v0.21.0 und dokumentieren alles ab v0.20.0.“ Am 27. August 2026 anhand des neuen Tags erneut geprüft:v2026.8.27...mainliefertahead_by: 0,behind_by: 0,status: identical–mainbefindet sich nun exakt auf dem Tag v0.20.6. ↩↩ -
Versionshinweise zu Hermes Agent v0.20.6 (Tag
v2026.8.27, angegebenes Veröffentlichungsdatum 27. August, veröffentlicht am 2026-08-27T12:06:53Z; am 27. August 2026 über GitHub API abgerufen – prerelease: false). Wortgetreue Einordnung: „Patch-Version. Dieser Tag fasst die seit v0.20.5 zusammengeführten rund 525 PRs zu einer stabilen getaggten Version für nachgelagerte Verbraucher zusammen (Docker-Images, gehostete Bereitstellungen, Neuinstallationen).“ Wortgetreue Beschreibung des Zeitraums: „Seit v0.20.5 (v2026.8.19, getaggt am 21. August) wurden in diesem Zeitraum rund 1.313 Commits in etwa 1.557 Dateien (+177.113 / -21.682) übernommen – rund 525 zusammengeführte PRs, darunter ein zustimmungsgebundenes Browsing mit realen profiles (verwenden Sie Ihr standardmäßiges Chromium-profile zum lokalen Browsen, unter Windows mit einem genehmigungspflichtigen Schließvorgang); ein eigenes Betriebssystemfenster für den Desktop-Browser samt verwalteter SSH-Engine für Remote-Aktualisierungen und einer profile-Leiste für Flotten; eine umfangreiche Erweiterung des Remote-MCP-Katalogs (über 50 live verifizierte, von Anbietern gehostete Server, darunter Cloudflare, Grafana Cloud, Better Stack und Railway); TTL-Ergebnis-Caching für web_search/web_extract; Lean-Tail-Komprimierung als Standardeinstellung; tool_search mit mehreren Abfragen und Wortstammerkennung; optionale Betriebssystem-Schlüsselbundverschlüsselung für gespeicherte Geheimnisse (keine macOS-Schlüsselbundabfragen mehr bei jedem Start); Updater, die gateways über den Steuerungs-Socket pausieren, statt ihre Prozessbäume zu beenden; Image-/paketverwaltete Installationen, die unsichere direkte Aktualisierungen verweigern (#91277 Phase 3); dauerhafte Vorfallbestätigungen für cron und klarere Fehler bei abweichenden Codeversionen; Steuerungsmöglichkeiten für Slack-Linkvorschauen; gemeinsam genutzte Docker-Containeridentitäten; austauschbare Backends für Terminalumgebungen sowie neue Modelle in den Auswahlmenüs (GLM-5.3-Flash, MiniMax M3 free, MiniMax H3 Max video).“ Die Veröffentlichung wiederholt: „Die vollständigen kuratierten Versionshinweise für diesen Zeitraum erscheinen mit v0.21.0 und dokumentieren alles ab v0.20.0 – Highlights, Funktionsbereiche und vollständige Würdigungen der Mitwirkenden. Nichts aus diesem Zeitraum wird ausgelassen.“ ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Komprimierung bei Tag
v2026.8.31, für Guide v1.17 erneut verifiziert:tail_mode: str = "lean", die Schutzprüfung("legacy", "lean"), agent_inits Standardwert"lean", die Migration auf Konfigurationsversion 17 und der nachstehende Hinweis zum veralteten Hilfskommentar gelten auch beim neuen Tag (context_compressor.pyerhielt einen Wiederholungspfad für die angeheftete Zusammenfassungsroute, der keinen der zitierten Standardwerte ändert).agent/context_compressor.pyverwendet inContextCompressor.__init__standardmäßigtail_mode: str = "lean", mit dem Kommentar „Lean-Tail-Modus (#compaction-v2): ‘lean’ = kleiner, begrenzter Aktualitäts-Tail + Zusammenfassungsabschnitt mit unveränderten Benutzernachrichten + Wiederherstellungsverweise; ‘legacy’ = 0,20Fenster-Tail (ausgeliefertes Verhalten)“ und der Schutzprüfungself.tail_mode = tail_mode if tail_mode in ("legacy", "lean") else "lean".agent/agent_init.pyliestcompression.tail_modemit dem Standardwert"lean"; der zugehörige Kommentar beziffert beide Modi: „’lean’ (Standard) behält einen begrenzten, unveränderten Tail von 2,5 %/10K–25K mit Wiederherstellungsverweis-Mechanismen bei … ‘legacy’ stellt den unveränderten Tail von 0,20Schwellenwert aus der Zeit vor #87326 wieder her, der bei Konfigurationen mit großem Fenster/erhöhtem Schwellenwert pro Komprimierung 100–240K Token hortet.“ Die Dokumentationsseite zur Konfiguration (Quelldateiwebsite/docs/user-guide/configuration.mdbeim Tag) zeigt den Blockcompression:mitenabled,threshold: 0.50,threshold_tokens: null,target_ratio: 0.20,tail_mode: lean(beiv2026.8.31erläutert: „’lean’ (Standard – begrenzter Tail von 2,5 %, 10K–25K, mit einem detaillierten Sitzungsprotokoll + Ankerindex + session_search-Wiederherstellungsverweisen in der Zusammenfassung, alles aus EINEM Aufruf des Hilfszusammenfassungsmodells; nach der Komprimierung etwa 3-mal weniger beibehaltene Token) oder ‘legacy’ (unveränderter Tail von 0,20×Schwellenwert)“),protect_last_n: 20undprotect_first_n: 3, ordnet die Einstellungen des Zusammenfassungsmodells unterauxiliary.compression(model,provider,base_url) ein und vermerkt: „Ältere Konfigurationen mitcompression.summary_model,compression.summary_providerundcompression.summary_base_urlwerden beim ersten Laden automatisch zuauxiliary.compression.*migriert (Konfigurationsversion 17). Es ist kein manueller Eingriff erforderlich.“ Die Migration ist_migrate_to_17inhermes_cli/config_migrations.py(„Version 16 -> 17: veraltete compression.summary_-Schlüssel entfernen“). Die Entwicklerseite zur Kontextkomprimierung (Quelldateiwebsite/docs/developer-guide/context-compression-and-caching.mdbeim Tag) führttail_modemit dem Standardwertleantabellarisch auf, nennt als „Ergebnis bei realen Sitzungen mit 500K Token: etwa 49K beibehalten gegenüber etwa 162K“ und erklärt: „Alte Tool-Ergebnisse innerhalb des Lean-Tails werden auf einzeilige Platzhalter mit einem Wiederherstellungsverweis reduziert.“ Zudem enthält sie die Warnung zum Zusammenfassungsmodell (beiv2026.8.31): „Das Kontextfenster des Zusammenfassungsmodells muss mindestens so groß sein wie das des Hauptagentenmodells. … Der Komprimierer verwirft anschließend die mittleren Gesprächsbeiträge ohne Zusammenfassung, wodurch Gesprächskontext unbemerkt verloren geht.“ (Eine veraltete Stelle im Upstream-Projekt: In der „vollständigen Referenz der Hilfskonfiguration“ auf der Konfigurationsseite ist der Eintragauxiliary.compressionweiterhin mit „Zeitüberschreitung der Kontextkomprimierung (getrennt von der compression.-Konfiguration)“ kommentiert; der Migrationscode, die interaktive Auswahl der Hilfsmodelle überhermes modelund der Komprimierungsabschnitt derselben Seite sind die neueren, übereinstimmenden Quellen.) ↩↩↩↩↩↩↩ -
Austauschbare Terminal-Backends bei Tag
v2026.8.31(für Guide v1.17 erneut verifiziert;agent/terminal_env_registry.pyist byteidentisch mit der Version ausv2026.8.31). Der Modul-Docstring vonagent/terminal_env_registry.pylautet wörtlich: „Zentrale Zuordnung registrierter, austauschbarer Terminal-Backends. Wird von Plugins zur Ladezeit über PluginContext.register_terminal_environment_provider befüllt und von tools.terminal_tool._create_environment verwendet“ sowie „Die Namen integrierter Backends sind reserviert – register_provider lehnt einen Provider ab, dessen Name mit einem solchen Namen kollidiert, sodass ein Plugin niemals die im Repository enthaltenen docker/modal/…-Implementierungen überschatten kann“; bewusst gibt es „hier keine Auflösung des aktiven Providers: Das aktive Backend ist genau wie bei integrierten Backends dasjenige, das TERMINAL_ENV / terminal.backend benennt.“ Das frozensetBUILTIN_BACKEND_NAMESenthält die sieben Backends sowie den Aliasmanaged_modalfür den internen Modus: local, docker, singularity, modal, managed_modal, daytona, vercel_sandbox, ssh. Die neue Dokumentationsseite Plugins für Terminal-Umgebungs-Provider (Quelldateiwebsite/docs/developer-guide/terminal-environment-plugin.mdbeim Tag) erklärt wörtlich: „Hermes führt Shell-Befehle über eine austauschbare Gruppe von Terminal-Backends aus. Die integrierten Backends (local, Docker, Singularity, Modal, Daytona, Vercel Sandbox, SSH) befinden sich im Haupt-Repository unter tools/environments/. Drittanbieter von Sandbox-Lösungen werden stattdessen als Plugins integriert – als eigenständiges Plugin-Repository, das unter ~/.hermes/plugins/ installiert wird, ein Backend registriert und vom Benutzer genau wie ein integriertes Backend über terminal.backend in config.yaml ausgewählt werden kann“; sie führt die von einem registrierten Provider gesteuerten Bereiche tabellarisch auf (Befehlsweiterleitung, Backend-Auswahl inhermes setup, Prüfstatus im Dashboard, Prüfungen durchhermes status/hermes doctor, Umgebungshinweise im System-Prompt, Handhabung von Containerpfaden/Arbeitsverzeichnissen, Entfernung von Geheimnissen, Sandbox-Isolation pro Sitzung) und nennt als Designziel: „Durch das Deklarieren dieser Flags am Provider wird die klassische Fehlerklasse ‚Neues Backend hat Klassifizierungsstelle N ausgelassen‘ beseitigt – der Kern fragt an jeder Stelle die Registry ab, anstatt eine fest codierte Namensliste zu verwenden.“ ↩↩↩ -
Erneuter Verifizierungsdurchlauf bei Tag
v2026.8.31(Guide v1.17). Gebietsschemata: Der Verzeichnisbaumlocales/enthält 17 Meldungskataloge –en.yamlsowie 16 Übersetzungen (af,ar,de,es,fr,ga,hu,it,ja,ko,pt,ru,tr,uk,zh-hant,zh) – identisch mitv2026.8.27. Persönlichkeiten:BUILTIN_PERSONALITIESinhermes_cli/personality.pyenthält dieselben 14 Einträge, vonhelpfulbishype(helpful, concise, technical, creative, teacher, kawaii, catgirl, pirate, shakespeare, surfer, noir, uwu, philosopher, hype); die Datei ist byteidentisch mit ihrer Version ausv2026.8.27. Beim Tag GEÄNDERTE Anzahlen: 39 statische Einträge inCANONICAL_PROVIDERS(zuvor 38) und 39 Verzeichnisse unterplugins/model-providers/(zuvor 37) – siehe 26 und 36. Unveränderte Anzahlen: 24 Mitglieder desPlatform-Enums (identische Mitgliederliste ingateway/config.py, das lediglich um das gateway-Feldroom_link_urlergänzt wurde), 22 Adapterverzeichnisse unterplugins/platforms/, 28 Zeilen in der Plattformvergleichstabelle der Dokumentation;_BUILTIN_SUBCOMMANDSenthält dieselben 73 Einträge (peerundworktreesind vorhanden, weiterhin ohneversionund ohneapproval-check– die in den Versionshinweisen verwendete Bezeichnung fürhermes approvals test);hermes_cli/_startup_fast.pyundhermes_cli/portal_cli.pysind byteidentisch mit ihren Versionen ausv2026.8.27. ↩↩↩↩ -
Routing von Hilfsmodellen beim Tag
v2026.8.31(für Guide v1.17 erneut verifiziert; der"auxiliary"-Standardblock beim neuen Tag enthält dieselbe Slot-Liste, dieselben Hinweise zu Entfernungen und dieselben Einstellungen außerhalb der Slots, und die nachfolgenden Zitate aus der Dokumentation gelten wortgetreu). Auf der Dokumentationsseite zur Konfiguration (Quellewebsite/docs/user-guide/configuration.mdbeim Tag) heißt es wörtlich: „Standardmäßig (auxiliary.*.provider: "auto") leitet Hermes jede Hilfsaufgabe an Ihr primäres Chatmodell weiter – denselben Anbieter und dasselbe Modell, die Sie inhermes modelausgewählt haben. Für den Einstieg müssen Sie nichts konfigurieren. Beachten Sie jedoch, dass Hilfsaufgaben bei teuren Reasoning-Modellen (Opus, MiniMax M2.7 usw.) erhebliche Zusatzkosten verursachen.“; der Hinweis „Warum ‚auto‘ Ihr primäres Modell verwendet“ lautet: „In früheren Builds wurden Benutzer von Aggregatoren (OpenRouter, Nous Portal) auf eine günstige anbieterseitige Standardeinstellung umgeleitet. Das war überraschend: Benutzer, die ein Abonnement bei einem Aggregator bezahlten, sahen, dass ein anderes Modell ihren Hilfsdatenverkehr verarbeitete.autoverwendet nun für alle das primäre Modell; aufgabenspezifische Überschreibungen inconfig.yamlhaben weiterhin Vorrang.“; und zur Webextraktion: „(Die Webextraktion ist keine Hilfsaufgabe:web_extractund Browser-Snapshots kürzen lange Inhalte deterministisch und speichern den vollständigen Text für die seitenweise Ausgabe überread_file– ohne Beteiligung von LLM.)“ Die maßgebliche Slot-Liste befindet sich im"auxiliary"-Standardblock vonhermes_cli/config_defaults.pybeim Tag: vision, compression, skills_hub, approval, review, mcp, title_generation, memory_query_rewrite, tts_audio_tags, triage_specifier, kanban_decomposer, profile_describer, goal_judge, curator, monitor, background_review, moa_reference und moa_aggregator (zuzüglich der Einstellungen außerhalb der Slots transient_retries, free_only, openrouter_model, stream_only_base_urls); die Slots enthaltenprovider,model,base_url,api_key,timeout,extra_bodyund ein aufgabenspezifischesreasoning_effort. Die Hinweise zu Entfernungen in derselben Datei lauten wörtlich: „web_extract verwendet kein zusätzliches LLM mehr – Seiten werden gekürzt und mit einem read_file-Zeiger gespeichert (keine Zusammenfassung), und Browser-Snapshots folgen demselben Muster. Der alte Blockauxiliary.web_extract.*wurde hier entfernt. Vorhandene Werte in config.yaml-Dateien von Benutzern sind harmlose Überbleibsel und werden ignoriert.“ und „session_search verwendet kein zusätzliches LLM mehr (PR #27590 – das Tool mit einheitlicher Rückgabeform gibt Datenbankinhalte direkt zurück)“; im Block ist kein Schlüsselflush_memoriesvorhanden. Die Kurzbeschreibungen der Slots stammen aus den Kommentaren derselben Datei („Triage-Spezifizierer – arbeitet eine grobe einzeilige Beschreibung in der Kanban-Spalte Triage zu einer konkreten Spezifikation aus und verschiebt sie anschließend nachtodo. Wird durchhermes kanban specifyaufgerufen“; „Kanban-Dekomposition – zerlegt eine Triage-Aufgabe in einen Graphen untergeordneter Aufgaben, die anhand ihrer Beschreibung an spezialisierte profile weitergeleitet werden. Wird durchhermes kanban decomposeund den Dispatcher für die automatische Kanban-Dekomposition aufgerufen“; „Profilbeschreiber – generiert automatisch eine 1–2 Sätze lange Beschreibung dazu, wofür sich ein profile eignet. Wird durchhermes profile describe <name> --autound die Schaltfläche zur automatischen Generierung im Dashboard aufgerufen“; „Zielbewertung – beurteilt, ob die neueste Antwort eines /goal-Durchlaufs das Ziel bzw. den Vertrag erfüllt“; „Kurator – Fork zur Überprüfung der skill-Nutzung“; „Hintergrundüberprüfung – der Fork zur Selbstverbesserung nach einem Turn, der entscheidet, ob eine Erinnerung gespeichert bzw. ein skill gepatcht werden soll“), ebenso die Kommentare der vollständigen Referenz auf der Konfigurationsseite („Verdecktes Einfügen von Audio-Tags für Gemini 3.1 TTS“; „Automatisch generierte Sitzungstitel. Bei leerer Sprachangabe wird die Sprache der Unterhaltung verwendet“;auxiliary.title_generation.enabled: falsedeaktiviert automatische Titel) und die Konfigurationstabelle auf der Kanban-Dokumentationsseite („auxiliary.kanban_decomposer| Modell, das den Aufgabengraphen erzeugt (wird durch Decompose aufgerufen)“; „auxiliary.profile_describer| Modell, das automatisch Profilbeschreibungen generiert (wird durchhermes profile describe --autoaufgerufen)“). Interaktiver Pfad: Führen Siehermes modelaus und wählen Sie „Hilfsmodelle konfigurieren“, um eine aufgabenspezifische Auswahl aufzurufen (vision, title_generation, tts_audio_tags, compression, approval, triage_specifier, kanban_decomposer, profile_describer, delegation); der Eintrag Delegation wird im übergeordnetendelegation.*gespeichert, da Subagents „vollwertige untergeordnete Agents und keine seitlichen LLM-Aufrufe sind“. ↩↩↩↩↩↩↩↩↩↩↩ -
Die Versionshinweise zu Hermes Agent v0.21.0, „The Pantheon Release“, Tag
v2026.8.31, nennen als Veröffentlichungsdatum den 31. August; veröffentlicht am 2026-08-31T19:29:49Z. Die Statistikzeile lautet wörtlich: „Seit v0.20.0: ~5.800 Commits · ~2.475 zusammengeführte PRs · ~5.680 geänderte Dateien · ~869.000 Einfügungen · ~135.000 Löschungen · ~2.100 geschlossene Issues · über 760 Mitwirkende“. Die Einordnung lautet wörtlich: „The Pantheon Release. Mit v0.20.0 wurde Hermes zum Herold – er sprach und überbrachte anderen Agents Botschaften. In v0.21.0 versammeln sich die Götter.“ und „Diese Version bündelt alles aus den Infrastruktur-Patch-Tags v0.20.1–v0.20.6 – diese Zeiträume sind hier vollständig dokumentiert.“ Die oben verwendeten Zitate zu den Funktionsbereichen lauten wörtlich: Bot Mode – „Bot Mode ist jetzt ein integrierter und standardmäßig aktivierter Bestandteil der Desktop-App: Jedes Agent-profile erhält einen Namen, ein deterministisches Avatar-Gesicht (mit Steuerelementen zum Randomisieren und Sperren) sowie einen Platz in einer gemeinsamen Liste“ und „Zuvor bedeutete ‚Multi-Agent‘ vor allem technische Infrastruktur; jetzt sieht es wie eine Chat-App voller Kollegen aus“ (#87886, #88243, #89386, #96726);hermes peer– „Antworten landen im kanonischen Bot Chat des jeweiligen Agents, sodass Unterhaltungen zwischen Agents dauerhaft gespeichert und überprüfbar sind, statt nach dem Fire-and-Forget-Prinzip zu verschwinden“ (#88725, #88178, #91487); cron – „continuity=trueübernimmt die Ausgabe jedes Durchlaufs in den nächsten (damit ein Monitor sie mit bereits gemeldeten Informationen abgleichen und Duplikate vermeiden kann), jeder Job erhält einen dauerhaften Notizblock, und Jobs im Monitor-Modus überspringen LLM vollständig, wenn sich nichts geändert hat“ (#91447, #80774, #81139, #81138); delegation – „Listen Sie laufende untergeordnete Agents auf, korrigieren Sie den Kurs eines Agents während der Ausführung oder beenden Sie ihn vorzeitig und behalten Sie das Teilergebnis. Hinzu kommen eine optionale Validierung der Ausgaben untergeordneter Agents anhand eines JSON-Schemas, die Ausgabe der Kosten je Delegation in den Ergebnissen sowie erhöhte Standardwerte (250 Iterationen, 10 gleichzeitig ausgeführte untergeordnete Agents)“ (#85232, #81144, #81142, #86506, #86745); MCP – „hermes://-Deep-Links, die nach ausdrücklicher Bestätigung einen MCP-Server installieren“ (#87525-#87581); CLI – „Strg+P öffnet eine unscharfe Befehlspalette, die/model-Auswahl filtert während Ihrer Eingabe,/statuszeigt den Reasoning-Modus, ausstehende Genehmigungen und die Kontextnutzung an, und die Statusleiste kann die Cache-Trefferquote in Prozent, die Latenz und die Tokens pro Sekunde live anzeigen, wobei jedes Feld einzeln ein- und ausgeschaltet werden kann“ (#90730, #90717, #90745, #98250, #98282, #97666); Browser – „Hermes navigiert jetzt direkt darin, klickt und liest die Inhalte“ (#90197, #89366); Anbieter – „Meta Model API (Muse Spark) ist jetzt als integrierter Anbieter verfügbar, zusammen mit CommandCode, Tencent TokenPlan, Nebius Token Factory, Ramp Router und Actual Computer“ (#88565, #88308, #97917, #97916, #97915 und die Wiederherstellung aus #79644/#26491); Sicherheit – „Für geschützte Agent-Anweisungsdateien (AGENTS.md, skills, Erinnerungsspeicher) ist nun immer eine Schreibgenehmigung erforderlich, damit ein durch Prompt Injection manipulierter Agent nicht unbemerkt seine eigenen dauerhaften Anweisungen umschreiben kann“ (#81152), zuzüglich der Überarbeitung der Schwärzungen (#80965), der Genehmigungsabdeckung unter Windows (#84428), der TCC-Identität (#95091) und der Entfernung des Blender-MCP (#83404). Der Abschnitt zu rückgängig gemachten Änderungen lautet wörtlich: „Model Council mode (/council) – wurde integriert und anschließend zurückgenommen; ist in dieser Version nicht enthalten.“; „DCP context engine – wurde integriert und anschließend zurückgenommen; ist in dieser Version nicht enthalten.“; „Gateway-Server ausschließlich über WS (#94245) – wurde zusammengeführt und anschließend zurückgenommen (#96118); FastAPI bleibt Bestandteil des Desktop-Startpfads. Die Ereigniswiedergabe mit Sequenzstempeln (#94219) wurde dagegen ausgeliefert.“; „Electron wurde auf 40.10.2 zurückgesetzt; der TCC-Interpreter-Anker wurde entfernt (ersetzt durch den ausgelieferten Ansatz auf Grundlage der Signaturidentität).“ Der Abschnitt zu Fehlerbehebungen schließt mit: „…und der Arbeit aus rund zweitausend weiteren geschlossenen Issues – in diesem Zeitraum wurden durchschnittlich etwa 85 PRs pro Tag zusammengeführt.“ ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Neue Provider im Tag
v2026.8.31.hermes_cli/models.pyerhältProviderEntry("tencent-tokenplan", "Tencent TokenPlan", "Tencent TokenPlan (Hy4 preview via api.lkeap.cloud.tencent.com, Anthropic Messages)")(statischer Eintrag Nr. 39), die Katalogmodellehy4-preview,hy3,hy3-previewsowie eine ausschließlich zur Anzeige bestimmte Auswahlgruppe"tencent": ("Tencent Hy", "Hy4 / Hy3 via TokenHub & TokenPlan", ["tencent-tokenhub", "tencent-tokenplan"]).plugins/model-providers/erhältnebius-token-factory/undrouter/, die beideauth_type="api_key"deklarieren, sodass die automatische Erweiterung sie übernimmt. Der Docstring des Router-Plugins im Wortlaut: „Provider-Profil für Ramp Router, Ramp’s LLM gateway: ein mit OpenAI Responses kompatibler Endpunkt unterhttps://api.router.com/v1, der jede Anfrage an verschiedene vorgelagerte Provider (OpenAI, Anthropic, xAI, Fireworks, …) weiterleitet und Fallbacks sowie Ausgabenkontrollen serverseitig verwaltet“ … „Responses API ist das native Übertragungsformat.“ … „Gültige Modell-IDs sind alle, dieGET /v1/modelsfür den Schlüssel zurückgibt (BYOK-Konten sehen zusätzliche Einträge), daher enthält dieses Profil keinefallback_models– die Auswahl stützt sich entsprechend der ausdrücklichen Empfehlung von Router, Modellnamen niemals fest zu codieren, auf den Live-Abruf.“ Die Dokumentationsseite zu AI Providern führt beim Tag 45 namentlich genannte Provider sowie die Zeile „Custom Endpoint“ auf; die vier seitv2026.8.27hinzugefügten Zeilen im Wortlaut: „Ramp Router |RAMP_ROUTER_API_KEYin~/.hermes/.env(Provider:router; Aliase:ramp-router,ramp,router.com; Responses-natives gateway, kontobezogener Live-Katalog)“; „Nebius Token Factory |NEBIUS_API_KEYin~/.hermes/.env(Provider:nebius-token-factory; Aliase:nebius,nebius-tf,tokenfactory)“; „Tencent TokenPlan |TOKENPLAN_API_KEYin~/.hermes/.env(Provider:tencent-tokenplan, Aliase:tokenplan,tencent-lkeap; Anthropic Messages-Endpunkt)“; „Alibaba Cloud (Token Plan) |ALIBABA_TOKEN_PLAN_API_KEYin~/.hermes/.env(Provider:alibaba-token-plan; Endpunkt für Festlandchina:alibaba-token-plan-cn) – Model Studio-Tarif mit festem Tokenkontingent“.model_overridesbefindet sich beim Tag inhermes_cli/config_defaults.py("model_overrides": {}; explizite Einträge untermodel_overrides.<provider>.<model_id>haben Vorrang vor dem Katalog, während_default-Einträge nur Lücken bei Modellen schließen, die der Katalog nicht abdeckt). ↩↩↩↩↩↩↩↩ -
Cron-Kontinuität im Tag
v2026.8.31. Die Cron-Dokumentationsseite (Quellewebsite/docs/user-guide/features/cron.mdbeim Tag) im Wortlaut: „Wenn Siecontinuity=truefestlegen, fügt der Job bei jeder Ausführung seine eigene neueste Ausgabe ein. Wiederkehrende Jobs beginnen normalerweise jede Ausführung ohne Erinnerung – ein Nachrichten-Scout meldet dieselben Meldungen erneut, ein Monitor warnt wieder vor demselben Zustand. Bei aktivierter Kontinuität sieht der Job beim Aufwachen, was er beim letzten Mal gemeldet hat, kann Duplikate vermeiden und dort fortfahren, wo er aufgehört hat“; „Bei späteren Ausführungen wird die vorherige Ausgabe mit einem Kontinuitätshinweis vorangestellt („vermeiden Sie Wiederholungen bereits gemeldeter Inhalte“) … Intern wird das Flag als reservierterself-Eintrag incontext_fromgespeichert.“; „Über die CLI:hermes cron create "every 6h" "Scan for news" --continuitysowiehermes cron edit <job_id> --continuity/--no-continuity, um die Funktion für einen vorhandenen Job ein- oder auszuschalten. Dieselbe Umschaltmöglichkeit erscheint im Cron-Editor des Dashboards und im Bot Mode-Routinendialog der Desktop-Anwendung.“ Aufwand pro Job, im Wortlaut: „Ein Job kann unabhängig von der Modellfestlegung seine eigene Denkstufe festlegen:none,minimal,low,medium,high,xhigh,maxoderultra. Ist sie festgelegt, überschreibt sie für die Ausführungen dieses Jobs sowohl das globaleagent.reasoning_effortals auch die modellspezifischenagent.reasoning_overrides“; festzulegen überhermes cron create/edit --reasoning-effort high. Bot Chat-Zustellung, im Wortlaut: „bot-chatstellt die Ausgabe als echte Nachricht in der kanonischen „Bot Chat“-Sitzung eines profile zu … Empfänger ist hier der Bot selbst: Er erhält die Ausgabe als eingehende Nachricht, führt alle erforderlichen Aktionen aus und antwortet in seinem Chat.“ Notepads: der Modul-Docstring voncron/notepad.py– „Ein winziger KV-Zwischenspeicher, über den jeder Cron-Job den Zustand über geplante Aktivierungen hinweg bewahren kann (Cursor, Wasserzeichen, Beobachtungslisten)“, begrenzt durch „MAX_VALUE_BYTES(16 KB)“ und „MAX_JOB_TOTAL_BYTES(64 KB)“ („das Notepad wird bei jeder Ausführung in den Prompt eingefügt; unbegrenztes Wachstum würde daher den Prompt bei jeder Aktivierung aufblähen“), sowie „Der Schreibpfad ist die CLI (hermes cron notepad <job_id> set <key> <value>), die der laufende Agent über sein Terminal-Tool aufruft; es wird kein Modell-Tool hinzugefügt.“ Monitor-Modus: der Docstring voncron/monitor.py– „Cron-Unterstützung im Monitor-Modus – hashbasierte Unterdrückung bei unverändertem Zustand“, wobei eine „kostengünstige Monitor-Quelle (monitor_scriptodermonitor_url)“ angehängt wird; „unverändert -> die Agent-Ausführung wird vollständig unterdrückt (kein LLM, keine Zustellung); der Tick wird als stilleno_change-Ausführung protokolliert“; „Die Ausgabe wird als EXAKTE BYTES verglichen – Zeitstempel werden nicht entfernt und Leerzeichen nicht normalisiert. Monitor-Skripte sollten eine stabile Ausgabe erzeugen … andernfalls wirkt jeder Tick wie eine Änderung.“; „Aktivierung: #80774.“ ↩↩↩↩↩↩↩ -
Live-Orchestrierung von Subagents im Tag
v2026.8.31. Die Dokumentationsseite zur Delegation (Quellewebsite/docs/user-guide/features/delegation.mdbeim Tag), „Steuerung eines laufenden Subagents“: Die Steuerungsoberfläche umfasst{"action": "list"},{"action": "steer", "subagent_id": "sa-0-1a2b3c4d", "message": "focus on pricing instead"},{"action": "stop", "subagent_id": "sa-0-1a2b3c4d"}; im Wortlaut: „listgibt die aktiven untergeordneten Instanzen der Konversation zurück:subagent_id, Ziel, Status,running_seconds,accepting_steerund den Pfad zum Live-Transkript“; „stopbeendet eine untergeordnete Instanz vorzeitig an ihrer nächsten Iterationsgrenze; das Teilergebnis fließt dennoch als reguläre Abschlussnachricht in die Konversation zurück“; Steuerungsaktionen sind „auf den eigenen Spawn-Baum des Aufrufers beschränkt – eine Konversation kann niemals die untergeordneten Instanzen einer anderen Sitzung sehen oder steuern – und werden niemals auf das Subagent-Spawn-Limit pro Turn angerechnet, sodassstopauch nach Erreichen des Limits weiterhin funktioniert“; bei der Zustellung von Steuerungsanweisungen wird das Race Condition-Risiko offen benannt („In die Warteschlange gestellt bedeutet nicht zugestellt, doch ein synthetischer Erfolg wird niemals vorgetäuscht“; dabei wirdpending_steerin die Ergebnisse übernommen undmissed_steermarkiert, wenn eine untergeordnete Instanz zuvor abgeschlossen wurde). Standardwerte:hermes_cli/config_defaults.pylegtdelegation.max_iterations: 250(„Iterationslimit pro Subagent; jeder Subagent erhält ein eigenes Budget, unabhängig vonmax_iterationsder übergeordneten Instanz“) unddelegation.max_concurrent_children: 10fest („einheitliches Parallelitätslimit: maximale Anzahl paralleler untergeordneter Instanzen pro Batch UND maximale Anzahl gleichzeitig ausgeführter Delegationseinheiten im Hintergrund (background=true) … (Ersetzt das veraltetemax_async_children.)“). Eine Stelle in den Upstream-Quellen ist veraltet: Auf der Dokumentationsseite zur Delegation steht weiterhin „standardmäßig 3 Aufgaben“, und in der Konfigurationsreferenz wird „max_iterations: 50 … (Standard: 50)“ gezeigt; die ausgelieferteconfig_defaults.pyund die Versionshinweise („erhöhte Standardwerte (250 Iterationen, 10 gleichzeitig ausgeführte untergeordnete Instanzen)“) sind die neueren, übereinstimmenden Quellen. ↩↩ -
Sicherheitswelle beim Tag
v2026.8.31. Geschützte Anweisungsdateien: Inhermes_cli/config_defaults.pyistsecurity.protected_instruction_files: Truevoreingestellt (Kommentar: „Schreibvorgänge in Agent-Anweisungsdateien (AGENTS.md/CLAUDE.md/SOUL.md/…)“), zusammen mitprotected_instruction_extra_patterns: [](fnmatch auf den Basisnamen);tools/file_tools.pyimplementiert die Sperre – „Geschützte Agent-Anweisungsdateien (Genehmigungssperre mit obligatorischer Nachfrage)“ über_PROTECTED_INSTRUCTION_BASENAMES = frozenset({"agents.md", "claude.md", "soul.md", ".cursorrules", ...})– und benennt das Bedrohungsmodell wörtlich: „Vektor: eine eingeschleuste Anweisung, die AGENTS.md / CLAUDE.md / SOUL.md bearbeitet“ sowie „Anweisungsdateien des Projektkontexts werden aus cwd-Verzeichnisbäumen geladen – eine AGENTS.md an jedem Ort, von dem aus der Agent später ausgeführt werden könnte, ist ein aktives Ziel.“ TCC-Identität:hermes desktop --setup-tcc-identityist inhermes_cli/main.pyimplementiert –_desktop_macos_setup_tcc_identity(identity: str = "Hermes Local Signing"), „Einmalige Einrichtung fürhermes desktop --setup-tcc-identity“, abgesichert durch „(–setup-tcc-identity ist ausschließlich für macOS verfügbar; wird übersprungen)“ und „(–setup-tcc-identity erfordert openssl, security und codesign …)“. Die Bereinigungsrunde zur Schwärzung (#80965, #80964, #81675, #81686, #88232), die Abdeckung von Genehmigungen unter Windows (#84428), die Entfernung von Blender MCP (#83404) und die Tier-1-Prüfung bei der Plugin-Installation (#80728) entsprechen den Versionshinweisen.35 ↩↩↩↩ -
Änderungen an der CLI-Oberfläche beim Tag
v2026.8.31.COMMAND_REGISTRYinhermes_cli/commands.pyregistriertCommandDef("palette", "Open the fuzzy command palette (also Ctrl+P)", "Info", ...)undCommandDef("status", "Show session, model, token, and context info", "Session", ...)–/statusist ein Sitzungsbefehl aus der gemeinsamen Registry und nicht auf Messaging beschränkt. In_BUILTIN_SUBCOMMANDSgibt es keinen Eintragapproval-check(73 Einträge, identisch mitv2026.8.27); der in den Versionshinweisen zu v0.21.0 alshermes approval-check(#81137) bezeichnete Probelauf isthermes approvals test– die Parser-Hilfe inhermes_cli/subcommands/approvals.pybeim Tag lautet: „Die Genehmigungsentscheidung für einen Befehl probeweise ermitteln (führt ihn niemals aus)“, mit--backend(„Typ des auszuwertenden Terminal-Backends (Standard: lokal …)“) und--json.hermes_cli/_parser.pywurde nur innerhalb vonhermes chatgeändert: Der Hilfetext für-q/--querylautet nun „Auszuführende Abfrage. Auf einem echten TTY startet die Eingabeaufforderung eine interaktive Sitzung (wörtlich als erster Turn übermittelt); zusammen mit –oneshot oder -Q beziehungsweise auf einem Nicht-TTY wird die Abfrage beantwortet und das Programm beendet.“; ein neues Flag--oneshotdokumentiert: „Mit -q/–query-file: die Abfrage beantworten und das Programm beenden (bisheriges Verhalten für Einzelabfragen), statt damit eine interaktive Sitzung zu beginnen. Bei Nicht-TTY-stdio sowie durch -Q/–quiet impliziert.“; und--max-turnsdokumentiert „Maximale Anzahl an Iterationen mit Tool-Aufrufen pro Konversations-Turn (Standard: 500 oder agent.max_turns in der Konfiguration)“. ↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.1, Tag
v2026.9.7, angegebenes Veröffentlichungsdatum 7. September, veröffentlicht am 2026-09-07T22:17Z. Der Text ist bewusst knapp gehalten; wörtlich handelt es sich um eine „Patch-Version“, die „den aktuellen Stand von main seit v0.21.0 für getaggte Deployments und nachgelagerte Nutzer bündelt“; die Statistik für das Zeitfenster nennt zum Zeitpunkt der Vorbereitung „5.139 Nicht-Merge-Commits in 4.364 geänderten Dateien (+601.014 / -768.419)“ und „632 zusammengeführte PRs“; außerdem: „Vollständig kuratierte Versionshinweise für dieses Zeitfenster werden mit v0.22.0 veröffentlicht.“ Prüfung im lokalen Klon:git rev-list --count --no-merges v2026.8.31..v2026.9.7= 5.140 undgit diff --shortstat= +601.018 / -768.423 – die Zahlen im Text bilden den Stand vor dem Release-Commit ab und weichen exakt um diesen Commit ab; das größte vorherige Zeitfenster zwischen benachbarten Tags istv2026.7.20..v2026.7.30mit 2.790 Nicht-Merge-Commits (im lokalen Klon für jedes benachbarte Tag-Paar abv2026.3.12gemessen). Die doctor-Prüfung des Fehlerbehebungseintrags befindet sich beim Tag inhermes_cli/doctor_config.py:330-362(_drift_max_iterations_ghost): Ein veraltetesHERMES_MAX_ITERATIONSin.envüberschattetagent.max_turns, wenn die Startbrücke wegen eines vorherigen Fehlers beim Parsen der Konfiguration abbricht (Issue #17534), undhermes doctor --fixentfernt die Zeile aus.env. In der aktuellen Sitzung am 8. September 2026 verifiziert. ↩↩↩↩↩ -
COMPAT_MANIFEST.mdbeim Tagv2026.9.7(Repository-Stammverzeichnis, 3.869 Zeilen). Wörtlich: „Die Aufteilung im September 2026 (PR #102117) zerlegte die großen Module von Hermes Agent in spezialisierte Dateien“; „Interne Importpfade sind keine stabile API“; „Diese Ebene ist temporär und wird am 2026-09-14 entfernt. Sie wurde als einzelner Commit hinzugefügt und durch das Zurücksetzen dieses Commits entfernt.“; die Tabelle zu den Auswirkungen (vor dem 2026-09-14: gelber Hinweis mit dem Namen des Plugins, dem Datum undhermes plugins compat; das Plugin „wird geladen; jede Auflösung eines alten Pfads gibt einmalHermesPluginCompatWarningaus“; ab dem 2026-09-14: „roter Hinweis: Plugin DEAKTIVIERT“ und „nicht geladen;hermes plugins listzeigt den Grund“; Desktop: „einmaliges modales Dialogfenster“); der Ausweg, wörtlich: „plugins.allow_deprecated_imports: trueinconfig.yamlsorgt dafür, dass betroffene Plugins nach diesem Datum weiterhin geladen werden, bis das Zurücksetzen die Pfade tatsächlich entfernt.“; Anzahl nach Typ: moved-lazy 1148, import 592, restored-def 290, restored-helper 41, restored-import 17, module-stub 3, unrestorable 34; Umfang: nur öffentliche Namen auf oberster Ebene, „Test-Monkeypatch-Schnittstellen bleiben ebenfalls nicht erhalten.“ Parser des Prüfwerkzeugs unterhermes_cli/subcommands/plugins.py:104-112:hermes plugins compat [path] [--json], Beschreibung wörtlich: „Durchsucht jedes aktivierte externe Plugin statisch nach Importen von Modulpfaden aus der Zeit vor der Aufteilung (siehe COMPAT_MANIFEST.md) und gibt Datei:Zeile sowie alter Pfad -> neuer Pfad aus. Wird ein betroffenes Plugin gefunden, endet der Befehl mit Status 1.“ Struktur der Aufteilung beim Tag verifiziert:agent/= 214 Module auf oberster Ebene + 7 Unterpakete (lsp,monitoring,pet,proxy_sources,secret_sources,transports,verify),hermes_cli/subcommands/= 61 Module,CANONICAL_PROVIDERSinhermes_cli/models_catalog_static.py:311mit 39 Einträgen, deren Slugs mit der Liste inhermes_cli/models.pyausv2026.8.31identisch sind (einschließlich des statischen Tupelsxai;plugins/model-providers/enthält weiterhin 39 Verzeichnisse), die alteprompt_builder.pyauf oberster Ebene wurde entfernt (jetztagent/prompt_builder.py), undrun_agent.pybleibt im Stammverzeichnis die Heimat vonAIAgent. Nachwirkungen, für Version 1.19 des Leitfadens erneut verifiziert (15. September 2026): Die Entfernung wurde planmäßig als Datumssperre und nicht als Zurücksetzung aktiviert – beim Tagv2026.9.14setzthermes_cli/plugin_compat.py:32COMPAT_REMOVAL_DATE = _dt.date(2026, 9, 14),removal_in_effect()(Zeilen 86–90) gibt ab diesem Datum oder bei fehlender Manifestdatei true zurück, undallow_deprecated_imports()(Zeilen 261–268) berücksichtigt ausschließlich einen literalen booleschen Wert (die Bedingung lautet... is True; Kommentar im Quellcode: „Nur literaler boolescher Wert“, sodass ein YAML-String wie"false"oder"no"die Umgehung nach der Entfernung niemals aktivieren kann). Die Zurücksetzung, mit der die alten Pfade gelöscht werden, ist NICHT erfolgt:COMPAT_MANIFEST.md,compat_manifest.jsonundhermes_cli/plugin_compat.pysind sowohl inv2026.9.14als auch aufmainbeim Commit5d59366010vorhanden (2026-09-15 12:55 PT, am selben Tag abgerufen), sodass der Ausweg die alten Pfade weiterhin auflöst; sobald die Zurücksetzung erfolgt, funktioniert er nicht mehr. Für Version 1.20 des Leitfadens erneut verifiziert (22. September 2026): weiterhin keine Zurücksetzung – alle drei Dateien sind beim Tagv2026.9.21und aufmainbeim Commita53b42ddeavorhanden (am 2026-09-22 committet und noch am selben Tag abgerufen). Beiv2026.9.21sind Sperre und Bedingung inhaltlich unverändert:COMPAT_REMOVAL_DATEsteht weiterhin inplugin_compat.py:32,removal_in_effect()in :86 undallow_deprecated_imports()nun in :296-303 mit derselben Bedingung für einen literalen booleschen Wert (... is True; der Kommentar lautet nun: „Nur literaler boolescher Wert: YAML"false"/"no"darf die Umgehung nach der Entfernung nicht aktivieren.“). Die einzigen Änderungen am Modul im Zeitfenster von v0.21.4 betreffen Leistung und Portabilität: ein prozessweiter Scan-Cache, der auf der Dateisignatur(relpath, mtime_ns, size)jedes Plugin-Verzeichnisses basiert (ein Multiplex-gateway erkennt Plugins einmal pro bereitgestelltem profile, und das erneute Parsen des Quellcodes jedes Plugins kostete im Startpfad etwa 0,4 s pro profile), sowie Pfade im POSIX-Format für Treffer unter nativem Windows (#112576); außerdem wurden aus dem Manifest zwei auf opencode bezogene Zeilen entfernt (_OPENCODE_KEYLESS_EXTRA_SLUGS,is_opencode_zen_free_model) – strukturell änderte sich nichts. ↩↩↩↩↩↩↩↩↩ -
docs/session-lifecycle.mdbeim Tagv2026.9.7, Abschnitt „6. Explizite Konversationsgrenzen“, wörtlich und vollständig: „Weder Inaktivität noch verstrichene Zeit führen jemals zu einem Wechsel der Konversation./newund/reseterstellen eine explizite Grenze; die Kontextkomprimierung verwaltet weiterhin lange Verläufe. Veraltete Timer-Konfigurationen werden ignoriert. Der bestehende DatentypSessionResetPolicyenthält inaktive Kompatibilitätsdaten und stellt keine Laufzeitrichtlinie dar. Eine explizite Unterbrechung erstellt weiterhin beim nächsten eingehenden Turn eine Grenze. Bei der Wiederherstellung werden explizite und historische abgeschlossene Grenzen berücksichtigt, statt sie erneut zu öffnen. Die ausschließlich ressourcenbedingte Entfernung und die Bereinigung verwaister WebSocket lassen Konversationen fortsetzbar.“ ↩↩↩↩ -
MCP-Autorisierung beim Tag
v2026.9.7. Parser:hermes_cli/subcommands/mcp.py:55-66–login(„Erneute Authentifizierung für einen OAuth-basierten MCP-Server erzwingen“) akzeptiert--flowmit den Optionenbrowser/device; Hilfetext wörtlich: „OAuth-Ablauf (überschreibt oauth.flow): Browser-PKCE oder Gerätecode gemäß RFC 8628“;reauth(„Einen OAuth-MCP-Server oder alle Server (–all) erneut authentifizieren“) akzeptiert einen optionalen Namen sowie--all. Der Gerätecode-Ablauf wurde innerhalb des betrachteten Zeitraums mit Commitf5afe8bd40eingeführt: „feat: MCP-Server mit Gerätecodes aus CLI autorisieren“. Begleitende Härtungsmaßnahmen laut Commit-Betreff innerhalb dieses Zeitraums:f914c9b070„fix(mcp): Profileigentümerschaft während sämtlicher OAuth-Sitzungen durchsetzen“;f94307a7f7„fix: fehlerhafte MCP-OAuth-Metadaten-Caches ignorieren“;e3ba651b6d„fix(desktop): MCP-OAuth über clientlokale Callbacks weiterleiten“. Nach toolset gefilterter Start:tools/mcp_tool_discovery.py:412-426– der Filter ist vorhanden, damit „hermes -z -t <toolsets>“ das „Kaltstarten von Servern überspringen kann, die der Aufrufer nicht benötigt“; ein leerer Filter überspringt das Laden von MCP vollständig. ↩↩↩ -
Zuverlässigkeit der Delegation beim Tag
v2026.9.7, entnommen aus dem Quellcode des Delegierungs-Tools. Abschlusseinheiten:tools/delegate_tool_dispatch.py:326-341(_units_of) – wörtlich: „Standardmäßig deaktiviert (delegation.independent_completions): Der gesamte Aufruf ist EINE Einheit und wird als eine Nachricht zurückgegeben. Eine Flut von Abschlüssen pro Aufgabe (jeweils ein neuer Turn) fragmentierte Orchestratoren, die dafür keinen Plan hatten.“; Einheiten werden je einmal pro eindeutiger Aufgaben-groupin der Reihenfolge ihres ersten Auftretens sowie je einmal pro nicht gruppierter Aufgabe angelegt und treten jeweils separat wieder in die Konversation ein; Commitc89f3b8800innerhalb des betrachteten Zeitraums: „fix(delegation): standardmäßig ein Abschluss pro Aufruf; Einheiten in der Warteschlange bleiben nicht mehr hängen“. Übergabe von Hintergrundprozessen: Commit3c0d90e8ef„feat(delegation): Subagents übergeben Hintergrundprozesse an das übergeordnete Element; verbleibende Prozesse werden benannt, nicht als vertrauenswürdig vorausgesetzt“; beim Tag zeichnettools/delegate_tool_child_run.py:744-763(account_background_processes) übergebene Prozesse im Ergebnis auf und führt noch laufende, nicht übergebene Prozesse alsorphaned_processessowie beendete, aber nie gelesene Prozesse alsunread_completions(mit dem Ende der Ausgabe) auf, bevorcleanupsie beendet; laut Docstring muss das übergeordnete Element dies „von der Laufzeit erfahren“, statt der Behauptung eines Childs zu vertrauen, der „Watcher läuft“; das Übergabeverb lautetprocess_manage(action="handoff")(nur für Childs) und ändert unter der Registry-Sperre überprocess_registry.transfer_ownershipdie EigenschaftProcessSession.owner_task_id(tools/AGENTS.md, Abschnitt Delegation, beim Tag). Fallback-Oberfläche:delegation.fallback_providersinhermes_cli/config_defaults.py, Kommentar wörtlich: „Für ein nicht festgelegtes Child bedeutet null = die Kette des übergeordneten Elements übernehmen; [] = Fallback deaktivieren. Ein nach Anbieter, Endpunkt oder Modell festgelegtes Child erhält keinen Fallback, sofern diese Einstellung nicht ausdrücklich einen festlegt.“; Kettenvalidierung intools/delegate_tool_config.py:417-425(_resolve_child_fallback_chain): „Fehlerhafte Einträge werden vom kanonischen Normalisierer verworfen.“ Ausfallsicherheit:tools/async_delegation.py:222-246speichert jedes fertiggestellte Child einer noch laufenden Einheit mit mehreren Childs dauerhaft in der eigenen Zeile der Einheit ("partial": True), sodass fertiggestellte Childs bei einem Absturz vor Abschluss der Einheit erhalten bleiben. Cache-Stufe:tools/delegate_tool.py:106-112(_apply_child_cache_ttl), wörtlich: „Ein delegiertes Child verwendet niemals die 1h-Cache-Stufe.“; bei einem Child mit_cache_ttl == "1h"wird der Wert auf"5m"gesetzt. ↩↩ -
Anbieter und Modelle beim Tag
v2026.9.7. Astra-Stufen:hermes_cli/models_catalog_static.py:22-25–openai/gpt-6-astra-fast„doppelter Preis, Prioritätsstufe“,-flex„halber Preis, Flex-Stufe“ sowie-pro-fast/-pro-flex;gpt-6-astraund-probefinden sich inOPENROUTER_MODELSund gehören nicht zur Ausschlussmenge_OPENROUTER_ONLY, sodass sie auch über Nous Portal verfügbar sind. Astra-Zugriffsbeschränkung und 900K:hermes_cli/codex_models.py:96-101(„Astra ist kontogebunden: Nur der aktuelle kontospezifische Katalog darf es ausweisen“) undagent/model_metadata.py:1447-1462– Codex OAuth weist 272K aus,gpt-6-astraist für 900K geeignet, mit dem Kommentar „ausgewiesen: 272K; Eingabe mit 920.043 akzeptiert, mit 1.000.043 abgelehnt (Live-Test vom 04.09.2026)“, undCODEX_CONTEXT_VARIANT_SUFFIX = "-900k"ist ein „ausschließlich im Auswahlmenü verwendetes Opt-in-Suffix; wird niemals übertragen“ (der Astra-Kontext auf OpenRouter-Seite beträgt lautmodel_metadata.py:3341.050.000). Neue Katalogeinträge in derselben statischen Datei (Zeilen 30–42):anthropic/claude-fable-5.1,google/gemini-3.8-flashundgemini-3.7-flash,qwen/qwen3.8-max-0902undqwen/qwen3.8-flash,meta/muse-spark-1.3und-contributor(1M Kontext gemäßagent/model_metadata.py:349).muse-image:plugins/image_gen/meta-ai/__init__.py(„Meta Model API (muse-image): OpenAI-kompatibel (https://api.meta.ai/v1)“, einschließlich Modellen wiemuse-image-1.0). Tavily:hermes_cli/config_defaults.py:2522-2525, wörtlich: „Tavily-API-Schlüssel für KI-native Websuche und Extraktion (optional – ohne Schlüssel funktionsfähig, wenn Tavily ausgewählt ist)“, Toolsweb_searchundweb_extract; derweb-Block weist darauf hin, dass Tavily „überhermes toolsohne Schlüssel explizit aktiviert werden kann und kein Ringmitglied ist“. Verwaltete llama.cpp-Laufzeit: das Pakethermes_cli/local_runtime/(„Verwaltete llama.cpp-Laufzeit“), der Konfigurationsblock beiconfig_defaults.py:2327(„offizielle Binärdateien, ein überwachter“ Server; Dokumentationsverweisuser-guide/local-models) und die Desktop-Oberflächeapps/desktop/src/api/local-models.ts. Anbieter mit externen Prozessen:agent/auxiliary_client.py:4740-4799(_resolve_external_process_branch, „PROVIDER_REGISTRY-external_process-Anbieter, die über ihr registriertes profile bereitgestellt werden“, basierend auf dem registrierten profile, „damit ein ACP-Anbieter außerhalb des Quellbaums“ aufgelöst wird). Katalogintervall: Konfigurationsmigration 39 -> 40 inhermes_cli/config_migrations.py:622-627(„model_catalog.ttl_hours -> ttl_minutes (Standardwert 20)“, Benutzernachricht „Der Modellkatalog wird jetzt alle 20 Minuten aktualisiert (model_catalog.ttl_minutes)“), wobeihermes_cli/model_catalog.pydas veraltetettl_hours„nur berücksichtigt, solangettl_minutesnoch den Standardwert hat“. ↩↩↩ -
Desktop-Welle beim Tag
v2026.9.7. Kommentarmodus:website/docs/user-guide/desktop.mdbeim Tag, wörtliches Grundgerüst: „Klicken Sie in der Leiste des Vorschaubrowsers auf Annotate und anschließend auf ein beliebiges Element der Live-Seite (oder ziehen Sie einen Rahmen auf), um eine Notiz einzugeben; jeder gespeicherte Kommentar verbleibt als nummerierte Markierung auf der Seite“; „Durch das Speichern einer Markierung wird niemals ein Turn gesendet“; „Add N comments hängt für jede Markierung einen zugeschnittenen Screenshot und einen kurzen Prompt, der jeden Kommentar benennt, an den Composer an“; „Jeder Elementkommentar enthält seinen CSS-Selektor, sein Markup sowie die für das Layout relevanten berechneten Stile, damit der Agent das Element in Ihrem Quellcode finden kann, statt anhand des Bildes zu raten“; „Passwortwerte, Werte ausgeblendeter Felder und alle Attribute, die wie ein Schlüssel oder Token aussehen, werden auf der Seite geschwärzt, bevor das Markup sie verlässt“; „Größere Stapel werden danach gruppiert, in welchem Teil der Seite sich die einzelnen Kommentare befinden, sodass aus gut zwanzig Kommentaren eine Handvoll Arbeitspakete statt jeweils einer eigenen Aufgabe wird“; „Da die Gruppen separate DOM-Unterbäume sind, betreffen sie normalerweise unterschiedliche Dateien, wodurch sie sicher an parallele Worker übergeben werden können“. Commits innerhalb des Zeitfensters:10f2a20966„feat(desktop): Kommentarmodus zum integrierten Browser hinzufügen“;e4bda3ff77„feat(desktop): Browserkommentare enthalten Selektor, Markup und Stile des Elements“; Sitzungssteuerung8cb2bcc8c1„strukturierte Sitzungssteuerung bereitstellen“ +bfddf556bf„strukturierte Sitzungssteuerung laden“ +dffd8d62c2„Steuerung für die Sitzungsautomatisierung hinzufügen“;6b1e12c7f4„Sitzungen per Drag-and-drop aus New session, Projekt und Steuerung sowie Profilgruppen erstellen“;9186e3ebc5„Sitzungsimportansicht für Transkripte fremder Coding-Agents“;a1c25d393a„integrierter Katalog optionaler skills unter Capabilities → Skills mit Installation per Mausklick“; russische Localea922dad9d8„feat(desktop): russische Locale (ru) hinzufügen“ +269e5bde33(registriertruin Locale-Tests und -Dokumentation;apps/desktop/src/i18n/ru.tsist im Zeitfenster neu, währendlocales/des CLI weiterhin 17 Kataloge umfasst).display.resume_last_session:hermes_cli/config_defaults.py:777, StandardwertTrue, wörtlicher Kommentar „Desktop öffnet beim Kaltstart den letzten Chat/die letzte Seite erneut (auch unter Settings → Appearance).“ Zustimmung zum echten Profil:apps/desktop/src/app/chat/right-rail/real-profile-consent-dialog.tsx(„Zustimmungsaufforderung beim erstmaligen Öffnen für das Browsen mit echtem Profil“, wird angezeigt, wenn ein Browser-Bereich geöffnet wird, währendbrowser.use_real_profiledeaktiviert ist; bei Zustimmung wird derselbe Konfigurationsschlüssel geschrieben, den der Capabilities-Schalter verwendet, „Not now“ unterdrückt die Aufforderung für die aktuelle Ausführung der App, „Don’t show again“ dauerhaft über mehrere Starts hinweg). ↩↩ -
Versionshinweise zu Hermes Agent v0.21.2, „Das state.db-Patch-Release“, Tag
v2026.9.11, angegebenes Veröffentlichungsdatum 11. September, veröffentlicht am 2026-09-11T19:20Z. Wörtliche Einordnung: „v0.21.0 brachte eine umfassende Überarbeitung der Verbindungsverwaltung des Sitzungsspeichers mit sich und machtestate.dbbei einigen Installationen anfällig: Sekundäre Writer hoben gegenseitig ihre Sperren auf, intakte Datenbanken wurden als beschädigt gemeldet und eine einzige fehlerhafte Zeile brachtesessions listzum Absturz.“ Beim Commit04dd80a977ermittelte Statistiken: „947 Non-Merge-Commits“, „1.869 geänderte Dateien“, „312 zusammengeführte PRs“, „140 Mitwirkende“ (Prüfung im lokalen Klon:git rev-list --count --no-merges v2026.9.7..v2026.9.11= 959 – die Zahl im Haupttext ist eine Momentaufnahme vor dem Release, wie bereits bei v0.21.1). Kampagnenüberschrift im Wortlaut: „state.db-Zuverlässigkeitskampagne (sechs PRs, 44 geschlossene Issues)“ (PRs #108076, #108082, #108130, #108086, #108074, #108067); Aktualisierungshinweis im Wortlaut: „Führen Sie zuersthermes doctoraus; der Befehl unterscheidet nun korrekt zwischen Struktur- und Indexschäden und verweist aufhermes sessions recover --inspect-only(an das Profil gebunden), wenn ein Neuaufbau nicht ausreicht.“ Überprüfung der Quelle beim Tag: Status gehosteter Räume außerhalb des Root-Speichers untergateway/hosted_rooms.py:398-426–default_db_pathverweist Profil-gateways auf „die gemeinsame ROOT-shared-state.dbstatt auf die Master-state.db“, und der Docstring nennt den wiederkehrenden, in einer Flotte aus 6 gateways beobachteten Multi-Writer-Beschädigungsvektor (2026-09-03) als Grund dafür, dass Profil-gateways den Master-Sitzungsspeicher niemals mit Schreibzugriff öffnen dürfen. Parser fürhermes sessions recoverunterhermes_cli/subcommands/sessions.py:185-196mit dem wörtlichen Hilfetext zu--inspect-only: „Nur die Lesbarkeit kanonischer Tabellen melden; keine Ausgabedatenbank erstellen“; der Unterbefehl existierte bereits vor diesem Zeitfenster (inhermes_cli/main.pybeiv2026.8.31vorhanden), war in diesem Leitfaden jedoch bislang nicht dokumentiert. Zugangsdaten-Tresor: Docstring inagent/vault_backends/__init__.py(„Anmelde-Backends für den Browser-Zugangsdaten-Tresor“; Handles werden nach Backend mit Namensräumen versehen, damit Browser-Tools ohne Schemaänderungen weiterleiten können; externe Manager bleiben bis zu einer sitzungsbezogenen Entsperrung gesperrt; das Master-Passwort „ist niemals ein Tool-Argument, niemals argv und wird niemals gespeichert“),agent/vault_backends/base.py(einLoginBackend„listet Anmeldemetadaten – niemals Geheimnisse – auf und löst genau EIN Passwort zum Zeitpunkt des Ausfüllens auf“) undagent/vault_store.py:74-105(Authentifikatorschlüssel ausschließlich als Base32-Seeds oderotpauth://totp-URIs, zählerbasiertes HOTP wird abgelehnt, Codes werden durchtotp_nowerzeugt); die Backendslocal.py,onepassword.py,bitwarden.pysowieagent/secret_sources/{onepassword,bitwarden,command}.pysind beim Tag allesamt vorhanden. Plugin-Katalog-Unterparser inhermes_cli/subcommands/plugins.py: Hilfetext fürinstall„Ein Plugin aus dem kuratierten Katalog, über eine Git-URL oder per owner/repo installieren“,search„Den kuratierten Hermes-Plugin-Katalog durchsuchen“,browse„Alle Einträge des kuratierten Plugin-Katalogs auflisten“,pack„Deklarative, teilbare Plugin-Sammlungen (hermes-pack.yaml)“ mitinstall/export/show. Gast-Onboarding inapps/desktop/electron/guest-onboarding-flag.test.ts: Testtitel im Wortlaut: ‘guestOnboardingEnabled: Genau “1” in env oder –guest-onboarding in argv aktiviert die kostenlose Stufe’; die Testsuite bestätigt, dass'true','0'und ein leerer Wert allesamt deaktiviert sind und dassdesktopBackendSpawnEnv„die Startentscheidung zuletzt einträgt und niemals zulässt, dass ein geerbter Wert durchsickert“. Issue-Cluster zur Härtung mehrerer profile #107609–#107630 gemäß Auflistung im Release. Überprüfung in der aktuellen Sitzung am 15. September 2026. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.3, Tag
v2026.9.14, angegebenes Veröffentlichungsdatum 14. September, veröffentlicht am 2026-09-14T16:04Z. Zweck im Wortlaut: Der Tag „existiert, damit die unten aufgeführten Korrekturen für die Anmeldung am Remote-gateway Cloud-Agents erreichen, die automatisch auf den neuesten Release-Tag aktualisiert werden.“ Beim Commit9b419a2d3cermittelte Statistiken: „1.036 Non-Merge-Commits“, „2.642 geänderte Dateien“, „338 zusammengeführte PRs“ (Prüfung im lokalen Klon:git rev-list --count --no-merges v2026.9.11..v2026.9.14= 1.037, wobei der Release-Commit erneut mitgezählt wird). Beide dokumentierten Punkte wurden im lokalen Klon überprüft und sind ausschließlich in diesem Zeitfenster vorhanden: Commit5dea46d13d„fix(dashboard-auth): ein einzelner laufender Refresh für das Cookie-Gate und die native Route, außerhalb des Event-Loops“ (#110061, behebt #55712; zusammen mit hermes-portal#1209 auf Portal-Seite, einem gleitenden Inaktivitätszeitraum von 30 Tagen mit einer 5-minütigen Kulanzfrist für rotierte Token) und Commit939a2f64b4„fix: langlebige Prozesse erzeugen keine doppelten state.db-Writer-Handles mehr“ (#110934, behebt #100896 und #103339). Aufschub im Wortlaut: „Vollständige kuratierte Versionshinweise für dieses Zeitfenster erscheinen mit v0.22.0, das alles ab v0.21.0 dokumentieren wird“ und „Nichts aus diesem Zeitfenster wird ausgelassen“; die absichtlich undokumentierte Liste des Releases umfasst JSON-RPC-Anfragen vom Server an den Client sowie eine Pydantic-Registry für Wire-Contracts, die Auswahl des Reasoning-Aufwands in jeder Modellauswahl, OpenRouter OAuth PKCE, HEIF-/HEIC-/AVIF-Decodierung, die Überarbeitung der Honcho-Peer-Modelle, Ergänzungen des FAL-Katalogs (Wan 3.0, Kling 3.0 / Kling Image v3, MiniMax H3 Max Turbo, Gemini Omni Flash 1.1, Meta Muse), in Slack eingefügte Tabellen und den Agent Sessions API, die Isolation multiplexierter profile und Korrekturen der gateway-Verfügbarkeit sowie die Verweigerung von state.db-WAL auf VM-übergreifenden Dateisystemen – gemäß der eigenen Einordnung des Releases alles für die Prüfung zu v0.22.0 zurückgehalten. Überprüfung in der aktuellen Sitzung am 15. September 2026. ↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.4, Tag
v2026.9.21, angegebenes Veröffentlichungsdatum 21. September, veröffentlicht am 21. September 2026 um 18:10:55 UTC. Zweck, wörtlich: „Patch-Release. Dieser Tag bündelt die rund 1.800 seit v0.21.3 zusammengeführten PRs in einem stabilen, mit einem Tag versehenen Release für nachgelagerte Nutzer (Docker-Images, Hermes Cloud, gehostete Bereitstellungen). Vollständige kuratierte Hinweise für diesen Zeitraum werden erst mit v0.22.0 veröffentlicht.“ Die am Commit4b8a8134009agemessenen Statistiken lauten: „5.071 Commits ohne Merge-Commits“ in „5.169 geänderten Dateien“ (+312.961 / -62.855), „1.812 zusammengeführte PRs“ und „2.116 geschlossene Issues“ – Prüfungen mit einem lokalen Klon reproduzieren alle fünf Werte exakt (git rev-list --count --no-merges v2026.9.14..4b8a8134= 5.071;git diff --shortstat= 5.169 Dateien, +312.961 / -62.855; der Tag-Commitd337b736aa„chore(release): v0.21.4 (v2026.9.21)“ ist ein Nachfolger von4b8a8134, sodass sich 5.072 Commits ohne Merge-Commits und insgesamt 5.173 einschließlich Merge-Commits ergeben, und der GitHub-Vergleichs-API fürv2026.9.14...v2026.9.21meldettotal_commits: 5173, ahead_by: 5173, behind_by: 0). Rangfolge der Zeiträume (für Version 1.21 des Leitfadens am 23. September erneut geprüft): Gemessen an den Commits ohne Merge-Commits zwischen allen jeweils aufeinanderfolgendenv2026.*-Tag-Paaren liegtv2026.8.31..v2026.9.7(5.140 einschließlich seines Release-Commits) vorn;v2026.9.14..v2026.9.21(5.072) folgt auf Platz 2 vorv2026.7.20..v2026.7.30(2.790). Gemessen an den in den Versionshinweisen angegebenen zusammengeführten PRs sind 1.812 der höchste Wert in den Hinweisen zu einem einzelnen Zeitraum (v0.21.1: „632 zusammengeführte PRs“, v0.19.1: „rund 1.000+ PRs“; die „rund 2.475“ von v0.21.0 erstrecken sich über die sechs v0.20.x-Tags seit v0.20.0 und bilden daher keinen einzelnen Zeitraum zwischen zwei Tags ab). Zur Verschiebung heißt es wörtlich: „Die vollständigen kuratierten Versionshinweise für diesen Zeitraum erscheinen mit v0.22.0 und dokumentieren alles ab v0.21.0“ sowie „Nichts aus diesem Zeitraum wird ausgelassen.“ Die absichtlich nicht dokumentierte Liste nennt die Singleton-Sperre des gateway samt Rendezvous-Datensatz und das Andocken von Desktop an das Backend des laufenden Hosts, den vom Backend verwalteten Connector-Betrieb mit der zugehörigen Einrichtungskarte für Desktop/TUI/CLI,--format stream-json,skills.auto_load, die Schriftartauswahl für Desktop-Chat und -Benutzeroberfläche, lokale Engine-Updates mit einem Klick und die Deinstallation über den Plugins-Hub, das Verhaltendeclinebei nicht autorisierten Direktnachrichten,mcp.discovery_concurrency, die after/before-Grenzen vonsession_searchsamt erneutem Abrufversuch mit gelockerter OR-Verknüpfung,hermes sessions set-journal-mode, LTX 2.5 und Kling O3 in den Videokatalogen, Katalog-Webseiten für jedes Plugin und jeden Autor mit auf einen bestimmten Commit fixierten READMEs sowie Sortierung nach hinzugefügt/aktualisiert, „ein Dutzend neuer Community-Plugins im Katalog (tailscale, ssh, shodan, terminal, rss, resetwatch, done-bell, kiwi, cognee, Octen)“ (Kurzform der Versionshinweise; die Katalogeinträge beim Tag lautenhermes-tailscale,hermes-ssh,shodan,hermes-terminal,hermes-rss,hermes-resetwatch,done-bell,kiwi,cognee,web-octen) sowie „eine umfangreiche Reihe von Fehlerbehebungen für profile-/Multiplex-Isolation, cron, Kanban, Desktop und state.db“. Aktualisierung:hermes update(bei Git-Installationen) oder der einzeilige Installer-Befehl; „Docker / Hermes Cloud: Images werden aus diesem Tag erstellt (nousresearch/hermes-agent:v2026.9.21)“. In der aktuellen Sitzung am 22. September 2026 verifiziert. ↩↩↩↩↩↩ -
Die für v0.21.4 offengelegten Elemente wurden im Quellcode beim Tag
v2026.9.21verifiziert (Guide v1.20, 22. September 2026; Ergänzungen zu Betreiberregeln in Guide v1.21, 23. September). Host-Singleton: Docstring ingateway/host_rendezvous.py– „Host-weites Singleton-Rendezvous: eine Sperre + ein Datensatz pro ROLE und OS-Benutzer“; „genau EINhermes serveund EINhermes gateway runpro Host, die jeweils jedes profile multiplexen“; eine Host-flock-/msvcrt-Sperre, die „für die Lebensdauer des erfolgreichen Prozesses gehalten“ wird, sowie ein Rendezvous-Datensatz, damit ein zweiter Aufruf „beweisen kann, dass es sich um denselben aktiven Prozess handelt, und sich ANHÄNGT, statt einen zweiten Port zu binden“; „Veraltung wird bewiesen, niemals angenommen“ – anhand von(pid, createTime)(„ein sich anhängender Client darf niemals den Port einer wiederverwendeten PID ansprechen“); Sperrenstammverzeichnis$HERMES_GATEWAY_LOCK_DIR, andernfalls$XDG_STATE_HOME/hermes/gateway-locks, beschränkt auf den OS-Benutzer (gateway/status.py:308-324: Ein relativer Wert fürXDG_STATE_HOMEwird ignoriert und als Fallback~/.local/stateverwendet). Betreiberpfad:_host_attach_or_noneingateway/run.py:5466-5499gibt beiATTACHdie Anhängenachricht aus und beendet sich mit 0, lehnt beiREFUSEab, sendet beiREPLACE_HOST--replacean „den HOST-Prozess, unabhängig davon, von welchem home er gestartet wurde“, und überspringt die Rückfrage bei--force(„der Notausgang für Betreiber, wenn der Eigentümer festhängt oder falsche Angaben macht“); bei_claim_host_gateway_role(gateway/run.py:5331-5346) beendet sich der Verlierer des Sperrenrennens mitEX_TEMPFAIL(75), weil „jeder von uns erzeugte Supervisor 75 erneut versucht und beim erneuten Versuch der Datensatz des Eigentümers vorhanden ist“. Fünf Ergebnisse ingateway/host_attach.py:ATTACH,RESCAN->ATTACH(Control-Socket-rescan-profiles),REPLACE_HOST,REFUSE(„Niemals stillschweigend einen zweiten starten“),START(eigenständige Gateways je profile bestehen parallel weiter, „bis diese Migration erzwungen wird (#109417)“). Desktop-Hälfte:apps/desktop/electron/host-backend-attach.ts(„An das laufende Hermes-Backend des Hosts anhängen (nur Multiplexing, Desktop-Hälfte)“; die IO-Abfolge liest das Spawn-Ledger des Maschinenstammverzeichnisses, validiert einen Kandidaten über „HTTP-Bereitschaft -> bereitgestelltes Sitzungstoken -> WebSocket-Authentifizierung“ und hält „eine Sperre auf Host-Ebene, sodass zwei gleichzeitig startende Apps ein Backend statt zweier Backends erzeugen“;HOST_SPAWN_GATE_STALE_MS = 60_000). Connector-Vorgang:tools/connectors/operation.py:1wörtlich: „Ein Backend-eigener Verbindungsvorgang promanage_connections-Aufruf. Reine Daten, kein I/O.“;OPERATION_DEADLINE_SECONDS = 300.0mit dem Kommentar „Kein Konfigurationsschlüssel: Eine vom Benutzer einstellbare Wartezeit mit Begrenzungen war eine gefährliche Fehlkonstruktion (PR1 lieferte eine, nicht gemergt)“; das alsmanage_connectionsregistrierte Tool (tools/connectors/tool.py:16,48,113);required_envje Ziel „({name, prompt, required}); die Karte zeichnet für jeden Eintrag ein Feld und hält seine Aktion zurück, bis alle Pflichtfelder Text enthalten“; die intests/hermes_cli/test_mcp_catalog_env_boundary.py:330benannte Karte für drei Frontends („Das Connector-Karten-Backend (Desktop/TUI/CLI-Einrichtungskarte) nimmt dieselbe Aufteilung ausschließlich für Geheimnisse vor“). stream-json:hermes_cli/_parser.py:247-249beim Chat-Parser –--formatmit den Auswahlmöglichkeitentext/stream-json, Standardwerttext, Hilfetext wörtlich: „’stream-json’ gibt durch Zeilenumbrüche getrennte JSON-Ereignisse (JSONL) aus, impliziert –quiet und kann nicht mit –tui kombiniert werden“; Modul-Docstring inhermes_cli/stream_json.py: „ein JSON-Objekt pro stdout-Zeile …system/init->text-Deltas /tool_use/tool_result-> eine abschließenderesult-Hülle (Exit-Code, finaler Text, Tokenstatistiken). Diagnosen undsession_idbleiben auf stderr“,_TOOL_OUTPUT_CAP = 5000, Exit-Code 2 bei den unzulässigen Kombinationen,stream_json_requestedinhermes_cli/stream_json.py:23, das entwederqueryoderquery_fileakzeptiert, bevor es sich mit 2 beendet (der Fire-Einstiegspunkt incli.py:1703-1705prüft die bereits aufgelöste Abfrage);--query-file PATHinhermes_cli/_parser.py:218-222in einer sich gegenseitig ausschließenden Gruppe mit-q(Hilfetext wörtlich: „Die einzelne Abfrage aus einer Datei statt aus der Befehlszeile lesen (‘-’ liest stdin). Sicher für beliebigen Text: Nichts wird von der Shell interpretiert“), gelesen von_read_query_file(hermes_cli/main.py:1735-1762), vorhanden seit Tagv2026.8.19; Vertragstests intests/hermes_cli/test_stream_json.py(einschließlich „darf unter stream-json niemals stdout erreichen“). skills.auto_load:hermes_cli/config_defaults.py:1435, Standardwert[], Kommentar wörtlich: „skill-Namen, die in jeder neuen Sitzung (CLI, TUI, gateway, cron, API) als vollständig geladen fixiert sind. Werden einmal aufgelöst, wenn der Prompt des Agenten erstmals erstellt wird; fehlende/deaktivierte Namen lösen eine Warnung aus und werden übersprungen; HERMES_IGNORE_RULES unterdrückt die Liste wie den übrigen automatisch eingefügten Kontext.“ decline:gateway/config.py:137-139– Kommentar wörtlich: „’pair’ sendet per DM einen Kopplungscode, ‘ignore’ verwirft stillschweigend, ‘decline’ sendet eine höfliche Ablehnung und bleibt gegenüber diesem Absender anschließend für gateway.pairing.DECLINE_DEDUPE_SECONDS still (#88028)“,UNAUTHORIZED_DM_BEHAVIORS = {"pair", "ignore", "decline"}, Feldstandardwert"pair"(:626), leereunauthorized_dm_decline_message->DEFAULT_UNAUTHORIZED_DM_DECLINE_MESSAGE(die im Abschnitt zur Kopplung zitierte Antwort);DECLINE_DEDUPE_SECONDS = 24 * 3600und aliasbewusste Ablehnungszeitstempel ingateway/pairing.py:37,565-576; plattformspezifische Auflösung und der Email-Standardwert inget_unauthorized_dm_behavior(gateway/config.py:803-809, „Email ist wie ein Posteingang aufgebaut und verwendet deshalb standardmäßig"ignore", sofern nicht das eigeneunauthorized_dm_behaviorausdrücklich aktiviert wird (ein globaler Standardwert bewirkt dies nicht)“). Der Schlüssel selbst einschließlichpair/ignoreund der Email-Regel bestand bereits vor diesem Zeitraum (vorhanden inv2026.9.14,gateway/config.py:564,736-742; eingeführt durch #1919 im März 2026); nurdeclineist neu. Effektiver Standardwert:_get_unauthorized_dm_behavioringateway/authz_mixin.py:699-740, Reihenfolge laut Docstring: „explizite plattformspezifische Konfiguration; Email -> “ignore”; expliziter globaler Wert ungleich dem Standard; dm_policy des Adapters (pairing -> “pair”, allowlist/disabled -> “ignore”); jede konfigurierte allowlist -> “ignore” …; andernfalls “pair”“ (#9337), wobei der globale Wert nur berücksichtigt wird, wenn er!= "pair"ist. YAML-Struktur: Plattformspezifische Schlüssel unterplatforms.<name>werden inPlatformConfig.extraübernommen (gateway/config.py:456-460, #10206), der Schlüssel auf oberster Ebene oder das verschachteltegateway.unauthorized_dm_behaviorwird durchgateway/config_loader.py:39-46,102überbrückt, undhermes gateway setupschreibtplatforms.<name>.unauthorized_dm_behaviorüberwrite_platform_config_field(hermes_cli/config.py:2061-2069;hermes_cli/gateway_setup_wizard.py:182-184,219-249, Auswahl „Unbekannte Absender höflich ablehnen (einmalige Nachricht, danach Stille)“). Die Ablehnungsnachricht ist ausschließlich global (gateway/run_inbound.py:139). discovery_concurrency:hermes_cli/config_defaults.py:526, Standardwert 4;tools/mcp_tool_discovery.py:27-40(„mcp.discovery_concurrencyüberschreibt ihn, 0 = unbegrenzt (#117373)“; ein nicht ganzzahliger oder negativer Wert protokolliert „ist keine nicht negative Ganzzahl; %d wird verwendet“ und verwendet den Standardwert); die Semantik als Obergrenze statt Sperre ist durchtests/tools/test_mcp_tool.py:2813festgeschrieben („begrenzt gleichzeitige Verbindungen (weiterhin parallel, jeder Server“ stellt eine Verbindung her). session_search-Grenzen + erneuter Versuch:tools/session_search_tool.py:578,621-635,708-725–after„Inklusive Untergrenze für die Startzeit der Sitzung. ISO-Datum/-Datum mit Uhrzeit (z. B. 2026-06-01) oder relative Dauer (7d, 24h, 2w = innerhalb der letzten N)“,before„Exklusive Obergrenze für die Startzeit der Sitzung. ISO-Datum/-Datum mit Uhrzeit (ein reiner Datumswert bezeichnet Mitternacht UTC an diesem Tag) oder relative Dauer (7d = älter als eine Woche)“, beide „Nur Discovery-Struktur“, wobei „sort eine Gewichtung für die Rangfolge und keine Grenze ist“ und die neuen Parameter „für die Schemastabilität nachdetailangehängt“ wurden; der OR-gelockerte erneute Versuch inhermes_state_search.py:1151-1163, Kommentar wörtlich: „Das implizite AND zwischen Begriffen führt dazu, dass eine umformulierte Abfrage mit mehreren Wörtern einen gespeicherten Satz verfehlt, dem auch nur EIN Wort fehlt … Sobald die exakte Abfrage und alle Teilzeichenketten-Fallbacks keine Treffer liefern, wird der unicode61-Index erneut abgefragt, wobei EIN BELIEBIGER Begriff übereinstimmen darf. … Wird nur bei null Ergebnissen aktiviert, sodass Treffer die Semantik exakter Übereinstimmung beibehalten; explizite OR/NOT-, Einzelbegriff- und CJK-geroutete Abfragen bleiben unverändert“; eigene Testsuitetests/hermes_state/test_search_or_relaxed_fallback.py. set-journal-mode: Parser inhermes_cli/subcommands/sessions.py:177, Hilfetext wörtlich: „state.db offline (alle zugreifenden Prozesse gestoppt) zwischen journal_mode=WAL und DELETE konvertieren“; Docstring inhermes_cli/sessions_cmd_journal_mode.py– der eigenständig nutzbare Offline-Pfad für #100896 (zuvor war „der einzige Notausgang ein undokumentiertes, manuell ausgeführtesPRAGMA journal_mode=DELETE“), „ablehnen, solange IRGENDEIN fremder Prozess die Datei oder eine Sidecar-Datei geöffnet hält (foreign_state_db_holders), den Modus umschalten, ohne auf das Ende zugreifender Prozesse zu warten (_set_journal_mode_no_wait), und anschließend die von SQLite für den Modus geschriebenen Header-Bytes 18/19 verifizieren“; Dispatch mit der Kennzeichnung „offline: darf den zu konvertierenden Store nicht öffnen“ (hermes_cli/sessions_cmd.py:982);hermes doctorempfiehlt den Befehl bei nicht standardmäßigen Stores mit--db(hermes_cli/doctor_platform.py:148,163). Parser-Beschreibung wörtlich: „Führen Sie dies aus, wenn gateway, dashboard und jeder CLI gestoppt sind: Der Befehl lehnt ab, solange ein Prozess die Datei geöffnet hält, wechselt den Modus und verifiziert den Datei-Header“; Hilfetext für--force: „Nur Windows: Nach dem eigenständigen Stoppen sämtlicher Hermes-Prozesse ohne die dort nicht verfügbare Prüfung zugreifender Prozesse fortfahren“ (hermes_cli/subcommands/sessions.py:176-189), durchgesetzt in_refusal(sessions_cmd_journal_mode.py:40-44: „Unter Windows kann nicht bewiesen werden, dass kein Zugriff auf die Datenbank erfolgt – es gibt keine Prüfung zugreifender Prozesse“). Desktop-Welle: Schriftartenfeldapps/desktop/src/app/settings/chat-font-setting.tsx(CONFIG_PATH = 'desktop.font_family', automatisches Speichern nach 550 ms) mitthemes/chat-font.ts(Vorschläge: OpenDyslexic, Atkinson Hyperlegible, Lexend, Inter, IBM Plex Sans, Source Sans 3, Noto Sans, Segoe UI, SF Pro Text; ein leerer Wert bezeichnet die Schriftart des Themes), angewendet überthemes/context.tsx:279, wodurch das Theme-Token--dt-font-sansüberschrieben wird; Engine-Aktualisierungen inapps/desktop/src/app/settings/local-models-settings.tsx+ Test (eine Schaltfläche „Engine aktualisieren“, wenn die verwaltete lokale Laufzeitumgebungupdate_availablemeldet, dieinstallLocalRuntimeals Fortschritt meldendenruntime-install-Job ausführt; der Test „hält eine fehlgeschlagene explizite Aktualisierung mit direkter Wiederholungsmöglichkeit und ohne bereitgestellte Modelle sichtbar“); Deinstallation im Plugins-Hub inapps/desktop/src/app/capabilities/plugins/plugins-tab.tsx+ Test („deinstalliert über plugins.manage remove erst, nachdem der Bestätigungsdialog akzeptiert wurde“; eigenständige Desktop-Plugins überuninstallDiskPluginim Electron-Loader). Videokataloge:plugins/video_gen/fal/__init__.py:43-44,99-101–ltx-2.5(„LTX 2.5“, „Open-Source-Audio-Video-Modell von Lightricks. Natives Audio, bis zu 20 s/4K (i2v), Voreinstellungen für Kamerabewegungen.“, günstige Stufe,lightricks/ltx-2.5/text-to-video/fastund/image-to-video/fast, Seitenverhältnisse 16:9/9:16, ganzzahlige Dauern;:128„fal lehnt LTX 2.5 mit mehr als 10 s bei 1440p/2160p ab“) undkling-o3(„Kling O3 (Standard)“, „Spitzenmodell von Kuaishou. Natives Storytelling mit mehreren Einstellungen, optionales Audio, 3–15 s.“, Premiumstufe, Dauer als Zeichenfolge von 3–15, i2v leitet das Seitenverhältnis aus dem Bild ab,generate_audioals echter Umschalter); Payload-Tests intests/plugins/video_gen/test_fal_plugin.py:641,681; Bestandszeile inwebsite/docs/reference/toolsets-reference.md:72. Katalogausbau:plugin-catalog/beiv2026.9.14= 9 Einträge +removed.yaml, beiv2026.9.21= 228 Einträge +removed.yaml; Eintragsstruktur gemäßplugin-catalog/hermes-tailscale.yaml(Name, Repository, 40-stelligersha, Beschreibung, Maintainer,tier: community, Kategorie, docs_url, Funktionen); Aufnahme- und Veröffentlichungsmodell inhermes_cli/plugin_catalog.py:4-10,33(„auf einen exakten 40-stelligen Commit-SHA fixiert. Die Präsenz im Verzeichnis IST“ die Aufnahme;website/scripts/extract-plugins.pyveröffentlicht/docs/api/plugin-catalog.json;LIVE_CATALOG_URLwird abgerufen und unter~/.hermes/cache/plugin-catalog.jsonzwischengespeichert); Website-Seiten inwebsite/plugins/plugin-catalog-pages/index.js(„/docs/plugins/ eine Seite je Eintrag“, „/docs/plugins/by/ eine Seite je Maintainer“, „ein gemergter Katalog-PR ist die einzige Möglichkeit, wie eine Seite erscheint, geändert wird oder verschwindet“, und die Website „wird lediglich eingeschränkt, fällt aber nie aus“) undreadme.js(die README jedes Eintrags wird „aus dem FIXIERTEN Commit“ über eine Raw-URL mit dem sha gerendert, „niemals von der Spitze eines Branches“, sodass die Seite exakt die README zeigt, die der Katalogprüfer gelesen hat; zur Build-Zeit auf eine Positivliste beschränktes Rendering, das rohes HTML verwirft, Obergrenze von 512 KB, Hosts beschränkt auf raw.githubusercontent.com und gitlab.com; Deaktivierung mitreadme: false); Autor-Slugs und aus dem Committer-Datum abgeleitete Zeitstempel für Hinzufügung/Aktualisierung inwebsite/scripts/extract-plugins.py:80,142; alle zehn in der Veröffentlichung genannten Community-Plugins sind beim Tag als Einträge unter den in 50 aufgeführten Slugs vorhanden. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.5, Tag
v2026.9.24, angegebenes Veröffentlichungsdatum 24. September, veröffentlicht am 2026-09-24T10:09:38Z. Wörtlich angegebener Zweck: „Patch-Release. Dieser Tag fasst die seit v0.21.4 zusammengeführten rund 460 PRs zu einem stabilen Release mit Tag für nachgelagerte Nutzer zusammen (Docker-Images, Hermes Cloud, gehostete Bereitstellungen). Vollständige, redaktionell aufbereitete Hinweise für diesen Zeitraum werden erst mit v0.22.0 veröffentlicht.“ Am Tag-Commitf97608f178(„chore: release v0.21.5 (2026.9.24)“) gemessene Statistiken: „1.610 Nicht-Merge-Commits“ in „4.828 geänderten Dateien“ (+164.132 / -149.440), „460 zusammengeführte PRs“ und „475 geschlossene Issues“. Prüfungen mit einem lokalen Klon reproduzieren die Commit- und Diff-Zahlen exakt (git rev-list --count --no-merges v2026.9.21..v2026.9.24= 1.610; 1.638 einschließlich Merges;git diff --shortstat= 4.828 Dateien, +164.132 / -149.440); die Anzahl der PRs und Issues wurde nicht unabhängig überprüft. Die bewusst nicht dokumentierte Liste im Text nennt GPT-6 „Sol/Terra/Luna“ und Claude Opus 5.5 in den Katalogen von Nous und OpenRouter, Stoppen/Starten/Neustarten einzelner profile mitgateway.standalonesowie eine Welle von Desktop-plugin-SDK; Hindsight wird nicht erwähnt. Wörtlich angegebener Aktualisierungspfad: „hermes update(Git-Installationen) oder das einzeilige Installationsprogramm erneut ausführen“ und „Images werden aus diesem Tag erstellt (nousresearch/hermes-agent:v2026.9.24)“. ↩↩↩ -
In den Quelldateien am Tag
v2026.9.24verifizierte Elemente von v0.21.5 (Guide v1.22, 24. September 2026). Hindsight: Commit4cbf862abe„chore(memory): remove the bundled hindsight provider (moved to the plugin catalog)“ (22. September) ist ein Vorgänger des Tags;plugins/memory/enthält an diesem Tag sieben Provider-Verzeichnisse (byterover,holographic,honcho,mem0,openviking,retaindb,supermemory), gegenüber acht beiv2026.9.21; Commit73c598e319„build: drop the hermes-agent[hindsight] extra“ entfernte es auspyproject.toml.plugin-catalog/hindsight.yaml:repo: https://github.com/vectorize-io/hindsight,maintainer: vectorize-io,tier: community,requires_hermes: ">=0.21.4". Migration: Der Docstring inhermes_cli/memory_provider_migration.py(Zeilen 1–14) nennt zwei Hooks, „hermes update“ und „agent init“; Zeile 75 gibt „Memory provider ‘{name}’ moved out of core – installed its plugin from the catalog“ aus;recover_at_startup()(Zeile 110) „berücksichtigtsecurity.allow_lazy_installs“; die Funktion wird inhermes_cli/update_cmd_deps.py:535-536undagent/agent_init.py:1315-1316aufgerufen. Auswirkungen auf dem Datenträger und die Verifizierungsbefehle:memory-providers.md:482-490. Multiplex:hermes_cli/gateway_multiplex_mode.py, Zeile 10: „Ein explizitesfalseist NICHT MEHR ZULÄSSIG“, und Zeilen 43–44: „gateway.multiplex_profiles: false wird nicht mehr unterstützt und wurde in true umgeschrieben“ (Commitb936546561, 23. September).gateway.standalone:hermes_cli/profiles.py:979-982, „Das DEFAULT-profile ist niemals standalone – es IST der Host – und warnt einmal pro Prozess, falls der Schlüssel dort gesetzt ist“ (Commit0238c9d740). Parken: Commit4c342c05de„stop, start and restart one profile under the host multiplexer“;multi-profile-gateways.md:120-138, 233-244(„ein temporärer Kompatibilitäts-Shim“; „gateway.standalonehat Vorrang“). Modelle:hermes_cli/models_catalog_static.py,OPENROUTER_MODELS, Zeilen 32 und 36–37 (anthropic/claude-opus-5.5,openai/gpt-6-sol,-sol-pro,gpt-6-luna,-luna-pro); dienous-Liste in Zeile 162 wird daraus abgeleitet. In den Auswahlkatalogen des Tags erscheint keine Modell-IDgpt-6-terra, weshalb hier nur Sol und Luna aufgeführt sind. Provider:CANONICAL_PROVIDERSin Zeile 314 ergibt beim Parsen 39 Einträge (AST-Zählung, unverändert);plugins/model-providers/enthält sowohl beiv2026.9.21als auch beiv2026.9.2438 Verzeichnisse, gegenüber 39 beiv2026.9.14. Commit998f614c7f„feat(providers): remove the keyless opencode-free tier“ (18. September) löschte das plugin; die Commit-Nachricht lautet: „Die kostenlose Stufe von OpenCode gibt für anonymen Datenverkehr außerhalb des OpenCode-Clients nun HTTP 403 zurück“.hermes_cli/auth.py:1255-1259behält füropencode-free,freeundopencode_freeeine Fehlermeldung bei, die aufopencode-zenundopencode-goverweist. Kompatibilität:COMPAT_MANIFEST.md,compat_manifest.jsonundhermes_cli/plugin_compat.pysind am Tag sowie aufmainbeiaa8a33d22d(24. September) vorhanden.git diff v2026.9.21 v2026.9.24 -- hermes_cli/plugin_compat.pyist leer (COMPAT_REMOVAL_DATEin Zeile 32; die Prüfung „Literal boolean only“ in den Zeilen 296–303). Aus dem Manifest-Paar wurden lediglich die gelöschtenplugins.memory.hindsight-Einträge entfernt (-7 / -12 Zeilen). ↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.6, Tag
v0.21.6(der erste Release-Tag, der nicht dem Formatv2026.M.Dentspricht), angegebenes Veröffentlichungsdatum 8. Oktober, veröffentlicht am 2026-10-08T11:51:57Z. Wörtlich angegebener Zweck: „Patch-Release. Dieser Tag fasst die seit v0.21.5 zusammengeführten rund 2.100 PRs zu einem stabilen Release mit Tag für Docker und Hermes Cloud zusammen. Vollständige, redaktionell aufbereitete Hinweise für diesen Zeitraum werden mit v0.22.0 veröffentlicht.“ Wörtliche Beschreibung der Pipeline: „Dies ist das erste Release, das mit der neuen stabilen Release-Pipeline erstellt wurde: eine Attempt-Referenz, ein getestetes Docker-Image und ein Receipt-Tag bei der Veröffentlichung. Ausgeliefert werden der Tag, dieses GitHub-Release und das Docker-Image. Die Desktop-App, Termux-Pakete und der Microsoft Store bleiben vorerst bei ihrem aktuellen Build und wechseln mit dem nächsten gebündelten Release.“ Statistiken „gemessen am Commit818c13be“: „8.867 Nicht-Merge-Commits“ in „8.342 geänderten Dateien“ (+772.490 / -225.600), „2.106 zusammengeführte PRs“ und „3.027 geschlossene Issues“; der GitHub-Vergleichv2026.9.24...v0.21.6weist einschließlich Merges 9.180 Commits aus (die Diff-Zahlen wurden dieses Mal nicht lokal reproduziert). Die bewusst nicht dokumentierte Liste nennt wörtlich „Live-Transkription während des Sprechens auf CLI, in der TUI und auf dem Desktop (stt.streaming)“, „gesprochene Sprachinteraktionen, die an ein eigenes Modell weitergeleitet werden (auxiliary.voice_chat), wobei Reasoning standardmäßig deaktiviert ist“, „Drittanbieter-plugins, die in einem profile-spezifischen plugin-Host ausgeführt werden (plugins.isolation: host)“, „ein auf Zusammenfassungen ausgerichteteshermes status(--short,--full)“, „austauschbare, mehrschichtige Sprachpakete für Core, Desktop und TUI“, „lokale Modelle inhermes modelsowie llama.cpp CUDA unter Linux x64 und arm64“, „Genehmigungs-Flags für das Hochladen von Zugangsdaten und unsichtbares Unicode in Terminalbefehlen“, „eine Discord-Einrichtung, die das Bot-Token prüft und den Einladungslink ausgibt“, „eine einheitliche Kanban-Workflowdefinition“, „activate.fish“, „GPT-6.1 Sol und Claude Sonnet 5.5 / Haiku 5.5 in den Katalogen“ sowie die im Abschnitt „Was ist neu?“ zitierten Desktop-Elemente. Sicherheitsabschnitte, teilweise wörtlich: „Vielen Dank an Tenable Research für das Melden aller vier Probleme (TRA-725, TRA-726, TRA-727, TRA-728)“; „Automatische Git-Aufrufe (Snapshot des Session-Arbeitsbereichs, Subagent-Worktrees, Kanban, Worktree-Bereinigung,hermes -w) konnten vor dem ersten Prompt die durch die eigene Konfiguration eines nicht vertrauenswürdigen Repositorys definiertenclean-/smudge-/process-Filterprogramme ausführen (#130661)“; „Ein in Anführungszeichen gesetzter Anzeigename imFrom-Header … konnte dazu führen, dass die Nachricht eines Angreifers die E-Mail-Zulassungsliste als zugelassener Absender passierte (#125212)“. Wörtlich angegebener Aktualisierungspfad: „Docker / Hermes Cloud:nousresearch/hermes-agent:stable(oder:latest). CLI (Git-Installationen):hermes updateoder das einzeilige Installationsprogramm erneut ausführen.“ ↩↩↩↩↩↩ -
Die Punkte für v0.21.6 wurden im Quellcode beim Tag
v0.21.6verifiziert (Commit818c13be; Leitfaden v1.24, 11. Oktober 2026). STT:hermes_cli/config_defaults.pysetztstt.streaming: Falseals Ausgangswert („partieller Live-Text während des Sprechens (openai/xai/elevenlabs); bei einem Fehler = Dateipfad“) undstreaming_model: "gpt-live-transcribe"(„das einzige Modell mit Deltas mitten in einer Äußerung“). Voice-Route:auxiliary.voice_chatverwendet standardmäßig ein Zeitfenster von 120 Sekunden mit"reasoning_effort": "none"; im Docstring vonagent/voice_turn_route.pysteht: „Ein Voice-Turn (CLI-Spracheingabe, eine Desktop-/TUI-Sprachkonversation oder eine Sprachnachricht über einen Messaging-Dienst) kann auf einem schnelleren Modell als dem Hauptmodell der Sitzung ausgeführt werden … Ein Turn, dessen Anfrage zu Beginn des Turns nicht unter den Komprimierungsschwellenwert des Voice-Modells passen würde, wird stattdessen auf dem Hauptmodell ausgeführt.“ Isolation:hermes_cli/plugin_isolation.py(„in_process(Standard) importiert jedes Plugin in den Hermes-Prozess …hosthält den Code von Drittanbieter-Plugins AUS ihm heraus: Allgemeine Plugins werden in einem Plugin-Host-Prozess je profile geladen … und kommunizieren mit Hermes ausschließlich überctx… Mitgelieferte Plugins werden zusammen mit Hermes ausgeliefert und verbleiben im Prozess“);config_defaults.pysetztplugins.isolation: "in_process"als Ausgangswert. Memory:plugins/memory/enthältbyterover,holographicundretaindb(sieben Verzeichnisse beiv2026.9.24);plugin-catalog/honcho.yaml(plastic-labs),mem0.yaml(mem0ai),openviking.yaml(volcengine) undsupermemory.yaml(supermemoryai) haben alletier: community;hermes_cli/memory_provider_migration.pysetzt_LEFT_COREauf alle acht Namen („Anbieter, die gebündelt im Kern ausgeliefert wurden. Die unbeaufsichtigte Zustimmung gilt nur für diese“). Kompatibilität: Im Docstring vonhermes_cli/plugin_compat.pysteht: „Diese Schicht und der Scanner, der Plugins meldete, die sie noch verwendeten, sind entfernt worden“;compat_report()gibt{}zurück;allow_deprecated_importskommt nirgends im Verzeichnisbaum vor;COMPAT_MANIFEST.mdundcompat_manifest.jsonfehlen. Status:hermes_cli/subcommands/status.pydefiniert--full/--all(„Alle Abschnitte anzeigen (Schlüssel unkenntlich gemacht) statt der einseitigen Zusammenfassung“) und--deep(„impliziert –full“), jedoch kein--short. Sprache:hermes_cli/config_language.py(„Als gültige Menge giltagent.i18n.supported_languages(): mitgelieferte Kataloge, das Overlay-Verzeichnis des profile und sämtliche Sprachpakete geladener Plugins“);locales/enthält 17 Dateien vom Typ<lang>.yamlund 16 vom Typ<lang>.tui.yaml. Anbieter:plugins/model-providers/enthält 41 Verzeichnisse (38 beiv2026.9.24; hinzugekommen sindlmstudio,solsticeundtencent-tokenhub);CANONICAL_PROVIDERSinhermes_cli/models_catalog_static.pyumfasst bei beiden Tags 39 Zeilen; die zugehörige ListeOPENROUTER_MODELSergänztanthropic/claude-sonnet-5.5,anthropic/claude-haiku-5.5,openai/gpt-6.1-solundopenai/gpt-6.1-sol-pro, die beiv2026.9.24allesamt nicht vorhanden waren. Genehmigungen: Die Regeln intools/approval_detection.pylauten „eine geheime oder Anmeldedatendatei über curl/wget hochladen (mögliche Exfiltration)“, „eine Anmeldedatendatei über eine Pipe an einen curl-/wget-Upload übergeben (mögliche Exfiltration)“ und „unsichtbares oder bidirektionales Unicode-Steuerzeichen (mögliche Verschleierung)“. Cron:cron/store_health.py(„Beeinträchtigter Zustand für einen nicht beschreibbaren cron-Speicher (ENOSPC, EROFS, EACCES) … jedes Speicherverzeichnis erhält EINEN Datensatz im Arbeitsspeicher …probe_storewird auch vonhermes cron statusundhermes doctorverwendet“). Discord:plugins/platforms/discord/onboarding.py(invite_url(),INVITE_PERMISSION_BITS; „Message Content Intent ist deaktiviert (Discord verweigert dann die Verbindung des Bots)“). Git-Filter:tools/subagent_worktree.py(„Beim Checkout wird der nach dem Repository benannte Smudge-Filter ausgeführt; Isolation überspringen, wenn er nicht neutralisiert werden kann“) überhermes_cli._subprocess_compat.noninteractive_repo_git_envsowiehermes_cli/worktree_ops.py(„ablehnen, wenn sie nicht neutralisiert werden können“). E-Mail:plugins/platforms/email/adapter.py(„Verwendet parseaddr und keinen regulären Ausdruck für das erste <…> (GHSA-rxqh-5572-8m77); RFC-5322-Faltungen werden zuerst entfaltet“). Dashboard-Authentifizierung:hermes_cli/dashboard_auth/request_utils.py(„Vom Client bereitgestelltesX-Forwarded-Forhier niemals parsen“). Lokale Laufzeit:hermes_cli/local_runtime/binaries.pyordnet"cuda"llamacpp-cudazu;hermes_cli/models_local.pydeckt Ollama, LM Studio und Ollama Cloud ab.activate.fishbefindet sich im Stammverzeichnis des Repositorys („Das fish-Gegenstück zu ./activate“). Die Definition des Kanban-Workflows und die Desktop-Punkte wurden nicht im Quellcode überprüft. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.21.7, Tag
v0.21.7, angegebenes Veröffentlichungsdatum 11. Oktober, veröffentlicht am 12. Oktober 2026 um 05:53:41 UTC; der Tag-Commit lautet71d34bad„fix(release): Das Rendering der Builds-Tabelle erhält seine R2-Anmeldedaten und kann die Veröffentlichung nicht blockieren“ (12. Oktober 2026, 03:17:10 UTC). Wörtliche Zweckangabe: „Patch-Veröffentlichung. Dieser Tag bündelt die rund 204 seit v0.21.6 zusammengeführten PRs zu einer stabilen Veröffentlichung für die Desktop-App (macOS Apple Silicon, Windows), den Microsoft Store und MSIX, das Installationsprogramm, Docker und Hermes Cloud. Vollständig kuratierte Hinweise zu diesem Zeitraum werden mit v0.22.0 ausgeliefert.“ Statistiken „Gemessen beim Commit1fd18277“: „740 Nicht-Merge-Commits“ in „4.156 geänderten Dateien“ (+86.775 / -26.980), „204 zusammengeführte PRs“ und „69 geschlossene Issues“; der GitHub-Vergleichv0.21.6...v0.21.7weist einschließlich Merges 777 Commits aus. Wörtliche Punkte zur Quellcodeinstallation: „Eine Quellcodeinstallation des offiziellen Repositorys wird auf die neueste veröffentlichte VersionvX.Y.Zaktualisiert statt auf jeden Commit inmain. Eine Installation, die bereits neuer als die aktuelle Version ist, bleibt auf ihrem Stand und wartet auf die nächste; nichts wird zurückgesetzt. Um weiterhin jedem Commit zu folgen:hermes update --set-channel main. Forks und Mirrors folgen weiterhinmain. Store-, MSIX- und gebündelte Desktop-Installationen bleiben unverändert.“; „Unter Einstellungen ▸ Über ▸ Updates gibt es für Quellcodeinstallationen einen Schalter Update-Kanal (Stabile Versionen / Jeder Commit), und der Update-Dialog zeigt nun an, welchen Kanal Sie verwenden.“; „Signierte Gedankengänge werden nachhermes chat --resumeund beim nächsten gateway-Turn wiedergegeben, und Bedrock-Converse-Reasoning-Modelle werden bei fortgesetzten Sitzungen nicht mehr abgelehnt.“; „Installationen aufmainrufen keinen Versionsdatensatz mehr ab, auf den regionale Firewalls mit 403 antworten könnten. Für die Prüfung auf stabile Versionen wird Ihr GitHub-Token verwendet, sofern eines festgelegt ist (GITHUB_TOKENodergh auth login), und ein GitHub-Ratenlimit wird als Ratenlimit gemeldet.“ Die bewusst undokumentierte Liste nenntctx.runAction,ctx.pet.say, „vom Kern erzeugte Codex-Anfragen, sodass Plugins niemals den Token enthalten“, „während einer Sitzung installierte skills, die das Modell ohne Neuerstellung des Prompts erreichen“, „Krea 2 Medium Turbo als standardmäßigen Bildkanal für neue zahlende Abonnenten, mit einem FAL-Fallback, wenn das verwaltete Krea eine Anfrage ablehnt“, schnellere Desktop-Updates, „angeheftete Installationen, die nur den Pin auschecken“, „an Relay ausgegebene Komprimierungsmarkierungen“ sowie die Plugins memory-shield, command-ledger, Memoria, Model Router, wyoming-voice-bridge, codex-account-switch und redline. Wörtlicher Aktualisierungspfad: „Desktop-App: aktualisiert sich selbst. Microsoft-Store-Installationen werden über den Store aktualisiert. CLI:hermes updateoder den Einzeiler des Installationsprogramms erneut ausführen. Docker / Hermes Cloud:nousresearch/hermes-agent:stable(oder:latest).“ ↩↩↩↩ -
Die Angaben zu v0.21.7 wurden im Quellcode beim Tag
v0.21.7verifiziert (Commit71d34bad; Leitfaden v1.25, 13. Oktober 2026). Channels:hermes_cli/subcommands/update.pydefiniert--set-channel CHANNEL(„Speichert den Update-Channel für DIESE Installation dauerhaft (wird für jede Installation separat in config.yaml unter update.installs erfasst) … Offizielle Quellcode-Checkouts verwenden standardmäßig ‚stable‘ (die neueste veröffentlichte vX.Y.Z-Version, exakter Commit); ‚main‘ folgt dem Quellcode-Branch“),--channel CHANNEL(„Verfolgt CHANNEL nur für diesen Durchlauf … ‚stable‘ und ‚canary‘ wählen veröffentlichte Versionen aus, ‚main‘ die Spitze des Branches. Nur für Quellcodeinstallationen“) sowie--install-id;hermes_cli/update_channel.py(„Eine config.yaml wird von vielen Installationen verwendet (Host, Docker-gateway und Desktop binden alle dasselbe~/.hermesein), daher ist ein Home-globaler Schlüsselupdate.channelUNSICHER und existiert nicht“; „Nicht konfigurierte offizielle Checkouts verfolgenstable; Forks und Mirrors bleiben beimain“;_tracks_official_origin: „Forks, Mirrors und Ursprünge mit lokalen Pfaden veröffentlichen keine offiziellen Versionen“);hermes_cli/source_releases.py(„Löst freigegebene Quellcodeversionen auf, ohne eine Veröffentlichung jemals aus einem Git-Tag abzuleiten“;_head_containing: „Eine nicht ausgewählte Standardeinstellung darf einen Checkout aufgrund einer Vermutung niemals zurücksetzen. Bei einer unbekannten Beziehung (flache Historie, GitHub nicht erreichbar) bleibt HEAD daher unverändert“; ein 403-Fehler von „regionalen WAFs“ „darf“ die Prüfung „nicht stoppen“; „Bei einem Übertragungsfehler wird die Ursache genannt (ein Rate-Limit bedeutet nicht ‚keine Version‘)“; „Ein abgelehntes Token führt zu einem erneuten anonymen Versuch“; die Formulierungen zuGITHUB_TOKENundgh auth loginstammen aus der Version). Desktop:apps/desktop/src/app/settings/update-channel-row.tsxundapps/desktop/src/i18n/en_update_channel.ts(Titel „Update-Channel“; „Stable installiert ausschließlich veröffentlichte Versionen. Every commit folgt dem main-Branch, sobald Änderungen eingehen.“; Optionen „Stable-Versionen“ und „Jeder Commit“). Reasoning:agent/anthropic_thinking_policy.py(„Routen, deren Thinking-Blöcke Signaturen enthalten, die vom Upstream verifiziert werden: Sie geben signierte Blöcke erneut wieder“);agent/anthropic_thinking_replay.py(„Wir speichern nur Fingerabdrücke abgelehnter undurchsichtiger Signatur-/Datenwerte und filtern diese Blöcke anschließend aus jeder neu erstellten Anfragekopie. Dies ist auch über den unmittelbaren Wiederholungsversuch hinaus erforderlich, da die Kontextauswahl und die Fortsetzung eines Prozesses später Anfragen aus der kanonischen Historie neu erstellen können“);agent/bedrock_adapter.py(„Thinking aus den gespeichertenreasoning_details… Converse erwartet Reasoning vor toolUse“; „Modellspezifische Reasoning-Wiedergabe bei Converse“). Memory:plugins/memory/enthältbyteroverundretaindb(drei Verzeichnisse beiv0.21.6);plugin-catalog/holographic.yaml(repo: https://github.com/itpartypattaya/hermes-plugin-holographic,tier: community,requires_hermes: ">=0.21.5");_LEFT_COREinhermes_cli/memory_provider_migration.pyführt weiterhin alle acht Namen auf. Katalog:plugin-catalog/enthält 552 YAML-Einträge (493 beiv0.21.6, gemäß dem GitHub-Inhalt API). Beim Tag unverändert: 41 Provider-Verzeichnisse, 39 statische Zeilen, 17 Core- und 16 TUI-Locale-Kataloge,hermes_cli/plugin_compat.pyals 22-zeiliger Stub sowiehermes statusausschließlich mit--full/--allund--deep. Desktop-Aktionen:apps/desktop/src/contrib/plugin.tsdokumentiertctx.runAction?.('view.showBrowser'); Relay:agent/relay_compaction.py(„Gibthermes.compaction-Datensätze als NeMo Relay-Markierungen im Scope-Stack der zugehörigen Sitzung aus“). Im Quellcode nicht gefunden und den Versionshinweisen entnommen:ctx.pet.say, die vom Core erstellten Codex-Anfragen, Skills während einer laufenden Sitzung, Krea als Standard und FAL als Fallback, der Checkout angehefteter Installationen sowie die schnelleren Desktop-Updates. ↩↩↩ -
Versionshinweise zu Hermes Agent v0.20.3 (Tag
v2026.8.16.2, angegebenes Veröffentlichungsdatum 16. August, veröffentlicht am 17. August 2026) und Versionshinweise zu v0.20.4 (Tagv2026.8.18, 18. August 2026); beide am 20. August 2026 über die GitHub API abgerufen (prerelease: false). Wortlaut von v0.20.3: „die Migration von MCP 2.x zu SDK und die Unterstützung des zustandslosen Protokolls vom 28.07.2026, das gebündelte Bot Mode-Plugin (hermes-bots) mit dem Core-Teammate-Protokoll, das CommandCode-Provider-Plugin, die Härtung der Laufzeitzuständigkeit für den Unterprozess Python (PYTHONHOME/PYTHONPATH-Isolierung), Cua Driver 0.20-Laufzeitverträge für die Computernutzung.“ Wortlaut von v0.20.4: „die Glass-/Transluzenz-Oberflächenarbeiten für den Desktop (mattes Glas, Frost-Auswahl, macOS-Vorauswahl), die SESSIONS|BOTS-Seitenleiste mit Tabs und Ein-/Ausblenden einzelner Bots, … beratende Tier-1-Prüfungen durch NVIDIA SkillEvaluator bei Skill-Installationen (Lizenz- und Sicherheitsprüfungen).“ Beide Versionen: „Vollständig kuratierte Versionshinweise für diesen Zeitraum werden mit v0.21.0 veröffentlicht.“ ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.20.0, „The Herald Release“, Tag
v2026.8.3, 3. August 2026, mit den Stabilisierungstags v2026.8.13 und v2026.8.16. Wortlaut aus der Version: „Node 26 ist für alle Installationsprogramme, Reparaturen und Upgrades erforderlich“; „brew- und pip/PyPI-Wheel-Channels wurden eingestellt (Shell-Installationsprogramm / Docker / Nix sind die unterstützten Channels)“; „standardmäßiges Iterationslimit 90 → 500“; „claude-marketplace-Quelle entfernt“. Die Node-Mindestversion wurde unabhängig im Quellcode des Installationsprogramms unter scripts/install.sh bestätigt —NODE_VERSION="26"und die Prüfung „Node.js $(node –version) ist zu alt (Hermes erfordert Node >=26)“ —, dessen Kopfkommentar außerdem den kanonischen Einzeilercurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashdokumentiert. Beachten Sie den Widerspruch: Auf der Installationsseite der Dokumentation wird weiterhin Node v22 genannt; sie ist gegenüber beiden Quellen veraltet. Plattformstufen stammen aus Plattformunterstützung, Skill-Quellen und standardmäßige Taps aus Skills; die Zahl von 28 Plattformen wurde durch Auszählen der Vergleichstabelle unter Messaging ermittelt, die keine offizielle Gesamtzahl nennt. Alle Quellen wurden am 16.08.2026 abgerufen und verifiziert. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.19.0, „The Quicksilver Release“, Tag
v2026.7.20, 20. Juli 2026; Stand 21. Juli 2026 die neueste Version. Kennzahlen seit v0.18.0: ca. 2.245 Commits, ca. 1.065 zusammengeführte PRs, ca. 3.300 geschlossene Issues, mehr als 450 Mitwirkende aus der Community. Performance als Rückgrat: TTFT beim ersten Turn um ca. 80 % reduziert, Kaltstart von Submit bis Dispatch in CLI/gateway/TUI/desktop/cron von ca. 4,3 s auf ca. 0,9 s verkürzt (PR #59332); Reasoning wird standardmäßig live gestreamt, wobeidisplay.show_reasoningaktiviert ist und die Antwort Token für Token dargestellt wird (PR #59389); desktop-Beschleunigungswelle mit ca. 20 PRs, darunter 14-mal schnelleres Markdown-Streaming; inkrementelles Markdown in der TUI. pip-/Homebrew-Installationen wurden als „unsupported legacy“ eingestuft und geben nur noch Warnungen aus; die Veröffentlichung über PyPI/Homebrew soll eingestellt werden (PR #57225). ErweiterbareSecretSource-Schnittstelle mit Bitwarden- und 1Password-Providern,op://-Referenzen, mehreren Vaults, deterministischer Prioritätsreihenfolge und Herkunftsnachweis pro Variable (PR #59498). Smart Approvals als Standard (unabhängiger LLM-Prüfer für jeden markierten Befehl), benutzerdefinierte Ablehnungsregeln, die auch im YOLO-Modus gelten,/deny <reason>(PRs #62661, #59164, #54518); Genehmigung zum Eskalieren überpre_tool_callin Plugins erneut integriert (PR #60504). Abrechnung im Terminal über/subscriptionund/topupsowie Abrechnungsregisterkarte in desktop (PR #51639). Live-Transkriptdateien für Subagents und dauerhafte Hintergrunddelegation (PRs #67479, #63494); Verzeichnis der Zustellungsverpflichtungen instate.db(PR #67181);max_async_childrenzugunsten einheitlicher Parallelitätsgrenzen für Delegationen veraltet (PR #56955). Profilbasiertes Routing im gateway,GATEWAY_MULTIPLEX_PROFILESund Verlagerung des Routing-Index nachstate.db;sessions.jsonbleibt als optionaler Legacy-Spiegel erhalten (PRs #64835, #65700, #60589, #59203). Provider/Modelle: Fireworks AI als vollwertige Option auf Platz 2 der Auswahl (PR #62593), DeepInfra, Upstage Solar, durchgängige Unterstützung für GPT-5.6 Sol/Terra/Luna sowie Pro (PR #61616), allgemeine Verfügbarkeit von grok-4.5, kimi-k3 (kimi-k2.x eingestellt), vollständige Einbindung von Claude Sonnet 5 sowieenabled: falsepro Provider undexcluded_providers(PR #67971); Reasoning-Effort-Stufenmax/ultramit Überschreibungen pro Modell und MoA-Slot sowie sitzungsbezogenem/reasoning(PRs #62650, #64458). CLI/MCP:hermes sessions exportfür Markdown/Quarto/HTML/Nur-Prompt/HF-Trace mit--redact(PR #60186),/model --once(PR #67113), gestapelte Aufrufe von Slash-Skills (PR #57987),--safe-mode,hermes config get/unset(PR #65540), echtes Headless-Verhalten fürhermes serve(PR #55923), Benennung nach dem Muster MCPmcp__server__tool(PR #52750). Das Marketing-Framing der Veröffentlichung wurde ausgeklammert; innerhalb des Zeitfensters rückgängig gemachte Funktionen (iron-proxy-Egress-Firewall, dynamic-workflow-skill, memory-Provider-Aktionen) wurden bewusst nicht als ausgeliefert dokumentiert. In der aktuellen Sitzung am 21. Juli 2026 verifiziert. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Release-Tag von Hermes Agent v0.18.1 und Release-Tag von v0.18.2, 7.–8. Juli 2026. Zusammenfassende Infrastruktur-Patches für die v0.18-Reihe; die wesentliche Korrektur in v0.18.2 hebt die Versionsfixierung von WhatsApp Baileys auf 7.0.0-rc13 auf, um zuverlässige Docker-Builds zu ermöglichen. Beide Patch-Zeitfenster sind in den Versionshinweisen zu v0.19.0 zusammengefasst und vollständig dokumentiert. ↩
-
Versionshinweise zu Hermes Agent v0.15.1 und Versionshinweise zu Hermes Agent v0.15.2. v0.15.1 (29. Mai 2026, 01:12 UTC) ist der noch am selben Tag veröffentlichte Velocity-Hotfix: Korrektur der 401-Neuladeschleife im Dashboard beim Loopback-Modus; Docker erfordert nun ausdrücklich
HERMES_DASHBOARD_INSECURE=1; reine MCP-Befehle (npx,npm,node) werden in Docker-Containern aufgelöst; Quellkennzeichnungen und Kategorie-Seitenleiste der Skills-Seite wiederhergestellt; Kanban-Worker reagieren auf SIGTERM; der Skills.sh-Katalog wuchs mithilfe der Sitemap von 858 auf 19.932 Einträge. 28 Commits, 21 zusammengeführte PRs, 9 Mitwirkende. v0.15.2 (29. Mai 2026, 13:37 UTC) ist ein reiner Packaging-Hotfix, derplugin.yaml-Manifeste in Wheel- und sdist-Distributionen bündelt, damit PyPI-Installationen ohne Sideloading des Quellcodes funktionieren. 4 Mitwirkende. ↩ -
Versionshinweise zu Hermes Agent v0.15.0 und die Seite mit den Hermes Agent-Veröffentlichungen. „The Velocity release“, Tag
v2026.5.28. Kennzahlen: 1.302 Commits, 747 zusammengeführte PRs, 321 Mitwirkende aus der Community. Umfang vonrun_agent.pydurch Refactoring um 76 % reduziert (16.083 → 3.821 Zeilen in 14 Modulen). Ergänzt die Multi-Agent-Kanban-Plattform (automatische Zerlegung, Schwarmtopologie, modellspezifische Überschreibungen pro Aufgabe, geplante Aufgaben, Worktree-Verwaltung).session_searchwurde neu gestaltet und ist nun 4.500-mal schneller; die LLM-Abhängigkeit wurde entfernt. Promptware-Abwehr gegen Prompt-Injections der Brainworm-Klasse an drei sicherheitskritischen Kontrollpunkten. Die Integration von Bitwarden Secrets Manager ersetzt mehrere API-Schlüssel einzelner Provider durch ein einziges Bootstrap-Token. Mit Skill-Bundles lassen sich mehrere Skills über einen einzigen Slash-Befehl laden. TUI-Sitzungsorchestrator zur Verwaltung mehrerer Sitzungen in einem Terminalfenster. Unterstützung für Krea 2 (Medium/Large) und das FAL-Plugin zur Bildgenerierung. Eine weitere xAI-Integrationsrunde ergänzt ein Websuch-Plugin und OAuth-Upstream-Unterstützung sowie die Erkennung eingestellter Modelle und natürliche TTS-Pausen bei der Sprachausgabe. Eine auf GitHub erwähnte Patch-Version behebt die 401-Neuladeschleife im Dashboard, setzt für Docker--insecureausdrücklich die UmgebungsvariableHERMES_DASHBOARD_INSECURE=1voraus, ermöglicht die Auflösung reiner MCP-Befehle (npx,npm,node) in Docker, korrigiert die Darstellung der Skills-Seite und die SIGTERM-Verarbeitung der Kanban-Worker, stellt über die Sitemap den vollständigen Skills-Katalog mit 19.932 Einträgen bereit und enthält eine kleine Gruppe weiterer Korrekturen für die Bereitstellung von.md-Dateien, die Sicherheit von gateway-Prüfungen, die Schwärzung von Web-URLs, die Bildverarbeitungsfähigkeit von Kanban-Workern und die Standardeinstellungen für Hindsight-Beobachtungen. ↩↩↩↩ -
Versionshinweise zu Hermes Agent v0.11.0. 23. April 2026. „The Interface release“ — vollständige Neuentwicklung der interaktiven CLI mit React/Ink und einem Python JSON-RPC-Backend (
tui_gateway); erweiterbare Transportarchitektur (agent/transports/); native AWS-Bedrock-Unterstützung über die Converse-API; fünf neue Inferenzpfade (NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway); GPT-5.5 über Codex OAuth; QQBot als 17. Messaging-Plattform mit Einrichtung per QR-Code-Scan; erweiterte Plugin-Oberfläche (Slash-Befehle, Tool-Dispatch, Ausführungsblockierung, Ergebnistransformation);/steer <prompt>für Hinweise an den Agent während eines laufenden Durchgangs, die nach dem nächsten Tool-Aufruf Kontext einschleusen, ohne den Prompt-Cache zu beeinträchtigen; Shell-Hooks für Lebenszyklusereignisse ohne Python-Plugins; Webhook-Modus zur Direktzustellung, der Nutzdaten unmittelbar an einen Plattform-Chat weiterleitet; intelligentere Delegation mit Orchestrator-Rollen, konfigurierbarer Spawn-Tiefe und Dateikoordination; Dashboard-Plugin-System, Live-Theme-Wechsel, i18n und mobile Responsivität. Kennzahlen seit v0.9.0: 1.556 Commits · 761 zusammengeführte PRs · 1.314 geänderte Dateien · 224.174 Einfügungen · 29 Mitwirkende aus der Community. Siehe auch: GitHub-Release-Tag von Hermes Agent v0.11.0. ↩↩↩ -
Versionshinweise zu Hermes Agent v0.10.0. 16. April 2026. „Das Tool-Gateway-Release.“ Integration des Nous Tool Gateway für zahlende Abonnenten von Nous Portal — verwalteter Zugriff auf die Websuche von Firecrawl, die Bildgenerierung mit FAL / FLUX 2 Pro, OpenAI TTS und die Browserautomatisierung mit Browser Use, ohne zusätzliche API-Schlüssel. Individuelle Aktivierung pro Tool über das neue Konfigurationsfeld
use_gateway. Sind beide Optionen konfiguriert, bevorzugt die Laufzeitumgebung das gateway gegenüber direkten API-Schlüsseln. Vollständige Integration inhermes toolsundhermes status. Ersetzt die veraltete UmgebungsvariableHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implementiert von @jquesnelle (emozilla). Der CLI von Hermes Agent bleibt MIT-lizenziert und vollständig quelloffen; das gateway ist eine Integration in das bestehende Portal-Abonnement und keine Bezahlschranke für den CLI. Siehe auch: Nous Portal für Abonnementpreise und Registrierung. ↩↩↩