Hermes Agent Lab

Hermes Agent Blog — Praxisleitfäden und Einblicke

Neueste Artikel und Einblicke.

Einmal anmelden, und die verbundenen Apps kommen mit: der Handoff aus dem Free-Tier läuft sauber

Sie haben Gmail und Notion im Free-Tier verbunden und dann ein Konto angelegt — und alle Verbindungen blieben auf der alten Identität zurück, sodass Sie sie einzeln neu verbinden mussten. Die PRs #143234, #143235 und #143248 schließen diese Lücke: jede Nous-Anmeldung ist jetzt ein einfacher Device-Login, das Free-Tier übergibt seine verbundenen Apps an das Konto, das es ersetzt, und die Connectors-Seite erzeugt keine Identität mehr, nur weil man sie öffnet.

Weiterlesen

Die halbe Windows-Aktualisierung: hermes.exe ist weg, der Versionsstempel bleibt zurück

Unter Windows kann `hermes update` mit einer einzigen ⚠-Zeile enden, die man einfach wegscrollt — und nur die Hälfte der Aktualisierung ist wirklich angekommen. Die laufende `hermes.exe` lässt sich mitten im Update nicht löschen, also degradiert die Installation auf `hermes.cmd`, der Stamp wird übersprungen, und `install-stamp.json` nennt weiterhin die alte Version. PRs #143291 und #143339 reparieren beide Hälften: die laufende exe per Umbenennen in Rente schicken und nach einem Python-Repin wieder eine echte exe prägen.

Weiterlesen

MCP-Tools tragen jetzt ein Preisschild: pro Aufruf Kosten angeben, pro Chat ein Budget deckeln

Drei neue Keys — tool_costs, spend_limit und cost_unit — lassen einen MCP-Server erklären, was jedes Tool kostet. Der Approval-Prompt nennt die Kosten und die Chat-Summe, ein Aufruf, der das Budget sprengen würde, fragt selbst auf einem trust: full-Server nach, und unbeaufsichtigte Kontexte verweigern ihn rundheraus.

Weiterlesen

Ein MCP-Server ruft dich an: der experimentelle Events-Client und seine Webhook-Zustellung

events: true einschalten, und ein MCP-Server kann ein Event in dem Moment pushen, in dem oben etwas passiert — jedes Event startet einen Agent-Run. Hier steht, wie die drei Event-Tools arbeiten, wie ein Abo darunter aussieht und auf welchen fünf Wegen es still verfällt.

Weiterlesen

Hermes bringt einen eigenen Paketmanager mit: was pm doctor, repair und gc wirklich reparieren

hermes pm verwaltet Tool-Binaries und Python-Dependency-Umgebungen — nicht die App selbst, dafür ist hermes update zuständig. Hier steht, was doctor, status, install, repair und gc tun, warum jedes gepinnte Paket drei Tage alt sein muss und wofür das neue pm update --skip-target gut ist.

Weiterlesen

hermes update hat die Gateways pausiert und nie wieder geweckt: das .git, das git selbst ablehnt

Wenn im Checkout ein .git liegt, das git nicht lesen will — ein leerer HEAD oder ein gitdir-Zeiger ins Nichts —, pausiert hermes update die Gateways, druckt ein generisches Failed to fetch und geht. Dieser Fix löst den Pause-Eintrag, benennt den Schaden und liefert den Installer-Befehl, der ihn an Ort und Stelle repariert.

Weiterlesen

v0.22.4 hat sechs Dinge angefasst — und endlich diese Vorschlags-Pillen über dem Composer entfernt

Der Patch v0.22.4 vom 21. Oktober ist reines Aufräumen: Die Vorschlags-Pillen über dem Composer sind weg, Plugins, die nichts installieren, überspringen die Zustimmungsabfrage, WhatsApp lässt sich nach dem Logout neu koppeln, und der Plugin-Katalog bekommt sechs Einträge — darunter bubblewrap, Singularity und mcp-serve. Am selben Tag erschien v0.22.3, ein Rollup aus rund 620 PRs.

