Hermes Agent auf einem VPS selbst hosten
Hermes Agent von Nous Research auf dem eigenen VPS betreiben. Benutzer anlegen, mit einem Befehl installieren, LLM-Anbieter wählen, Telegram anbinden und als Dienst laufen lassen.
Hermes Agent ist eines dieser Projekte, die sich schnell entwickeln. Seit dem Launch im Februar 2026 hat Nous Research acht Releases in sechs Wochen veröffentlicht -- mit Profilen, Credential-Rotation, einem MCP-Server-Modus und Unterstützung für über 400 Modelle über ihr eigenes Portal. v0.8.0 erschien am 8. April mit automatischen Benachrichtigungen für Hintergrundaufgaben, Live-Modellwechsel zwischen Gateways und nativer Google AI Studio-Unterstützung.
Auf dem Laptop funktioniert es für schnelle Experimente. Aber ein Agent, der schläft, wenn Sie den Deckel schließen, den Sie nur von Ihrer Tastatur aus erreichen und der seinen Workspace beim Neustart vergisst, ist auf Dauer nicht brauchbar. Ein VPS löst alle drei Probleme: Der Agent läuft rund um die Uhr, Sie erreichen ihn per Telegram vom Handy, und sein Gedächtnis und seine Skills bleiben zwischen Sitzungen erhalten.
Das Setup ist unkompliziert. VM hochfahren, Nicht-Root-Benutzer anlegen, Hermes installieren, Modell und Gateway wählen und das Ganze in einen systemd-Dienst einwickeln. Das ist die gesamte Prozedur.
KI-Agenten auf einem VPS selbst hosten
Warum jetzt selbst hosten? Die Lektion aus der Anbieterabhängigkeit
Am 4. April 2026 hat Anthropic Drittanbieter-KI-Agenten den Zugang zu Claude Pro- und Max-Abonnements gekappt. Bis zu diesem Tag erlaubten Tools wie OpenClaw, agentenbasierte Workloads auf einer monatlichen Flatrate laufen zu lassen. Über Nacht erhielten diese Nutzer einen 400-Fehler und einen Migrationshinweis. Die verbliebenen Optionen: Umstieg auf tokenbasierte API-Abrechnung (potenziell das 10-Fache der Kosten für Vielnutzer), Enterprise-Nutzungspakete kaufen oder auf Anthropics eigene Claude Code Channels wechseln, einen Erstanbieter-Konkurrenten von OpenClaw, der im selben Monat startete.
Das Muster ist eindeutig. Bauen Sie Ihren Workflow auf der Plattform eines einzigen Anbieters auf, und eine Richtlinienänderung kann alles lahmlegen. Selbst gehostete Agenten wie Hermes umgehen diese Falle vollständig. Hermes ist anbieterunabhängig: Es unterstützt über 15 Inferenz-Backends direkt, von OpenRouter über Nous Portal bis hin zu einem lokalen Ollama-Server. Wenn ein Anbieter seine Bedingungen oder Preise ändert, tauschen Sie ihn mit einem Befehl aus und arbeiten weiter. Ihre Erinnerungen, Skills und Sitzungen bleiben auf Ihrem Server, unabhängig davon, welches LLM dahinter steht.
Was ist Hermes Agent und warum selbst hosten?
Hermes Agent ist ein Open-Source-KI-Agent (MIT-Lizenz) von Nous Research. Er verbindet sich mit LLM-Anbietern, führt Terminalbefehle aus, surft im Web und merkt sich, was er zwischen Sitzungen gelernt hat. Er erstellt wiederverwendbare Skills aus erledigten Aufgaben und unterstützt Messaging-Gateways für Telegram, Discord, Slack, WhatsApp, Signal, Matrix und weitere.
Selbst hosten bedeutet: Ihre Prompts und Daten bleiben auf Ihrem Server. Keine Drittanbieter-Plattform sieht Ihre Gespräche. Der Agent läuft durchgehend, baut über die Zeit Kontext auf und kostet nur VPS-Hosting plus die LLM-API-Aufrufe, die Sie tätigen.
Was braucht Hermes Agent auf einem VPS?
Hermes Agent benötigt einen Linux-Server mit mindestens 2 GB RAM und 10 GB freiem Speicherplatz. Die einzige Voraussetzung ist Git. Der Installer kümmert sich automatisch um Python 3.11+, Node.js v22, ripgrep und ffmpeg.
| Anforderung | Minimum | Empfohlen |
|---|---|---|
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 24.04 |
| RAM | 2 GB | 4 GB+ |
| Festplatte | 10 GB frei | 20 GB+ |
| CPU | 1 vCPU | 2+ vCPU |
| Voraussetzungen | Git | Git |
| Netzwerk | Ausgehend HTTPS | Ausgehend HTTPS |
Der Agent selbst ist schlank. Wenn Sie mehrere gleichzeitige Sitzungen über das Messaging-Gateway planen, sollten Sie 4 GB oder mehr einplanen.
Voraussetzungen
Bevor Sie Hermes Agent installieren, richten Sie einen Nicht-Root-Benutzer und eine einfache Firewall ein. Falls Ihr VPS bereits abgesichert ist, springen Sie zum Installationsabschnitt.
Dedizierten Benutzer anlegen
Verbinden Sie sich per SSH als root mit Ihrem Server und legen Sie einen Benutzer für Hermes an:
adduser hermes --disabled-password --gecos ""
usermod -aG sudo hermes
Geben Sie diesem Benutzer passwortloses sudo (nötig für die Dienstverwaltung):
echo "hermes ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/hermes
chmod 440 /etc/sudoers.d/hermes
Kopieren Sie Ihren SSH-Schlüssel, damit Sie sich als dieser Benutzer anmelden können:
mkdir -p /home/hermes/.ssh
cp ~/.ssh/authorized_keys /home/hermes/.ssh/
chown -R hermes:hermes /home/hermes/.ssh
chmod 700 /home/hermes/.ssh
chmod 600 /home/hermes/.ssh/authorized_keys
Ab jetzt arbeiten Sie als Benutzer hermes:
su - hermes
Firewall konfigurieren
Installieren Sie UFW und erlauben Sie nur SSH:
sudo apt-get install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw --force enable
Prüfen Sie die aktiven Regeln:
sudo ufw status verbose
Die Ausgabe sollte SSH als erlaubt und allen anderen eingehenden Verkehr als blockiert anzeigen. Das Hermes-Gateway stellt ausgehende Verbindungen zur Telegram-API her, sodass keine eingehenden Ports für Messaging geöffnet werden müssen.
Wie installiere ich Hermes Agent auf Ubuntu?
Ein Befehl. Führen Sie ihn als Benutzer hermes aus, nicht als root.
Ein-Klick-Installation
Virtua.Cloud pflegt ein schlüsselfertiges Installationsskript, das Hermes Agent mit systemd-Persistenz in einem Durchgang einrichtet:
curl -fsSL https://virtua.sh/i/hermes-ssh | bash
Das Skript erledigt alles, was in den folgenden Abschnitten beschrieben wird: Installation von Hermes und Erstellung des systemd-Dienstes. Danach springen Sie direkt zur Konfiguration des LLM-Anbieters.
Manuelle Installation
Wenn Sie Schritt für Schritt installieren möchten, laden Sie den Upstream-Installer herunter und prüfen Sie ihn vor der Ausführung:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh -o /tmp/hermes-install.sh
less /tmp/hermes-install.sh
Das Skript installiert Python 3.11+ über uv, Node.js v22, ripgrep, ffmpeg und das hermes-CLI. Wenn Sie zufrieden sind:
bash /tmp/hermes-install.sh
Laden Sie Ihre Shell neu, damit der neue hermes-Befehl verfügbar ist:
source ~/.bashrc
Prüfen Sie die installierte Version:
hermes --version
Erwartete Ausgabe:
Hermes Agent v0.8.0 (2026.4.8)
Project: /home/hermes/.hermes/hermes-agent
Python: 3.11.15
...
Führen Sie das Diagnosetool aus, um fehlende Abhängigkeiten zu finden:
hermes doctor
Achten Sie auf grüne Häkchen. Warnungen zu nicht konfigurierten API-Schlüsseln sind in diesem Stadium normal. Rote Einträge zu Python oder Git müssen behoben werden, bevor Sie fortfahren.
Wie konfiguriere ich den LLM-Anbieter?
Hermes Agent enthält kein eigenes Modell. Sie verbinden ihn mit einer Anbieter-API und zahlen pro Token. Der schnellste Weg zur Auswahl ist der eingebaute Selektor:
hermes model
Das zeigt ein interaktives Menü mit über 15 Anbietern. Einen auswählen, API-Schlüssel einfügen, fertig. Wenn Sie manuell konfigurieren möchten, lesen Sie weiter.
Option 1: OpenRouter (empfohlen für den Einstieg)
Erstellen Sie ein Konto bei openrouter.ai und generieren Sie einen API-Schlüssel.
Der Installer hat ~/.hermes/.env mit einem vollständigen Template angelegt. Sichern Sie zuerst die Berechtigungen:
chmod 600 ~/.hermes/.env
Öffnen Sie die Datei und setzen Sie Ihren API-Schlüssel in der Zeile OPENROUTER_API_KEY=:
nano ~/.hermes/.env
Finden Sie die Zeile OPENROUTER_API_KEY= und fügen Sie Ihren Schlüssel nach dem = ein. Speichern und beenden Sie (Ctrl+X, dann Y, dann Enter).
Setzen Sie das Standardmodell:
hermes config set model.provider openrouter
hermes config set model.default anthropic/claude-sonnet-4
Prüfen Sie, dass die Datei nicht von anderen Benutzern gelesen werden kann:
ls -la ~/.hermes/.env
Die Berechtigungen sollten -rw------- (600) anzeigen. Nur der Benutzer hermes kann diese Datei lesen.
Option 2: Nous Portal
Nous Research betreibt ein eigenes Inferenz-Portal mit über 400 Modellen. Wenn Sie im Nous-Ökosystem bleiben möchten:
hermes config set model.provider nous
Der Befehl hermes model führt Sie durch die Authentifizierung.
Option 3: Benutzerdefinierter OpenAI-kompatibler Endpunkt
Wenn Sie einen eigenen Inferenzserver betreiben (Ollama, vLLM, llama.cpp) oder einen anderen Anbieter nutzen:
echo 'OPENAI_BASE_URL=http://localhost:11434/v1' >> ~/.hermes/.env
echo 'OPENAI_API_KEY=ollama' >> ~/.hermes/.env
echo 'LLM_MODEL=llama3.1:70b' >> ~/.hermes/.env
LLM-Anbieter im Vergleich
| Anbieter | Umgebungsvariable | Preismodell | Hinweise |
|---|---|---|---|
| OpenRouter | OPENROUTER_API_KEY |
Pro Token, variiert nach Modell (Preise) | 200+ Modelle, ein Schlüssel |
| Nous Portal | über hermes model |
Pro Token (Preise) | 400+ Modelle, native Integration |
| Anthropic | ANTHROPIC_API_KEY |
Pro Token (Preise) | Direkter Claude-Zugang |
| Google AI Studio | GOOGLE_API_KEY |
Pro Token (Preise) | Gemini-Modelle, nativ seit v0.8.0 |
| Hugging Face | HF_TOKEN |
Pro Token (Preise) | Volle Modellauswahl |
| Ollama (lokal) | OPENAI_BASE_URL + OPENAI_API_KEY |
Kostenlos (selbst gehostet) | Braucht GPU-VPS für gute Geschwindigkeit |
| vLLM | OPENAI_BASE_URL + OPENAI_API_KEY |
Kostenlos (selbst gehostet) | GPU erforderlich |
Provider-Failover ist seit v0.6.0 eingebaut. Sie können eine Anbieter-Kette festlegen, sodass der Agent bei einem Ausfall automatisch auf den nächsten umschaltet.
Testen Sie, ob die LLM-Verbindung funktioniert:
hermes -m "What is 2+2? Reply with just the number."
Wenn Sie eine Antwort erhalten, ist der Anbieter korrekt konfiguriert. Bei einem Authentifizierungsfehler prüfen Sie Ihren API-Schlüssel in ~/.hermes/.env.
Wie konfiguriere ich den Genehmigungsmodus?
Hermes Agent hat ein eingebautes Genehmigungssystem, das vor dem Ausführen potenziell gefährlicher Befehle nachfragt. Auf einem Server sollten Sie es aktiviert lassen:
hermes config set approval_mode ask
Die drei Modi:
- ask: Fragt Sie vor jedem Befehl, der Dateien ändert, Pakete installiert oder auf das Netzwerk zugreift. Verwenden Sie diesen Modus. Seit v0.8.0 zeigen Telegram und Slack native Genehmigungsschaltflächen an, statt eine getippte Antwort zu verlangen.
- smart: Ein KI-Modell bewertet das Risiko und fragt nur bei tatsächlich gefährlichen Befehlen nach. Schneller, aber abhängig von der Einschätzung der KI.
- off: Keine Prüfungen. Jeder Befehl wird sofort ausgeführt. Verwenden Sie das nicht auf einem Server.
Wie verbinde ich Hermes Agent mit Telegram?
Das Messaging-Gateway erlaubt es Ihnen, vom Handy aus mit Hermes zu chatten. Telegram ist das gängigste Setup. Das Gateway stellt ausgehende Verbindungen zur Telegram-API her, sodass keine eingehenden Ports geöffnet werden müssen.
Schritt 1: Telegram-Bot erstellen
Öffnen Sie Telegram und schreiben Sie @BotFather. Senden Sie diese Befehle:
/newbot- Geben Sie einen Namen für Ihren Bot ein (z.B. "My Hermes Agent")
- Geben Sie einen Benutzernamen ein (muss auf
botenden, z.B.myhermes_agent_bot)
BotFather antwortet mit einem Bot-Token. Es sieht aus wie 7123456789:AAHx.... Kopieren Sie es.
Schritt 2: Telegram-Benutzer-ID herausfinden
Schreiben Sie @userinfobot auf Telegram. Er antwortet mit Ihrer numerischen Benutzer-ID. Kopieren Sie diese Nummer.
Schritt 3: Gateway konfigurieren
Fügen Sie das Bot-Token und Ihre Benutzer-ID in die Umgebungsdatei ein:
echo 'TELEGRAM_BOT_TOKEN=7123456789:AAHxYourTokenHere' >> ~/.hermes/.env
echo 'TELEGRAM_ALLOWED_USERS=your_numeric_user_id' >> ~/.hermes/.env
Die Variable TELEGRAM_ALLOWED_USERS ist eine Sicherheitskontrolle. Nur die hier aufgelisteten Benutzer-IDs können mit Ihrem Bot interagieren. Ohne diese Einschränkung kann jeder, der Ihren Bot findet, ihm Befehle senden. Mehrere IDs werden durch Kommas getrennt.
Schritt 4: Gateway testen
Starten Sie das Gateway im Vordergrund:
hermes gateway
Senden Sie eine Nachricht an Ihren Bot in Telegram. Ihre Nachricht erscheint im Terminal und eine Antwort kommt zurück. Drücken Sie Ctrl+C zum Beenden, sobald Sie bestätigt haben, dass es funktioniert.
Falls der Bot nicht antwortet, prüfen Sie:
- Das Bot-Token ist korrekt in
~/.hermes/.envgesetzt - Ihre Benutzer-ID steht in
TELEGRAM_ALLOWED_USERS - Der VPS kann
api.telegram.orgauf Port 443 erreichen (ausgehendes HTTPS)
Weitere unterstützte Plattformen sind Discord, Slack, WhatsApp, Signal, Matrix, Feishu/Lark und WeCom. Führen Sie hermes gateway setup für einen interaktiven Assistenten aus, der jede davon konfiguriert.
Wie betreibe ich Hermes Agent als systemd-Dienst?
hermes gateway in einer Terminalsitzung auszuführen bedeutet, dass es stoppt, wenn Sie die Verbindung trennen. Ein systemd-Benutzerdienst hält das Gateway nach dem Abmelden am Laufen und startet es automatisch neu, wenn es abstürzt oder der Server neustartet.
Dienst installieren
Hermes bietet einen eingebauten Befehl:
hermes gateway install
Das erstellt eine Dienstdatei unter ~/.config/systemd/user/hermes-gateway.service und aktiviert automatisch Lingering. Lingering hält Benutzerdienste am Laufen, nachdem Sie sich per SSH abgemeldet haben.
Starten Sie den Dienst und aktivieren Sie ihn für den Systemstart:
systemctl --user enable --now hermes-gateway
Prüfen Sie den Dienststatus:
systemctl --user status hermes-gateway
Achten Sie auf Active: active (running) in der Ausgabe. Falls failed angezeigt wird, prüfen Sie die Logs.
Logs prüfen
Gateway-Logs live anzeigen:
journalctl --user -u hermes-gateway -f
Drücken Sie Ctrl+C zum Beenden. Die Gateway-Logs zeigen jede eingehende Nachricht, jeden LLM-Aufruf und jede Tool-Ausführung.
Arbeitsverzeichnis festlegen
Standardmäßig nutzt das Gateway das Home-Verzeichnis als Arbeitsbereich. Legen Sie ein dediziertes Projektverzeichnis fest:
echo 'MESSAGING_CWD=/home/hermes/projects' >> ~/.hermes/.env
mkdir -p /home/hermes/projects
Starten Sie den Dienst neu, um die Änderung zu übernehmen:
systemctl --user restart hermes-gateway
Wie sichere ich Hermes-Agent-Daten?
Hermes speichert seinen gesamten Zustand in ~/.hermes/. Dieses Verzeichnis enthält Erinnerungen, erlernte Skills, Sitzungsverlauf, Konfiguration und Cron-Jobs. Ein Verlust bedeutet, dass der Agent alles vergisst.
Wichtige Pfade:
| Pfad | Inhalt |
|---|---|
~/.hermes/config.yaml |
Konfiguration |
~/.hermes/.env |
API-Schlüssel und Secrets |
~/.hermes/memories/ |
Persistente Agent-Erinnerungen |
~/.hermes/skills/ |
Vom Agent erstellte wiederverwendbare Skills |
~/.hermes/sessions/ |
Gateway-Sitzungsverlauf |
~/.hermes/cron/ |
Geplante Jobs |
~/.hermes/SOUL.md |
Agent-Identität/Persona |
Erstellen Sie ein Backup-Skript:
cat > /home/hermes/backup-hermes.sh << 'SCRIPT'
#!/bin/bash
BACKUP_DIR="/home/hermes/backups"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
mkdir -p "$BACKUP_DIR"
tar czf "$BACKUP_DIR/hermes-$TIMESTAMP.tar.gz" \
--exclude='*.log' \
-C /home/hermes .hermes/
# Keep only the last 7 backups
ls -t "$BACKUP_DIR"/hermes-*.tar.gz | tail -n +8 | xargs -r rm
echo "Backup saved: $BACKUP_DIR/hermes-$TIMESTAMP.tar.gz"
SCRIPT
chmod 700 /home/hermes/backup-hermes.sh
Führen Sie es täglich per Cron-Job aus:
(crontab -l 2>/dev/null; echo "0 3 * * * /home/hermes/backup-hermes.sh") | crontab -
Prüfen Sie den Cron-Eintrag:
crontab -l
Der Backup-Job läuft täglich um 03:00 Uhr und behält 7 Tage an Backups. Für Off-Server-Backups synchronisieren Sie das Backup-Verzeichnis per rsync auf einen anderen Rechner oder Objektspeicher.
Wie aktualisiere ich Hermes Agent?
Hermes Agent hat einen eingebauten Update-Befehl. Sichern Sie zuerst, dann aktualisieren:
/home/hermes/backup-hermes.sh
hermes update
Prüfen Sie die neue Version:
hermes --version
Prüfen Sie, ob nach dem Update Konfigurationsänderungen nötig sind:
hermes config migrate
hermes doctor
config migrate fügt neue Konfigurationsoptionen mit ihren Standardwerten hinzu. hermes doctor prüft, ob alles noch funktioniert.
Starten Sie den Gateway-Dienst neu, um die neue Version auszuführen:
systemctl --user restart hermes-gateway
systemctl --user status hermes-gateway
Falls nach einem Update etwas nicht funktioniert, stellen Sie das Backup wieder her:
systemctl --user stop hermes-gateway
tar xzf /home/hermes/backups/hermes-YYYYMMDD-HHMMSS.tar.gz -C /home/hermes/
systemctl --user start hermes-gateway
Sicherheitshärtung: Checkliste
Ein auf einem VPS gehosteter KI-Agent, der Terminalbefehle ausführt, erfordert Aufmerksamkeit in Bezug auf Sicherheit. Hier eine Zusammenfassung dessen, was diese Anleitung bereits konfiguriert hat, und einige zusätzliche Schritte.
Bereits in dieser Anleitung konfiguriert:
- Nicht-Root-Benutzer (
hermes) mit dediziertem Home-Verzeichnis - UFW-Firewall, die allen eingehenden Verkehr außer SSH blockiert
- API-Schlüssel in
~/.hermes/.envmit600-Berechtigungen TELEGRAM_ALLOWED_USERSbeschränkt den Bot-Zugriff auf Ihre Benutzer-IDapproval_mode: askerfordert Bestätigung für gefährliche Befehle
Zusätzliche Härtung:
Prüfen Sie die erlernten Skills des Agents regelmäßig:
ls -la ~/.hermes/skills/
Skills sind Skripte, die der Agent schreibt und wiederverwendet. Prüfen Sie sie wie jeden anderen Code, der auf Ihrem Server läuft.
Überwachen Sie die Gateway-Logs auf unerwartete Benutzer oder ungewöhnliche Aktivitäten:
journalctl --user -u hermes-gateway --since "1 hour ago" --no-pager
Seit v0.7.0 blockiert Hermes Versuche, Secrets über Browser-URLs und LLM-Antworten zu exfiltrieren. v0.8.0 ergänzte MCP OAuth 2.1 mit PKCE, SSRF-Schutz und automatisches Malware-Scanning für Erweiterungen. Halten Sie Ihre Installation aktuell, um von diesen Schutzmaßnahmen zu profitieren.
Fehlerbehebung
Das Gateway startet nicht:
journalctl --user -u hermes-gateway -n 50 --no-pager
Häufige Ursachen: ungültiges Bot-Token, fehlender API-Schlüssel oder Netzwerkprobleme.
Telegram-Bot antwortet nicht:
Prüfen Sie Bot-Token und erlaubte Benutzer:
grep TELEGRAM ~/.hermes/.env
Testen Sie die ausgehende Konnektivität:
curl -s https://api.telegram.org/bot<YOUR_TOKEN>/getMe
Eine gültige Antwort mit den Informationen Ihres Bots bestätigt, dass Token und Netzwerk funktionieren.
hermes-Befehl nach Installation nicht gefunden:
source ~/.bashrc
Falls immer noch nicht vorhanden, prüfen Sie, ob ~/.local/bin in Ihrem PATH ist:
echo $PATH | tr ':' '\n' | grep local
Hoher Speicherverbrauch:
Prüfen Sie, was Ressourcen verbraucht:
top -bn1 | head -20
Falls der Agent langlebige Prozesse startet, reduzieren Sie die Last oder rüsten Sie Ihren VPS auf.
Was kostet es?
Hermes Agent auf einem VPS zu betreiben kostet den Server plus LLM-API-Nutzung. Die zwei Kostenkomponenten sind:
- VPS-Hosting: Ein VPS mit 2+ vCPU und 4 GB RAM. Aktuelle Preise finden Sie bei den Virtua.Cloud VPS-Angeboten.
- LLM-API-Aufrufe: Alle unterstützten Anbieter berechnen pro Token. Ihre monatlichen Kosten hängen vom gewählten Modell und der Nutzungshäufigkeit ab. Aktuelle Tarife finden Sie auf der Preisseite Ihres Anbieters.
Die eigentliche Ersparnis ist nicht nur finanziell. Sie besitzen die Daten Ihres Agenten, wählen jeden beliebigen Anbieter und keine Richtlinienänderung kann Sie über Nacht abschalten.
Claude Code auf einem VPS betreiben
Copyright 2026 Virtua.Cloud. Alle Rechte vorbehalten. Dieser Inhalt ist ein Originalwerk des Virtua.Cloud-Teams. Vervielfältigung, Wiederveröffentlichung oder Weiterverbreitung ohne schriftliche Genehmigung ist untersagt.
Bereit, es selbst auszuprobieren?
KI-Agenten auf Ihrem eigenen VPS ausfuhren. →