chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-03 18:13:18 +00:00
parent a0408fe705
commit 797e39eae2
3 changed files with 619 additions and 621 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +1,29 @@
---
read_when:
- Налаштування Plugin каналу (автентифікація, контроль доступу, кілька облікових записів)
- Усунення неполадок із ключами конфігурації для окремих каналів
- Усунення несправностей із ключами конфігурації для кожного каналу
- Аудит політики особистих повідомлень, групової політики або контролю згадок
summary: 'Налаштування каналів: контроль доступу, сполучення, поканальні ключі для Slack, Discord, Telegram, WhatsApp, Matrix, iMessage тощо'
summary: 'Конфігурація каналів: контроль доступу, парування, ключі для кожного каналу в Slack, Discord, Telegram, WhatsApp, Matrix, iMessage тощо'
title: Конфігурація — канали
x-i18n:
generated_at: "2026-05-03T01:35:01Z"
generated_at: "2026-05-03T18:10:44Z"
model: gpt-5.5
provider: openai
source_hash: 5ec4aad94a844f6e2f936b2e0d208343ea264c9a4c74f7fc610c516e0353b53b
source_hash: 7deb5358980d58a917eb564d8f65a43d6b61b8bc53b80349f404353db50bbb98
source_path: gateway/config-channels.md
workflow: 16
---
Ключі конфігурації окремих каналів у `channels.*`. Охоплює доступ до DM і груп,
налаштування кількох облікових записів, фільтрацію за згадками та поканальні ключі для Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage та інших вбудованих плагінів каналів.
Ключі конфігурації для окремих каналів у `channels.*`. Охоплює доступ до DM і груп,
налаштування кількох облікових записів, обмеження за згадками та ключі окремих каналів для Slack, Discord,
Telegram, WhatsApp, Matrix, iMessage та інших вбудованих channel plugins.
Для агентів, інструментів, середовища виконання Gateway та інших ключів верхнього рівня див.
[Довідник конфігурації](/uk/gateway/configuration-reference).
[Довідник із конфігурації](/uk/gateway/configuration-reference).
## Канали
Кожен канал запускається автоматично, коли існує його розділ конфігурації (якщо не задано `enabled: false`).
Кожен канал запускається автоматично, коли існує його розділ конфігурації (якщо не вказано `enabled: false`).
### Доступ до DM і груп
@ -31,26 +31,26 @@ Telegram, WhatsApp, Matrix, iMessage та інших вбудованих пла
| Політика DM | Поведінка |
| ------------------- | --------------------------------------------------------------- |
| `pairing` (default) | Невідомі відправники отримують одноразовий код сполучення; власник має схвалити |
| `pairing` (типово) | Невідомі відправники отримують одноразовий код сполучення; власник має схвалити |
| `allowlist` | Лише відправники в `allowFrom` (або у сховищі дозволених після сполучення) |
| `open` | Дозволити всі вхідні DM (потрібно `allowFrom: ["*"]`) |
| `open` | Дозволити всі вхідні DM (потребує `allowFrom: ["*"]`) |
| `disabled` | Ігнорувати всі вхідні DM |
| Групова політика | Поведінка |
| Групова політика | Поведінка |
| --------------------- | ------------------------------------------------------ |
| `allowlist` (default) | Лише групи, що відповідають налаштованому списку дозволених |
| `open` | Обійти списки дозволених груп (фільтрація за згадками все одно застосовується) |
| `allowlist` (типово) | Лише групи, що відповідають налаштованому списку дозволених |
| `open` | Обходити списки дозволених груп (обмеження за згадками все ще застосовується) |
| `disabled` | Блокувати всі повідомлення груп/кімнат |
<Note>
`channels.defaults.groupPolicy` задає типове значення, коли `groupPolicy` провайдера не встановлено.
Коди сполучення спливають через 1 годину. Очікувані запити на сполучення DM обмежені **3 на канал**.
Якщо блок провайдера повністю відсутній (`channels.<provider>` відсутній), групова політика під час виконання повертається до `allowlist` (закрито в разі помилки) із попередженням під час запуску.
Якщо блок провайдера повністю відсутній (`channels.<provider>` відсутній), групова політика під час виконання повертається до `allowlist` (fail-closed) із попередженням під час запуску.
</Note>
### Перевизначення моделі каналу
Використовуйте `channels.modelByChannel`, щоб закріпити певні ідентифікатори каналів за моделлю. Значення приймають `provider/model` або налаштовані псевдоніми моделей. Зіставлення каналів застосовується, коли сеанс ще не має перевизначення моделі (наприклад, заданого через `/model`).
Використовуйте `channels.modelByChannel`, щоб закріпити певні ID каналів за моделлю. Значення приймають `provider/model` або налаштовані псевдоніми моделей. Зіставлення каналу застосовується, коли сеанс ще не має перевизначення моделі (наприклад, заданого через `/model`).
```json5
{
@ -71,9 +71,9 @@ Telegram, WhatsApp, Matrix, iMessage та інших вбудованих пла
}
```
### Типові значення каналів і Heartbeat
### Типові налаштування каналів і Heartbeat
Використовуйте `channels.defaults` для спільної поведінки групової політики та Heartbeat між провайдерами:
Використовуйте `channels.defaults` для спільної групової політики та поведінки Heartbeat між провайдерами:
```json5
{
@ -92,14 +92,14 @@ Telegram, WhatsApp, Matrix, iMessage та інших вбудованих пла
```
- `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.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 працює через вебканал Gateway (Baileys Web). Він запускається автоматично, коли існує зв’язаний сеанс.
WhatsApp працює через вебканал Gateway (Baileys Web). Він запускається автоматично, коли існує пов’язаний сеанс.
```json5
{
@ -139,7 +139,7 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
<Accordion title="Кілька облікових записів WhatsApp">
<Accordion title="WhatsApp із кількома обліковими записами">
```json5
{
@ -157,8 +157,8 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- Вихідні команди типово використовують обліковий запис `default`, якщо він є; інакше перший налаштований ідентифікатор облікового запису (у відсортованому порядку).
- Необов’язковий `channels.whatsapp.defaultAccount` перевизначає вибір резервного типового облікового запису, коли він відповідає налаштованому ідентифікатору облікового запису.
- Вихідні команди типово використовують обліковий запис `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`.
@ -219,13 +219,13 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- Токен бота: `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` попереджає, коли він відсутній або недійсний.
- Токен бота: `channels.telegram.botToken` або `channels.telegram.tokenFile` (лише звичайний файл; символьні посилання відхиляються), із `TELEGRAM_BOT_TOKEN` як резервним значенням для типового облікового запису.
- `apiRoot` є лише коренем Telegram Bot API. Використовуйте `https://api.telegram.org` або власний self-hosted/proxy root, а не `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#persistent-channel-bindings).
- Попередній перегляд потоків Telegram використовує `sendMessage` + `editMessageText` (працює в прямих і групових чатах).
- Записи верхнього рівня `bindings[]` із `type: "acp"` налаштовують постійні прив’язки ACP для тем форуму (використовуйте канонічний `chatId:topic:topicId` у `match.peer.id`). Семантика полів спільна з [агентами ACP](/uk/tools/acp-agents#persistent-channel-bindings).
- Попередні перегляди потоків Telegram використовують `sendMessage` + `editMessageText` (працює в прямих і групових чатах).
- Політика повторних спроб: див. [Політика повторних спроб](/uk/concepts/retry).
### Discord
@ -331,41 +331,41 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- Токен: `channels.discord.token`, з `DISCORD_BOT_TOKEN` як резервом для облікового запису за замовчуванням.
- Прямі вихідні виклики, які надають явний Discord `token`, використовують цей токен для виклику; параметри повторних спроб/політик облікового запису все одно беруться з вибраного облікового запису в активному знімку runtime.
- Необовязковий `channels.discord.defaultAccount` перевизначає вибір облікового запису за замовчуванням, коли він збігається з налаштованим ID облікового запису.
- Використовуйте `user:<id>` (DM) або `channel:<id>` (канал guild) для цілей доставки; прості числові ID відхиляються.
- Слаги guild пишуться малими літерами із заміною пробілів на `-`; ключі каналів використовують назву зі слагом (без `#`). Надавайте перевагу ID guild.
- Повідомлення, створені ботом, за замовчуванням ігноруються. `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` і прив’язана доставка/маршрутизація)
- Токен: `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` з Discord ID користувачів перед надсиланням, щоб відомих колег можна було згадувати детерміновано, навіть коли тимчасовий кеш каталогу порожній. Перевизначення для окремих облікових записів розташовані в `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 })` і автоматичного створення/прив’язування потоків під час thread-spawn ACP (за замовчуванням: `true`)
- `defaultSpawnContext`: нативний контекст субагента для спавнів, прив’язаних до потоків (за замовчуванням `"fork"`)
- Записи верхнього рівня `bindings[]` з `type: "acp"` налаштовують постійні прив’язки ACP для каналів і потоків (використовуйте ID каналу/потоку в `match.peer.id`). Семантика полів спільна в [Агенти ACP](/uk/tools/acp-agents#persistent-channel-bindings).
- `channels.discord.ui.components.accentColor` задає акцентний колір для контейнерів компонентів Discord 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`).
- OpenClaw додатково намагається відновити приймання голосу, виходячи з голосової сесії та повторно приєднуючись після повторюваних помилок розшифрування.
- `channels.discord.streaming` — канонічний ключ режиму потоку. Застарілі значення `streamMode` і булеві `streaming` автоматично мігруються.
- `channels.discord.autoPresence` зіставляє доступність runtime зі статусом присутності бота (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"` надсилає в обидва. Коли target містить `"channel"`, кнопки можуть використовувати лише визначені користувачі, що підтверджують.
- `cleanupAfterResolve`: коли `true`, видаляє DM підтвердження після схвалення, відхилення або тайм-ауту.
- `spawnSessions`: перемикач для `sessions_spawn({ thread: true })` і автоматичного створення/прив'язування гілок під час породження гілок ACP (типово: `true`)
- `defaultSpawnContext`: нативний контекст субагента для породжень, прив'язаних до гілки (типово `"fork"`)
- Записи верхнього рівня `bindings[]` з `type: "acp"` налаштовують сталі прив'язки ACP для каналів і гілок (використовуйте ID каналу/гілки в `match.peer.id`). Семантика полів спільна в [Агенти ACP](/uk/tools/acp-agents#persistent-channel-bindings).
- `channels.discord.ui.components.accentColor` задає акцентний колір для контейнерів Discord components v2.
- `channels.discord.voice` вмикає розмови в голосових каналах Discord і необов'язкові перевизначення авто-приєднання + 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` і авто-приєднання (типово `30000`).
- `channels.discord.voice.reconnectGraceMs` керує тим, скільки часу від'єднаний голосовий сеанс може мати для входу в сигналізацію повторного підключення, перш ніж OpenClaw знищить його (типово `15000`).
- OpenClaw додатково намагається відновити приймання голосу, виходячи з голосового сеансу й повторно приєднуючись до нього після повторюваних помилок розшифрування.
- `channels.discord.streaming` є канонічним ключем режиму потоку. Застарілі значення `streamMode` і булеві `streaming` автоматично мігруються.
- `channels.discord.autoPresence` зіставляє доступність середовища виконання зі станом присутності бота (healthy => online, degraded => idle, exhausted => dnd) і дає змогу необов'язково перевизначати текст статусу.
- `channels.discord.dangerouslyAllowNameMatching` повторно вмикає зіставлення змінних імен/тегів (режим сумісності для аварійного випадку).
- `channels.discord.execApprovals`: нативне для Discord доставлення підтверджень exec і авторизація затверджувачів.
- `enabled`: `true`, `false` або `"auto"` (типово). В автоматичному режимі підтвердження exec активуються, коли затверджувачів можна розв'язати з `approvers` або `commands.ownerAllowFrom`.
- `approvers`: Discord ID користувачів, яким дозволено затверджувати exec-запити. Якщо пропущено, використовує `commands.ownerAllowFrom`.
- `agentFilter`: необов'язковий список дозволених ID агентів. Пропустіть, щоб пересилати підтвердження для всіх агентів.
- `sessionFilter`: необов'язкові шаблони ключів сеансів (підрядок або regex).
- `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
@ -396,11 +396,11 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- JSON сервісного облікового запису: inline (`serviceAccount`) або на основі файлу (`serviceAccountFile`).
- JSON сервісного облікового запису: вбудований (`serviceAccount`) або файловий (`serviceAccountFile`).
- SecretRef сервісного облікового запису також підтримується (`serviceAccountRef`).
- Резерви env: `GOOGLE_CHAT_SERVICE_ACCOUNT` або `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
- Використовуйте `spaces/<spaceId>` або `users/<userId>` для цілей доставки.
- `channels.googlechat.dangerouslyAllowNameMatching` повторно вмикає зіставлення за змінним email principal (режим сумісності break-glass).
- Резервні значення середовища: `GOOGLE_CHAT_SERVICE_ACCOUNT` або `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
- Використовуйте `spaces/<spaceId>` або `users/<userId>` для цілей доставлення.
- `channels.googlechat.dangerouslyAllowNameMatching` повторно вмикає зіставлення змінних email principal (режим сумісності для аварійного випадку).
### Slack
@ -472,44 +472,44 @@ WhatsApp працює через вебканал Gateway (Baileys Web). Він
}
```
- **Socket mode** потребує і `botToken`, і `appToken` (`SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` для резерву env облікового запису за замовчуванням).
- **Socket mode** потребує і `botToken`, і `appToken` (`SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN` для резервного значення середовища типового облікового запису).
- **HTTP mode** потребує `botToken` плюс `signingSecret` (у корені або для окремого облікового запису).
- `socketMode` передає налаштування транспорту Slack SDK Socket Mode до публічного API receiver Bolt. Використовуйте це лише під час дослідження ping/pong timeout або застарілої поведінки websocket.
- `botToken`, `appToken`, `signingSecret` і `userToken` приймають plaintext
рядки або обєкти SecretRef.
- Знімки облікових записів Slack надають поля джерела/статусу для окремих credential, як-от
`botTokenSource`, `botTokenStatus`, `appTokenStatus` і, в HTTP mode,
- `socketMode` передає налаштування транспорту Slack SDK Socket Mode до публічного API отримувача Bolt. Використовуйте його лише під час розслідування тайм-аутів ping/pong або поведінки застарілого websocket.
- `botToken`, `appToken`, `signingSecret` і `userToken` приймають відкриті текстові
рядки або об'єкти SecretRef.
- Знімки облікових записів Slack надають поля джерела/статусу для окремих облікових даних, як-от
`botTokenSource`, `botTokenStatus`, `appTokenStatus`, а в HTTP mode -
`signingSecretStatus`. `configured_unavailable` означає, що обліковий запис
налаштовано через SecretRef, але поточна команда/шлях runtime не змогли
визначити значення secret.
- `configWrites: false` блокує записи конфігурації, ініційовані Slack.
- Необовязковий `channels.slack.defaultAccount` перевизначає вибір облікового запису за замовчуванням, коли він збігається з налаштованим ID облікового запису.
- `channels.slack.streaming.mode` — канонічний ключ режиму потоку Slack. `channels.slack.streaming.nativeTransport` керує нативним транспортом потокової передачі Slack. Застарілі значення `streamMode`, булеві `streaming` і `nativeStreaming` автоматично мігруються.
- Використовуйте `user:<id>` (DM) або `channel:<id>` для цілей доставки.
налаштовано через SecretRef, але поточний шлях команди/середовища виконання не зміг
розв'язати значення секрету.
- `configWrites: false` блокує ініційовані Slack записи конфігурації.
- Необов'язковий `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 разом зі статусом потоку в стилі асистента Slack "is typing..." потребують цілі у вигляді потоку відповіді. DM верхнього рівня за замовчуванням залишаються поза потоком, тому вони все одно можуть передаватися через Slack draft post-and-edit previews замість показу нативного потоку/попереднього перегляду статусу у стилі потоку.
- `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"`).
- Нативний streaming Slack разом зі статусом гілки в стилі асистента Slack "is typing..." потребують цілі гілки відповіді. DM верхнього рівня типово залишаються поза гілками, тому вони все ще можуть транслюватися через попередні перегляди чернеток Slack з публікацією та редагуванням замість показу нативного потоку/статусу в стилі гілки.
- `typingReaction` додає тимчасову реакцію до вхідного повідомлення Slack, доки виконується відповідь, а потім видаляє її після завершення. Використовуйте короткий код емодзі Slack, наприклад `"hourglass_flowing_sand"`.
- `channels.slack.execApprovals`: нативне для Slack доставлення підтверджень exec і авторизація затверджувачів. Та сама схема, що й у Discord: `enabled` (`true`/`false`/`"auto"`), `approvers` (Slack ID користувачів), `agentFilter`, `sessionFilter` і `target` (`"dm"`, `"channel"` або `"both"`).
| Група дій | За замовчуванням | Примітки |
| Група дій | Типово | Примітки |
| ------------ | ------- | ---------------------- |
| reactions | увімкнено | Реагування + список реакцій |
| messages | увімкнено | Читання/надсилання/редагування/видалення |
| pins | увімкнено | Закріплення/відкріплення/список |
| reactions | увімкнено | Реагувати + показувати список реакцій |
| messages | увімкнено | Читати/надсилати/редагувати/видаляти |
| pins | увімкнено | Закріпити/відкріпити/показати список |
| memberInfo | увімкнено | Інформація про учасника |
| emojiList | увімкнено | Список користувацьких emoji |
| emojiList | увімкнено | Список власних емодзі |
### Mattermost
Mattermost постачається як bundled plugin у поточних релізах OpenClaw. Старіші або
кастомні збірки можуть встановити поточний пакет npm за допомогою
Mattermost постачається як вбудований Plugin у поточних релізах OpenClaw. Старіші або
користувацькі збірки можуть установити поточний npm-пакет за допомогою
`openclaw plugins install @openclaw/mattermost`. Перевірте
[npmjs.com/package/@openclaw/mattermost](https://www.npmjs.com/package/@openclaw/mattermost)
для поточних dist-tags перед фіксацією версії.
щодо поточних dist-tags перед фіксацією версії.
```json5
{
@ -539,23 +539,21 @@ Mattermost постачається як bundled plugin у поточних ре
}
```
Режими чату: `oncall` (відповідати на @-згадку, за замовчуванням), `onmessage` (кожне повідомлення), `onchar` (повідомлення, що починаються з префікса-тригера).
Режими чату: `oncall` (відповідати на @-згадку, типово), `onmessage` (кожне повідомлення), `onchar` (повідомлення, що починаються з префікса тригера).
Коли нативні команди Mattermost увімкнено:
- `commands.callbackPath` має бути шляхом (наприклад `/api/channels/mattermost/command`), а не повним URL.
- `commands.callbackUrl` має вказувати на кінцеву точку OpenClaw Gateway і бути доступним із сервера Mattermost.
- Нативні callback-и slash-команд автентифікуються токенами для кожної команди, які повертає
Mattermost під час реєстрації slash-команди. Якщо реєстрація не вдалася або жодні
команди не активовано, OpenClaw відхиляє callback-и з
- `commands.callbackUrl` має вказувати на кінцеву точку OpenClaw gateway і бути доступним із сервера Mattermost.
- Нативні slash callbacks автентифікуються токенами для кожної команди, які повертає Mattermost під час реєстрації slash-команди. Якщо реєстрація не вдається або жодні команди не активовано, OpenClaw відхиляє callbacks з
`Unauthorized: invalid command token.`
- Для приватних/tailnet/внутрішніх хостів callback-ів Mattermost може вимагати,
щоб `ServiceSettings.AllowedUntrustedInternalConnections` містив callback-хост/домен.
- Для приватних/tailnet/внутрішніх хостів callback Mattermost може вимагати, щоб
`ServiceSettings.AllowedUntrustedInternalConnections` містив хост/домен callback.
Використовуйте значення хоста/домену, а не повні URL.
- `channels.mattermost.configWrites`: дозволити або заборонити ініційовані Mattermost записи конфігурації.
- `channels.mattermost.configWrites`: дозволити або заборонити записи конфігурації, ініційовані Mattermost.
- `channels.mattermost.requireMention`: вимагати `@mention` перед відповіддю в каналах.
- `channels.mattermost.groups.<channelId>.requireMention`: поканальне перевизначення шлюзування за згадкою (`"*"` для типового значення).
- Необов’язковий `channels.mattermost.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому id облікового запису.
- `channels.mattermost.groups.<channelId>.requireMention`: перевизначення mention-gating для окремого каналу (`"*"` для типового значення).
- Необов’язковий `channels.mattermost.defaultAccount` перевизначає вибір типового облікового запису, коли він збігається з налаштованим id облікового запису.
### Signal
@ -576,15 +574,15 @@ Mattermost постачається як bundled plugin у поточних ре
}
```
**Режими сповіщень про реакції:** `off`, `own` (типово), `all`, `allowlist` (із `reactionAllowlist`).
**Режими сповіщень про реакції:** `off`, `own` (типово), `all`, `allowlist``reactionAllowlist`).
- `channels.signal.account`: прив’язати запуск каналу до конкретної ідентичності облікового запису Signal.
- `channels.signal.configWrites`: дозволити або заборонити ініційовані Signal записи конфігурації.
- Необов’язковий `channels.signal.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому id облікового запису.
- `channels.signal.account`: прив’язати запуск каналу до певної ідентичності облікового запису Signal.
- `channels.signal.configWrites`: дозволити або заборонити записи конфігурації, ініційовані Signal.
- Необов’язковий `channels.signal.defaultAccount` перевизначає вибір типового облікового запису, коли він збігається з налаштованим id облікового запису.
### BlueBubbles
BlueBubbles є рекомендованим шляхом iMessage (на основі Plugin, налаштовується в `channels.bluebubbles`).
BlueBubbles — рекомендований шлях для iMessage (на базі Plugin, налаштовується в `channels.bluebubbles`).
```json5
{
@ -599,14 +597,14 @@ BlueBubbles є рекомендованим шляхом iMessage (на осно
}
```
- Основні ключові шляхи, описані тут: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`.
- Необов’язковий `channels.bluebubbles.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому id облікового запису.
- Записи верхнього рівня `bindings[]` з `type: "acp"` можуть прив’язувати розмови BlueBubbles до сталих сеансів ACP. Використовуйте handle BlueBubbles або цільовий рядок (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) у `match.peer.id`. Семантика спільних полів: [ACP Agents](/uk/tools/acp-agents#persistent-channel-bindings).
- Повна конфігурація каналу BlueBubbles задокументована в [BlueBubbles](/uk/channels/bluebubbles).
- Основні ключові шляхи, розглянуті тут: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`.
- Необов’язковий `channels.bluebubbles.defaultAccount` перевизначає вибір типового облікового запису, коли він збігається з налаштованим id облікового запису.
- Записи `bindings[]` верхнього рівня з `type: "acp"` можуть прив’язувати розмови BlueBubbles до постійних сеансів ACP. Використовуйте handle BlueBubbles або цільовий рядок (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) у `match.peer.id`. Спільна семантика полів: [агенти ACP](/uk/tools/acp-agents#persistent-channel-bindings).
- Повну конфігурацію каналу BlueBubbles задокументовано в [BlueBubbles](/uk/channels/bluebubbles).
### iMessage
OpenClaw запускає `imsg rpc` (JSON-RPC через stdio). Daemon або порт не потрібні.
OpenClaw запускає `imsg rpc` (JSON-RPC через stdio). Демон або порт не потрібні.
```json5
{
@ -630,15 +628,15 @@ OpenClaw запускає `imsg rpc` (JSON-RPC через stdio). Daemon або
}
```
- Необов’язковий `channels.imessage.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому id облікового запису.
- Необов’язковий `channels.imessage.defaultAccount` перевизначає вибір типового облікового запису, коли він збігається з налаштованим id облікового запису.
- Потрібен Full Disk Access до Messages DB.
- Надавайте перевагу цілям `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 використовує сувору перевірку ключа хоста, тому переконайтеся, що ключ relay-хоста вже існує в `~/.ssh/known_hosts`.
- `channels.imessage.configWrites`: дозволити або заборонити ініційовані iMessage записи конфігурації.
- Записи верхнього рівня `bindings[]` з `type: "acp"` можуть прив’язувати розмови iMessage до сталих сеансів ACP. Використовуйте нормалізований handle або явну ціль чату (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) у `match.peer.id`. Семантика спільних полів: [ACP Agents](/uk/tools/acp-agents#persistent-channel-bindings).
- SCP використовує сувору перевірку ключа хоста, тож переконайтеся, що ключ 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#persistent-channel-bindings).
<Accordion title="Приклад SSH-обгортки iMessage">
@ -651,7 +649,7 @@ exec ssh -T gateway-host imsg "$@"
### Matrix
Matrix працює на основі Plugin і налаштовується в `channels.matrix`.
Matrix працює на базі Plugin і налаштовується в `channels.matrix`.
```json5
{
@ -683,23 +681,23 @@ Matrix працює на основі Plugin і налаштовується в
- Автентифікація за токеном використовує `accessToken`; автентифікація за паролем використовує `userId` + `password`.
- `channels.matrix.proxy` спрямовує HTTP-трафік Matrix через явний HTTP(S)-проксі. Іменовані облікові записи можуть перевизначити його через `channels.matrix.accounts.<id>.proxy`.
- `channels.matrix.network.dangerouslyAllowPrivateNetwork` дозволяє приватні/внутрішні homeserver-и. `proxy` і це мережеве opt-in налаштування є незалежними елементами керування.
- `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`: ID користувачів Matrix (наприклад `@owner:example.org`), яким дозволено схвалювати exec-запити.
- `agentFilter`: необов’язковий allowlist ID агентів. Пропустіть, щоб пересилати схвалення для всіх агентів.
- `channels.matrix.network.dangerouslyAllowPrivateNetwork` дозволяє приватні/внутрішні homeserver. `proxy` і ця мережева згода — незалежні елементи керування.
- `channels.matrix.defaultAccount` вибирає бажаний обліковий запис у налаштуваннях із кількома обліковими записами.
- `channels.matrix.autoJoin` типово має значення `off`, тому запрошені кімнати та нові запрошення у стилі DM ігноруються, доки ви не задасте `autoJoin: "allowlist"` з `autoJoinAllowlist` або `autoJoin: "always"`.
- `channels.matrix.execApprovals`: Matrix-native доставка схвалень exec і авторизація approver.
- `enabled`: `true`, `false` або `"auto"` (типово). В автоматичному режимі схвалення exec активуються, коли approvers можна визначити з `approvers` або `commands.ownerAllowFrom`.
- `approvers`: ID користувачів Matrix (наприклад `@owner:example.org`), яким дозволено схвалювати запити exec.
- `agentFilter`: необов’язковий allowlist ID агентів. Опустіть, щоб пересилати схвалення для всіх агентів.
- `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-пошуки в каталозі використовують ту саму політику проксі, що й трафік під час виконання.
- Повна конфігурація Matrix, правила націлювання та приклади налаштування задокументовані в [Matrix](/uk/channels/matrix).
- `target`: куди надсилати prompts на схвалення. `"dm"` (типово), `"channel"` (кімната походження) або `"both"`.
- Перевизначення для окремих облікових записів: `channels.matrix.accounts.<id>.execApprovals`.
- `channels.matrix.dm.sessionScope` керує тим, як DM Matrix групуються в сеанси: `per-user` (типово) спільно використовує сеанс за маршрутизованим peer, тоді як `per-room` ізолює кожну DM-кімнату.
- Перевірки стану Matrix і live-пошуки в каталозі використовують ту саму політику proxy, що й runtime-трафік.
- Повну конфігурацію Matrix, правила націлювання та приклади налаштування задокументовано в [Matrix](/uk/channels/matrix).
### Microsoft Teams
Microsoft Teams працює на основі Plugin і налаштовується в `channels.msteams`.
Microsoft Teams працює на базі Plugin і налаштовується в `channels.msteams`.
```json5
{
@ -714,12 +712,12 @@ Microsoft Teams працює на основі Plugin і налаштовуєт
}
```
- Основні ключові шляхи, описані тут: `channels.msteams`, `channels.msteams.configWrites`.
- Повна конфігурація Teams (облікові дані, Webhook, політика DM/груп, перевизначення для кожної команди/каналу) задокументована в [Microsoft Teams](/uk/channels/msteams).
- Основні ключові шляхи, розглянуті тут: `channels.msteams`, `channels.msteams.configWrites`.
- Повну конфігурацію Teams (облікові дані, webhook, політика DM/груп, перевизначення для окремих teams/каналів) задокументовано в [Microsoft Teams](/uk/channels/msteams).
### IRC
IRC працює на основі Plugin і налаштовується в `channels.irc`.
IRC працює на базі Plugin і налаштовується в `channels.irc`.
```json5
{
@ -740,13 +738,13 @@ IRC працює на основі Plugin і налаштовується в `ch
}
```
- Основні ключові шляхи, описані тут: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`.
- Необов’язковий `channels.irc.defaultAccount` перевизначає вибір типового облікового запису, коли він відповідає налаштованому id облікового запису.
- Повна конфігурація каналу IRC (host/port/TLS/channels/allowlists/mention gating) задокументована в [IRC](/uk/channels/irc).
- Основні ключові шляхи, розглянуті тут: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`.
- Необов’язковий `channels.irc.defaultAccount` перевизначає вибір типового облікового запису, коли він збігається з налаштованим id облікового запису.
- Повну конфігурацію каналу IRC (host/port/TLS/channels/allowlists/mention gating) задокументовано в [IRC](/uk/channels/irc).
### Кілька облікових записів (усі канали)
Запускайте кілька облікових записів на канал (кожен із власним `accountId`):
Запускайте кілька облікових записів на канал (кожен зі своїм `accountId`):
```json5
{
@ -767,34 +765,34 @@ IRC працює на основі Plugin і налаштовується в `ch
}
```
- `default` використовується, коли `accountId` пропущено (CLI + маршрутизація).
- Env-токени застосовуються лише до **типового** облікового запису.
- `default` використовується, коли `accountId` опущено (CLI + маршрутизація).
- Токени Env застосовуються лише до **типового** облікового запису.
- Базові налаштування каналу застосовуються до всіх облікових записів, якщо їх не перевизначено для окремого облікового запису.
- Використовуйте `bindings[].match.accountId`, щоб маршрутизувати кожен обліковий запис до іншого агента.
- Якщо ви додаєте нетиповий обліковий запис через `openclaw channels add` (або onboarding каналу), поки ще використовуєте конфігурацію каналу верхнього рівня з одним обліковим записом, OpenClaw спершу переносить значення верхнього рівня для одного облікового запису з областю облікового запису в мапу облікових записів каналу, щоб початковий обліковий запис продовжував працювати. Більшість каналів переміщують їх у `channels.<channel>.accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Наявні прив’язки лише до каналу (без `accountId`) і надалі відповідають типовому обліковому запису; прив’язки з областю облікового запису залишаються необов’язковими.
- `openclaw doctor --fix` також виправляє змішані форми, переміщуючи значення верхнього рівня для одного облікового запису з областю облікового запису в підвищений обліковий запис, вибраний для цього каналу. Більшість каналів використовує `accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Якщо ви додаєте нетиповий обліковий запис через `openclaw channels add` (або onboarding каналу), залишаючись на конфігурації каналу верхнього рівня з одним обліковим записом, OpenClaw спочатку переносить значення верхнього рівня з областю дії облікового запису в мапу облікових записів каналу, щоб початковий обліковий запис і далі працював. Більшість каналів переміщують їх у `channels.<channel>.accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
- Наявні прив’язки лише до каналу (без `accountId`) і далі відповідають типовому обліковому запису; прив’язки з областю дії облікового запису залишаються необов’язковими.
- `openclaw doctor --fix` також виправляє змішані форми, переміщуючи значення верхнього рівня з областю дії облікового запису в підвищений обліковий запис, вибраний для цього каналу. Більшість каналів використовують `accounts.default`; Matrix натомість може зберегти наявну відповідну іменовану/типову ціль.
### Інші Plugin-канали
### Інші канали 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 у груповому чаті
Групові повідомлення типово **вимагають згадки** (metadata-згадка або безпечні regex-шаблони). Застосовується до групових чатів WhatsApp, Telegram, Discord, Google Chat та iMessage.
Групові повідомлення типово **вимагають mention** (metadata mention або безпечні regex-шаблони). Застосовується до групових чатів WhatsApp, Telegram, Discord, Google Chat і iMessage.
Видимі відповіді керуються окремо. Групові/канальні кімнати типово мають `messages.groupChat.visibleReplies: "message_tool"`: OpenClaw усе ще обробляє хід, але звичайні фінальні відповіді залишаються приватними, а видимий вивід у кімнату вимагає `message(action=send)`. Задавайте `"automatic"` лише тоді, коли потрібна legacy-поведінка, за якої звичайні відповіді публікуються назад у кімнату. Щоб застосувати ту саму поведінку видимих відповідей лише через інструмент також до прямих чатів, задайте `messages.visibleReplies: "message_tool"`; Codex harness також використовує цю поведінку лише через інструмент як своє типове значення для прямих чатів, коли його не задано.
Видимі відповіді керуються окремо. Для групових/канальних кімнат типове значення `messages.groupChat.visibleReplies: "message_tool"`: OpenClaw все одно обробляє turn, але звичайні фінальні відповіді залишаються приватними, а видимий вивід у кімнату потребує `message(action=send)`. Задавайте `"automatic"` лише тоді, коли потрібна застаріла поведінка, за якої звичайні відповіді публікуються назад у кімнату. Щоб застосувати таку саму поведінку видимих відповідей тільки через інструмент і до прямих чатів, задайте `messages.visibleReplies: "message_tool"`; harness Codex також використовує цю поведінку тільки через інструмент як своє незадане типове значення для прямого чату.
Якщо інструмент повідомлень недоступний за активною політикою інструментів, OpenClaw повертається до автоматичних видимих відповідей замість мовчазного пригнічення відповіді. `openclaw doctor` попереджає про цю невідповідність.
Gateway гаряче перезавантажує конфігурацію `messages` після збереження файла. Перезапуск потрібен лише тоді, коли спостереження за файлами або перезавантаження конфігурації вимкнено в розгортанні.
Gateway гаряче перезавантажує конфігурацію `messages` після збереження файлу. Перезапускайте лише тоді, коли спостереження за файлами або перезавантаження конфігурації вимкнено в deployment.
**Типи згадок:**
**Типи mention:**
- **Metadata-згадки**: Нативні платформні @-згадки. Ігноруються в режимі self-chat WhatsApp.
- **Текстові шаблони**: Безпечні regex-шаблони в `agents.list[].groupChat.mentionPatterns`. Недійсні шаблони та небезпечне вкладене повторення ігноруються.
- Шлюзування згадок застосовується лише тоді, коли виявлення можливе (нативні згадки або принаймні один шаблон).
- **Metadata mentions**: Нативні @-mentions платформи. Ігноруються в режимі self-chat WhatsApp.
- **Текстові шаблони**: Безпечні regex-шаблони в `agents.list[].groupChat.mentionPatterns`. Некоректні шаблони та небезпечне вкладене повторення ігноруються.
- Mention gating застосовується лише тоді, коли виявлення можливе (нативні mentions або принаймні один шаблон).
```json5
{
@ -811,9 +809,9 @@ Gateway гаряче перезавантажує конфігурацію `mess
}
```
`messages.groupChat.historyLimit` задає глобальне значення за замовчуванням. Канали можуть перевизначати його через `channels.<channel>.historyLimit` (або для окремого облікового запису). Задайте `0`, щоб вимкнути.
`messages.groupChat.historyLimit` задає глобальне типове значення. Канали можуть перевизначати його через `channels.<channel>.historyLimit` (або для окремого облікового запису). Установіть `0`, щоб вимкнути.
`messages.visibleReplies` — це глобальне значення за замовчуванням для вихідного ходу; `messages.groupChat.visibleReplies` перевизначає його для вихідних ходів групи/каналу. Коли `messages.visibleReplies` не задано, обв’язка може надати власне значення за замовчуванням для прямих/вихідних чатів; обв’язка Codex за замовчуванням використовує `message_tool`. Дозволені списки каналів і фільтрація за згадками все одно визначають, чи буде хід оброблено.
`messages.visibleReplies` — це глобальне типове значення для source-turn; `messages.groupChat.visibleReplies` перевизначає його для source-turn у групах/каналах. Коли `messages.visibleReplies` не задано, harness може надати власне типове значення для direct/source; Codex harness типово використовує `message_tool`. Allowlist каналів і mention gating усе ще визначають, чи буде turn оброблено.
#### Обмеження історії DM
@ -830,13 +828,13 @@ Gateway гаряче перезавантажує конфігурацію `mess
}
```
Визначення: перевизначення для окремого DM → значення за замовчуванням провайдера → без обмеження (зберігається все).
Вирішення: перевизначення для окремого DM → типове значення provider → без обмеження (зберігається все).
Підтримується: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`.
#### Режим чату із собою
Додайте власний номер до `allowFrom`, щоб увімкнути режим чату із собою (ігнорує нативні @-згадки, відповідає лише на текстові шаблони):
Додайте власний номер до `allowFrom`, щоб увімкнути режим чату із собою (ігнорує нативні @-mentions, відповідає лише на текстові шаблони):
```json5
{
@ -886,32 +884,32 @@ Gateway гаряче перезавантажує конфігурацію `mess
<Accordion title="Command details">
- Цей блок налаштовує поверхні команд. Поточний вбудований і комплектний каталог команд див. у [слеш-командах](/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, а також у [слеш-командах](/uk/tools/slash-commands).
- Цей блок налаштовує поверхні команд. Поточний вбудований і bundled каталог команд див. у [Slash Commands](/uk/tools/slash-commands).
- Ця сторінка є **довідником config-key**, а не повним каталогом команд. Команди, що належать каналам/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` (булеве значення або `"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` залишається доступним звичайним операторським клієнтам з областю доступу на запис.
- `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`). Для клієнтів Gateway `chat.send` постійні записи `/config set|unset` також потребують `operator.admin`; read-only `/config show` лишається доступним для звичайних operator-клієнтів з областю запису.
- `mcp: true` вмикає `/mcp` для конфігурації MCP-сервера, керованого OpenClaw, у `mcp.servers`.
- `plugins: true` вмикає `/plugins` для виявлення, встановлення та керування ввімкненням/вимкненням Plugin.
- `channels.<provider>.configWrites` обмежує мутації конфігурації для окремого каналу (за замовчуванням: true).
- `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"` хешує ідентифікатори власників у системному prompt. Задайте `ownerDisplaySecret`, щоб керувати хешуванням.
- `allowFrom` задається для кожного провайдера. Коли його задано, це **єдине** джерело авторизації (дозволені списки/спарювання каналів і `useAccessGroups` ігноруються).
- `useAccessGroups: false` дозволяє командам обходити політики груп доступу, коли `allowFrom` не задано.
- Мапа документації команд:
- вбудований і комплектний каталог: [слеш-команди](/uk/tools/slash-commands)
- `restart: false` вимикає `/restart` і дії інструмента перезапуску Gateway. Типово: `true`.
- `ownerAllowFrom` — це явний owner allowlist для команд/інструментів лише для власника. Він окремий від `allowFrom`.
- `ownerDisplay: "hash"` хешує owner id у системному prompt. Установіть `ownerDisplaySecret`, щоб керувати хешуванням.
- `allowFrom` задається для кожного provider. Коли встановлено, це **єдине** джерело авторизації (allowlist/сполучення каналів і `useAccessGroups` ігноруються).
- `useAccessGroups: false` дозволяє командам обходити політики access-group, коли `allowFrom` не встановлено.
- Карта документації команд:
- вбудований і bundled каталог: [Slash Commands](/uk/tools/slash-commands)
- поверхні команд для окремих каналів: [Канали](/uk/channels)
- команди QQ Bot: [QQ Bot](/uk/channels/qqbot)
- команди спарювання: [Спарювання](/uk/channels/pairing)
- команди сполучення: [Сполучення](/uk/channels/pairing)
- команда картки LINE: [LINE](/uk/channels/line)
- memory dreaming: [Dreaming](/uk/concepts/dreaming)
- memory Dreaming: [Dreaming](/uk/concepts/dreaming)
</Accordion>
@ -920,5 +918,5 @@ Gateway гаряче перезавантажує конфігурацію `mess
## Пов’язане
- [Довідник конфігурації](/uk/gateway/configuration-reference) — ключі верхнього рівня
- [Конфігурація — агенти](/uk/gateway/config-agents)
- [Конфігурація — agents](/uk/gateway/config-agents)
- [Огляд каналів](/uk/channels)

View File

@ -1,40 +1,40 @@
---
read_when:
- Використання або налаштування чат-команд
- Налагодження маршрутизації команд або прав доступу
- Використання або налаштування команд чату
- Налагодження маршрутизації команд або дозволів
sidebarTitle: Slash commands
summary: 'Слеш-команди: текстові й нативні, конфігурація та підтримувані команди'
title: Команди зі скісною рискою
summary: 'Слеш-команди: текстові та нативні, конфігурація й підтримувані команди'
title: Слеш-команди
x-i18n:
generated_at: "2026-05-03T17:33:07Z"
generated_at: "2026-05-03T18:10:30Z"
model: gpt-5.5
provider: openai
source_hash: 02b7c1f3daa9598515085fd94570172f82779ce61a2af34edac02a36ccc87543
source_hash: 9fbdd76ccd43159cabfbc3f15f7bddd2a7ada07fcd6eea2e169d2d88df18f28c
source_path: tools/slash-commands.md
workflow: 16
---
Команди обробляються Gateway. Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`. Команда bash-чату лише для хоста використовує `! <cmd>``/bash <cmd>` як псевдонімом).
Команди обробляє Gateway. Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`. Команда bash-чату лише для хоста використовує `! <cmd>``/bash <cmd>` як псевдонімом).
Коли розмова або thread прив’язана до сеансу ACP, звичайний подальший текст спрямовується до цього ACP harness. Команди керування Gateway все одно залишаються локальними: `/acp ...` завжди потрапляє до обробника команд OpenClaw ACP, а `/status` плюс `/unfocus` залишаються локальними щоразу, коли обробку команд увімкнено для цієї поверхні.
Коли розмову або тред прив’язано до ACP-сесії, звичайний подальший текст спрямовується до цього ACP harness. Команди керування Gateway все одно залишаються локальними: `/acp ...` завжди потрапляє до обробника команд OpenClaw ACP, а `/status` плюс `/unfocus` залишаються локальними щоразу, коли обробку команд увімкнено для поверхні.
Існують дві пов’язані системи:
Є дві пов’язані системи:
<AccordionGroup>
<Accordion title="Commands">
<Accordion title="Команди">
Окремі повідомлення `/...`.
</Accordion>
<Accordion title="Directives">
<Accordion title="Директиви">
`/think`, `/fast`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`.
- Директиви вилучаються з повідомлення до того, як модель його побачить.
- У звичайних чат-повідомленнях (не лише з директивами) вони розглядаються як «inline hints» і **не** зберігають налаштування сеансу.
- У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сеансі й відповідають підтвердженням.
- Директиви застосовуються лише для **авторизованих відправників**. Якщо встановлено `commands.allowFrom`, використовується лише цей allowlist; інакше авторизація береться з allowlists/спарювання каналу плюс `commands.useAccessGroups`. Неавторизовані відправники бачать, що директиви обробляються як звичайний текст.
- У звичайних повідомленнях чату (не лише з директивами) вони трактуються як "inline hints" і **не** зберігають налаштування сесії.
- У повідомленнях лише з директивами (повідомлення містить тільки директиви) вони зберігаються в сесії та відповідають підтвердженням.
- Директиви застосовуються лише для **авторизованих відправників**. Якщо встановлено `commands.allowFrom`, використовується лише цей список дозволених; інакше авторизація надходить зі списків дозволених/спарювання каналу плюс `commands.useAccessGroups`. Неавторизовані відправники бачать директиви як звичайний текст.
</Accordion>
<Accordion title="Inline shortcuts">
Лише allowlisted/авторизовані відправники: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
<Accordion title="Вбудовані скорочення">
Лише відправники зі списку дозволених/авторизовані: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
Вони виконуються негайно, вилучаються до того, як модель побачить повідомлення, а решта тексту продовжує проходити звичайним потоком.
@ -69,169 +69,169 @@ x-i18n:
```
<ParamField path="commands.text" type="boolean" default="true">
Умикає розбір `/...` у чат-повідомленнях. На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення в `false`.
Вмикає розбір `/...` у повідомленнях чату. На поверхнях без нативних команд (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams) текстові команди все одно працюють, навіть якщо встановити це значення на `false`.
</ParamField>
<ParamField path="commands.native" type='boolean | "auto"' default='"auto"'>
Реєструє нативні команди. Авто: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте slash commands); ігнорується для провайдерів без нативної підтримки. Встановіть `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native`, щоб перевизначити для окремого провайдера (bool або `"auto"`). `false` очищає раніше зареєстровані команди в Discord/Telegram під час запуску. Команди Slack керуються в застосунку Slack і не видаляються автоматично.
Реєструє нативні команди. Auto: увімкнено для Discord/Telegram; вимкнено для Slack (доки ви не додасте slash-команди); ігнорується для провайдерів без нативної підтримки. Встановіть `channels.discord.commands.native`, `channels.telegram.commands.native` або `channels.slack.commands.native`, щоб перевизначити для окремого провайдера (bool або `"auto"`). У Discord значення `false` пропускає реєстрацію slash-команд і очищення під час запуску; раніше зареєстровані команди можуть залишатися видимими, доки ви не видалите їх із застосунку Discord. Команди Slack керуються в застосунку Slack і не видаляються автоматично.
</ParamField>
У Discord специфікації нативних команд можуть містити `descriptionLocalizations`, які OpenClaw публікує як Discord `description_localizations` і включає в порівняння узгодження.
У Discord специфікації нативних команд можуть містити `descriptionLocalizations`, які OpenClaw публікує як Discord `description_localizations` і включає до порівнянь узгодження.
<ParamField path="commands.nativeSkills" type='boolean | "auto"' default='"auto"'>
Реєструє команди **skill** нативно, коли це підтримується. Авто: увімкнено для Discord/Telegram; вимкнено для Slack (Slack вимагає створення slash command для кожного skill). Встановіть `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills`, щоб перевизначити для окремого провайдера (bool або `"auto"`).
Реєструє команди **skill** нативно, коли це підтримується. Auto: увімкнено для Discord/Telegram; вимкнено для Slack (Slack вимагає створити slash-команду для кожного skill). Встановіть `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` або `channels.slack.commands.nativeSkills`, щоб перевизначити для окремого провайдера (bool або `"auto"`).
</ParamField>
<ParamField path="commands.bash" type="boolean" default="false">
Умикає `! <cmd>` для запуску shell-команд хоста (`/bash <cmd>` є псевдонімом; потребує allowlists `tools.elevated`).
Вмикає `! <cmd>` для запуску команд shell хоста (`/bash <cmd>` є псевдонімом; потребує списків дозволених `tools.elevated`).
</ParamField>
<ParamField path="commands.bashForegroundMs" type="number" default="2000">
Керує тим, як довго bash чекає перед перемиканням у фоновий режим (`0` переводить у фон негайно).
Керує тим, як довго bash чекає перед перемиканням у фоновий режим (`0` одразу переводить у фон).
</ParamField>
<ParamField path="commands.config" type="boolean" default="false">
Умикає `/config` (читає/записує `openclaw.json`).
Вмикає `/config` (читає/записує `openclaw.json`).
</ParamField>
<ParamField path="commands.mcp" type="boolean" default="false">
Умикає `/mcp` (читає/записує керовану OpenClaw конфігурацію MCP у `mcp.servers`).
Вмикає `/mcp` (читає/записує керовану OpenClaw MCP-конфігурацію в `mcp.servers`).
</ParamField>
<ParamField path="commands.plugins" type="boolean" default="false">
Умикає `/plugins` (виявлення/статус plugins плюс елементи керування встановленням і ввімкненням/вимкненням).
Вмикає `/plugins` (виявлення/статус plugin плюс елементи керування встановленням і ввімкненням/вимкненням).
</ParamField>
<ParamField path="commands.debug" type="boolean" default="false">
Умикає `/debug` (лише runtime-перевизначення).
Вмикає `/debug` (перевизначення лише під час виконання).
</ParamField>
<ParamField path="commands.restart" type="boolean" default="true">
Умикає `/restart` плюс дії інструментів перезапуску gateway.
Вмикає `/restart` плюс дії інструментів перезапуску gateway.
</ParamField>
<ParamField path="commands.ownerAllowFrom" type="string[]">
Встановлює явний owner allowlist для командних/інструментальних поверхонь лише для owner. Це обліковий запис людського оператора, який може схвалювати небезпечні дії та виконувати команди, як-от `/diagnostics`, `/export-trajectory` і `/config`. Він окремий від `commands.allowFrom` і від доступу через DM-спарювання.
Встановлює явний список дозволених власників для командних/інструментальних поверхонь лише для власника. Це обліковий запис людини-оператора, який може схвалювати небезпечні дії та виконувати команди на кшталт `/diagnostics`, `/export-trajectory` і `/config`. Він окремий від `commands.allowFrom` і від доступу через спарювання DM.
</ParamField>
<ParamField path="channels.<channel>.commands.enforceOwnerForCommands" type="boolean" default="false">
Для кожного каналу: змушує команди лише для owner вимагати **ідентичність owner** для запуску на цій поверхні. Коли `true`, відправник має або збігатися з розв’язаним кандидатом owner (наприклад, записом у `commands.ownerAllowFrom` або нативними метаданими owner провайдера), або мати внутрішній scope `operator.admin` у внутрішньому каналі повідомлень. Запис wildcard у channel `allowFrom` або порожній/нерозв’язаний список кандидатів owner **не** є достатнім — команди лише для owner на цьому каналі відмовляють закрито. Залиште це вимкненим, якщо хочете, щоб команди лише для owner обмежувалися тільки `ownerAllowFrom` і стандартними command allowlists.
Для кожного каналу: змушує команди лише для власника вимагати **ідентичність власника** для запуску на цій поверхні. Коли `true`, відправник має або збігатися з розв’язаним кандидатом власника (наприклад записом у `commands.ownerAllowFrom` або нативними метаданими власника провайдера), або мати внутрішню область `operator.admin` на внутрішньому каналі повідомлень. Запис із wildcard у `allowFrom` каналу або порожній/нерозв’язаний список кандидатів власника **не** є достатнім — команди лише для власника на цьому каналі відхиляються за замовчуванням. Залиште це вимкненим, якщо хочете, щоб команди лише для власника обмежувалися тільки `ownerAllowFrom` і стандартними списками дозволених команд.
</ParamField>
<ParamField path="commands.ownerDisplay" type='"raw" | "hash"'>
Керує тим, як ids owner відображаються в системному prompt.
Керує тим, як ідентифікатори власника з’являються в системному prompt.
</ParamField>
<ParamField path="commands.ownerDisplaySecret" type="string">
Необов’язково встановлює HMAC secret, що використовується, коли `commands.ownerDisplay="hash"`.
Необов’язково встановлює секрет HMAC, який використовується, коли `commands.ownerDisplay="hash"`.
</ParamField>
<ParamField path="commands.allowFrom" type="object">
Allowlist для авторизації команд за провайдерами. Коли налаштовано, це єдине джерело авторизації для команд і директив (channel allowlists/спарювання та `commands.useAccessGroups` ігноруються). Використовуйте `"*"` для глобального типового значення; ключі окремих провайдерів його перевизначають.
Список дозволених для авторизації команд за провайдерами. Коли налаштовано, це єдине джерело авторизації для команд і директив (списки дозволених/спарювання каналу та `commands.useAccessGroups` ігноруються). Використовуйте `"*"` для глобального значення за замовчуванням; ключі конкретних провайдерів перевизначають його.
</ParamField>
<ParamField path="commands.useAccessGroups" type="boolean" default="true">
Застосовує allowlists/policies для команд, коли `commands.allowFrom` не встановлено.
Застосовує списки дозволених/політики для команд, коли `commands.allowFrom` не встановлено.
</ParamField>
## Список команд
Поточне джерело істини:
- core built-ins беруться з `src/auto-reply/commands-registry.shared.ts`
- згенеровані dock commands беруться з `src/auto-reply/commands-registry.data.ts`
- команди plugins беруться з викликів plugin `registerCommand()`
- вбудовані core-команди надходять із `src/auto-reply/commands-registry.shared.ts`
- згенеровані dock-команди надходять із `src/auto-reply/commands-registry.data.ts`
- plugin-команди надходять із викликів plugin `registerCommand()`
- фактична доступність на вашому gateway все одно залежить від прапорців конфігурації, поверхні каналу та встановлених/увімкнених plugins
### Вбудовані команди core
### Вбудовані core-команди
<AccordionGroup>
<Accordion title="Sessions and runs">
- `/new [model]` запускає новий сеанс; `/reset` є псевдонімом скидання.
- Control UI перехоплює введений `/new`, щоб створити та перемкнутися на свіжий сеанс dashboard; введений `/reset` все одно виконує in-place reset Gateway.
- `/reset soft [message]` зберігає поточний transcript, відкидає повторно використані ids сеансів CLI backend і повторно запускає startup/system-prompt loading in-place.
- `/compact [instructions]` ущільнює контекст сеансу. Див. [Compaction](/uk/concepts/compaction).
<Accordion title="Сесії та запуски">
- `/new [model]` запускає нову сесію; `/reset` є псевдонімом скидання.
- Control UI перехоплює введене `/new`, щоб створити й перемкнутися на нову сесію панелі; введене `/reset` все одно виконує скидання Gateway на місці.
- `/reset soft [message]` зберігає поточний транскрипт, відкидає повторно використані ідентифікатори сесій CLI backend і повторно запускає завантаження startup/system-prompt на місці.
- `/compact [instructions]` стискає контекст сесії. Див. [Compaction](/uk/concepts/compaction).
- `/stop` перериває поточний запуск.
- `/session idle <duration|off>` і `/session max-age <duration|off>` керують строком дії прив’язки thread.
- `/export-session [path]` експортує поточний сеанс у HTML. Псевдонім: `/export`.
- `/export-trajectory [path]` запитує схвалення exec, а потім експортує JSONL [trajectory bundle](/uk/tools/trajectory) для поточного сеансу. Використовуйте це, коли вам потрібна хронологія prompt, tool і transcript для одного сеансу OpenClaw. У групових чатах prompt схвалення та результат експорту надсилаються owner приватно. Псевдонім: `/trajectory`.
- `/session idle <duration|off>` і `/session max-age <duration|off>` керують завершенням прив’язки треду.
- `/export-session [path]` експортує поточну сесію в HTML. Псевдонім: `/export`.
- `/export-trajectory [path]` запитує схвалення exec, а потім експортує JSONL [trajectory bundle](/uk/tools/trajectory) для поточної сесії. Використовуйте це, коли вам потрібна часова шкала prompt, інструментів і транскрипту для однієї сесії OpenClaw. У групових чатах prompt схвалення та результат експорту надсилаються власнику приватно. Псевдонім: `/trajectory`.
</Accordion>
<Accordion title="Model and run controls">
- `/think <level>` встановлює рівень thinking. Варіанти беруться з профілю провайдера активної моделі; поширені рівні: `off`, `minimal`, `low`, `medium` і `high`, а власні рівні, як-от `xhigh`, `adaptive`, `max`, або двійковий `on`, доступні лише там, де підтримуються. Псевдоніми: `/thinking`, `/t`.
- `/verbose on|off|full` перемикає verbose output. Псевдонім: `/v`.
- `/trace on|off` перемикає plugin trace output для поточного сеансу.
- `/fast [status|on|off]` показує або встановлює fast mode.
<Accordion title="Керування моделлю та запуском">
- `/think <level>` встановлює рівень мислення. Опції надходять із профілю провайдера активної моделі; поширені рівні: `off`, `minimal`, `low`, `medium` і `high`, а користувацькі рівні, як-от `xhigh`, `adaptive`, `max`, або бінарний `on`, доступні лише там, де підтримуються. Псевдоніми: `/thinking`, `/t`.
- `/verbose on|off|full` перемикає докладний вивід. Псевдонім: `/v`.
- `/trace on|off` перемикає трасувальний вивід plugin для поточної сесії.
- `/fast [status|on|off]` показує або встановлює швидкий режим.
- `/reasoning [on|off|stream]` перемикає видимість reasoning. Псевдонім: `/reason`.
- `/elevated [on|off|ask|full]` перемикає elevated mode. Псевдонім: `/elev`.
- `/elevated [on|off|ask|full]` перемикає підвищений режим. Псевдонім: `/elev`.
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` показує або встановлює типові значення exec.
- `/model [name|#|status]` показує або встановлює модель.
- `/models [provider] [page] [limit=<n>|size=<n>|all]` перелічує налаштованих/доступних за автентифікацією провайдерів або моделі для провайдера; додайте `all`, щоб переглянути повний catalog цього провайдера.
- `/queue <mode>` керує поведінкою черги (`steer`, legacy `queue`, `followup`, `collect`, `steer-backlog`, `interrupt`) плюс параметри на кшталт `debounce:0.5s cap:25 drop:summarize`; `/queue default` або `/queue reset` очищає перевизначення сеансу. Див. [Command queue](/uk/concepts/queue) і [Steering queue](/uk/concepts/queue-steering).
- `/models [provider] [page] [limit=<n>|size=<n>|all]` перелічує налаштованих/доступних через автентифікацію провайдерів або моделі для провайдера; додайте `all`, щоб переглянути повний каталог цього провайдера.
- `/queue <mode>` керує поведінкою черги (`steer`, застаріле `queue`, `followup`, `collect`, `steer-backlog`, `interrupt`) плюс опціями на кшталт `debounce:0.5s cap:25 drop:summarize`; `/queue default` або `/queue reset` очищає перевизначення сесії. Див. [Command queue](/uk/concepts/queue) і [Steering queue](/uk/concepts/queue-steering).
</Accordion>
<Accordion title="Discovery and status">
- `/help` показує короткий довідковий підсумок.
- `/commands` показує згенерований catalog команд.
- `/tools [compact|verbose]` показує, що поточний агент може використовувати просто зараз.
- `/status` показує execution/runtime status, включно з мітками `Execution`/`Runtime` і usage/quota провайдера, коли доступно.
- `/diagnostics [note]` — це owner-only support-report flow для помилок Gateway і запусків Codex harness. Він щоразу запитує явне схвалення exec перед запуском `openclaw gateway diagnostics export --json`; не схвалюйте diagnostics правилом allow-all. Після схвалення він надсилає звіт, придатний для вставлення, з локальним шляхом bundle, підсумком manifest, privacy notes і релевантними ids сеансів. У групових чатах prompt схвалення та звіт надсилаються owner приватно. Коли активний сеанс використовує OpenAI Codex harness, те саме схвалення також надсилає релевантний Codex feedback на сервери OpenAI, а завершена відповідь перелічує ids сеансів OpenClaw, ids threads Codex і команди `codex resume <thread-id>`. Див. [Diagnostics Export](/uk/gateway/diagnostics).
- `/crestodian <request>` запускає helper налаштування та ремонту Crestodian з DM owner.
- `/tasks` перелічує активні/нещодавні фонові завдання для поточного сеансу.
<Accordion title="Виявлення та статус">
- `/help` показує короткий підсумок довідки.
- `/commands` показує згенерований каталог команд.
- `/tools [compact|verbose]` показує, що поточний агент може використовувати прямо зараз.
- `/status` показує статус виконання/runtime, включно з мітками `Execution`/`Runtime` і використанням/квотою провайдера, коли доступно.
- `/diagnostics [note]` — це потік звіту підтримки лише для власника для помилок Gateway і запусків Codex harness. Він щоразу запитує явне схвалення exec перед запуском `openclaw gateway diagnostics export --json`; не схвалюйте діагностику правилом allow-all. Після схвалення він надсилає звіт, який можна вставити, з локальним шляхом bundle, підсумком manifest, примітками про приватність і релевантними ідентифікаторами сесій. У групових чатах prompt схвалення та звіт надсилаються власнику приватно. Коли активна сесія використовує OpenAI Codex harness, те саме схвалення також надсилає релевантний відгук Codex на сервери OpenAI, а завершена відповідь перелічує ідентифікатори сесій OpenClaw, ідентифікатори тредів Codex і команди `codex resume <thread-id>`. Див. [Експорт діагностики](/uk/gateway/diagnostics).
- `/crestodian <request>` запускає помічник налаштування та ремонту Crestodian з DM власника.
- `/tasks` перелічує активні/недавні фонові завдання для поточної сесії.
- `/context [list|detail|json]` пояснює, як збирається контекст.
- `/whoami` показує ваш sender id. Псевдонім: `/id`.
- `/usage off|tokens|full|cost` керує per-response usage footer або друкує local cost summary.
- `/whoami` показує ваш ідентифікатор відправника. Псевдонім: `/id`.
- `/usage off|tokens|full|cost` керує футером використання для кожної відповіді або друкує локальний підсумок вартості.
</Accordion>
<Accordion title="Skills, allowlists, approvals">
<Accordion title="Skills, списки дозволених, схвалення">
- `/skill <name> [input]` запускає skill за назвою.
- `/allowlist [list|add|remove] ...` керує записами allowlist. Лише текст.
- `/allowlist [list|add|remove] ...` керує записами списку дозволених. Лише текст.
- `/approve <id> <decision>` розв’язує prompts схвалення exec.
- `/btw <question>` ставить side question без зміни майбутнього контексту сеансу. Псевдонім: `/side`. Див. [BTW](/uk/tools/btw).
- `/btw <question>` ставить побічне запитання без зміни майбутнього контексту сесії. Псевдонім: `/side`. Див. [BTW](/uk/tools/btw).
</Accordion>
<Accordion title="Субагенти та ACP">
- `/subagents list|kill|log|info|send|steer|spawn` керує запусками субагентів для поточного сеансу.
- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` керує сеансами ACP та параметрами середовища виконання.
- `/focus <target>` прив’язує поточний потік Discord або тему/розмову Telegram до цілі сеансу.
- `/unfocus` вилучає поточну прив’язку.
- `/agents` показує агентів, прив’язаних до потоку, для поточного сеансу.
- `/kill <id|#|all>` перериває одного або всіх запущених субагентів.
- `/steer <id|#> <message>` надсилає керування запущеному субагенту. Псевдонім: `/tell`.
<Accordion title="Subagents and ACP">
- `/subagents list|kill|log|info|send|steer|spawn` керує запусками під-агентів для поточного сеансу.
- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` керує сеансами ACP і параметрами runtime.
- `/focus <target>` прив’язує поточну гілку Discord або тему/розмову Telegram до цілі сеансу.
- `/unfocus` видаляє поточну прив’язку.
- `/agents` показує агентів, прив’язаних до гілки, для поточного сеансу.
- `/kill <id|#|all>` перериває одного або всіх запущених під-агентів.
- `/steer <id|#> <message>` надсилає керування запущеному під-агенту. Псевдонім: `/tell`.
</Accordion>
<Accordion title="Записи лише для власника та адміністрування">
<Accordion title="Owner-only writes and admin">
- `/config show|get|set|unset` читає або записує `openclaw.json`. Лише для власника. Потребує `commands.config: true`.
- `/mcp show|get|set|unset` читає або записує конфігурацію MCP-сервера, керовану OpenClaw, у `mcp.servers`. Лише для власника. Потребує `commands.mcp: true`.
- `/plugins list|inspect|show|get|install|enable|disable` перевіряє або змінює стан plugin. `/plugin` є псевдонімом. Записи лише для власника. Потребує `commands.plugins: true`.
- `/debug show|set|unset|reset` керує перевизначеннями конфігурації лише для середовища виконання. Лише для власника. Потребує `commands.debug: true`.
- `/restart` перезапускає OpenClaw, коли це ввімкнено. Типово: ввімкнено; задайте `commands.restart: false`, щоб вимкнути.
- `/send on|off|inherit` задає політику надсилання. Лише для власника.
- `/plugins list|inspect|show|get|install|enable|disable` перевіряє або змінює стан плагінів. `/plugin` є псевдонімом. Запис лише для власника. Потребує `commands.plugins: true`.
- `/debug show|set|unset|reset` керує runtime-перевизначеннями конфігурації. Лише для власника. Потребує `commands.debug: true`.
- `/restart` перезапускає OpenClaw, якщо ввімкнено. За замовчуванням: увімкнено; установіть `commands.restart: false`, щоб вимкнути це.
- `/send on|off|inherit` установлює політику надсилання. Лише для власника.
</Accordion>
<Accordion title="Голос, TTS, керування каналом">
<Accordion title="Voice, TTS, channel control">
- `/tts on|off|status|chat|latest|provider|limit|summary|audio|help` керує TTS. Див. [TTS](/uk/tools/tts).
- `/activation mention|always` задає режим активації в групі.
- `/bash <command>` запускає команду оболонки хоста. Лише текст. Псевдонім: `! <command>`. Потребує `commands.bash: true` плюс списки дозволів `tools.elevated`.
- `/activation mention|always` установлює режим активації групи.
- `/bash <command>` запускає команду оболонки хоста. Лише текст. Псевдонім: `! <command>`. Потребує `commands.bash: true` плюс списків дозволів `tools.elevated`.
- `!poll [sessionId]` перевіряє фонове завдання bash.
- `!stop [sessionId]` зупиняє фонове завдання bash.
</Accordion>
</AccordionGroup>
### Згенеровані команди стикування
### Згенеровані команди докування
Команди стикування перемикають маршрут відповіді поточного сеансу на інший пов’язаний
канал. Див. [Стикування каналів](/uk/concepts/channel-docking) щодо налаштування,
прикладів і усунення неполадок.
Команди докування перемикають маршрут відповіді поточного сеансу на інший пов’язаний
канал. Див. [Докування каналів](/uk/concepts/channel-docking), щоб налаштувати,
переглянути приклади й усунути несправності.
Команди стикування генеруються з channel plugins із підтримкою нативних команд. Поточний вбудований набір:
Команди докування генеруються з плагінів каналів із підтримкою нативних команд. Поточний вбудований набір:
- `/dock-discord` (псевдонім: `/dock_discord`)
- `/dock-mattermost` (псевдонім: `/dock_mattermost`)
- `/dock-slack` (псевдонім: `/dock_slack`)
- `/dock-telegram` (псевдонім: `/dock_telegram`)
Використовуйте команди стикування з прямого чату, щоб перемкнути маршрут відповіді поточного сеансу на інший пов’язаний канал. Агент зберігає той самий контекст сеансу, але майбутні відповіді для цього сеансу доставляються вибраному співрозмовнику каналу.
Використовуйте команди докування з прямого чату, щоб перемкнути маршрут відповіді поточного сеансу на інший пов’язаний канал. Агент зберігає той самий контекст сеансу, але майбутні відповіді для цього сеансу доставляються вибраному співрозмовнику каналу.
Команди стикування потребують `session.identityLinks`. Відправник-джерело й цільовий співрозмовник мають бути в одній групі ідентичностей, наприклад `["telegram:123", "discord:456"]`. Якщо користувач Telegram з id `123` надсилає `/dock_discord`, OpenClaw зберігає `lastChannel: "discord"` і `lastTo: "456"` в активному сеансі. Якщо відправник не пов’язаний зі співрозмовником Discord, команда відповідає підказкою з налаштування замість переходу до звичайного чату.
Команди докування потребують `session.identityLinks`. Відправник-джерело й цільовий співрозмовник мають бути в одній групі ідентичності, наприклад `["telegram:123", "discord:456"]`. Якщо користувач Telegram з id `123` надсилає `/dock_discord`, OpenClaw зберігає `lastChannel: "discord"` і `lastTo: "456"` в активному сеансі. Якщо відправника не пов’язано зі співрозмовником Discord, команда відповідає підказкою з налаштування замість переходу до звичайного чату.
Стикування змінює лише маршрут активного сеансу. Воно не створює облікові записи каналів, не надає доступ, не обходить списки дозволів каналів і не переносить історію транскрипта до іншого сеансу. Використовуйте `/dock-telegram`, `/dock-slack`, `/dock-mattermost` або іншу згенеровану команду стикування, щоб знову перемкнути маршрут.
Докування змінює лише маршрут активного сеансу. Воно не створює облікові записи каналів, не надає доступ, не обходить списки дозволів каналу й не переносить історію стенограми до іншого сеансу. Використовуйте `/dock-telegram`, `/dock-slack`, `/dock-mattermost` або іншу згенеровану команду докування, щоб знову перемкнути маршрут.
### Команди вбудованих plugins
### Команди вбудованих плагінів
Вбудовані plugins можуть додавати більше slash-команд. Поточні вбудовані команди в цьому репозиторії:
Вбудовані плагіни можуть додавати більше slash-команд. Поточні вбудовані команди в цьому репозиторії:
- `/dreaming [on|off|status|help]` перемикає memory dreaming. Див. [Dreaming](/uk/concepts/dreaming).
- `/dreaming [on|off|status|help]` перемикає Dreaming пам’яті. Див. [Dreaming](/uk/concepts/dreaming).
- `/pair [qr|status|pending|approve|cleanup|notify]` керує потоком сполучення/налаштування пристрою. Див. [Сполучення](/uk/channels/pairing).
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` тимчасово активує високоризикові команди телефонного вузла.
- `/voice status|list [limit]|set <voiceId|name>` керує конфігурацією голосу Talk. У Discord назва нативної команди: `/talkvoice`.
- `/card ...` надсилає пресети багатих карток LINE. Див. [LINE](/uk/channels/line).
- `/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skills` перевіряє та керує вбудованим серверним каркасом застосунку Codex. Див. [Каркас Codex](/uk/plugins/codex-harness).
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` тимчасово озброює високоризикові команди телефонного вузла.
- `/voice status|list [limit]|set <voiceId|name>` керує конфігурацією голосу Talk. У Discord назва нативної команди `/talkvoice`.
- `/card ...` надсилає пресети rich card LINE. Див. [LINE](/uk/channels/line).
- `/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skills` перевіряє й керує вбудованим harness app-server Codex. Див. [Harness Codex](/uk/plugins/codex-harness).
- Команди лише для QQBot:
- `/bot-ping`
- `/bot-version`
@ -241,88 +241,88 @@ x-i18n:
### Динамічні команди Skills
Skills, які може викликати користувач, також доступні як slash-команди:
Skills, доступні для виклику користувачем, також відкриваються як slash-команди:
- `/skill <name> [input]` завжди працює як універсальна точка входу.
- `/skill <name> [input]` завжди працює як загальна точка входу.
- Skills також можуть з’являтися як прямі команди, наприклад `/prose`, коли skill/plugin їх реєструє.
- реєстрація нативних команд Skills контролюється `commands.nativeSkills` і `channels.<provider>.commands.nativeSkills`.
- реєстрація нативних команд Skills керується `commands.nativeSkills` і `channels.<provider>.commands.nativeSkills`.
- специфікації команд можуть надавати `descriptionLocalizations` для нативних поверхонь, які підтримують локалізовані описи, зокрема Discord.
<AccordionGroup>
<Accordion title="Примітки щодо аргументів і парсера">
- Команди приймають необов’язковий `:` між командою та аргументами (наприклад, `/think: high`, `/send: on`, `/help:`).
- `/new <model>` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігу немає, текст вважається тілом повідомлення.
- Для повної розбивки використання провайдерів використовуйте `openclaw status --usage`.
<Accordion title="Argument and parser notes">
- Команди приймають необов’язковий `:` між командою й аргументами (наприклад, `/think: high`, `/send: on`, `/help:`).
- `/new <model>` приймає псевдонім моделі, `provider/model` або назву провайдера (нечіткий збіг); якщо збігу немає, текст розглядається як тіло повідомлення.
- Для повного розподілу використання за провайдерами використовуйте `openclaw status --usage`.
- `/allowlist add|remove` потребує `commands.config=true` і враховує `configWrites` каналу.
- У багатокористувацьких каналах `/allowlist --account <id>`, націлений на конфігурацію, і `/config set channels.<provider>.accounts.<id>...` також враховують `configWrites` цільового облікового запису.
- `/usage` керує нижнім колонтитулом використання для кожної відповіді; `/usage cost` друкує локальний підсумок вартості з журналів сеансів OpenClaw.
- `/restart` увімкнено типово; задайте `commands.restart: false`, щоб вимкнути.
- `/plugins install <spec>` приймає ті самі специфікації plugin, що й `openclaw plugins install`: локальний шлях/архів, npm-пакет, `git:<repo>` або `clawhub:<pkg>`, а потім запитує перезапуск Gateway, оскільки вихідні модулі plugin змінилися.
- `/plugins enable|disable` оновлює конфігурацію plugin і запускає перезавантаження plugins Gateway для нових ходів агента.
- У багатокористувацьких каналах `/allowlist --account <id>` із ціллю конфігурації та `/config set channels.<provider>.accounts.<id>...` також враховують `configWrites` цільового облікового запису.
- `/usage` керує футером використання для кожної відповіді; `/usage cost` друкує локальний підсумок вартості з журналів сеансів OpenClaw.
- `/restart` увімкнено за замовчуванням; установіть `commands.restart: false`, щоб вимкнути це.
- `/plugins install <spec>` приймає ті самі специфікації плагінів, що й `openclaw plugins install`: локальний шлях/архів, npm-пакет, `git:<repo>` або `clawhub:<pkg>`, а потім запитує перезапуск Gateway, бо вихідні модулі плагіна змінилися.
- `/plugins enable|disable` оновлює конфігурацію плагінів і запускає перезавантаження плагінів Gateway для нових ходів агента.
</Accordion>
<Accordion title="Поведінка, специфічна для каналу">
- Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (недоступна як текст). `join` потребує гільдії та вибраного голосового/сценічного каналу. Потребує `channels.discord.voice` і нативних команд.
- Команди прив’язки потоків Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують увімкнених ефективних прив’язок потоків (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`).
- Довідник команд ACP і поведінка середовища виконання: [Агенти ACP](/uk/tools/acp-agents).
<Accordion title="Channel-specific behavior">
- Нативна команда лише для Discord: `/vc join|leave|status` керує голосовими каналами (недоступна як текст). `join` потребує guild і вибраного voice/stage-каналу. Потребує `channels.discord.voice` і нативних команд.
- Команди прив’язки гілок Discord (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`) потребують увімкнених ефективних прив’язок гілок (`session.threadBindings.enabled` та/або `channels.discord.threadBindings.enabled`).
- Довідник команд ACP і runtime-поведінка: [Агенти ACP](/uk/tools/acp-agents).
</Accordion>
<Accordion title="Детальний режим / трасування / fast / безпека reasoning">
- `/verbose` призначено для налагодження та додаткової видимості; тримайте його **вимкненим** під час звичайного використання.
- `/trace` вужчий за `/verbose`: він показує лише рядки трасування/налагодження, що належать plugin, і не вмикає звичайний детальний шум інструментів.
- `/fast on|off` зберігає перевизначення сеансу. Використовуйте опцію `inherit` в інтерфейсі Sessions UI, щоб очистити його й повернутися до типових значень конфігурації.
- `/fast` залежить від провайдера: OpenAI/OpenAI Codex зіставляють його з `service_tier=priority` на нативних кінцевих точках Responses, тоді як прямі публічні запити Anthropic, зокрема трафік з OAuth-автентифікацією, надісланий до `api.anthropic.com`, зіставляють його з `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic).
<Accordion title="Verbose / trace / fast / reasoning safety">
- `/verbose` призначено для налагодження й додаткової видимості; тримайте його **вимкненим** під час звичайного використання.
- `/trace` вужчий за `/verbose`: він показує лише trace/debug-рядки, якими володіє плагін, і залишає звичайний докладний шум інструментів вимкненим.
- `/fast on|off` зберігає перевизначення сеансу. Використовуйте параметр `inherit` в UI Sessions, щоб очистити його й повернутися до стандартних значень конфігурації.
- `/fast` залежить від провайдера: OpenAI/OpenAI Codex зіставляють його з `service_tier=priority` на нативних кінцевих точках Responses, тоді як прямі публічні запити Anthropic, зокрема OAuth-автентифікований трафік, надісланий до `api.anthropic.com`, зіставляють його з `service_tier=auto` або `standard_only`. Див. [OpenAI](/uk/providers/openai) і [Anthropic](/uk/providers/anthropic).
- Підсумки збоїв інструментів усе ще показуються, коли це доречно, але докладний текст збою включається лише коли `/verbose` має значення `on` або `full`.
- `/reasoning`, `/verbose` і `/trace` ризиковані в групових налаштуваннях: вони можуть розкрити внутрішнє reasoning, вивід інструментів або діагностику plugin, які ви не мали наміру показувати. Краще залишати їх вимкненими, особливо в групових чатах.
- `/reasoning`, `/verbose` і `/trace` ризиковані в групових налаштуваннях: вони можуть розкрити внутрішнє міркування, вивід інструментів або діагностику плагінів, які ви не планували показувати. Краще залишати їх вимкненими, особливо в групових чатах.
</Accordion>
<Accordion title="Перемикання моделі">
<Accordion title="Model switching">
- `/model` негайно зберігає нову модель сеансу.
- Якщо агент простоює, наступний запуск одразу її використовує.
- Якщо запуск уже активний, OpenClaw позначає живе перемикання як очікуване й перезапускається в нову модель лише в чистій точці повторної спроби.
- Якщо активність інструментів або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої нагоди повторної спроби або наступного ходу користувача.
- У локальному TUI `/crestodian [request]` повертає зі звичайного TUI агента до Crestodian. Це окремо від rescue mode каналу повідомлень і не надає віддалених повноважень конфігурації.
- Якщо запуск уже активний, OpenClaw позначає live-перемикання як очікуване й перезапускається в нову модель лише в чистій точці повторної спроби.
- Якщо активність інструментів або вивід відповіді вже почалися, очікуване перемикання може залишатися в черзі до пізнішої можливості повторної спроби або наступного ходу користувача.
- У локальному TUI `/crestodian [request]` повертає зі звичайного TUI агента до Crestodian. Це окремо від rescue mode каналу повідомлень і не надає віддалених прав на конфігурацію.
</Accordion>
<Accordion title="Швидкий шлях та вбудовані скорочення">
- **Швидкий шлях:** повідомлення лише з командами від відправників зі списку дозволів обробляються негайно (обхід черги + моделі).
- **Обмеження групових згадок:** повідомлення лише з командами від відправників зі списку дозволів обходять вимоги згадки.
<Accordion title="Fast path and inline shortcuts">
- **Швидкий шлях:** повідомлення, що містять лише команди, від відправників зі списку дозволів обробляються негайно (обхід черги + моделі).
- **Обмеження згадок у групі:** повідомлення, що містять лише команди, від відправників зі списку дозволів обходять вимоги до згадок.
- **Вбудовані скорочення (лише відправники зі списку дозволів):** певні команди також працюють, коли вбудовані у звичайне повідомлення, і вилучаються перед тим, як модель побачить решту тексту.
- Приклад: `hey /status` запускає відповідь зі статусом, а решта тексту продовжує проходити звичайним потоком.
- Наразі: `/help`, `/commands`, `/status`, `/whoami` (`/id`).
- Несанкціоновані повідомлення лише з командами мовчки ігноруються, а вбудовані токени `/...` трактуються як звичайний текст.
- Несанкціоновані повідомлення, що містять лише команди, мовчки ігноруються, а вбудовані токени `/...` розглядаються як звичайний текст.
</Accordion>
<Accordion title="Команди Skills і нативні аргументи">
- **Команди Skills:** Skills `user-invocable` доступні як slash-команди. Назви очищаються до `a-z0-9_` (макс. 32 символи); колізії отримують числові суфікси (наприклад, `_2`).
- `/skill <name> [input]` запускає skill за назвою (корисно, коли обмеження нативних команд не дають створити окремі команди для кожного skill).
- Типово команди Skills пересилаються моделі як звичайний запит.
<Accordion title="Skill commands and native arguments">
- **Команди Skills:** Skills із `user-invocable` відкриваються як slash-команди. Назви нормалізуються до `a-z0-9_` (макс. 32 символи); колізії отримують числові суфікси (наприклад, `_2`).
- `/skill <name> [input]` запускає Skills за назвою (корисно, коли обмеження нативних команд не дозволяють команди для кожного skill).
- За замовчуванням команди Skills пересилаються до моделі як звичайний запит.
- Skills можуть необов’язково оголосити `command-dispatch: tool`, щоб спрямувати команду безпосередньо до інструмента (детерміновано, без моделі).
- Приклад: `/prose` (OpenProse plugin) — див. [OpenProse](/uk/prose).
- **Аргументи нативних команд:** Discord використовує автодоповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви пропускаєте аргумент. Динамічні варіанти визначаються відносно моделі цільового сеансу, тому параметри, специфічні для моделі, наприклад рівні `/think`, дотримуються перевизначення `/model` цього сеансу.
- Приклад: `/prose` (плагін OpenProse) — див. [OpenProse](/uk/prose).
- **Аргументи нативних команд:** Discord використовує автозаповнення для динамічних параметрів (і меню кнопок, коли ви пропускаєте обов’язкові аргументи). Telegram і Slack показують меню кнопок, коли команда підтримує варіанти, а ви пропускаєте аргумент. Динамічні варіанти розв’язуються відносно моделі цільового сеансу, тому специфічні для моделі параметри, як-от рівні `/think`, наслідують перевизначення `/model` цього сеансу.
</Accordion>
</AccordionGroup>
## `/tools`
`/tools` відповідає на запитання про середовище виконання, а не про конфігурацію: **що цей агент може використовувати прямо зараз у цій розмові**.
`/tools` відповідає на runtime-запитання, а не на запитання конфігурації: **що цей агент може використовувати прямо зараз у цій розмові**.
- Типовий `/tools` компактний і оптимізований для швидкого перегляду.
- `/tools verbose` додає короткі описи.
- Поверхні нативних команд, які підтримують аргументи, надають той самий перемикач режиму `compact|verbose`.
- Результати мають область дії сеансу, тому зміна агента, каналу, потоку, авторизації відправника або моделі може змінити вивід.
- `/tools` включає інструменти, які справді доступні в середовищі виконання, зокрема базові інструменти, підключені інструменти plugin та інструменти, що належать каналу.
- Поверхні нативних команд, які підтримують аргументи, відкривають той самий перемикач режиму `compact|verbose`.
- Результати мають область дії сеансу, тому зміна агента, каналу, гілки, авторизації відправника або моделі може змінити вивід.
- `/tools` включає інструменти, які фактично доступні під час runtime, зокрема основні інструменти, підключені інструменти плагінів та інструменти, якими володіє канал.
Для редагування профілю та перевизначень використовуйте панель Tools в Control UI або поверхні конфігурації/каталогу, а не трактуйте `/tools` як статичний каталог.
Для редагування профілів і перевизначень використовуйте панель Tools у Control UI або поверхні config/catalog замість того, щоб сприймати `/tools` як статичний каталог.
## Поверхні використання (що де показується)
- **Використання/квота провайдера** (приклад: "Claude 80% left") відображається в `/status` для поточного провайдера моделі, коли ввімкнено відстеження використання. OpenClaw нормалізує вікна провайдера до `% left`; для MiniMax поля відсотків лише із залишком інвертуються перед показом, а відповіді `model_remains` надають перевагу запису чат-моделі плюс позначці плану з тегом моделі.
- **Рядки токенів/кешу** в `/status` можуть повертатися до останнього запису використання з транскрипту, коли знімок живої сесії розріджений. Наявні ненульові живі значення все одно мають пріоритет, а fallback із транскрипту також може відновити мітку активної runtime-моделі плюс більшу prompt-орієнтовану суму, коли збережені підсумки відсутні або менші.
- **Виконання проти runtime:** `/status` повідомляє `Execution` для ефективного шляху sandbox і `Runtime` для того, хто фактично запускає сесію: `OpenClaw Pi Default`, `OpenAI Codex`, CLI-бекенд або ACP-бекенд.
- **Токени/вартість на відповідь** контролюється через `/usage off|tokens|full` (додається до звичайних відповідей).
- `/model status` стосується **моделей/автентифікації/endpoint-ів**, а не використання.
- **Використання/квота провайдера** (приклад: "Claude 80% left") відображається в `/status` для поточного провайдера моделей, коли відстеження використання ввімкнене. OpenClaw нормалізує вікна провайдера до `% left`; для MiniMax поля відсотків лише із залишком інвертуються перед показом, а відповіді `model_remains` надають перевагу запису чат-моделі разом із міткою плану з тегом моделі.
- **Рядки токенів/кешу** у `/status` можуть повертатися до останнього запису використання з транскрипту, коли знімок живої сесії розріджений. Наявні ненульові живі значення все ще мають пріоритет, а fallback із транскрипту також може відновити мітку активної runtime-моделі плюс більший prompt-орієнтований підсумок, коли збережені підсумки відсутні або менші.
- **Виконання vs runtime:** `/status` повідомляє `Execution` для ефективного шляху sandbox і `Runtime` для того, хто фактично запускає сесію: `OpenClaw Pi Default`, `OpenAI Codex`, CLI backend або ACP backend.
- **Токени/вартість за відповідь** керуються `/usage off|tokens|full` (додається до звичайних відповідей).
- `/model status` стосується **моделей/auth/endpoints**, а не використання.
## Вибір моделі (`/model`)
@ -341,14 +341,14 @@ Skills, які може викликати користувач, також до
Примітки:
- `/model` і `/model list` показують компактний нумерований вибірник (сімейство моделей + доступні провайдери).
- У Discord `/model` і `/models` відкривають інтерактивний вибірник із випадаючими списками провайдера та моделі плюс кроком Submit.
- `/model <#>` вибирає з цього вибірника (і, коли можливо, надає перевагу поточному провайдеру).
- `/model status` показує детальний вигляд, зокрема налаштований endpoint провайдера (`baseUrl`) і режим API (`api`), коли вони доступні.
- `/model` і `/model list` показують компактний нумерований вибір (сімейство моделей + доступні провайдери).
- У Discord `/model` і `/models` відкривають інтерактивний вибір із dropdown-полями провайдера й моделі та кроком Submit.
- `/model <#>` вибирає з цього списку (і за можливості надає перевагу поточному провайдеру).
- `/model status` показує детальний вигляд, включно з налаштованим endpoint провайдера (`baseUrl`) і API-режимом (`api`), коли вони доступні.
## Debug-перевизначення
`/debug` дає змогу задавати **лише runtime** перевизначення конфігурації (у пам'яті, не на диску). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.debug: true`.
`/debug` дає змогу задавати **лише runtime** перевизначення конфігурації (у памяті, не на диску). Лише для власника. За замовчуванням вимкнено; увімкніть через `commands.debug: true`.
Приклади:
@ -361,12 +361,12 @@ Skills, які може викликати користувач, також до
```
<Note>
Перевизначення негайно застосовуються до нових читань конфігурації, але **не** записуються в `openclaw.json`. Використайте `/debug reset`, щоб очистити всі перевизначення й повернутися до конфігурації на диску.
Перевизначення негайно застосовуються до нових читань конфігурації, але **не** записуються в `openclaw.json`. Використовуйте `/debug reset`, щоб очистити всі перевизначення й повернутися до конфігурації на диску.
</Note>
## Вивід трасування Plugin
`/trace` дає змогу перемикати **сесійні рядки трасування/debug Plugin** без увімкнення повного verbose-режиму.
`/trace` дає змогу перемикати **рядки трасування/debug плагіна в межах сесії** без увімкнення повного verbose-режиму.
Приклади:
@ -379,11 +379,11 @@ Skills, які може викликати користувач, також до
Примітки:
- `/trace` без аргументу показує поточний стан трасування сесії.
- `/trace on` вмикає рядки трасування Plugin для поточної сесії.
- `/trace off` знову їх вимикає.
- Рядки трасування Plugin можуть з'являтися в `/status` і як наступне діагностичне повідомлення після звичайної відповіді асистента.
- `/trace` не замінює `/debug`; `/debug` усе ще керує лише runtime-перевизначеннями конфігурації.
- `/trace` не замінює `/verbose`; звичайний verbose-вивід інструментів/статусу все ще належить до `/verbose`.
- `/trace on` вмикає рядки трасування плагіна для поточної сесії.
- `/trace off` знову вимикає їх.
- Рядки трасування плагіна можуть з’являтися в `/status` і як подальше діагностичне повідомлення після звичайної відповіді асистента.
- `/trace` не замінює `/debug`; `/debug` і далі керує лише runtime перевизначеннями конфігурації.
- `/trace` не замінює `/verbose`; звичайний verbose-вивід інструментів/status і далі належить до `/verbose`.
## Оновлення конфігурації
@ -400,7 +400,7 @@ Skills, які може викликати користувач, також до
```
<Note>
Конфігурацію перевіряють перед записом; недійсні зміни відхиляються. Оновлення `/config` зберігаються після перезапусків.
Конфігурація перевіряється перед записом; недійсні зміни відхиляються. Оновлення `/config` зберігаються між перезапусками.
</Note>
## Оновлення MCP
@ -417,12 +417,12 @@ Skills, які може викликати користувач, також до
```
<Note>
`/mcp` зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi. Runtime-адаптери вирішують, які транспорти фактично можна виконувати.
`/mcp` зберігає конфігурацію в конфігурації OpenClaw, а не в налаштуваннях проєкту, що належать Pi. Runtime-адаптери вирішують, які транспорти фактично виконувані.
</Note>
## Оновлення Plugin
`/plugins` дає операторам змогу переглядати виявлені Plugin і перемикати ввімкнення в конфігурації. Потоки лише для читання можуть використовувати `/plugin` як alias. За замовчуванням вимкнено; увімкніть через `commands.plugins: true`.
`/plugins` дає операторам змогу переглядати виявлені плагіни й перемикати ввімкнення в конфігурації. Read-only потоки можуть використовувати `/plugin` як alias. За замовчуванням вимкнено; увімкніть через `commands.plugins: true`.
Приклади:
@ -435,17 +435,17 @@ Skills, які може викликати користувач, також до
```
<Note>
- `/plugins list` і `/plugins show` використовують справжнє виявлення Plugin у поточному workspace плюс конфігурацію на диску.
- `/plugins list` і `/plugins show` використовують справжнє виявлення плагінів у поточному workspace разом із конфігурацією на диску.
- `/plugins install` встановлює з ClawHub, npm, git, локальних каталогів і архівів.
- `/plugins enable|disable` оновлює лише конфігурацію Plugin; це не встановлює й не видаляє Plugin.
- Зміни ввімкнення й вимкнення hot-reload runtime-поверхні Plugin у Gateway для нових ходів агента; install запитує перезапуск Gateway, бо вихідні модулі Plugin змінилися.
- `/plugins enable|disable` оновлює лише конфігурацію плагіна; це не встановлює й не видаляє плагіни.
- Зміни ввімкнення й вимкнення hot-reload runtime-поверхні плагінів Gateway для нових ходів агента; встановлення запитує перезапуск Gateway, бо змінилися source-модулі плагіна.
</Note>
## Примітки щодо поверхонь
<AccordionGroup>
<Accordion title="Сесії за поверхнею">
<Accordion title="Сесії на поверхню">
- **Текстові команди** виконуються у звичайній чат-сесії (DM спільно використовують `main`, групи мають власну сесію).
- **Нативні команди** використовують ізольовані сесії:
- Discord: `agent:<agentId>:discord:slash:<userId>`
@ -454,17 +454,17 @@ Skills, які може викликати користувач, також до
- **`/stop`** цілиться в активну чат-сесію, щоб вона могла перервати поточний запуск.
</Accordion>
<Accordion title="Специфіка Slack">
`channels.slack.slashCommand` усе ще підтримується для однієї команди стилю `/openclaw`. Якщо ви вмикаєте `commands.native`, потрібно створити одну slash-команду Slack для кожної вбудованої команди (ті самі назви, що й у `/help`). Меню аргументів команд для Slack доставляються як ephemeral-кнопки Block Kit.
<Accordion title="Особливості Slack">
`channels.slack.slashCommand` і далі підтримується для однієї команди у стилі `/openclaw`. Якщо ви вмикаєте `commands.native`, потрібно створити одну Slack slash command для кожної вбудованої команди (ті самі назви, що й у `/help`). Меню аргументів команд для Slack доставляються як ephemeral кнопки Block Kit.
Виняток для нативних команд Slack: зареєструйте `/agentstatus` (не `/status`), бо Slack резервує `/status`. Текстова `/status` усе ще працює в повідомленнях Slack.
Виняток для нативних Slack-команд: зареєструйте `/agentstatus` (не `/status`), бо Slack резервує `/status`. Текстова `/status` і далі працює в повідомленнях Slack.
</Accordion>
</AccordionGroup>
## Побічні запитання BTW
## Побічні питання BTW
`/btw` — це швидке **побічне запитання** про поточну сесію. `/side` є alias.
`/btw` — це швидке **побічне питання** щодо поточної сесії. `/side` є alias.
На відміну від звичайного чату:
@ -472,9 +472,9 @@ Skills, які може викликати користувач, також до
- воно виконується як окремий одноразовий виклик **без інструментів**,
- воно не змінює майбутній контекст сесії,
- воно не записується в історію транскрипту,
- воно доставляється як живий побічний результат замість звичайного повідомлення асистента.
- воно доставляється як live побічний результат замість звичайного повідомлення асистента.
Це робить `/btw` корисним, коли вам потрібне тимчасове уточнення, поки основне завдання продовжує виконуватися.
Це робить `/btw` корисним, коли потрібне тимчасове уточнення, поки основне завдання продовжується.
Приклад:
@ -483,10 +483,10 @@ Skills, які може викликати користувач, також до
/side what changed while the main run continued?
```
Див. [Побічні запитання BTW](/uk/tools/btw), щоб отримати повну поведінку та деталі UX клієнта.
Див. [Побічні питання BTW](/uk/tools/btw), щоб отримати повну поведінку й деталі UX клієнта.
## Пов'язане
## Повязане
- [Створення skills](/uk/tools/creating-skills)
- [Створення Skills](/uk/tools/creating-skills)
- [Skills](/uk/tools/skills)
- [Конфігурація Skills](/uk/tools/skills-config)