Zurück zum Blog
HermesSelf-HostingTroubleshooting

Hermes Agent auf eine neue Maschine migrieren ohne Verlust

Verschieben Sie Ihren Hermes Agent auf einen neuen Laptop, VPS oder Docker-Host ohne Verlust von Speicher, Skills, Cron-Jobs oder Telegram-Sitzungen.

Von Hermify Team||8 Min. Lesezeit
Ein dunkles Serverrack, das links ausgeht, und rechts ein neues, das aufleuchtet, verbunden durch ein grünes Datenkabel als Symbol für eine Hermes-Agent-Migration

Warum Sie bei einer Hermes-Migration nur einen Versuch haben

Ein laufender Hermes Agent ist weit mehr als die Binärdatei. Es sind Monate an Speichereinträgen, ein personalisiertes SOUL.md, eine kleine Bibliothek eigener Skills, eine Cron-Tabelle mit den Digests, auf die Sie sich verlassen, ein ChromaDB-Vektorindex, den der Agent still im Hintergrund aufgebaut hat, und eine Telegram-Sitzung, die bereits weiß, wer Sie sind. Installieren Sie Hermes auf einer frischen Maschine neu, kommt nichts davon mit. Am Ende steht ein Fremder, der sich Ihren Benutzernamen teilt.

Genau gegen dieses Szenario ist diese Anleitung geschrieben. Ob Ihr Laptop das Ende erreicht, Sie von Docker auf dem Desktop auf einen richtigen VPS wechseln, eine Hetzner-Instanz auf die nächste Klasse heben oder nach einem Plattenausfall auf einer sauberen Maschine wiederherstellen, der Ablauf bleibt derselbe: den gesamten Baum ~/.hermes/ auf der alten Maschine sichern, auf die neue verschieben, hermes import ausführen und verifizieren. In der richtigen Reihenfolge ist das eine Fünfzehn-Minuten-Aufgabe. In der falschen verlieren Sie entweder Daten oder verbringen den Abend damit, Provider, IMAP und Telegram neu zu authentifizieren.

Falls Sie noch zwischen Self-Hosting und einer verwalteten Lösung schwanken, ist Self-Hosting versus verwalteter Hermes Agent die richtige Einstiegslektüre, denn Hermify übernimmt Migrationen für Sie und diese Anleitung wird überflüssig. Wenn Sie selbst betreiben wollen, lesen Sie weiter.

Was hermes backup tatsächlich einpackt

Der Befehl hermes backup erzeugt ein Archiv mit Zeitstempel, das aussieht wie hermes-backup-2026-06-01-101955.zip. Er nimmt den Inhalt von ~/.hermes/ mit, dem Ort, an dem Hermes alles ablegt, was Ihren Agent zu Ihrem macht. In einer eingelaufenen Installation umfasst dieser Baum:

  • Die State-Datenbank (state.db und zugehörige Dateien): die Quelle der Wahrheit für Sitzungen, Tool-Aufruf-Historie und Job-Queues.
  • Den ChromaDB-Vektorspeicher: den semantischen Speicherindex, den der Agent bei jedem Erinnerungswunsch durchsucht. Es ist ein Verzeichnis mit Binärdateien, kein einzelnes JSON, und muss geschlossen umziehen.
  • SOUL.md, AGENTS.md, USER.md, MEMORY.md: Persönlichkeit, Hausregeln, Nutzerprofil und Langzeitgedächtnis in Prosa. Reines Markdown, aber der Agent erwartet sie an genauen Pfaden.
  • Das Verzeichnis skills/: jede Skill, die Sie geschrieben oder installiert haben. Eine Skill ist nur ein Ordner mit einer SKILL.md und ihren Dateien, doch eine fehlende Skill ist eine Fähigkeit, die der Agent stillschweigend verliert.
  • Das Verzeichnis identity/: die Persona-Konfiguration, das Avatar-Bild und die Voreinstellungen für den Sprachmodus.
  • Die Cron-Tabelle: geplante Aufgaben leben innerhalb von ~/.hermes/, nicht im Crontab des Systems. Verlieren Sie sie, hört Ihr Morgen-Digest kommentarlos auf.
  • Geheimnisse und Konfiguration: config.yaml, Provider-API-Schlüssel, das Telegram-Bot-Token, IMAP/SMTP-Zugangsdaten, Webhook-Signierschlüssel und alle verschlüsselten .env-Fragmente, die der Agent konsumiert hat.

