Hermes Agent auf einem VPS selbst hosten

12 Min. Lesezeit·Matthieu·hermes-agentai-agentself-hostingdockertelegramsystemd|

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:

  1. /newbot
  2. Geben Sie einen Namen für Ihren Bot ein (z.B. "My Hermes Agent")
  3. Geben Sie einen Benutzernamen ein (muss auf bot enden, 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/.env gesetzt
  • Ihre Benutzer-ID steht in TELEGRAM_ALLOWED_USERS
  • Der VPS kann api.telegram.org auf 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/.env mit 600-Berechtigungen
  • TELEGRAM_ALLOWED_USERS beschränkt den Bot-Zugriff auf Ihre Benutzer-ID
  • approval_mode: ask erfordert 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.