Ключі конфігурації для кожного каналу вDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
channels.*. Охоплює доступ до DM і груп,
налаштування з кількома обліковими записами, фільтрацію за згадками та ключі для кожного каналу для Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage та інших вбудованих плагінів каналів.
Для агентів, інструментів, середовища виконання Gateway та інших ключів верхнього рівня див.
Довідник конфігурації.
Канали
Кожен канал запускається автоматично, коли існує його розділ конфігурації (якщо не заданоenabled: false).
Доступ до DM і груп
Усі канали підтримують політики DM і групові політики:| Політика DM | Поведінка |
|---|---|
pairing (default) | Невідомі відправники отримують одноразовий код сполучення; власник має схвалити |
allowlist | Лише відправники в allowFrom (або в сховищі дозволених після сполучення) |
open | Дозволити всі вхідні DM (потребує allowFrom: ["*"]) |
disabled | Ігнорувати всі вхідні DM |
| Групова політика | Поведінка |
|---|---|
allowlist (default) | Лише групи, що відповідають налаштованому списку дозволених |
open | Обходити списки дозволених груп (фільтрація за згадками все одно застосовується) |
disabled | Блокувати всі повідомлення груп/кімнат |
channels.defaults.groupPolicy задає стандартне значення, коли groupPolicy провайдера не встановлено.
Коди сполучення спливають через 1 годину. Очікувані запити на сполучення DM обмежені 3 на канал.
Якщо блок провайдера повністю відсутній (channels.<provider> немає), групова політика під час виконання повертається до allowlist (закриття в разі збою) з попередженням під час запуску.Перевизначення моделі каналу
Використовуйтеchannels.modelByChannel, щоб прив’язати конкретні ідентифікатори каналів до моделі. Значення приймають provider/model або налаштовані псевдоніми моделей. Зіставлення каналу застосовується, коли сесія ще не має перевизначення моделі (наприклад, заданого через /model).
Стандартні параметри каналів і Heartbeat
Використовуйтеchannels.defaults для спільної поведінки групової політики та Heartbeat між провайдерами:
channels.defaults.groupPolicy: резервна групова політика, колиgroupPolicyна рівні провайдера не встановлено.channels.defaults.contextVisibility: стандартний режим видимості додаткового контексту для всіх каналів. Значення:all(типово, включати весь контекст цитат/тредів/історії),allowlist(включати лише контекст від відправників зі списку дозволених),allowlist_quote(те саме, що allowlist, але зберігати явний контекст цитати/відповіді). Перевизначення для каналу:channels.<channel>.contextVisibility.channels.defaults.heartbeat.showOk: включати справні статуси каналів у вивід Heartbeat.channels.defaults.heartbeat.showAlerts: включати статуси деградації/помилки у вивід Heartbeat.channels.defaults.heartbeat.useIndicator: відображати компактний вивід Heartbeat у стилі індикатора.
WhatsApp з кількома обліковими записами
WhatsApp з кількома обліковими записами
- Вихідні команди типово використовують обліковий запис
default, якщо він є; інакше перший налаштований ідентифікатор облікового запису (після сортування). - Необов’язковий
channels.whatsapp.defaultAccountперевизначає цей резервний вибір стандартного облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису. - Застарілий каталог автентифікації Baileys для одного облікового запису мігрується командою
openclaw doctorдоwhatsapp/default. - Перевизначення для облікового запису:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Токен бота:
channels.telegram.botTokenабоchannels.telegram.tokenFile(лише звичайний файл; символічні посилання відхиляються), зTELEGRAM_BOT_TOKENяк резервним варіантом для стандартного облікового запису. apiRoot— це лише корінь Telegram Bot API. Використовуйтеhttps://api.telegram.orgабо свій самостійно розміщений/проксі-корінь, а неhttps://api.telegram.org/bot<TOKEN>;openclaw doctor --fixвидаляє випадковий кінцевий суфікс/bot<TOKEN>.- Необов’язковий
channels.telegram.defaultAccountперевизначає вибір стандартного облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису. - У налаштуваннях із кількома обліковими записами (2+ ідентифікатори облікових записів) задайте явне стандартне значення (
channels.telegram.defaultAccountабоchannels.telegram.accounts.default), щоб уникнути резервної маршрутизації;openclaw doctorпопереджає, коли воно відсутнє або недійсне. configWrites: falseблокує ініційовані Telegram записи конфігурації (міграції ID супергруп,/config set|unset).- Записи верхнього рівня
bindings[]зtype: "acp"налаштовують постійні прив’язки ACP для тем форуму (використовуйте канонічнийchatId:topic:topicIdуmatch.peer.id). Семантика полів спільна в Агенти ACP. - Попередні перегляди потоку Telegram використовують
sendMessage+editMessageText(працює в прямих і групових чатах). - Політика повторних спроб: див. Політика повторних спроб.
Discord
- Токен:
channels.discord.token, зDISCORD_BOT_TOKENяк резервним варіантом для облікового запису за замовчуванням. - Прямі вихідні виклики, які надають явний Discord
token, використовують цей токен для виклику; налаштування повторних спроб/політик облікового запису все одно беруться з вибраного облікового запису в активному знімку середовища виконання. - Необов’язковий
channels.discord.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він збігається з налаштованим ідентифікатором облікового запису. - Використовуйте
user:<id>(DM) абоchannel:<id>(канал гільдії) для цілей доставки; прості числові ID відхиляються. - Слаги гільдій мають нижній регістр із пробілами, заміненими на
-; ключі каналів використовують слаговану назву (без#). Надавайте перевагу ID гільдій. - Повідомлення, створені ботами, за замовчуванням ігноруються.
allowBots: trueвмикає їх; використовуйтеallowBots: "mentions", щоб приймати лише повідомлення ботів, які згадують бота (власні повідомлення все одно фільтруються). channels.discord.guilds.<id>.ignoreOtherMentions(і перевизначення каналів) відкидає повідомлення, які згадують іншого користувача або роль, але не бота (за винятком @everyone/@here).channels.discord.mentionAliasesзіставляє стабільний вихідний текст@handleз ID користувачів Discord перед надсиланням, щоб відомих учасників команди можна було згадувати детерміновано, навіть коли тимчасовий кеш каталогу порожній. Перевизначення для окремих облікових записів розміщені вchannels.discord.accounts.<accountId>.mentionAliases.maxLinesPerMessage(за замовчуванням 17) розбиває високі повідомлення, навіть якщо вони мають менше ніж 2000 символів.channels.discord.threadBindingsкерує маршрутизацією Discord, прив’язаною до тредів:enabled: перевизначення Discord для функцій сеансів, прив’язаних до тредів (/focus,/unfocus,/agents,/session idle,/session max-ageі прив’язана доставка/маршрутизація)idleHours: перевизначення Discord для автоматичного скасування фокуса через неактивність у годинах (0вимикає)maxAgeHours: перевизначення Discord для жорсткого максимального віку в годинах (0вимикає)spawnSessions: перемикач дляsessions_spawn({ thread: true })і автоматичного створення/прив’язування тредів ACP thread-spawn (за замовчуванням:true)defaultSpawnContext: нативний контекст підагентів для запусків, прив’язаних до тредів (за замовчуванням"fork")
- Елементи верхнього рівня
bindings[]зtype: "acp"налаштовують сталі прив’язки ACP для каналів і тредів (використовуйте ID каналу/треду вmatch.peer.id). Семантика полів спільна в Агенти ACP. channels.discord.ui.components.accentColorзадає акцентний колір для контейнерів Discord components v2.channels.discord.voiceвмикає розмови в голосових каналах Discord і необов’язкові перевизначення auto-join + LLM + TTS. Текстові конфігурації Discord за замовчуванням залишають голос вимкненим; задайтеchannels.discord.voice.enabled=true, щоб увімкнути.channels.discord.voice.modelнеобов’язково перевизначає модель LLM, яка використовується для відповідей у голосових каналах Discord.channels.discord.voice.daveEncryptionіchannels.discord.voice.decryptionFailureToleranceпередаються до параметрів DAVE@discordjs/voice(за замовчуваннямtrueі24).channels.discord.voice.connectTimeoutMsкерує початковим очікуванням Ready@discordjs/voiceдля/vc joinі спроб auto-join (за замовчуванням30000).channels.discord.voice.reconnectGraceMsкерує тим, скільки від’єднаний голосовий сеанс може переходити в сигналізацію повторного підключення, перш ніж OpenClaw його знищить (за замовчуванням15000).- Відтворення голосу Discord не переривається подією початку мовлення іншого користувача. Щоб уникнути петель зворотного зв’язку, OpenClaw ігнорує нове захоплення голосу під час відтворення TTS.
- OpenClaw також намагається відновити приймання голосу, виходячи з голосового сеансу та повторно приєднуючись після повторюваних помилок дешифрування.
channels.discord.streamingє канонічним ключем режиму потоку. Discord за замовчуванням використовуєstreaming.mode: "progress", щоб прогрес інструментів/роботи відображався в одному редагованому повідомленні попереднього перегляду; задайтеstreaming.mode: "off", щоб вимкнути. Застарілі значенняstreamModeі булеві значенняstreamingлишаються псевдонімами середовища виконання; виконайтеopenclaw doctor --fix, щоб переписати збережену конфігурацію.channels.discord.autoPresenceзіставляє доступність середовища виконання зі статусом присутності бота (healthy => online, degraded => idle, exhausted => dnd) і дозволяє необов’язкові перевизначення тексту статусу.channels.discord.dangerouslyAllowNameMatchingповторно вмикає зіставлення змінних імен/тегів (режим сумісності break-glass).channels.discord.execApprovals: нативна для Discord доставка схвалень exec і авторизація затверджувачів.enabled:true,falseабо"auto"(за замовчуванням). В автоматичному режимі схвалення exec активуються, коли затверджувачів можна визначити зapproversабоcommands.ownerAllowFrom.approvers: ID користувачів Discord, яким дозволено схвалювати запити exec. Якщо пропущено, використовується резервний варіантcommands.ownerAllowFrom.agentFilter: необов’язковий allowlist ID агентів. Пропустіть, щоб пересилати схвалення для всіх агентів.sessionFilter: необов’язкові шаблони ключів сеансів (підрядок або regex).target: куди надсилати запити на схвалення."dm"(за замовчуванням) надсилає в DM затверджувачів,"channel"надсилає в початковий канал,"both"надсилає в обидва. Коли ціль містить"channel", кнопки можуть використовувати лише визначені затверджувачі.cleanupAfterResolve: колиtrue, видаляє DM зі схваленнями після схвалення, відхилення або тайм-ауту.
off (немає), own (повідомлення бота, за замовчуванням), all (усі повідомлення), allowlist (з guilds.<id>.users для всіх повідомлень).
Google Chat
- JSON сервісного облікового запису: inline (
serviceAccount) або на основі файлу (serviceAccountFile). - SecretRef для сервісного облікового запису також підтримується (
serviceAccountRef). - Резервні змінні середовища:
GOOGLE_CHAT_SERVICE_ACCOUNTабоGOOGLE_CHAT_SERVICE_ACCOUNT_FILE. - Використовуйте
spaces/<spaceId>абоusers/<userId>для цілей доставки. channels.googlechat.dangerouslyAllowNameMatchingповторно вмикає зіставлення змінних email-принципалів (режим сумісності break-glass).
Slack
- Socket mode потребує і
botToken, іappToken(SLACK_BOT_TOKEN+SLACK_APP_TOKENяк резервні змінні середовища для облікового запису за замовчуванням). - HTTP mode потребує
botTokenплюсsigningSecret(у корені або для окремого облікового запису). socketModeпередає налаштування транспорту Slack SDK Socket Mode до публічного API Bolt receiver. Використовуйте це лише під час дослідження тайм-аутів ping/pong або застарілої поведінки websocket.botToken,appToken,signingSecretіuserTokenприймають plaintext рядки або об’єкти SecretRef.- Знімки облікових записів Slack надають поля джерела/статусу для окремих облікових даних, як-от
botTokenSource,botTokenStatus,appTokenStatus, а в HTTP mode —signingSecretStatus.configured_unavailableозначає, що обліковий запис налаштовано через SecretRef, але поточна команда/шлях середовища виконання не змогли отримати значення секрету. configWrites: falseблокує записи конфігурації, ініційовані Slack.- Необов’язковий
channels.slack.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він збігається з налаштованим ідентифікатором облікового запису. channels.slack.streaming.modeє канонічним ключем режиму потоку Slack.channels.slack.streaming.nativeTransportкерує нативним потоковим транспортом Slack. Застарілі значенняstreamMode, булеві значенняstreamingіnativeStreamingлишаються псевдонімами середовища виконання; виконайтеopenclaw doctor --fix, щоб переписати збережену конфігурацію.unfurlLinksіunfurlMediaпередають булеві параметри розгортання посилань і медіа Slackchat.postMessageдля відповідей бота. Пропустіть їх, щоб зберегти поведінку Slack за замовчуванням; задайте їх уchannels.slack.accounts.<accountId>, щоб перевизначити верхній рівень за замовчуванням для одного облікового запису.- Використовуйте
user:<id>(DM) абоchannel:<id>для цілей доставки.
off, own (за замовчуванням), all, allowlist (з reactionAllowlist).
Ізоляція сеансів тредів: thread.historyScope є окремою для кожного треду (за замовчуванням) або спільною для каналу. thread.inheritParent копіює транскрипт батьківського каналу в нові треди.
- Нативний стримінг Slack плюс статус треду в стилі Slack assistant “is typing…” потребують цілі треду для відповіді. DM верхнього рівня за замовчуванням лишаються поза тредами, тому вони все ще можуть транслюватися через чернеткові попередні перегляди Slack із публікацією та редагуванням, замість показу нативного потокового/статусного попереднього перегляду в стилі треду.
typingReactionдодає тимчасову реакцію до вхідного повідомлення Slack, поки виконується відповідь, а потім прибирає її після завершення. Використовуйте shortcode emoji Slack, наприклад"hourglass_flowing_sand".channels.slack.execApprovals: нативна для Slack доставка схвалень exec і авторизація затверджувачів. Та сама схема, що й у Discord:enabled(true/false/"auto"),approvers(ID користувачів Slack),agentFilter,sessionFilterіtarget("dm","channel"або"both").
| Група дій | За замовчуванням | Примітки |
|---|---|---|
| reactions | увімкнено | Реагувати + перелічувати реакції |
| messages | увімкнено | Читати/надсилати/редагувати/видаляти |
| pins | увімкнено | Закріпити/відкріпити/перелічити |
| memberInfo | увімкнено | Інформація про учасника |
| emojiList | увімкнено | Список власних emoji |
Mattermost
Mattermost постачається як bundled Plugin у поточних релізах OpenClaw. Старіші або кастомні збірки можуть установити поточний npm-пакет за допомогоюopenclaw plugins install @openclaw/mattermost. Перевірте
npmjs.com/package/@openclaw/mattermost
щодо поточних dist-tags, перш ніж закріплювати версію.
oncall (відповідати на @-згадку, за замовчуванням), onmessage (кожне повідомлення), onchar (повідомлення, що починаються з префікса-тригера).
Коли нативні команди Mattermost увімкнено:
commands.callbackPathмає бути шляхом (наприклад/api/channels/mattermost/command), а не повною URL-адресою.commands.callbackUrlмає вказувати на кінцеву точку Gateway OpenClaw і бути доступним із сервера Mattermost.- Нативні slash-зворотні виклики автентифікуються токенами для кожної команди, які повертає Mattermost під час реєстрації slash-команди. Якщо реєстрація не вдається або жодні команди не активовано, OpenClaw відхиляє зворотні виклики з
Unauthorized: invalid command token. - Для приватних/tailnet/внутрішніх хостів зворотних викликів Mattermost може вимагати, щоб
ServiceSettings.AllowedUntrustedInternalConnectionsмістив хост/домен зворотного виклику. Використовуйте значення хоста/домену, а не повні URL-адреси. channels.mattermost.configWrites: дозволити або заборонити записи конфігурації, ініційовані Mattermost.channels.mattermost.requireMention: вимагати@mentionперед відповіддю в каналах.channels.mattermost.groups.<channelId>.requireMention: перевизначення шлюзу згадок для окремого каналу ("*"для значення за замовчуванням).- Необов’язковий
channels.mattermost.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він відповідає налаштованому ідентифікатору облікового запису.
Signal
off, own (за замовчуванням), all, allowlist (з reactionAllowlist).
channels.signal.account: прив’язати запуск каналу до конкретної ідентичності облікового запису Signal.channels.signal.configWrites: дозволити або заборонити записи конфігурації, ініційовані Signal.- Необов’язковий
channels.signal.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він відповідає налаштованому ідентифікатору облікового запису.
iMessage
OpenClaw запускаєimsg rpc (JSON-RPC через stdio). Демон або порт не потрібні. Це рекомендований шлях для нових налаштувань OpenClaw iMessage, коли хост може надати дозволи до бази даних Messages і Automation.
Підтримку BlueBubbles вилучено. channels.bluebubbles не є підтримуваною поверхнею конфігурації середовища виконання в поточному OpenClaw. Перенесіть старі конфігурації до channels.imessage; скористайтеся Вилученням BlueBubbles і шляхом imsg iMessage для короткої версії та Перехід із BlueBubbles для повної таблиці відповідностей.
Якщо Gateway не запущено на Mac, де виконано вхід у Messages, залиште channels.imessage.enabled=true і встановіть channels.imessage.cliPath на SSH-обгортку, яка запускає imsg "$@" на цьому Mac. Локальний шлях imsg за замовчуванням працює лише на macOS.
-
Необов’язковий
channels.imessage.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він відповідає налаштованому ідентифікатору облікового запису. - Потребує Full Disk Access до бази даних Messages.
-
Надавайте перевагу цілям
chat_id:<id>. Використовуйтеimsg chats --limit 20, щоб перелічити чати. -
cliPathможе вказувати на SSH-обгортку; установітьremoteHost(hostабоuser@host) для отримання вкладень через SCP. -
attachmentRootsіremoteAttachmentRootsобмежують шляхи вхідних вкладень (за замовчуванням:/Users/*/Library/Messages/Attachments). -
SCP використовує сувору перевірку ключа хоста, тож переконайтеся, що ключ хоста ретранслятора вже існує в
~/.ssh/known_hosts. -
channels.imessage.configWrites: дозволити або заборонити записи конфігурації, ініційовані iMessage. -
channels.imessage.actions.*: увімкнути дії приватного API, які також обмежуються черезimsg status/openclaw channels status --probe. -
channels.imessage.includeAttachmentsвимкнено за замовчуванням; установіть його вtrue, перш ніж очікувати вхідні медіа в ходах агента. -
channels.imessage.catchup.enabled: увімкнути повторне відтворення вхідних повідомлень, які надійшли, поки Gateway був недоступний. -
channels.imessage.groups: реєстр груп і налаштування для кожної групи. ЗgroupPolicy: "allowlist"налаштуйте або явні ключіchat_id, або запис із символом узагальнення"*", щоб групові повідомлення могли пройти шлюз реєстру. -
Записи верхнього рівня
bindings[]зtype: "acp"можуть прив’язувати розмови iMessage до постійних сеансів ACP. Використовуйте нормалізований handle або явну ціль чату (chat_id:*,chat_guid:*,chat_identifier:*) уmatch.peer.id. Спільна семантика полів: Агенти ACP.
Приклад SSH-обгортки iMessage
Приклад SSH-обгортки iMessage
Matrix
Matrix підтримується Plugin і налаштовується вchannels.matrix.
- Автентифікація токеном використовує
accessToken; автентифікація паролем використовуєuserId+password. channels.matrix.proxyспрямовує HTTP-трафік Matrix через явний HTTP(S)-проксі. Іменовані облікові записи можуть перевизначити його за допомогоюchannels.matrix.accounts.<id>.proxy.channels.matrix.network.dangerouslyAllowPrivateNetworkдозволяє приватні/внутрішні homeserver-и.proxyі це мережеве явне ввімкнення є незалежними елементами керування.channels.matrix.defaultAccountвибирає бажаний обліковий запис у налаштуваннях із кількома обліковими записами.channels.matrix.autoJoinза замовчуванням має значенняoff, тож запрошені кімнати й нові запрошення у стилі DM ігноруються, доки ви не встановитеautoJoin: "allowlist"зautoJoinAllowlistабоautoJoin: "always".channels.matrix.execApprovals: доставка схвалень exec засобами Matrix і авторизація схвалювачів.enabled:true,falseабо"auto"(за замовчуванням). В автоматичному режимі схвалення exec активуються, коли схвалювачів можна визначити зapproversабоcommands.ownerAllowFrom.approvers: ідентифікатори користувачів Matrix (наприклад@owner:example.org), яким дозволено схвалювати запити exec.agentFilter: необов’язковий allowlist ідентифікаторів агентів. Опустіть, щоб пересилати схвалення для всіх агентів.sessionFilter: необов’язкові шаблони ключів сеансів (підрядок або regex).target: куди надсилати запити схвалення."dm"(за замовчуванням),"channel"(кімната походження) або"both".- Перевизначення для окремого облікового запису:
channels.matrix.accounts.<id>.execApprovals.
channels.matrix.dm.sessionScopeкерує тим, як DM Matrix групуються в сеанси:per-user(за замовчуванням) ділиться за маршрутизованим peer, тоді якper-roomізолює кожну DM-кімнату.- Перевірки статусу Matrix і живі пошуки в каталозі використовують ту саму політику проксі, що й трафік середовища виконання.
- Повну конфігурацію Matrix, правила таргетування та приклади налаштування задокументовано в Matrix.
Microsoft Teams
Microsoft Teams підтримується Plugin і налаштовується вchannels.msteams.
- Основні шляхи ключів, описані тут:
channels.msteams,channels.msteams.configWrites. - Повну конфігурацію Teams (облікові дані, webhook, політика DM/груп, перевизначення для команди/каналу) задокументовано в Microsoft Teams.
IRC
IRC підтримується Plugin і налаштовується вchannels.irc.
- Основні шляхи ключів, описані тут:
channels.irc,channels.irc.dmPolicy,channels.irc.configWrites,channels.irc.nickserv.*. - Необов’язковий
channels.irc.defaultAccountперевизначає вибір облікового запису за замовчуванням, коли він відповідає налаштованому ідентифікатору облікового запису. - Повну конфігурацію каналу IRC (host/port/TLS/channels/allowlists/mention gating) задокументовано в IRC.
Кілька облікових записів (усі канали)
Запускайте кілька облікових записів на канал (кожен із власнимaccountId):
defaultвикористовується, колиaccountIdопущено (CLI + маршрутизація).- Env-токени застосовуються лише до облікового запису за замовчуванням.
- Базові налаштування каналу застосовуються до всіх облікових записів, якщо їх не перевизначено для окремого облікового запису.
- Використовуйте
bindings[].match.accountId, щоб спрямовувати кожен обліковий запис до іншого агента. - Якщо ви додаєте обліковий запис не за замовчуванням через
openclaw channels add(або під час онбордингу каналу), поки все ще маєте конфігурацію каналу верхнього рівня з одним обліковим записом, OpenClaw спершу просуває значення одного облікового запису верхнього рівня, scoped для облікового запису, у мапу облікових записів каналу, щоб початковий обліковий запис продовжив працювати. Більшість каналів переміщують їх уchannels.<channel>.accounts.default; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль. - Наявні прив’язки лише каналу (без
accountId) продовжують відповідати обліковому запису за замовчуванням; прив’язки, scoped для облікового запису, залишаються необов’язковими. openclaw doctor --fixтакож виправляє змішані форми, переміщуючи значення одного облікового запису верхнього рівня, scoped для облікового запису, у просунутий обліковий запис, вибраний для цього каналу. Більшість каналів використовуютьaccounts.default; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
Інші Plugin-канали
Багато Plugin-каналів налаштовуються якchannels.<id> і задокументовані на своїх окремих сторінках каналів (наприклад Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat і Twitch).
Див. повний індекс каналів: Канали.
Шлюз згадок у груповому чаті
Групові повідомлення за замовчуванням вимагають згадки (згадка в metadata або безпечні regex-шаблони). Застосовується до групових чатів WhatsApp, Telegram, Discord, Google Chat та iMessage. Видимі відповіді керуються окремо. Групові кімнати/кімнати каналів типово використовуютьmessages.groupChat.visibleReplies: "message_tool": OpenClaw усе ще обробляє хід, але звичайні фінальні відповіді залишаються приватними, а видимий вивід у кімнаті потребує message(action=send). Встановлюйте "automatic" лише коли потрібна застаріла поведінка, за якої звичайні відповіді публікуються назад у кімнату. Щоб застосувати таку саму поведінку видимих відповідей лише через інструмент і до прямих чатів, встановіть messages.visibleReplies: "message_tool"; Codex harness також використовує цю поведінку лише через інструмент як типове значення для прямих чатів, коли воно не задане.
Видимі відповіді лише через інструмент потребують моделі/runtime, що надійно викликає інструменти. Якщо
журнал сесії показує текст асистента з didSendViaMessagingTool: false, це означає, що
модель створила приватну фінальну відповідь замість виклику інструмента повідомлень.
Перейдіть на сильнішу модель із викликом інструментів для цього каналу або встановіть
messages.groupChat.visibleReplies: "automatic", щоб відновити застарілі видимі фінальні
відповіді.
Якщо інструмент повідомлень недоступний за активної політики інструментів, OpenClaw повертається до автоматичних видимих відповідей замість тихого приглушення відповіді. openclaw doctor попереджає про цю невідповідність.
Gateway гаряче перезавантажує конфігурацію messages після збереження файлу. Перезапускайте лише тоді, коли спостереження за файлами або перезавантаження конфігурації вимкнено в розгортанні.
Типи згадок:
- Метадані згадок: нативні @-згадки платформи. Ігноруються в режимі самочату WhatsApp.
- Текстові шаблони: безпечні regex-шаблони в
agents.list[].groupChat.mentionPatterns. Недійсні шаблони та небезпечні вкладені повторення ігноруються. - Шлюз згадок застосовується лише коли виявлення можливе (нативні згадки або принаймні один шаблон).
messages.groupChat.historyLimit задає глобальне типове значення. Канали можуть перевизначати його через channels.<channel>.historyLimit (або для окремого акаунта). Встановіть 0, щоб вимкнути.
messages.visibleReplies є глобальним типовим значенням для source-turn; messages.groupChat.visibleReplies перевизначає його для group/channel source turns. Коли messages.visibleReplies не задано, harness може надати власне типове значення direct/source; Codex harness типово використовує message_tool. Allowlist каналів і шлюз згадок усе ще вирішують, чи обробляється хід.
Ліміти історії DM
telegram, whatsapp, discord, slack, signal, imessage, msteams.
Режим самочату
Додайте власний номер доallowFrom, щоб увімкнути режим самочату (ігнорує нативні @-згадки, відповідає лише на текстові шаблони):
Команди (обробка команд чату)
Відомості про команди
Відомості про команди
- Цей блок налаштовує поверхні команд. Поточний вбудований і bundled каталог команд див. у Slash Commands.
- Ця сторінка є довідником конфігураційних ключів, а не повним каталогом команд. Команди, що належать каналам/плагінам, як-от QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, device-pair/pair, memory/dreaming, phone-control/phoneі Talk/voice, документуються на сторінках відповідних каналів/плагінів, а також у Slash Commands. - Текстові команди мають бути окремими повідомленнями з початковим
/. native: "auto"вмикає нативні команди для Discord/Telegram, залишає Slack вимкненим.nativeSkills: "auto"вмикає нативні команди Skills для Discord/Telegram, залишає Slack вимкненим.- Перевизначення для окремого каналу:
channels.discord.commands.native(bool або"auto"). Для Discord значенняfalseпропускає реєстрацію нативних команд і очищення під час запуску. - Перевизначте реєстрацію нативних Skills для окремого каналу через
channels.<provider>.commands.nativeSkills. channels.telegram.customCommandsдодає додаткові записи меню Telegram-бота.bash: trueвмикає! <cmd>для shell хоста. Потребуєtools.elevated.enabledі відправника вtools.elevated.allowFrom.<channel>.config: trueвмикає/config(читання/записopenclaw.json). Для клієнтів Gatewaychat.sendпостійні записи/config set|unsetтакож потребуютьoperator.admin;/config showлише для читання залишається доступним звичайним клієнтам operator із write-scope.mcp: trueвмикає/mcpдля конфігурації MCP-сервера, керованого OpenClaw, уmcp.servers.plugins: trueвмикає/pluginsдля виявлення, встановлення та керування увімкненням/вимкненням плагінів.channels.<provider>.configWritesобмежує мутації конфігурації для окремого каналу (типово: true).- Для каналів із кількома акаунтами
channels.<provider>.accounts.<id>.configWritesтакож обмежує записи, що націлені на цей акаунт (наприклад,/allowlist --config --account <id>або/config set channels.<provider>.accounts.<id>...). restart: falseвимикає/restartі дії інструмента перезапуску Gateway. Типово:true.ownerAllowFrom— явний allowlist власника для команд/інструментів лише для власника. Він окремий відallowFrom.ownerDisplay: "hash"хешує id власників у системному prompt. ВстановітьownerDisplaySecret, щоб керувати хешуванням.allowFromзадається для кожного провайдера. Коли його встановлено, це єдине джерело авторизації (allowlist/спарювання каналів іuseAccessGroupsігноруються).useAccessGroups: falseдозволяє командам обходити політики access-group, колиallowFromне встановлено.- Мапа документації команд:
Пов’язане
- Довідник конфігурації — ключі верхнього рівня
- Конфігурація — агенти
- Огляд каналів