İçeriğe geç / Skip to content / Zum Inhalt

Hermes Agent: Telegram, Cron-Jobs und Sicherheit

Ahmet Balaman

6 Min. Lesezeit

Vibe CodingHermes AgentTelegram-BotKI-AgentAutomatisierungSicherheit
Hermes Agent: Telegram, Cron-Jobs und Sicherheit

Nach der Installation wird Hermes Agent vor allem mit drei Dingen nützlich: vom Handy aus mit ihm sprechen, Arbeit zeitlich planen und begrenzen, was der Agent anfassen darf. Dieser Artikel ist der zweite Teil der Serie. Die Installation habe ich in Was ist Hermes Agent? Installation beschrieben; hier richten wir Schritt für Schritt das Telegram-Gateway, zeitgesteuerte Aufgaben und die Sicherheitseinstellungen ein.

Dieser Artikel beruht auf der offiziellen Dokumentation; ich habe diese Einstellungen nicht auf meinem eigenen Server getestet. Befehle und Schlüsselnamen sind aus der Dokumentation übernommen, die Quellen stehen am Ende.

1. Mit Telegram verbinden

Das Gateway ist der Teil, der denselben Agenten für Messenger-Apps öffnet. Die Schritte für Telegram:

  1. Schreiben Sie in Telegram mit @BotFather, senden Sie /newbot und wählen Sie einen Namen und einen eindeutigen Benutzernamen, der auf bot endet. Sie erhalten ein API-Token.
  2. Ermitteln Sie Ihre eigene numerische Nutzer-ID (Dokumentation und Anleitungen nennen dafür Bots wie @userinfobot).
  3. Starten Sie in Hermes den Assistenten:
hermes gateway setup

Wählen Sie Telegram und geben Sie das Token und Ihre Nutzer-ID ein. Wenn Sie es von Hand machen möchten, fügen Sie diese beiden Zeilen in die Datei ~/.hermes/.env ein:

TELEGRAM_BOT_TOKEN=botfather_token
TELEGRAM_ALLOWED_USERS=ihre_nutzer_id
  1. Starten Sie das Gateway:
hermes gateway

Wenn Sie nun dem Bot schreiben, antwortet der Agent. Eine im Terminal gestartete Sitzung lässt sich auch in Telegram fortsetzen; Sitzungen bleiben plattformübergreifend erhalten.

Nützliche Befehle in Telegram: /model (Modellauswahl), /sethome (macht diesen Chat zur Standardadresse für Ausgaben zeitgesteuerter Aufgaben) und /topic (mehrere Sitzungen in privaten Nachrichten).

Hinweis zu Gruppen

Antwortet der Bot in Gruppen nicht, müssen Sie in BotFather mit /setprivacy den Datenschutzmodus ausschalten oder den Bot zum Administrator machen. Nach der Änderung müssen Sie den Bot aus der Gruppe entfernen und neu hinzufügen. Damit er nicht auf jede Nachricht, sondern nur bei Erwähnung antwortet, gibt es require_mention: true.

2. Zeitgesteuerte Aufgaben (Cron)

Hermes hat einen eigenen Zeitplaner und kann die Ausgabe an die gewünschte Plattform senden. Sie können Aufgaben auf drei Wegen anlegen:

Aus dem Chat:

/cron add "every 2h" "Check server status"

Von der Kommandozeile:

hermes cron create "every 1h" "Fasse die neuesten Nachrichten zusammen" --skill blogwatcher --deliver telegram

In natürlicher Sprache: Es genügt zu sagen: „Schau jeden Morgen um 9 Uhr bei Hacker News nach KI-Nachrichten und schick mir eine Zusammenfassung über Telegram." Der Agent richtet das mit seinem eigenen Planungswerkzeug ein.

Unterstützte Zeitformate:

Format Beispiel
Einmalige Verzögerung in 30m, in 2h
Intervall every 30m, every 2h
Natürliche Zeit every day at 9am, weekdays at 9am
Cron-Ausdruck 0 9 * * *
Datum 2026-03-15T09:00:00

Das Ausgabeziel wählen Sie mit deliver: origin (der Chat, in dem die Aufgabe angelegt wurde), local (Datei unter ~/.hermes/cron/output/), telegram, discord, slack, email und weitere, bei mehreren durch Komma getrennt.

Verwaltungsbefehle: hermes cron list, /cron pause <id>, /cron resume <id>, /cron run <id> (sofort ausführen), /cron remove <id>. Um alles anzuhalten: hermes pause.

Grenzen zeitgesteuerter Aufgaben

Die Dokumentation nennt ausdrücklich vier Grenzen, und alle bewahren Sie vor einem falschen Entwurf:

  • Jeder Lauf ist eine isolierte Sitzung. Er erinnert sich nicht an den vorherigen Lauf; der Prompt muss alles enthalten, was der Agent braucht.
  • Keine rekursive Planung. Eine zeitgesteuerte Aufgabe kann keine weitere zeitgesteuerte Aufgabe anlegen.
  • Die Zustellung ist einseitig. Der Agent sieht Ihre Antwort auf die gesendete Nachricht nicht.
  • Die Arbeit muss nicht beim LLM liegen. Mit --no-agent --script skript.sh können Sie nur ein Skript ausführen und so Modellkosten vermeiden.

