CLI commands
Канали
openclaw channels
Керуйте обліковими записами каналів чату та їхнім станом виконання в Gateway.
Пов’язана документація:
- Посібники з каналів: Канали
- Конфігурація Gateway: Конфігурація
Поширені команди
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 показує лише канали чату: за замовчуванням — налаштовані облікові записи з позначками стану installed, configured і enabled для кожного облікового запису (--json для машинного виводу). Передайте --all, щоб також показати вбудовані канали, для яких ще немає налаштованого облікового запису, і доступні для встановлення канали каталогу, яких ще немає на диску. Автентифікація постачальника та використання моделей відображаються в інших місцях: openclaw models auth list — для профілів автентифікації постачальника, openclaw status або openclaw models list — для використання й квоти.
Стан / можливості / визначення / журнали
channels status:--channel <name>,--probe,--timeout <ms>(за замовчуванням10000),--jsonchannels capabilities:--channel <name>,--account <id>(потребує--channel),--target <dest>(потребує--channel),--timeout <ms>(за замовчуванням10000, максимум30000),--jsonchannels resolve <entries...>:--channel <name>,--account <id>,--kind <auto|user|group>(за замовчуваннямauto),--jsonchannels logs:--channel <name|all>(за замовчуваннямall),--lines <n>(за замовчуванням200),--json
channels status --probe використовує шлях перевірки в реальному часі: на доступному Gateway він виконує для кожного облікового запису перевірки probeAccount і, за наявності, auditAccount, тому вивід може містити стан транспорту та результати перевірок, як-от works, probe failed, audit ok або audit failed.
Якщо Gateway недоступний, channels status замість результатів перевірки в реальному часі повертається до зведень лише на основі конфігурації.
Не використовуйте openclaw sessions, sessions.list у Gateway або інструмент агента sessions_list як індикатор стану сокета каналу. Ці інтерфейси повідомляють про збережені рядки розмов, а не про стан виконання постачальника. Після перезапуску постачальника Discord підключений, але неактивний обліковий запис може бути справним, хоча рядок сеансу Discord не з’явиться до наступної вхідної або вихідної події розмови.
Додавання / видалення облікових записів
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 працює лише зі встановленими або налаштованими плагінами каналів. Для доступних до встановлення каналів каталогу спочатку скористайтеся channels add. Без --delete команда пропонує вимкнути обліковий запис і зберігає його конфігурацію; --delete видаляє записи конфігурації без запиту.
Для плагінів каналів, що підтримуються середовищем виконання, channels remove також просить запущений Gateway зупинити вибраний обліковий запис перед оновленням конфігурації, тому вимкнення або видалення облікового запису не залишає старий обробник активним до перезапуску.
Спільні для каналів прапорці неінтерактивного додавання: --account <id>, --name <name>, --token, --token-file, --bot-token, --app-token, --secret, --secret-file, --password, --cli-path, --url, --base-url, --http-url, --auth-dir і --use-env (автентифікація через змінні середовища, лише для облікового запису за замовчуванням, якщо підтримується). Прапорці для окремих каналів:
| Канал | Прапорці |
|---|---|
| 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 |
Якщо під час команди додавання з прапорцями потрібно встановити плагін каналу, OpenClaw використовує стандартне джерело встановлення каналу, не відкриваючи інтерактивний запит установлення плагіна.
Коли ви запускаєте openclaw channels add без прапорців, інтерактивний майстер може запитати:
- ідентифікатори облікових записів для кожного вибраного каналу
- необов’язкові відображувані назви цих облікових записів
Route these channel accounts to agents now?
Якщо підтвердити прив’язування зараз, майстер запитає, який агент має володіти кожним налаштованим обліковим записом каналу, і запише прив’язки маршрутизації на рівні облікового запису.
Згодом тими самими правилами маршрутизації також можна керувати за допомогою openclaw agents bindings, openclaw agents bind і openclaw agents unbind (див. агенти).
Коли ви додаєте обліковий запис, що не є стандартним, до каналу, який усе ще використовує налаштування верхнього рівня для одного облікового запису, OpenClaw переносить ці значення верхнього рівня до мапи облікових записів каналу перед записом нового облікового запису. Під час перенесення повторно використовується наявний іменований обліковий запис, якщо канал має рівно один такий запис або якщо defaultAccount указує на нього; інакше значення потрапляють до channels.<channel>.accounts.default.
Поведінка маршрутизації залишається узгодженою:
- Наявні прив’язки лише до каналу (без
accountId) і надалі відповідають обліковому запису за замовчуванням. channels addне створює та не переписує прив’язки автоматично в неінтерактивному режимі.- Інтерактивне налаштування може за бажанням додати прив’язки на рівні облікового запису.
Якщо ваша конфігурація вже мала змішаний стан (наявні іменовані облікові записи та водночас задані значення верхнього рівня для одного облікового запису), запустіть openclaw doctor --fix, щоб перемістити значення, пов’язані з обліковим записом, до перенесеного облікового запису, вибраного для цього каналу.
Вхід і вихід (інтерактивно)
openclaw channels login --channel whatsappopenclaw channels logout --channel whatsappchannels loginпідтримує--account <id>і--verbose;channels logoutпідтримує--account <id>.channels loginіlogoutможуть визначити канал, якщо цю дію підтримує лише один налаштований канал; якщо їх кілька, передайте--channel.channels logoutнадає перевагу шляху через активний Gateway, якщо він доступний, тому вихід зупиняє всі активні обробники перед очищенням стану автентифікації каналу. Якщо локальний Gateway недоступний, команда повертається до локального очищення автентифікації; заgateway.mode: "remote"помилка Gateway натомість завершує команду невдало.- Після успішного входу CLI просить доступний локальний Gateway запустити обліковий запис; у віддаленому режимі він зберігає автентифікацію локально та зазначає, що віддалене середовище виконання не було перезапущено.
- Запускайте
channels loginіз термінала на хості Gateway.execагента блокує цей інтерактивний процес входу; для входу з чату слід використовувати нативні для каналів інструменти входу агента, як-отwhatsapp_login, якщо вони доступні.
Усунення несправностей
- Запустіть
openclaw status --deepдля широкої перевірки. - Використовуйте
openclaw doctorдля керованого виправлення. openclaw channels statusповертається до зведень лише на основі конфігурації, коли Gateway недоступний. Якщо облікові дані підтримуваного каналу налаштовані через SecretRef, але недоступні в поточному шляху виконання команди, обліковий запис позначається як налаштований із примітками про обмежений стан, а не як неналаштований.
Перевірка можливостей
Отримайте підказки щодо можливостей постачальника (наміри й області доступу, якщо доступні) разом із підтримкою статичних функцій:
openclaw channels capabilitiesopenclaw channels capabilities --channel discord --target channel:123Примітки:
--channelнеобов’язковий; пропустіть його, щоб показати всі канали (включно з наданими плагінами).--accountдійсний лише разом із--channel.--targetприймаєchannel:<id>або необроблений числовий ідентифікатор каналу та застосовується лише до Discord. Для голосових каналів Discord перевірка дозволів позначає відсутніViewChannel,Connect,Speak,SendMessagesіReadMessageHistory.- Перевірки залежать від постачальника: ідентичність бота Discord і наміри, а також необов’язкові дозволи каналу; області доступу бота й користувача Slack; прапорці бота Telegram і webhook; версія демона Signal; токен застосунку Microsoft Teams і ролі/області доступу Graph (із примітками, де відомо). Для каналів без перевірок виводиться
Probe: unavailable.
Визначення ідентифікаторів за назвами
Визначайте ідентифікатори за назвами каналів або користувачів за допомогою каталогу постачальника:
openclaw channels resolve --channel slack "#general" "@jane"openclaw channels resolve --channel discord "My Server/#support" "@someone"openclaw channels resolve --channel matrix "Project Room"Примітки:
- Використовуйте
--kind user|group|auto, щоб примусово задати тип цілі. - Якщо кілька записів мають однакову назву, під час визначення перевага надається активним збігам.
channels resolveпрацює лише для читання. Якщо вибраний обліковий запис налаштований через SecretRef, але ці облікові дані недоступні в поточному шляху виконання команди, команда повертає невизначені результати з примітками про обмежений стан замість переривання всього запуску.channels resolveне встановлює плагіни каналів. Перш ніж визначати назви для доступного до встановлення каналу каталогу, скористайтесяchannels add --channel <name>.