chore(i18n): refresh uk translations
This commit is contained in:
parent
5a5a175b4f
commit
ee3ff85378
File diff suppressed because it is too large
Load Diff
@ -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
Loading…
Reference in New Issue
Block a user