Zwei Flags sind wichtig. hermes backup --quick überspringt den vollständigen Datei-Scan und schließt nur Config, Sitzungen, Schlüssel und Auth ein. Es ist schneller und schlanker, nimmt aber weder Speicher noch Skills mit, ist also nur nützlich, wenn Sie die Identität des Agents auf eine Maschine klonen, die ihren Speicher von Grund auf neu aufbaut. Für eine echte Migration führen Sie hermes backup ohne Flags aus und lassen ihm Zeit.

Schritt 1 - Die Quelle einfrieren

Bringen Sie den Agent vor dem Backup zum Schweigen. Wenn Hermes während des Archivierens aktiv in state.db schreibt, landet unter Umständen eine korrupte Datenbank im ZIP.

# Wenn Hermes als systemd-Dienst läuft
sudo systemctl stop hermes

# Oder wenn er über Docker läuft
docker compose stop hermes

# Oder wenn Sie ihn interaktiv gestartet haben, beenden Sie sauber mit Ctrl+C in der Shell, in der er läuft

Sobald nichts mehr die State-Datenbank offen hält, erstellen Sie das Backup:

hermes backup
# schreibt ~/.hermes/backups/hermes-backup-2026-07-18-102301.zip

Notieren Sie den vollständigen Pfad, den er ausgibt. Diese Datei werden Sie verschieben.

Schritt 2 - Das Archiv sicher bewegen

Das Backup enthält Geheimnisse. Behandeln Sie es wie einen SSH-Schlüssel.

  • Laden Sie es nicht auf einen öffentlichen Link, an einen Discord-Anhang oder in eine Slack-DM an sich selbst.
  • Bevorzugen Sie scp oder rsync über SSH oder einen Syncthing-Ordner, dem Sie bereits vertrauen.
  • Muss ein Laptop als Zwischenstation dienen, löschen Sie die lokale Kopie im Moment, in dem die Übertragung fertig ist.

Eine saubere Übertragung von einem alten VPS auf einen neuen sieht so aus:

# Von der neuen Maschine
scp alter-vps:~/.hermes/backups/hermes-backup-2026-07-18-102301.zip ~/

Ziehen Sie von einem persönlichen Laptop auf einen VPS um, drehen Sie es um und schieben Sie von der Quelle. So oder so: legen Sie die Datei im Home-Verzeichnis des Zielnutzers ab, nicht in /tmp und nicht in einen gemeinsamen Pfad.

Schritt 3 - Hermes auf dem Ziel installieren

Installieren Sie Hermes auf der neuen Maschine so, wie Sie es für ein frisches Setup tun würden. Das bedeutet Linux, macOS, WSL2 unter Windows oder Termux auf dem Telefon, die offiziell unterstützten Zielsysteme. Folgen Sie dem Installationspfad, der zu Ihrem langfristigen Betrieb passt, ob Hermes Agent in Docker, eine native Installation unter Linux oder Windows via WSL2.

Starten Sie den Agent noch nicht. Läuft er einmal mit leerem ~/.hermes/ an, schreibt er eine frische state.db und eine Default-Konfiguration, die mit dem Import im nächsten Schritt kollidieren. Installieren Sie die Binärdatei, prüfen Sie mit hermes --version, dass die Major-Version mit der Quellmaschine übereinstimmt, und halten Sie dort an.

Schritt 4 - Importieren und neu indexieren

Mit Archiv am Platz und Binärdatei installiert, aber nicht gestartet:

hermes import ~/hermes-backup-2026-07-18-102301.zip

Der Importer entpackt das Archiv in ~/.hermes/, stellt die State-Datenbank wieder her und legt Skills, Speicher, Cron-Jobs, Identity und Geheimnisse an ihren Platz. Danach bauen Sie den Vektorindex neu, damit die semantische Suche Treffer nach dem aktuellen Modell rankt und nicht nach dem, das die Quellmaschine zuletzt benutzt hat:

hermes memory reindex

Wurde das Backup auf einer deutlich älteren Hermes-Version erstellt, kann die Speicher-Payload ein Legacy-Format nutzen. Extrahieren Sie in dem Fall die Erinnerungen separat als JSON-Export und importieren Sie sie explizit neu:

hermes memory import --legacy ~/memories.json

Das Flag --legacy weist Hermes an, das alte Schema anzunehmen und im Zuge des Imports zu aktualisieren. hermes memory export --output ~/memories.json auf der Quelle ist der Zwillingsbefehl, hilfreich, wenn Sie nur den Speicher migrieren und den Rest aus einer sauberen Installation neu aufbauen möchten.

Schritt 5 - Verifizieren, bevor Sie vertrauen

Zwei Befehle verdienen sich ihren Platz:

