CLI commands
Kanały
openclaw channels
Zarządzaj kontami kanałów czatu i ich stanem działania w Gateway.
Powiązana dokumentacja:
- Przewodniki po kanałach: Kanały
- Konfiguracja Gateway: Konfiguracja
Typowe polecenia
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 allchannels list wyświetla tylko kanały czatu: domyślnie skonfigurowane konta wraz ze znacznikami stanu installed, configured i enabled dla każdego konta (--json zapewnia dane wyjściowe przeznaczone do przetwarzania maszynowego). Użyj --all, aby wyświetlić także wbudowane kanały, które nie mają jeszcze skonfigurowanego konta, oraz kanały z katalogu dostępne do zainstalowania, których nie ma jeszcze na dysku. Uwierzytelnianie dostawców i wykorzystanie modeli są obsługiwane gdzie indziej: openclaw models auth list służy do wyświetlania profili uwierzytelniania dostawców, a openclaw status lub openclaw models list — do sprawdzania wykorzystania i limitów.
Stan / możliwości / rozpoznawanie / dzienniki
channels status:--channel <name>,--probe,--timeout <ms>(domyślnie10000),--jsonchannels capabilities:--channel <name>,--account <id>(wymaga--channel),--target <dest>(wymaga--channel),--timeout <ms>(domyślnie10000, maksymalnie30000),--jsonchannels resolve <entries...>:--channel <name>,--account <id>,--kind <auto|user|group>(domyślnieauto),--jsonchannels logs:--channel <name|all>(domyślnieall),--lines <n>(domyślnie200),--json
channels status --probe korzysta ze ścieżki aktywnego środowiska: w osiągalnym Gateway uruchamia dla każdego konta kontrole probeAccount i opcjonalnie auditAccount, dzięki czemu dane wyjściowe mogą obejmować stan transportu oraz wyniki kontroli, takie jak works, probe failed, audit ok lub audit failed. Jeśli Gateway jest nieosiągalny, channels status zamiast wyników aktywnych kontroli wyświetla podsumowania oparte wyłącznie na konfiguracji.
Nie używaj openclaw sessions, sessions.list w Gateway ani narzędzia agenta sessions_list jako wskaźnika stanu połączenia kanału. Te mechanizmy raportują zapisane wiersze konwersacji, a nie stan działania dostawcy. Po ponownym uruchomieniu dostawcy Discord połączone, lecz nieaktywne konto może działać prawidłowo, mimo że żaden wiersz sesji Discord nie pojawi się do czasu następnego przychodzącego lub wychodzącego zdarzenia konwersacji.
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 --deletechannels remove działa tylko na zainstalowanych lub skonfigurowanych Pluginach kanałów. W przypadku kanałów z katalogu dostępnych do zainstalowania najpierw użyj channels add. Bez --delete polecenie pyta o wyłączenie konta i zachowuje jego konfigurację; --delete usuwa wpisy konfiguracji bez pytania o potwierdzenie.
W przypadku Pluginów kanałów obsługiwanych przez środowisko uruchomieniowe channels remove przed aktualizacją konfiguracji zleca również działającemu Gateway zatrzymanie wybranego konta, dzięki czemu wyłączenie lub usunięcie konta nie pozostawia starego procesu nasłuchującego aktywnego aż do ponownego uruchomienia.
Flagi nieinteraktywnego dodawania wspólne dla kanałów: --account <id>, --name <name>, --token, --token-file, --bot-token, --app-token, --secret, --secret-file, --password, --cli-path, --url, --base-url, --http-url, --auth-dir oraz --use-env (uwierzytelnianie oparte na zmiennych środowiskowych, tylko dla konta domyślnego, jeśli jest obsługiwane). Flagi właściwe dla kanałów obejmują:
| Kanał | Flagi |
|---|---|
| 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, --cli-path, --http-url, --http-host, --http-port |
| Tlon | --ship, --url, --code, --group-channels, --dm-allowlist, --auto-discover-channels |
--auth-dir |
Jeśli podczas polecenia dodawania sterowanego flagami trzeba zainstalować Plugin kanału, OpenClaw używa domyślnego źródła instalacji kanału bez otwierania interaktywnego monitu instalacji Pluginu.
Po uruchomieniu 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
Route these channel accounts to agents now?
Jeśli potwierdzisz natychmiastowe powiązanie, kreator zapyta, który agent powinien być właścicielem każdego skonfigurowanego konta kanału, i zapisze powiązania routingu ograniczone do kont.
Tymi samymi regułami routingu możesz później zarządzać również 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 korzysta z ustawień pojedynczego konta na najwyższym poziomie, OpenClaw przed zapisaniem nowego konta przenosi te wartości najwyższego poziomu do mapy kont kanału. Podczas przenoszenia ponownie wykorzystuje istniejące nazwane konto, jeśli kanał ma dokładnie jedno konto lub jeśli wskazuje je defaultAccount; w przeciwnym razie wartości trafiają do channels.<channel>.accounts.default.
Działanie routingu pozostaje spójne:
- Istniejące powiązania dotyczące tylko kanału (bez
accountId) nadal odpowiadają kontu domyślnemu. channels addw trybie nieinteraktywnym nie tworzy ani nie modyfikuje automatycznie powiązań.- Konfiguracja interaktywna może opcjonalnie dodać powiązania ograniczone do kont.
Jeśli konfiguracja była już w stanie mieszanym (istniały nazwane konta, a jednocześnie nadal były ustawione wartości pojedynczego konta na najwyższym poziomie), uruchom openclaw doctor --fix, aby przenieść wartości właściwe dla konta do konta wybranego do przeniesienia w danym kanale.
Logowanie i wylogowywanie (interaktywne)
openclaw channels login --channel whatsappopenclaw channels logout --channel whatsappchannels loginobsługuje--account <id>i--verbose;channels logoutobsługuje--account <id>.channels loginilogoutmogą ustalić kanał, gdy tylko jeden skonfigurowany kanał obsługuje daną czynność; jeśli jest ich kilka, użyj--channel.channels logoutpreferuje ścieżkę działającego Gateway, gdy jest on osiągalny, dzięki czemu wylogowanie zatrzymuje aktywny proces nasłuchujący przed wyczyszczeniem stanu uwierzytelniania kanału. Jeśli lokalny Gateway jest nieosiągalny, polecenie przechodzi do lokalnego czyszczenia uwierzytelniania; przygateway.mode: "remote"błąd Gateway powoduje zamiast tego niepowodzenie polecenia.- Po pomyślnym zalogowaniu CLI zleca osiągalnemu lokalnemu Gateway uruchomienie konta; w trybie zdalnym zapisuje uwierzytelnianie lokalnie i informuje, że zdalne środowisko uruchomieniowe nie zostało ponownie uruchomione.
- Uruchamiaj
channels loginw terminalu na hoście Gateway.execagenta blokuje ten interaktywny proces logowania; w miarę dostępności do logowania z czatu należy używać natywnych dla kanału narzędzi logowania agenta, takich jakwhatsapp_login.
Rozwiązywanie problemów
- Uruchom
openclaw status --deep, aby przeprowadzić szeroką kontrolę. - Użyj
openclaw doctor, aby skorzystać z napraw z instrukcjami. openclaw channels statuswyświetla podsumowania oparte wyłącznie na konfiguracji, gdy Gateway jest nieosiągalny. Jeśli dane uwierzytelniające obsługiwanego kanału są skonfigurowane za pomocą SecretRef, lecz niedostępne w bieżącej ścieżce polecenia, konto jest raportowane jako skonfigurowane z uwagami o ograniczonym działaniu, zamiast jako nieskonfigurowane.
Kontrola możliwości
Pobierz wskazówki dotyczące możliwości dostawcy (intencje i zakresy, jeśli są dostępne) oraz statyczną obsługę funkcji:
openclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123Uwagi:
--channeljest opcjonalne; pomiń tę flagę, aby wyświetlić wszystkie kanały (w tym kanały udostępniane przez Pluginy).--accountjest prawidłowe tylko z--channel.--targetprzyjmujechannel:<id>lub nieprzetworzony numeryczny identyfikator kanału i ma zastosowanie wyłącznie do Discord. W przypadku kanałów głosowych Discord kontrola uprawnień oznacza brakujące uprawnieniaViewChannel,Connect,Speak,SendMessagesiReadMessageHistory.- Kontrole są właściwe dla dostawcy: tożsamość bota Discord, intencje i opcjonalne uprawnienia kanału; zakresy bota i użytkownika Slack; flagi bota Telegram i webhook; wersja demona Signal; token aplikacji Microsoft Teams oraz role i zakresy Graph (z adnotacjami, jeśli są znane). Kanały bez kontroli raportują
Probe: unavailable.
Rozpoznawanie nazw jako identyfikatorów
Rozpoznawaj nazwy kanałów i użytkowników jako identyfikatory przy użyciu katalogu dostawcy:
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. - Jeśli wiele wpisów ma tę samą nazwę, rozpoznawanie preferuje aktywne dopasowania.
channels resolvedziała tylko do odczytu. Jeśli wybrane konto jest skonfigurowane za pomocą SecretRef, lecz te dane uwierzytelniające są niedostępne w bieżącej ścieżce polecenia, polecenie zwraca ograniczone, nierozpoznane wyniki z uwagami, zamiast przerywać całe wykonanie.channels resolvenie instaluje Pluginów kanałów. Przed rozpoznawaniem nazw dla kanału z katalogu dostępnego do zainstalowania użyjchannels add --channel <name>.