Zurück zum Blog
HermesTelegramTroubleshooting

Hermes Agent reagiert nicht auf Telegram: schnelle Fixes

Ihr Hermes-Agent-Bot auf Telegram ist verstummt. Gehen Sie die Prüfungen für die häufigsten Ursachen durch: allowed-users, widerrufener Token, 409, Privatmodus, totes Gateway.

Von Hermify Team||7 Min. Lesezeit
Ein stilles Telegram-Chatfenster neben einem Terminal, in dem die Statusausgabe des Hermes-Gateways gerade neu gestartet wird

Der Bot hat funktioniert, und jetzt nicht mehr

Sie schicken eine Nachricht. Nichts kommt zurück. Der Bot ist weiterhin in Ihrem Chat, das Avatarbild ist da, aber die Antwort bleibt aus. Das ist das häufigste Problem mit Hermes Agent auf Telegram, und der Grund, warum viele eine Stunde daran hängen bleiben, ist fast immer derselbe: Sie fangen an, Fixes zu raten, bevor sie wissen, welche Schicht kaputt ist.

Hermes auf Telegram besteht in Wirklichkeit aus drei gestapelten Teilen. Der Hermes-Agent-Prozess (Denken und Werkzeuge). Das Hermes-Gateway (Long-Polling gegen Telegram). Und Telegram selbst (BotFather-Konfiguration, allowed users, Privatmodus). Wenn der Bot verstummt, liegt der Fehler in genau einer dieser Schichten, und der schnellste Weg zurück besteht darin, sie zu isolieren, bevor Sie irgendetwas anfassen.

Dieser Leitfaden geht die Prüfungen in der Reihenfolge durch, die die häufigsten Ursachen am schnellsten fängt. Wenn Sie den allgemeinen Telegram-Troubleshooting-Leitfaden bereits kennen, ist dies die kürzere, symptomorientierte Version für den konkreten Fall „gar keine Antwort".

Prüfung 1: Steht Ihre User-ID wirklich auf der erlaubten Liste?

In neun von zehn Fällen ist es das. Hermes antwortet niemandem, dessen numerische Telegram-ID nicht in telegram_allowed_users steht. Der Bot empfängt die Nachricht, das Gateway routet sie, und Hermes verwirft sie stillschweigend. Von außen sieht das exakt wie ein toter Bot aus.

Zwei Dinge gehen hier schief:

  • Sie haben @benutzername statt der numerischen ID eingetragen. @benutzername will Hermes nicht. Schicken Sie /start an @userinfobot in Telegram, kopieren Sie die Zahl aus der Antwort und verwenden Sie diese.
  • Sie haben nach dem letzten Neustart einen neuen Benutzer hinzugefügt und die Konfiguration nie neu geladen. Hermes liest telegram_allowed_users beim Start. Ändern, dann das Gateway neu starten.

Die Konfiguration liegt in config.yaml:

telegram_allowed_users: "123456789,987654321"

Bei Hermify liegt das entsprechende Feld im Zugangsdatenformular des Dashboards.

Prüfung 2: Belegen Sie, dass das Gateway wirklich läuft

Bevor Sie Telegram die Schuld geben, belegen Sie, dass das Gateway aktiv ist.

hermes gateway status

Läuft es nicht, ist das Ihr Bug. Starten:

hermes gateway start

Läuft es, aber der Bot bleibt stumm, verfolgen Sie das Log, während Sie eine Testnachricht schicken:

tail -f ~/.hermes/logs/agent.log

Sie suchen eine von drei Sachen. Eine Zeile „message received" bedeutet, dass das Gateway seine Arbeit macht und Hermes die Nachricht stillschweigend verwirft (zurück zu Prüfung 1). Eine Zeile „409 Conflict" bedeutet, dass zwei Prozesse denselben Token abfragen (siehe Prüfung 4). Gar nichts bedeutet, dass das Gateway Telegram nicht erreicht (siehe Prüfung 5).

Prüfung 3: Ist der Bot-Token noch gültig?

BotFather erlaubt das Widerrufen von Tokens, und es ist leicht, einen alten Test-Bot-Token zu widerrufen, es zu vergessen und sich zu wundern, warum nichts funktioniert.