Weiterlesen

Eine chinesische Antwort wurde zum Session-Titel: der Längen-Guard zählt nur Leerzeichen

Ein Modell, das die Anweisung ignoriert, nur einen Titel zurückzugeben, soll von einem answer-shaped Guard gefangen werden. Der Guard zählt Wörter mit split(), und ein chinesischer Satz ist ein einziges Wort — eine Antwort mit 76 Zeichen kommt also durch.

Weiterlesen

Fortsetzen einer komprimierten Session sagt alles doppelt: im Inneren des Summary Carriers

Die In-Place-Compaction verpackt den geschützten Tail einer Konversation in einen Summary Carrier, der die ursprüngliche message_uid erbt, aber nicht deren Text. Die Display-Schicht renderte beides, also erschien eine Antwort zweimal.

Weiterlesen

Plugin-Terminal-Backends stecken nicht mehr in /root: default_cwd und supports_streams

Zwei optionale Provider-Attribute lassen eine Plugin-Sandbox ihr eigenes Startverzeichnis wählen und sorgen dafür, dass Bot Desktop, computer_use und der Browser dem Terminal dorthin folgen.

Weiterlesen

Ausgabe, die verschwindet: ab 1024 offenen Dateien liefern Hermes-Terminal-Aufrufe leere Ergebnisse

Lang laufende Desktop- und Gateway-Prozesse geben plötzlich leere Ausgabe mit Exit-Code 0 zurück. Die Ursache ist die 1024er-Obergrenze von select(); der Fix wechselt auf selectors und umgeht eine poll()-Falle unter macOS.

Weiterlesen

Dein Plugin merkt jetzt endlich, wenn eine Session zusammengefasst oder gelöscht wird

Hermes hat zwei Plugin-Hooks bekommen: post_compaction erlaubt Memory-Plugins, Kontext neu einzuspeisen, den eine Zusammenfassung verschluckt hat, und on_session_delete lässt Plugins aufräumen, nachdem eine Session gelöscht oder archiviert wurde. Beide mit lauffähigem Code.

Weiterlesen

Ein Befehl für alle Plugins: hermes plugins update zeigt dir jetzt erst die Liste

hermes plugins update ohne Plugin-Namen lässt Hermes alle installierten Plugins prüfen, benennt die, die es bewegen kann, und warum es die anderen überspringt, fragt einmal nach und aktualisiert dann alle. Mit --yes, Exit-Codes, Cron-Nutzung und den Skip-Regeln.

Weiterlesen

Telegram-DMs stapeln sich in einem Thread? Gib jeder neuen Nachricht ihr eigenes Topic

Der Telegram-Topic-Modus teilt eine DM in getrennte Threads, doch alles, was du im Root-Chat tippst, landet weiterhin im zuletzt benutzten Topic. Mit dm_topic_auto_transfer öffnet jede Root-DM-Nachricht ein frisches Topic und eine frische Session. Komplette Konfiguration, Fallbacks und Stolperfallen.

Weiterlesen

Mehr als die Hälfte dieser state.db waren Kopien von Nachrichten, die du längst gepruned hattest

Ein proaktiver Prune ändert ein paar Nachrichten und schrieb dann das gesamte Live-Transcript neu. Ein Profil sammelte so 48.737 überholte Kopien an — 55 % seiner Rows. Das Commit-Primitive schreibt Zeilen jetzt an Ort und Stelle um.

Weiterlesen

Eine Datei, die dein Agent in Docker hinterlässt, kann auf deinem Laptop als root laufen

nosuid-Mounts und cap-drop binden nur, was im Container läuft. Eine Datei, die auf dem Host landet, behält setuid, setgid und file capabilities. Hermes entfernt diese Bits jetzt auf der Host-Seite — auch bei persistenten Sandboxes.

Weiterlesen