🤖HermesBlog
Hermes Official Tutorials · Teil 48/9/2026

Tutorial 4: Hermes aktualisieren & deinstallieren

Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs

Hermes tutorial

Tutorial 4: Hermes aktualisieren & deinstallieren

Willkommen zurück zu unserer Hermes-Agent-Tutorial-Serie! In diesem Teil sprechen wir über etwas, das jeder Benutzer irgendwann wissen muss: wie man Hermes aktuell hält und wie man sich verabschiedet, wenn die Zeit gekommen ist. Keine Sorge – es ist viel einfacher, als es klingt.

Hermes aktualisieren: Ein einziger Befehl

Der einfachste Weg, Hermes zu aktualisieren, ist ein einziger Befehl:

hermes update

Das war’s. Dieser Befehl übernimmt die ganze Arbeit für dich. Er zieht den neuesten Code vom main-Branch, aktualisiert deine Abhängigkeiten und fragt dich sogar nach neuen Konfigurationsoptionen, die seit deinem letzten Update hinzugekommen sind. Ziemlich praktisch, oder?

Was passiert eigentlich während eines Updates?

Du fragst dich vielleicht, was hinter den Kulissen passiert. Hier ist die Aufschlüsselung:

  1. Pre-Update-Snapshot – Bevor sich etwas ändert, speichert Hermes einen leichtgewichtigen Snapshot deiner wichtigen Zustandsdateien (Pairing-Daten, Cron-Jobs, config.yaml, .env und mehr). Dateien über 1 GiB werden übersprungen, damit eine große Datenbank nichts verlangsamt. Dieser Snapshot wird für jedes Profil deiner Installation erstellt, jeweils gespeichert in einem eigenen state-snapshots/-Verzeichnis.

  2. Git-Pull – Hermes zieht den neuesten Code vom main-Branch und aktualisiert Submodule.

  3. Syntax-Validierung nach dem Pull + automatisches Rollback – Nach dem Pull prüft Hermes die neun kritischen Dateien, die jeder Befehl beim Start benötigt. Wenn eine davon nicht geparst werden kann (wie ein versehentlicher Merge-Konflikt-Marker), rollt Hermes automatisch auf die vorherige Version zurück, damit deine Shell bootfähig bleibt. Du kannst hermes update einfach erneut ausführen, sobald der Fix upstream verfügbar ist.

  4. Abhängigkeiten installieren – Führt uv pip install -e ".[all]" aus, um neue oder geänderte Abhängigkeiten zu holen.

  5. Config-Migration – Erkennt neue Konfigurationsoptionen und fordert dich auf, sie festzulegen.

  6. Gateway-Autoneustart – Laufende Gateways werden aktualisiert, damit der neue Code sofort wirksam wird. Service-verwaltete Gateways (systemd unter Linux, launchd unter macOS) starten über den Service-Manager neu, während manuelle Gateways automatisch neu gestartet werden.

Config-Prompt übersprungen? Kein Problem!

Wenn du den Config-Prompt während eines Updates übersprungen hast, kannst du später nachholen:

hermes config check    # sehen, was fehlt
hermes config migrate  # interaktiv hinzufügen

Von einem anderen Branch aktualisieren

Standardmäßig verfolgt hermes update origin/main. Aber was, wenn du einen Release-Kandidaten oder einen Feature-Branch testen willst? Verwende das --branch-Flag:

hermes update --branch release-candidate
hermes update --check --branch experimental   # nur Vorschau, wie weit du zurückliegst

Wenn dein lokaler Checkout auf einem anderen Branch liegt, stasht Hermes automatisch nicht committete Arbeiten, wechselt zum Ziel-Branch und zieht die Änderungen. Branches, die lokal nicht existieren, werden automatisch von origin/<name> verfolgt. Wenn ein Branch nirgendwo existiert, schlägt der Befehl sauber fehl und stellt deine gestashten Änderungen wieder her.

Was ist mit geparkten Branches?

Wenn dein Checkout auf einem Feature-Branch liegt, geht hermes update intelligent damit um:

  • Vollständig gemergter Branch – Hermes teilt dir mit, dass er vollständig gemergt ist, und wechselt zurück zu main.
  • Unmergte Commits, sauberer Baum – Hermes wechselt trotzdem zu main, damit das Update fortgesetzt werden kann (wichtig für nicht-interaktive Aufrufer wie die Desktop-App oder Cron-Jobs). Deine Commits bleiben unberührt, und Hermes gibt eine deutliche Meldung mit dem Branch-Namen und dem Weg zurück aus.

Wenn du absichtlich eigene Patches auf einem Branch pflegst, setze dies in config.yaml:

updates:
  parked_branch_strategy: update_in_place

Dies merged origin/main in deinen Branch, anstatt wegzuwechseln. Fast-Forward, wenn möglich; bei Divergenz erstellt es einen Sicherheits-Tag und stoppt sauber bei Konflikten.

Lokale Änderungen während nicht-interaktiver Updates

Wenn du hermes update in einem Terminal ausführst, stasht Hermes nicht committete Änderungen, zieht die Updates und fragt dann, ob sie wiederhergestellt werden sollen. Wenn das Update jedoch ohne Terminal läuft (wie von der Desktop-App), überspringt Hermes das Update, wenn der Baum unsauber ist – mit einer deutlichen Warnung, die den Branch und den Rückstand nennt. Kein Vortäuschen eines erfolgreichen Updates!

Hermes deinstallieren

Wenn es Zeit ist, getrennte Wege zu gehen, ist die Deinstallation unkompliziert. Stelle sicher, dass du die Dokumentation deiner jeweiligen Plattform für die genauen Entfernungsschritte prüfst, aber im Allgemeinen solltest du die Hermes-Binärdatei entfernen und alle Konfigurationsverzeichnisse bereinigen, die sie erstellt hat.

Zusammenfassung

Hermes aktuell zu halten ist mit hermes update ein Kinderspiel. Die eingebauten Sicherheitsnetze – Snapshots, automatisches Rollback und Branch-Handling – bedeuten, dass du mit Vertrauen aktualisieren kannst. Und wenn du dich jemals verabschieden musst, ist die Deinstallation genauso einfach.

Bleib dran für das nächste Tutorial unserer Serie!

📖 Offizielle Dokumentation

この記事は Hermes Agent のOffizielle Dokumentationに基づいています:Offizielle Dokumentation › getting-started/updating