v0.7.0

Hermes Agent v0.7.0 — Das Resilience-Release


Überblick

v0.7.0 — The Resilience Release. Veröffentlicht am 3. April 2026. 168 gemergte PRs · 46 gelöste Issues · hunderte geänderte Dateien.

Bei v0.7.0 dreht sich alles um eines — Resilienz. Keine auffälligen neuen Features. Nur systematische Antworten auf die Fragen, mit denen jeder echte Agent-Einsatz konfrontiert ist: Was passiert, wenn dein API-Key das Quota erreicht? Wenn der Browser erkannt wird? Wenn das Memory-Backend nicht flexibel genug ist? Wenn das Gateway unter gleichzeitigen Anfragen abstürzt? Wenn Secrets über LLM-Ausgaben durchsickern?

Die Antwort ist in jedem Fall: Hermes handhabt es jetzt.


Hauptfunktionen

1. Austauschbare Memory-Provider-Schnittstelle

Das Memory-System wurde von einer einzigen eingebauten Implementierung in eine erweiterbare Plugin-Architektur umgebaut. Drittanbieter-Memory-Backends — Honcho, Vektordatenbanken, benutzerdefinierte Speicher — implementieren ein einfaches ABC-Interface und registrieren sich über das Plugin-System. Built-in Memory ist der Standard-Provider; Honcho wurde als Referenz-Plugin mit vollständiger Feature-Parität wiederhergestellt, inklusive profilbezogener Host/Peer-Auflösung.

Wähle das richtige Memory-Backend für die jeweilige Aufgabe: Built-in für Entwicklung und Tests, Honcho für persistente Produktionsspeicherung, oder binde deine eigene Vektordatenbank für semantisches Memory an.

