1. Problemabgrenzung: nicht initialisierter Kanal, nicht stilles Modell
Dieses Leitfaden zielt auf stille Nicht-Registrierung: kein offensichtlicher Telegram-Fehler, aber das Gateway bindet den erwarteten Provider nicht. Wenn bereits Modell-HTTP-Zeilen, 429 oder grüne Proben mit totem Chat sichtbar sind, beginnen Sie mit Kanalprobe grün, keine Antworten, weil dort das Kanalobjekt existiert und Events später verloren gehen.
Schlägt die Initialisierung früh fehl, landen Nutzernachrichten nie in der Modellwarteschlange—Prompt-Tuning hilft nicht. Tickets sollten direkt nach Neustart openclaw health (oder Äquivalent), die ersten ~200 Logzeilen mit telegram / provider / webhook / plugin und einen config validate-Lauf unter derselben UID wie der Dienst enthalten. Ohne dieses Bündel verfolgen Ingenieure TLS-Geister, die nie relevant waren.
2. Schichtweise Prüfung: Probe, Logs, validate—in dieser Reihenfolge
Schritt A — channels status --probe: zeigt, ob die Steuerungsebene die Bot-API mit dem Token erreicht, den der Prozess glaubt zu besitzen. Schlägt die Probe fehl, zuerst Netzwerk, Proxy und Lesbarkeit der Secrets prüfen, nicht gleich YAML neu schreiben.
Schritt B — Gateway-Logs: nach Neustart nach Registrierungssprache suchen. Völliges Fehlen während andere Subsysteme reden deutet darauf hin, dass die Konfiguration nie die Kanalfabrik erreichte oder ein Plugin zuerst abbrach.
Schritt C — config validate: Schemafehler und kaputte SecretRef-Pfade gehören hierher. Manche Builds schlucken fehlende Geheimnisdateien als „Kanal nicht gelistet“ statt lautem Stack; Validieren ist günstiger als tcpdump.
openclaw channels status --probe
openclaw config validate
journalctl --user -u openclaw-gateway -n 200 # systemd-Beispiel
# launchd: StandardOutPath prüfen / log stream zum Service-Label3. plugins.load-Minimierung als A/B-Hebel
Plugins, die beim Boot werfen, können bei Standard-Loglevel verhindern, dass nachgelagerte Adapter registrieren. Snapshot von openclaw.json (oder Pack-Pfad), dann plugins.load leer oder minimal bekannter guter Menge setzen, Gateway neu starten und prüfen, ob Telegram in health zurückkehrt. Wenn ja, Plugins einzeln zurücknehmen bis der Übeltäter wiederkehrt. Gewinnreihenfolge für die Flotte dokumentieren, damit das nächste Upgrade sie nicht blind mischt.
Das unterscheidet sich von Stille nach Registrierung: hier erreicht keine Nutzernachricht Werkzeug- oder Modellschichten, weil der Router nie ein Telegram-Provider-Objekt aufstellte.
4. botToken: Klartext, Umgebungsvariablen, SecretRef unter Supervisoren
Drei Feldmuster: Inline-Token (schnell, unsicher), exportierte TELEGRAM_BOT_TOKEN-ähnliche Variablen, dateigestütztes SecretRef zur Laufzeit. Unter systemd --user dominiert EnvironmentFile=, das nicht vor ExecStart greift, fehlendes daemon-reload nach Unit-Edit oder ein anderer Benutzer als die interaktive Shell—daher funktioniert manuelles openclaw gateway, der überwachte Neustart sieht ein leeres Token und überspringt Telegram still.
Mit systemctl --user show <unit> -p Environment (oder launchd-launchctl print) das Token vor Upstream-Ausfällen nachzuweisen. HOME mit dem in Installation und Doctor auditierten Credential-Baum ausrichten, damit SecretRef-Pfade nach Reboot konsistent auflösen.
5. Token-Rotation und veraltete Webhooks
Wenn BotFather rotiert, kann das alte Token noch einen Webhook auf einen toten Endpunkt halten. Empfohlene Reihenfolge: Gateway stoppen → Telegram deleteWebhook mit dem neuen Token (oder CLI-Wrapper) → getWebhookInfo sauber oder passend zum aktuellen Ingress → Gateway starten und Kopplung laut Release-Notes wiederholen. Ohne deleteWebhook wirkt lokal alles konfiguriert, während Telegram weiter an eine URL liefert, die nicht antwortet—oft mit wenig Client-Lärm.
Beim Wechsel zwischen Long-Polling und Webhook Release-Notes befolgen; Modus-Mix ohne vollständigen Stop erzeugt Rennen, die stille Init nachahmen.
6. Weiterlesen
Baseline-Install und Doctor: OpenClaw Installation und Fehlerbehebung 2026. Kopplung und Versionslage nach Upgrades: Disconnected-Gateway- und Pairing-Runbook. Sobald Telegram registriert ist, zurück zu grüne Probe / keine Antwort für Modell-Throttling und Doppelschalter, sowie Daemon-Install unter launchd und systemd für Linger und Unit-Hygiene.
7. FAQ
Warum wirken Logs „leer“
Bis ein Provider registriert, gibt es weniger strukturierte Hooks. Verbose temporär anheben oder einen einmaligen Debug-Neustart, damit das Fenster in der Retention sichtbar bleibt.
Slack ok, nur Telegram fehlt im Health
Auf Telegram-spezifische Secrets, SecretRef-Dateien und Webhook-Zustand konzentrieren. Globale Gateway-Fehlkonfiguration bricht üblicherweise alle Messenger.
Ist das dasselbe wie MCP-stdio-Lecks nach Neustart
Nein. Transportlecks können nach fließendem Traffic hängende Completions erzeugen; dieser Artikel behandelt Adapter, die nie attachieren. Wenn Telegram-Zustellungen in Logs stehen, Tools aber hängen, zum MCP-/Gateway-Neustart-Runbook im internen Index wechseln.
