CLI commands
Canali
openclaw channels
Gestisci gli account dei canali chat e il loro stato di runtime sul Gateway.
Documentazione correlata:
- Guide ai canali: Canali
- Configurazione del Gateway: Configurazione
Comandi comuni
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
Stato / funzionalità / risoluzione / log
channels status:--probe,--timeout <ms>,--jsonchannels capabilities:--channel <name>,--account <id>(solo con--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 è il percorso live: su un gateway raggiungibile esegue controlli
probeAccount per account e controlli auditAccount facoltativi, quindi l'output può includere lo
stato del trasporto più risultati del probe come works, probe failed, audit ok o audit failed.
Se il gateway non è raggiungibile, channels status ripiega su riepiloghi basati solo sulla configurazione
invece dell'output del probe live.
Non usare openclaw sessions, Gateway sessions.list o lo strumento dell'agente
sessions_list come segnale di integrità del socket del canale. Queste superfici riportano
righe di conversazioni archiviate, non lo stato di runtime del provider. Dopo un riavvio del provider Discord,
un account connesso ma inattivo può essere integro anche se non appare alcuna riga di sessione Discord
fino al successivo evento di conversazione in entrata o in uscita.
Aggiungere / rimuovere account
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 opera solo sui Plugin di canale installati/configurati. Usa prima channels add per i canali del catalogo installabili.
Per i Plugin di canale con backend di runtime, channels remove chiede anche al Gateway in esecuzione di arrestare l'account selezionato prima di aggiornare la configurazione, quindi la disabilitazione o eliminazione di un account non lascia il vecchio listener attivo fino al riavvio.
Le superfici comuni di aggiunta non interattiva includono:
- canali con bot-token:
--token,--bot-token,--app-token,--token-file - campi di trasporto Signal/iMessage:
--signal-number,--cli-path,--http-url,--http-host,--http-port,--db-path,--service,--region - campi Google Chat:
--webhook-path,--webhook-url,--audience-type,--audience - campi Matrix:
--homeserver,--user-id,--access-token,--password,--device-name,--initial-sync-limit - campi Nostr:
--private-key,--relay-urls - campi Tlon:
--ship,--url,--code,--group-channels,--dm-allowlist,--auto-discover-channels --use-envper l'autenticazione supportata da env dell'account predefinito dove supportata
Se un Plugin di canale deve essere installato durante un comando di aggiunta guidato da flag, OpenClaw usa la sorgente di installazione predefinita del canale senza aprire il prompt interattivo di installazione del Plugin.
Quando esegui openclaw channels add senza flag, la procedura guidata interattiva può richiedere:
- ID account per ciascun canale selezionato
- nomi visualizzati facoltativi per tali account
Bind configured channel accounts to agents now?
Se confermi il collegamento immediato, la procedura guidata chiede quale agente deve possedere ciascun account di canale configurato e scrive binding di instradamento con ambito account.
Puoi anche gestire le stesse regole di instradamento in seguito con openclaw agents bindings, openclaw agents bind e openclaw agents unbind (vedi agenti).
Quando aggiungi un account non predefinito a un canale che sta ancora usando impostazioni di primo livello per account singolo, OpenClaw promuove i valori di primo livello con ambito account nella mappa degli account del canale prima di scrivere il nuovo account. La maggior parte dei canali colloca questi valori in channels.<channel>.accounts.default, ma i canali inclusi possono invece preservare un account promosso corrispondente esistente. Matrix è l'esempio attuale: se esiste già un account con nome, o defaultAccount punta a un account con nome esistente, la promozione preserva quell'account invece di creare un nuovo accounts.default.
Il comportamento di instradamento resta coerente:
- I binding esistenti solo per canale (senza
accountId) continuano a corrispondere all'account predefinito. channels addnon crea automaticamente né riscrive binding in modalità non interattiva.- La configurazione interattiva può aggiungere facoltativamente binding con ambito account.
Se la tua configurazione era già in uno stato misto (account con nome presenti e valori di primo livello per account singolo ancora impostati), esegui openclaw doctor --fix per spostare i valori con ambito account nell'account promosso scelto per quel canale. La maggior parte dei canali promuove in accounts.default; Matrix può invece preservare una destinazione con nome/predefinita esistente.
Accesso e uscita (interattivi)
openclaw channels login --channel whatsapp
openclaw channels logout --channel whatsapp
channels loginsupporta--verbose.channels loginelogoutpossono inferire il canale quando è configurata una sola destinazione di accesso supportata.channels logoutpreferisce il percorso live del Gateway quando raggiungibile, quindi l'uscita arresta qualsiasi listener attivo prima di cancellare lo stato di autenticazione del canale. Se un Gateway locale non è raggiungibile, ripiega sulla pulizia dell'autenticazione locale.- Esegui
channels loginda un terminale sull'host del gateway.execdell'agente blocca questo flusso di accesso interattivo; gli strumenti di accesso nativi del canale per agenti, comewhatsapp_login, dovrebbero essere usati dalla chat quando disponibili.
Risoluzione dei problemi
- Esegui
openclaw status --deepper un probe ampio. - Usa
openclaw doctorper correzioni guidate. openclaw channels liststampaClaude: HTTP 403 ... user:profile→ lo snapshot di utilizzo richiede l'ambitouser:profile. Usa--no-usage, oppure fornisci una chiave di sessione claude.ai (CLAUDE_WEB_SESSION_KEY/CLAUDE_WEB_COOKIE), oppure riautenticati tramite Claude CLI.openclaw channels statusripiega su riepiloghi basati solo sulla configurazione quando il gateway non è raggiungibile. Se una credenziale di canale supportata è configurata tramite SecretRef ma non è disponibile nel percorso del comando corrente, segnala quell'account come configurato con note degradate invece di mostrarlo come non configurato.
Probe delle funzionalità
Recupera gli indizi sulle funzionalità del provider (intent/ambiti dove disponibili) più il supporto statico delle funzionalità:
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
Note:
--channelè facoltativo; omettilo per elencare ogni canale (incluse le estensioni).--accountè valido solo con--channel.--targetaccettachannel:<id>o un ID canale numerico grezzo e si applica solo a Discord.- I probe sono specifici del provider: intent Discord + autorizzazioni facoltative del canale; bot Slack + ambiti utente; flag bot Telegram + webhook; versione del daemon Signal; token app Microsoft Teams + ruoli/ambiti Graph (annotati dove noti). I canali senza probe riportano
Probe: unavailable.
Risolvere i nomi in ID
Risolvi nomi di canali/utenti in ID usando la directory del provider:
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels resolve --channel discord "My Server/#support" "@someone"
openclaw channels resolve --channel matrix "Project Room"
Note:
- Usa
--kind user|group|autoper forzare il tipo di destinazione. - La risoluzione preferisce corrispondenze attive quando più voci condividono lo stesso nome.
channels resolveè di sola lettura. Se un account selezionato è configurato tramite SecretRef ma quella credenziale non è disponibile nel percorso del comando corrente, il comando restituisce risultati degradati non risolti con note invece di interrompere l'intera esecuzione.channels resolvenon installa Plugin di canale. Usachannels add --channel <name>prima di risolvere nomi per un canale del catalogo installabile.