Öffnen Sie Telegram, schreiben Sie @BotFather an, senden Sie /mybots, wählen Sie Ihren Bot, tippen Sie auf API Token und vergleichen Sie die angezeigte Zeichenkette Zeichen für Zeichen mit der in Ihrer Hermes-Konfiguration. Wenn sie nicht übereinstimmen, fügen Sie entweder die aktuelle in Hermes ein und starten neu, oder Sie drücken Revoke current token in BotFather, um einen neuen Token zu erzeugen, und tragen diesen ein.

Ein ungültiger Token zeigt sich als „Unauthorized"-Fehler im Hermes-Log beim Start. Wenn Sie diesen Fehler sehen, ist es immer der Token.

Terminal-Fenster verfolgt das Hermes-Gateway-Log mit einer hervorgehobenen "message received"-Zeile, während ein daneben liegender Telegram-Chat rechts still bleibt

Prüfung 4: Fragen zwei Prozesse denselben Bot ab?

Die Bot-API von Telegram erlaubt genau einen Long-Poll-Konsumenten pro Bot-Token. Wenn zwei Prozesse gleichzeitig getUpdates aufrufen, antwortet Telegram mit „409 Conflict: terminated by other getUpdates request", und Updates gehen an den Prozess, der jeden Zyklus gewinnt, oder an keinen. Von außen wirkt es, als würde der Bot jede zweite Nachricht verschlucken.

Die häufigste Art, wie das passiert, ist nicht exotisch:

  • Eine systemd-Unit betreibt Hermes und Sie haben zusätzlich eine Hermes-Sitzung von Hand in tmux gestartet.
  • Sie testen einen Dev-Bot auf Ihrem Laptop, aber die Produktivinstanz nutzt denselben Token.
  • Sie haben einen Hintergrund-Worker gestartet und vergessen, dass der alte Container noch läuft.

Duplikat finden:

ps aux | grep -E 'telegram|hermes' | grep -v grep

Beenden Sie das, was Sie nicht behalten wollten, und starten Sie das übrig gebliebene neu. Die 409er hören binnen Sekunden auf, weil Telegram die verwaiste Long-Poll-Sitzung freigibt, sobald der verlierende Client die Verbindung trennt.

Prüfung 5: Stille in Gruppen ist meist der Privatmodus

Funktioniert der Bot im Direktchat, aber nicht in einer Gruppe, ist die Ursache fast immer der Privatmodus von Telegram-Bots, nicht Hermes.

Der Privatmodus ist bei jedem neuen Bot standardmäßig aktiv. Das heißt: Der Bot sieht nur Nachrichten, die ihn direkt erwähnen, die auf eine seiner Nachrichten antworten oder als Befehle ankommen. Der normale Gruppen-Chat erreicht Ihr Hermes-Gateway nie.

Zwei Wege, das zu beheben:

  • Machen Sie den Bot zum Gruppen-Admin. Admin-Bots sehen alles, das ist die am wenigsten überraschende Option.
  • Privatmodus deaktivieren. Senden Sie in BotFather /setprivacy, wählen Sie den Bot und Disable. Danach den Bot aus der Gruppe entfernen und erneut hinzufügen. Änderungen am Privatmodus greifen erst beim nächsten Hinzufügen.

Falls Ihr Bot in einem Forum-Topic oder Thread läuft, stellen Sie außerdem sicher, dass die Hermes-Konfiguration diesen speziellen Thread in allowed_chats und in den Topic-IDs abdeckt. Ein Bot, der im allgemeinen Kanal reden darf, bleibt in einem Operations-Thread trotzdem stumm, wenn diese Topic-ID nicht auf der Liste steht.

Prüfung 6: Ihr Netzwerk killt den Long-Poll

Antwortet der Bot beim Start einmal und schweigt dann jedes Mal exakt gleich lang, bevor er wieder auflebt, schließt Ihr Netzwerk den untätigen Long-Poll, bevor Telegram ein Update darüber pushen kann. Consumer-Router, günstige VPS und Firmennetzwerke tun das häufig über NAT-Idle-Timeouts.

Schalten Sie Debug-Logs ein und beobachten Sie:

export HERMES_LOG_LEVEL=debug
hermes gateway restart

