CLI commands
Kanały
openclaw channels
Zarządzaj kontami kanałów czatu i ich stanem runtime w Gateway.
Powiązana dokumentacja:
- Przewodniki po kanałach: Kanały
- Konfiguracja Gateway: Konfiguracja
Typowe polecenia
openclaw channels list
openclaw channels status
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels logs --channel all
Stan / możliwości / rozwiązywanie / logi
channels status:--probe,--timeout <ms>,--jsonchannels capabilities:--channel <name>,--account <id>(tylko z--channel),--target <dest>,--timeout <ms>,--jsonchannels resolve:<entries...>,--channel <name>,--account <id>,--kind <auto|user|group>,--jsonchannels logs:--channel <name|all>,--lines <n>,--json
channels status --probe to ścieżka live: na osiągalnym gatewayu uruchamia dla każdego konta
sprawdzenia probeAccount i opcjonalne auditAccount, więc dane wyjściowe mogą obejmować stan
transportu oraz wyniki sondowania, takie jak works, probe failed, audit ok lub audit failed.
Jeśli gateway jest nieosiągalny, channels status wraca do podsumowań opartych wyłącznie na konfiguracji
zamiast danych wyjściowych sondowania live.
Nie używaj openclaw sessions, Gateway sessions.list ani narzędzia agenta
sessions_list jako sygnału kondycji socketu kanału. Te powierzchnie zgłaszają
zapisane wiersze rozmów, a nie stan runtime providera. Po ponownym uruchomieniu providera Discord
połączone, ale ciche konto może być zdrowe, mimo że żaden wiersz sesji Discord
nie pojawi się do następnego przychodzącego lub wychodzącego zdarzenia rozmowy.
Dodawanie / usuwanie kont
openclaw channels add --channel telegram --token <bot-token>
openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"
openclaw channels remove --channel telegram --delete
channels remove działa tylko na zainstalowanych/skonfigurowanych pluginach kanałów. Użyj najpierw channels add dla instalowalnych kanałów z katalogu.
W przypadku pluginów kanałów wspieranych przez runtime channels remove prosi też działający Gateway o zatrzymanie wybranego konta przed aktualizacją konfiguracji, więc wyłączenie lub usunięcie konta nie pozostawia starego listenera aktywnego do ponownego uruchomienia.
Typowe nieinteraktywne powierzchnie dodawania obejmują:
- kanały bot-token:
--token,--bot-token,--app-token,--token-file - pola transportu Signal/iMessage:
--signal-number,--cli-path,--http-url,--http-host,--http-port,--db-path,--service,--region - pola Google Chat:
--webhook-path,--webhook-url,--audience-type,--audience - pola Matrix:
--homeserver,--user-id,--access-token,--password,--device-name,--initial-sync-limit - pola Nostr:
--private-key,--relay-urls - pola Tlon:
--ship,--url,--code,--group-channels,--dm-allowlist,--auto-discover-channels --use-envdla uwierzytelniania domyślnego konta wspieranego przez zmienne środowiskowe tam, gdzie jest obsługiwane
Jeśli plugin kanału musi zostać zainstalowany podczas polecenia dodawania sterowanego flagami, OpenClaw używa domyślnego źródła instalacji kanału bez otwierania interaktywnego promptu instalacji pluginu.
Gdy uruchomisz openclaw channels add bez flag, interaktywny kreator może poprosić o:
- identyfikatory kont dla każdego wybranego kanału
- opcjonalne nazwy wyświetlane tych kont
Bind configured channel accounts to agents now?
Jeśli potwierdzisz powiązanie teraz, kreator zapyta, który agent powinien posiadać każde skonfigurowane konto kanału, i zapisze powiązania routingu o zakresie konta.
Tymi samymi regułami routingu możesz też zarządzać później za pomocą openclaw agents bindings, openclaw agents bind i openclaw agents unbind (zobacz agenci).
Gdy dodajesz konto inne niż domyślne do kanału, który nadal używa ustawień najwyższego poziomu dla pojedynczego konta, OpenClaw promuje wartości najwyższego poziomu o zakresie konta do mapy kont kanału przed zapisaniem nowego konta. Większość kanałów umieszcza te wartości w channels.<channel>.accounts.default, ale kanały wbudowane mogą zamiast tego zachować istniejące pasujące promowane konto. Matrix jest aktualnym przykładem: jeśli istnieje już jedno nazwane konto albo defaultAccount wskazuje istniejące nazwane konto, promocja zachowuje to konto zamiast tworzyć nowe accounts.default.
Zachowanie routingu pozostaje spójne:
- Istniejące powiązania obejmujące tylko kanał (bez
accountId) nadal pasują do konta domyślnego. channels addnie tworzy automatycznie ani nie przepisuje powiązań w trybie nieinteraktywnym.- Konfiguracja interaktywna może opcjonalnie dodać powiązania o zakresie konta.
Jeśli Twoja konfiguracja była już w stanie mieszanym (obecne nazwane konta i nadal ustawione wartości najwyższego poziomu dla pojedynczego konta), uruchom openclaw doctor --fix, aby przenieść wartości o zakresie konta do promowanego konta wybranego dla tego kanału. Większość kanałów promuje do accounts.default; Matrix może zamiast tego zachować istniejący nazwany/domyślny cel.
Logowanie i wylogowanie (interaktywne)
openclaw channels login --channel whatsapp
openclaw channels logout --channel whatsapp
channels loginobsługuje--verbose.channels loginilogoutmogą wywnioskować kanał, gdy skonfigurowany jest tylko jeden obsługiwany cel logowania.channels logoutpreferuje ścieżkę live Gateway, gdy jest osiągalna, więc wylogowanie zatrzymuje każdy aktywny listener przed wyczyszczeniem stanu uwierzytelniania kanału. Jeśli lokalny Gateway nie jest osiągalny, wraca do lokalnego czyszczenia uwierzytelniania.- Uruchamiaj
channels loginz terminala na hoście gatewaya. Agentexecblokuje ten interaktywny przepływ logowania; natywne dla kanału narzędzia logowania agenta, takie jakwhatsapp_login, powinny być używane z czatu, gdy są dostępne.
Rozwiązywanie problemów
- Uruchom
openclaw status --deep, aby wykonać szerokie sondowanie. - Użyj
openclaw doctordo prowadzonych napraw. openclaw channels listwypisujeClaude: HTTP 403 ... user:profile→ migawka użycia wymaga zakresuuser:profile. Użyj--no-usage, podaj klucz sesji claude.ai (CLAUDE_WEB_SESSION_KEY/CLAUDE_WEB_COOKIE) albo uwierzytelnij się ponownie przez Claude CLI.openclaw channels statuswraca do podsumowań opartych wyłącznie na konfiguracji, gdy gateway jest nieosiągalny. Jeśli poświadczenie obsługiwanego kanału jest skonfigurowane przez SecretRef, ale niedostępne w bieżącej ścieżce polecenia, zgłasza to konto jako skonfigurowane z notatkami o degradacji zamiast pokazywać je jako nieskonfigurowane.
Sondowanie możliwości
Pobierz wskazówki dotyczące możliwości providera (intenty/zakresy tam, gdzie są dostępne) oraz statyczną obsługę funkcji:
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
Uwagi:
--channeljest opcjonalne; pomiń je, aby wyświetlić każdy kanał (w tym rozszerzenia).--accountjest poprawne tylko z--channel.--targetakceptujechannel:<id>albo surowy numeryczny identyfikator kanału i dotyczy tylko Discord.- Sondowania są specyficzne dla providera: intenty Discord + opcjonalne uprawnienia kanału; zakresy bota + użytkownika Slack; flagi bota Telegram + Webhook; wersja daemona Signal; token aplikacji Microsoft Teams + role/zakresy Graph (oznaczone tam, gdzie są znane). Kanały bez sondowań zgłaszają
Probe: unavailable.
Rozwiązywanie nazw na identyfikatory
Rozwiązuj nazwy kanałów/użytkowników na identyfikatory za pomocą katalogu providera:
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels resolve --channel discord "My Server/#support" "@someone"
openclaw channels resolve --channel matrix "Project Room"
Uwagi:
- Użyj
--kind user|group|auto, aby wymusić typ celu. - Rozwiązywanie preferuje aktywne dopasowania, gdy wiele wpisów ma tę samą nazwę.
channels resolvejest tylko do odczytu. Jeśli wybrane konto jest skonfigurowane przez SecretRef, ale to poświadczenie jest niedostępne w bieżącej ścieżce polecenia, polecenie zwraca zdegradowane nierozwiązane wyniki z notatkami zamiast przerywać całe uruchomienie.channels resolvenie instaluje pluginów kanałów. Użyjchannels add --channel <name>przed rozwiązywaniem nazw dla instalowalnego kanału z katalogu.