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, Gateway sessions.list или инструмент агента
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>.