Hermes Agent Lab

Hermes Agent Blog — Praxisleitfäden und Einblicke

Neueste Artikel und Einblicke.

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

Bei einem Nous-Account angemeldet — warum wird die kostenlose Schnellsuche trotzdem verweigert?

Drei lokale Gates blockierten die Anfrage, bevor sie überhaupt gesendet wurde: die bezahlte Berechtigung, ein lebendiger Tool-Pool und eine Autodetect-Leiter, die nur Firecrawl erkannte. PR #130660 zieht eine identitätsgebundene kostenlose Suchroute heraus — jedes registrierte Konto qualifiziert sich, anonyme Gäste behalten den keyless Ring, und ein fehlgeschlagener Account-Lookup schlägt fail-closed fehl.

Weiterlesen

Dein Codex-Kontingent ist seit Tagen wieder offen – Hermes hängt trotzdem am Fallback

Eine langlebige Sitzung, die an ihr Fallback gepinnt ist, ruft nie die Prüfung auf, die ein frühes Wiederöffnen des Kontingents bemerkt – sie bleibt dort bis zum Neustart. PR #130716 verdrahtet diese Prüfung in den Wiederherstellungspfad – und drosselt sie, damit eine Prüfung, die lügt, die Sitzung nicht in jedem Turn hin und her kippen lässt.

Weiterlesen

Bevor du einen PR für den Plugin-Katalog öffnest, schau dir an, was sein Gate wirklich prüft

Das Zulassungs-Gate des Katalogs tut zwei Dinge, ist aber pingeliger, als du erwartest: ein umbenannter Eintrag, ein Subdir, das aus dem gepinnten Clone ausbricht, und ein sha, der ein Tag-Objekt benennt, werden alle zurückgewiesen. PR #130712 schließt diese Umgehungen – und behebt eine überstrenge Regel, die ein Drittel aller Katalog-PRs hätte scheitern lassen.

Weiterlesen