CLI commands

Канали

openclaw channels

Керуйте обліковими записами каналів чату та їхнім станом виконання в Gateway.

Пов’язана документація:

Поширені команди

bash
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 all

channels list показує лише канали чату: за замовчуванням — налаштовані облікові записи з позначками стану installed, configured і enabled для кожного облікового запису (--json для машинного виводу). Передайте --all, щоб також показати вбудовані канали, для яких ще немає налаштованого облікового запису, і доступні для встановлення канали каталогу, яких ще немає на диску. Автентифікація постачальника та використання моделей відображаються в інших місцях: openclaw models auth list — для профілів автентифікації постачальника, openclaw status або openclaw models list — для використання й квоти.

Стан / можливості / визначення / журнали

  • channels status: --channel <name>, --probe, --timeout <ms> (за замовчуванням 10000), --json
  • channels capabilities: --channel <name>, --account <id> (потребує --channel), --target <dest> (потребує --channel), --timeout <ms> (за замовчуванням 10000, максимум 30000), --json
  • channels resolve <entries...>: --channel <name>, --account <id>, --kind <auto|user|group> (за замовчуванням auto), --json
  • channels 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 не з’явиться до наступної вхідної або вихідної події розмови.

Додавання / видалення облікових записів

bash
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 працює лише зі встановленими або налаштованими плагінами каналів. Для доступних до встановлення каналів каталогу спочатку скористайтеся 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
WhatsApp --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, щоб перемістити значення, пов’язані з обліковим записом, до перенесеного облікового запису, вибраного для цього каналу.

Вхід і вихід (інтерактивно)

bash
openclaw channels login --channel whatsappopenclaw channels logout --channel whatsapp
  • channels 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, але недоступні в поточному шляху виконання команди, обліковий запис позначається як налаштований із примітками про обмежений стан, а не як неналаштований.

Перевірка можливостей

Отримайте підказки щодо можливостей постачальника (наміри й області доступу, якщо доступні) разом із підтримкою статичних функцій:

bash
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.

Визначення ідентифікаторів за назвами

Визначайте ідентифікатори за назвами каналів або користувачів за допомогою каталогу постачальника:

bash
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>.

Пов’язане

Was this useful?
On this page

On this page