(#4623, #4616, #4355)

2. Same-Provider Credential-Pools — Schluss mit Rate Limits

Konfiguriere mehrere API-Keys für denselben Provider. Das System verteilt die Last automatisch mit einer least_used-Thread-sicheren Strategie auf die Keys. Wenn ein Key einen 401-Fehler zurückgibt, rotiert das System zum nächsten Credential im Pool — kein manuelles Eingreifen erforderlich.

# config.yaml
credential_pool:
  openai:
    - sk-key-1
    - sk-key-2
    - sk-key-3

Aktiviere dies über den Setup-Assistenten oder durch direktes Bearbeiten von credential_pool in der Config. Für Power-User eliminiert dies praktisch Workflow-Unterbrechungen durch Quota-Erschöpfung einzelner Keys.

(#4188, #4300, #4361)

3. Camofox Anti-Detection-Browser-Backend

Ein brandneues lokales Browser-Backend auf Basis von Camoufox (Camouflage + Firefox) für Stealth-Browsing. Für Webautomatisierungsszenarien, die Anti-Bot-Erkennung umgehen müssen — Scraping, Formularausfüllung, automatisierte Tests — ist Camofox für Zielseiten deutlich schwerer zu erkennen als herkömmliches Headless-Chromium.

Wichtige Fähigkeiten:

  • Persistente Sessions: Browser-Status bleibt über Aufrufe hinweg erhalten
  • VNC-URL-Erkennung: stellt automatisch eine VNC-Verbindung für visuelles Debugging bereit
  • Lokales Backend SSRF-Bypass: konfigurierbarer Zugriff auf interne Adressen
  • Ein-Klick-Installation: hermes tools install camofox
# Camofox installieren
hermes tools install camofox

# Camofox als Browser-Backend konfigurieren
hermes config set browser.backend camofox

(#4008, #4419, #4292)

4. Inline-Diff-Vorschauen

Datei-Schreib- und Patch-Operationen zeigen jetzt Inline-Diffs direkt im Tool-Aktivitätsfeed an. Bevor der Agent zu seinem nächsten Schritt übergeht, siehst du genau, was sich geändert hat — hervorgehobene Hinzufügungen und Löschungen, Zeile für Zeile.

Das ist schneller als manuelles git diff oder Zurückrollen zum Vergleich. Alles wird in Echtzeit in deinem Terminal gerendert.

(#4411, #4423)

5. API-Server Session-Kontinuität & Tool-Streaming

Der API-Server (verwendet von Open WebUI und anderen Frontend-Integrationen) erhält zwei wichtige Upgrades:

  • Echtzeit-Streaming des Tool-Fortschritts: Zwischenereignisse der Tool-Ausführung werden per SSE an Clients gestreamt
  • X-Hermes-Session-Id-Header: behalte dieselbe Session über mehrere HTTP-Requests hinweg bei, mit Session-Daten, die in der gemeinsamen SessionDB persistiert werden

Die Web-UI-Experience erreicht nun annähernd CLI-Parität — du kannst in Echtzeit sehen, welche Tools der Agent aufruft und wo er sich im Ausführungsablauf befindet.

(#4092, #4478, #4802)

6. ACP: Vom Client bereitgestellte MCP-Server

Editor-Integrationen (VS Code, Zed, JetBrains) über ACP (Agent Communication Protocol) können jetzt ihre MCP-Server direkt als Agent-Tools registrieren. Das MCP-Ökosystem deines Editors — Code-Analyse, LSP-Fähigkeiten, Projekt-Indizierung — fließt nahtlos in Hermes’ Tool-Aufrufe ein.

(#4705)

7. Gateway-Härtung & Blockierung von Secret-Exfiltration

Das Gateway (Messaging-Plattform-Hub) erhielt einen umfassenden Stabilitätsdurchlauf, gepaart mit systemischer Sicherheitshärtung.

Gateway-Stabilitätsfixes:

  • Race-Condition-Fixes für Foto-Medienverlust, Flood-Control und blockierte Sessions
  • Approval-Routing-Fix: /approve und /deny werden jetzt korrekt geroutet, wenn der Agent auf Genehmigung wartet

Blockierung von Secret-Exfiltration:

  • Browser-URLs und LLM-Antworten werden automatisch auf Secret-Muster gescannt (API-Keys, Tokens, Passwörter)
  • Blockiert Exfiltration über URL-Encoding, Base64-Encoding oder Prompt-Injection-Vektoren
  • execute_code-Sandbox-Ausgabe wird automatisch bereinigt
  • Schutz von Credential-Verzeichnissen erweitert auf .docker, .azure, .config/gh

(#4727, #4750, #4483, #4360, #4305)


Core-Agent & Architektur

Provider- & Modell-Support

  • Same-Provider Credential-Pools — automatische Multi-Key-least_used-Rotation + 401-Failover
  • Credential-Pool bleibt bei Smart-Routing erhalten — Pool-Status übersteht Fallback-Provider-Wechsel, verzögert vorzeitigen Fallback bei 429
  • Wiederherstellung des primären Runtimes pro Turn — nach einem Fallback wird der primäre Provider beim nächsten Turn automatisch wiederhergestellt, mit Transport-Recovery
  • GPT-5 / Codex developer-Rolle — verwendet OpenAIs empfohlene System-Nachrichtenrolle für neuere Modelle
  • Operative Anleitung für Google-Modelle — Gemini und Gemma erhalten providerspezifische Prompting-Anleitung
  • Anthropic Long-Context 429-Behandlung — reduziert Context automatisch auf 200K bei Tier-Limit-Überschreitungen
  • Neue Modelle: Claude-sonnet-4.6 (OpenRouter / Nous-Modelllisten), Qwen 3.6 Plus Preview, MiniMax M2.7
  • Automatische Fireworks-Context-Length-Erkennung
  • DashScope International-Endpoint-Fix — Alibaba-Provider nicht mehr auf falsche Adresse fest codiert
  • Benutzerdefinierte Provider context_length bei Komprimierung berücksichtigt
  • Non-sk-ant Keys werden als reguläre API-Keys behandelt, nicht als OAuth-Tokens
  • Modelle automatisch per Server-Probe erkennen bei benutzerdefiniertem Endpoint-Setup
  • Config.yaml als Single Source of Truth für Endpoint-URLs — keine Konflikte mehr zwischen Env-Variablen und config.yaml
  • Setup-Assistent überschreibt nicht mehr benutzerdefinierte Endpoint-Konfiguration
  • Vereinheitlichte Provider-Auswahl im Setup-Assistenten mit hermes model — einheitlicher Codepfad

Agent-Loop & Konversation

  • Anthropic-Thinking-Block-Signaturen über Tool-Use-Turns hinweg erhalten
  • Think-Only-leere Antworten klassifizieren vor Wiederholung — verhindert Endlos-Wiederholungsschleifen bei Modellen, die Thinking-Blocks ohne Inhalt produzieren
  • Komprimierungs-Todesspirale durch API-Verbindungsabbrüche verhindern — die Schleife, in der Komprimierung ausgelöst wird, fehlschlägt und erneut komprimiert, wird jetzt erkannt und gestoppt
  • Mid-Run-Komprimierung in Gateway-Session persistiert
  • Context-Exceeded-Fehlermeldungen enthalten jetzt handlungsrelevante Hinweise
  • Verwaiste </think>-Tags aus benutzerseitigen Antworten entfernen
  • Codex-Antwort-Preflight-Härtung und Stream-Fehlerbehandlung
  • Deterministische call_id-Fallbacks — keine zufälligen UUIDs mehr, wodurch die Prompt-Cache-Konsistenz erhalten bleibt
  • Context-Pressure-Warnungs-Spam nach Komprimierung verhindert
  • AsyncOpenAI lazy erstellt — vermeidet Closed-Event-Loop-Fehler im Trajectory-Compressor

Memory & Sessions

  • Honcho vollständige Integrationsparität als Referenz-Memory-Provider-Plugin wiederhergestellt (von @erosika)
  • Honcho profilbezogene Host- und Peer-Auflösung
  • Memory-Flush-Status persistiert — verhindert redundante Neu-Flushes bei Gateway-Neustart
  • Memory-Provider-Tools über sequenziellen Ausführungspfad geroutet
  • Honcho-Konfiguration in instanzlokalen Pfad geschrieben für Profil-Isolation
  • API-Server-Sessions in gemeinsamer SessionDB persistiert
  • Token-Nutzung für Nicht-CLI-Sessions persistiert
  • Begriffe mit Punkten in FTS5-Abfragen quoten — behebt Session-Suche nach Begriffen mit Punkten (z. B. Versionsnummern)

Messaging-Plattformen (Gateway)

Gateway Core

  • Race-Condition-Fixes — Foto-Medienverlust, Flood-Control, blockierte Sessions, STT-Konfigurationsprobleme in einem Härtungsdurchlauf behoben
  • Approval-Routing-Fix/approve und /deny werden korrekt geroutet, wenn der Agent blockiert wartet, anstatt als Interrupts verschluckt zu werden
  • Agent nach /approve fortsetzen — Tool-Ergebnis geht nicht mehr verloren, wenn blockierte Befehle ausgeführt werden
  • DM-Thread-Sessions mit Parent-Transkript gespeist, um Context zu erhalten
  • Skill-bewusste Slash-Commands — Gateway registriert installierte Skills dynamisch als Slash-Commands mit paginierter /commands-Liste
  • Pro-Plattform deaktivierte Skills in Telegram-Menü und Gateway-Dispatch berücksichtigt
  • Benutzerseitige Komprimierungswarnungen entfernt — saubererer Nachrichtenfluss
  • Gateway-Service -v/-q-Flags an stderr-Logging angebunden
  • HERMES_HOME im systemd-Service-Unit auf Zielbenutzer umgemappt
  • Standardwert für ungültige bool-artige Konfigurationswerte respektiert
  • /update verwendet setsid statt systemd-run — vermeidet systemd-Berechtigungsprobleme
  • „Initializing agent…“ bei erster Nachricht für bessere UX angezeigt
  • Gateway-Service als Root ausführen erlaubt — LXC/Container-Umgebungs-Support

Telegram

  • 32-Zeichen-Limit für Command-Namen + Kollisionsvermeidung
  • Prioritätsreihenfolge im Menü erzwungen — Core > Plugins > Skills
  • Auf 50 Commands begrenzt — Telegram-API lehnt über ~60 ab
  • Leere/Whitespace-Texte überspringen um 400-Fehler zu vermeiden
  • E2E-Gateway-Tests (von @pefontana)

Discord

  • Button-basierte Approval-UI/approve und /deny als native Slash-Commands mit interaktiven Buttons registrieren
  • Konfigurierbare Reaktionendiscord.reactions-Option zur Steuerung von Nachrichtenverarbeitungsreaktionen
  • Reaktionen und Auto-Threading für nicht autorisierte Benutzer überspringen

Slack

  • Im Thread antwortenslack.reply_in_thread-Konfigurationsoption, die eine jahrelange Community-Anfrage erfüllt

WhatsApp

  • require_mention in Gruppenchats durchsetzen — nur bei expliziter Erwähnung antworten

Webhook

  • Plattform-Support-Fixes — Home-Channel-Prompt überspringen, Tool-Fortschritt für Webhook-Adapter deaktivieren

Matrix

  • E2EE-Entschlüsselungs-Härtung — fehlende Schlüssel anfordern, Geräte automatisch vertrauen, gepufferte Ereignisse wiederholen

CLI & User Experience

Neue Slash-Befehle

Befehl Beschreibung
/yolo Genehmigungen für gefährliche Befehle umschalten — alle Bestätigungen für die Session überspringen
/btw Kurze Neben-Frage (By The Way) — beeinflusst nicht den Hauptkonversationskontext
/profile Aktive Profil-Info anzeigen, ohne die Chat-Session zu verlassen
# YOLO-Modus: alle Genehmigungsaufforderungen überspringen
/yolo

# Eine unabhängige Frage stellen, ohne den Kontext zu verschmutzen
/btw welchen Algorithmus verwendet diese Funktion?

# Schnelle Profilprüfung
/profile

Interaktive CLI

  • Inline-Diff-Vorschauen für Schreib- und Patch-Operationen im Tool-Aktivitätsfeed
  • TUI am unteren Rand fixiert beim Start — keine großen Leerräume mehr zwischen Antwort und Eingabe
  • /history und /resume zeigen aktuelle Sessions direkt an, anstatt eine Suche zu erfordern
  • /insights zeigt Cache-Tokens — Summen addieren sich jetzt korrekt
  • --max-turns CLI-Flag für hermes chat zur Begrenzung der Agent-Iterationen
  • Gezogene Dateipfade erkennen — nicht mehr als Slash-Commands behandelt (von @rolme)
  • config set unterstützt leere Strings und falsy-Werte
  • Voice-Modus in WSL wenn PulseAudio-Bridge konfiguriert ist
  • NO_COLOR und TERM=dumb respektieren für Barrierefreiheit (von @SHL0MS)
  • Korrekter Exit-Code im Quiet-Modus — erfolgreiche -q-Abfragen geben 0 statt nonzero zurück (von @devorun)
  • on_session_end-Hook wird ausgelöst bei unterbrochenen Beendigungen
  • Profil-Liste liest model.default-Key korrekt

Setup & Konfiguration

  • allowed_users während des Setups erhalten + leise Warnungen für nicht konfigurierte Provider (von @kshitijk4poor)
  • API-Key in Modellkonfiguration speichern für benutzerdefinierte Endpoints
  • Claude Code-Credentials hinter expliziter Hermes-Konfiguration im Wizard-Trigger abgeschirmt
  • Atomare Schreibvorgänge in save_config_value — verhindert Konfigurationsverlust bei Unterbrechung
  • Scopes-Feld bei Token-Refresh in Claude Code-Credentials geschrieben

Update-System

  • Fork-Erkennung und Upstream-Sync in hermes update — unterstützt geforkte Repos
  • Funktionierende optionale Extras erhalten wenn ein Extra während des Updates fehlschlägt
  • Konfliktbehafteten Git-Index behandeln — zuverlässigerer Update-Prozess
  • Launchd-Neustart-Race auf macOS vermeiden
  • Korrekte Shell-Reload-Anweisung für macOS/zsh-Benutzer
  • subprocess.run()-Timeouts zu Doctor- und Status-Commands hinzugefügt

Tool-System

Browser

  • Camofox Anti-Detection-Browser-Backend — Ein-Klick-Installation via hermes tools install camofox
  • Persistente Camofox-Sessions + automatische VNC-URL-Erkennung
  • SSRF-Prüfung für lokale Backends überspringen — Camofox, Headless-Chromium
  • Konfigurierbare SSRF-Prüfungbrowser.allow_private_urls-Option (von @nils010485)
  • CAMOFOX_PORT=9377 zu Docker-Commands hinzugefügt

Dateioperationen

  • Inline-Diff-Vorschauen bei Schreib- und Patch-Aktionen — Hinzufügungen und Löschungen mit Hervorhebungen anzeigen
  • Veraltete-Datei-Erkennung — warnt, wenn eine Datei seit dem letzten Lesen extern geändert wurde, bevor sie überschrieben wird
  • Veraltungs-Zeitstempel nach Schreibvorgängen aktualisiert
  • read_file Größenbeschränkung, Deduplizierung und Device-Blockierung

MCP

  • Stabilitäts-Fix-Paket — Reload-Timeout, Shutdown-Cleanup, Event-Loop-Handler, OAuth nicht-blockierender Startup

Skills-System

  • Größenlimits für Agent-Schreibvorgänge + Fuzzy-Matching für Skill-Patch — verhindert übergroße Schreibvorgänge, verbessert Edit-Zuverlässigkeit
  • Hub-Bundle-Pfade vor Installation validieren — blockiert Path-Traversal in Skill-Bundles
  • hermes-agent und hermes-agent-setup in einem einzigen Skill vereinheitlicht
  • Skill-Metadaten-Typprüfung in extract_skill_conditions

Neue & aktualisierte Skills

  • research-paper-writing — vollständige End-to-End-Research-Pipeline, ersetzt ml-paper-writing (von @SHL0MS)
  • ascii-video — Textlesbarkeitstechniken und externes Layout-Orakel (von @SHL0MS)
  • youtube-transcript aktualisiert für youtube-transcript-api v1.x (von @el-analista)
  • Skills-Durchsuchen-und-Suchen-Seite zur Dokumentationswebsite hinzugefügt (von @IAvecilla)

Sicherheit & Zuverlässigkeit

Sicherheitshärtung

  • Secret-Exfiltration blockieren über Browser-URLs und LLM-Antworten — scannt nach Secret-Mustern in URL-Encoding, Base64 und Prompt-Injection-Vektoren
  • Secrets aus execute_code-Sandbox-Ausgabe entfernen — sensible Informationen automatisch ersetzt
  • .docker-, .azure-, .config/gh-Credential-Verzeichnisse schützen vor Lese-/Schreibzugriff durch Datei-Tools und Terminal (von @memosr)
  • GitHub-OAuth-Token-Muster zur Redaction + Snapshot-Redact-Flag hinzugefügt
  • Private und Loopback-IPs im Telegram-DoH-Fallback ablehnen
  • Path-Traversal bei Credential-Datei-Registrierung ablehnen
  • Tar-Archiv-Mitgliedspfade beim Profil-Import validieren — blockiert Zip-Slip-Angriffe
  • auth.json und .env von Profil-Exporten ausschließen

Zuverlässigkeit

  • Komprimierungs-Todesspirale verhindern — API-Verbindungsabbruch-Schleife erkannt und gestoppt, anstatt endlos zu schleifen
  • OpenAI SDK is_closed als Methode nicht als Property — behebt False-Positive-Client-Closure-Erkennung
  • Matrix aus [all]-Extras ausschließen — python-olm ist upstream defekt, verhindert Installationsfehler
  • OpenCode-Modell-Routing repariert
  • Docker-Container-Image optimiert (von @bcross)

Windows & Plattformübergreifend

  • Voice-Modus in WSL mit PulseAudio-Bridge
  • Homebrew-Paketierung vorbereitet
  • CI-Fork-Bedingungen — verhindert Workflow-Fehler auf Forks

Wichtige Bugfixes

  • Gateway-Approval blockierte Agent-Thread — Approval blockiert jetzt wie in der CLI, wodurch Tool-Ergebnisverlust verhindert wird
  • Komprimierungs-Todesspirale durch API-Verbindungsabbrüche — erkannt und gestoppt, anstatt endlos zu schleifen
  • Anthropic-Thinking-Blocks über Tool-Use-Turns hinweg verloren — Signaturen werden jetzt korrekt erhalten
  • Profil-Modellkonfiguration mit -p-Flag ignoriertmodel.model korrekt zu model.default befördert
  • CLI-Leerraum zwischen Antwort- und Eingabebereich — TUI am unteren Rand fixiert
  • Gezogene Dateipfade als Slash-Commands statt als Dateireferenzen behandelt — jetzt korrekt erkannt
  • Verwaiste </think>-Tags die in benutzerseitige Antworten durchsickern — jetzt entfernt
  • OpenAI SDK is_closed ist eine Methode, keine Property — False-Positive-Client-Closure behoben
  • MCP-OAuth-Server blockiert Hermes-Startup — degradiert jetzt stattdessen gracefully
  • MCP-Event-Loop bei Shutdown geschlossen — HTTP-Server-Szenario behoben
  • Alibaba-Provider auf falschen Endpoint fest codiert — auf Standard-DashScope-International-Endpoint umgestellt
  • Slack reply_in_thread-Konfiguration fehlte — vollständiger Support hinzugefügt
  • Quiet-Modus-Exit-Code nonzero-q erfolgreiche Abfragen geben jetzt korrekt 0 zurück
  • Mobile Sidebar zeigt nur Schließen-Button aufgrund von Backdrop-Filter-Problem auf Docs-Site (von @xsmyile)
  • Config-Restore durch Stale-Branch-Squash-Merge zurückgesetzt — _config_version behoben

Testing

  • Telegram-Gateway-E2E-Tests — vollständige Integrationstest-Suite (von @pefontana)
  • 11 echte Testfehler behoben + sys.modules Cascade-Poisoner gelöst
  • 7 CI-Fehler behoben in Hooks, Plugins und Skill-Tests
  • Codex-401-Refresh-Tests für CI-Kompatibilität aktualisiert
  • Veralteter OPENAI_BASE_URL-Test behoben

Dokumentation

  • Umfassendes Dokumentations-Audit — 9 HIGH- und 20+ MEDIUM-Lücken in 21 Dateien behoben
  • Site-Navigation umstrukturiert — Features und Platforms auf Top-Level befördert
  • Tool-Fortschritts-Streaming für API-Server und Open WebUI dokumentiert
  • Telegram-Webhook-Modus dokumentiert
  • Local-LLM-Provider-Guides — umfassende Setup-Guides mit Context-Length-Warnungen
  • WhatsApp-Allowlist-Verhalten mit WHATSAPP_ALLOW_ALL_USERS-Dokumentation klargestellt
  • Slack-Konfigurationsoptionen — neuer Konfigurationsabschnitt in Slack-Dokumentation
  • Terminal-Backends-Abschnitt erweitert + Docs-Build-Fixes
  • Adding-Providers-Guide für vereinheitlichten Setup-Flow aktualisiert
  • ACP-Zed-Konfiguration behoben
  • Community-FAQ-Einträge für häufige Workflows und Troubleshooting
  • Skills-Durchsuchen-und-Suchen-Seite live auf Docs-Site

Upgrade

hermes update

Für neue Installationen besuche den Installations-Guide.


Vollständiger Changelog auf GitHub

← Hermes Agent Changelog