chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-21 21:51:31 +00:00
parent 5a5a175b4f
commit ee3ff85378
3 changed files with 1507 additions and 1500 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,32 +2,32 @@
read_when:
- Перше налаштування OpenClaw
- Пошук поширених шаблонів конфігурації
- Перехід до певних розділів конфігурації
- Перехід до конкретних розділів конфігурації
summary: 'Огляд конфігурації: поширені завдання, швидке налаштування та посилання на повний довідник'
title: Конфігурація
x-i18n:
generated_at: "2026-04-20T18:29:28Z"
generated_at: "2026-04-21T21:40:53Z"
model: gpt-5.4
provider: openai
source_hash: 479e59fb8b57c5228ef1c6076cf80a4ce6064d3f6fad5f38ea9d75eeb92811dc
source_hash: c627ccf9f17087e0b71663fe3086d637aeaa8cd1d6d34d816bfcbc0f0cc6f07c
source_path: gateway/configuration.md
workflow: 15
---
# Конфігурація
OpenClaw зчитує необов’язкову конфігурацію <Tooltip tip="JSON5 supports comments and trailing commas">**JSON5**</Tooltip> з `~/.openclaw/openclaw.json`.
OpenClaw читає необов’язкову конфігурацію <Tooltip tip="JSON5 supports comments and trailing commas">**JSON5**</Tooltip> з `~/.openclaw/openclaw.json`.
Якщо файл відсутній, OpenClaw використовує безпечні значення за замовчуванням. Поширені причини додати конфігурацію:
- Підключити канали та керувати тим, хто може надсилати повідомлення боту
- Налаштувати моделі, інструменти, ізоляцію або автоматизацію (Cron, hooks)
- Налаштувати моделі, інструменти, ізоляцію або автоматизацію (cron, hooks)
- Налаштувати сесії, медіа, мережу або UI
Перегляньте [повний довідник](/uk/gateway/configuration-reference), щоб побачити всі доступні поля.
Перегляньте [повний довідник](/uk/gateway/configuration-reference) для всіх доступних полів.
<Tip>
**Новачок у конфігурації?** Почніть з `openclaw onboard` для інтерактивного налаштування або перегляньте посібник [Приклади конфігурації](/uk/gateway/configuration-examples) з повними конфігураціями для копіювання й вставлення.
**Вперше працюєте з конфігурацією?** Почніть з `openclaw onboard` для інтерактивного налаштування або перегляньте посібник [Приклади конфігурації](/uk/gateway/configuration-examples) із готовими конфігураціями для копіювання.
</Tip>
## Мінімальна конфігурація
@ -57,44 +57,44 @@ OpenClaw зчитує необов’язкову конфігурацію <Tool
```
</Tab>
<Tab title="Control UI">
Відкрийте [http://127.0.0.1:18789](http://127.0.0.1:18789) і використовуйте вкладку **Config**.
Control UI відображає форму з живої схеми конфігурації, включно з метаданими документації полів
`title` / `description`, а також схемами Plugin і каналів, коли вони
доступні, із редактором **Raw JSON** як запасним варіантом. Для деталізованих
UI та інших інструментів gateway також надає `config.schema.lookup`, щоб
отримати один вузол схеми для певного шляху разом із підсумками безпосередніх дочірніх елементів.
Відкрийте [http://127.0.0.1:18789](http://127.0.0.1:18789) і використайте вкладку **Config**.
Control UI відображає форму на основі актуальної схеми конфігурації, включно з
метаданими документації полів `title` / `description`, а також схемами Plugin і каналів,
коли вони доступні, із редактором **Raw JSON** як запасним варіантом. Для UI
з деталізацією та інших інструментів Gateway також надає `config.schema.lookup` для
отримання одного вузла схеми, обмеженого шляхом, разом із короткими зведеннями безпосередніх дочірніх елементів.
</Tab>
<Tab title="Пряме редагування">
Редагуйте `~/.openclaw/openclaw.json` безпосередньо. Gateway відстежує файл і автоматично застосовує зміни (див. [гаряче перезавантаження](#config-hot-reload)).
Відредагуйте `~/.openclaw/openclaw.json` безпосередньо. Gateway відстежує файл і автоматично застосовує зміни (див. [гаряче перезавантаження](#config-hot-reload)).
</Tab>
</Tabs>
## Сувора валідація
<Warning>
OpenClaw приймає лише конфігурації, що повністю відповідають схемі. Невідомі ключі, некоректні типи або недійсні значення призводять до того, що Gateway **відмовляється запускатися**. Єдиний виняток на рівні кореня — `$schema` (рядок), щоб редактори могли приєднувати метадані JSON Schema.
OpenClaw приймає лише конфігурації, які повністю відповідають схемі. Невідомі ключі, некоректні типи або недійсні значення призводять до того, що Gateway **відмовляється запускатися**. Єдиний виняток на кореневому рівні — `$schema` (рядок), щоб редактори могли додавати метадані JSON Schema.
</Warning>
Примітки щодо інструментів схеми:
- `openclaw config schema` виводить ту саму сім’ю JSON Schema, яку використовують Control UI
і валідація конфігурації.
- Вважайте цей вивід схеми канонічним машиночитаним контрактом для
`openclaw.json`; цей огляд і довідник конфігурації її узагальнюють.
- Значення полів `title` і `description` переносяться у вивід схеми для
інструментів редактора та форм.
- Вкладені об’єкти, шаблонні (`*`) і елементи масивів (`[]`) успадковують ті самі
метадані документації там, де існує відповідна документація поля.
- Гілки композиції `anyOf` / `oneOf` / `allOf` також успадковують ті самі
метадані документації, тож варіанти union/intersection зберігають ту саму довідку по полях.
- Вважайте цей вивід схеми канонічним машинозчитуваним контрактом для
`openclaw.json`; цей огляд і довідник конфігурації його узагальнюють.
- Значення полів `title` і `description` переносяться до виводу схеми для
редакторів і інструментів побудови форм.
- Вкладені об’єкти, шаблони (`*`) і елементи масивів (`[]`) успадковують ті самі
метадані документації там, де є відповідна документація поля.
- Гілки композиції `anyOf` / `oneOf` / `allOf` також успадковують ті самі метадані
документації, тож варіанти union/intersection зберігають однакові підказки для полів.
- `config.schema.lookup` повертає один нормалізований шлях конфігурації з неглибоким
вузлом схеми (`title`, `description`, `type`, `enum`, `const`, типові межі
та подібні поля валідації), відповідні метадані підказок UI і короткі описи
вузлом схеми (`title`, `description`, `type`, `enum`, `const`, поширені обмеження
та подібні поля валідації), відповідними метаданими UI-підказок і короткими зведеннями
безпосередніх дочірніх елементів для інструментів деталізації.
- Схеми Plugin/каналів під час виконання об’єднуються, коли gateway може завантажити
поточний реєстр маніфестів.
- `pnpm config:docs:check` виявляє розбіжності між базовими артефактами конфігурації
для документації та поточною поверхнею схеми.
- `pnpm config:docs:check` виявляє розбіжності між артефактами базової конфігурації,
видимими в документації, і поточною поверхнею схеми.
Коли валідація не проходить:
@ -103,22 +103,22 @@ OpenClaw приймає лише конфігурації, що повністю
- Запустіть `openclaw doctor`, щоб побачити точні проблеми
- Запустіть `openclaw doctor --fix` (або `--yes`), щоб застосувати виправлення
Gateway також зберігає довірену останню справну копію після успішного запуску. Якщо
`openclaw.json` пізніше змінено поза OpenClaw і він більше не проходить валідацію, під час запуску
і гарячого перезавантаження пошкоджений файл зберігається як знімок `.clobbered.*` із часовою позначкою,
відновлюється остання справна копія, а в журнал записується помітне попередження з причиною відновлення.
Під час наступного ходу головного агента він також отримує попередження системної події про те, що
конфігурацію було відновлено і її не можна бездумно перезаписувати. Просування останньої справної копії
оновлюється після перевіреного запуску та після прийнятих гарячих перезавантажень, зокрема
для записів конфігурації, виконаних самим OpenClaw, якщо хеш збереженого файла все ще збігається з прийнятим
записом. Просування пропускається, коли кандидат містить відредаговані заповнювачі секретів
Gateway також зберігає довірену останню відому коректну копію після успішного запуску. Якщо
`openclaw.json` згодом буде змінено поза OpenClaw і він більше не проходитиме валідацію, під час запуску
та гарячого перезавантаження пошкоджений файл буде збережено як `.clobbered.*` зі штампом часу,
відновлено останню відому коректну копію та записано помітне попередження з причиною відновлення.
Під час наступного ходу головного агента він також отримає попередження про системну подію з повідомленням, що
конфігурацію було відновлено і її не можна бездумно перезаписувати. Оновлення останньої відомої коректної
копії відбувається після запуску з успішною валідацією і після прийнятих гарячих перезавантажень, включно з
записами конфігурації, виконаними OpenClaw, якщо хеш збереженого файлу все ще відповідає прийнятому
запису. Оновлення пропускається, якщо кандидат містить замасковані заповнювачі секретів
на кшталт `***` або скорочені значення токенів.
## Поширені завдання
<AccordionGroup>
<Accordion title="Налаштувати канал (WhatsApp, Telegram, Discord тощо)">
Кожен канал має власний розділ конфігурації в `channels.<provider>`. Перегляньте окрему сторінку каналу, щоб виконати налаштування:
<Accordion title="Налаштування каналу (WhatsApp, Telegram, Discord тощо)">
Кожен канал має власний розділ конфігурації в `channels.<provider>`. Перегляньте окрему сторінку каналу для кроків налаштування:
- [WhatsApp](/uk/channels/whatsapp) — `channels.whatsapp`
- [Telegram](/uk/channels/telegram) — `channels.telegram`
@ -131,7 +131,7 @@ Gateway також зберігає довірену останню справн
- [iMessage](/uk/channels/imessage) — `channels.imessage`
- [Mattermost](/uk/channels/mattermost) — `channels.mattermost`
Усі канали використовують однаковий шаблон політики приватних повідомлень:
Усі канали мають спільний шаблон політики приватних повідомлень:
```json5
{
@ -148,8 +148,8 @@ Gateway також зберігає довірену останню справн
</Accordion>
<Accordion title="Вибрати й налаштувати моделі">
Вкажіть основну модель і необов’язкові резервні варіанти:
<Accordion title="Вибір і налаштування моделей">
Укажіть основну модель і необов’язкові резервні варіанти:
```json5
{
@ -170,28 +170,28 @@ Gateway також зберігає довірену останню справн
- `agents.defaults.models` визначає каталог моделей і слугує allowlist для `/model`.
- Посилання на моделі використовують формат `provider/model` (наприклад, `anthropic/claude-opus-4-6`).
- `agents.defaults.imageMaxDimensionPx` керує зменшенням масштабу зображень у транскрипті/інструментах (типове значення `1200`); менші значення зазвичай зменшують використання vision-токенів у сценаріях із великою кількістю знімків екрана.
- Перегляньте [Models CLI](/uk/concepts/models), щоб перемикати моделі в чаті, і [Model Failover](/uk/concepts/model-failover), щоб дізнатися про ротацію автентифікації та поведінку резервних варіантів.
- `agents.defaults.imageMaxDimensionPx` керує зменшенням розміру зображень у транскриптах/інструментах (типове значення `1200`); менші значення зазвичай зменшують використання vision-токенів у сценаріях із великою кількістю скриншотів.
- Див. [Models CLI](/uk/concepts/models) для перемикання моделей у чаті та [Model Failover](/uk/concepts/model-failover) для ротації автентифікації та поведінки резервних моделей.
- Для користувацьких/self-hosted провайдерів див. [Custom providers](/uk/gateway/configuration-reference#custom-providers-and-base-urls) у довіднику.
</Accordion>
<Accordion title="Керувати тим, хто може надсилати повідомлення боту">
Доступ до приватних повідомлень контролюється окремо для кожного каналу через `dmPolicy`:
<Accordion title="Керування тим, хто може надсилати повідомлення боту">
Доступ до приватних повідомлень керується окремо для кожного каналу через `dmPolicy`:
- `"pairing"` (типово): невідомі відправники отримують одноразовий код сполучення для підтвердження
- `"allowlist"`: лише відправники з `allowFrom` (або зі сховища дозволених сполучених користувачів)
- `"open"`: дозволити всі вхідні приватні повідомлення (потрібно `allowFrom: ["*"]`)
- `"allowlist"`: лише відправники з `allowFrom` (або зі сховища paired allow)
- `"open"`: дозволити всі вхідні приватні повідомлення (потребує `allowFrom: ["*"]`)
- `"disabled"`: ігнорувати всі приватні повідомлення
Для груп використовуйте `groupPolicy` + `groupAllowFrom` або allowlist, специфічні для каналу.
Докладні відомості для кожного каналу див. у [повному довіднику](/uk/gateway/configuration-reference#dm-and-group-access).
Див. [повний довідник](/uk/gateway/configuration-reference#dm-and-group-access) для деталей по кожному каналу.
</Accordion>
<Accordion title="Налаштувати обмеження за згадкою в груповому чаті">
Повідомлення в групах за замовчуванням **вимагають згадки**. Налаштуйте шаблони для кожного агента:
<Accordion title="Налаштування фільтрації згадок у групових чатах">
Для повідомлень у групах типово **потрібна згадка**. Налаштуйте шаблони для кожного агента:
```json5
{
@ -213,15 +213,15 @@ Gateway також зберігає довірену останню справн
}
```
- **Метадані згадок**: нативні @-згадки (WhatsApp tap-to-mention, Telegram @bot тощо)
- **Згадки в метаданих**: нативні @-згадки (WhatsApp tap-to-mention, Telegram @bot тощо)
- **Текстові шаблони**: безпечні regex-шаблони в `mentionPatterns`
- Докладніше про перевизначення для кожного каналу та режим self-chat див. у [повному довіднику](/uk/gateway/configuration-reference#group-chat-mention-gating).
- Див. [повний довідник](/uk/gateway/configuration-reference#group-chat-mention-gating) для перевизначень по каналах і режиму self-chat.
</Accordion>
<Accordion title="Обмежити Skills для агента">
Використовуйте `agents.defaults.skills` для спільної базової конфігурації, а потім перевизначайте
окремих агентів через `agents.list[].skills`:
<Accordion title="Обмеження Skills для кожного агента">
Використовуйте `agents.defaults.skills` для спільного базового набору, а потім перевизначайте конкретних
агентів через `agents.list[].skills`:
```json5
{
@ -238,16 +238,16 @@ Gateway також зберігає довірену останню справн
}
```
- Не вказуйте `agents.defaults.skills`, якщо за замовчуванням Skills не мають бути обмежені.
- Не вказуйте `agents.list[].skills`, щоб успадкувати типові значення.
- Установіть `agents.list[].skills: []`, щоб не дозволити жодних Skills.
- Не вказуйте `agents.defaults.skills`, щоб Skills за замовчуванням не були обмежені.
- Не вказуйте `agents.list[].skills`, щоб успадкувати значення за замовчуванням.
- Установіть `agents.list[].skills: []`, щоб не було жодних Skills.
- Див. [Skills](/uk/tools/skills), [конфігурацію Skills](/uk/tools/skills-config) і
[довідник конфігурації](/uk/gateway/configuration-reference#agents-defaults-skills).
</Accordion>
<Accordion title="Налаштувати моніторинг стану каналів gateway">
Керуйте тим, наскільки агресивно gateway перезапускає канали, які виглядають застарілими:
<Accordion title="Налаштування моніторингу стану каналів gateway">
Керуйте тим, наскільки активно gateway перезапускає канали, які виглядають застарілими:
```json5
{
@ -271,12 +271,12 @@ Gateway також зберігає довірену останню справн
- Установіть `gateway.channelHealthCheckMinutes: 0`, щоб глобально вимкнути перезапуски моніторингу стану.
- `channelStaleEventThresholdMinutes` має бути більшим або дорівнювати інтервалу перевірки.
- Використовуйте `channels.<provider>.healthMonitor.enabled` або `channels.<provider>.accounts.<id>.healthMonitor.enabled`, щоб вимкнути автоперезапуски для одного каналу чи облікового запису без вимкнення глобального монітора.
- Див. [Health Checks](/uk/gateway/health) для операційної діагностики та [повний довідник](/uk/gateway/configuration-reference#gateway) для всіх полів.
- Використовуйте `channels.<provider>.healthMonitor.enabled` або `channels.<provider>.accounts.<id>.healthMonitor.enabled`, щоб вимкнути автоперезапуски для одного каналу або облікового запису без вимкнення глобального монітора.
- Див. [Health Checks](/uk/gateway/health) для операційного налагодження та [повний довідник](/uk/gateway/configuration-reference#gateway) для всіх полів.
</Accordion>
<Accordion title="Налаштувати сесії та скидання">
<Accordion title="Налаштування сесій і скидань">
Сесії керують безперервністю розмови та ізоляцією:
```json5
@ -298,14 +298,14 @@ Gateway також зберігає довірену останню справн
```
- `dmScope`: `main` (спільна) | `per-peer` | `per-channel-peer` | `per-account-channel-peer`
- `threadBindings`: глобальні типові значення для маршрутизації сесій, прив’язаних до тредів (Discord підтримує `/focus`, `/unfocus`, `/agents`, `/session idle` і `/session max-age`).
- Див. [Керування сесіями](/uk/concepts/session) для відомостей про області дії, зв’язки ідентичностей і політику надсилання.
- Усі поля див. у [повному довіднику](/uk/gateway/configuration-reference#session).
- `threadBindings`: глобальні значення за замовчуванням для маршрутизації сесій, прив’язаних до потоків (Discord підтримує `/focus`, `/unfocus`, `/agents`, `/session idle` і `/session max-age`).
- Див. [Керування сесіями](/uk/concepts/session) для області дії, зв’язків ідентичностей і політики надсилання.
- Див. [повний довідник](/uk/gateway/configuration-reference#session) для всіх полів.
</Accordion>
<Accordion title="Увімкнути ізоляцію">
Запускайте сесії агента в ізольованих runtime ізолятора:
<Accordion title="Увімкнення ізоляції">
Запускайте сесії агента в ізольованих sandbox-середовищах виконання:
```json5
{
@ -322,14 +322,14 @@ Gateway також зберігає довірену останню справн
Спочатку зберіть образ: `scripts/sandbox-setup.sh`
Повний посібник див. у [Sandboxing](/uk/gateway/sandboxing), а всі параметри — у [повному довіднику](/uk/gateway/configuration-reference#agentsdefaultssandbox).
Див. [Sandboxing](/uk/gateway/sandboxing) для повного посібника та [повний довідник](/uk/gateway/configuration-reference#agentsdefaultssandbox) для всіх параметрів.
</Accordion>
<Accordion title="Увімкнути push через relay для офіційних збірок iOS">
Push через relay налаштовується в `openclaw.json`.
<Accordion title="Увімкнення relay-backed push для офіційних збірок iOS">
Relay-backed push налаштовується в `openclaw.json`.
Укажіть це в конфігурації gateway:
Установіть це в конфігурації gateway:
```json5
{
@ -347,7 +347,7 @@ Gateway також зберігає довірену останню справн
}
```
Еквівалент у CLI:
Еквівалент для CLI:
```bash
openclaw config set gateway.push.apns.relay.baseUrl https://relay.example.com
@ -355,35 +355,35 @@ Gateway також зберігає довірену останню справн
Що це робить:
- Дозволяє gateway надсилати `push.test`, сигнали пробудження і сигнали повторного підключення через зовнішній relay.
- Використовує grant на надсилання в межах реєстрації, який пересилає сполучений застосунок iOS. Gateway не потребує relay-токена рівня всього розгортання.
- Прив’язує кожну реєстрацію через relay до ідентичності gateway, з якою було сполучено застосунок iOS, тож інший gateway не може повторно використати збережену реєстрацію.
- Залишає локальні/ручні збірки iOS на прямому APNs. Надсилання через relay застосовується лише до офіційно розповсюджених збірок, що зареєструвалися через relay.
- Має збігатися з базовим URL relay, вбудованим в офіційну/TestFlight збірку iOS, щоб трафік реєстрації та надсилання потрапляв до того самого розгортання relay.
- Дозволяє gateway надсилати `push.test`, імпульси пробудження та пробудження для повторного підключення через зовнішній relay.
- Використовує право надсилання, прив’язане до реєстрації, яке пересилає спарений застосунок iOS. Gateway не потрібен relay-токен на рівні всього розгортання.
- Прив’язує кожну relay-backed реєстрацію до ідентичності gateway, з якою було спарено застосунок iOS, тому інший gateway не зможе повторно використати збережену реєстрацію.
- Залишає локальні/ручні збірки iOS на прямому APNs. Relay-backed надсилання застосовується лише до офіційно поширюваних збірок, які зареєструвалися через relay.
- Має збігатися з базовим URL relay, вбудованим в офіційну/TestFlight збірку iOS, щоб трафік реєстрації та надсилання потрапляв до одного й того ж розгортання relay.
Наскрізний процес:
Наскрізний потік:
1. Установіть офіційну/TestFlight збірку iOS, скомпільовану з тим самим базовим URL relay.
2. Налаштуйте `gateway.push.apns.relay.baseUrl` у gateway.
3. Сполучіть застосунок iOS із gateway і дайте змогу підключитися як сесіям node, так і сесіям оператора.
4. Застосунок iOS отримує ідентичність gateway, реєструється в relay за допомогою App Attest і квитанції застосунку, а потім публікує payload `push.apns.register` через relay до сполученого gateway.
5. Gateway зберігає relay handle і grant на надсилання, а потім використовує їх для `push.test`, сигналів пробудження і сигналів повторного підключення.
2. Налаштуйте `gateway.push.apns.relay.baseUrl` на gateway.
3. Спарте застосунок iOS із gateway і дозвольте підключитися як сесії Node, так і сесії оператора.
4. Застосунок iOS отримує ідентичність gateway, реєструється в relay за допомогою App Attest і квитанції застосунку, а потім публікує relay-backed payload `push.apns.register` до спареного gateway.
5. Gateway зберігає relay handle і право надсилання, а потім використовує їх для `push.test`, імпульсів пробудження та пробуджень для повторного підключення.
Операційні примітки:
- Якщо ви перемикаєте застосунок iOS на інший gateway, перепідключіть застосунок, щоб він міг опублікувати нову relay-реєстрацію, прив’язану до цього gateway.
- Якщо ви випускаєте нову збірку iOS, що вказує на інше розгортання relay, застосунок оновлює свій кешований relay-реєстраційний запис замість повторного використання старого джерела relay.
- Якщо ви випускаєте нову збірку iOS, що вказує на інше розгортання relay, застосунок оновлює свій кешований relay-registration замість повторного використання старого relay origin.
Примітка щодо сумісності:
- `OPENCLAW_APNS_RELAY_BASE_URL` і `OPENCLAW_APNS_RELAY_TIMEOUT_MS` як і раніше працюють як тимчасові перевизначення через env.
- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true` залишається тимчасовим засобом розробки лише для loopback; не зберігайте HTTP URL relay у конфігурації.
- `OPENCLAW_APNS_RELAY_BASE_URL` і `OPENCLAW_APNS_RELAY_TIMEOUT_MS` усе ще працюють як тимчасові перевизначення через env.
- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true` лишається винятком для розробки лише для loopback; не зберігайте HTTP URL relay у конфігурації.
Див. [застосунок iOS](/uk/platforms/ios#relay-backed-push-for-official-builds) для наскрізного процесу і [процес автентифікації та довіри](/uk/platforms/ios#authentication-and-trust-flow) для моделі безпеки relay.
Див. [iOS App](/uk/platforms/ios#relay-backed-push-for-official-builds) для наскрізного потоку та [Authentication and trust flow](/uk/platforms/ios#authentication-and-trust-flow) для моделі безпеки relay.
</Accordion>
<Accordion title="Налаштувати Heartbeat (періодичні перевірки зв’язку)">
<Accordion title="Налаштування Heartbeat (періодичних перевірок)">
```json5
{
agents: {
@ -400,11 +400,11 @@ Gateway також зберігає довірену останню справн
- `every`: рядок тривалості (`30m`, `2h`). Установіть `0m`, щоб вимкнути.
- `target`: `last` | `none` | `<channel-id>` (наприклад, `discord`, `matrix`, `telegram` або `whatsapp`)
- `directPolicy`: `allow` (типово) або `block` для цілей Heartbeat у стилі DM
- Повний посібник див. у [Heartbeat](/uk/gateway/heartbeat).
- Див. [Heartbeat](/uk/gateway/heartbeat) для повного посібника.
</Accordion>
<Accordion title="Налаштувати Cron-завдання">
<Accordion title="Налаштування завдань Cron">
```json5
{
cron: {
@ -419,14 +419,14 @@ Gateway також зберігає довірену останню справн
}
```
- `sessionRetention`: видаляти завершені ізольовані сесії виконання з `sessions.json` (типово `24h`; установіть `false`, щоб вимкнути).
- `runLog`: обрізати `cron/runs/<jobId>.jsonl` за розміром і кількістю збережених рядків.
- Огляд можливостей і приклади CLI див. у [Cron jobs](/uk/automation/cron-jobs).
- `sessionRetention`: видаляти завершені ізольовані сесії запуску з `sessions.json` (типово `24h`; установіть `false`, щоб вимкнути).
- `runLog`: очищати `cron/runs/<jobId>.jsonl` за розміром і кількістю збережених рядків.
- Див. [Завдання Cron](/uk/automation/cron-jobs) для огляду можливостей і прикладів CLI.
</Accordion>
<Accordion title="Налаштувати Webhook-и (hooks)">
Увімкніть HTTP-ендпоїнти Webhook у Gateway:
<Accordion title="Налаштування Webhook (hooks)">
Увімкніть HTTP-ендпойнти Webhook на Gateway:
```json5
{
@ -450,20 +450,20 @@ Gateway також зберігає довірену останню справн
```
Примітка щодо безпеки:
- Вважайте весь вміст payload hook/Webhook недовіреним введенням.
- Розглядайте весь вміст payload hook/Webhook як недовірений ввід.
- Використовуйте окремий `hooks.token`; не використовуйте повторно спільний токен Gateway.
- Автентифікація hook виконується лише через заголовки (`Authorization: Bearer ...` або `x-openclaw-token`); токени в рядку запиту відхиляються.
- `hooks.path` не може бути `/`; тримайте вхідний трафік Webhook на окремому підшляху, наприклад `/hooks`.
- Залишайте прапори обходу небезпечного вмісту вимкненими (`hooks.gmail.allowUnsafeExternalContent`, `hooks.mappings[].allowUnsafeExternalContent`), якщо не виконуєте вузькоспрямоване налагодження.
- Якщо ви вмикаєте `hooks.allowRequestSessionKey`, також установіть `hooks.allowedSessionKeyPrefixes`, щоб обмежити ключі сесій, які вибирає викликач.
- Для агентів, що запускаються через hook, віддавайте перевагу сильним сучасним рівням моделей і суворій політиці інструментів (наприклад, лише обмін повідомленнями плюс ізоляція, де це можливо).
- Автентифікація hook працює лише через заголовки (`Authorization: Bearer ...` або `x-openclaw-token`); токени в рядку запиту відхиляються.
- `hooks.path` не може бути `/`; використовуйте для вхідних Webhook окремий підшлях, наприклад `/hooks`.
- Залишайте прапори обходу небезпечного вмісту вимкненими (`hooks.gmail.allowUnsafeExternalContent`, `hooks.mappings[].allowUnsafeExternalContent`), якщо тільки не виконуєте вузькоспрямоване налагодження.
- Якщо ви вмикаєте `hooks.allowRequestSessionKey`, також установіть `hooks.allowedSessionKeyPrefixes`, щоб обмежити ключі сесій, які можуть вибирати викликаючі сторони.
- Для агентів, керованих hook, віддавайте перевагу сильним сучасним рівням моделей і суворій політиці інструментів (наприклад, лише обмін повідомленнями плюс sandboxing, де це можливо).
Усі параметри мапінгу та інтеграцію Gmail див. у [повному довіднику](/uk/gateway/configuration-reference#hooks).
Див. [повний довідник](/uk/gateway/configuration-reference#hooks) для всіх параметрів mapping і інтеграції Gmail.
</Accordion>
<Accordion title="Налаштувати маршрутизацію кількох агентів">
Запускайте кількох ізольованих агентів з окремими робочими просторами та сесіями:
<Accordion title="Налаштування маршрутизації кількох агентів">
Запускайте кілька ізольованих агентів з окремими робочими просторами та сесіями:
```json5
{
@ -480,12 +480,12 @@ Gateway також зберігає довірену останню справн
}
```
Правила binding та профілі доступу для кожного агента див. у [Multi-Agent](/uk/concepts/multi-agent) і [повному довіднику](/uk/gateway/configuration-reference#multi-agent-routing).
Див. [Multi-Agent](/uk/concepts/multi-agent) і [повний довідник](/uk/gateway/configuration-reference#multi-agent-routing) для правил binding і профілів доступу для кожного агента.
</Accordion>
<Accordion title="Розділити конфігурацію на кілька файлів ($include)">
Використовуйте `$include`, щоб упорядковувати великі конфігурації:
<Accordion title="Розподіл конфігурації на кілька файлів ($include)">
Використовуйте `$include` для організації великих конфігурацій:
```json5
// ~/.openclaw/openclaw.json
@ -498,40 +498,41 @@ Gateway також зберігає довірену останню справн
}
```
- **Один файл**: замінює об’єкт-контейнер
- **Масив файлів**: глибоко зливається по порядку (пізніший має пріоритет)
- **Сусідні ключі**: зливаються після include-ів (перевизначають включені значення)
- **Вкладені include**: підтримуються до 10 рівнів вкладеності
- **Один файл**: замінює об’єкт, у якому міститься
- **Масив файлів**: об’єднується глибоким злиттям у вказаному порядку (пізніший має пріоритет)
- **Сусідні ключі**: об’єднуються після include (перевизначають включені значення)
- **Вкладені include**: підтримуються до 10 рівнів вкладеності
- **Відносні шляхи**: обчислюються відносно файла, що включає
- **Обробка помилок**: зрозумілі помилки для відсутніх файлів, помилок парсингу та циклічних include-ів
- **Обробка помилок**: зрозумілі помилки для відсутніх файлів, помилок парсингу та циклічних include
</Accordion>
</AccordionGroup>
## Гаряче перезавантаження конфігурації
Gateway відстежує `~/.openclaw/openclaw.json` і автоматично застосовує зміни — для більшості налаштувань ручний перезапуск не потрібен.
Gateway відстежує `~/.openclaw/openclaw.json` і автоматично застосовує зміни — для більшості параметрів ручний перезапуск не потрібен.
Прямі редагування файла вважаються недовіреними, доки не пройдуть валідацію. Спостерігач чекає,
поки завершаться тимчасові записи/перейменування редактора, зчитує фінальний файл і відхиляє
некоректні зовнішні зміни, відновлюючи останню справну конфігурацію. Власні записи конфігурації OpenClaw
використовують той самий бар’єр схеми перед записом; руйнівні перезаписи на кшталт
видалення `gateway.mode` або зменшення файла більш ніж наполовину відхиляються
поки завершиться тимчасовий запис/перейменування файла редактором, читає фінальний файл і відхиляє
некоректні зовнішні редагування, відновлюючи останню відому коректну конфігурацію. Записи конфігурації,
виконані самим OpenClaw, проходять ту саму перевірку схемою перед записом; руйнівні перезаписи,
наприклад видалення `gateway.mode` або зменшення файла більш ніж удвічі, відхиляються
і зберігаються як `.rejected.*` для перевірки.
Якщо ви бачите `Config auto-restored from last-known-good` або
`config reload restored last-known-good config` у логах, перегляньте відповідний
`config reload restored last-known-good config` у логах, перевірте відповідний
файл `.clobbered.*` поруч із `openclaw.json`, виправте відхилений payload, а потім виконайте
`openclaw config validate`. Контрольний список відновлення див. у [усуненні несправностей Gateway](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config).
`openclaw config validate`. Див. [Усунення проблем Gateway](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config)
для контрольного списку відновлення.
### Режими перезавантаження
| Режим | Поведінка |
| ---------------------- | ---------------------------------------------------------------------------------------- |
| **`hybrid`** (типово) | Миттєво гаряче застосовує безпечні зміни. Автоматично перезапускається для критичних. |
| **`hot`** | Гаряче застосовує лише безпечні зміни. Логує попередження, коли потрібен перезапуск — ви обробляєте це самі. |
| **`restart`** | Перезапускає Gateway за будь-якої зміни конфігурації, безпечної чи ні. |
| **`off`** | Вимикає відстеження файла. Зміни набирають чинності під час наступного ручного перезапуску. |
| **`hybrid`** (типово) | Миттєво застосовує безпечні зміни. Автоматично перезапускає для критичних змін. |
| **`hot`** | Застосовує лише безпечні зміни без перезапуску. Записує попередження, коли потрібен перезапуск — ви виконуєте його самі. |
| **`restart`** | Перезапускає Gateway після будь-якої зміни конфігурації, безпечної чи ні. |
| **`off`** | Вимикає відстеження файла. Зміни набудуть чинності під час наступного ручного перезапуску. |
```json5
{
@ -541,60 +542,60 @@ Gateway відстежує `~/.openclaw/openclaw.json` і автоматично
}
```
### Що застосовується гаряче, а що потребує перезапуску
### Що застосовується без перезапуску, а що потребує перезапуску
Більшість полів застосовуються гаряче без простою. У режимі `hybrid` зміни, що потребують перезапуску, обробляються автоматично.
Більшість полів застосовуються без перезапуску й без простою. У режимі `hybrid` зміни, що потребують перезапуску, обробляються автоматично.
| Категорія | Поля | Потрібен перезапуск? |
| ------------------- | -------------------------------------------------------------------- | -------------------- |
| Канали | `channels.*`, `web` (WhatsApp) — усі вбудовані канали й канали розширень | Ні |
| Агент і моделі | `agent`, `agents`, `models`, `routing` | Ні |
| Автоматизація | `hooks`, `cron`, `agent.heartbeat` | Ні |
| Сесії та повідомлення | `session`, `messages` | Ні |
| Інструменти й медіа | `tools`, `browser`, `skills`, `audio`, `talk` | Ні |
| UI та інше | `ui`, `logging`, `identity`, `bindings` | Ні |
| Сервер Gateway | `gateway.*` (port, bind, auth, tailscale, TLS, HTTP) | **Так** |
| Інфраструктура | `discovery`, `canvasHost`, `plugins` | **Так** |
| Категорія | Поля | Потрібен перезапуск? |
| ------------------- | ----------------------------------------------------------------- | -------------------- |
| Канали | `channels.*`, `web` (WhatsApp) — усі вбудовані канали та канали Plugin | Ні |
| Агент і моделі | `agent`, `agents`, `models`, `routing` | Ні |
| Автоматизація | `hooks`, `cron`, `agent.heartbeat` | Ні |
| Сесії та повідомлення | `session`, `messages` | Ні |
| Інструменти та медіа | `tools`, `browser`, `skills`, `audio`, `talk` | Ні |
| UI та інше | `ui`, `logging`, `identity`, `bindings` | Ні |
| Сервер Gateway | `gateway.*` (port, bind, auth, tailscale, TLS, HTTP) | **Так** |
| Інфраструктура | `discovery`, `canvasHost`, `plugins` | **Так** |
<Note>
`gateway.reload` і `gateway.remote` є винятками — їх зміна **не** спричиняє перезапуск.
`gateway.reload` і `gateway.remote` є винятками — їхня зміна **не** спричиняє перезапуск.
</Note>
## Config RPC (програмні оновлення)
<Note>
RPC керуючої площини для запису (`config.apply`, `config.patch`, `update.run`) мають обмеження швидкості: **3 запити за 60 секунд** на `deviceId+clientIp`. У разі обмеження RPC повертає `UNAVAILABLE` з `retryAfterMs`.
RPC запису control-plane (`config.apply`, `config.patch`, `update.run`) мають обмеження швидкості: **3 запити за 60 секунд** на `deviceId+clientIp`. При спрацюванні обмеження RPC повертає `UNAVAILABLE` з `retryAfterMs`.
</Note>
Безпечний/типовий процес:
Безпечний/типовий потік:
- `config.schema.lookup`: переглянути одне піддерево конфігурації з певною областю шляху з неглибоким
вузлом схеми, відповідними метаданими підказок і короткими описами безпосередніх дочірніх елементів
- `config.get`: отримати поточний знімок + хеш
- `config.patch`: рекомендований шлях часткового оновлення
- `config.schema.lookup`: переглянути одне піддерево конфігурації, обмежене шляхом, із неглибоким
вузлом схеми, відповідними метаданими підказок і короткими зведеннями безпосередніх дочірніх елементів
- `config.get`: отримати поточний snapshot + hash
- `config.patch`: бажаний шлях часткового оновлення
- `config.apply`: лише повна заміна конфігурації
- `update.run`: явне самооновлення + перезапуск
Якщо ви не замінюєте всю конфігурацію повністю, надавайте перевагу `config.schema.lookup`,
а потім `config.patch`.
Якщо ви не замінюєте всю конфігурацію, віддавайте перевагу `config.schema.lookup`
потім `config.patch`.
<AccordionGroup>
<Accordion title="config.apply (повна заміна)">
Перевіряє + записує повну конфігурацію і перезапускає Gateway за один крок.
Перевіряє + записує повну конфігурацію та перезапускає Gateway за один крок.
<Warning>
`config.apply` замінює **всю конфігурацію**. Для часткових оновлень використовуйте `config.patch`, а для окремих ключів — `openclaw config set`.
`config.apply` замінює **всю конфігурацію**. Використовуйте `config.patch` для часткових оновлень або `openclaw config set` для окремих ключів.
</Warning>
Параметри:
- `raw` (string) — payload JSON5 для всієї конфігурації
- `baseHash` (optional) — хеш конфігурації з `config.get` (обов’язковий, якщо конфігурація існує)
- `sessionKey` (optional) — ключ сесії для ping пробудження після перезапуску
- `note` (optional) — примітка для restart sentinel
- `restartDelayMs` (optional) — затримка перед перезапуском (типово 2000)
- `baseHash` (необов’язково) — хеш конфігурації з `config.get` (обов’язково, якщо конфігурація існує)
- `sessionKey` (необов’язково) — ключ сесії для ping пробудження після перезапуску
- `note` (необов’язково) — примітка для restart sentinel
- `restartDelayMs` (необов’язково) — затримка перед перезапуском (типово 2000)
Запити на перезапуск об’єднуються, якщо один уже очікує/виконується, і між циклами перезапуску діє 30-секундний період охолодження.
Запити на перезапуск об’єднуються, якщо один уже очікує/виконується, і між циклами перезапуску діє 30-секундна пауза.
```bash
openclaw gateway call config.get --params '{}' # capture payload.hash
@ -608,19 +609,19 @@ RPC керуючої площини для запису (`config.apply`, `config
</Accordion>
<Accordion title="config.patch (часткове оновлення)">
Зливає часткове оновлення в наявну конфігурацію (семантика JSON merge patch):
Об’єднує часткове оновлення з наявною конфігурацією (семантика JSON merge patch):
- Об’єкти зливаються рекурсивно
- Об’єкти об’єднуються рекурсивно
- `null` видаляє ключ
- Масиви замінюються
Параметри:
- `raw` (string) — JSON5 лише з тими ключами, які потрібно змінити
- `baseHash` (required) — хеш конфігурації з `config.get`
- `sessionKey`, `note`, `restartDelayMs` — те саме, що й у `config.apply`
- `raw` (string) — JSON5 лише з ключами, які потрібно змінити
- `baseHash` (обов’язково) — хеш конфігурації з `config.get`
- `sessionKey`, `note`, `restartDelayMs` — такі самі, як у `config.apply`
Поведінка перезапуску відповідає `config.apply`: об’єднання відкладених перезапусків плюс 30-секундний період охолодження між циклами перезапуску.
Поведінка перезапуску збігається з `config.apply`: об’єднання очікуваних перезапусків плюс 30-секундна пауза між циклами перезапуску.
```bash
openclaw gateway call config.patch --params '{
@ -634,12 +635,12 @@ RPC керуючої площини для запису (`config.apply`, `config
## Змінні середовища
OpenClaw зчитує змінні середовища з батьківського процесу, а також із:
OpenClaw читає env vars із батьківського процесу, а також із:
- `.env` у поточному робочому каталозі (якщо наявний)
- `.env` з поточного робочого каталогу (якщо є)
- `~/.openclaw/.env` (глобальний резервний варіант)
Жоден із цих файлів не перевизначає вже наявні змінні середовища. Ви також можете задавати вбудовані змінні середовища в конфігурації:
Жоден із цих файлів не перевизначає вже наявні env vars. Ви також можете задавати вбудовані env vars у конфігурації:
```json5
{
@ -651,7 +652,7 @@ OpenClaw зчитує змінні середовища з батьківськ
```
<Accordion title="Імпорт shell env (необов’язково)">
Якщо це ввімкнено і очікувані ключі не задані, OpenClaw запускає вашу login shell і імпортує лише відсутні ключі:
Якщо ввімкнено і потрібні ключі не задані, OpenClaw запускає вашу login shell і імпортує лише відсутні ключі:
```json5
{
@ -661,11 +662,11 @@ OpenClaw зчитує змінні середовища з батьківськ
}
```
Еквівалент змінної середовища: `OPENCLAW_LOAD_SHELL_ENV=1`
Еквівалент env var: `OPENCLAW_LOAD_SHELL_ENV=1`
</Accordion>
<Accordion title="Підстановка env var у значеннях конфігурації">
Посилайтеся на змінні середовища в будь-якому рядковому значенні конфігурації за допомогою `${VAR_NAME}`:
<Accordion title="Підстановка env var у значення конфігурації">
Посилайтеся на env vars у будь-якому рядковому значенні конфігурації за допомогою `${VAR_NAME}`:
```json5
{
@ -676,16 +677,16 @@ OpenClaw зчитує змінні середовища з батьківськ
Правила:
- Зіставляються лише назви у верхньому регістрі: `[A-Z_][A-Z0-9_]*`
- Відсутні/порожні змінні спричиняють помилку під час завантаження
- Екрануйте як `$${VAR}` для буквального виводу
- Зіставляються лише імена у верхньому регістрі: `[A-Z_][A-Z0-9_]*`
- Відсутні/порожні vars спричиняють помилку під час завантаження
- Використовуйте `$${VAR}` для буквального виводу
- Працює всередині файлів `$include`
- Вбудована підстановка: `"${BASE}/v1"``"https://api.example.com/v1"`
</Accordion>
<Accordion title="SecretRef (env, file, exec)">
Для полів, що підтримують об’єкти SecretRef, ви можете використовувати:
<Accordion title="Secret refs (env, file, exec)">
Для полів, які підтримують об’єкти SecretRef, можна використовувати:
```json5
{
@ -717,15 +718,15 @@ OpenClaw зчитує змінні середовища з батьківськ
}
```
Докладно про SecretRef (включно з `secrets.providers` для `env`/`file`/`exec`) див. у [Керування секретами](/uk/gateway/secrets).
Підтримувані шляхи облікових даних наведено в [Поверхня облікових даних SecretRef](/uk/reference/secretref-credential-surface).
Подробиці щодо SecretRef (включно з `secrets.providers` для `env`/`file`/`exec`) наведено в [Керування секретами](/uk/gateway/secrets).
Підтримувані шляхи облікових даних перелічено в [Поверхня облікових даних SecretRef](/uk/reference/secretref-credential-surface).
</Accordion>
Повний пріоритет і джерела див. у розділі [Середовище](/uk/help/environment).
Див. [Середовище](/uk/help/environment) для повного опису пріоритетів і джерел.
## Повний довідник
Повний довідник по полях див. у **[Довіднику конфігурації](/uk/gateway/configuration-reference)**.
Повний довідник поле за полем дивіться в **[Довіднику конфігурації](/uk/gateway/configuration-reference)**.
---

File diff suppressed because it is too large Load Diff