Bedenken Sie, dass zeitgesteuerte Aufgaben jedes Mal das Modell aufrufen: Eine stündlich laufende Aufgabe bedeutet etwa 720 Modellaufrufe im Monat. Eine Anleitung eines Drittanbieters nennt Zahlen wie 15.000 bis 20.000 Eingabetokens pro Telegram-Nachricht; da sie keine Quelle angibt, messen Sie Ihre eigene Nutzung.

3. Gedächtnis und Skills: Wann helfen sie?

Das Gedächtnis sorgt für Kontinuität zwischen Sitzungen; ein Skill ist das Vorgehen für wiederkehrende Arbeit. Faustregel: Wenn Sie dem Agenten eine Aufgabe zum dritten Mal erklären, sagen Sie ihm „speichere das als Skill". Wie Skills geschrieben werden und warum Sie sie vor der Installation lesen sollten, steht im Artikel zu Agent Skills. Dieselbe Warnung gilt auch hier: Lesen Sie den Inhalt des Skills einer Ihnen unbekannten Person, bevor Sie ihn installieren.

In der Dokumentation fallen auch zwei unveränderliche Regeln auf: den Gesprächsverlauf des Agenten nicht mitten in der Sitzung ändern (das stört den Prompt-Cache) und die Chat-Rollen in der richtigen Reihenfolge halten.

4. Sicherheit: Was der Agent anfassen darf

Wenn ein Agent Befehle ausführen kann, ist die Sicherheitseinstellung keine Option, sondern Pflicht. Die Ebenen laut Dokumentation:

Freigabemodi für Befehle

  • smart (Standard): Ein Hilfsmodell bewertet das Risiko des Befehls; Unkritisches genehmigt es selbst, Unklares fragt es bei Ihnen nach.
  • manual: Bei gefährlichen Befehlen fragt es immer bei Ihnen nach.
  • off: Schaltet alle Freigabeprüfungen ab, dasselbe wie --yolo. Das empfehle ich selbst auf Ihrem eigenen Rechner nicht.

Wenn Sie bei einem nachgefragten Befehl „always" wählen, wird er in die Liste command_allowlist in der config.yaml aufgenommen. Mit approvals.deny können Sie eine musterbasierte Sperrliste definieren; diese gilt auch im YOLO-Modus. Außerdem stehen Befehle wie rm -rf /, Fork-Bomben und dd auf Blockgeräte auf einer harten Sperrliste, die sich mit keiner Einstellung öffnen lässt.

Wer das Gateway nutzen darf

  • TELEGRAM_ALLOWED_USERS sollte immer gefüllt sein. Die Dokumentation betont das besonders; lassen Sie es leer, kann jeder, der Ihren Bot findet, Ihrem Agenten Befehle geben.
  • DM-Kopplung: Schreibt Ihnen jemand Unbekanntes, erhält er einen 8-stelligen Code, der eine Stunde gültig ist; Sie bestätigen ihn mit hermes pairing approve <platform> <kod>. Es gibt eine Ratenbegrenzung und eine Sperre nach fünf Fehlversuchen.

Isolation

  • Docker-Backend: Der Container läuft ohne die meisten Linux-Berechtigungen, mit deaktivierter Rechteausweitung und auf 256 Prozesse begrenzt. Wenn Sie es auf einem Server nutzen, wählen Sie dieses Backend.
  • Nicht als root ausführen. Die DataCamp-Anleitung nennt das unter ihren Sicherheitsempfehlungen.
  • Geheimnisse sollten durch Dateiberechtigungen geschützt sein (die .env nur für Sie lesbar).
  • Regelmäßig aktualisieren: hermes update.

Warum das Framework um den Agenten (der Harness) mindestens so wichtig ist wie das Modell, habe ich im Harness-Artikel erklärt; Freigabemodi und Zulassungslisten sind genau Teile dieses Frameworks.

Häufige Fragen

Wie nutze ich Hermes Agent von meinem Handy aus?

Richten Sie das Gateway für Telegram, Discord, Slack, WhatsApp oder Signal ein. Für Telegram genügt es, in BotFather einen Bot anzulegen und hermes gateway setup auszuführen.

Können andere meinen Telegram-Bot nutzen?

Ist TELEGRAM_ALLOWED_USERS gefüllt, nur die Nutzer auf der Liste. Schreibt ein Ihnen unbekannter Nutzer, wird ein Kopplungscode gesendet, und ohne Ihre Bestätigung erhält er keinen Zugriff.

Erinnert sich eine zeitgesteuerte Aufgabe an den vorherigen Lauf?

Nein. Jeder Lauf ist eine isolierte Sitzung; alle nötigen Informationen müssen im Prompt stehen.

Ist Hermes Agent sicher?

In den Standardeinstellungen gibt es Befehlsfreigabe und eine harte Sperrliste. Entscheidend für die Sicherheit sind Ihre Einstellungen: Zulassungsliste, Docker-Backend, Nutzer ohne root und Freigabemodus.

Sollte ich den YOLO-Modus einschalten?

Er ist verlockend, wenn das Bestätigen ermüdet, aber abgeschaltet wird genau die Schutzebene. Der Modus smart bietet für die meisten Aufgaben die richtige Balance.

Quellen

Kommentare