Hermes Agent Lab

Hermes Agent Blog — Praxisleitfäden und Einblicke

Neueste Artikel und Einblicke.

Wenn Hermes auf einen Menschen wartet, kann dein Plugin das jetzt wissen

Ein neues Hook-Paar on_human_input_request / on_human_input_resolved deckt sudo-Prompts, clarify-Fragen und Freigaben gefährlicher Befehle ab, sodass ein Notifier nicht mehr einen Hook pro Prompt-Typ braucht.

Weiterlesen

Das Gateway heilt jede Plattform außer einer — hier ist warum

Drei Zuverlässigkeits-Fixes am Gateway: Eine Plattform, deren Plugin nicht geladen werden konnte, versucht den Import jetzt erneut, während eines Disconnects gehaltene Telegram-Nachrichten werden nach dem Neuaufbau des Adapters zugestellt, und laufende /v1-Runs werden beim Gateway-Stop zu Ende geführt statt nach 0s abgewürgt.

Weiterlesen

Agenten schreiben Code schneller, als ihn jemand reviewen kann. Hier ist die Ratsche, die verhindert, dass die Codebasis verrottet

Hermes hat eine Ratsche eingeführt: Jede Funktion und jede Datei darf nur gleich bleiben oder besser werden, neuer Code muss das Ziel erfüllen, und ein lokaler Befehl führt genau das aus, was CI ausführt. Inklusive der CC-, Zeilen- und Verschachtelungs-Schwellenwerte, der Notausstiegsluke und einer 318-PR-Wiederholung.

Weiterlesen

Dein Profil-Export hat deine Cloud-Zugangsdaten mitgeschickt

Ein tar.gz aus hermes profile export soll einem Teammitglied erlauben, dein Setup nachzubauen — doch er enthielt auch die Credential-Speicher .docker, .azure, .config/gh und .config/gcloud. Zwei PRs haben die Lücke geschlossen.

Weiterlesen

Home Assistant hat den Kern verlassen: Was mit deinem Setup passiert

Die Home-Assistant-Gateway-Plattform und ihre Tools sind aus dem Hermes-Kern in ein offizielles Katalog-Plugin gewandert — mit einer automatischen Migration, die es pro Profil installiert, während Config-Keys, Umgebungsvariablen und Tool-Namen unverändert bleiben.

Weiterlesen

Hermes glaubt dem dmarc=pass des Absenders nicht mehr

Ein Authentication-Results-Header ist Text, den der Absender selbst schreiben kann. Hermes verlangt jetzt einen authserv-id-Pin und verwirft Mail, bis einer gesetzt ist — eine bewusste Verhaltensänderung mit einer Ein-Zeilen-Korrektur.

Weiterlesen

Memory hat ein Budget: Warum sie irgendwann aufhört, sich zu erinnern

Hermes' Langzeitgedächtnis hat ein Zeichenlimit, und wenn es voll ist, werden Schreibvorgänge stillschweigend übersprungen. Das Plugin hermes-dreaming fügt einen deterministischen nächtlichen Durchlauf hinzu, der festhält, was zählt, und ausmustert, was nicht zählt.

Weiterlesen

Plugins von Drittanbietern verlassen den Hauptprozess: Ein Blick in plugins.isolation: host

Ein installiertes Plugin teilte sich früher einen einzigen Python-Prozess mit jeder Session, jedem Secret und jedem im Speicher gehaltenen Schlüssel. Das neue plugins.isolation: host gibt jedem Profile seinen eigenen Plugin-Host-Prozess – ohne Änderungen am Plugin-Code und mit einer kurzen, dokumentierten Liste dessen, was nicht mit umziehen kann.

Weiterlesen

Dein Agent schrieb um 2 Uhr nachts in deine echte crontab: HOME und cron sandboxen

Eine Sandbox, die HERMES_HOME isoliert, lässt den Agenten trotzdem in das echte Home-Verzeichnis, die echte crontab und den echten systemd-User-Bus schreiben. Drei Geister-Cronjobs, die ein einziger Eval-Lauf hinterlassen hat, zeigen, welche Ausgänge eine Isolationsgeschichte abdecken muss.

Weiterlesen

Hermes in Codex ausführen: eine MCP-Erweiterung aus der Community

Code in Codex bearbeiten, während Hermes die Automatisierungen fährt, heißt normalerweise zwei Fenster und ein verlorener Gedanke. Diese MCP-Erweiterung aus der Community bettet Hermes-Chats, Profile, den Modellwechsel und den Scheduler direkt in Codex ein – die Credentials bleiben im lokalen Bridge-Prozess.

Weiterlesen

Warum dein /save-Export Turns verschluckte — und das Limit dahinter

Dieselbe Session ließ sich über die CLI vollständig exportieren und blieb in der Desktop-App zu kurz, sodass Turns verloren gingen, die die In-Place-Kompaktierung archiviert hatte; außerdem konnte eine sehr große Session den Speicher erschöpfen. Der Fix vereint alle drei Oberflächen auf einem einzigen Codepfad und wendet das eigene Export-Limit jedes Profils an.

Weiterlesen

Warum Third-Party-Embeds in der Desktop-App sandboxed sein müssen

Wie Hermes X-, Instagram- und YouTube-Embeds in der Desktop-App isoliert, ein bereits öffentlich bekanntes Sicherheitsproblem samt Fix und der aktuelle Versionsstatus.

Weiterlesen

Drei Tools in einem tool_call sind kein Fehler mehr: Hermes teilt den Batch auf

Wenn ein Modell drei MCP-Tools in einen einzigen tool_call packte, wies die Regel, dass lokale Tools einzeln aufgerufen werden, alles zurück und verbrannte einen ganzen Roundtrip. Jetzt teilt der Agent den Batch in einzelne Aufrufe auf, bevor der Turn gespeichert wird.

Weiterlesen

Nach 11 Stunden zurückgerollt: Warum Hermes Approval-Abfragen eine Frist behalten

Die Änderung, die Approval-Abfragen für immer auf dich warten ließ, wurde noch in derselben Nacht zurückgerollt, in der sie gemergt wurde – nicht aus Unentschlossenheit, sondern weil sie eine Session blockierte, in der niemand antworten kann. Hier sind die Zeitleiste und das, was jetzt tatsächlich gilt.

Weiterlesen

Ein Commit, drei stille Fehlschläge: Backup löschte die falsche Datei, JSON falsch geschrieben, Anführungszeichen plattgemacht

Ein negatives Keep löscht dein neuestes Backup, ein Write schmuggelt NaN ein, und replace_all macht typografische Anführungszeichen zu ASCII platt – drei Bugs, die alle Erfolg zurückmeldeten, während sie das Falsche taten. PR #130619 behebt alle drei.

Weiterlesen

Der Genehmigungs-Dialog, der früher beim Kaffeholen verschwand, wartet jetzt auf dich

Sobald approvals.timeout zuschlug, verfiel der Dialog und lehnte die Command still ab — du warst nur in einem Meeting. PR #130167 hält die Dialoge in CLI, TUI und Desktop offen, bis du antwortest oder den Turn abbrichst; Messaging-Plattformen behalten ihre 300-Sekunden-Frist.

Weiterlesen