chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-01 11:04:22 +00:00
parent 6938490b6e
commit fa3c6da15f
2 changed files with 419 additions and 411 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,55 +2,55 @@
read_when:
- Налаштування Plugin каналу (автентифікація, контроль доступу, кілька облікових записів)
- Усунення несправностей із ключами конфігурації для кожного каналу
- Аудит політики DM, групової політики або обмеження за згадками
summary: 'Конфігурація каналів: керування доступом, сполучення, ключі для кожного каналу в Slack, Discord, Telegram, WhatsApp, Matrix, iMessage та інших'
- Аудит політики приватних повідомлень, групової політики або обмеження за згадками
summary: 'Конфігурація каналів: контроль доступу, створення пари, ключі для окремих каналів у Slack, Discord, Telegram, WhatsApp, Matrix, iMessage тощо'
title: Конфігурація — канали
x-i18n:
generated_at: "2026-05-01T03:00:48Z"
generated_at: "2026-05-01T11:02:08Z"
model: gpt-5.5
provider: openai
source_hash: ce1571d51e026182d49b935780a986780a90b05afc0acca027b2541b80a1aac2
source_hash: bcdc5ba7dd6633749eccf27fa20f8933049061e5f11efbf315c31cd2512e055d
source_path: gateway/config-channels.md
workflow: 16
---
Ключі конфігурації для окремих каналів у `channels.*`. Охоплює доступ до DM і груп,
налаштування кількох облікових записів, обмеження за згадкою та поканальні ключі для Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage та інших вбудованих Plugin каналів.
Ключі конфігурації для кожного каналу в `channels.*`. Охоплює доступ до DM і груп,
налаштування кількох облікових записів, обмеження за згадкою та ключі для кожного каналу Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage та інших вбудованих plugin каналів.
Для агентів, інструментів, середовища виконання Gateway та інших ключів верхнього рівня див.
[Довідник конфігурації](/uk/gateway/configuration-reference).
## Канали
Кожен канал запускається автоматично, коли існує його розділ конфігурації (якщо не вказано `enabled: false`).
Кожен канал запускається автоматично, коли існує його секція конфігурації (якщо не задано `enabled: false`).
### Доступ до DM і груп
Усі канали підтримують політики DM і групові політики:
Усі канали підтримують політики DM і політики груп:
| Політика DM | Поведінка |
| Політика DM | Поведінка |
| ------------------- | --------------------------------------------------------------- |
| `pairing` (типово) | Невідомі відправники отримують одноразовий код сполучення; власник має схвалити |
| `allowlist` | Лише відправники в `allowFrom` (або в сховищі дозволених сполучених) |
| `open` | Дозволити всі вхідні DM (потребує `allowFrom: ["*"]`) |
| `disabled` | Ігнорувати всі вхідні DM |
| `pairing` (типово) | Невідомі відправники отримують одноразовий код сполучення; власник має схвалити |
| `allowlist` | Лише відправники в `allowFrom` (або в paired allow store) |
| `open` | Дозволити всі вхідні DM (потрібно `allowFrom: ["*"]`) |
| `disabled` | Ігнорувати всі вхідні DM |
| Групова політика | Поведінка |
| ---------------------- | ------------------------------------------------------- |
| `allowlist` (типово) | Лише групи, що відповідають налаштованому списку дозволених |
| `open` | Обійти списки дозволених груп (обмеження за згадкою все ще застосовується) |
| `disabled` | Блокувати всі повідомлення груп/кімнат |
| Політика групи | Поведінка |
| --------------------- | ------------------------------------------------------ |
| `allowlist` (типово) | Лише групи, що відповідають налаштованому allowlist |
| `open` | Обійти allowlist груп (обмеження за згадкою все одно застосовується) |
| `disabled` | Блокувати всі повідомлення груп/кімнат |
<Note>
`channels.defaults.groupPolicy` задає типове значення, коли `groupPolicy` провайдера не встановлено.
Коди сполучення спливають через 1 годину. Очікувані запити на сполучення DM обмежено до **3 на канал**.
Якщо блок провайдера повністю відсутній (`channels.<provider>` відсутній), групова політика під час виконання повертається до `allowlist` (fail-closed) із попередженням під час запуску.
Коди сполучення спливають через 1 годину. Очікувані запити на сполучення DM обмежені **3 на канал**.
Якщо блок провайдера повністю відсутній (`channels.<provider>` відсутній), політика груп під час виконання повертається до `allowlist` (fail-closed) із попередженням під час запуску.
</Note>
### Перевизначення моделей каналів
### Перевизначення моделі каналу
Використовуйте `channels.modelByChannel`, щоб закріпити конкретні ID каналів за моделлю. Значення приймають `provider/model` або налаштовані псевдоніми моделей. Зіставлення каналів застосовується, коли сесія ще не має перевизначення моделі (наприклад, установленого через `/model`).
Використовуйте `channels.modelByChannel`, щоб закріпити конкретні ID каналів за моделлю. Значення приймають `provider/model` або налаштовані псевдоніми моделей. Зіставлення каналу застосовується, коли сесія ще не має перевизначення моделі (наприклад, заданого через `/model`).
```json5
{
@ -71,9 +71,9 @@ Telegram, WhatsApp, Matrix, iMessage та інших вбудованих Plugin
}
```
### Типові параметри каналів і Heartbeat
### Типові значення каналів і Heartbeat
Використовуйте `channels.defaults` для спільної групової політики та поведінки Heartbeat між провайдерами:
Використовуйте `channels.defaults` для спільної політики груп і поведінки Heartbeat між провайдерами:
```json5
{
@ -91,11 +91,11 @@ Telegram, WhatsApp, Matrix, iMessage та інших вбудованих Plugin
}
```
- `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 у стилі індикатора.
- `channels.defaults.groupPolicy`: резервна політика групи, коли `groupPolicy` на рівні провайдера не встановлено.
- `channels.defaults.contextVisibility`: типовий режим видимості додаткового контексту для всіх каналів. Значення: `all` (типово, включає весь контекст цитат/тредів/історії), `allowlist` (включає лише контекст від відправників з allowlist), `allowlist_quote` (те саме, що allowlist, але зберігає явний контекст цитати/відповіді). Перевизначення для каналу: `channels.<channel>.contextVisibility`.
- `channels.defaults.heartbeat.showOk`: включати справні стани каналів у вивід Heartbeat.
- `channels.defaults.heartbeat.showAlerts`: включати погіршені/помилкові стани у вивід Heartbeat.
- `channels.defaults.heartbeat.useIndicator`: відображати компактний вивід Heartbeat у стилі індикатора.
### WhatsApp
@ -139,7 +139,7 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
<Accordion title="Кілька облікових записів WhatsApp">
<Accordion title="WhatsApp із кількома обліковими записами">
```json5
{
@ -158,9 +158,9 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
```
- Вихідні команди типово використовують обліковий запис `default`, якщо він є; інакше перший налаштований ID облікового запису (відсортований).
- Необов’язковий `channels.whatsapp.defaultAccount` перевизначає цей резервний вибір типового облікового запису, коли він відповідає налаштованому ID облікового запису.
- Застарілий каталог автентифікації Baileys для одного облікового запису переноситься `openclaw doctor` у `whatsapp/default`.
- Перевизначення для окремого облікового запису: `channels.whatsapp.accounts.<id>.sendReadReceipts`, `channels.whatsapp.accounts.<id>.dmPolicy`, `channels.whatsapp.accounts.<id>.allowFrom`.
- Необов’язковий `channels.whatsapp.defaultAccount` перевизначає цей резервний вибір типового облікового запису, коли збігається з налаштованим ID облікового запису.
- Застарілий каталог автентифікації Baileys для одного облікового запису мігрується `openclaw doctor` до `whatsapp/default`.
- Перевизначення для облікового запису: `channels.whatsapp.accounts.<id>.sendReadReceipts`, `channels.whatsapp.accounts.<id>.dmPolicy`, `channels.whatsapp.accounts.<id>.allowFrom`.
</Accordion>
@ -220,12 +220,12 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
```
- Токен бота: `channels.telegram.botToken` або `channels.telegram.tokenFile` (лише звичайний файл; символічні посилання відхиляються), з `TELEGRAM_BOT_TOKEN` як резервом для типового облікового запису.
- `apiRoot` є лише коренем Telegram Bot API. Використовуйте `https://api.telegram.org` або власний self-hosted/proxy корінь, а не `https://api.telegram.org/bot<TOKEN>`; `openclaw doctor --fix` видаляє випадковий кінцевий суфікс `/bot<TOKEN>`.
- Необов’язковий `channels.telegram.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому ID облікового запису.
- `apiRoot` — це лише корінь Telegram Bot API. Використовуйте `https://api.telegram.org` або власний self-hosted/proxy корінь, а не `https://api.telegram.org/bot<TOKEN>`; `openclaw doctor --fix` видаляє випадковий кінцевий суфікс `/bot<TOKEN>`.
- Необов’язковий `channels.telegram.defaultAccount` перевизначає вибір типового облікового запису, коли збігається з налаштованим ID облікового запису.
- У налаштуваннях із кількома обліковими записами (2+ ID облікових записів) задайте явний типовий (`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](/uk/tools/acp-agents#channel-specific-settings).
- Попередні перегляди стримів Telegram використовують `sendMessage` + `editMessageText` (працює в прямих і групових чатах).
- `configWrites: false` блокує записи конфігурації, ініційовані Telegram (міграції ID супергруп, `/config set|unset`).
- Записи верхнього рівня `bindings[]` з `type: "acp"` налаштовують сталі прив’язки ACP для тем форуму (використовуйте канонічний `chatId:topic:topicId` у `match.peer.id`). Семантика полів спільна в [Агенти ACP](/uk/tools/acp-agents#channel-specific-settings).
- Попередні перегляди потоків Telegram використовують `sendMessage` + `editMessageText` (працює в прямих і групових чатах).
- Політика повторних спроб: див. [Політика повторних спроб](/uk/concepts/retry).
### Discord
@ -304,6 +304,8 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
],
daveEncryption: true,
decryptionFailureTolerance: 24,
connectTimeoutMs: 30000,
reconnectGraceMs: 15000,
tts: {
provider: "openai",
openai: { voice: "alloy" },
@ -328,37 +330,39 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- Токен: `channels.discord.token`, з `DISCORD_BOT_TOKEN` як резервним значенням для облікового запису за замовчуванням.
- Прямі вихідні виклики, що надають явний Discord `token`, використовують цей токен для виклику; параметри повторних спроб/політик облікового запису все одно беруться з вибраного облікового запису в активному знімку runtime.
- Необов’язковий `channels.discord.defaultAccount` перевизначає вибір облікового запису за замовчуванням, коли збігається з налаштованим id облікового запису.
- Токен: `channels.discord.token`, з `DISCORD_BOT_TOKEN` як резервним варіантом для стандартного облікового запису.
- Прямі вихідні виклики, які надають явний Discord `token`, використовують цей токен для виклику; налаштування повторних спроб/політик облікового запису все одно беруться з вибраного облікового запису в активному знімку runtime.
- Необов’язковий `channels.discord.defaultAccount` перевизначає вибір стандартного облікового запису, коли він збігається з ідентифікатором налаштованого облікового запису.
- Використовуйте `user:<id>` (DM) або `channel:<id>` (канал гільдії) для цілей доставки; голі числові ID відхиляються.
- Слаги гільдій пишуться малими літерами, а пробіли замінюються на `-`; ключі каналів використовують назву у вигляді слага (без `#`). Надавайте перевагу ID гільдій.
- Повідомлення, створені ботами, за замовчуванням ігноруються. `allowBots: true` вмикає їх; використовуйте `allowBots: "mentions"`, щоб приймати лише повідомлення ботів, які згадують бота (власні повідомлення все одно фільтруються).
- `channels.discord.guilds.<id>.ignoreOtherMentions` (і перевизначення каналів) відкидає повідомлення, які згадують іншого користувача або роль, але не бота (за винятком @everyone/@here).
- `maxLinesPerMessage` (за замовчуванням 17) розбиває високі повідомлення навіть тоді, коли вони мають менше 2000 символів.
- `channels.discord.threadBindings` керує маршрутизацією, прив’язаною до тредів Discord:
- `enabled`: перевизначення Discord для функцій сесій, прив’язаних до тредів (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`, а також прив’язаної доставки/маршрутизації)
- Слаги гільдій пишуться малими літерами із заміною пробілів на `-`; ключі каналів використовують назву зі слагом (без `#`). Надавайте перевагу ID гільдій.
- Повідомлення, створені ботами, типово ігноруються. `allowBots: true` вмикає їх; використовуйте `allowBots: "mentions"`, щоб приймати лише повідомлення ботів, які згадують бота (власні повідомлення все одно фільтруються).
- `channels.discord.guilds.<id>.ignoreOtherMentions` (і перевизначення каналів) відкидає повідомлення, які згадують іншого користувача або роль, але не бота (крім @everyone/@here).
- `maxLinesPerMessage` (типово 17) розбиває високі повідомлення, навіть якщо вони мають менше ніж 2000 символів.
- `channels.discord.threadBindings` керує маршрутизацією Discord, прив’язаною до потоків:
- `enabled`: перевизначення Discord для функцій сесій, прив’язаних до потоку (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` і прив’язана доставка/маршрутизація)
- `idleHours`: перевизначення Discord для автоматичного зняття фокуса через неактивність у годинах (`0` вимикає)
- `maxAgeHours`: перевизначення Discord для жорсткого максимального віку в годинах (`0` вимикає)
- `spawnSubagentSessions`: перемикач явної згоди для автоматичного створення/прив’язування треду `sessions_spawn({ thread: true })`
- Записи верхнього рівня `bindings[]` з `type: "acp"` налаштовують постійні прив’язки ACP для каналів і тредів (використовуйте id каналу/треду в `match.peer.id`). Семантика полів спільна в [агентах ACP](/uk/tools/acp-agents#channel-specific-settings).
- `channels.discord.ui.components.accentColor` задає акцентний колір для контейнерів компонентів Discord v2.
- `channels.discord.voice` вмикає розмови в голосових каналах Discord і необов’язкові перевизначення auto-join + LLM + TTS.
- `channels.discord.voice.model` необов’язково перевизначає модель LLM, що використовується для відповідей у голосових каналах Discord.
- `channels.discord.voice.daveEncryption` і `channels.discord.voice.decryptionFailureTolerance` передаються до параметрів DAVE `@discordjs/voice` (`true` і `24` за замовчуванням).
- OpenClaw додатково намагається відновити прийом голосу, виходячи з голосової сесії та повторно приєднуючись до неї після повторюваних збоїв дешифрування.
- `channels.discord.streaming` є канонічним ключем режиму потоку. Застарілі значення `streamMode` і булеві `streaming` автоматично мігруються.
- `channels.discord.autoPresence` зіставляє доступність runtime з присутністю бота (healthy => online, degraded => idle, exhausted => dnd) і дає змогу необов’язково перевизначати текст статусу.
- `channels.discord.dangerouslyAllowNameMatching` повторно вмикає змінюване зіставлення імені/тега (режим сумісності break-glass).
- `channels.discord.execApprovals`: доставка схвалень exec у Discord-native форматі та авторизація схвалювачів.
- `enabled`: `true`, `false` або `"auto"` (за замовчуванням). В автоматичному режимі схвалення exec активуються, коли схвалювачів можна визначити з `approvers` або `commands.ownerAllowFrom`.
- `approvers`: ID користувачів Discord, яким дозволено схвалювати запити exec. Якщо пропущено, використовується резервне значення `commands.ownerAllowFrom`.
- `agentFilter`: необов’язковий allowlist ID агентів. Пропустіть, щоб пересилати схвалення для всіх агентів.
- `spawnSubagentSessions`: opt-in перемикач для автоматичного створення/прив’язування потоку `sessions_spawn({ thread: true })`
- Записи верхнього рівня `bindings[]` з `type: "acp"` налаштовують сталі прив’язки ACP для каналів і потоків (використовуйте ID каналу/потоку в `match.peer.id`). Семантика полів спільна в [Агенти ACP](/uk/tools/acp-agents#channel-specific-settings).
- `channels.discord.ui.components.accentColor` задає колір акценту для контейнерів компонентів Discord v2.
- `channels.discord.voice` вмикає розмови голосових каналів Discord і необов’язкові перевизначення автоприєднання + LLM + TTS.
- `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` і спроб автоприєднання (типово `30000`).
- `channels.discord.voice.reconnectGraceMs` керує тим, скільки часу від’єднана голосова сесія може входити в сигналізацію повторного підключення, перш ніж OpenClaw її знищить (типово `15000`).
- OpenClaw додатково намагається відновити отримання голосу, виходячи з голосової сесії та повторно приєднуючись до неї після повторних помилок розшифрування.
- `channels.discord.streaming` є канонічним ключем режиму потоку. Застарілі значення `streamMode` і булеві значення `streaming` автоматично мігруються.
- `channels.discord.autoPresence` відображає доступність runtime у присутність бота (healthy => online, degraded => idle, exhausted => dnd) і дозволяє необов’язкові перевизначення тексту статусу.
- `channels.discord.dangerouslyAllowNameMatching` повторно вмикає зіставлення змінних імен/тегів (режим аварійної сумісності).
- `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 зі схваленням після схвалення, відмови або тайм-ауту.
- `target`: куди надсилати запити схвалення. `"dm"` (типово) надсилає в DM схвалювачів, `"channel"` надсилає в початковий канал, `"both"` надсилає в обидва. Коли ціль містить `"channel"`, кнопки можуть використовувати лише визначені схвалювачі.
- `cleanupAfterResolve`: коли `true`, видаляє DM схвалень після схвалення, відхилення або тайм-ауту.
**Режими сповіщень про реакції:** `off` (немає), `own` (повідомлення бота, за замовчуванням), `all` (усі повідомлення), `allowlist``guilds.<id>.users` для всіх повідомлень).
**Режими сповіщень про реакції:** `off` (немає), `own` (повідомлення бота, типово), `all` (усі повідомлення), `allowlist``guilds.<id>.users` для всіх повідомлень).
### Google Chat
@ -391,9 +395,9 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
- JSON облікового запису сервісу: inline (`serviceAccount`) або на основі файлу (`serviceAccountFile`).
- SecretRef облікового запису сервісу також підтримується (`serviceAccountRef`).
- Резервні значення env: `GOOGLE_CHAT_SERVICE_ACCOUNT` або `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
- Резервні варіанти env: `GOOGLE_CHAT_SERVICE_ACCOUNT` або `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
- Використовуйте `spaces/<spaceId>` або `users/<userId>` для цілей доставки.
- `channels.googlechat.dangerouslyAllowNameMatching` повторно вмикає змінюване зіставлення email principal (режим сумісності break-glass).
- `channels.googlechat.dangerouslyAllowNameMatching` повторно вмикає зіставлення змінного principal електронної пошти (режим аварійної сумісності).
### Slack
@ -465,44 +469,44 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- **Socket mode** потребує і `botToken`, і `appToken` (`SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` для резервного env облікового запису за замовчуванням).
- **HTTP mode** потребує `botToken` плюс `signingSecret` (на кореневому рівні або для кожного облікового запису).
- `socketMode` передає налаштування транспорту Slack SDK Socket Mode до публічного API приймача Bolt. Використовуйте це лише під час дослідження тайм-аутів ping/pong або поведінки застарілого websocket.
- `botToken`, `appToken`, `signingSecret` і `userToken` приймають plaintext
рядки або об’єкти SecretRef.
- Знімки облікових записів Slack надають поля джерела/статусу для кожних облікових даних, як-от
`botTokenSource`, `botTokenStatus`, `appTokenStatus`, а в режимі HTTP
- **Socket mode** потребує і `botToken`, і `appToken` (`SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` як резервний env для стандартного облікового запису).
- **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
`signingSecretStatus`. `configured_unavailable` означає, що обліковий запис
налаштовано через SecretRef, але поточна команда/шлях runtime не зміг
налаштовано через SecretRef, але поточний шлях команди/runtime не зміг
визначити значення секрету.
- `configWrites: false` блокує записи конфігурації, ініційовані Slack.
- Необов’язковий `channels.slack.defaultAccount` перевизначає вибір облікового запису за замовчуванням, коли збігається з налаштованим id облікового запису.
- `channels.slack.streaming.mode` є канонічним ключем режиму потоку Slack. `channels.slack.streaming.nativeTransport` керує native streaming транспортом Slack. Застарілі значення `streamMode`, булеві `streaming` і `nativeStreaming` автоматично мігруються.
- Необов’язковий `channels.slack.defaultAccount` перевизначає вибір стандартного облікового запису, коли він збігається з ідентифікатором налаштованого облікового запису.
- `channels.slack.streaming.mode` є канонічним ключем режиму потоку Slack. `channels.slack.streaming.nativeTransport` керує нативним потоковим транспортом Slack. Застарілі значення `streamMode`, булеві `streaming` і `nativeStreaming` автоматично мігруються.
- Використовуйте `user:<id>` (DM) або `channel:<id>` для цілей доставки.
**Режими сповіщень про реакції:** `off`, `own` (за замовчуванням), `all`, `allowlist``reactionAllowlist`).
**Режими сповіщень про реакції:** `off`, `own` (типово), `all`, `allowlist``reactionAllowlist`).
**Ізоляція тредових сесій:** `thread.historyScope` є окремим для кожного треду (за замовчуванням) або спільним для всього каналу. `thread.inheritParent` копіює transcript батьківського каналу в нові треди.
**Ізоляція сесій потоків:** `thread.historyScope` діє для кожного потоку (типово) або спільно для каналу. `thread.inheritParent` копіює транскрипт батьківського каналу в нові потоки.
- Slack native streaming плюс тредовий статус "is typing..." у стилі Slack assistant потребують цілі треду для відповіді. DM верхнього рівня за замовчуванням залишаються поза тредом, тому використовують `typingReaction` або звичайну доставку замість тредового попереднього перегляду.
- `typingReaction` додає тимчасову реакцію до вхідного повідомлення Slack, поки виконується відповідь, а потім видаляє її після завершення. Використовуйте Slack emoji shortcode, наприклад `"hourglass_flowing_sand"`.
- `channels.slack.execApprovals`: доставка схвалень exec у Slack-native форматі та авторизація схвалювачів. Та сама схема, що й у Discord: `enabled` (`true`/`false`/`"auto"`), `approvers` (ID користувачів Slack), `agentFilter`, `sessionFilter` і `target` (`"dm"`, `"channel"` або `"both"`).
- Нативний streaming Slack разом зі статусом потоку в стилі помічника Slack "is typing..." потребує цільового потоку відповіді. DM верхнього рівня типово залишаються поза потоком, тому вони використовують `typingReaction` або звичайну доставку замість попереднього перегляду в стилі потоку.
- `typingReaction` додає тимчасову реакцію до вхідного повідомлення Slack, поки виконується відповідь, а потім видаляє її після завершення. Використовуйте emoji shortcode Slack, наприклад `"hourglass_flowing_sand"`.
- `channels.slack.execApprovals`: нативна для Slack доставка схвалень exec і авторизація схвалювачів. Та сама схема, що й у Discord: `enabled` (`true`/`false`/`"auto"`), `approvers` (ID користувачів Slack), `agentFilter`, `sessionFilter` і `target` (`"dm"`, `"channel"` або `"both"`).
| Група дій | За замовчуванням | Примітки |
| Група дій | Типово | Примітки |
| ------------ | ------- | ---------------------- |
| reactions | enabled | Реакції + список реакцій |
| messages | enabled | Читання/надсилання/редагування/видалення |
| pins | enabled | Закріплення/відкріплення/список |
| memberInfo | enabled | Інформація про учасника |
| emojiList | enabled | Список користувацьких emoji |
| reactions | увімкнено | Реагувати + перелічувати реакції |
| messages | увімкнено | Читати/надсилати/редагувати/видаляти |
| pins | увімкнено | Закріплювати/відкріплювати/перелічувати |
| memberInfo | увімкнено | Інформація про учасника |
| emojiList | увімкнено | Список користувацьких emoji |
### Mattermost
Mattermost постачається як bundled plugin у поточних релізах OpenClaw. Старіші або
користувацькі збірки можуть інсталювати поточний npm-пакет за допомогою
Mattermost постачається як bundled Plugin у поточних випусках OpenClaw. Старіші або
кастомні збірки можуть установити поточний npm-пакет за допомогою
`openclaw plugins install @openclaw/mattermost`; якщо npm повідомляє, що
пакет, який належить OpenClaw, позначено як deprecated, використовуйте bundled plugin або локальний checkout
доки новіший npm-пакет не буде опубліковано.
пакет, яким володіє OpenClaw, застарілий, використовуйте bundled Plugin або локальний checkout
до публікації новішого npm-пакета.
```json5
{
@ -532,23 +536,23 @@ Mattermost постачається як bundled plugin у поточних ре
}
```
Режими чату: `oncall` (відповідати на @-згадку, за замовчуванням), `onmessage` (кожне повідомлення), `onchar` (повідомлення, що починаються з префікса-тригера).
Режими чату: `oncall` (відповідати на @-згадку, типово), `onmessage` (кожне повідомлення), `onchar` (повідомлення, що починаються з префікса-тригера).
Коли native commands Mattermost увімкнено:
Коли нативні команди Mattermost увімкнені:
- `commands.callbackPath` має бути шляхом (наприклад `/api/channels/mattermost/command`), а не повним URL.
- `commands.callbackUrl` має вказувати на endpoint OpenClaw gateway і бути доступним із сервера Mattermost.
- Native slash callbacks автентифікуються токенами кожної команди, повернутими
Mattermost під час реєстрації slash command. Якщо реєстрація завершується невдало або жодних
команд не активовано, OpenClaw відхиляє callbacks з
- `commands.callbackPath` має бути шляхом (наприклад, `/api/channels/mattermost/command`), а не повною URL-адресою.
- `commands.callbackUrl` має вказувати на endpoint OpenClaw Gateway і бути доступним із сервера Mattermost.
- Нативні slash callback автентифікуються токенами окремих команд, які Mattermost повертає
під час реєстрації slash command. Якщо реєстрація завершується невдало або жодні
команди не активовано, OpenClaw відхиляє callback із
`Unauthorized: invalid command token.`
- Для приватних/tailnet/внутрішніх callback-хостів Mattermost може вимагати,
щоб `ServiceSettings.AllowedUntrustedInternalConnections` містив callback host/domain.
Використовуйте значення host/domain, а не повні URL.
- `channels.mattermost.configWrites`: дозволити або заборонити записи конфігурації, ініційовані Mattermost.
щоб `ServiceSettings.AllowedUntrustedInternalConnections` включав callback-хост/домен.
Використовуйте значення хоста/домену, а не повні URL-адреси.
- `channels.mattermost.configWrites`: дозволити або заборонити ініційовані Mattermost записи конфігурації.
- `channels.mattermost.requireMention`: вимагати `@mention` перед відповіддю в каналах.
- `channels.mattermost.groups.<channelId>.requireMention`: перевизначення mention-gating для кожного каналу (`"*"` для значення за замовчуванням).
- Необов’язковий `channels.mattermost.defaultAccount` перевизначає вибір облікового запису за замовчуванням, коли збігається з налаштованим id облікового запису.
- `channels.mattermost.groups.<channelId>.requireMention`: перевизначення перевірки згадок для окремого каналу (`"*"` для типового значення).
- Необов’язковий `channels.mattermost.defaultAccount` перевизначає вибір типового акаунта, коли він збігається з ідентифікатором налаштованого акаунта.
### Signal
@ -571,13 +575,13 @@ Mattermost постачається як bundled plugin у поточних ре
**Режими сповіщень про реакції:** `off`, `own` (типово), `all`, `allowlist``reactionAllowlist`).
- `channels.signal.account`: прив’язати запуск каналу до конкретної ідентичності облікового запису Signal.
- `channels.signal.configWrites`: дозволити або заборонити записи конфігурації, ініційовані Signal.
- Необов’язковий `channels.signal.defaultAccount` перевизначає типовий вибір облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису.
- `channels.signal.account`: прив’язати запуск каналу до конкретної ідентичності акаунта Signal.
- `channels.signal.configWrites`: дозволити або заборонити ініційовані Signal записи конфігурації.
- Необов’язковий `channels.signal.defaultAccount` перевизначає вибір типового акаунта, коли він збігається з ідентифікатором налаштованого акаунта.
### BlueBubbles
BlueBubbles — рекомендований шлях для iMessage (на базі Plugin, налаштовується в `channels.bluebubbles`).
BlueBubbles — рекомендований шлях iMessage (на базі Plugin, налаштовується в `channels.bluebubbles`).
```json5
{
@ -593,7 +597,7 @@ BlueBubbles — рекомендований шлях для iMessage (на ба
```
- Основні шляхи ключів, описані тут: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`.
- Необов’язковий `channels.bluebubbles.defaultAccount` перевизначає типовий вибір облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису.
- Необов’язковий `channels.bluebubbles.defaultAccount` перевизначає вибір типового акаунта, коли він збігається з ідентифікатором налаштованого акаунта.
- Записи верхнього рівня `bindings[]` з `type: "acp"` можуть прив’язувати розмови BlueBubbles до постійних сеансів ACP. Використовуйте handle BlueBubbles або цільовий рядок (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) у `match.peer.id`. Спільна семантика полів: [Агенти ACP](/uk/tools/acp-agents#channel-specific-settings).
- Повну конфігурацію каналу BlueBubbles задокументовано в [BlueBubbles](/uk/channels/bluebubbles).
@ -623,14 +627,14 @@ OpenClaw запускає `imsg rpc` (JSON-RPC через stdio). Демон а
}
```
- Необов’язковий `channels.imessage.defaultAccount` перевизначає типовий вибір облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису.
- Необов’язковий `channels.imessage.defaultAccount` перевизначає вибір типового акаунта, коли він збігається з ідентифікатором налаштованого акаунта.
- Потребує повного доступу до диска для БД Messages.
- Надавайте перевагу цілям `chat_id:<id>`. Використовуйте `imsg chats --limit 20`, щоб перелічити чати.
- Потрібен Full Disk Access до Messages DB.
- Надавайте перевагу цілям `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.
- SCP використовує сувору перевірку host key, тому переконайтеся, що ключ relay-хоста вже існує в `~/.ssh/known_hosts`.
- `channels.imessage.configWrites`: дозволити або заборонити ініційовані iMessage записи конфігурації.
- Записи верхнього рівня `bindings[]` з `type: "acp"` можуть прив’язувати розмови iMessage до постійних сеансів ACP. Використовуйте нормалізований handle або явну ціль чату (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) у `match.peer.id`. Спільна семантика полів: [Агенти ACP](/uk/tools/acp-agents#channel-specific-settings).
<Accordion title="Приклад SSH-обгортки iMessage">
@ -674,21 +678,21 @@ Matrix працює на базі Plugin і налаштовується в `cha
}
```
- Автентифікація токеном використовує `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`: нативна для Matrix доставка схвалень exec і авторизація схвалювачів.
- `enabled`: `true`, `false` або `"auto"` (типово). В автоматичному режимі схвалення exec активуються, коли схвалювачів можна визначити з `approvers` або `commands.ownerAllowFrom`.
- `approvers`: ідентифікатори користувачів Matrix (наприклад, `@owner:example.org`), яким дозволено схвалювати запити exec.
- `agentFilter`: необов’язковий allowlist ідентифікаторів агентів. Пропустіть, щоб пересилати схвалення для всіх агентів.
- `sessionFilter`: необов’язкові шаблони ключів сеансів (підрядок або регулярний вираз).
- `target`: куди надсилати запити на схвалення. `"dm"` (типово), `"channel"` (початкова кімната) або `"both"`.
- Перевизначення для окремих облікових записів: `channels.matrix.accounts.<id>.execApprovals`.
- `channels.matrix.dm.sessionScope` керує тим, як DM Matrix групуються в сеанси: `per-user` (типово) спільно використовує сеанс за маршрутизованим peer, тоді як `per-room` ізолює кожну DM-кімнату.
- Проби стану Matrix і живі пошуки в каталозі використовують ту саму політику проксі, що й трафік runtime.
- Повну конфігурацію Matrix, правила таргетингу та приклади налаштування задокументовано в [Matrix](/uk/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`: вбудована в Matrix доставка підтверджень exec і авторизація тих, хто підтверджує.
- `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 і live-пошуки в каталозі використовують ту саму політику проксі, що й runtime-трафік.
- Повну конфігурацію Matrix, правила націлювання та приклади налаштування задокументовано в [Matrix](/uk/channels/matrix).
### Microsoft Teams
@ -708,7 +712,7 @@ Microsoft Teams працює на базі Plugin і налаштовуєтьс
```
- Основні шляхи ключів, описані тут: `channels.msteams`, `channels.msteams.configWrites`.
- Повну конфігурацію Teams (облікові дані, webhook, політика DM/груп, перевизначення для окремих команд/каналів) задокументовано в [Microsoft Teams](/uk/channels/msteams).
- Повну конфігурацію Teams (облікові дані, Webhook, політика DM/груп, перевизначення для окремої команди/каналу) задокументовано в [Microsoft Teams](/uk/channels/msteams).
### IRC
@ -734,12 +738,12 @@ IRC працює на базі Plugin і налаштовується в `channe
```
- Основні шляхи ключів, описані тут: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`.
- Необов’язковий `channels.irc.defaultAccount` перевизначає типовий вибір облікового запису, коли він збігається з налаштованим ідентифікатором облікового запису.
- Необов’язковий `channels.irc.defaultAccount` перевизначає вибір типового акаунта, коли він збігається з ідентифікатором налаштованого акаунта.
- Повну конфігурацію каналу IRC (host/port/TLS/channels/allowlists/mention gating) задокументовано в [IRC](/uk/channels/irc).
### Кілька облікових записів (усі канали)
### Кілька акаунтів (усі канали)
Запускайте кілька облікових записів на канал (кожен зі своїм `accountId`):
Запускайте кілька акаунтів для кожного каналу (кожен зі своїм `accountId`):
```json5
{
@ -761,33 +765,33 @@ IRC працює на базі Plugin і налаштовується в `channe
```
- `default` використовується, коли `accountId` пропущено (CLI + маршрутизація).
- Токени env застосовуються лише до **типового** облікового запису.
- Базові налаштування каналу застосовуються до всіх облікових записів, якщо їх не перевизначено для окремого облікового запису.
- Використовуйте `bindings[].match.accountId`, щоб маршрутизувати кожен обліковий запис до іншого агента.
- Якщо ви додаєте нетиповий обліковий запис через `openclaw channels add` (або onboarding каналу), поки все ще використовуєте конфігурацію каналу верхнього рівня з одним обліковим записом, OpenClaw спочатку переносить значення верхнього рівня з областю облікового запису в мапу облікових записів каналу, щоб початковий обліковий запис продовжив працювати. Більшість каналів переміщує їх у `channels.<channel>.accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Наявні прив’язки лише до каналу (без `accountId`) продовжують відповідати типовому обліковому запису; прив’язки з областю облікового запису залишаються необов’язковими.
- `openclaw doctor --fix` також виправляє змішані форми, переміщуючи значення верхнього рівня з областю облікового запису в підвищений обліковий запис, вибраний для цього каналу. Більшість каналів використовує `accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Env-токени застосовуються лише до **типового** акаунта.
- Базові налаштування каналу застосовуються до всіх акаунтів, якщо їх не перевизначено для окремого акаунта.
- Використовуйте `bindings[].match.accountId`, щоб спрямувати кожен акаунт до іншого агента.
- Якщо ви додаєте нетиповий акаунт через `openclaw channels add` (або onboarding каналу), коли все ще використовуєте конфігурацію каналу верхнього рівня для одного акаунта, OpenClaw спочатку переносить значення верхнього рівня одного акаунта, прив’язані до акаунта, у мапу акаунтів каналу, щоб початковий акаунт продовжив працювати. Більшість каналів переміщують їх у `channels.<channel>.accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Наявні прив’язки лише каналу (без `accountId`) продовжують відповідати типовому акаунту; прив’язки з областю акаунта залишаються необов’язковими.
- `openclaw doctor --fix` також виправляє змішані форми, переміщуючи значення верхнього рівня одного акаунта, прив’язані до акаунта, у підвищений акаунт, вибраний для цього каналу. Більшість каналів використовують `accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
### Інші канали Plugin
Багато каналів Plugin налаштовуються як `channels.<id>` і задокументовані на власних сторінках каналів (наприклад, Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat і Twitch).
Багато каналів Plugin налаштовуються як `channels.<id>` і задокументовані на своїх спеціальних сторінках каналів (наприклад, Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat і Twitch).
Дивіться повний індекс каналів: [Канали](/uk/channels).
### Mention gating у груповому чаті
### Перевірка згадок у груповому чаті
Для групових повідомлень типово **потрібна згадка** (згадка в метаданих або безпечні шаблони регулярних виразів). Застосовується до групових чатів WhatsApp, Telegram, Discord, Google Chat та iMessage.
Групові повідомлення типово **вимагають згадки** (згадка в метаданих або безпечні regex-шаблони). Застосовується до групових чатів WhatsApp, Telegram, Discord, Google Chat та iMessage.
Видимі відповіді керуються окремо. Групові/канальні кімнати типово використовують `messages.groupChat.visibleReplies: "message_tool"`: OpenClaw все одно обробляє turn, але звичайні фінальні відповіді залишаються приватними, а видимий вивід у кімнату потребує `message(action=send)`. Задавайте `"automatic"` лише тоді, коли вам потрібна застаріла поведінка, за якої звичайні відповіді публікуються назад у кімнату. Щоб застосувати таку саму поведінку видимих відповідей лише через інструмент і до прямих чатів, задайте `messages.visibleReplies: "message_tool"`.
Видимі відповіді керуються окремо. Групові/канальні кімнати типово мають `messages.groupChat.visibleReplies: "message_tool"`: OpenClaw усе одно обробляє хід, але звичайні фінальні відповіді залишаються приватними, а видимий вивід у кімнату потребує `message(action=send)`. Задавайте `"automatic"` лише тоді, коли потрібна застаріла поведінка, за якої звичайні відповіді публікуються назад у кімнату. Щоб застосувати таку саму поведінку видимих відповідей лише через інструмент і до прямих чатів, задайте `messages.visibleReplies: "message_tool"`.
Якщо інструмент повідомлень недоступний у межах активної політики інструментів, OpenClaw повертається до автоматичних видимих відповідей замість мовчазного придушення відповіді. `openclaw doctor` попереджає про цю невідповідність.
Якщо інструмент повідомлень недоступний за активною політикою інструментів, OpenClaw переходить до автоматичних видимих відповідей замість тихого приглушення відповіді. `openclaw doctor` попереджає про цю невідповідність.
Gateway гаряче перезавантажує конфігурацію `messages` після збереження файлу. Перезапускайте лише тоді, коли спостереження за файлами або перезавантаження конфігурації вимкнено в розгортанні.
Gateway гаряче перезавантажує конфігурацію `messages` після збереження файлу. Перезапуск потрібен лише тоді, коли спостереження за файлами або перезавантаження конфігурації вимкнено в розгортанні.
**Типи згадок:**
- **Згадки в метаданих**: нативні @-згадки платформи. Ігноруються в режимі самочату WhatsApp.
- **Текстові шаблони**: безпечні шаблони регулярних виразів у `agents.list[].groupChat.mentionPatterns`. Недійсні шаблони та небезпечні вкладені повторення ігноруються.
- Mention gating застосовується лише тоді, коли виявлення можливе (нативні згадки або принаймні один шаблон).
- **Згадки в метаданих**: Нативні @-згадки платформи. Ігноруються в режимі self-chat WhatsApp.
- **Текстові шаблони**: Безпечні regex-шаблони в `agents.list[].groupChat.mentionPatterns`. Недійсні шаблони та небезпечні вкладені повторення ігноруються.
- Перевірка згадок застосовується лише тоді, коли виявлення можливе (нативні згадки або принаймні один шаблон).
```json5
{
@ -804,11 +808,11 @@ Gateway гаряче перезавантажує конфігурацію `mess
}
```
`messages.groupChat.historyLimit` задає глобальне типове значення. Канали можуть перевизначати його за допомогою `channels.<channel>.historyLimit` (або для окремого облікового запису). Задайте `0`, щоб вимкнути.
`messages.groupChat.historyLimit` задає глобальне значення за замовчуванням. Канали можуть перевизначати його через `channels.<channel>.historyLimit` (або для окремого облікового запису). Установіть `0`, щоб вимкнути.
`messages.visibleReplies`глобальне типове значення для source-turn; `messages.groupChat.visibleReplies` перевизначає його для group/channel source turns. Allowlist каналів і mention gating усе ще визначають, чи обробляється turn.
`messages.visibleReplies`це глобальне значення за замовчуванням для вихідних ходів; `messages.groupChat.visibleReplies` перевизначає його для вихідних ходів у групах/каналах. Списки дозволених каналів і перевірка згадок усе ще визначають, чи буде хід оброблено.
#### Ліміти історії DM
#### Ліміти історії особистих повідомлень
```json5
{
@ -823,13 +827,13 @@ Gateway гаряче перезавантажує конфігурацію `mess
}
```
Визначення: перевизначення для окремого DM → типове значення провайдера → без ліміту (зберігається все).
Порядок визначення: перевизначення для окремого особистого повідомлення → стандартне значення провайдера → без ліміту (усе зберігається).
Підтримується: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`.
#### Режим самочату
#### Режим чату із самим собою
Додайте власний номер у `allowFrom`, щоб увімкнути режим самочату (ігнорує нативні @-згадки, відповідає лише на текстові шаблони):
Додайте власний номер до `allowFrom`, щоб увімкнути режим чату із самим собою (ігнорує нативні @-згадки, відповідає лише на текстові шаблони):
```json5
{
@ -880,31 +884,31 @@ Gateway гаряче перезавантажує конфігурацію `mess
<Accordion title="Відомості про команди">
- Цей блок налаштовує поверхні команд. Поточний вбудований і комплектний каталог команд див. у [Slash Commands](/uk/tools/slash-commands).
- Ця сторінка є **довідником ключів конфігурації**, а не повним каталогом команд. Команди, що належать каналам/Plugin, як-от QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` і Talk `/voice`, задокументовано на сторінках відповідних каналів/Plugin, а також у [Slash Commands](/uk/tools/slash-commands).
- Ця сторінка є **довідником ключів конфігурації**, а не повним каталогом команд. Команди, що належать каналам/Plugin, як-от QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` і Talk `/voice`, задокументовано на відповідних сторінках каналів/Plugin, а також у [Slash Commands](/uk/tools/slash-commands).
- Текстові команди мають бути **окремими** повідомленнями з початковим `/`.
- `native: "auto"` вмикає нативні команди для Discord/Telegram, а Slack залишає вимкненим.
- `nativeSkills: "auto"` вмикає нативні команди Skills для Discord/Telegram, а Slack залишає вимкненим.
- Перевизначення для окремого каналу: `channels.discord.commands.native` (bool або `"auto"`). `false` очищає раніше зареєстровані команди.
- `native: "auto"` вмикає нативні команди для Discord/Telegram і залишає Slack вимкненим.
- `nativeSkills: "auto"` вмикає нативні команди Skills для Discord/Telegram і залишає Slack вимкненим.
- Перевизначення для окремого каналу: `channels.discord.commands.native` (булеве значення або `"auto"`). `false` очищає раніше зареєстровані команди.
- Перевизначайте реєстрацію нативних Skills для окремого каналу через `channels.<provider>.commands.nativeSkills`.
- `channels.telegram.customCommands` додає додаткові записи меню бота Telegram.
- `bash: true` вмикає `! <cmd>` для командної оболонки хоста. Потрібні `tools.elevated.enabled` і відправник у `tools.elevated.allowFrom.<channel>`.
- `config: true` вмикає `/config` (читає/записує `openclaw.json`). Для клієнтів Gateway `chat.send` постійні записи `/config set|unset` також потребують `operator.admin`; доступна лише для читання `/config show` залишається доступною для звичайних клієнтів оператора з областю запису.
- `mcp: true` вмикає `/mcp` для конфігурації сервера MCP, яким керує OpenClaw, у `mcp.servers`.
- `plugins: true` вмикає `/plugins` для виявлення Plugin, встановлення та елементів керування ввімкненням/вимкненням.
- `channels.<provider>.configWrites` обмежує зміни конфігурації для окремого каналу (за замовчуванням: true).
- Для багаторахункових каналів `channels.<provider>.accounts.<id>.configWrites` також обмежує записи, націлені на цей обліковий запис (наприклад, `/allowlist --config --account <id>` або `/config set channels.<provider>.accounts.<id>...`).
- `channels.telegram.customCommands` додає додаткові пункти меню Telegram-бота.
- `bash: true` вмикає `! <cmd>` для shell хоста. Потрібні `tools.elevated.enabled` і відправник у `tools.elevated.allowFrom.<channel>`.
- `config: true` вмикає `/config` (читання/запис `openclaw.json`). Для клієнтів Gateway `chat.send` постійні записи `/config set|unset` також потребують `operator.admin`; `/config show` лише для читання залишається доступним звичайним клієнтам operator з областю запису.
- `mcp: true` вмикає `/mcp` для конфігурації MCP-сервера, керованого OpenClaw, у `mcp.servers`.
- `plugins: true` вмикає `/plugins` для пошуку Plugin, установлення та керування ввімкненням/вимкненням.
- `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` — це явний список дозволених власників для команд/інструментів лише для власника. Він відокремлений від `allowFrom`.
- `ownerDisplay: "hash"` хешує ідентифікатори власників у системному промпті. Установіть `ownerDisplaySecret`, щоб керувати хешуванням.
- `allowFrom` задається для кожного провайдера. Якщо встановлено, це **єдине** джерело авторизації (списки дозволів/сполучення каналів і `useAccessGroups` ігноруються).
- `ownerAllowFrom` — це явний список дозволених власників для команд/інструментів лише для власника. Він окремий від `allowFrom`.
- `ownerDisplay: "hash"` хешує ідентифікатори власників у системному prompt. Установіть `ownerDisplaySecret`, щоб керувати хешуванням.
- `allowFrom` задається для кожного провайдера. Якщо встановлено, це **єдине** джерело авторизації (списки дозволених каналів/сполучення та `useAccessGroups` ігноруються).
- `useAccessGroups: false` дозволяє командам обходити політики груп доступу, коли `allowFrom` не встановлено.
- Мапа документації команд:
- вбудований і комплектний каталог: [Slash Commands](/uk/tools/slash-commands)
- поверхні команд для окремих каналів: [Channels](/uk/channels)
- поверхні команд, специфічні для каналів: [Канали](/uk/channels)
- команди QQ Bot: [QQ Bot](/uk/channels/qqbot)
- команди сполучення: [Pairing](/uk/channels/pairing)
- команди сполучення: [Сполучення](/uk/channels/pairing)
- команда картки LINE: [LINE](/uk/channels/line)
- memory dreaming: [Dreaming](/uk/concepts/dreaming)
- Dreaming пам’яті: [Dreaming](/uk/concepts/dreaming)
</Accordion>