hermes doctor   # Konfiguration, Abhängigkeiten, Erreichbarkeit der Provider, Rechte auf der Platte
hermes status   # Gateway-Zustand, Speicherzähler, aktive Integrationen

hermes doctor sollte bei Config, Datenbank, ChromaDB und Provider-Zugangsdaten grün melden. hermes status sollte einen Speicher-Eintragszähler nahe dem der Quelle zeigen, die Telegram-Integration als verbunden und alle langlaufenden geplanten Aufgaben in der Warteschlange. Meldet einer der beiden etwas, beheben Sie es, bevor Sie das Gateway wieder anschalten.

Danach starten Sie den Agent und schicken aus Telegram eine Nachricht, die auf Speicher zurückgreifen muss. „Was hatten wir zum Q3-Launch entschieden?" ist ein guter Test. Antwortet er mit Kontext, ist der Speicher wirklich mitgezogen. Sagt er, er wisse es nicht, versuchen Sie hermes memory search "Q3-Launch" in der CLI: die Erinnerung kann bereits da sein, der Vektorindex aber noch nicht fertig neu aufgebaut.

Fallstricke, vor denen niemand warnt

Auch ein sauberer Import lässt raue Kanten zurück. Gehen Sie diese Liste durch, bevor Sie die Migration für abgeschlossen halten.

  • Verschlüsselte Geheimnisse brauchen ihren Entschlüsselungsschlüssel. Nutzte die Quellmaschine einen verschlüsselten Secret Store (Hermes unterstützt pass, gnome-keyring oder ein Keyfile), enthält das Archiv den Chiffretext, aber nicht den Schlüssel. Übertragen Sie das Keyfile separat oder entsperren Sie den Store auf der neuen Maschine, bevor der Agent zum ersten Mal startet.
  • IMAP- und SMTP-Zugangsdaten können neu authentifiziert werden müssen. App-Passwörter, die an den Geräte-Fingerprint gebunden sind, verweigern manchmal die Anmeldung von einer neuen IP. Google Workspace und Fastmail sind die üblichen Verdächtigen. Erneuern Sie das App-Passwort, wenn die Mail-Integration nach dem Import schweigt.
  • Die Telegram-Sitzung kann abdriften. Das Telegram-Bot-Token ist portabel, doch wenn Sie zusätzlich eine Session im Benutzermodus zum Lesen von Chats verwendet haben, ist die Session-Datei möglicherweise an das alte Gerät gebunden. Löschen Sie ~/.hermes/telegram/session.session und lassen Sie den Agent beim nächsten Start neu authentifizieren.
  • Cron-Jobs starten am nächsten geplanten Tick, nicht sofort. War Ihr daily-digest für 07:00 vorgesehen und Sie beenden die Migration um 07:05, feuert er erst morgen wieder. Führen Sie ihn einmal manuell mit hermes cron run daily-digest aus, um zu bestätigen, dass er läuft.
  • Rotieren Sie alles, was das Archiv berührt hat. Selbst bei sorgfältiger Übertragung hat ein Archiv mit Bot-Tokens und Provider-Schlüsseln auf mehr Maschinen gelegen als nur an den beiden Endpunkten. Erfolgte die Migration wegen einer Kompromittierung, oder ist das Archiv durch gemeinsam genutzten Speicher gewandert, tauschen Sie den OpenAI-/Anthropic-/OpenRouter-Schlüssel und lassen Sie das Bot-Token bei BotFather neu ausstellen.

Wenn Sie das nicht selbst tun wollen

Das ganze Ritual (einfrieren, sichern, übertragen, installieren, importieren, neu indexieren, verifizieren, rotieren) ist das, was ein verwaltetes Hosting im Hintergrund automatisch erledigt. Hermify betreibt einen verwalteten Hermes Agent auf einem VPS, den wir betreuen, erstellt täglich verschlüsselte Backups und bietet eine Wiederherstellung mit einem Klick, wenn ein VPS ersetzt werden muss. Im Alltag der Nutzerinnen und Nutzer gibt es keinen Schritt „Ich ziehe auf eine neue Maschine um", weil die Maschine unser Problem ist, nicht Ihres.

Wenn Sie das für passender halten, als diese Migration alle ein bis zwei Jahre selbst zu fahren, starten Sie mit Hermify: Ihr Agent ist in etwa einer Minute auf Telegram live, Ihr Speicher bleibt bei Ihnen, und der nächste Hardwarewechsel ist für Sie unsichtbar.

Sources

Betreiben Sie Ihren eigenen Hermes Agent

Bringen Sie Ihren API-Schlüssel mit, verbinden Sie Telegram und erhalten Sie in 60 Sekunden einen selbstlernenden KI-Agenten.

Loslegen