Wiederholte „connection reset"-Einträge in festem Abstand bestätigen die Diagnose. Verkürzen Sie das Poll-Timeout von Hermes, damit es sich häufiger neu verbindet als der Idle-Timeout Ihres Netzwerks:

hermes config set messaging.telegram.poll_timeout 30

Standard ist 60. Auf 30 oder weniger senken, dann verschwindet das Reset-Problem, weil Sie den Long-Poll schließen und wieder öffnen, bevor das Netzwerk gelangweilt reagiert. Das ist die gleiche Grundursache wie hinter vielen „läuft lokal, bricht nach dem Deploy"-Geschichten auf günstiger Infrastruktur.

Ein minimalistisches Bild eines Netzwerkkabels, das einen Datenstrom in einem sich wiederholenden Takt unterbricht, als Symbol für NAT-Idle-Timeouts, die einen Long-Poll abschneiden

Prüfung 7: Die Agent-Schleife ist wegen eines Provider-Fehlers still gestorben

Das Gateway ist oben, der Token stimmt, die Erlaubnisliste passt, und trotzdem kommen keine Antworten an. Suchen Sie im Log nach einem Fehler des Modell-Providers in der Nähe der letzten erfolgreichen Antwort. Rate-Limits, aufgebrauchte Kontingente und 5xx-Antworten des LLM-Providers können in manchen Hermes-Versionen die Agent-Schleife zum Absturz bringen, ohne sie neu zu starten. Das Gateway pollt weiter, empfängt Ihre neue Nachricht, reicht sie durch, und auf der anderen Seite ist niemand, der antwortet.

Der Fix ist ein Neustart plus ein Blick ins Provider-Dashboard nach der zugrunde liegenden Ursache. Wenn Sie im Free-Tier eines Providers hängen und Ihr Tageskontingent mitten in der Unterhaltung erreicht wurde, sieht der Bot wie „reagiert nicht" aus, bis das Kontingentfenster kippt. Wechseln Sie auf einen bezahlten Plan oder in der Hermes-Konfiguration auf ein anderes Backend und starten Sie das Gateway neu.

Eine Zwei-Minuten-Diagnosereihenfolge, die funktioniert

Wenn Sie es eilig haben, folgen Sie dieser Reihenfolge, und Sie landen in unter zwei Minuten bei der Ursache, in jedem realen Fall, den wir gesehen haben:

  1. hermes gateway status - läuft es?
  2. tail -f ~/.hermes/logs/agent.log - erreicht eine frische Nachricht Hermes überhaupt?
  3. Wenn ja, prüfen Sie telegram_allowed_users.
  4. Wenn nein, suchen Sie im Log nach „409 Conflict" (doppelter Poller) oder „Unauthorized" (widerrufener Token).
  5. Wenn nichts davon zutrifft und der Bot nur in Gruppen still ist, ist es der Privatmodus.
  6. Wenn nichts davon zutrifft und er im festen Takt verstummt, ist es der Idle-Timeout Ihres Netzwerks.
  7. Wenn nichts davon zutrifft und er nach normalem Betrieb verstummt, ist es ein Absturz beim Provider.

Überspringen Sie die Debugging-Schleife komplett

Jede Prüfung oben existiert, weil Telegram, das Gateway, Hermes und Ihr Provider vier bewegliche Teile sind, die unabhängig voneinander ausfallen können. Wenn sie alle in Ihrer Infrastruktur wohnen, sind Sie derjenige, der jedes Mal geweckt wird, wenn eines davon aus dem Takt gerät.

Hermify ist ein verwalteter Hermes Agent auf Telegram. Ihr Bot-Token, die Liste der erlaubten Nutzer und der Provider-Schlüssel landen einmal im Dashboard. Gateway, Neustarts, Log-Erfassung und Reconnect-Logik übernehmen wir. Wenn etwas oben schief läuft, sagt Ihnen die Statuskarte im Dashboard welche Schicht, und ein Klick startet sie neu. Sie öffnen ~/.hermes/logs/agent.log nur noch, wenn Sie wollen.

Legen Sie mit Hermify los und bringen Sie den Bot in etwa einer Minute wieder online, mit Gedächtnis, das Ihnen gehört.

Quellen

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