Diese Anleitung zeigt, wie Hermes Agent auf einem eigenen Server eingerichtet wird: von der Installation über die Anbindung an Telegram bis zum ersten automatisierten Workflow. Nach Abschluss läuft ein persönlicher KI-Assistent, der per Messenger erreichbar ist, ein persistentes Gedächtnis aufbaut und Aufgaben eigenständig erledigt. Die Einrichtung dauert etwa 30 Minuten.
Was ist Hermes Agent?
Hermes Agent ist ein Open-Source-Framework von Nous Research, das einen autonomen KI-Assistenten auf dem eigenen Server ermöglicht. Der Agent verbindet sich mit Messaging-Plattformen (Telegram, Discord, Slack, WhatsApp, Signal, E-Mail), nutzt ein Sprachmodell als Denkmotor und baut ein persistentes Gedächtnis auf.
Die wichtigsten Eigenschaften:
- Modellagnostisch: Claude, GPT, Gemini, Mistral, DeepSeek oder lokale Modelle via Ollama. Über 200 Modelle über verschiedene Provider.
- Selbstlernend: Erstellt automatisch Skills aus erfolgreichen Aufgaben und verbessert diese bei der Nutzung. Das Skill-System baut auf dem GEPA-Prompt-Optimierer auf (ICLR 2026).
- Sicherheit: Defense-in-Depth-Modell und Secrets-Redaktion in Logs. Das Projekt wird aktiv weiterentwickelt. Regelmäßige Updates sind wichtig.
- Leichtgewichtig: Läuft mit 1 bis 2 GB RAM. Kein Redis, keine externe Datenbank. SQLite mit Volltextsuche für das Gedächtnis.
Wichtig zur Datenhoheit: Bei Nutzung von Cloud-Sprachmodellen (Claude, GPT, Gemini) werden die zu verarbeitenden Texte an den jeweiligen Anbieter gesendet. Der Agent selbst, sein Gedächtnis und die Messaging-Anbindung laufen vollständig auf Ihrem Server. Für vollständige Datenhoheit lässt sich ein lokales Modell einsetzen (siehe Abschnitt am Ende).
Voraussetzungen
Getestet mit: Hermes Agent v2026.5.29 auf Debian 13, Mai 2026.
- Ein Seed in der dataforest Cloud mit mindestens 2 CPU und 4 GB RAM. Hermes Agent selbst benötigt etwa 1 GB RAM. Der Rest steht für das Betriebssystem, Docker und Caddy zur Verfügung.
- SSH-Zugriff auf den Seed
- Eine eigene Domain (z.B. hermes.ihre-firma.de), die per DNS A-Record auf die IP-Adresse des Seeds zeigt. Den A-Record setzen Sie bei Ihrem Domain-Anbieter.
- Ein Telegram-Account (für die Messaging-Anbindung)
- Einen API-Key eines Sprachmodell-Anbieters (Anthropic, OpenAI oder ein anderer). Einen Anthropic-API-Key erstellen Sie unter console.anthropic.com.
Installation und Konfiguration
Die folgenden Schritte führen durch die komplette Einrichtung: Docker, Telegram-Bot, Reverse Proxy, Agent-Konfiguration und erster Start.
Docker installieren
Hermes Agent und der Reverse Proxy laufen jeweils in einem eigenen Docker-Container. Verbinden Sie sich per SSH mit dem Seed und installieren Sie Docker.
Frische Debian-13-Server führen beim ersten Start ein automatisches System-Update durch. Falls der folgende Befehl mit einer Meldung wie "dpkg lock" fehlschlägt, warten Sie ein bis zwei Minuten und versuchen Sie es erneut.
curl -fsSL https://get.docker.com | sh
Projektverzeichnis erstellen
Alle Konfigurationsdateien werden in einem gemeinsamen Verzeichnis abgelegt:
mkdir -p /opt/hermes && cd /opt/hermes
Erstellen Sie das Datenverzeichnis für Hermes Agent. Hier speichert der Agent sein Gedächtnis, Skills, Sessions und Logs:
mkdir -p data
Telegram-Bot erstellen
Bevor der Agent gestartet wird, muss ein Telegram-Bot existieren, über den er kommuniziert.
- Öffnen Sie Telegram und suchen Sie nach @BotFather
- Senden Sie
/newbot - Wählen Sie einen Anzeigenamen (z.B. "Hermes Agent")
- Wählen Sie einen Benutzernamen, der auf
botendet (z.B.mein_hermes_bot) - Kopieren Sie den API-Token, der in der Antwort angezeigt wird
Ermitteln Sie außerdem Ihre Telegram-Benutzer-ID. Senden Sie dazu eine Nachricht an @userinfobot in Telegram. Die Antwort enthält Ihre numerische ID (z.B. 123456789). Diese ID wird benötigt, damit nur Sie mit dem Bot kommunizieren können.
Caddyfile erstellen
Als Reverse Proxy kommt Caddy zum Einsatz. Caddy stellt automatisch ein Let's-Encrypt-Zertifikat aus und leitet Anfragen an das Hermes-Dashboard weiter. Das Dashboard ist eine Web-Oberfläche zur Konfiguration und Überwachung des Agenten.
Da das Dashboard keine eigene Authentifizierung mitbringt, wird der Zugriff über Caddys basic_auth geschützt.
Generieren Sie zunächst einen Passwort-Hash für den Dashboard-Zugang:
docker run --rm caddy:2-alpine caddy hash-password --plaintext 'IHR_SICHERES_PASSWORT'
Ersetzen Sie IHR_SICHERES_PASSWORT durch ein starkes Passwort. Kopieren Sie den ausgegebenen Hash.
Erstellen Sie die Datei Caddyfile:
hermes.ihre-firma.de {
basic_auth {
admin HIER_DEN_HASH_EINFUEGEN
}
reverse_proxy hermes:9119
encode gzip
header {
Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
X-Content-Type-Options nosniff
X-Frame-Options SAMEORIGIN
}
}
Ersetzen Sie hermes.ihre-firma.de durch Ihre Domain, admin durch Ihren gewünschten Benutzernamen und HIER_DEN_HASH_EINFUEGEN durch den generierten Hash.
Docker Compose Datei erstellen
Die docker-compose.yml beschreibt den Hermes-Agent-Container und Caddy:
services:
caddy:
image: caddy:2-alpine
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
- hermes
hermes:
image: nousresearch/hermes-agent:v2026.5.29
container_name: hermes
restart: always
command: gateway run
volumes:
- ./data:/opt/data
env_file:
- .env
environment:
- HERMES_DASHBOARD=1
- HERMES_DASHBOARD_HOST=0.0.0.0
- HERMES_DASHBOARD_PORT=9119
mem_limit: 2g
cpus: 2.0
volumes:
caddy_data:
caddy_config:
Zum Aufbau:
command: gateway runstartet den Agent-Gateway-Prozess, der Messaging-Plattformen anbindet und eingehende Nachrichten verarbeitetHERMES_DASHBOARD=1aktiviert die Web-Oberfläche auf Port 9119- Das Dashboard bindet an
0.0.0.0, ist aber nur über Caddy mit Passwortschutz erreichbar (Port 9119 wird nicht nach außen gemappt) env_file: .envlädt API-Keys und Konfiguration aus einer separaten Datei- Die Daten werden im lokalen Verzeichnis
./datagespeichert, nicht in einem Docker-Volume, damit sie direkt einsehbar und sicherbar sind - Das Image ist auf eine spezifische Version gepinnt, damit die Anleitung reproduzierbar bleibt. Docker-Tags verwenden Kalender-Versionierung (z.B.
v2026.5.29), die zugehörigen GitHub-Releases nutzen semantische Versionierung (z.B.v0.15.2)
Umgebungsvariablen konfigurieren
Erstellen Sie die .env-Datei mit den API-Keys und der Telegram-Konfiguration:
cat > .env << 'EOF'
# Sprachmodell
ANTHROPIC_API_KEY=sk-ant-HIER_IHREN_KEY_EINFUEGEN
# Telegram
TELEGRAM_BOT_TOKEN=HIER_IHREN_BOT_TOKEN_EINFUEGEN
TELEGRAM_ALLOWED_USERS=HIER_IHRE_TELEGRAM_ID
EOF
Ersetzen Sie die Platzhalter durch Ihre echten Werte. Falls Sie statt Anthropic einen anderen Provider nutzen möchten (z.B. OpenAI), ersetzen Sie ANTHROPIC_API_KEY durch OPENAI_API_KEY=sk-....
Persönlichkeit konfigurieren
Die Persönlichkeit des Agenten wird in der Datei SOUL.md definiert. Diese Datei bestimmt, wie der Agent antwortet, welchen Tonfall er verwendet und welche Grenzen er einhält.
Erstellen Sie die Datei data/SOUL.md:
# Identität
Du bist ein persönlicher Assistent. Du hilfst bei der Tagesplanung, E-Mail-Verwaltung und Recherche.
## Kommunikation
- Antworte knapp und präzise
- Verwende eine professionelle, aber freundliche Sprache
- Fasse dich kurz, es sei denn, eine ausführliche Antwort wird verlangt
- Antworte in der Sprache, in der du angesprochen wirst
## Sicherheitsgrenzen
- Sende niemals Geld oder tätige finanzielle Transaktionen
- Lösche keine Dateien ohne explizite Bestätigung
- Teile keine Zugangsdaten, API-Keys oder Passwörter
- Führe keine destruktiven Befehle aus (rm -rf, DROP TABLE etc.)
- Frage bei mehrdeutigen Anweisungen nach, statt zu raten
Diese Regeln sind keine technischen Sperren, sondern Anweisungen an das Sprachmodell. Sie reduzieren das Risiko unbeabsichtigter Aktionen erheblich, bieten aber keine absolute Garantie. Je besser das verwendete Sprachmodell, desto zuverlässiger werden diese Regeln befolgt.
Modell konfigurieren
Erstellen Sie die Datei data/config.yaml mit der Modellkonfiguration:
model:
default: "anthropic/claude-sonnet-4-6"
provider: "anthropic"
Dieser Eintrag legt fest, welches Sprachmodell der Agent standardmäßig verwendet. anthropic/claude-sonnet-4-6 bietet ein gutes Verhältnis aus Qualität und Kosten. Für komplexere Aufgaben eignet sich anthropic/claude-opus-4-6, für einfache Anfragen das günstigere anthropic/claude-haiku-4-5.
Falls Sie OpenAI nutzen möchten:
model:
default: "openai/gpt-4.1"
provider: "openai"
Alles starten
docker compose up -d
Der erste Start dauert etwa zwei bis drei Minuten. Docker lädt die Images herunter, Caddy holt ein Let's-Encrypt-Zertifikat und Hermes Agent initialisiert sein Datenverzeichnis. Beim allerersten Start passt der Container die Dateirechte an (chown), das kann bis zu zwei Minuten dauern. Die Logs zeigen währenddessen nur Init-Meldungen. Warten Sie, bis docker compose logs hermes die Zeile Gateway running with 1 platform(s) anzeigt.
Prüfen ob alles läuft
docker compose ps
Beide Container (caddy, hermes) sollten den Status running zeigen. Falls ein Container nicht startet:
docker compose logs hermes
Hermes Agent schreibt seine Anwendungs-Logs in das Datenverzeichnis. Für detailliertere Fehlersuche:
docker exec hermes cat /opt/data/logs/errors.log
Prüfen Sie anschließend:
- Dashboard: Rufen Sie
https://hermes.ihre-firma.deim Browser auf. Nach Eingabe der Basic-Auth-Zugangsdaten sollte das Hermes-Dashboard erscheinen. - Telegram: Öffnen Sie Telegram und senden Sie eine Nachricht an Ihren Bot (z.B. "Hallo"). Der Agent sollte innerhalb weniger Sekunden antworten. Beim ersten Kontakt zeigt der Bot eine Meldung: "No home channel is set". Senden Sie
/sethome, um den aktuellen Chat als Home-Channel zu registrieren. Das ist nötig, damit Cronjob-Ergebnisse (z.B. das tägliche Briefing) an diesen Chat zugestellt werden.
Falls der Telegram-Bot nicht antwortet, prüfen Sie die Logs:
docker compose logs hermes | grep -i telegram
Häufige Ursachen: falscher Bot-Token, fehlende oder falsche Telegram-Benutzer-ID in TELEGRAM_ALLOWED_USERS.
Erster Workflow: Tägliches Branchen-Briefing
Hermes Agent unterstützt Cronjobs: zeitgesteuerte Aktionen, die der Agent automatisch ausführt. Ein tägliches Branchen-Briefing zeigt den Unterschied zu einer einfachen Chat-Oberfläche: der Agent recherchiert eigenständig und liefert die Ergebnisse proaktiv.
Erstellen Sie das Verzeichnis für Cronjobs:
mkdir -p data/cron
Erstellen Sie die Datei data/cron/daily-cloud-news.yaml:
name: Cloud-Branche Daily
schedule: "0 8 * * 1-5"
platform: telegram
prompt: |
Recherchiere die wichtigsten Nachrichten aus der Cloud-Branche von heute.
Fokus auf: neue Services großer Cloud-Anbieter, Open-Source-Releases,
Sicherheitsvorfälle, regulatorische Entwicklungen (EU AI Act, DSGVO),
Container- und Kubernetes-Updates.
Fasse die Top 3-5 Nachrichten in jeweils 1-2 Sätzen zusammen.
Format: Emoji + Überschrift + kurze Zusammenfassung.
Die fünf Werte 0 8 * * 1-5 bedeuten: Minute 0, Stunde 8, jeden Tag, jeden Monat, Montag bis Freitag. Das Briefing wird also werktags um 08:00 Uhr automatisch an Ihren Telegram-Bot gesendet.
Optional: Ein wöchentlicher Trend-Überblick als zweiter Cronjob. Erstellen Sie data/cron/weekly-trends.yaml:
name: Wochen-Rückblick
schedule: "0 9 * * 1"
platform: telegram
prompt: |
Erstelle einen Wochen-Rückblick für die Cloud- und DevOps-Branche.
Fasse die wichtigsten Trends der letzten 7 Tage zusammen:
neue Tools, Sicherheitsvorfälle, Marktbewegungen, regulatorische Updates.
Schliesse mit einem kurzen Ausblick auf die kommende Woche.
Starten Sie den Container neu, damit die Cronjobs geladen werden:
docker compose restart hermes
Um einen Cronjob sofort zu testen, senden Sie dem Bot in Telegram folgende Nachricht:
Erstelle ein Cloud-Branche-Briefing für heute
Der Agent recherchiert aktuelle Nachrichten, fasst sie zusammen und liefert ein strukturiertes Briefing mit Quellen. Das dauert je nach Modell 30 bis 90 Sekunden.
Sicherheitshärtung
Ein KI-Agent mit Zugriff auf Messaging-Plattformen hat eine relevante Angriffsfläche. Die folgenden Maßnahmen sind keine optionalen Extras, sondern gehören zur Grundkonfiguration.
Firewall konfigurieren
Nur die nötigen Ports öffnen. SSH (22), HTTP (80) und HTTPS (443) reichen. Der Hermes-Dashboard-Port (9119) wird nicht direkt exponiert, da Caddy davor sitzt.
DEBIAN_FRONTEND=noninteractive apt install -y iptables iptables-persistent
# Bestehende Verbindungen und Loopback erlauben
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
# SSH, HTTP, HTTPS
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Alles andere blockieren
iptables -A INPUT -j DROP
# Regeln persistieren
netfilter-persistent save
Falls der Server IPv6-Konnektivität hat (bei vielen europäischen Hostern standardmäßig aktiv), setzen Sie die gleichen Regeln auch für IPv6:
ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
ip6tables -A INPUT -j DROP
netfilter-persistent save
Telegram auf bekannte Nutzer beschränken
Die Umgebungsvariable TELEGRAM_ALLOWED_USERS in der .env-Datei stellt sicher, dass nur Ihre Telegram-ID mit dem Bot kommunizieren kann. Unbekannte Nutzer erhalten keine Antwort. Prüfen Sie, dass diese Variable korrekt gesetzt ist.
Verhaltensregeln in SOUL.md
Die Sicherheitsgrenzen in der SOUL.md (siehe Abschnitt "Persönlichkeit konfigurieren") sind die erste Verteidigungslinie gegen unbeabsichtigte Aktionen. Ergänzen Sie die Regeln nach Bedarf:
- Wenn der Agent E-Mails versenden können soll: "Sende E-Mails nur nach expliziter Bestätigung"
- Wenn der Agent Shell-Befehle ausführen soll: "Führe nur lesende Befehle aus (ls, cat, grep). Schreibende Befehle nur nach Bestätigung."
Keine Community-Skills ohne Prüfung
Hermes Agent bietet ein Skill-System, über das zusätzliche Fähigkeiten installiert werden können. Installieren Sie keine Skills aus unbekannten Quellen, ohne den Quellcode vorher zu prüfen:
# Offizielles Skill-Verzeichnis durchsuchen
docker compose exec hermes hermes skills browse --source official
# Skill installieren (nur nach Prüfung)
docker compose exec hermes hermes skills install official/productivity/todoist
API-Keys mit minimalen Rechten
Erstellen Sie dedizierte API-Keys für den Agent mit minimalen Berechtigungen. Bei Anthropic lassen sich API-Keys auf bestimmte Modelle und Nutzungslimits einschränken. Verwenden Sie nicht denselben Key, den Sie auch für andere Projekte nutzen.
Kostenrealität
Der Betrieb eines KI-Assistenten verursacht zwei Kostenblöcke:
Server: Ein Seed mit 2 CPU und 4 GB RAM reicht für den Agent mit Cloud-Sprachmodell. Die aktuellen Preise finden Sie auf der Preisseite.
API-Kosten: Sprachmodell-APIs rechnen nicht pro Anfrage, sondern pro Token ab. Token sind Textbausteine: ein deutsches Wort entspricht etwa 1,5 Token. Jede Anfrage verbraucht Input-Token (System-Prompt, Gedächtnis, Ihre Nachricht) und Output-Token (die Antwort). Output-Token kosten 3 bis 5 Mal so viel wie Input-Token.
Richtwerte bei moderater Nutzung (50 bis 100 kurze Anfragen pro Tag). Die Schätzung basiert auf ca. 1.000 bis 3.000 Input-Token und 200 bis 400 Output-Token pro Anfrage:
| Modell | Input / Output pro MTok | Geschätzte Monatskosten |
|---|---|---|
| Claude Haiku 4.5 | $1 / $5 | 3 bis 15 EUR |
| Claude Sonnet 4.6 | $3 / $15 | 8 bis 40 EUR |
| GPT-4.1 mini | $0.40 / $1.60 | 1 bis 5 EUR |
| GPT-4.1 | $2 / $8 | 5 bis 25 EUR |
Längere Konversationen, umfangreicher Kontext (Gedächtnis, Skills) und Recherche-Aufgaben verbrauchen deutlich mehr Token und treiben die Kosten nach oben. Prompt Caching (bei Anthropic und OpenAI verfügbar) reduziert den Input-Preis für wiederkehrende Textteile um bis zu 90% und drückt die Kosten zum unteren Ende der Schätzung.
Backup einrichten
Kritische Daten identifizieren
Hermes Agent speichert alle Daten im Verzeichnis ./data (im Container unter /opt/data):
config.yaml: ModellkonfigurationSOUL.md: Persönlichkeitsprofilmemories/: Gedächtnis (MEMORY.md, USER.md)sessions/: Konversationshistorieskills/: Installierte und selbst erstellte Skillscron/: Geplante Aufgaben
Tägliches Backup
Erstellen Sie ein Backup-Skript /opt/hermes/backup.sh:
#!/bin/bash
BACKUP_DIR="/opt/backups/hermes"
SOURCE="/opt/hermes/data"
BACKUP_FILE="${BACKUP_DIR}/hermes-$(date +%Y%m%d).tar.gz"
mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_FILE" -C "$(dirname "$SOURCE")" "$(basename "$SOURCE")"
if [ -s "$BACKUP_FILE" ]; then
echo "Backup erfolgreich: ${BACKUP_FILE}"
else
echo "Backup fehlgeschlagen" >&2
exit 1
fi
# Backups älter als 30 Tage löschen, mindestens 3 behalten
TOTAL=$(find "$BACKUP_DIR" -name "hermes-*.tar.gz" | wc -l)
find "$BACKUP_DIR" -name "hermes-*.tar.gz" -mtime +30 | while read OLD; do
if [ "$TOTAL" -gt 3 ]; then
rm "$OLD"
TOTAL=$((TOTAL - 1))
fi
done
chmod +x /opt/hermes/backup.sh
Richten Sie einen Cronjob ein:
crontab -e
Fügen Sie folgende Zeile hinzu:
0 3 * * * /opt/hermes/backup.sh
Das Backup wird täglich um 03:00 Uhr erstellt. 0 3 * * * bedeutet: Minute 0, Stunde 3, jeden Tag, jeden Monat, jeden Wochentag.
Server-Backup über dataforest Cloud
Die dataforest Cloud bietet automatische tägliche Offsite-Backups als zubuchbare Option. Damit lassen sich alle Daten auf dem Seed sichern und jederzeit wiederherstellen. Backups sind nicht standardmäßig aktiv und müssen in der Cloud-Konsole aktiviert werden.
Hermes Agent aktualisieren
Prüfen Sie die Release Notes auf GitHub, bevor Sie ein Update durchführen.
Vor dem Update: Snapshot erstellen
Erstellen Sie vor jedem Update einen Snapshot des Seeds über die dataforest Cloud-Konsole. Falls nach dem Update etwas nicht funktioniert, können Sie den Seed auf den Snapshot zurücksetzen.
Update durchführen
Passen Sie die Versionsnummer in der docker-compose.yml an:
image: nousresearch/hermes-agent:v2026.6.10
docker compose pull
docker compose up -d
Nach dem Update prüfen
docker compose ps
docker compose logs hermes | tail -20
Senden Sie eine Testnachricht an den Telegram-Bot.
Optional: Lokale Modelle via Ollama
Wer vollständige Datenhoheit benötigt, betreibt ein lokales Sprachmodell. Dabei werden keine Texte an externe Anbieter gesendet. Das erfordert deutlich mehr Ressourcen:
- Minimum: 8 GB RAM, 4 CPU (für 8B-Parameter-Modelle wie Llama 3.1 8B)
- Empfohlen: 16 GB RAM, 8 CPU (für 13B-Parameter-Modelle)
- Qualitätseinschränkung: Lokale Modelle liefern spürbar niedrigere Qualität als Claude Sonnet oder GPT-4.1. Für einfache Aufgaben (Erinnerungen, kurze Antworten) reichen sie aus. Für komplexe Recherche und Zusammenfassungen sind Cloud-Modelle deutlich besser.
Fügen Sie Ollama zur docker-compose.yml hinzu:
ollama:
image: ollama/ollama:latest
container_name: ollama
restart: always
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
limits:
memory: 8G
Ergänzen Sie das Volume:
volumes:
caddy_data:
caddy_config:
ollama_data:
Starten und Modell laden:
docker compose up -d ollama
docker compose exec ollama ollama pull llama3.1:8b
Konfiguration in data/config.yaml:
model:
default: "ollama/llama3.1:8b"
provider: "main"
base_url: "http://ollama:11434/v1"
Ein lokaler Ollama-Server benötigt keinen API-Key.
Starten Sie den Agent neu:
docker compose restart hermes
Was kann mein Assistent jetzt?
Nach Abschluss dieser Anleitung haben Sie:
- Einen KI-Assistenten, der dauerhaft auf einem eigenen Server läuft
- Telegram-Anbindung: Erreichbar über Ihren persönlichen Bot
- Persistentes Gedächtnis: Der Agent merkt sich Kontext über Konversationen hinweg
- Morgen-Briefing: Ein automatischer täglicher Workflow als Beispiel
- Dashboard: Web-Oberfläche zur Konfiguration, passwortgeschützt per HTTPS
- Sicherheitshärtung: Firewall, Nutzer-Beschränkung, Verhaltensregeln
Nächste Schritte:
- Weitere Skills installieren: Durchsuchen Sie das offizielle Skill-Verzeichnis (
docker compose exec hermes hermes skills browse --source official) - Kalender-Integration: Verbinden Sie Google Calendar oder CalDAV, damit der Agent Termine verwalten kann
- E-Mail-Anbindung: Konfigurieren Sie einen E-Mail-Provider für Postfach-Triage und Antwortentwürfe
- Weitere Messaging-Kanäle: Verbinden Sie Discord, Slack oder Signal als zusätzliche Plattformen
- Eigene Skills erstellen: Der Agent lernt automatisch aus erfolgreichen Aufgaben und erstellt eigene Skills
Wer Hermes Agent als Einstieg in die dataforest Cloud nutzt: Der Seed ist ein vollwertiger Linux-Server und lässt sich parallel auch für andere Dienste nutzen. Mit einem VPN-Tunnel sichern Sie den Zugriff zusätzlich ab. Workflow-Automatisierung ergänzt den Agent um regelbasierte Abläufe. Zugangsdaten lassen sich mit einem eigenen Passwort-Manager zentral verwalten.
Fehlerbehebung
Agent antwortet nicht auf Telegram:
Prüfen Sie, ob der Container läuft (docker compose ps). Kontrollieren Sie den Bot-Token und die Benutzer-ID in der .env-Datei. Häufigster Fehler: Leerzeichen oder Zeilenumbrüche im Token. Prüfen Sie die Logs: docker compose logs hermes | grep -i telegram.
Dashboard nicht erreichbar:
Caddy benötigt eine Domain, die per DNS auf die IP-Adresse des Seeds zeigt. Prüfen Sie mit dig +short hermes.ihre-firma.de, ob der A-Record korrekt gesetzt ist. Prüfen Sie die Caddy-Logs: docker compose logs caddy.
Agent antwortet langsam oder gar nicht:
Prüfen Sie, ob der API-Key korrekt ist und der gewählte Provider erreichbar ist. Testen Sie mit einem einfachen Befehl: docker compose exec hermes hermes doctor. Bei Speicherknappheit (docker stats) das Memory-Limit in der Compose-Datei erhöhen oder auf ein günstigeres Modell wechseln.
Cronjob wird nicht ausgeführt:
Cronjob-Dateien müssen im Verzeichnis data/cron/ liegen und als .yaml enden. Nach dem Anlegen neuer Cronjobs den Container neu starten: docker compose restart hermes.
