CLI commands
Kanäle
openclaw channels
Verwalten Sie Chatkanalkonten und deren Laufzeitstatus auf dem Gateway.
Zugehörige Dokumentation:
- Kanalanleitungen: Kanäle
- Gateway-Konfiguration: Konfiguration
Häufig verwendete Befehle
openclaw channels listopenclaw channels list --allopenclaw channels statusopenclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123openclaw channels resolve --channel slack "#general" "@jane"openclaw channels logs --channel allopenclaw channels dead-letters list --channel telegram --account defaultchannels list zeigt nur Chatkanäle an: standardmäßig konfigurierte Konten mit den Statuskennzeichnungen installed, configured und enabled je Konto (--json für maschinenlesbare Ausgabe). Übergeben Sie --all, um außerdem gebündelte Kanäle ohne bisher konfiguriertes Konto sowie installierbare Katalogkanäle anzuzeigen, die noch nicht auf dem Datenträger vorhanden sind. Provider-Authentifizierung und Modellnutzung werden an anderer Stelle verwaltet: openclaw models auth list für Provider-Authentifizierungsprofile, openclaw status oder openclaw models list für Nutzung/Kontingent.
Status / Funktionen / Auflösung / Protokolle
channels status:--channel <name>,--probe,--timeout <ms>(Standardwert10000),--jsonchannels capabilities:--channel <name>,--account <id>(erfordert--channel),--target <dest>(erfordert--channel),--timeout <ms>(Standardwert10000, begrenzt auf30000),--jsonchannels resolve <entries...>:--channel <name>,--account <id>,--kind <auto|user|group>(Standardwertauto),--jsonchannels logs:--channel <name|all>(Standardwertall),--lines <n>(Standardwert200),--json
channels status --probe ist der Live-Pfad: Auf einem erreichbaren Gateway führt er je Konto
probeAccount sowie optionale auditAccount-Prüfungen aus. Die Ausgabe kann daher den Transportstatus
und Prüfergebnisse wie works, probe failed, audit ok oder audit failed enthalten.
Wenn das Gateway nicht erreichbar ist, greift channels status statt einer Live-Prüfausgabe
auf reine Konfigurationszusammenfassungen zurück.
Eingehende Dead Letters
Eingehende Ereignisse, deren Wiederholungsrichtlinie ausgeschöpft ist, verbleiben für den bestehenden Aufbewahrungszeitraum fehlgeschlagener Einträge der Warteschlange in der gemeinsamen Statusdatenbank. Prüfen Sie ein Kanalkonto mit:
openclaw channels dead-letters list --channel telegram --account defaultopenclaw channels dead-letters list --channel telegram --account default --jsonDie Textansicht zeigt Ereignis-IDs, Fehlerursachen, die Anzahl der Versuche und das Alter der Fehler. Die JSON-Ausgabe enthält zu Diagnosezwecken außerdem die aufbewahrte Nutzlast, Metadaten, Lane und Zeitstempel der Versuche.
Nachdem Sie das zugrunde liegende Problem behoben haben, stellen Sie ein Ereignis mit seiner ursprünglichen Ereignis-ID erneut in die Warteschlange:
openclaw channels dead-letters resubmit <event-id> --channel telegram --account defaultFühren Sie diese Befehle auf dem Gateway-Host aus, damit sie auf dieselbe gemeinsame Statusdatenbank wie die Kanallaufzeit zugreifen. Bei der erneuten Übermittlung bleiben Nutzlast, Metadaten und Lane erhalten, aber der Versuchszähler und das Warteschlangenalter werden zurückgesetzt. Die Fehlermarkierung dieses Ereignisses wird atomar ersetzt. Wird der Befehl wiederholt, während das Ereignis aussteht oder beansprucht ist, wird er daher abgelehnt, anstatt eine zweite Zustellung zu erstellen. Der laufende Kanal übernimmt es beim nächsten Leeren des Eingangs. Abgeschlossene Ereignisse verbleiben im Endzustand und können nicht erneut übermittelt werden. Fehlgeschlagene Zeilen, die vor Einführung der Nutzlastaufbewahrung erstellt wurden, können weiterhin in der Liste erscheinen. Ihre erneute Übermittlung wird jedoch abgelehnt, weil ihre Nutzlast nicht verfügbar ist.
openclaw health meldet je Kanalkonto die Anzahl der Dead Letters und das Alter des ältesten Fehlers. openclaw doctor nennt betroffene Konten und verweist auf den Prüfbefehl.
Verwenden Sie weder openclaw sessions noch Gateway-sessions.list oder das Agent-Tool
sessions_list als Signal für den Zustand des Kanalsockets. Diese Oberflächen melden
gespeicherte Konversationszeilen und nicht den Laufzeitstatus des Providers. Nach dem Neustart eines Discord-Providers
kann ein verbundenes, aber inaktives Konto fehlerfrei funktionieren, obwohl keine Discord-Sitzungszeile
erscheint, bis das nächste ein- oder ausgehende Konversationsereignis eintritt.
Konten hinzufügen/entfernen
openclaw channels add --channel telegram --token <bot-token>openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"openclaw channels remove --channel telegram --deletechannels remove verarbeitet nur installierte/konfigurierte Kanal-Plugins. Verwenden Sie für installierbare Katalogkanäle zuerst channels add. Ohne --delete werden Sie aufgefordert, das Konto zu deaktivieren, wobei seine Konfiguration erhalten bleibt; --delete entfernt die Konfigurationseinträge ohne Nachfrage.
Bei laufzeitgestützten Kanal-Plugins fordert channels remove außerdem das laufende Gateway auf, das ausgewählte Konto zu stoppen, bevor die Konfiguration aktualisiert wird. Dadurch bleibt der alte Listener nach dem Deaktivieren oder Löschen eines Kontos nicht bis zum Neustart aktiv.
Die gemeinsame Steuerungshülle enthält nur --channel, --account und die optionale Kontoanzeige --name. Jedes moderne Kanal-Plugin verwaltet seine Anmeldedaten sowie seine transport- und providerspezifische Semantik selbst. Sobald ein Kanal anhand seiner positionellen ID oder über --channel <id> ausgewählt wurde, erstellt die CLI ausschließlich die Optionen dieses Kanals aus den Paketmetadaten des gebündelten oder installierten Plugins, ohne den Laufzeitcode des Kanals zu laden.
Ähnlich wirkende Flags wie --token, --url oder --use-env werden weiterhin vom Kanal verwaltet, wenn sie von einem modernen Vertrag verarbeitet werden. Wenn ein ausgewähltes Drittanbieter-Plugin noch den veralteten gemeinsamen Einrichtungsadapter verwendet, registriert der Kern ausschließlich für diesen Kanal den veröffentlichten Satz an Kompatibilitätsflags zusammen mit dessen veraltetem cliAddOptions. Nicht zugehörige veraltete Felder gelangen nicht in andere Kanäle, und ein ausgewählter moderner Kanal lehnt nicht deklarierte Kompatibilitätsflags ab.
Beispiele für kanaleigene Flags:
| Kanal | Flags |
|---|---|
| Google Chat | --webhook-path, --webhook-url, --audience-type, --audience |
| iMessage | --cli-path, --db-path, --service, --region |
| Matrix | --homeserver, --user-id, --access-token, --password, --device-name, --initial-sync-limit |
| Nostr | --private-key, --relay-urls |
| Signal | --signal-number, --signal-transport, --cli-path, --http-url, --http-host, --http-port |
| Tlon | --ship, --url, --code, --group-channels, --dm-allowlist, --auto-discover-channels |
--auth-dir |
Wenn bei einem flaggesteuerten Hinzufügebefehl ein Kanal-Plugin installiert werden muss, verwendet OpenClaw die Standardinstallationsquelle des Kanals, ohne die interaktive Aufforderung zur Plugin-Installation zu öffnen.
Sowohl die geführte als auch die flaggesteuerte Einrichtung durchlaufen den Parser, die Validierung, die Kontoauflösung, den Konfigurationsschreiber und die Hooks nach dem Schreiben des ausgewählten Kanals. Nicht unterstützte Flags führen zum Einrichtungsfehler des zuständigen Kanals, anstatt über eine globale Eingabesammlung akzeptiert zu werden.
Wenn Sie openclaw channels add ohne direkte Konto-, Anmeldedaten- oder Kanalkonfigurationsflags ausführen, kann der interaktive Assistent Eingaben abfragen. Sowohl eine positionelle Kanal-ID als auch --channel <id> wählen diesen Kanal vorab aus, ohne die Anleitung zu umgehen:
openclaw channels add telegramopenclaw channels add --channel telegramDer Assistent kann Folgendes abfragen:
- Konto-IDs je ausgewähltem Kanal
- optionale Anzeigenamen für diese Konten
Route these channel accounts to agents now?
Wenn Sie die sofortige Bindung bestätigen, fragt der Assistent, welcher Agent jedes konfigurierte Kanalkonto verwalten soll, und schreibt kontobezogene Routingbindungen.
Sie können dieselben Routingregeln später auch mit openclaw agents bindings, openclaw agents bind und openclaw agents unbind verwalten (siehe Agenten).
Wenn Sie einem Kanal, der noch über übergeordnete Einzelkontoeinstellungen verfügt, ein vom Standard abweichendes Konto hinzufügen, überführt OpenClaw diese übergeordneten Werte in die Kontozuordnung des Kanals, bevor das neue Konto geschrieben wird. Bei der Überführung wird ein vorhandenes benanntes Konto wiederverwendet, wenn der Kanal genau eines enthält oder wenn defaultAccount auf eines verweist. Andernfalls werden die Werte in channels.<channel>.accounts.default gespeichert.
Das Routingverhalten bleibt konsistent:
- Bestehende reine Kanalbindungen (ohne
accountId) stimmen weiterhin mit dem Standardkonto überein. channels adderstellt oder überschreibt Bindungen im nicht interaktiven Modus nicht automatisch.- Die interaktive Einrichtung kann optional kontobezogene Bindungen hinzufügen.
Wenn sich Ihre Konfiguration bereits in einem gemischten Zustand befand (benannte Konten waren vorhanden und übergeordnete Einzelkontowerte weiterhin festgelegt), führen Sie openclaw doctor --fix aus, um kontobezogene Werte in das für diesen Kanal ausgewählte überführte Konto zu verschieben.
An- und Abmeldung (interaktiv)
openclaw channels login --channel whatsappopenclaw channels logout --channel whatsappchannels loginunterstützt--account <id>und--verbose;channels logoutunterstützt--account <id>.channels loginundlogoutkönnen den Kanal ableiten, wenn nur ein konfigurierter Kanal die jeweilige Aktion unterstützt. Bei mehreren Kanälen übergeben Sie--channel.channels logoutbevorzugt den Live-Gateway-Pfad, wenn dieser erreichbar ist, sodass bei der Abmeldung alle aktiven Listener gestoppt werden, bevor der Authentifizierungsstatus des Kanals gelöscht wird. Wenn kein lokales Gateway erreichbar ist, wird ersatzweise die lokale Authentifizierung bereinigt; mitgateway.mode: "remote"führt der Gateway-Fehler stattdessen zum Fehlschlagen des Befehls.- Nach einer erfolgreichen Anmeldung fordert die CLI ein erreichbares lokales Gateway auf, das Konto zu starten. Im Remotemodus speichert sie die Authentifizierung lokal und weist darauf hin, dass die entfernte Laufzeit nicht neu gestartet wurde.
- Führen Sie
channels loginin einem Terminal auf dem Gateway-Host aus. Agent-execblockiert diesen interaktiven Anmeldeablauf. Kanalnative Agent-Anmeldetools wiewhatsapp_loginsollten, sofern verfügbar, im Chat verwendet werden.
Fehlerbehebung
- Führen Sie
openclaw status --deepfür eine umfassende Prüfung aus. - Verwenden Sie
openclaw doctorfür geführte Korrekturen. openclaw channels statusgreift auf reine Konfigurationszusammenfassungen zurück, wenn das Gateway nicht erreichbar ist. Wenn die Anmeldedaten eines unterstützten Kanals über SecretRef konfiguriert, im aktuellen Befehlspfad jedoch nicht verfügbar sind, wird das Konto als konfiguriert mit Hinweisen auf die eingeschränkte Funktion gemeldet, statt es als nicht konfiguriert anzuzeigen.
Funktionsprüfung
Rufen Sie Hinweise zu Provider-Funktionen (Intents/Bereiche, sofern verfügbar) sowie die statische Funktionsunterstützung ab:
openclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123Hinweise:
--channelist optional; lassen Sie es weg, um alle Kanäle aufzulisten (einschließlich der von Plugins bereitgestellten Kanäle).--accountist nur zusammen mit--channelgültig.--targetakzeptiertchannel:<id>oder eine unverarbeitete numerische Kanal-ID und gilt nur für Discord. Bei Discord-Sprachkanälen kennzeichnet die Berechtigungsprüfung fehlendeViewChannel,Connect,Speak,SendMessagesundReadMessageHistory.- Prüfungen sind Provider-spezifisch: Discord-Botidentität und -Intents sowie optionale Kanalberechtigungen; Slack-Bot- und Benutzer-Scopes; Telegram-Bot-Flags und Webhook; Signal-Daemon-Version; Microsoft Teams-App-Token und Graph-Rollen/-Scopes (soweit bekannt mit Anmerkungen versehen). Kanäle ohne Prüfungen melden
Probe: unavailable.
Namen in IDs auflösen
Lösen Sie Kanal-/Benutzernamen mithilfe des Provider-Verzeichnisses in IDs auf:
openclaw channels resolve --channel slack "#general" "@jane"openclaw channels resolve --channel discord "My Server/#support" "@someone"openclaw channels resolve --channel matrix "Project Room"Hinweise:
- Verwenden Sie
--kind user|group|auto, um den Zieltyp festzulegen. - Bei mehreren Einträgen mit demselben Namen bevorzugt die Auflösung aktive Treffer.
channels resolveist schreibgeschützt. Wenn ein ausgewähltes Konto über SecretRef konfiguriert ist, diese Zugangsdaten im aktuellen Befehlspfad jedoch nicht verfügbar sind, gibt der Befehl eingeschränkte, nicht aufgelöste Ergebnisse mit Hinweisen zurück, statt den gesamten Lauf abzubrechen.channels resolveinstalliert keine Kanal-Plugins. Verwenden Siechannels add --channel <name>, bevor Sie Namen für einen installierbaren Katalogkanal auflösen.