diff --git a/docs/uk/help/faq.md b/docs/uk/help/faq.md
index 500aa27a7..8b64ea2ce 100644
--- a/docs/uk/help/faq.md
+++ b/docs/uk/help/faq.md
@@ -1,21 +1,21 @@
---
read_when:
- - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або роботи під час виконання
- - Первинне опрацювання проблем, про які повідомили користувачі, перед глибшим налагодженням
+ - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або підтримки під час виконання
+ - Сортування проблем, про які повідомили користувачі, перед глибшим налагодженням
summary: Поширені запитання про налаштування, конфігурацію та використання OpenClaw
title: Поширені запитання
x-i18n:
- generated_at: "2026-04-24T04:14:14Z"
+ generated_at: "2026-04-24T07:11:34Z"
model: gpt-5.4
provider: openai
- source_hash: dd0e951ed4accd924b94d6aa2963547e06b6961c7c3c98563397a9b6d36e4979
+ source_hash: 0ae635d7ade265e3e79d1f5489ae23034a341843bd784f68a985b18bee5bdf6f
source_path: help/faq.md
workflow: 15
---
-Короткі відповіді плюс глибше усунення проблем для реальних сценаріїв налаштування (локальна розробка, VPS, multi-agent, OAuth/API keys, model failover). Для діагностики під час виконання див. [Troubleshooting](/uk/gateway/troubleshooting). Для повної довідки з конфігурації див. [Configuration](/uk/gateway/configuration).
+Швидкі відповіді плюс глибше усунення несправностей для реальних сценаріїв налаштування (локальна розробка, VPS, multi-agent, OAuth/API keys, резервне перемикання моделей). Для діагностики під час виконання див. [Усунення несправностей](/uk/gateway/troubleshooting). Повний довідник з конфігурації див. у [Конфігурація](/uk/gateway/configuration).
-## Перші 60 секунд, якщо щось зламалося
+## Перші 60 секунд, якщо щось зламано
1. **Швидкий статус (перша перевірка)**
@@ -23,46 +23,46 @@ x-i18n:
openclaw status
```
- Швидке локальне зведення: ОС + оновлення, доступність gateway/service, agents/sessions, конфігурація провайдера + проблеми під час виконання (коли gateway доступний).
+ Швидке локальне зведення: ОС + оновлення, доступність gateway/сервісу, агенти/сесії, конфігурація провайдера + проблеми під час виконання (коли Gateway доступний).
-2. **Звіт, який можна вставити (безпечний для поширення)**
+2. **Звіт, який можна вставити та надіслати (безпечний для поширення)**
```bash
openclaw status --all
```
- Діагностика лише для читання з хвостом логів (токени замасковано).
+ Діагностика лише для читання з хвостом логу (токени замасковано).
-3. **Стан daemon + порту**
+3. **Стан демона + порту**
```bash
openclaw gateway status
```
- Показує середовище виконання supervisor порівняно з доступністю RPC, цільовий URL перевірки та те, яку конфігурацію сервіс, імовірно, використовував.
+ Показує runtime supervisor-а порівняно з доступністю RPC, URL цілі для probe та яку конфігурацію сервіс, імовірно, використав.
-4. **Глибокі перевірки**
+4. **Глибокі probe-перевірки**
```bash
openclaw status --deep
```
- Запускає живу перевірку стану gateway, зокрема перевірки каналів, коли це підтримується
- (потрібен доступний gateway). Див. [Health](/uk/gateway/health).
+ Виконує live probe-перевірку здоров’я gateway, включно з channel probe-перевірками, коли це підтримується
+ (потрібен доступний Gateway). Див. [Health](/uk/gateway/health).
-5. **Перегляньте останній лог у реальному часі**
+5. **Перегляньте хвіст останнього логу**
```bash
openclaw logs --follow
```
- Якщо RPC недоступний, використовуйте натомість:
+ Якщо RPC недоступний, використайте запасний варіант:
```bash
tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
```
- Файлові логи відокремлені від логів сервісу; див. [Logging](/uk/logging) і [Troubleshooting](/uk/gateway/troubleshooting).
+ Логи файлів відокремлені від логів сервісу; див. [Логування](/uk/logging) і [Усунення несправностей](/uk/gateway/troubleshooting).
6. **Запустіть doctor (виправлення)**
@@ -70,104 +70,103 @@ x-i18n:
openclaw doctor
```
- Виправляє/мігрує конфігурацію/стан + запускає перевірки стану. Див. [Doctor](/uk/gateway/doctor).
+ Виправляє/мігрує конфігурацію/стан + запускає перевірки здоров’я. Див. [Doctor](/uk/gateway/doctor).
-7. **Знімок Gateway**
+7. **Знімок стану Gateway**
```bash
openclaw health --json
- openclaw health --verbose # показує цільовий URL + шлях до конфігурації у разі помилок
+ openclaw health --verbose # shows the target URL + config path on errors
```
- Запитує в запущеного gateway повний знімок (лише WS). Див. [Health](/uk/gateway/health).
+ Запитує в запущеного gateway повний знімок стану (лише WS). Див. [Health](/uk/gateway/health).
## Швидкий старт і початкове налаштування
-Q&A для першого запуску — встановлення, онбординг, маршрути автентифікації, підписки, початкові
-збої — перенесено на окрему сторінку:
-[FAQ — швидкий старт і початкове налаштування](/uk/help/faq-first-run).
+Запитання й відповіді для першого запуску — встановлення, онбординг, шляхи автентифікації, підписки, початкові збої —
+розміщено в [FAQ для першого запуску](/uk/help/faq-first-run).
## Що таке OpenClaw?
- OpenClaw — це персональний AI-асистент, який ви запускаєте на власних пристроях. Він відповідає у вже знайомих вам середовищах обміну повідомленнями (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat і вбудовані channel Plugins, такі як QQ Bot), а також може працювати з voice + живим Canvas на підтримуваних платформах. **Gateway** — це завжди активна control plane; асистент і є продуктом.
+ OpenClaw — це персональний AI-асистент, який ви запускаєте на власних пристроях. Він відповідає в тих поверхнях обміну повідомленнями, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat, а також bundled channel plugins, наприклад QQ Bot) і також може працювати з голосом + live Canvas на підтримуваних платформах. **Gateway** — це завжди увімкнена control plane; асистент — це продукт.
- OpenClaw — це не «просто обгортка над Claude». Це **local-first control plane**, яка дає змогу запускати
- потужного асистента на **вашому власному обладнанні**, доступного з уже звичних вам чат-застосунків, із
- сесійним станом, пам’яттю та інструментами — без передачі контролю над вашими робочими процесами
- хостинговому SaaS.
+ OpenClaw — це не «просто обгортка для Claude». Це **local-first control plane**, яка дає змогу запускати
+ потужного асистента на **вашому власному обладнанні**, доступного з чат-застосунків, якими ви вже користуєтеся, зі
+ сесіями зі станом, пам’яттю та інструментами — без передавання контролю над вашими робочими процесами
+ хмарному SaaS.
Основні переваги:
- **Ваші пристрої, ваші дані:** запускайте Gateway де завгодно (Mac, Linux, VPS) і зберігайте
робочий простір + історію сесій локально.
- - **Реальні канали, а не веб-пісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage тощо,
- плюс мобільний voice і Canvas на підтримуваних платформах.
- - **Незалежність від моделі:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо, з маршрутизацією
- і failover на рівні agent.
- - **Лише локальний варіант:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо ви цього хочете.
- - **Маршрутизація multi-agent:** окремі agents для кожного каналу, облікового запису або завдання, кожен зі своїм
- робочим простором і типовими значеннями.
- - **Відкритий код і гнучкість для змін:** перевіряйте, розширюйте та self-host без прив’язки до постачальника.
+ - **Реальні канали, а не веб-пісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/etc,
+ а також мобільний голос і Canvas на підтримуваних платформах.
+ - **Не прив’язано до моделі:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо, з маршрутизацією
+ та резервним перемиканням для кожного агента.
+ - **Варіант лише локально:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо ви цього хочете.
+ - **Маршрутизація multi-agent:** окремі агенти для кожного каналу, облікового запису чи завдання, кожен зі своїм
+ робочим простором і типовими параметрами.
+ - **Відкритий код і гнучкість для модифікацій:** перевіряйте, розширюйте та self-host без прив’язки до постачальника.
- Документація: [Gateway](/uk/gateway), [Channels](/uk/channels), [Multi-agent](/uk/concepts/multi-agent),
- [Memory](/uk/concepts/memory).
+ Документація: [Gateway](/uk/gateway), [Канали](/uk/channels), [Multi-agent](/uk/concepts/multi-agent),
+ [Пам’ять](/uk/concepts/memory).
-
+
Хороші перші проєкти:
- Створити вебсайт (WordPress, Shopify або простий статичний сайт).
- - Прототипувати мобільний застосунок (план, екрани, план API).
- - Організувати файли та папки (очищення, найменування, теги).
+ - Створити прототип мобільного застосунку (структура, екрани, план API).
+ - Упорядкувати файли та папки (очищення, найменування, теги).
- Підключити Gmail і автоматизувати зведення або подальші дії.
- Він може виконувати великі завдання, але працює найкраще, коли ви ділите їх на фази та
- використовуєте sub-agents для паралельної роботи.
+ Він може впоратися з великими завданнями, але працює найкраще, коли ви розбиваєте їх на етапи й
+ використовуєте sub agents для паралельної роботи.
- Повсякденна користь зазвичай виглядає так:
+ Найчастіші повсякденні переваги виглядають так:
- - **Персональні зведення:** підсумки вхідних, календаря та новин, які для вас важливі.
- - **Дослідження та чернетки:** швидкі дослідження, підсумки та перші чернетки для листів або документів.
- - **Нагадування та подальші дії:** підказки та контрольні списки на основі cron або heartbeat.
- - **Автоматизація браузера:** заповнення форм, збирання даних і повторювані вебзавдання.
- - **Координація між пристроями:** надішліть завдання з телефона, дозвольте Gateway виконати його на сервері та отримайте результат назад у чаті.
+ - **Персональні брифінги:** зведення вхідних листів, календаря та важливих для вас новин.
+ - **Дослідження та підготовка чернеток:** швидке дослідження, підсумки та перші чернетки для листів або документів.
+ - **Нагадування та подальші дії:** підказки й чеклісти, керовані cron або heartbeat.
+ - **Автоматизація браузера:** заповнення форм, збирання даних і повторення вебзавдань.
+ - **Координація між пристроями:** надішліть завдання з телефона, дайте Gateway виконати його на сервері й отримайте результат назад у чаті.
-
- Так — для **дослідження, кваліфікації та підготовки чернеток**. Він може сканувати сайти, створювати короткі списки,
- узагальнювати інформацію про потенційних клієнтів і писати чернетки outreach або рекламних текстів.
+
+ Так — для **дослідження, кваліфікації та підготовки чернеток**. Він може сканувати сайти, формувати короткі списки,
+ підсумовувати інформацію про потенційних клієнтів і писати чернетки аутрічу або рекламних текстів.
- Для **outreach або запуску реклами** залишайте людину в циклі. Уникайте спаму, дотримуйтеся місцевих законів і
- правил платформ та перевіряйте все перед надсиланням. Найбезпечніший підхід — дати
- OpenClaw підготувати чернетку, а вам — схвалити її.
+ Для **аутрічу чи запуску реклами** залишайте людину в циклі ухвалення рішень. Уникайте спаму, дотримуйтеся місцевих законів і
+ політик платформ, а також перевіряйте все перед надсиланням. Найбезпечніший шаблон — дозволити
+ OpenClaw створити чернетку, а вам — затвердити її.
- Документація: [Security](/uk/gateway/security).
+ Документація: [Безпека](/uk/gateway/security).
OpenClaw — це **персональний асистент** і шар координації, а не заміна IDE. Використовуйте
- Claude Code або Codex для найшвидшого безпосереднього циклу кодування в репозиторії. Використовуйте OpenClaw, коли вам
- потрібні стійка пам’ять, доступ між пристроями та оркестрація інструментів.
+ Claude Code або Codex для найшвидшого прямого циклу кодування в репозиторії. Використовуйте OpenClaw, коли вам
+ потрібні довготривала пам’ять, доступ із різних пристроїв і оркестрація інструментів.
Переваги:
- **Постійна пам’ять + робочий простір** між сесіями
- - **Доступ із багатьох платформ** (WhatsApp, Telegram, TUI, WebChat)
+ - **Доступ із різних платформ** (WhatsApp, Telegram, TUI, WebChat)
- **Оркестрація інструментів** (браузер, файли, планування, hooks)
- - **Завжди активний Gateway** (запуск на VPS, взаємодія звідусіль)
- - **Nodes** для локального браузера/екрана/камери/exec
+ - **Постійно увімкнений Gateway** (запускайте на VPS, взаємодійте звідусіль)
+ - **Nodes** для локального браузера/екрана/камери/виконання
- Приклади: [https://openclaw.ai/showcase](https://openclaw.ai/showcase)
+ Вітрина: [https://openclaw.ai/showcase](https://openclaw.ai/showcase)
@@ -175,69 +174,69 @@ Q&A для першого запуску — встановлення, онбо
## Skills і автоматизація
-
- Використовуйте керовані override замість редагування копії в репозиторії. Розміщуйте свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`, тому керовані override однаково мають вищий пріоритет за вбудовані Skills без змін у git. Якщо вам потрібно встановити skill глобально, але зробити його видимим лише для певних agents, зберігайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` і `agents.list[].skills`. Лише зміни, варті внесення в апстрим, мають жити в репозиторії та надсилатися як PR.
+
+ Використовуйте керовані overrides замість редагування копії в репозиторії. Помістіть свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → bundled → `skills.load.extraDirs`, тому керовані overrides все одно мають вищий пріоритет за bundled skills без змін у git. Якщо skill має бути встановлений глобально, але видимий лише деяким агентам, зберігайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` та `agents.list[].skills`. Лише зміни, варті внесення в основний проєкт, мають зберігатися в репозиторії та надсилатися як PR.
-
- Так. Додавайте додаткові каталоги через `skills.load.extraDirs` у `~/.openclaw/openclaw.json` (найнижчий пріоритет). Типовий порядок пріоритетів: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`. `clawhub` типово встановлює в `./skills`, що OpenClaw сприймає як `/skills` у наступній сесії. Якщо skill має бути видимим лише для певних agents, поєднайте це з `agents.defaults.skills` або `agents.list[].skills`.
+
+ Так. Додайте додаткові каталоги через `skills.load.extraDirs` у `~/.openclaw/openclaw.json` (найнижчий пріоритет). Типовий порядок пріоритету: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → bundled → `skills.load.extraDirs`. `clawhub` типово встановлює в `./skills`, що OpenClaw розпізнає як `/skills` у наступній сесії. Якщо skill має бути видимий лише певним агентам, поєднайте це з `agents.defaults.skills` або `agents.list[].skills`.
Наразі підтримуються такі шаблони:
- - **Завдання Cron**: ізольовані завдання можуть задавати override `model` для кожного завдання.
- - **Sub-agents**: спрямовуйте завдання до окремих agents із різними типовими моделями.
- - **Перемикання на вимогу**: використовуйте `/model`, щоб будь-коли змінити модель поточної сесії.
+ - **Cron jobs**: ізольовані завдання можуть задавати override `model` для кожного завдання.
+ - **Sub-agents**: маршрутизуйте завдання до окремих агентів із різними типовими моделями.
+ - **Перемикання на вимогу**: використовуйте `/model`, щоб у будь-який момент змінити модель поточної сесії.
- Див. [Cron jobs](/uk/automation/cron-jobs), [Multi-Agent Routing](/uk/concepts/multi-agent) і [Slash commands](/uk/tools/slash-commands).
+ Див. [Cron jobs](/uk/automation/cron-jobs), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [Slash commands](/uk/tools/slash-commands).
-
+
Використовуйте **sub-agents** для довгих або паралельних завдань. Sub-agents працюють у власній сесії,
- повертають підсумок і не дають вашому основному чату втратити чутливість.
+ повертають підсумок і не дають вашому основному чату зависати.
- Попросіть бота «spawn a sub-agent for this task» або використайте `/subagents`.
- Використовуйте `/status` у чаті, щоб побачити, що Gateway робить просто зараз (і чи він зайнятий).
+ Попросіть свого бота «створити sub-agent для цього завдання» або використайте `/subagents`.
+ Використовуйте `/status` у чаті, щоб побачити, що Gateway зараз робить (і чи зайнятий він).
- Порада щодо токенів: і довгі завдання, і sub-agents споживають токени. Якщо вас турбує вартість, задайте
+ Порада щодо токенів: і довгі завдання, і sub-agents споживають токени. Якщо вартість має значення, задайте
дешевшу модель для sub-agents через `agents.defaults.subagents.model`.
- Документація: [Sub-agents](/uk/tools/subagents), [Background Tasks](/uk/automation/tasks).
+ Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks).
-
- Використовуйте прив’язки до гілок. Ви можете прив’язати гілку Discord до subagent або цільової сесії, щоб подальші повідомлення в цій гілці залишалися в межах прив’язаної сесії.
+
+ Використовуйте прив’язки тредів. Ви можете прив’язати тред Discord до subagent або цілі сесії, щоб подальші повідомлення в цьому треді залишалися в межах прив’язаної сесії.
Базовий процес:
- - Створіть через `sessions_spawn`, використовуючи `thread: true` (і, за потреби, `mode: "session"` для постійших подальших дій).
- - Або прив’яжіть вручну за допомогою `/focus `.
+ - Створіть через `sessions_spawn` з `thread: true` (і за потреби `mode: "session"` для постійших подальших повідомлень).
+ - Або прив’яжіть вручну через `/focus `.
- Використовуйте `/agents`, щоб переглянути стан прив’язки.
- - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним скасуванням фокуса.
- - Використовуйте `/unfocus`, щоб від’єднати гілку.
+ - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним зняттям фокуса.
+ - Використовуйте `/unfocus`, щоб відв’язати тред.
Потрібна конфігурація:
- - Глобальні типові значення: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`.
- - Override для Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`.
- - Автоматична прив’язка під час spawn: установіть `channels.discord.threadBindings.spawnSubagentSessions: true`.
+ - Глобальні типові параметри: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`.
+ - Overrides для Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`.
+ - Автоприв’язка під час створення: установіть `channels.discord.threadBindings.spawnSubagentSessions: true`.
Документація: [Sub-agents](/uk/tools/subagents), [Discord](/uk/channels/discord), [Configuration Reference](/uk/gateway/configuration-reference), [Slash commands](/uk/tools/slash-commands).
-
+
Спочатку перевірте визначений маршрут запитувача:
- - Доставка subagent у режимі завершення віддає перевагу будь-якій прив’язаній гілці або маршруту розмови, якщо такий існує.
- - Якщо джерело завершення містить лише канал, OpenClaw повертається до збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`), тож пряма доставка все одно може спрацювати.
- - Якщо немає ні прив’язаного маршруту, ні придатного збереженого маршруту, пряма доставка може завершитися невдачею, і результат повернеться до доставки через чергу сесії замість негайної публікації в чат.
- - Невалідні або застарілі цілі все одно можуть змусити перейти до резервної доставки через чергу або до остаточного збою доставки.
- - Якщо остання видима відповідь assistant у дочірній сесії — це точний тихий токен `NO_REPLY` / `no_reply` або рівно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує оголошення замість публікації застарілого попереднього прогресу.
- - Якщо дочірня сесія завершилася за тайм-аутом після одних лише викликів інструментів, оголошення може згорнути це до короткого підсумку часткового прогресу замість відтворення сирого виводу інструментів.
+ - Доставка subagent у режимі завершення надає перевагу будь-якому прив’язаному треду або маршруту розмови, якщо такий існує.
+ - Якщо джерело завершення містить лише канал, OpenClaw повертається до збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все одно могла спрацювати.
+ - Якщо немає ані прив’язаного маршруту, ані придатного збереженого маршруту, пряма доставка може не вдатися, і тоді результат повернеться до queued session delivery замість негайної публікації в чаті.
+ - Недійсні або застарілі цілі все ще можуть примусово перевести в queue fallback або спричинити остаточний збій доставки.
+ - Якщо остання видима відповідь асистента від дочірнього процесу — це точний silent token `NO_REPLY` / `no_reply` або точно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує анонс замість публікації застарілого попереднього прогресу.
+ - Якщо дочірній процес досяг тайм-ауту після одних лише викликів інструментів, анонс може згорнути це в короткий підсумок часткового прогресу замість відтворення сирого виводу інструментів.
Налагодження:
@@ -245,7 +244,7 @@ Q&A для першого запуску — встановлення, онбо
openclaw tasks show
```
- Документація: [Sub-agents](/uk/tools/subagents), [Background Tasks](/uk/automation/tasks), [Session Tools](/uk/concepts/session-tool).
+ Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks), [Session Tools](/uk/concepts/session-tool).
@@ -255,9 +254,9 @@ Q&A для першого запуску — встановлення, онбо
Контрольний список:
- - Переконайтеся, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не встановлено.
- - Перевірте, що Gateway працює 24/7 (без сну/перезапусків).
- - Перевірте налаштування часового поясу для завдання (`--tz` порівняно з часовим поясом хоста).
+ - Підтвердьте, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не встановлено.
+ - Переконайтеся, що Gateway працює 24/7 (без сну/перезапусків).
+ - Перевірте налаштування часового поясу для завдання (`--tz` проти часового поясу хоста).
Налагодження:
@@ -266,21 +265,21 @@ Q&A для першого запуску — встановлення, онбо
openclaw cron runs --id --limit 50
```
- Документація: [Cron jobs](/uk/automation/cron-jobs), [Automation & Tasks](/uk/automation).
+ Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation).
Спочатку перевірте режим доставки:
- - `--no-deliver` / `delivery.mode: "none"` означає, що резервне надсилання через runner не очікується.
- - Відсутня або невалідна ціль оголошення (`channel` / `to`) означає, що runner пропустив вихідну доставку.
- - Збої автентифікації каналу (`unauthorized`, `Forbidden`) означають, що runner намагався доставити повідомлення, але облікові дані це заблокували.
- - Тихий ізольований результат (`NO_REPLY` / `no_reply` і нічого більше) вважається навмисно непридатним для доставки, тому runner також пригнічує резервну доставку через чергу.
+ - `--no-deliver` / `delivery.mode: "none"` означає, що запасне надсилання через runner не очікується.
+ - Відсутня або недійсна ціль анонсу (`channel` / `to`) означає, що runner пропустив вихідну доставку.
+ - Помилки автентифікації каналу (`unauthorized`, `Forbidden`) означають, що runner спробував виконати доставку, але облікові дані це заблокували.
+ - Тихий ізольований результат (`NO_REPLY` / `no_reply` і нічого більше) вважається навмисно недоставним, тому runner також пригнічує запасну доставку через чергу.
- Для ізольованих завдань Cron agent усе одно може надсилати безпосередньо через інструмент `message`,
- коли маршрут чату доступний. `--announce` керує лише резервним шляхом runner
- для фінального тексту, який agent ще не надіслав самостійно.
+ Для ізольованих Cron jobs агент усе ще може надсилати повідомлення напряму через інструмент `message`,
+ коли доступний маршрут чату. `--announce` керує лише запасним шляхом runner-а
+ для фінального тексту, який агент ще не надіслав самостійно.
Налагодження:
@@ -289,27 +288,27 @@ Q&A для першого запуску — встановлення, онбо
openclaw tasks show
```
- Документація: [Cron jobs](/uk/automation/cron-jobs), [Background Tasks](/uk/automation/tasks).
+ Документація: [Cron jobs](/uk/automation/cron-jobs), [Фонові завдання](/uk/automation/tasks).
-
+
Зазвичай це шлях live-перемикання моделі, а не дубльоване планування.
- Ізольований cron може зберегти передачу моделі під час виконання та повторити спробу, коли активний
- запуск викидає `LiveSessionModelSwitchError`. Повторна спроба зберігає переключеного
- провайдера/модель, а якщо перемикання містило новий override профілю автентифікації, cron
- також зберігає його перед повторною спробою.
+ Ізольований Cron може зберегти runtime-передавання моделі й виконати повторну спробу, коли активний
+ запуск викидає `LiveSessionModelSwitchError`. Повторна спроба зберігає перемкнуті
+ провайдер/модель, а якщо перемикання також містило новий override профілю автентифікації, cron
+ теж зберігає його перед повторною спробою.
Пов’язані правила вибору:
- Override моделі Gmail hook має найвищий пріоритет, коли застосовний.
- - Потім іде `model` для окремого завдання.
- - Потім будь-який збережений override моделі cron-session.
- - Потім звичайний вибір моделі agent/default.
+ - Далі — `model` для конкретного завдання.
+ - Потім — будь-який збережений override моделі cron-session.
+ - Потім — звичайний вибір моделі агента/типової моделі.
Цикл повторних спроб обмежений. Після початкової спроби плюс 2 повторних спроб через перемикання
- cron переривається замість нескінченного циклу.
+ cron припиняє роботу замість нескінченного циклу.
Налагодження:
@@ -323,8 +322,8 @@ Q&A для першого запуску — встановлення, онбо
- Використовуйте вбудовані команди `openclaw skills` або розміщуйте Skills у своєму workspace. UI Skills для macOS недоступний у Linux.
- Переглядайте Skills на [https://clawhub.ai](https://clawhub.ai).
+ Використовуйте нативні команди `openclaw skills` або помістіть Skills у свій workspace. UI Skills для macOS недоступний на Linux.
+ Переглянути Skills можна на [https://clawhub.ai](https://clawhub.ai).
```bash
openclaw skills search "calendar"
@@ -337,39 +336,39 @@ Q&A для першого запуску — встановлення, онбо
openclaw skills check
```
- Вбудоване `openclaw skills install` записує у каталог `skills/`
- активного workspace. Окремий CLI `clawhub` установлюйте лише тоді, якщо хочете публікувати або
- синхронізувати власні Skills. Для спільних установлень між agents розміщуйте skill у
+ Нативний `openclaw skills install` записує у каталог `skills/`
+ активного workspace. Окремий CLI `clawhub` встановлюйте лише якщо хочете публікувати або
+ синхронізувати власні Skills. Для спільних встановлень між агентами помістіть skill у
`~/.openclaw/skills` і використовуйте `agents.defaults.skills` або
- `agents.list[].skills`, якщо хочете звузити список agents, які можуть його бачити.
+ `agents.list[].skills`, якщо хочете обмежити, які агенти можуть його бачити.
-
+
Так. Використовуйте планувальник Gateway:
- **Cron jobs** для запланованих або повторюваних завдань (зберігаються після перезапусків).
- **Heartbeat** для періодичних перевірок «основної сесії».
- - **Ізольовані завдання** для автономних agents, які публікують підсумки або доставляють їх у чати.
+ - **Ізольовані завдання** для автономних агентів, які публікують підсумки або доставляють їх у чати.
- Документація: [Cron jobs](/uk/automation/cron-jobs), [Automation & Tasks](/uk/automation),
+ Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation),
[Heartbeat](/uk/gateway/heartbeat).
-
- Не напряму. Skills для macOS контролюються через `metadata.openclaw.os` плюс потрібні бінарні файли, і Skills з’являються в системному prompt лише тоді, коли вони придатні на **хості Gateway**. У Linux Skills лише для `darwin` (наприклад, `apple-notes`, `apple-reminders`, `things-mac`) не завантажаться, якщо ви не перевизначите ці обмеження.
+
+ Не безпосередньо. Skills для macOS обмежуються через `metadata.openclaw.os` і необхідні бінарні файли, а Skills з’являються в системному prompt лише тоді, коли вони придатні на **хості Gateway**. У Linux Skills лише для `darwin` (наприклад, `apple-notes`, `apple-reminders`, `things-mac`) не завантажаться, якщо не перевизначити це обмеження.
- Підтримуються три шаблони:
+ Є три підтримувані варіанти:
- **Варіант A — запускати Gateway на Mac (найпростіше).**
- Запустіть Gateway там, де існують бінарні файли macOS, а потім підключайтеся з Linux у [віддаленому режимі](#gateway-ports-already-running-and-remote-mode) або через Tailscale. Skills завантажуються нормально, тому що хост Gateway — це macOS.
+ **Варіант A — запустити Gateway на Mac (найпростіше).**
+ Запустіть Gateway там, де існують бінарні файли macOS, а потім підключайтеся з Linux у [віддаленому режимі](#gateway-ports-already-running-and-remote-mode) або через Tailscale. Skills завантажаться нормально, тому що хост Gateway — macOS.
- **Варіант B — використовувати node macOS (без SSH).**
- Запустіть Gateway на Linux, сполучіть node macOS (застосунок у рядку меню) і встановіть **Node Run Commands** у значення "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати Skills лише для macOS придатними, коли потрібні бінарні файли існують на node. Agent запускає ці Skills через інструмент `nodes`. Якщо ви виберете "Always Ask", схвалення "Always Allow" у prompt додасть цю команду до allowlist.
+ **Варіант B — використати macOS node (без SSH).**
+ Запустіть Gateway на Linux, спарте macOS node (застосунок рядка меню) і встановіть для **Node Run Commands** значення "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати macOS-only Skills придатними, коли потрібні бінарні файли існують на node. Агент запускає ці Skills через інструмент `nodes`. Якщо ви оберете "Always Ask", підтвердження "Always Allow" у prompt додасть цю команду до списку дозволених.
- **Варіант C — проксіювати бінарні файли macOS через SSH (просунутий).**
- Залиште Gateway на Linux, але зробіть так, щоб потрібні бінарні CLI визначалися як SSH-обгортки, що виконуються на Mac. Потім перевизначте skill, щоб дозволити Linux, і він залишався придатним.
+ **Варіант C — проксувати бінарні файли macOS через SSH (для досвідчених користувачів).**
+ Залиште Gateway на Linux, але зробіть так, щоб потрібні CLI-бінарні файли резолвилися у SSH-обгортки, які запускаються на Mac. Потім перевизначте skill, щоб дозволити Linux і він залишався придатним.
1. Створіть SSH-обгортку для бінарного файла (приклад: `memo` для Apple Notes):
@@ -379,35 +378,35 @@ Q&A для першого запуску — встановлення, онбо
exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@"
```
- 2. Додайте обгортку до `PATH` на хості Linux (наприклад, `~/bin/memo`).
- 3. Перевизначте метадані skill (workspace або `~/.openclaw/skills`), щоб дозволити Linux:
+ 2. Додайте обгортку до `PATH` на Linux-хості (наприклад, `~/bin/memo`).
+ 3. Перевизначте метадані skill-а (у workspace або `~/.openclaw/skills`), щоб дозволити Linux:
```markdown
---
name: apple-notes
- description: Керування Apple Notes через CLI memo на macOS.
+ description: Manage Apple Notes via the memo CLI on macOS.
metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } }
---
```
- 4. Запустіть нову сесію, щоб знімок Skills оновився.
+ 4. Почніть нову сесію, щоб знімок Skills оновився.
-
- Наразі вбудованої немає.
+
+ Вбудованої інтеграції наразі немає.
Варіанти:
- **Власний skill / Plugin:** найкраще для надійного доступу до API (і Notion, і HeyGen мають API).
- **Автоматизація браузера:** працює без коду, але повільніше й менш надійно.
- Якщо ви хочете зберігати контекст окремо для кожного клієнта (робочі процеси агентства), простий шаблон такий:
+ Якщо ви хочете зберігати контекст окремо для кожного клієнта (агентські робочі процеси), простий шаблон такий:
- - Одна сторінка Notion на клієнта (контекст + налаштування + активна робота).
- - Попросіть agent отримувати цю сторінку на початку сесії.
+ - Одна сторінка Notion на клієнта (контекст + уподобання + активна робота).
+ - Попросіть агента отримувати цю сторінку на початку сесії.
- Якщо вам потрібна нативна інтеграція, створіть запит на функцію або побудуйте skill,
+ Якщо вам потрібна нативна інтеграція, створіть запит на нову функцію або побудуйте skill,
орієнтований на ці API.
Установлення Skills:
@@ -417,11 +416,14 @@ Q&A для першого запуску — встановлення, онбо
openclaw skills update --all
```
- Вбудовані встановлення потрапляють у каталог `skills/` активного workspace. Для спільних Skills між agents розміщуйте їх у `~/.openclaw/skills//SKILL.md`. Якщо спільне встановлення мають бачити лише деякі agents, налаштуйте `agents.defaults.skills` або `agents.list[].skills`. Деякі Skills очікують бінарні файли, установлені через Homebrew; у Linux це означає Linuxbrew (див. запис FAQ про Homebrew для Linux вище). Див. [Skills](/uk/tools/skills), [Skills config](/uk/tools/skills-config) і [ClawHub](/uk/tools/clawhub).
+ Нативні встановлення потрапляють у каталог `skills/` активного workspace. Для спільних Skills між агентами
+ розміщуйте їх у `~/.openclaw/skills//SKILL.md`. Якщо спільне встановлення мають бачити лише деякі агенти,
+ налаштуйте `agents.defaults.skills` або `agents.list[].skills`. Деякі Skills очікують бінарні файли,
+ встановлені через Homebrew; на Linux це означає Linuxbrew (див. відповідний запис FAQ про Homebrew для Linux вище). Див. [Skills](/uk/tools/skills), [Конфігурація Skills](/uk/tools/skills-config) і [ClawHub](/uk/tools/clawhub).
-
+
Використовуйте вбудований профіль браузера `user`, який підключається через Chrome DevTools MCP:
```bash
@@ -429,20 +431,20 @@ Q&A для першого запуску — встановлення, онбо
openclaw browser --browser-profile user snapshot
```
- Якщо вам потрібна власна назва, створіть явний профіль MCP:
+ Якщо хочете власну назву, створіть явний профіль MCP:
```bash
openclaw browser create-profile --name chrome-live --driver existing-session
openclaw browser --browser-profile chrome-live tabs
```
- Цей шлях може використовувати локальний браузер хоста або підключену browser node. Якщо Gateway працює деінде, або запустіть хост node на машині з браузером, або замість цього використовуйте віддалений CDP.
+ Цей шлях може використовувати браузер локального хоста або підключений browser node. Якщо Gateway працює в іншому місці, або запустіть node host на машині з браузером, або натомість використовуйте віддалений CDP.
Поточні обмеження `existing-session` / `user`:
- - дії керуються через ref, а не через CSS-селектори
- - вивантаження файлів потребує `ref` / `inputRef` і наразі підтримує лише один файл за раз
- - `responsebody`, експорт PDF, перехоплення завантажень і пакетні дії все ще потребують керованого браузера або необробленого профілю CDP
+ - дії виконуються на основі ref, а не CSS-селекторів
+ - завантаження файлів потребує `ref` / `inputRef` і наразі підтримує лише один файл за раз
+ - `responsebody`, експорт PDF, перехоплення завантажень і пакетні дії все ще потребують керованого браузера або сирого профілю CDP
@@ -450,117 +452,117 @@ Q&A для першого запуску — встановлення, онбо
## Ізоляція та пам’ять
-
- Так. Див. [Sandboxing](/uk/gateway/sandboxing). Для налаштування, специфічного для Docker (повний gateway у Docker або образи sandbox), див. [Docker](/uk/install/docker).
+
+ Так. Див. [Ізоляція](/uk/gateway/sandboxing). Для налаштування, специфічного для Docker (повний gateway у Docker або образи ізоляції), див. [Docker](/uk/install/docker).
-
- Типовий образ орієнтований на безпеку й запускається від користувача `node`, тому він не
+
+ Типовий образ орієнтований насамперед на безпеку й запускається від користувача `node`, тому не
містить системних пакетів, Homebrew або вбудованих браузерів. Для повнішого налаштування:
- - Збережіть `/home/node` через `OPENCLAW_HOME_VOLUME`, щоб кеші переживали перезапуски.
- - Додайте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`.
+ - Збережіть `/home/node` через `OPENCLAW_HOME_VOLUME`, щоб кеші не втрачалися.
+ - Вбудуйте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`.
- Установіть браузери Playwright через вбудований CLI:
`node /app/node_modules/playwright-core/cli.js install chromium`
- Установіть `PLAYWRIGHT_BROWSERS_PATH` і переконайтеся, що цей шлях зберігається.
- Документація: [Docker](/uk/install/docker), [Browser](/uk/tools/browser).
+ Документація: [Docker](/uk/install/docker), [Браузер](/uk/tools/browser).
-
- Так — якщо ваш приватний трафік — це **DM**, а публічний трафік — це **групи**.
+
+ Так — якщо ваш приватний трафік це **DM**, а публічний трафік — **групи**.
- Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб сесії груп/каналів (ключі не main) працювали у вибраному backend sandbox, а основна DM-сесія залишалася на хості. Docker є типовим backend, якщо ви не виберете інший. Потім обмежте набір інструментів, доступних в ізольованих сесіях, через `tools.sandbox.tools`.
+ Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб групові/канальні сесії (ключі не `main`) запускалися у налаштованому backend ізоляції, тоді як основна DM-сесія залишатиметься на хості. Docker — типовий backend, якщо ви не виберете інший. Потім обмежте інструменти, доступні в ізольованих сесіях, через `tools.sandbox.tools`.
Покрокове налаштування + приклад конфігурації: [Групи: особисті DM + публічні групи](/uk/channels/groups#pattern-personal-dms-public-groups-single-agent)
- Довідка щодо ключових параметрів конфігурації: [Конфігурація Gateway](/uk/gateway/config-agents#agentsdefaultssandbox)
+ Довідник з основної конфігурації: [Конфігурація Gateway](/uk/gateway/config-agents#agentsdefaultssandbox)
-
- Установіть `agents.defaults.sandbox.docker.binds` у значення `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні прив’язки та прив’язки для окремого agent об’єднуються; прив’язки для окремого agent ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять бар’єри файлової системи sandbox.
+
+ Установіть `agents.defaults.sandbox.docker.binds` у `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні прив’язки та прив’язки для конкретного агента об’єднуються; прив’язки для конкретного агента ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять файлові стіни ізоляції.
- OpenClaw перевіряє джерела прив’язок як щодо нормалізованого шляху, так і щодо канонічного шляху, визначеного через найглибший наявний батьківський елемент. Це означає, що вихід через батьківський symlink усе одно завершиться закритою відмовою, навіть якщо останній сегмент шляху ще не існує, і перевірки дозволених коренів усе одно застосовуються після визначення symlink.
+ OpenClaw перевіряє джерела прив’язки як за нормалізованим шляхом, так і за канонічним шляхом, визначеним через найглибший наявний предок. Це означає, що виходи через батьківські symlink усе одно надійно блокуються, навіть коли останній сегмент шляху ще не існує, а перевірки дозволених коренів усе одно застосовуються після резолюції symlink.
- Див. [Sandboxing](/uk/gateway/sandboxing#custom-bind-mounts) і [Sandbox vs Tool Policy vs Elevated](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для прикладів і приміток щодо безпеки.
+ Див. [Ізоляція](/uk/gateway/sandboxing#custom-bind-mounts) і [Ізоляція vs Політика інструментів vs Підвищені привілеї](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для прикладів і приміток щодо безпеки.
- Пам’ять OpenClaw — це просто файли Markdown у workspace agent:
+ Пам’ять OpenClaw — це просто Markdown-файли в workspace агента:
- Щоденні нотатки в `memory/YYYY-MM-DD.md`
- - Керовані довгострокові нотатки в `MEMORY.md` (лише основні/приватні сесії)
+ - Відібрані довгострокові нотатки в `MEMORY.md` (лише основні/приватні сесії)
- OpenClaw також запускає **тихе скидання пам’яті перед Compaction**, щоб нагадати моделі
- записати довговічні нотатки перед автоматичною Compaction. Це виконується лише тоді, коли workspace
- доступний для запису (sandbox лише для читання це пропускають). Див. [Memory](/uk/concepts/memory).
+ OpenClaw також запускає **тихий flush пам’яті перед Compaction**, щоб нагадати моделі
+ записати довготривалі нотатки перед автоматичною Compaction. Це працює лише тоді, коли workspace
+ доступний для запису (ізольовані середовища лише для читання пропускають це). Див. [Пам’ять](/uk/concepts/memory).
-
- Попросіть бота **записати факт у пам’ять**. Довгострокові нотатки мають зберігатися в `MEMORY.md`,
+
+ Попросіть бота **записати факт у пам’ять**. Довготривалі нотатки мають зберігатися в `MEMORY.md`,
короткостроковий контекст — у `memory/YYYY-MM-DD.md`.
Це все ще напрям, який ми вдосконалюємо. Корисно нагадувати моделі зберігати спогади;
- вона знатиме, що робити. Якщо вона й далі все забуває, перевірте, що Gateway використовує той самий
+ вона знатиме, що робити. Якщо вона продовжує забувати, перевірте, що Gateway використовує той самий
workspace під час кожного запуску.
- Документація: [Memory](/uk/concepts/memory), [Agent workspace](/uk/concepts/agent-workspace).
+ Документація: [Пам’ять](/uk/concepts/memory), [Workspace агента](/uk/concepts/agent-workspace).
Файли пам’яті живуть на диску й зберігаються, доки ви їх не видалите. Обмеженням є
- ваше сховище, а не модель. **Контекст сесії** усе ще обмежений вікном контексту
- моделі, тому довгі розмови можуть проходити Compaction або обрізання. Саме тому
- існує пошук у пам’яті — він повертає в контекст лише релевантні частини.
+ ваше сховище, а не модель. **Контекст сесії** все одно обмежується вікном контексту
+ моделі, тому довгі розмови можуть стискатися або обрізатися. Саме тому існує
+ пошук пам’яті — він повертає в контекст лише релевантні частини.
- Документація: [Memory](/uk/concepts/memory), [Context](/uk/concepts/context).
+ Документація: [Пам’ять](/uk/concepts/memory), [Контекст](/uk/concepts/context).
-
+
Лише якщо ви використовуєте **OpenAI embeddings**. Codex OAuth покриває chat/completions і
**не** надає доступу до embeddings, тому **вхід через Codex (OAuth або
вхід через Codex CLI)** не допомагає для семантичного пошуку в пам’яті. OpenAI embeddings
- усе одно потребують справжнього ключа API (`OPENAI_API_KEY` або `models.providers.openai.apiKey`).
+ усе одно потребують справжнього API key (`OPENAI_API_KEY` або `models.providers.openai.apiKey`).
Якщо ви явно не задаєте провайдера, OpenClaw автоматично вибирає провайдера, коли
- може визначити ключ API (профілі автентифікації, `models.providers.*.apiKey` або змінні середовища).
- Він віддає перевагу OpenAI, якщо визначається ключ OpenAI, інакше Gemini, якщо визначається ключ Gemini,
- потім Voyage, потім Mistral. Якщо жоден віддалений ключ недоступний, пошук у
- пам’яті залишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштовано і доступний
+ може визначити API key (профілі автентифікації, `models.providers.*.apiKey` або env vars).
+ Він надає перевагу OpenAI, якщо доступний ключ OpenAI, інакше Gemini, якщо доступний ключ Gemini,
+ потім Voyage, потім Mistral. Якщо жоден віддалений ключ недоступний, пошук у пам’яті
+ залишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштовано й доступний
шлях до локальної моделі, OpenClaw
- віддає перевагу `local`. Ollama підтримується, коли ви явно задаєте
+ надає перевагу `local`. Ollama підтримується, якщо ви явно задаєте
`memorySearch.provider = "ollama"`.
- Якщо ви хочете залишатися локально, задайте `memorySearch.provider = "local"` (і за бажанням
- `memorySearch.fallback = "none"`). Якщо вам потрібні Gemini embeddings, задайте
+ Якщо ви хочете залишатися локально, установіть `memorySearch.provider = "local"` (і за потреби
+ `memorySearch.fallback = "none"`). Якщо ви хочете embeddings Gemini, задайте
`memorySearch.provider = "gemini"` і надайте `GEMINI_API_KEY` (або
- `memorySearch.remote.apiKey`). Ми підтримуємо embedding-моделі **OpenAI, Gemini, Voyage, Mistral, Ollama або local**
- — подробиці налаштування див. у [Memory](/uk/concepts/memory).
+ `memorySearch.remote.apiKey`). Ми підтримуємо моделі embeddings **OpenAI, Gemini, Voyage, Mistral, Ollama або local** —
+ деталі налаштування див. у [Пам’ять](/uk/concepts/memory).
-## Де все зберігається на диску
+## Де що зберігається на диску
Ні — **стан OpenClaw локальний**, але **зовнішні сервіси все одно бачать те, що ви їм надсилаєте**.
- **Локально за замовчуванням:** сесії, файли пам’яті, конфігурація та workspace живуть на хості Gateway
- (`~/.openclaw` + ваш каталог workspace).
- - **Віддалено за необхідністю:** повідомлення, які ви надсилаєте провайдерам моделей (Anthropic/OpenAI тощо), потрапляють
- до їхніх API, а чат-платформи (WhatsApp/Telegram/Slack тощо) зберігають дані повідомлень на
+ (`~/.openclaw` + каталог вашого workspace).
+ - **Віддалено за необхідністю:** повідомлення, які ви надсилаєте провайдерам моделей (Anthropic/OpenAI/etc.), потрапляють до
+ їхніх API, а чат-платформи (WhatsApp/Telegram/Slack/etc.) зберігають дані повідомлень на
своїх серверах.
- - **Ви контролюєте обсяг:** використання локальних моделей залишає prompts на вашій машині, але трафік
- каналів усе одно проходить через сервери відповідного каналу.
+ - **Ви контролюєте обсяг:** використання локальних моделей залишає prompt-и на вашій машині, але трафік каналів
+ усе одно проходить через сервери відповідного каналу.
- Пов’язане: [Agent workspace](/uk/concepts/agent-workspace), [Memory](/uk/concepts/memory).
+ Пов’язано: [Workspace агента](/uk/concepts/agent-workspace), [Пам’ять](/uk/concepts/memory).
@@ -570,29 +572,29 @@ Q&A для першого запуску — встановлення, онбо
| Path | Призначення |
| --------------------------------------------------------------- | ------------------------------------------------------------------ |
| `$OPENCLAW_STATE_DIR/openclaw.json` | Основна конфігурація (JSON5) |
- | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Застарілий імпорт OAuth (копіюється в профілі автентифікації під час першого використання) |
+ | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Імпорт застарілого OAuth (копіюється в профілі автентифікації під час першого використання) |
| `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | Профілі автентифікації (OAuth, API keys і необов’язкові `keyRef`/`tokenRef`) |
- | `$OPENCLAW_STATE_DIR/secrets.json` | Необов’язковий payload секрету на основі файла для провайдерів `file` SecretRef |
- | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | Застарілий файл сумісності (статичні записи `api_key` очищено) |
+ | `$OPENCLAW_STATE_DIR/secrets.json` | Необов’язкове файлове сховище секретів для провайдерів SecretRef типу `file` |
+ | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | Файл сумісності зі застарілими версіями (статичні записи `api_key` очищаються) |
| `$OPENCLAW_STATE_DIR/credentials/` | Стан провайдера (наприклад, `whatsapp//creds.json`) |
- | `$OPENCLAW_STATE_DIR/agents/` | Стан для кожного agent (agentDir + sessions) |
- | `$OPENCLAW_STATE_DIR/agents//sessions/` | Історія розмов і стан (для кожного agent) |
- | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані сесій (для кожного agent) |
+ | `$OPENCLAW_STATE_DIR/agents/` | Стан для кожного агента (agentDir + сесії) |
+ | `$OPENCLAW_STATE_DIR/agents//sessions/` | Історія розмов і стан (для кожного агента) |
+ | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані сесій (для кожного агента) |
- Застарілий шлях для single-agent: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`).
+ Застарілий шлях для одного агента: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`).
- Ваш **workspace** (`AGENTS.md`, файли пам’яті, Skills тощо) зберігається окремо та налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`).
+ Ваш **workspace** (`AGENTS.md`, файли пам’яті, Skills тощо) зберігається окремо й налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`).
- Ці файли живуть у **workspace agent**, а не в `~/.openclaw`.
+ Ці файли зберігаються у **workspace агента**, а не в `~/.openclaw`.
- - **Workspace (для кожного agent):** `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
+ - **Workspace (для кожного агента)**: `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
`MEMORY.md`, `memory/YYYY-MM-DD.md`, необов’язково `HEARTBEAT.md`.
- Кореневий `memory.md` у нижньому регістрі — лише застарілий вхід для виправлення; `openclaw doctor --fix`
+ Кореневий `memory.md` у нижньому регістрі — лише вхід для відновлення сумісності зі старими версіями; `openclaw doctor --fix`
може об’єднати його в `MEMORY.md`, коли існують обидва файли.
- - **Каталог стану (`~/.openclaw`)**: конфігурація, стан каналу/провайдера, профілі автентифікації, сесії, логи,
+ - **Каталог стану (`~/.openclaw`)**: конфігурація, стан каналів/провайдерів, профілі автентифікації, сесії, логи
і спільні Skills (`~/.openclaw/skills`).
Типовий workspace — `~/.openclaw/workspace`, налаштовується через:
@@ -604,43 +606,43 @@ Q&A для першого запуску — встановлення, онбо
```
Якщо бот «забуває» після перезапуску, переконайтеся, що Gateway використовує той самий
- workspace при кожному запуску (і пам’ятайте: віддалений режим використовує workspace **хоста gateway**,
+ workspace під час кожного запуску (і пам’ятайте: віддалений режим використовує workspace **хоста gateway**,
а не вашого локального ноутбука).
- Порада: якщо вам потрібна стійка поведінка або налаштування, попросіть бота **записати це в
+ Порада: якщо ви хочете зберегти тривалу поведінку або вподобання, попросіть бота **записати це в
AGENTS.md або MEMORY.md**, а не покладайтеся на історію чату.
- Див. [Agent workspace](/uk/concepts/agent-workspace) і [Memory](/uk/concepts/memory).
+ Див. [Workspace агента](/uk/concepts/agent-workspace) і [Пам’ять](/uk/concepts/memory).
- Зберігайте свій **workspace agent** у **приватному** git-репозиторії та робіть його резервну копію
- у приватному місці (наприклад, приватний GitHub). Це зберігає пам’ять + файли AGENTS/SOUL/USER
- і дає змогу пізніше відновити «розум» асистента.
+ Зберігайте свій **workspace агента** у **приватному** git-репозиторії та робіть резервні копії в
+ приватному місці (наприклад, GitHub private). Це збереже пам’ять + файли AGENTS/SOUL/USER
+ і дасть змогу пізніше відновити «розум» асистента.
- **Не** комітьте нічого з `~/.openclaw` (облікові дані, сесії, токени або зашифровані payload секретів).
+ **Не** комітьте нічого з `~/.openclaw` (облікові дані, сесії, токени або зашифровані корисні навантаження секретів).
Якщо вам потрібне повне відновлення, окремо створюйте резервні копії і workspace, і каталогу стану
(див. питання про міграцію вище).
- Документація: [Agent workspace](/uk/concepts/agent-workspace).
+ Документація: [Workspace агента](/uk/concepts/agent-workspace).
- Див. окремий посібник: [Uninstall](/uk/install/uninstall).
+ Див. окремий посібник: [Видалення](/uk/install/uninstall).
-
- Так. Workspace — це **типовий cwd** і точка прив’язки пам’яті, а не жорстка sandbox.
- Відносні шляхи визначаються всередині workspace, але абсолютні шляхи можуть звертатися до інших
- розташувань хоста, якщо ізоляцію не ввімкнено. Якщо вам потрібна ізоляція, використовуйте
- [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування sandbox для окремого agent. Якщо ви
- хочете, щоб репозиторій був типовим робочим каталогом, вкажіть `workspace`
- цього agent на корінь репозиторію. Репозиторій OpenClaw — це лише вихідний код; тримайте
- workspace окремо, якщо лише ви навмисно не хочете, щоб agent працював усередині нього.
+
+ Так. Workspace — це **типовий cwd** і якір пам’яті, а не жорстка ізоляція.
+ Відносні шляхи розв’язуються всередині workspace, але абсолютні шляхи можуть звертатися до інших
+ розташувань хоста, якщо не ввімкнено ізоляцію. Якщо вам потрібна ізоляція, використовуйте
+ [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування ізоляції для конкретного агента. Якщо ви
+ хочете, щоб репозиторій був типовим робочим каталогом, укажіть
+ `workspace` цього агента як корінь репозиторію. Репозиторій OpenClaw — це лише вихідний код; тримайте
+ workspace окремо, якщо тільки ви навмисно не хочете, щоб агент працював усередині нього.
- Приклад (репозиторій як типовий cwd):
+ Приклад (repo як типовий cwd):
```json5
{
@@ -654,30 +656,30 @@ Q&A для першого запуску — встановлення, онбо
-
- Станом сесій керує **хост gateway**. Якщо ви в віддаленому режимі, потрібне вам сховище сесій розташоване на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Session management](/uk/concepts/session).
+
+ Станом сесій володіє **хост gateway**. Якщо ви працюєте у віддаленому режимі, сховище сесій, яке вам потрібне, розташоване на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування сесіями](/uk/concepts/session).
## Основи конфігурації
-
- OpenClaw читає необов’язкову конфігурацію **JSON5** із `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`):
+
+ OpenClaw читає необов’язкову конфігурацію у форматі **JSON5** з `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`):
```
$OPENCLAW_CONFIG_PATH
```
- Якщо файл відсутній, використовуються відносно безпечні типові значення (зокрема типовий workspace `~/.openclaw/workspace`).
+ Якщо файл відсутній, використовуються достатньо безпечні типові значення (зокрема типовий workspace `~/.openclaw/workspace`).
- Прив’язки не до loopback **потребують валідного шляху автентифікації gateway**. На практиці це означає:
+ Bind-адреси не loopback **потребують дійсного шляху автентифікації gateway**. На практиці це означає:
- - автентифікація спільним секретом: токен або пароль
- - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим identity-aware reverse proxy не на loopback
+ - автентифікація за спільним секретом: токен або пароль
+ - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим reverse proxy з підтримкою ідентифікації, який не використовує loopback
```json5
{
@@ -694,31 +696,31 @@ Q&A для першого запуску — встановлення, онбо
Примітки:
- `gateway.remote.token` / `.password` **самі по собі** не вмикають локальну автентифікацію gateway.
- - Локальні шляхи виклику можуть використовувати `gateway.remote.*` як fallback лише тоді, коли `gateway.auth.*` не задано.
- - Для автентифікації паролем задайте `gateway.auth.mode: "password"` плюс `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`).
- - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і його не вдається визначити, визначення завершується закритою відмовою (без маскування через віддалений fallback).
- - Налаштування Control UI зі спільним секретом проходять автентифікацію через `connect.params.auth.token` або `connect.params.auth.password` (зберігаються в налаштуваннях app/UI). Режими з ідентичністю, такі як Tailscale Serve або `trusted-proxy`, натомість використовують заголовки запиту. Уникайте розміщення спільних секретів в URL.
- - З `gateway.auth.mode: "trusted-proxy"` reverse proxy на loopback на тому самому хості все одно **не** задовольняють автентифікацію trusted-proxy. Trusted proxy має бути налаштованим джерелом не на loopback.
+ - Локальні шляхи виклику можуть використовувати `gateway.remote.*` як запасний варіант, лише якщо `gateway.auth.*` не задано.
+ - Для автентифікації за паролем установіть `gateway.auth.mode: "password"` разом із `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`).
+ - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і його не вдається визначити, визначення завершується в закритому стані (без маскування через віддалений запасний варіант).
+ - Налаштування Control UI зі спільним секретом автентифікуються через `connect.params.auth.token` або `connect.params.auth.password` (зберігаються в налаштуваннях застосунку/UI). Режими з передаванням ідентичності, як-от Tailscale Serve або `trusted-proxy`, замість цього використовують заголовки запиту. Уникайте розміщення спільних секретів в URL.
+ - За `gateway.auth.mode: "trusted-proxy"` reverse proxy з loopback на тому самому хості все одно **не** задовольняє вимоги автентифікації trusted-proxy. Trusted proxy має бути налаштованим джерелом не loopback.
- OpenClaw примусово вимагає автентифікацію gateway за замовчуванням, зокрема і на loopback. У звичайному типовому шляху це означає автентифікацію токеном: якщо явний шлях автентифікації не налаштовано, під час запуску gateway вибирається режим токена й автоматично генерується токен, який зберігається в `gateway.auth.token`, тому **локальні WS-клієнти мають проходити автентифікацію**. Це блокує іншим локальним процесам виклик Gateway.
+ OpenClaw за замовчуванням вимагає автентифікацію gateway, зокрема й для loopback. У звичайному типовому сценарії це означає автентифікацію токеном: якщо явний шлях автентифікації не налаштовано, під час запуску gateway вибирається режим токена й автоматично генерується токен, який зберігається в `gateway.auth.token`, тому **локальні WS-клієнти повинні автентифікуватися**. Це блокує іншим локальним процесам можливість викликати Gateway.
- Якщо вам більше підходить інший шлях автентифікації, ви можете явно вибрати режим пароля (або, для identity-aware reverse proxy не на loopback, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у своїй конфігурації. Doctor може будь-коли згенерувати токен за вас: `openclaw doctor --generate-gateway-token`.
+ Якщо ви віддаєте перевагу іншому шляху автентифікації, можете явно вибрати режим пароля (або, для reverse proxy з підтримкою ідентифікації без loopback, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно встановіть у конфігурації `gateway.auth.mode: "none"`. Doctor може згенерувати токен для вас у будь-який час: `openclaw doctor --generate-gateway-token`.
- Gateway відстежує конфігурацію та підтримує hot-reload:
+ Gateway відстежує конфігурацію й підтримує гаряче перезавантаження:
- - `gateway.reload.mode: "hybrid"` (типово): безпечно застосовує зміни в гарячому режимі, для критичних — перезапускає
+ - `gateway.reload.mode: "hybrid"` (типово): безпечно застосовує зміни на гарячу, для критичних — перезапускає
- також підтримуються `hot`, `restart`, `off`
-
- Задайте `cli.banner.taglineMode` у конфігурації:
+
+ Установіть `cli.banner.taglineMode` у конфігурації:
```json5
{
@@ -732,22 +734,22 @@ Q&A для першого запуску — встановлення, онбо
- `off`: приховує текст слогана, але зберігає рядок заголовка/версії банера.
- `default`: щоразу використовує `All your chats, one OpenClaw.`.
- - `random`: ротація кумедних/сезонних слоганів (типова поведінка).
- - Якщо ви взагалі не хочете банера, задайте змінну середовища `OPENCLAW_HIDE_BANNER=1`.
+ - `random`: змінні кумедні/сезонні слогани (типова поведінка).
+ - Якщо ви хочете повністю прибрати банер, установіть env `OPENCLAW_HIDE_BANNER=1`.
-
- `web_fetch` працює без ключа API. `web_search` залежить від вибраного
+
+ `web_fetch` працює без API key. `web_search` залежить від вибраного
провайдера:
- - Провайдери на основі API, як-от Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity і Tavily, потребують звичайного налаштування ключів API.
- - Ollama Web Search не потребує ключа, але використовує налаштований хост Ollama і вимагає `ollama signin`.
- - DuckDuckGo не потребує ключа, але це неофіційна інтеграція на основі HTML.
- - SearXNG не потребує ключа / підтримує self-host; налаштуйте `SEARXNG_BASE_URL` або `plugins.entries.searxng.config.webSearch.baseUrl`.
+ - Провайдери з API, як-от Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity і Tavily, потребують звичайного налаштування API key.
+ - Ollama Web Search не потребує ключа, але використовує налаштований у вас хост Ollama й вимагає `ollama signin`.
+ - DuckDuckGo не потребує ключа, але це неофіційна HTML-інтеграція.
+ - SearXNG не потребує ключа / може бути self-hosted; налаштуйте `SEARXNG_BASE_URL` або `plugins.entries.searxng.config.webSearch.baseUrl`.
**Рекомендовано:** запустіть `openclaw configure --section web` і виберіть провайдера.
- Альтернативи через змінні середовища:
+ Альтернативи через середовище:
- Brave: `BRAVE_API_KEY`
- Exa: `EXA_API_KEY`
@@ -782,71 +784,71 @@ Q&A для першого запуску — встановлення, онбо
},
fetch: {
enabled: true,
- provider: "firecrawl", // необов’язково; пропустіть для auto-detect
+ provider: "firecrawl", // необов’язково; пропустіть для авто-визначення
},
},
},
}
```
- Конфігурація вебпошуку, специфічна для провайдера, тепер зберігається в `plugins.entries..config.webSearch.*`.
- Застарілі шляхи провайдерів `tools.web.search.*` поки що все ще завантажуються для сумісності, але їх не слід використовувати в нових конфігураціях.
- Конфігурація fallback для Firecrawl web-fetch зберігається в `plugins.entries.firecrawl.config.webFetch.*`.
+ Специфічна для провайдера конфігурація вебпошуку тепер розміщується в `plugins.entries..config.webSearch.*`.
+ Застарілі шляхи провайдера `tools.web.search.*` ще тимчасово завантажуються для сумісності, але їх не слід використовувати в нових конфігураціях.
+ Запасна конфігурація web-fetch для Firecrawl розміщується в `plugins.entries.firecrawl.config.webFetch.*`.
Примітки:
- - Якщо ви використовуєте allowlist, додайте `web_search`/`web_fetch`/`x_search` або `group:web`.
+ - Якщо ви використовуєте списки дозволених, додайте `web_search`/`web_fetch`/`x_search` або `group:web`.
- `web_fetch` увімкнено за замовчуванням (якщо його явно не вимкнено).
- - Якщо `tools.web.fetch.provider` не вказано, OpenClaw автоматично визначає першого готового fallback-провайдера для fetch із доступних облікових даних. Наразі вбудований провайдер — Firecrawl.
- - Daemons читають змінні середовища з `~/.openclaw/.env` (або із середовища сервісу).
+ - Якщо `tools.web.fetch.provider` пропущено, OpenClaw автоматично визначає першого готового запасного провайдера fetch із доступних облікових даних. Наразі вбудованим провайдером є Firecrawl.
+ - Демони читають env vars з `~/.openclaw/.env` (або з оточення сервісу).
- Документація: [Web tools](/uk/tools/web).
+ Документація: [Вебінструменти](/uk/tools/web).
-
+
`config.apply` замінює **всю конфігурацію**. Якщо ви надсилаєте частковий об’єкт, усе
- інше буде видалено.
+ інше видаляється.
- Поточний OpenClaw захищає від багатьох випадкових пошкоджень:
+ Поточний OpenClaw захищає від багатьох випадкових затирань:
- Записи конфігурації, якими керує OpenClaw, перевіряють повну конфігурацію після змін перед записом.
- - Невалідні або руйнівні записи, якими керує OpenClaw, відхиляються й зберігаються як `openclaw.json.rejected.*`.
- - Якщо пряме редагування ламає запуск або hot reload, Gateway відновлює останню відому коректну конфігурацію й зберігає відхилений файл як `openclaw.json.clobbered.*`.
- - Після відновлення основний agent отримує попередження під час запуску, щоб не записати погану конфігурацію знову навмання.
+ - Недійсні або руйнівні записи конфігурації, якими керує OpenClaw, відхиляються й зберігаються як `openclaw.json.rejected.*`.
+ - Якщо пряме редагування ламає запуск або гаряче перезавантаження, Gateway відновлює останню відому робочу конфігурацію й зберігає відхилений файл як `openclaw.json.clobbered.*`.
+ - Після відновлення основний агент отримує попередження під час запуску, щоб не записати погану конфігурацію повторно всліпу.
Відновлення:
- Перевірте `openclaw logs --follow` на наявність `Config auto-restored from last-known-good`, `Config write rejected:` або `config reload restored last-known-good config`.
- Перегляньте найновіший `openclaw.json.clobbered.*` або `openclaw.json.rejected.*` поруч з активною конфігурацією.
- - Залиште активну відновлену конфігурацію, якщо вона працює, а потім поверніть лише потрібні ключі через `openclaw config set` або `config.patch`.
+ - Якщо відновлена активна конфігурація працює, залиште її, а потім поверніть лише потрібні ключі через `openclaw config set` або `config.patch`.
- Запустіть `openclaw config validate` і `openclaw doctor`.
- - Якщо у вас немає останньої відомої коректної конфігурації або відхиленого payload, відновіть із резервної копії або повторно запустіть `openclaw doctor` і заново налаштуйте channels/models.
- - Якщо це сталося неочікувано, створіть bug report і додайте свою останню відому конфігурацію або будь-яку резервну копію.
- - Локальний coding agent часто може відновити працездатну конфігурацію з логів або історії.
+ - Якщо у вас немає ані останньої відомої робочої конфігурації, ані відхиленого вмісту, відновіть із резервної копії або знову запустіть `openclaw doctor` і повторно налаштуйте канали/моделі.
+ - Якщо це було неочікувано, створіть bug-report і додайте останню відому конфігурацію або будь-яку резервну копію.
+ - Локальний агент для коду часто може відновити робочу конфігурацію з логів або історії.
- Як уникнути цього:
+ Як уникнути:
- Використовуйте `openclaw config set` для невеликих змін.
- Використовуйте `openclaw configure` для інтерактивного редагування.
- - Спочатку використовуйте `config.schema.lookup`, якщо не впевнені в точному шляху або формі поля; він повертає поверхневий вузол схеми плюс підсумки безпосередніх дочірніх елементів для подальшого заглиблення.
- - Використовуйте `config.patch` для часткових редагувань через RPC; залишайте `config.apply` лише для повної заміни конфігурації.
- - Якщо ви використовуєте owner-only інструмент `gateway` із запуску agent, він усе одно відхилятиме записи в `tools.exec.ask` / `tools.exec.security` (зокрема застарілі псевдоніми `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec).
+ - Спочатку використовуйте `config.schema.lookup`, якщо не впевнені щодо точного шляху чи форми поля; він повертає вузол неглибокої схеми плюс зведення безпосередніх дочірніх елементів для подальшого занурення.
+ - Використовуйте `config.patch` для часткових RPC-редагувань; залишайте `config.apply` лише для повної заміни конфігурації.
+ - Якщо ви використовуєте owner-only інструмент `gateway` під час запуску агента, він усе одно відхилятиме записи в `tools.exec.ask` / `tools.exec.security` (включно із застарілими псевдонімами `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec).
- Документація: [Config](/uk/cli/config), [Configure](/uk/cli/configure), [Gateway troubleshooting](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config), [Doctor](/uk/gateway/doctor).
+ Документація: [Config](/uk/cli/config), [Configure](/uk/cli/configure), [Усунення несправностей Gateway](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config), [Doctor](/uk/gateway/doctor).
-
- Поширений шаблон — **один Gateway** (наприклад, Raspberry Pi) плюс **nodes** і **agents**:
+
+ Поширений шаблон — **один Gateway** (наприклад, Raspberry Pi) плюс **nodes** та **agents**:
- - **Gateway (центральний):** керує channels (Signal/WhatsApp), маршрутизацією та sessions.
- - **Nodes (пристрої):** Mac/iOS/Android підключаються як периферія й надають локальні інструменти (`system.run`, `canvas`, `camera`).
- - **Agents (працівники):** окремі «мізки»/workspace для спеціальних ролей (наприклад, "Hetzner ops", "Personal data").
- - **Sub-agents:** запускають фонову роботу з основного agent, коли вам потрібен паралелізм.
- - **TUI:** підключається до Gateway і перемикає agents/sessions.
+ - **Gateway (центральний):** володіє каналами (Signal/WhatsApp), маршрутизацією та сесіями.
+ - **Nodes (пристрої):** Macs/iOS/Android підключаються як периферія й надають локальні інструменти (`system.run`, `canvas`, `camera`).
+ - **Agents (worker-и):** окремі мізки/workspace-и для спеціальних ролей (наприклад, «Hetzner ops», «Personal data»).
+ - **Sub-agents:** запускають фонову роботу з основного агента, коли вам потрібен паралелізм.
+ - **TUI:** підключається до Gateway і дає змогу перемикати агентів/сесії.
- Документація: [Nodes](/uk/nodes), [Remote access](/uk/gateway/remote), [Multi-Agent Routing](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [TUI](/uk/web/tui).
+ Документація: [Nodes](/uk/nodes), [Віддалений доступ](/uk/gateway/remote), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [TUI](/uk/web/tui).
@@ -864,11 +866,11 @@ Q&A для першого запуску — встановлення, онбо
}
```
- Типове значення — `false` (headful). Headless-режим частіше викликає anti-bot-перевірки на деяких сайтах. Див. [Browser](/uk/tools/browser).
+ Значення за замовчуванням — `false` (з інтерфейсом). Headless-режим частіше викликає перевірки anti-bot на деяких сайтах. Див. [Браузер](/uk/tools/browser).
- Headless використовує **той самий рушій Chromium** і працює для більшості сценаріїв автоматизації (форми, кліки, скрейпінг, входи). Основні відмінності:
+ Headless використовує **той самий рушій Chromium** і працює для більшості сценаріїв автоматизації (форми, кліки, скрапінг, логіни). Основні відмінності:
- - Немає видимого вікна браузера (використовуйте screenshots, якщо потрібна візуалізація).
+ - Немає видимого вікна браузера (якщо потрібна візуалізація, використовуйте знімки екрана).
- Деякі сайти суворіше ставляться до автоматизації в headless-режимі (CAPTCHA, anti-bot).
Наприклад, X/Twitter часто блокує headless-сесії.
@@ -876,54 +878,54 @@ Q&A для першого запуску — встановлення, онбо
Установіть `browser.executablePath` на ваш бінарний файл Brave (або будь-якого браузера на основі Chromium) і перезапустіть Gateway.
- Повні приклади конфігурації див. у [Browser](/uk/tools/browser#use-brave-or-another-chromium-based-browser).
+ Повні приклади конфігурації див. у [Браузер](/uk/tools/browser#use-brave-or-another-chromium-based-browser).
-## Віддалені gateway і nodes
+## Віддалені gateway та nodes
-
- Повідомлення Telegram обробляє **gateway**. Gateway запускає agent і
+
+ Повідомлення Telegram обробляються **gateway**. Gateway запускає агента і
лише потім викликає nodes через **Gateway WebSocket**, коли потрібен інструмент node:
Telegram → Gateway → Agent → `node.*` → Node → Gateway → Telegram
- Nodes не бачать вхідний трафік провайдера; вони отримують лише виклики RPC node.
+ Nodes не бачать вхідний трафік провайдера; вони отримують лише виклики node RPC.
-
- Коротка відповідь: **сполучіть свій комп’ютер як node**. Gateway працює деінде, але може
+
+ Коротка відповідь: **спарте ваш комп’ютер як node**. Gateway працює деінде, але може
викликати інструменти `node.*` (екран, камера, система) на вашій локальній машині через Gateway WebSocket.
Типове налаштування:
- 1. Запустіть Gateway на хості, який завжди ввімкнений (VPS/домашній сервер).
- 2. Додайте хост Gateway і свій комп’ютер до однієї tailnet.
- 3. Переконайтеся, що Gateway WS доступний (прив’язка tailnet або SSH-тунель).
+ 1. Запустіть Gateway на постійно увімкненому хості (VPS/домашній сервер).
+ 2. Розмістіть хост Gateway і ваш комп’ютер в одній tailnet.
+ 3. Переконайтеся, що Gateway WS доступний (bind через tailnet або SSH-тунель).
4. Відкрийте застосунок macOS локально й підключіться в режимі **Remote over SSH** (або напряму через tailnet),
щоб він міг зареєструватися як node.
- 5. Схваліть node на Gateway:
+ 5. Підтвердьте node на Gateway:
```bash
openclaw devices list
openclaw devices approve
```
- Окремий TCP bridge не потрібен; nodes підключаються через Gateway WebSocket.
+ Окремий TCP-міст не потрібен; nodes підключаються через Gateway WebSocket.
- Нагадування про безпеку: сполучення node macOS дозволяє `system.run` на цій машині. Сполучайте
- лише пристрої, яким довіряєте, і перегляньте [Security](/uk/gateway/security).
+ Нагадування щодо безпеки: спарювання macOS node дозволяє `system.run` на цій машині. Підключайте
+ лише ті пристрої, яким довіряєте, і перегляньте [Безпека](/uk/gateway/security).
- Документація: [Nodes](/uk/nodes), [Gateway protocol](/uk/gateway/protocol), [macOS remote mode](/uk/platforms/mac/remote), [Security](/uk/gateway/security).
+ Документація: [Nodes](/uk/nodes), [Протокол Gateway](/uk/gateway/protocol), [Віддалений режим macOS](/uk/platforms/mac/remote), [Безпека](/uk/gateway/security).
-
- Перевірте базові речі:
+
+ Перевірте основи:
- - Gateway запущено: `openclaw gateway status`
+ - Gateway запущений: `openclaw gateway status`
- Стан Gateway: `openclaw status`
- Стан каналів: `openclaw channels status`
@@ -931,83 +933,83 @@ Q&A для першого запуску — встановлення, онбо
- Якщо ви використовуєте Tailscale Serve, переконайтеся, що `gateway.auth.allowTailscale` налаштовано правильно.
- Якщо ви підключаєтеся через SSH-тунель, переконайтеся, що локальний тунель активний і вказує на правильний порт.
- - Переконайтеся, що ваші allowlist (DM або група) включають ваш обліковий запис.
+ - Переконайтеся, що ваші списки дозволених (DM або групи) містять ваш обліковий запис.
- Документація: [Tailscale](/uk/gateway/tailscale), [Remote access](/uk/gateway/remote), [Channels](/uk/channels).
+ Документація: [Tailscale](/uk/gateway/tailscale), [Віддалений доступ](/uk/gateway/remote), [Канали](/uk/channels).
-
- Так. Вбудованого bridge «бот-до-бота» немає, але це можна організувати кількома
+
+ Так. Вбудованого мосту «бот-до-бота» немає, але це можна налаштувати кількома
надійними способами:
**Найпростіше:** використовуйте звичайний чат-канал, до якого мають доступ обидва боти (Telegram/Slack/WhatsApp).
- Нехай Bot A надішле повідомлення Bot B, а потім Bot B відповість як зазвичай.
+ Нехай Bot A надсилає повідомлення Bot B, а Bot B відповідає як зазвичай.
- **CLI bridge (загальний):** запустіть скрипт, який викликає інший Gateway через
- `openclaw agent --message ... --deliver`, націлюючись на чат, де інший бот
- слухає. Якщо один бот працює на віддаленому VPS, спрямуйте свій CLI на цей віддалений Gateway
- через SSH/Tailscale (див. [Remote access](/uk/gateway/remote)).
+ **CLI-міст (універсальний):** запустіть скрипт, який викликає інший Gateway через
+ `openclaw agent --message ... --deliver`, націлюючи на чат, який слухає інший бот.
+ Якщо один із ботів розміщений на віддаленому VPS, спрямуйте ваш CLI на той віддалений Gateway
+ через SSH/Tailscale (див. [Віддалений доступ](/uk/gateway/remote)).
- Приклад шаблону (запускати з машини, яка може дістатися до цільового Gateway):
+ Приклад шаблону (запускається з машини, яка може досягти цільового Gateway):
```bash
openclaw agent --message "Hello from local bot" --deliver --channel telegram --reply-to
```
- Порада: додайте захист, щоб два боти не зациклилися без кінця (лише відповіді на згадки, allowlist каналів
+ Порада: додайте захисне правило, щоб два боти не зациклилися безкінечно (відповідати лише на згадки, списки дозволених каналів
або правило «не відповідати на повідомлення ботів»).
- Документація: [Remote access](/uk/gateway/remote), [Agent CLI](/uk/cli/agent), [Agent send](/uk/tools/agent-send).
+ Документація: [Віддалений доступ](/uk/gateway/remote), [Agent CLI](/uk/cli/agent), [Надсилання агентом](/uk/tools/agent-send).
-
- Ні. Один Gateway може розміщувати кількох agents, кожен зі своїм workspace, типовими моделями
- і маршрутизацією. Це нормальне налаштування, і воно значно дешевше та простіше, ніж запускати
- один VPS на кожного agent.
+
+ Ні. Один Gateway може хостити кількох агентів, кожен зі своїм workspace, типовими моделями
+ і маршрутизацією. Це нормальне налаштування, і воно значно дешевше й простіше, ніж запускати
+ один VPS на агента.
Використовуйте окремі VPS лише тоді, коли вам потрібна жорстка ізоляція (межі безпеки) або дуже
- різні конфігурації, якими ви не хочете ділитися. В іншому разі залишайте один Gateway і
- використовуйте кількох agents або sub-agents.
+ різні конфігурації, які ви не хочете спільно використовувати. В інших випадках тримайте один Gateway і
+ використовуйте кількох агентів або sub-agents.
Так — nodes є основним способом доступу до вашого ноутбука з віддаленого Gateway, і вони
- дають більше, ніж просто доступ до shell. Gateway працює на macOS/Linux (Windows через WSL2) і є
- легким (достатньо невеликого VPS або пристрою класу Raspberry Pi; 4 GB RAM цілком вистачає), тому поширене
- налаштування — це хост, який завжди ввімкнений, плюс ваш ноутбук як node.
+ відкривають більше, ніж просто доступ до оболонки. Gateway працює на macOS/Linux (Windows через WSL2) і є
+ легким (достатньо невеликого VPS або пристрою класу Raspberry Pi; 4 ГБ RAM цілком вистачає), тому поширене
+ налаштування — це постійно увімкнений хост плюс ваш ноутбук як node.
- - **Не потрібен вхідний SSH.** Nodes самі підключаються до Gateway WebSocket і використовують сполучення пристроїв.
- - **Безпечніший контроль виконання.** `system.run` контролюється allowlist/схваленнями node на цьому ноутбуці.
+ - **Не потрібен вхідний SSH.** Nodes самі підключаються до Gateway WebSocket і використовують спарювання пристроїв.
+ - **Безпечніший контроль виконання.** `system.run` обмежується списками дозволених/підтвердженнями node на цьому ноутбуці.
- **Більше інструментів пристрою.** Nodes надають `canvas`, `camera` і `screen` на додачу до `system.run`.
- - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через хост node на ноутбуці або підключайтеся до локального Chrome на хості через Chrome MCP.
+ - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через node host на ноутбуці або під’єднуйтеся до локального Chrome на хості через Chrome MCP.
- SSH підходить для разового доступу до shell, але nodes простіші для постійних робочих процесів agent і
+ SSH підходить для разового доступу до оболонки, але nodes простіші для постійних робочих процесів агентів і
автоматизації пристроїв.
- Документація: [Nodes](/uk/nodes), [Nodes CLI](/uk/cli/nodes), [Browser](/uk/tools/browser).
+ Документація: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes), [Браузер](/uk/tools/browser).
- Ні. На хості має працювати лише **один gateway**, якщо тільки ви навмисно не запускаєте ізольовані профілі (див. [Multiple gateways](/uk/gateway/multiple-gateways)). Nodes — це периферійні компоненти, які підключаються
- до gateway (nodes iOS/Android або «node mode» на macOS у застосунку рядка меню). Для безголових
- хостів node і керування через CLI див. [Node host CLI](/uk/cli/node).
+ Ні. На кожному хості має працювати лише **один gateway**, якщо ви навмисно не запускаєте ізольовані профілі (див. [Кілька gateway](/uk/gateway/multiple-gateways)). Nodes — це периферійні пристрої, які підключаються
+ до gateway (nodes для iOS/Android або режим «node mode» у застосунку рядка меню macOS). Для headless node
+ host-ів і керування через CLI див. [CLI Node host](/uk/cli/node).
- Для змін `gateway`, `discovery` і `canvasHost` потрібен повний перезапуск.
+ Повний перезапуск потрібен для змін `gateway`, `discovery` і `canvasHost`.
Так.
- - `config.schema.lookup`: перевірити одне піддерево конфігурації з його поверхневим вузлом схеми, відповідною підказкою UI і підсумками безпосередніх дочірніх елементів перед записом
+ - `config.schema.lookup`: переглянути одне піддерево конфігурації з його вузлом неглибокої схеми, відповідною UI-підказкою та зведеннями безпосередніх дочірніх елементів перед записом
- `config.get`: отримати поточний знімок + hash
- - `config.patch`: безпечне часткове оновлення (переважний варіант для більшості редагувань через RPC); виконує hot-reload, коли можливо, і перезапуск, коли потрібно
- - `config.apply`: перевіряє й замінює всю конфігурацію; виконує hot-reload, коли можливо, і перезапуск, коли потрібно
- - Інструмент runtime `gateway`, доступний лише owner, як і раніше відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec
+ - `config.patch`: безпечне часткове оновлення (бажаний варіант для більшості RPC-редагувань); застосовує гаряче перезавантаження, коли можливо, і перезапускає, коли потрібно
+ - `config.apply`: перевіряє й замінює повну конфігурацію; застосовує гаряче перезавантаження, коли можливо, і перезапускає, коли потрібно
+ - Owner-only runtime tool `gateway` усе ще відмовляється перезаписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec
@@ -1034,14 +1036,14 @@ Q&A для першого запуску — встановлення, онбо
```
2. **Установіть і виконайте вхід на Mac**
- - Використайте застосунок Tailscale і ввійдіть у ту саму tailnet.
+ - Використайте застосунок Tailscale і увійдіть до тієї самої tailnet.
3. **Увімкніть MagicDNS (рекомендовано)**
- В адмін-консолі Tailscale увімкніть MagicDNS, щоб VPS мав стабільне ім’я.
4. **Використовуйте ім’я хоста tailnet**
- SSH: `ssh user@your-vps.tailnet-xxxx.ts.net`
- Gateway WS: `ws://your-vps.tailnet-xxxx.ts.net:18789`
- Якщо ви хочете Control UI без SSH, використовуйте Tailscale Serve на VPS:
+ Якщо ви хочете Control UI без SSH, використайте Tailscale Serve на VPS:
```bash
openclaw gateway --tailscale serve
@@ -1051,49 +1053,49 @@ Q&A для першого запуску — встановлення, онбо
-
- Serve відкриває **Gateway Control UI + WS**. Nodes підключаються через той самий endpoint Gateway WS.
+
+ Serve відкриває **Gateway Control UI + WS**. Nodes підключаються через ту саму кінцеву точку Gateway WS.
Рекомендоване налаштування:
- 1. **Переконайтеся, що VPS і Mac знаходяться в одній tailnet**.
+ 1. **Переконайтеся, що VPS і Mac перебувають в одній tailnet**.
2. **Використовуйте застосунок macOS у віддаленому режимі** (ціллю SSH може бути ім’я хоста tailnet).
- Застосунок тунелюватиме порт Gateway і підключиться як node.
- 3. **Схваліть node** на gateway:
+ Застосунок протунелює порт Gateway і підключиться як node.
+ 3. **Підтвердьте node** на gateway:
```bash
openclaw devices list
openclaw devices approve
```
- Документація: [Gateway protocol](/uk/gateway/protocol), [Discovery](/uk/gateway/discovery), [macOS remote mode](/uk/platforms/mac/remote).
+ Документація: [Протокол Gateway](/uk/gateway/protocol), [Discovery](/uk/gateway/discovery), [Віддалений режим macOS](/uk/platforms/mac/remote).
-
+
Якщо вам потрібні лише **локальні інструменти** (екран/камера/exec) на другому ноутбуці, додайте його як
- **node**. Це дозволяє зберегти єдиний Gateway і уникнути дублювання конфігурації. Локальні інструменти node
- зараз доступні лише на macOS, але ми плануємо поширити їх і на інші ОС.
+ **node**. Це зберігає єдиний Gateway і уникає дублювання конфігурації. Локальні інструменти node
+ наразі доступні лише на macOS, але ми плануємо поширити їх на інші ОС.
Установлюйте другий Gateway лише тоді, коли вам потрібна **жорстка ізоляція** або два повністю окремі боти.
- Документація: [Nodes](/uk/nodes), [Nodes CLI](/uk/cli/nodes), [Multiple gateways](/uk/gateway/multiple-gateways).
+ Документація: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways).
-## Змінні середовища і завантаження .env
+## Env vars і завантаження .env
- OpenClaw читає змінні середовища з батьківського процесу (shell, launchd/systemd, CI тощо) і додатково завантажує:
+ OpenClaw читає env vars із батьківського процесу (shell, launchd/systemd, CI тощо) і додатково завантажує:
- `.env` з поточного робочого каталогу
- - глобальний fallback `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`)
+ - глобальний запасний `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`)
- Жоден файл `.env` не перевизначає вже наявні змінні середовища.
+ Жоден із файлів `.env` не перевизначає наявні env vars.
- Ви також можете визначити вбудовані змінні середовища в конфігурації (застосовуються лише якщо вони відсутні в середовищі процесу):
+ Ви також можете визначати вбудовані env vars у конфігурації (застосовуються лише якщо вони відсутні в process env):
```json5
{
@@ -1104,15 +1106,15 @@ Q&A для першого запуску — встановлення, онбо
}
```
- Повний порядок пріоритетів і джерела див. в [/environment](/uk/help/environment).
+ Повний порядок пріоритетів і джерела див. у [/environment](/uk/help/environment).
-
- Два поширені способи виправлення:
+
+ Є два поширені варіанти виправлення:
- 1. Додайте відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися навіть тоді, коли сервіс не успадковує змінні середовища вашого shell.
- 2. Увімкніть імпорт shell (зручність за явною згодою):
+ 1. Помістіть відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися, навіть коли сервіс не успадковує env вашого shell.
+ 2. Увімкніть імпорт shell (зручність за бажанням):
```json5
{
@@ -1125,27 +1127,27 @@ Q&A для першого запуску — встановлення, онбо
}
```
- Це запускає ваш login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає). Еквіваленти через змінні середовища:
+ Це запускає ваш login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає). Відповідники env vars:
`OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`.
-
- `openclaw models status` повідомляє, чи ввімкнено **імпорт змінних середовища shell**. "Shell env: off"
- **не** означає, що ваших змінних середовища немає — це лише означає, що OpenClaw не буде
- автоматично завантажувати ваш login shell.
+
+ `openclaw models status` показує, чи ввімкнено **імпорт shell env**. "Shell env: off"
+ **не** означає, що ваших env vars немає — це лише означає, що OpenClaw не завантажуватиме
+ ваш login shell автоматично.
Якщо Gateway працює як сервіс (launchd/systemd), він не успадковує середовище
- вашого shell. Виправте це одним із таких способів:
+ вашого shell. Виправити це можна одним із таких способів:
- 1. Додайте токен у `~/.openclaw/.env`:
+ 1. Помістіть токен у `~/.openclaw/.env`:
```
COPILOT_GITHUB_TOKEN=...
```
2. Або увімкніть імпорт shell (`env.shellEnv.enabled: true`).
- 3. Або додайте його до блоку `env` у своїй конфігурації (застосовується лише якщо змінна відсутня).
+ 3. Або додайте його до блоку `env` у конфігурації (застосовується лише якщо значення відсутнє).
Потім перезапустіть gateway і перевірте ще раз:
@@ -1163,14 +1165,14 @@ Q&A для першого запуску — встановлення, онбо
- Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Session management](/uk/concepts/session).
+ Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Керування сесіями](/uk/concepts/session).
- Термін дії сесій може завершуватися після `session.idleMinutes`, але це **вимкнено за замовчуванням** (типове значення **0**).
- Установіть додатне значення, щоб увімкнути завершення за неактивністю. Коли це ввімкнено, **наступне**
- повідомлення після періоду неактивності починає новий id сесії для цього ключа чату.
- Це не видаляє транскрипти — це лише запускає нову сесію.
+ Термін дії сесій може спливати після `session.idleMinutes`, але це **вимкнено за замовчуванням** (типове значення **0**).
+ Установіть додатне значення, щоб увімкнути завершення після простою. Коли цю функцію ввімкнено, **наступне**
+ повідомлення після періоду простою починає новий ідентифікатор сесії для цього ключа чату.
+ Це не видаляє транскрипти — лише починає нову сесію.
```json5
{
@@ -1182,41 +1184,41 @@ Q&A для першого запуску — встановлення, онбо
-
- Так, через **маршрутизацію multi-agent** і **sub-agents**. Ви можете створити одного координатора
- agent і кількох agents-працівників із власними workspace і моделями.
+
+ Так, через **маршрутизацію multi-agent** і **sub-agents**. Ви можете створити одного координувального
+ агента і кількох worker-агентів зі своїми workspace та моделями.
- Водночас це краще сприймати як **цікавий експеримент**. Це важко за токенами й часто
+ Втім, це краще сприймати як **цікавий експеримент**. Це витрачає багато токенів і часто
менш ефективно, ніж використання одного бота з окремими сесіями. Типова модель, яку ми
- уявляємо, — це один бот, з яким ви спілкуєтеся, але з різними сесіями для паралельної роботи. Цей
- бот також може за потреби запускати sub-agents.
+ бачимо, — це один бот, з яким ви спілкуєтеся, з різними сесіями для паралельної роботи. Цей
+ бот також може запускати sub-agents за потреби.
- Документація: [Multi-agent routing](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [Agents CLI](/uk/cli/agents).
+ Документація: [Маршрутизація multi-agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [CLI Agents](/uk/cli/agents).
-
+
Контекст сесії обмежений вікном моделі. Довгі чати, великі виводи інструментів або велика кількість
файлів можуть спричинити compaction або обрізання.
Що допомагає:
- Попросіть бота підсумувати поточний стан і записати його у файл.
- - Використовуйте `/compact` перед довгими завданнями і `/new` під час зміни теми.
- - Зберігайте важливий контекст у workspace і просіть бота перечитати його.
+ - Використовуйте `/compact` перед довгими завданнями, а `/new` — під час зміни теми.
+ - Зберігайте важливий контекст у workspace і попросіть бота перечитати його.
- Використовуйте sub-agents для довгої або паралельної роботи, щоб основний чат залишався меншим.
- Виберіть модель із більшим вікном контексту, якщо це трапляється часто.
- Використовуйте команду скидання:
+ Використайте команду скидання:
```bash
openclaw reset
```
- Повне неінтерактивне скидання:
+ Неінтерактивне повне скидання:
```bash
openclaw reset --scope full --yes --non-interactive
@@ -1230,50 +1232,50 @@ Q&A для першого запуску — встановлення, онбо
Примітки:
- - Онбординг також пропонує **Reset**, якщо бачить наявну конфігурацію. Див. [Onboarding (CLI)](/uk/start/wizard).
- - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен каталог стану (типові: `~/.openclaw-`).
- - Скидання для розробки: `openclaw gateway --dev --reset` (лише для розробки; очищує dev-конфігурацію + облікові дані + сесії + workspace).
+ - Онбординг також пропонує **Reset**, якщо бачить наявну конфігурацію. Див. [Онбординг (CLI)](/uk/start/wizard).
+ - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен каталог стану (типово це `~/.openclaw-`).
+ - Скидання для розробки: `openclaw gateway --dev --reset` (лише для розробки; очищає конфігурацію розробки + облікові дані + сесії + workspace).
-
- Використайте один із цих варіантів:
+
+ Використайте один із варіантів:
- - **Compaction** (зберігає розмову, але підсумовує старіші ходи):
+ - **Compaction** (зберігає розмову, але підсумовує старіші повідомлення):
```
/compact
```
- або `/compact `, щоб скерувати підсумовування.
+ або `/compact `, щоб спрямувати підсумок.
- - **Скидання** (новий id сесії для того самого ключа чату):
+ - **Скидання** (новий ідентифікатор сесії для того самого ключа чату):
```
/new
/reset
```
- Якщо це повторюється:
+ Якщо це продовжує траплятися:
- - Увімкніть або налаштуйте **обрізання сесій** (`agents.defaults.contextPruning`), щоб скорочувати старий вивід інструментів.
+ - Увімкніть або налаштуйте **обрізання сесії** (`agents.defaults.contextPruning`) для скорочення старого виводу інструментів.
- Використовуйте модель із більшим вікном контексту.
- Документація: [Compaction](/uk/concepts/compaction), [Session pruning](/uk/concepts/session-pruning), [Session management](/uk/concepts/session).
+ Документація: [Compaction](/uk/concepts/compaction), [Обрізання сесії](/uk/concepts/session-pruning), [Керування сесіями](/uk/concepts/session).
- Це помилка валідації провайдера: модель видала блок `tool_use` без обов’язкового
- `input`. Зазвичай це означає, що історія сесії застаріла або пошкоджена (часто після довгих гілок
+ Це помилка перевірки провайдера: модель видала блок `tool_use` без обов’язкового
+ `input`. Зазвичай це означає, що історія сесії застаріла або пошкоджена (часто після довгих тредів
або зміни інструмента/схеми).
Виправлення: почніть нову сесію за допомогою `/new` (окремим повідомленням).
-
- Heartbeat запускаються кожні **30m** за замовчуванням (**1h** при використанні автентифікації OAuth). Налаштуйте або вимкніть їх:
+
+ Heartbeat запускається кожні **30 хв** за замовчуванням (**1 год**, якщо використовується OAuth-автентифікація). Налаштуйте або вимкніть його:
```json5
{
@@ -1287,19 +1289,19 @@ Q&A для першого запуску — встановлення, онбо
}
```
- Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та заголовки
- Markdown на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб заощадити виклики API.
- Якщо файл відсутній, heartbeat усе одно запускається, і модель сама вирішує, що робити.
+ Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та markdown-заголовки
+ на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб заощадити виклики API.
+ Якщо файл відсутній, heartbeat все одно запускається, і модель сама вирішує, що робити.
- Override для окремого agent використовують `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat).
+ Overrides для конкретного агента задаються через `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat).
- Ні. OpenClaw працює з **вашим власним обліковим записом**, тож якщо ви є в групі, OpenClaw може її бачити.
+ Ні. OpenClaw працює від **вашого власного облікового запису**, тому якщо ви є в групі, OpenClaw може її бачити.
За замовчуванням відповіді в групах заблоковані, доки ви не дозволите відправників (`groupPolicy: "allowlist"`).
- Якщо ви хочете, щоб відповіді в групі міг ініціювати лише **ви**:
+ Якщо ви хочете, щоб запускати відповіді в групі могли лише **ви**:
```json5
{
@@ -1324,73 +1326,72 @@ Q&A для першого запуску — встановлення, онбо
Шукайте `chatId` (або `from`), що закінчується на `@g.us`, наприклад:
`1234567890-1234567890@g.us`.
- Варіант 2 (якщо вже налаштовано/додано в allowlist): перелічіть групи з конфігурації:
+ Варіант 2 (якщо вже налаштовано/додано до allowlist): отримайте список груп із конфігурації:
```bash
openclaw directory groups list --channel whatsapp
```
- Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/uk/cli/directory), [Logs](/uk/cli/logs).
+ Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/uk/cli/directory), [Логи](/uk/cli/logs).
- Дві поширені причини:
+ Є дві поширені причини:
- - Увімкнено перевірку згадок (за замовчуванням). Ви маєте згадати бота через @ (або відповідати `mentionPatterns`).
- - Ви налаштували `channels.whatsapp.groups` без `"*"`, і групу не додано в allowlist.
+ - Увімкнено обмеження за згадкою (типово). Ви повинні @згадати бота (або відповідати `mentionPatterns`).
+ - Ви налаштували `channels.whatsapp.groups` без `"*"`, і група не входить до allowlist.
- Див. [Groups](/uk/channels/groups) і [Group messages](/uk/channels/group-messages).
+ Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages).
-
- Прямі чати за замовчуванням згортаються в основну сесію. Групи/канали мають власні ключі сесій, а теми Telegram / гілки Discord — це окремі сесії. Див. [Groups](/uk/channels/groups) і [Group messages](/uk/channels/group-messages).
+
+ Прямі чати за замовчуванням згортаються до основної сесії. Групи/канали мають власні ключі сесій, а теми Telegram / треди Discord є окремими сесіями. Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages).
-
- Жорстких обмежень немає. Десятки (і навіть сотні) — це нормально, але звертайте увагу на:
+
+ Жорстких обмежень немає. Десятки (навіть сотні) — це нормально, але звертайте увагу на:
- - **Зростання диска:** sessions + транскрипти зберігаються в `~/.openclaw/agents//sessions/`.
- - **Вартість токенів:** більше agents означає більше одночасного використання моделей.
- - **Операційні накладні витрати:** профілі автентифікації для окремих agents, workspace і маршрутизація каналів.
+ - **Зростання дискового простору:** сесії + транскрипти зберігаються в `~/.openclaw/agents//sessions/`.
+ - **Вартість токенів:** більше агентів означає більше одночасного використання моделей.
+ - **Операційне навантаження:** профілі автентифікації для кожного агента, workspace і маршрутизація каналів.
Поради:
- - Зберігайте один **активний** workspace на кожного agent (`agents.defaults.workspace`).
- - Очищуйте старі sessions (видаляйте JSONL або записи сховища), якщо диск розростається.
+ - Тримайте один **активний** workspace на агента (`agents.defaults.workspace`).
+ - Обрізайте старі сесії (видаляйте JSONL або записи сховища), якщо зростає використання диска.
- Використовуйте `openclaw doctor`, щоб виявляти зайві workspace і невідповідності профілів.
-
- Так. Використовуйте **Multi-Agent Routing**, щоб запускати кілька ізольованих agents і маршрутизувати вхідні повідомлення за
- channel/account/peer. Slack підтримується як канал і може бути прив’язаний до конкретних agents.
+
+ Так. Використовуйте **маршрутизацію Multi-Agent**, щоб запускати кількох ізольованих агентів і маршрутизувати вхідні повідомлення за
+ каналом/обліковим записом/peer. Slack підтримується як канал і може бути прив’язаний до конкретних агентів.
- Доступ до браузера потужний, але це не означає «робити все, що може людина» — anti-bot, CAPTCHA та MFA
+ Доступ до браузера дуже потужний, але це не «зробити все, що може людина» — anti-bot, CAPTCHA і MFA
усе ще можуть блокувати автоматизацію. Для найнадійнішого керування браузером використовуйте локальний Chrome MCP на хості
- або CDP на машині, яка фактично запускає браузер.
+ або використовуйте CDP на машині, яка фактично запускає браузер.
- Рекомендоване налаштування:
+ Налаштування за найкращими практиками:
- - Хост Gateway, який завжди ввімкнений (VPS/Mac mini).
- - Один agent на роль (bindings).
- - Канал(и) Slack, прив’язані до цих agents.
+ - Постійно увімкнений хост Gateway (VPS/Mac mini).
+ - Один агент на роль (bindings).
+ - Канал(и) Slack, прив’язані до цих агентів.
- Локальний браузер через Chrome MCP або node за потреби.
- Документація: [Multi-Agent Routing](/uk/concepts/multi-agent), [Slack](/uk/channels/slack),
- [Browser](/uk/tools/browser), [Nodes](/uk/nodes).
+ Документація: [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [Slack](/uk/channels/slack),
+ [Браузер](/uk/tools/browser), [Nodes](/uk/nodes).
-## Моделі, failover і профілі автентифікації
+## Моделі, резервне перемикання та профілі автентифікації
-Q&A про моделі — типові значення, вибір, псевдоніми, перемикання, failover, профілі автентифікації —
-перенесено на окрему сторінку:
-[FAQ — моделі та профілі автентифікації](/uk/help/faq-models).
+Запитання й відповіді про моделі — типові значення, вибір, псевдоніми, перемикання, резервне перемикання, профілі автентифікації —
+розміщено в [FAQ про моделі](/uk/help/faq-models).
-## Gateway: порти, «вже запущено» і віддалений режим
+## Gateway: порти, «already running» і віддалений режим
@@ -1399,24 +1400,24 @@ Q&A про моделі — типові значення, вибір, псев
Пріоритет:
```
- --port > OPENCLAW_GATEWAY_PORT > gateway.port > default 18789
+ --port > OPENCLAW_GATEWAY_PORT > gateway.port > типово 18789
```
- Тому що "running" — це погляд **supervisor** (launchd/systemd/schtasks). А перевірка доступності — це коли CLI реально підключається до WebSocket gateway.
+ Тому що «running» — це погляд **supervisor-а** (launchd/systemd/schtasks). Connectivity probe — це фактичне підключення CLI до gateway WebSocket.
- Використовуйте `openclaw gateway status` і довіряйте таким рядкам:
+ Використовуйте `openclaw gateway status` і довіряйте цим рядкам:
- - `Probe target:` (URL, який перевірка фактично використала)
- - `Listening:` (що реально прив’язано до порту)
+ - `Probe target:` (URL, який probe фактично використав)
+ - `Listening:` (що фактично прив’язано до порту)
- `Last gateway error:` (поширена першопричина, коли процес живий, але порт не слухає)
- Ви редагуєте один файл конфігурації, тоді як сервіс працює з іншим (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`).
+ Ви редагуєте один файл конфігурації, а сервіс запускає інший (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`).
Виправлення:
@@ -1424,19 +1425,19 @@ Q&A про моделі — типові значення, вибір, псев
openclaw gateway install --force
```
- Запустіть це з тим самим `--profile` / середовищем, яке ви хочете, щоб використовував сервіс.
+ Запустіть це з тим самим `--profile` / середовищем, яке має використовувати сервіс.
- OpenClaw примусово забезпечує блокування під час виконання, одразу прив’язуючи listener WebSocket на старті (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується помилкою `EADDRINUSE`, виникає `GatewayLockError`, що означає: інша інсталяція вже слухає цей порт.
+ OpenClaw забезпечує блокування runtime, одразу прив’язуючи WebSocket listener під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується з `EADDRINUSE`, викидається `GatewayLockError`, що означає, що інший екземпляр уже слухає.
- Виправлення: зупиніть іншу інсталяцію, звільніть порт або запустіть з `openclaw gateway --port `.
+ Виправлення: зупиніть інший екземпляр, звільніть порт або запускайте з `openclaw gateway --port `.
- Задайте `gateway.mode: "remote"` і вкажіть віддалений URL WebSocket, за потреби також віддалені облікові дані зі спільним секретом:
+ Установіть `gateway.mode: "remote"` і вкажіть віддалений WebSocket URL, за потреби з віддаленими обліковими даними зі спільним секретом:
```json5
{
@@ -1453,90 +1454,90 @@ Q&A про моделі — типові значення, вибір, псев
Примітки:
- - `openclaw gateway` запускається лише тоді, коли `gateway.mode` має значення `local` (або ви передаєте прапорець перевизначення).
- - Застосунок macOS стежить за файлом конфігурації й у реальному часі перемикає режими, коли ці значення змінюються.
- - `gateway.remote.token` / `.password` — це лише віддалені облікові дані на боці клієнта; самі по собі вони не вмикають локальну автентифікацію gateway.
+ - `openclaw gateway` запускається лише коли `gateway.mode` має значення `local` (або якщо ви передасте прапорець перевизначення).
+ - Застосунок macOS відстежує файл конфігурації й у реальному часі перемикає режими, коли ці значення змінюються.
+ - `gateway.remote.token` / `.password` — це лише клієнтські віддалені облікові дані; самі по собі вони не вмикають локальну автентифікацію gateway.
-
+
Шлях автентифікації вашого gateway і метод автентифікації UI не збігаються.
Факти (з коду):
- - Control UI зберігає токен у `sessionStorage` для поточної сесії вкладки браузера та вибраного URL gateway, тож оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого збереження токена в localStorage.
- - При `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повторної спроби (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`).
- - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані схвалені scopes, збережені разом із токеном пристрою. Викликачі з явними `deviceToken` / явними `scopes` і далі зберігають свій запитаний набір scope замість успадкування кешованих scopes.
+ - Control UI зберігає токен у `sessionStorage` для поточної сесії вкладки браузера та вибраного URL gateway, тому оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого збереження токена в localStorage.
+ - За `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повтору (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`).
+ - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані затверджені scopes, збережені разом із токеном пристрою. Явні виклики `deviceToken` / явні `scopes` усе одно зберігають свій запитаний набір scope замість успадкування кешованих scopes.
- Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: спочатку явний спільний токен/пароль, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap token.
- - Перевірки scope bootstrap token мають префікс ролі. Вбудований allowlist bootstrap operator задовольняє лише запити operator; для node або інших ролей, які не є operator, усе одно потрібні scopes із префіксом власної ролі.
+ - Перевірки scope для bootstrap token мають префікс ролі. Вбудований allowlist bootstrap operator задовольняє лише запити operator; для node або інших ролей, відмінних від operator, усе одно потрібні scopes із власним префіксом ролі.
Виправлення:
- - Найшвидше: `openclaw dashboard` (виводить і копіює URL dashboard, намагається відкрити; якщо режим headless — показує підказку SSH).
+ - Найшвидше: `openclaw dashboard` (виводить + копіює URL dashboard, намагається відкрити; у headless показує підказку SSH).
- Якщо у вас ще немає токена: `openclaw doctor --generate-gateway-token`.
- - Якщо віддалено — спочатку створіть тунель: `ssh -N -L 18789:127.0.0.1:18789 user@host`, а потім відкрийте `http://127.0.0.1:18789/`.
+ - Якщо віддалено, спочатку створіть тунель: `ssh -N -L 18789:127.0.0.1:18789 user@host`, потім відкрийте `http://127.0.0.1:18789/`.
- Режим спільного секрету: задайте `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` або `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`, а потім вставте відповідний секрет у налаштуваннях Control UI.
- - Режим Tailscale Serve: переконайтеся, що `gateway.auth.allowTailscale` увімкнено і ви відкриваєте URL Serve, а не сирий URL loopback/tailnet, який обходить заголовки ідентичності Tailscale.
- - Режим trusted-proxy: переконайтеся, що ви заходите через налаштований identity-aware proxy не на loopback, а не через proxy loopback на тому самому хості чи сирий URL gateway.
- - Якщо невідповідність зберігається після однієї повторної спроби, виконайте ротацію/повторне схвалення токена сполученого пристрою:
+ - Режим Tailscale Serve: переконайтеся, що `gateway.auth.allowTailscale` увімкнено, і що ви відкриваєте URL Serve, а не сирий URL loopback/tailnet, який обходить заголовки ідентичності Tailscale.
+ - Режим trusted-proxy: переконайтеся, що ви приходите через налаштований non-loopback reverse proxy з підтримкою ідентичності, а не через loopback proxy на тому самому хості або сирий URL gateway.
+ - Якщо невідповідність зберігається після однієї повторної спроби, перевипустіть/перествердіть токен спареного пристрою:
- `openclaw devices list`
- `openclaw devices rotate --device --role operator`
- - Якщо цей виклик rotate каже, що було відмовлено, перевірте дві речі:
- - сесії сполучених пристроїв можуть виконувати ротацію лише для **власного** пристрою, якщо тільки вони не мають `operator.admin`
- - явні значення `--scope` не можуть перевищувати поточні operator scopes викликача
- - Усе ще застрягли? Запустіть `openclaw status --all` і дотримуйтеся [Troubleshooting](/uk/gateway/troubleshooting). Подробиці автентифікації див. у [Dashboard](/uk/web/dashboard).
+ - Якщо ця команда rotate каже, що запит відхилено, перевірте дві речі:
+ - сесії спарених пристроїв можуть перевипускати лише **власний** пристрій, якщо в них немає також `operator.admin`
+ - явні значення `--scope` не можуть перевищувати поточні scopes operator викликача
+ - Усе ще не виходить? Запустіть `openclaw status --all` і дотримуйтеся [Усунення несправностей](/uk/gateway/troubleshooting). Подробиці автентифікації див. у [Dashboard](/uk/web/dashboard).
-
- Прив’язка `tailnet` вибирає IP Tailscale з ваших мережевих інтерфейсів (100.64.0.0/10). Якщо машина не в Tailscale (або інтерфейс вимкнено), прив’язуватися просто нікуди.
+
+ Прив’язка `tailnet` вибирає IP-адресу Tailscale з мережевих інтерфейсів вашої машини (100.64.0.0/10). Якщо машина не підключена до Tailscale (або інтерфейс вимкнений), немає адреси, до якої можна прив’язатися.
Виправлення:
- - Запустіть Tailscale на цьому хості (щоб він отримав адресу 100.x), або
+ - Запустіть Tailscale на цьому хості (щоб він мав адресу 100.x), або
- Перемкніться на `gateway.bind: "loopback"` / `"lan"`.
- Примітка: `tailnet` — це явний вибір. `auto` віддає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли хочете прив’язку лише до tailnet.
+ Примітка: `tailnet` задається явно. `auto` надає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли хочете прив’язку лише до tailnet.
- Зазвичай ні — один Gateway може обслуговувати кілька каналів обміну повідомленнями та agents. Використовуйте кілька Gateway лише тоді, коли вам потрібна надлишковість (наприклад, rescue bot) або жорстка ізоляція.
+ Зазвичай ні — один Gateway може запускати кілька каналів обміну повідомленнями та агентів. Використовуйте кілька Gateway лише коли вам потрібна надлишковість (наприклад, rescue bot) або жорстка ізоляція.
- Так, але вам треба ізолювати:
+ Так, але ви повинні ізолювати:
- - `OPENCLAW_CONFIG_PATH` (конфігурація для кожної інсталяції)
- - `OPENCLAW_STATE_DIR` (стан для кожної інсталяції)
+ - `OPENCLAW_CONFIG_PATH` (конфігурація для кожного екземпляра)
+ - `OPENCLAW_STATE_DIR` (стан для кожного екземпляра)
- `agents.defaults.workspace` (ізоляція workspace)
- `gateway.port` (унікальні порти)
Швидке налаштування (рекомендовано):
- - Використовуйте `openclaw --profile ...` для кожної інсталяції (автоматично створює `~/.openclaw-`).
- - Установіть унікальний `gateway.port` у конфігурації кожного профілю (або передавайте `--port` для ручних запусків).
+ - Використовуйте `openclaw --profile ...` для кожного екземпляра (автоматично створює `~/.openclaw-`).
+ - Установіть унікальний `gateway.port` у конфігурації кожного профілю (або передайте `--port` для ручних запусків).
- Установіть сервіс для кожного профілю: `openclaw --profile gateway install`.
Профілі також додають суфікси до назв сервісів (`ai.openclaw.`; застарілі `com.openclaw.*`, `openclaw-gateway-.service`, `OpenClaw Gateway ()`).
- Повний посібник: [Multiple gateways](/uk/gateway/multiple-gateways).
+ Повний посібник: [Кілька gateway](/uk/gateway/multiple-gateways).
- Gateway — це **сервер WebSocket**, і він очікує, що найперше повідомлення
+ Gateway — це **WebSocket server**, і він очікує, що найперше повідомлення
буде фреймом `connect`. Якщо він отримує щось інше, то закриває з’єднання
- з **кодом 1008** (порушення політики).
+ з **code 1008** (порушення політики).
Поширені причини:
- - Ви відкрили URL **HTTP** у браузері (`http://...`) замість WS-клієнта.
+ - Ви відкрили **HTTP** URL у браузері (`http://...`) замість WS-клієнта.
- Ви використали неправильний порт або шлях.
- - Proxy або тунель видалив заголовки автентифікації або надіслав не-Gateway-запит.
+ - Проксі або тунель прибрав заголовки автентифікації чи надіслав запит, що не належить Gateway.
Швидкі виправлення:
- 1. Використовуйте URL WS: `ws://:18789` (або `wss://...`, якщо HTTPS).
- 2. Не відкривайте порт WS у звичайній вкладці браузера.
- 3. Якщо автентифікацію ввімкнено, включіть токен/пароль у фрейм `connect`.
+ 1. Використовуйте WS URL: `ws://:18789` (або `wss://...`, якщо HTTPS).
+ 2. Не відкривайте WS-порт у звичайній вкладці браузера.
+ 3. Якщо автентифікацію ввімкнено, додайте токен/пароль у фрейм `connect`.
Якщо ви використовуєте CLI або TUI, URL має виглядати так:
@@ -1544,7 +1545,7 @@ Q&A про моделі — типові значення, вибір, псев
openclaw tui --url ws://:18789 --token
```
- Подробиці протоколу: [Gateway protocol](/uk/gateway/protocol).
+ Подробиці протоколу: [Протокол Gateway](/uk/gateway/protocol).
@@ -1552,28 +1553,28 @@ Q&A про моделі — типові значення, вибір, псев
## Логування та налагодження
-
+
Файлові логи (структуровані):
```
/tmp/openclaw/openclaw-YYYY-MM-DD.log
```
- Ви можете задати стабільний шлях через `logging.file`. Рівень файлового логування керується `logging.level`. Деталізація консолі керується `--verbose` і `logging.consoleLevel`.
+ Ви можете задати стабільний шлях через `logging.file`. Рівень файлового логування контролюється `logging.level`. Детальність виводу в консоль контролюється через `--verbose` і `logging.consoleLevel`.
- Найшвидший перегляд хвоста логів:
+ Найшвидший перегляд хвоста логу:
```bash
openclaw logs --follow
```
- Логи сервісу/supervisor (коли gateway працює через launchd/systemd):
+ Логи сервісу/supervisor-а (коли gateway запускається через launchd/systemd):
- macOS: `$OPENCLAW_STATE_DIR/logs/gateway.log` і `gateway.err.log` (типово: `~/.openclaw/logs/...`; профілі використовують `~/.openclaw-/logs/...`)
- Linux: `journalctl --user -u openclaw-gateway[-].service -n 200 --no-pager`
- Windows: `schtasks /Query /TN "OpenClaw Gateway ()" /V /FO LIST`
- Докладніше див. в [Troubleshooting](/uk/gateway/troubleshooting).
+ Докладніше див. [Усунення несправностей](/uk/gateway/troubleshooting).
@@ -1590,11 +1591,11 @@ Q&A про моделі — типові значення, вибір, псев
- Є **два режими встановлення у Windows**:
+ Існує **два режими встановлення Windows**:
**1) WSL2 (рекомендовано):** Gateway працює всередині Linux.
- Відкрийте PowerShell, увійдіть у WSL, а потім перезапустіть:
+ Відкрийте PowerShell, увійдіть у WSL, потім перезапустіть:
```powershell
wsl
@@ -1602,7 +1603,7 @@ Q&A про моделі — типові значення, вибір, псев
openclaw gateway restart
```
- Якщо ви ніколи не встановлювали сервіс, запустіть його на передньому плані:
+ Якщо ви ніколи не встановлювали сервіс, запустіть його у передньому плані:
```bash
openclaw gateway run
@@ -1623,7 +1624,7 @@ Q&A про моделі — типові значення, вибір, псев
openclaw gateway run
```
- Документація: [Windows (WSL2)](/uk/platforms/windows), [Gateway service runbook](/uk/gateway).
+ Документація: [Windows (WSL2)](/uk/platforms/windows), [Посібник із сервісу Gateway](/uk/gateway).
@@ -1639,24 +1640,24 @@ Q&A про моделі — типові значення, вибір, псев
Поширені причини:
- - Автентифікація моделі не завантажена на **хості gateway** (перевірте `models status`).
- - Сполучення каналу/allowlist блокує відповіді (перевірте конфігурацію каналу + логи).
+ - Автентифікацію моделі не завантажено на **хості gateway** (перевірте `models status`).
+ - Спарювання каналу/allowlist блокує відповіді (перевірте конфігурацію каналу + логи).
- WebChat/Dashboard відкрито без правильного токена.
- Якщо ви працюєте віддалено, переконайтеся, що тунель/підключення Tailscale активне і
+ Якщо ви працюєте віддалено, переконайтеся, що тунель/підключення Tailscale активне і що
Gateway WebSocket доступний.
- Документація: [Channels](/uk/channels), [Troubleshooting](/uk/gateway/troubleshooting), [Remote access](/uk/gateway/remote).
+ Документація: [Канали](/uk/channels), [Усунення несправностей](/uk/gateway/troubleshooting), [Віддалений доступ](/uk/gateway/remote).
-
+
Зазвичай це означає, що UI втратив з’єднання WebSocket. Перевірте:
- 1. Чи запущено Gateway? `openclaw gateway status`
- 2. Чи Gateway справний? `openclaw status`
+ 1. Gateway запущений? `openclaw gateway status`
+ 2. Gateway справний? `openclaw status`
3. Чи має UI правильний токен? `openclaw dashboard`
- 4. Якщо віддалено, чи активне з’єднання тунелю/Tailscale?
+ 4. Якщо віддалено, чи активний тунель/канал Tailscale?
Потім перегляньте логи в реальному часі:
@@ -1664,31 +1665,31 @@ Q&A про моделі — типові значення, вибір, псев
openclaw logs --follow
```
- Документація: [Dashboard](/uk/web/dashboard), [Remote access](/uk/gateway/remote), [Troubleshooting](/uk/gateway/troubleshooting).
+ Документація: [Dashboard](/uk/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення несправностей](/uk/gateway/troubleshooting).
-
- Почніть із логів і стану каналу:
+
+ Почніть з логів і статусу каналу:
```bash
openclaw channels status
openclaw channels logs --channel telegram
```
- Потім звірте помилку:
+ Потім зіставте помилку:
- - `BOT_COMMANDS_TOO_MUCH`: у меню Telegram забагато записів. OpenClaw вже обрізає список до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі записи меню все одно потрібно прибрати. Зменште кількість команд plugin/skill/custom або вимкніть `channels.telegram.commands.native`, якщо меню вам не потрібне.
- - `TypeError: fetch failed`, `Network request for 'setMyCommands' failed!` або подібні мережеві помилки: якщо ви на VPS або за proxy, переконайтеся, що вихідний HTTPS дозволено і DNS працює для `api.telegram.org`.
+ - `BOT_COMMANDS_TOO_MUCH`: у меню Telegram забагато записів. OpenClaw уже обрізає список до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі записи меню все одно потрібно прибрати. Зменште кількість plugin/skill/custom команд або вимкніть `channels.telegram.commands.native`, якщо меню вам не потрібне.
+ - `TypeError: fetch failed`, `Network request for 'setMyCommands' failed!` або подібні мережеві помилки: якщо ви на VPS або за проксі, переконайтеся, що вихідний HTTPS дозволений і DNS працює для `api.telegram.org`.
Якщо Gateway віддалений, переконайтеся, що ви дивитеся логи на хості Gateway.
- Документація: [Telegram](/uk/channels/telegram), [Channel troubleshooting](/uk/channels/troubleshooting).
+ Документація: [Telegram](/uk/channels/telegram), [Усунення несправностей каналів](/uk/channels/troubleshooting).
- Спочатку переконайтеся, що Gateway доступний і agent може працювати:
+ Спочатку переконайтеся, що Gateway доступний і агент може виконуватися:
```bash
openclaw status
@@ -1712,7 +1713,7 @@ Q&A про моделі — типові значення, вибір, псев
```
Це зупиняє/запускає **керований сервіс** (launchd на macOS, systemd на Linux).
- Використовуйте це, коли Gateway працює у фоновому режимі як daemon.
+ Використовуйте це, коли Gateway працює у фоновому режимі як демон.
Якщо ви запускаєте його на передньому плані, зупиніть через Ctrl-C, а потім:
@@ -1720,21 +1721,21 @@ Q&A про моделі — типові значення, вибір, псев
openclaw gateway run
```
- Документація: [Gateway service runbook](/uk/gateway).
+ Документація: [Посібник із сервісу Gateway](/uk/gateway).
-
+
- `openclaw gateway restart`: перезапускає **фоновий сервіс** (launchd/systemd).
- - `openclaw gateway`: запускає gateway **на передньому плані** для цієї сесії термінала.
+ - `openclaw gateway`: запускає gateway **на передньому плані** в цій сесії термінала.
Якщо ви встановили сервіс, використовуйте команди gateway. Використовуйте `openclaw gateway`, коли
вам потрібен разовий запуск на передньому плані.
-
- Запустіть Gateway з `--verbose`, щоб отримати детальніший вивід у консолі. Потім перегляньте файл логів на предмет автентифікації каналу, маршрутизації моделі та помилок RPC.
+
+ Запустіть Gateway з `--verbose`, щоб отримати більше подробиць у консолі. Потім перегляньте файл логів для перевірки автентифікації каналу, маршрутизації моделі та помилок RPC.
@@ -1742,7 +1743,7 @@ Q&A про моделі — типові значення, вибір, псев
- Вихідні вкладення від agent мають містити рядок `MEDIA:` (в окремому рядку). Див. [OpenClaw assistant setup](/uk/start/openclaw) і [Agent send](/uk/tools/agent-send).
+ Вихідні вкладення від агента мають містити рядок `MEDIA:` (в окремому рядку). Див. [Налаштування асистента OpenClaw](/uk/start/openclaw) і [Надсилання агентом](/uk/tools/agent-send).
Надсилання через CLI:
@@ -1752,12 +1753,12 @@ Q&A про моделі — типові значення, вибір, псев
Також перевірте:
- - Цільовий канал підтримує вихідні медіа й не заблокований allowlist.
- - Файл укладається в обмеження розміру провайдера (зображення змінюються до максимуму 2048px).
- - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів workspace, temp/media-store і файлами, перевіреними через sandbox.
- - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які agent уже може читати, але лише для медіа та безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, як і раніше блокуються.
+ - Цільовий канал підтримує вихідні медіа і не блокується allowlist-ами.
+ - Файл не перевищує обмежень розміру провайдера (зображення змінюють розмір до максимуму 2048px).
+ - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів workspace, temp/media-store і файлами, перевіреними sandbox.
+ - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які агент уже може читати, але лише для медіа плюс безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, усе одно блокуються.
- Див. [Images](/uk/nodes/images).
+ Див. [Зображення](/uk/nodes/images).
@@ -1766,100 +1767,100 @@ Q&A про моделі — типові значення, вибір, псев
- Ставтеся до вхідних DM як до недовіреного вводу. Типові значення налаштовані так, щоб зменшити ризик:
+ Сприймайте вхідні DM як недовірений ввід. Значення за замовчуванням розроблені для зменшення ризику:
- - Типова поведінка на каналах, що підтримують DM, — **сполучення**:
- - Невідомі відправники отримують код сполучення; бот не обробляє їхнє повідомлення.
- - Схвалення: `openclaw pairing approve --channel [--account ] `
- - Кількість очікувальних запитів обмежена **3 на канал**; перевірте `openclaw pairing list --channel [--account ]`, якщо код не надійшов.
- - Відкриття DM публічно потребує явної згоди (`dmPolicy: "open"` і allowlist `"*"`).
+ - Типова поведінка на каналах, що підтримують DM, — це **спарювання**:
+ - Невідомі відправники отримують код спарювання; бот не обробляє їхнє повідомлення.
+ - Підтвердити можна так: `openclaw pairing approve --channel [--account ] `
+ - Кількість очікуваних запитів обмежена **3 на канал**; перевірте `openclaw pairing list --channel [--account ]`, якщо код не надійшов.
+ - Публічне відкриття DM потребує явної згоди (`dmPolicy: "open"` і allowlist `"*"`).
Запустіть `openclaw doctor`, щоб виявити ризиковані політики DM.
-
- Ні. Prompt injection стосується **недовіреного вмісту**, а не лише того, хто може писати боту в DM.
- Якщо ваш assistant читає зовнішній вміст (web search/fetch, сторінки браузера, листи,
- документи, вкладення, вставлені логи), цей вміст може містити інструкції, які намагаються
- перехопити модель. Це може статися навіть якщо **ви єдиний відправник**.
+
+ Ні. Prompt injection стосується **недовіреного контенту**, а не лише того, хто може написати боту в DM.
+ Якщо ваш асистент читає зовнішній контент (web search/fetch, сторінки браузера, email,
+ документи, вкладення, вставлені логи), цей контент може містити інструкції, які намагаються
+ перехопити контроль над моделлю. Це може трапитися, навіть якщо **ви єдиний відправник**.
- Найбільший ризик виникає, коли ввімкнені інструменти: модель можна обдурити й змусити
- ексфільтрувати контекст або викликати інструменти від вашого імені. Зменшуйте зону ураження, якщо:
+ Найбільший ризик виникає, коли ввімкнено інструменти: модель можна обманом змусити
+ витягнути контекст або викликати інструменти від вашого імені. Зменшуйте радіус ураження так:
- - використовуєте agent «читача» лише для читання або без інструментів, щоб підсумовувати недовірений вміст
- - тримаєте `web_search` / `web_fetch` / `browser` вимкненими для agents з увімкненими інструментами
- - ставитеся до декодованого тексту файлів/документів також як до недовіреного: OpenResponses
- `input_file` і витягування тексту з медіавкладень обгортають витягнутий текст
- у явні маркери меж зовнішнього вмісту замість передачі сирого тексту файла
- - використовуєте sandbox і суворі allowlist інструментів
+ - використовуйте агента-«читача» лише для читання або без інструментів, щоб підсумовувати недовірений контент
+ - тримайте `web_search` / `web_fetch` / `browser` вимкненими для агентів з увімкненими інструментами
+ - також вважайте декодований текст файлів/документів недовіреним: OpenResponses
+ `input_file` і витягування з тексту медіавкладень обгортають витягнутий текст
+ явними маркерами меж зовнішнього контенту замість передавання сирого тексту файла
+ - використовуйте sandboxing і суворі allowlist-и інструментів
- Подробиці: [Security](/uk/gateway/security).
+ Подробиці: [Безпека](/uk/gateway/security).
-
- Так, для більшості сценаріїв. Ізоляція бота окремими обліковими записами й номерами телефону
- зменшує зону ураження, якщо щось піде не так. Також це спрощує ротацію
- облікових даних або відкликання доступу без впливу на ваші особисті акаунти.
+
+ Так, для більшості сценаріїв. Ізоляція бота окремими обліковими записами та номерами телефону
+ зменшує радіус ураження, якщо щось піде не так. Це також спрощує ротацію
+ облікових даних або відкликання доступу без впливу на ваші особисті облікові записи.
- Починайте з малого. Надавайте доступ лише до тих інструментів і акаунтів, які вам справді потрібні, а розширюйте
- пізніше, якщо буде потрібно.
+ Починайте з малого. Надавайте доступ лише до тих інструментів і облікових записів, які вам справді потрібні, і розширюйте
+ доступ пізніше за потреби.
- Документація: [Security](/uk/gateway/security), [Pairing](/uk/channels/pairing).
+ Документація: [Безпека](/uk/gateway/security), [Спарювання](/uk/channels/pairing).
-
- Ми **не** рекомендуємо повну автономію над вашими особистими повідомленнями. Найбезпечніший шаблон:
+
+ Ми **не** рекомендуємо повну автономність над вашими особистими повідомленнями. Найбезпечніший підхід такий:
- - Тримайте DM у режимі **сполучення** або під суворим allowlist.
- - Використовуйте **окремий номер або обліковий запис**, якщо хочете, щоб він писав від вашого імені.
- - Дозвольте йому створити чернетку, а потім **схваліть перед надсиланням**.
+ - Тримайте DM у **режимі спарювання** або в жорсткому allowlist.
+ - Використовуйте **окремий номер або обліковий запис**, якщо хочете, щоб він надсилав повідомлення від вашого імені.
+ - Нехай він створює чернетку, а ви **затверджуєте перед надсиланням**.
- Якщо хочете поекспериментувати, робіть це на окремому акаунті й тримайте його ізольованим. Див.
- [Security](/uk/gateway/security).
+ Якщо хочете поекспериментувати, робіть це в окремому обліковому записі й тримайте все ізольованим. Див.
+ [Безпека](/uk/gateway/security).
- Так, **якщо** agent працює лише в чаті, а вхідні дані є довіреними. Менші моделі
- більш вразливі до перехоплення інструкцій, тому уникайте їх для agents з інструментами
- або під час читання недовіреного вмісту. Якщо вам все ж потрібна менша модель, жорстко обмежте
- інструменти й запускайте всередині sandbox. Див. [Security](/uk/gateway/security).
+ Так, **якщо** агент працює лише в чаті, а ввід є довіреним. Менші моделі
+ більш вразливі до перехоплення інструкціями, тому уникайте їх для агентів з увімкненими інструментами
+ або під час читання недовіреного контенту. Якщо все ж потрібно використовувати меншу модель, жорстко обмежте
+ інструменти й запускайте все в sandbox. Див. [Безпека](/uk/gateway/security).
-
- Коди сполучення надсилаються **лише** тоді, коли невідомий відправник пише боту і
+
+ Коди спарювання надсилаються **лише** тоді, коли невідомий відправник пише боту і
ввімкнено `dmPolicy: "pairing"`. Сам по собі `/start` не генерує код.
- Перевірте очікувальні запити:
+ Перевірте очікувані запити:
```bash
openclaw pairing list telegram
```
- Якщо вам потрібен негайний доступ, додайте свій sender id в allowlist або встановіть `dmPolicy: "open"`
+ Якщо ви хочете негайний доступ, додайте свій sender id до allowlist або встановіть `dmPolicy: "open"`
для цього облікового запису.
-
- Ні. Типова політика WhatsApp DM — **сполучення**. Невідомі відправники отримують лише код сполучення, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише на чати, які отримує, або на явні надсилання, які ініціюєте ви.
+
+ Ні. Типова політика для WhatsApp DM — **спарювання**. Невідомі відправники отримують лише код спарювання, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише на чати, які сам отримує, або на явні надсилання, які запускаєте ви.
- Схвалення сполучення:
+ Підтвердити спарювання можна так:
```bash
openclaw pairing approve whatsapp
```
- Список очікувальних запитів:
+ Переглянути очікувані запити:
```bash
openclaw pairing list whatsapp
```
- Запит номера телефону у wizard: він використовується для налаштування вашого **allowlist/owner**, щоб ваші власні DM були дозволені. Він не використовується для автоматичного надсилання. Якщо ви працюєте зі своїм особистим номером WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`.
+ Запит номера телефону у wizard: він використовується для налаштування вашого **allowlist/owner**, щоб дозволити ваші власні DM. Він не використовується для автоматичного надсилання. Якщо ви запускаєте все на своєму особистому номері WhatsApp, використайте цей номер і ввімкніть `channels.whatsapp.selfChatMode`.
@@ -1867,8 +1868,8 @@ Q&A про моделі — типові значення, вибір, псев
## Команди чату, переривання завдань і «воно не зупиняється»
-
- Більшість внутрішніх або службових повідомлень з’являються лише тоді, коли для цієї сесії ввімкнено **verbose**, **trace** або **reasoning**.
+
+ Більшість внутрішніх або інструментальних повідомлень з’являються лише тоді, коли для цієї сесії ввімкнено **verbose**, **trace** або **reasoning**.
Виправлення в чаті, де ви це бачите:
@@ -1878,16 +1879,16 @@ Q&A про моделі — типові значення, вибір, псев
/reasoning off
```
- Якщо все ще надто шумно, перевірте налаштування сесії в Control UI і встановіть verbose
- у значення **inherit**. Також переконайтеся, що ви не використовуєте профіль бота, де `verboseDefault` у конфігурації встановлено
- в `on`.
+ Якщо все одно занадто шумно, перевірте налаштування сесії в Control UI і встановіть verbose
+ у значення **inherit**. Також переконайтеся, що ви не використовуєте профіль бота з `verboseDefault`, встановленим
+ у `on` в конфігурації.
- Документація: [Thinking and verbose](/uk/tools/thinking), [Security](/uk/gateway/security#reasoning-verbose-output-in-groups).
+ Документація: [Мислення та verbose](/uk/tools/thinking), [Безпека](/uk/gateway/security#reasoning-verbose-output-in-groups).
-
- Надішліть будь-що з цього **як окреме повідомлення** (без слеша):
+
+ Надішліть будь-яке з наведеного **як окреме повідомлення** (без слеша):
```
stop
@@ -1911,9 +1912,9 @@ Q&A про моделі — типові значення, вибір, псев
interrupt
```
- Це тригери переривання (а не slash commands).
+ Це тригери переривання (не slash commands).
- Для фонових процесів (з інструмента exec) ви можете попросити agent виконати:
+ Для фонових процесів (з інструмента exec) ви можете попросити агента виконати:
```
process action:kill sessionId:XXX
@@ -1921,15 +1922,15 @@ Q&A про моделі — типові значення, вибір, псев
Огляд slash commands: див. [Slash commands](/uk/tools/slash-commands).
- Більшість команд потрібно надсилати як **окреме** повідомлення, що починається з `/`, але деякі скорочення (наприклад, `/status`) також працюють inline для відправників з allowlist.
+ Більшість команд треба надсилати як **окреме** повідомлення, що починається з `/`, але деякі скорочення (наприклад, `/status`) також працюють inline для відправників з allowlist.
- OpenClaw блокує повідомлення **між різними провайдерами** за замовчуванням. Якщо виклик інструмента прив’язаний
+ OpenClaw за замовчуванням блокує повідомлення **між різними провайдерами**. Якщо виклик інструмента прив’язаний
до Telegram, він не надсилатиме в Discord, доки ви явно цього не дозволите.
- Увімкніть міжпровайдерний обмін повідомленнями для agent:
+ Увімкніть міжпровайдерний обмін повідомленнями для агента:
```json5
{
@@ -1948,25 +1949,25 @@ Q&A про моделі — типові значення, вибір, псев
-
- Режим черги визначає, як нові повідомлення взаємодіють із уже запущеним виконанням. Використовуйте `/queue`, щоб змінити режими:
+
+ Режим черги визначає, як нові повідомлення взаємодіють із поточним запуском. Використовуйте `/queue`, щоб змінити режими:
- - `steer` - нові повідомлення перенаправляють поточне завдання
- - `followup` - запускати повідомлення по одному
- - `collect` - накопичувати повідомлення й відповідати один раз (типово)
- - `steer-backlog` - перенаправити зараз, а потім обробити чергу
- - `interrupt` - перервати поточне виконання й почати заново
+ - `steer` — нові повідомлення перенаправляють поточне завдання
+ - `followup` — повідомлення виконуються по одному
+ - `collect` — повідомлення збираються в пакет, і відповідь надсилається один раз (типово)
+ - `steer-backlog` — спочатку перенаправити, потім обробити накопичені повідомлення
+ - `interrupt` — перервати поточний запуск і почати заново
- Ви можете додавати параметри на кшталт `debounce:2s cap:25 drop:summarize` для режимів followup.
+ Для режимів followup можна додати параметри на кшталт `debounce:2s cap:25 drop:summarize`.
-## Різне
+## Інше
-
- В OpenClaw облікові дані й вибір моделі розділені. Установлення `ANTHROPIC_API_KEY` (або збереження ключа API Anthropic у профілях автентифікації) вмикає автентифікацію, але фактична типова модель — це та, яку ви налаштували в `agents.defaults.model.primary` (наприклад, `anthropic/claude-sonnet-4-6` або `anthropic/claude-opus-4-6`). Якщо ви бачите `No credentials found for profile "anthropic:default"`, це означає, що Gateway не зміг знайти облікові дані Anthropic в очікуваному `auth-profiles.json` для agent, який зараз виконується.
+
+ В OpenClaw облікові дані та вибір моделі розділені. Установлення `ANTHROPIC_API_KEY` (або збереження API key Anthropic у профілях автентифікації) вмикає автентифікацію, але фактична типова модель — це те, що ви налаштували в `agents.defaults.model.primary` (наприклад, `anthropic/claude-sonnet-4-6` або `anthropic/claude-opus-4-6`). Якщо ви бачите `No credentials found for profile "anthropic:default"`, це означає, що Gateway не зміг знайти облікові дані Anthropic в очікуваному `auth-profiles.json` для агента, який зараз виконується.
@@ -1976,6 +1977,6 @@ Q&A про моделі — типові значення, вибір, псев
## Пов’язане
-- [FAQ — швидкий старт і початкове налаштування](/uk/help/faq-first-run)
-- [FAQ — моделі та профілі автентифікації](/uk/help/faq-models)
-- [Усунення проблем](/uk/help/troubleshooting)
+- [FAQ для першого запуску](/uk/help/faq-first-run) — встановлення, онбординг, автентифікація, підписки, ранні збої
+- [FAQ про моделі](/uk/help/faq-models) — вибір моделі, резервне перемикання, профілі автентифікації
+- [Усунення несправностей](/uk/help/troubleshooting) — сортування за симптомами
diff --git a/docs/uk/help/index.md b/docs/uk/help/index.md
index 399ca169e..ad01d33ee 100644
--- a/docs/uk/help/index.md
+++ b/docs/uk/help/index.md
@@ -1,33 +1,45 @@
---
read_when:
- - Ви новачок і хочете посібник у стилі «що мені натиснути/запустити»
- - Щось зламалося, і вам потрібен найшвидший шлях до виправлення
-summary: 'Центр довідки: типові виправлення, базова перевірка встановлення та де шукати, коли щось ламається'
-title: Довідка
+ - Ви новачок і хочете інструкцію «що натискати/запускати»
+ - Щось зламалося, і ви хочете найшвидший шлях до виправлення
+summary: 'Центр допомоги: поширені виправлення, перевірка коректності встановлення і де шукати, коли щось ламається'
+title: Допомога
x-i18n:
- generated_at: "2026-04-23T20:55:51Z"
+ generated_at: "2026-04-24T07:11:33Z"
model: gpt-5.4
provider: openai
- source_hash: 22d4649ba47cfbd8ca3e415a1ae99884867ca80c44cbe39f8a30b29d64e95a05
+ source_hash: f4ea596c304ceee2422fd0ba67f61ad6e38c423a476a41cabec06f53f7a55b38
source_path: help/index.md
workflow: 15
---
-Якщо вам потрібен швидкий сценарій «розблокуватися», почніть звідси:
+Швидкий шлях «розблокуватися» для найпоширеніших проблем:
-- **Усунення несправностей:** [Почніть тут](/uk/help/troubleshooting)
-- **Базова перевірка встановлення (Node/npm/PATH):** [Встановлення](/uk/install/node#troubleshooting)
-- **Проблеми з Gateway:** [Усунення несправностей Gateway](/uk/gateway/troubleshooting)
-- **Логи:** [Логування](/uk/logging) і [Логування Gateway](/uk/gateway/logging)
-- **Виправлення:** [Doctor](/uk/gateway/doctor)
+- [Усунення несправностей](/uk/help/troubleshooting) — дерево рішень, побудоване за симптомами
+- [Налагодження](/uk/help/debugging) — режим спостереження, сирі потоки, профіль розробника
+- [Перевірка коректності встановлення](/uk/install/node#troubleshooting) — перевірки Node / npm / PATH
+- [Усунення несправностей Gateway](/uk/gateway/troubleshooting) — проблеми, специфічні для Gateway
+- [Doctor](/uk/gateway/doctor) — автоматичне виправлення + діагностичний пакет
-Якщо вас цікавлять концептуальні питання (а не «щось зламалося»):
+## Поширені запитання
-- [FAQ (концепції)](/uk/help/faq)
+- [Поширені запитання](/uk/help/faq) — повсякденні концепції та операційні запитання
+- [Поширені запитання для першого запуску](/uk/help/faq-first-run) — встановлення, початкове налаштування, автентифікація, підписки, ранні збої
+- [Поширені запитання про моделі](/uk/help/faq-models) — вибір моделей, перемикання при збоях, профілі автентифікації
-## Середовище та налагодження
+## Діагностика
-- **Змінні середовища:** [Де OpenClaw завантажує змінні середовища та їхній пріоритет](/uk/help/environment)
-- **Налагодження:** [Режим watch, сирі потоки та dev profile](/uk/help/debugging)
-- **Тестування:** [Набори тестів, live-тести та Docker runners](/uk/help/testing)
-- **Скрипти:** [Допоміжні скрипти репозиторію](/uk/help/scripts)
+- [Змінні середовища](/uk/help/environment) — звідки OpenClaw завантажує змінні середовища і який пріоритет застосовується
+- [Прапорці діагностики](/uk/diagnostics/flags) — діагностика під час виконання та докладні режими
+- [Збій Node + tsx](/uk/debug/node-issue) — конкретні сценарії збоїв середовища виконання Node / tsx
+
+## Тестування
+
+- [Тестування](/uk/help/testing) — набори тестів і Docker runners
+- [Live tests](/uk/help/testing-live) — перевірки provider і CLI, що звертаються до мережі
+
+## Спільнота та мета
+
+- [історія OpenClaw](/uk/start/lore) — історія
+- [Центри документації](/uk/start/hubs) — як організована ця документація
+- [Каталог документації](/uk/start/docs-directory) — повна карта файлів
diff --git a/docs/uk/help/troubleshooting.md b/docs/uk/help/troubleshooting.md
index f33497f76..fa54b5b0b 100644
--- a/docs/uk/help/troubleshooting.md
+++ b/docs/uk/help/troubleshooting.md
@@ -1,25 +1,23 @@
---
read_when:
- - OpenClaw не працює, і вам потрібен найшвидший шлях до виправлення
- - Ви хочете пройти етап тріажу перед зануренням у детальні runbook-и
-summary: Центр усунення несправностей OpenClaw з підходом «від симптому»
-title: Загальне усунення несправностей
+ - OpenClaw не працює, і вам потрібен найшвидший шлях до виправлення проблеми
+ - Ви хочете пройти шлях первинної діагностики, перш ніж занурюватися в детальні інструкції усунення неполадок
+summary: Центр усунення неполадок OpenClaw за симптомами
+title: Загальне усунення неполадок
x-i18n:
- generated_at: "2026-04-23T20:56:05Z"
+ generated_at: "2026-04-24T07:11:40Z"
model: gpt-5.4
provider: openai
- source_hash: ce06ddce9de9e5824b4c5e8c182df07b29ce3ff113eb8e29c62aef9a4682e8e9
+ source_hash: c832c3f7609c56a5461515ed0f693d2255310bf2d3958f69f57c482bcbef97f0
source_path: help/troubleshooting.md
workflow: 15
---
-# Усунення несправностей
-
-Якщо у вас є лише 2 хвилини, використовуйте цю сторінку як вхідну точку для тріажу.
+Якщо у вас є лише 2 хвилини, використовуйте цю сторінку як вхідну точку для первинної діагностики.
## Перші 60 секунд
-Виконайте цей точний ланцюжок команд по порядку:
+Виконайте цю точну послідовність команд по порядку:
```bash
openclaw status
@@ -31,15 +29,15 @@ openclaw channels status --probe
openclaw logs --follow
```
-Хороший результат в одному рядку:
+Ознаки коректного виводу в одному рядку:
-- `openclaw status` → показує налаштовані канали та не має очевидних помилок auth.
-- `openclaw status --all` → повний звіт присутній і його можна поширити.
-- `openclaw gateway probe` → очікувана ціль gateway доступна (`Reachable: yes`). `Capability: ...` показує, який рівень auth probe змогла підтвердити, а `Read probe: limited - missing scope: operator.read` означає деградовану діагностику, а не збій підключення.
-- `openclaw gateway status` → `Runtime: running`, `Connectivity probe: ok` і правдоподібний рядок `Capability: ...`. Використовуйте `--require-rpc`, якщо вам також потрібне підтвердження RPC з областю доступу читання.
-- `openclaw doctor` → немає блокуючих помилок config/service.
-- `openclaw channels status --probe` → доступний gateway повертає live-стан транспорту для кожного облікового запису плюс результати probe/audit, як-от `works` або `audit ok`; якщо gateway недоступний, команда повертається до зведень лише з конфігурації.
-- `openclaw logs --follow` → стабільна активність, без повторюваних фатальних помилок.
+- `openclaw status` → показує налаштовані канали й відсутність явних помилок автентифікації.
+- `openclaw status --all` → повний звіт присутній і ним можна поділитися.
+- `openclaw gateway probe` → очікувана ціль Gateway досяжна (`Reachable: yes`). `Capability: ...` показує, який рівень автентифікації вдалося підтвердити під час перевірки, а `Read probe: limited - missing scope: operator.read` означає погіршену діагностику, а не збій з’єднання.
+- `openclaw gateway status` → `Runtime: running`, `Connectivity probe: ok` і правдоподібний рядок `Capability: ...`. Використайте `--require-rpc`, якщо вам також потрібне підтвердження RPC з областю читання.
+- `openclaw doctor` → немає блокувальних помилок конфігурації чи сервісу.
+- `openclaw channels status --probe` → досяжний Gateway повертає стан транспорту для кожного облікового запису в реальному часі, а також результати перевірки/аудиту, як-от `works` або `audit ok`; якщо Gateway недосяжний, команда повертається до зведень лише за конфігурацією.
+- `openclaw logs --follow` → стабільна активність, без повторюваних критичних помилок.
## Anthropic long context 429
@@ -47,31 +45,31 @@ openclaw logs --follow
`HTTP 429: rate_limit_error: Extra usage is required for long context requests`,
перейдіть до [/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context](/uk/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context).
-## Локальний backend, сумісний з OpenAI, працює напряму, але не працює в OpenClaw
+## Локальний OpenAI-compatible backend працює напряму, але не працює в OpenClaw
-Якщо ваш локальний або self-hosted backend `/v1` відповідає на малі прямі
-probe `/v1/chat/completions`, але не працює з `openclaw infer model run` або на звичайних
-ходах агента:
+Якщо ваш локальний або self-hosted бекенд `/v1` відповідає на невеликі прямі
+перевірки `/v1/chat/completions`, але завершується помилкою під час `openclaw infer model run` або звичайних
+ходів агента:
1. Якщо помилка згадує, що `messages[].content` очікує рядок, установіть
`models.providers..models[].compat.requiresStringContent: true`.
-2. Якщо backend усе ще не працює лише на ходах агента OpenClaw, установіть
+2. Якщо бекенд усе ще збоїть лише під час ходів агента OpenClaw, установіть
`models.providers..models[].compat.supportsTools: false` і повторіть спробу.
-3. Якщо малі прямі виклики все ще працюють, а більші prompt OpenClaw аварійно
- завершують backend, розглядайте залишкову проблему як обмеження моделі/сервера на стороні upstream і
- переходьте до детального runbook:
+3. Якщо крихітні прямі виклики все ще працюють, але більші запити OpenClaw аварійно зупиняють
+ бекенд, розглядайте решту проблеми як обмеження моделі/сервера на боці апстриму і
+ продовжуйте в детальній інструкції:
[/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail](/uk/gateway/troubleshooting#local-openai-compatible-backend-passes-direct-probes-but-agent-runs-fail)
-## Встановлення Plugin завершується помилкою через відсутні openclaw extensions
+## Установлення Plugin завершується помилкою через відсутність openclaw extensions
-Якщо встановлення завершується помилкою `package.json missing openclaw.extensions`, пакет Plugin
-використовує стару форму, яку OpenClaw більше не приймає.
+Якщо встановлення завершується помилкою `package.json missing openclaw.extensions`, пакет plugin
+використовує стару структуру, яку OpenClaw більше не приймає.
-Виправлення в пакеті Plugin:
+Виправлення в пакеті plugin:
-1. Додайте `openclaw.extensions` у `package.json`.
+1. Додайте `openclaw.extensions` до `package.json`.
2. Спрямуйте записи на зібрані runtime-файли (зазвичай `./dist/index.js`).
-3. Повторно опублікуйте Plugin і знову виконайте `openclaw plugins install `.
+3. Перевидайте plugin і знову виконайте `openclaw plugins install `.
Приклад:
@@ -85,7 +83,7 @@ probe `/v1/chat/completions`, але не працює з `openclaw infer model
}
```
-Довідка: [Plugin architecture](/uk/plugins/architecture)
+Довідка: [Архітектура Plugin](/uk/plugins/architecture)
## Дерево рішень
@@ -94,19 +92,19 @@ flowchart TD
A[OpenClaw не працює] --> B{Що ламається першим}
B --> C[Немає відповідей]
B --> D[Dashboard або Control UI не підключається]
- B --> E[Gateway не запускається або service не працює]
+ B --> E[Gateway не запускається або сервіс не працює]
B --> F[Канал підключається, але повідомлення не проходять]
- B --> G[Cron або Heartbeat не спрацювали або не доставили]
- B --> H[Node спарено, але camera canvas screen exec не працює]
- B --> I[Не працює інструмент браузера]
+ B --> G[Cron або Heartbeat не спрацював чи не доставив повідомлення]
+ B --> H[Node спарений, але не працюють інструменти camera canvas screen exec]
+ B --> I[Не працює інструмент browser]
- C --> C1[/Розділ Без відповідей/]
- D --> D1[/Розділ Control UI/]
- E --> E1[/Розділ Gateway/]
- F --> F1[/Розділ Потік каналу/]
- G --> G1[/Розділ Автоматизація/]
- H --> H1[/Розділ Інструменти Node/]
- I --> I1[/Розділ Браузер/]
+ C --> C1[/Розділ «Немає відповідей»/]
+ D --> D1[/Розділ «Control UI»/]
+ E --> E1[/Розділ «Gateway»/]
+ F --> F1[/Розділ «Потік каналу»/]
+ G --> G1[/Розділ «Автоматизація»/]
+ H --> H1[/Розділ «Інструменти Node»/]
+ I --> I1[/Розділ «Browser»/]
```
@@ -119,19 +117,19 @@ flowchart TD
openclaw logs --follow
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- `Runtime: running`
- `Connectivity probe: ok`
- `Capability: read-only`, `write-capable` або `admin-capable`
- - Ваш канал показує підключений транспорт і, де це підтримується, `works` або `audit ok` у `channels status --probe`
- - Відправник позначений як схвалений (або політика DM — open/allowlist)
+ - Ваш канал показує підключений транспорт і, де підтримується, `works` або `audit ok` у `channels status --probe`
+ - Відправник позначений як схвалений (або політика DM відкрита/є allowlist)
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- - `drop guild message (mention required` → перевірка згадки заблокувала повідомлення в Discord.
- - `pairing request` → відправника не схвалено, і він очікує погодження спарювання DM.
- - `blocked` / `allowlist` у журналах каналу → відправника, кімнату або групу відфільтровано.
+ - `drop guild message (mention required` → фільтрація за згадками заблокувала повідомлення в Discord.
+ - `pairing request` → відправник не схвалений і очікує схвалення спарювання в DM.
+ - `blocked` / `allowlist` у журналах каналу → відправник, кімната або група відфільтровані.
Детальні сторінки:
@@ -150,29 +148,25 @@ flowchart TD
openclaw channels status --probe
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- - `Dashboard: http://...` показано в `openclaw gateway status`
+ - `Dashboard: http://...` показується в `openclaw gateway status`
- `Connectivity probe: ok`
- `Capability: read-only`, `write-capable` або `admin-capable`
- - У журналах немає циклу auth
+ - У журналах немає циклу автентифікації
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- `device identity required` → HTTP/незахищений контекст не може завершити автентифікацію пристрою.
- - `origin not allowed` → browser `Origin` не дозволений для
- цілі gateway Control UI.
- - `AUTH_TOKEN_MISMATCH` з підказками повторної спроби (`canRetryWithDeviceToken=true`) → одна повторна спроба з кешованим токеном пристрою може відбутися автоматично.
- - Ця повторна спроба з кешованим токеном повторно використовує набір scope, кешований разом із paired
- device token. Виклики з явним `deviceToken` / явними `scopes` зберігають
- власний запитаний набір scope.
- - На асинхронному шляху Tailscale Serve Control UI невдалі спроби для того самого
- `{scope, ip}` серіалізуються до того, як обмежувач зафіксує помилку, тож
+ - `origin not allowed` → `Origin` браузера не дозволений для цілі Gateway у Control UI.
+ - `AUTH_TOKEN_MISMATCH` із підказками повторної спроби (`canRetryWithDeviceToken=true`) → може автоматично відбутися одна повторна спроба з довіреним токеном пристрою.
+ - Ця повторна спроба з кешованим токеном повторно використовує кешований набір областей доступу, збережений разом зі спареним токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` натомість зберігають запитаний ними набір областей.
+ - В асинхронному шляху Control UI через Tailscale Serve невдалі спроби для того самого
+ `{scope, ip}` серіалізуються до того, як лімітер зафіксує невдачу, тому
друга одночасна невдала повторна спроба вже може показати `retry later`.
- - `too many failed authentication attempts (retry later)` з localhost-origin браузера → повторні збої з того самого `Origin` тимчасово
- блокуються; інший localhost-origin використовує окремий bucket.
- - повторюване `unauthorized` після цієї повторної спроби → неправильний токен/пароль, невідповідність режиму auth або застарілий paired device token.
- - `gateway connect failed:` → UI націлений на неправильний URL/port або недоступний gateway.
+ - `too many failed authentication attempts (retry later)` з браузерного localhost origin → повторні невдалі спроби з того самого `Origin` тимчасово блокуються; інший localhost origin використовує окремий bucket.
+ - повторюване `unauthorized` після цієї повторної спроби → неправильний токен/пароль, невідповідність режиму автентифікації або застарілий токен спареного пристрою.
+ - `gateway connect failed:` → UI націлений на неправильну URL-адресу/порт або на недосяжний Gateway.
Детальні сторінки:
@@ -182,7 +176,7 @@ flowchart TD
-
+
```bash
openclaw status
openclaw gateway status
@@ -191,18 +185,18 @@ flowchart TD
openclaw channels status --probe
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- `Service: ... (loaded)`
- `Runtime: running`
- `Connectivity probe: ok`
- `Capability: read-only`, `write-capable` або `admin-capable`
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- - `Gateway start blocked: set gateway.mode=local` або `existing config is missing gateway.mode` → режим gateway — remote, або у файлі конфігурації немає позначки локального режиму, і його слід відновити.
- - `refusing to bind gateway ... without auth` → bind не в loopback без валідного шляху auth gateway (токен/пароль або trusted-proxy, якщо це налаштовано).
- - `another gateway instance is already listening` або `EADDRINUSE` → порт уже зайнято.
+ - `Gateway start blocked: set gateway.mode=local` або `existing config is missing gateway.mode` → режим gateway є remote, або у файлі конфігурації відсутня позначка local-mode, і його слід виправити.
+ - `refusing to bind gateway ... without auth` → прив’язка не до loopback без чинного шляху автентифікації gateway (токен/пароль або trusted-proxy, якщо налаштовано).
+ - `another gateway instance is already listening` або `EADDRINUSE` → порт уже зайнятий.
Детальні сторінки:
@@ -221,16 +215,16 @@ flowchart TD
openclaw channels status --probe
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- - Транспорт каналу підключено.
- - Перевірки pairing/allowlist проходять.
- - Згадки визначаються там, де вони потрібні.
+ - Транспорт каналу підключений.
+ - Перевірки pairing/allowlist проходять успішно.
+ - Згадки виявляються там, де це потрібно.
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- - `mention required` → перевірка згадки в групі заблокувала обробку.
- - `pairing` / `pending` → відправника DM ще не схвалено.
+ - `mention required` → фільтрація групових згадок заблокувала обробку.
+ - `pairing` / `pending` → відправник DM ще не схвалений.
- `not_in_channel`, `missing_scope`, `Forbidden`, `401/403` → проблема з токеном дозволів каналу.
Детальні сторінки:
@@ -240,7 +234,7 @@ flowchart TD
-
+
```bash
openclaw status
openclaw gateway status
@@ -250,21 +244,21 @@ flowchart TD
openclaw logs --follow
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- - `cron.status` показує, що планувальник увімкнено й є наступне пробудження.
- - `cron runs` показує недавні записи `ok`.
+ - `cron.status` показує, що функцію ввімкнено і є час наступного пробудження.
+ - `cron runs` показує нещодавні записи `ok`.
- Heartbeat увімкнено й він не поза активними годинами.
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- `cron: scheduler disabled; jobs will not run automatically` → cron вимкнено.
- `heartbeat skipped` з `reason=quiet-hours` → поза налаштованими активними годинами.
- - `heartbeat skipped` з `reason=empty-heartbeat-file` → `HEARTBEAT.md` існує, але містить лише порожній вміст/каркас із заголовків.
- - `heartbeat skipped` з `reason=no-tasks-due` → у `HEARTBEAT.md` активний режим завдань, але для жодного інтервалу завдань ще не настав час.
- - `heartbeat skipped` з `reason=alerts-disabled` → усю видимість heartbeat вимкнено (`showOk`, `showAlerts` і `useIndicator` одночасно вимкнені).
- - `requests-in-flight` → основна доріжка зайнята; пробудження heartbeat відкладено.
- - `unknown accountId` → цільовий account для доставки heartbeat не існує.
+ - `heartbeat skipped` з `reason=empty-heartbeat-file` → `HEARTBEAT.md` існує, але містить лише порожній каркас або лише заголовки.
+ - `heartbeat skipped` з `reason=no-tasks-due` → у `HEARTBEAT.md` активний режим завдань, але для жодного з інтервалів завдань ще не настав час.
+ - `heartbeat skipped` з `reason=alerts-disabled` → уся видимість Heartbeat вимкнена (`showOk`, `showAlerts` і `useIndicator` усі вимкнені).
+ - `requests-in-flight` → основна смуга зайнята; пробудження heartbeat було відкладене.
+ - `unknown accountId` → цільовий обліковий запис доставки heartbeat не існує.
Детальні сторінки:
@@ -274,7 +268,7 @@ flowchart TD
-
+
```bash
openclaw status
openclaw gateway status
@@ -283,18 +277,18 @@ flowchart TD
openclaw logs --follow
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- - Node позначено як підключений і спарений для ролі `node`.
- - Для команди, яку ви викликаєте, існує відповідна можливість.
- - Для інструмента надано потрібний стан дозволу.
+ - Node указано як підключений і спарений для ролі `node`.
+ - Для команди, яку ви викликаєте, існує відповідна capability.
+ - Для інструмента надано стан дозволу.
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- - `NODE_BACKGROUND_UNAVAILABLE` → переведіть застосунок Node на передній план.
- - `*_PERMISSION_REQUIRED` → дозвіл ОС було відхилено або не надано.
- - `SYSTEM_RUN_DENIED: approval required` → погодження exec очікує.
- - `SYSTEM_RUN_DENIED: allowlist miss` → команда відсутня в allowlist exec.
+ - `NODE_BACKGROUND_UNAVAILABLE` → переведіть застосунок node на передній план.
+ - `*_PERMISSION_REQUIRED` → дозвіл ОС було відхилено або він відсутній.
+ - `SYSTEM_RUN_DENIED: approval required` → схвалення exec очікує надання.
+ - `SYSTEM_RUN_DENIED: allowlist miss` → команда відсутня в allowlist для exec.
Детальні сторінки:
@@ -304,7 +298,7 @@ flowchart TD
-
+
```bash
openclaw config get tools.exec.host
openclaw config get tools.exec.security
@@ -314,14 +308,14 @@ flowchart TD
Що змінилося:
- - Якщо `tools.exec.host` не задано, типове значення — `auto`.
- - `host=auto` визначається як `sandbox`, коли активний runtime sandbox, і як `gateway` в іншому випадку.
- - `host=auto` відповідає лише за маршрутизацію; поведінка без запиту в стилі "YOLO" походить від `security=full` плюс `ask=off` на gateway/node.
- - Для `gateway` і `node` незадане `tools.exec.security` типово дорівнює `full`.
- - Незадане `tools.exec.ask` типово дорівнює `off`.
- - Результат: якщо ви бачите запити на погодження, значить якась локальна для хоста або для сесії policy зробила exec суворішим порівняно з поточними типовими значеннями.
+ - Якщо `tools.exec.host` не задано, значенням за замовчуванням є `auto`.
+ - `host=auto` визначається як `sandbox`, коли активне sandbox runtime, і як `gateway` — у протилежному випадку.
+ - `host=auto` відповідає лише за маршрутизацію; поведінка "YOLO" без запиту підтвердження походить від `security=full` разом із `ask=off` на gateway/node.
+ - Для `gateway` і `node`, якщо `tools.exec.security` не задано, значенням за замовчуванням є `full`.
+ - Якщо `tools.exec.ask` не задано, значенням за замовчуванням є `off`.
+ - Результат: якщо ви бачите запити на схвалення, значить якась локальна для хоста або поточної сесії політика зробила exec суворішим порівняно з поточними значеннями за замовчуванням.
- Відновіть поточну типову поведінку без погодження:
+ Відновіть поточну поведінку за замовчуванням без схвалення:
```bash
openclaw config set tools.exec.host gateway
@@ -332,14 +326,14 @@ flowchart TD
Безпечніші альтернативи:
- - Установіть лише `tools.exec.host=gateway`, якщо вам просто потрібна стабільна маршрутизація через хост.
- - Використовуйте `security=allowlist` з `ask=on-miss`, якщо хочете host exec, але все ж хочете перевірку при пропусках allowlist.
+ - Установіть лише `tools.exec.host=gateway`, якщо вам потрібна просто стабільна маршрутизація хоста.
+ - Використайте `security=allowlist` разом із `ask=on-miss`, якщо ви хочете exec на хості, але при цьому хочете перевірку в разі промахів по allowlist.
- Увімкніть режим sandbox, якщо хочете, щоб `host=auto` знову визначався як `sandbox`.
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- `Approval required.` → команда очікує на `/approve ...`.
- - `SYSTEM_RUN_DENIED: approval required` → очікує погодження exec на хості node.
+ - `SYSTEM_RUN_DENIED: approval required` → очікує схвалення exec на хості node.
- `exec host=sandbox requires a sandbox runtime for this session` → неявно/явно вибрано sandbox, але режим sandbox вимкнено.
Детальні сторінки:
@@ -350,7 +344,7 @@ flowchart TD
-
+
```bash
openclaw status
openclaw gateway status
@@ -359,22 +353,22 @@ flowchart TD
openclaw doctor
```
- Хороший результат виглядає так:
+ Ознаки коректного виводу:
- - У статусі браузера показано `running: true` і вибраний browser/profile.
- - `openclaw` запускається, або `user` бачить локальні вкладки Chrome.
+ - Статус browser показує `running: true` і вибраний browser/profile.
+ - `openclaw` запускається, або `user` може бачити локальні вкладки Chrome.
- Поширені сигнатури в журналах:
+ Типові сигнатури в журналах:
- - `unknown command "browser"` або `unknown command 'browser'` → задано `plugins.allow`, і він не включає `browser`.
- - `Failed to start Chrome CDP on port` → не вдалося запустити локальний браузер.
- - `browser.executablePath not found` → налаштовано неправильний шлях до бінарного файла.
- - `browser.cdpUrl must be http(s) or ws(s)` → налаштований CDP URL використовує непідтримувану схему.
- - `browser.cdpUrl has invalid port` → налаштований CDP URL має некоректний або вихідний за межі діапазону port.
- - `No Chrome tabs found for profile="user"` → для profile підключення Chrome MCP немає відкритих локальних вкладок Chrome.
- - `Remote CDP for profile "" is not reachable` → налаштований endpoint віддаленого CDP недоступний із цього хоста.
- - `Browser attachOnly is enabled ... not reachable` або `Browser attachOnly is enabled and CDP websocket ... is not reachable` → profile attach-only не має живої цілі CDP.
- - застарілі перевизначення viewport / dark-mode / locale / offline для attach-only або profile віддаленого CDP → виконайте `openclaw browser stop --browser-profile `, щоб закрити активну керувальну сесію й звільнити стан емуляції без перезапуску gateway.
+ - `unknown command "browser"` або `unknown command 'browser'` → установлено `plugins.allow`, і воно не містить `browser`.
+ - `Failed to start Chrome CDP on port` → не вдалося запустити локальний browser.
+ - `browser.executablePath not found` → налаштований шлях до бінарного файла неправильний.
+ - `browser.cdpUrl must be http(s) or ws(s)` → налаштований URL CDP використовує непідтримувану схему.
+ - `browser.cdpUrl has invalid port` → налаштований URL CDP має некоректний або неприпустимий порт.
+ - `No Chrome tabs found for profile="user"` → профіль підключення Chrome MCP не має відкритих локальних вкладок Chrome.
+ - `Remote CDP for profile "" is not reachable` → налаштована віддалена кінцева точка CDP недосяжна з цього хоста.
+ - `Browser attachOnly is enabled ... not reachable` або `Browser attachOnly is enabled and CDP websocket ... is not reachable` → профіль attach-only не має живої цілі CDP.
+ - застарілі перевизначення viewport / dark-mode / locale / offline на профілях attach-only або remote CDP → виконайте `openclaw browser stop --browser-profile `, щоб закрити активну керівну сесію та скинути стан емуляції без перезапуску gateway.
Детальні сторінки:
@@ -389,8 +383,8 @@ flowchart TD
## Пов’язане
-- [FAQ](/uk/help/faq) — поширені запитання
-- [Gateway Troubleshooting](/uk/gateway/troubleshooting) — проблеми, специфічні для gateway
-- [Doctor](/uk/gateway/doctor) — автоматизовані перевірки стану й відновлення
-- [Channel Troubleshooting](/uk/channels/troubleshooting) — проблеми з підключенням каналів
-- [Automation Troubleshooting](/uk/automation/cron-jobs#troubleshooting) — проблеми з cron і Heartbeat
+- [FAQ](/uk/help/faq) — часті запитання
+- [Усунення неполадок Gateway](/uk/gateway/troubleshooting) — проблеми, пов’язані з gateway
+- [Doctor](/uk/gateway/doctor) — автоматизовані перевірки стану та виправлення
+- [Усунення неполадок каналів](/uk/channels/troubleshooting) — проблеми з підключенням каналів
+- [Усунення неполадок автоматизації](/uk/automation/cron-jobs#troubleshooting) — проблеми з cron і Heartbeat
diff --git a/docs/uk/plugins/sdk-subpaths.md b/docs/uk/plugins/sdk-subpaths.md
index 1f85547ca..84bdf6c97 100644
--- a/docs/uk/plugins/sdk-subpaths.md
+++ b/docs/uk/plugins/sdk-subpaths.md
@@ -1,27 +1,27 @@
---
read_when:
- - Вибір правильного підшляху plugin-sdk для імпорту Plugin
+ - Вибір правильного підшляху plugin-sdk для імпорту плагіна
- Аудит підшляхів bundled-plugin і допоміжних поверхонь
summary: 'Каталог підшляхів Plugin SDK: які імпорти де розміщені, згруповано за областями'
title: Підшляхи Plugin SDK
x-i18n:
- generated_at: "2026-04-24T04:35:26Z"
+ generated_at: "2026-04-24T07:11:35Z"
model: gpt-5.4
provider: openai
- source_hash: 753c7202a8a59ae9e420d436c7f3770ea455d810f2af52b716d438b84b8b986e
+ source_hash: ff4b934501a3163e36b402db72dd75a260fe9f849b3823a7a05e4867a1a5e655
source_path: plugins/sdk-subpaths.md
workflow: 15
---
- Plugin SDK доступний як набір вузьких підшляхів у `openclaw/plugin-sdk/`.
- На цій сторінці зібрано часто використовувані підшляхи, згруповані за призначенням. Згенерований
- повний список із понад 200 підшляхів міститься в `scripts/lib/plugin-sdk-entrypoints.json`;
- зарезервовані допоміжні підшляхи bundled-plugin також з’являються там, але є
+ Plugin SDK представлений як набір вузьких підшляхів у `openclaw/plugin-sdk/`.
+ На цій сторінці зібрано каталог найуживаніших підшляхів, згрупованих за призначенням. Згенерований
+ повний список із понад 200 підшляхів розміщено в `scripts/lib/plugin-sdk-entrypoints.json`;
+ зарезервовані підшляхи допоміжних засобів bundled-plugin також наведені там, але вони є
деталлю реалізації, якщо лише сторінка документації явно не просуває їх.
- Посібник з авторства Plugin див. у [Огляд Plugin SDK](/uk/plugins/sdk-overview).
+ Посібник з розробки плагінів дивіться в [Огляд Plugin SDK](/uk/plugins/sdk-overview).
- ## Точка входу Plugin
+ ## Точка входу плагіна
| Subpath | Key exports |
| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
@@ -35,253 +35,253 @@ x-i18n:
| Subpath | Key exports |
| --- | --- |
| `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` |
- | `plugin-sdk/config-schema` | Кореневий експорт Zod-схеми `openclaw.json` (`OpenClawSchema`) |
+ | `plugin-sdk/config-schema` | Експорт кореневої Zod-схеми `openclaw.json` (`OpenClawSchema`) |
| `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, а також `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` |
- | `plugin-sdk/setup` | Спільні допоміжні функції майстра налаштування, запити allowlist, збирачі статусу налаштування |
+ | `plugin-sdk/setup` | Спільні допоміжні засоби майстра налаштування, запити allowlist, побудовники статусу налаштування |
| `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` |
| `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` |
| `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` |
- | `plugin-sdk/account-core` | Допоміжні функції конфігурації/контролю дій для кількох облікових записів, допоміжні функції резервного вибору типового облікового запису |
- | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні функції нормалізації ідентифікатора облікового запису |
- | `plugin-sdk/account-resolution` | Допоміжні функції пошуку облікового запису + резервного вибору типового |
- | `plugin-sdk/account-helpers` | Вузькі допоміжні функції списку облікових записів/дій з обліковими записами |
+ | `plugin-sdk/account-core` | Допоміжні засоби конфігурації та action-gate для кількох облікових записів, допоміжні засоби fallback для облікового запису за замовчуванням |
+ | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, допоміжні засоби нормалізації id облікового запису |
+ | `plugin-sdk/account-resolution` | Допоміжні засоби пошуку облікового запису + fallback до облікового запису за замовчуванням |
+ | `plugin-sdk/account-helpers` | Вузькі допоміжні засоби для списку облікових записів і дій з обліковими записами |
| `plugin-sdk/channel-pairing` | `createChannelPairingController` |
| `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` |
| `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` |
| `plugin-sdk/channel-config-schema` | Типи схеми конфігурації каналу |
- | `plugin-sdk/telegram-command-config` | Допоміжні функції нормалізації/валідації користувацьких команд Telegram із резервним bundled-contract |
- | `plugin-sdk/command-gating` | Вузькі допоміжні функції шлюзу авторизації команд |
+ | `plugin-sdk/telegram-command-config` | Допоміжні засоби нормалізації/валідації користувацьких команд Telegram із fallback на bundled-contract |
+ | `plugin-sdk/command-gating` | Вузькі допоміжні засоби gate авторизації команд |
| `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` |
- | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні функції життєвого циклу/фіналізації потоку чернеток |
- | `plugin-sdk/inbound-envelope` | Спільні допоміжні функції для побудови вхідних маршрутів і конвертів |
- | `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні функції запису й диспетчеризації вхідних повідомлень |
- | `plugin-sdk/messaging-targets` | Допоміжні функції розбору/зіставлення цілей |
- | `plugin-sdk/outbound-media` | Спільні допоміжні функції завантаження вихідних медіа |
- | `plugin-sdk/outbound-runtime` | Допоміжні функції вихідної ідентичності, делегата надсилання та планування payload |
- | `plugin-sdk/poll-runtime` | Вузькі допоміжні функції нормалізації опитувань |
- | `plugin-sdk/thread-bindings-runtime` | Допоміжні функції життєвого циклу прив’язки потоків і адаптерів |
- | `plugin-sdk/agent-media-payload` | Застарілий збирач payload медіа агента |
- | `plugin-sdk/conversation-runtime` | Допоміжні функції прив’язки розмов/потоків, pairинг і налаштованих прив’язок |
- | `plugin-sdk/runtime-config-snapshot` | Допоміжна функція знімка конфігурації часу виконання |
- | `plugin-sdk/runtime-group-policy` | Допоміжні функції визначення групової політики часу виконання |
- | `plugin-sdk/channel-status` | Спільні допоміжні функції знімка/підсумку статусу каналу |
+ | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, допоміжні засоби життєвого циклу/завершення потоку чернетки |
+ | `plugin-sdk/inbound-envelope` | Спільні допоміжні засоби маршрутів вхідних повідомлень + побудови envelope |
+ | `plugin-sdk/inbound-reply-dispatch` | Спільні допоміжні засоби запису й диспетчеризації вхідних відповідей |
+ | `plugin-sdk/messaging-targets` | Допоміжні засоби розбору/зіставлення цілей |
+ | `plugin-sdk/outbound-media` | Спільні допоміжні засоби завантаження вихідних медіа |
+ | `plugin-sdk/outbound-runtime` | Допоміжні засоби вихідної ідентичності, делегування надсилання та планування payload |
+ | `plugin-sdk/poll-runtime` | Вузькі допоміжні засоби нормалізації опитувань |
+ | `plugin-sdk/thread-bindings-runtime` | Допоміжні засоби життєвого циклу й адаптера прив’язок потоків |
+ | `plugin-sdk/agent-media-payload` | Застарілий побудовник медіа-payload агента |
+ | `plugin-sdk/conversation-runtime` | Допоміжні засоби прив’язки розмов/потоків, pairинг і helpers для налаштованих прив’язок |
+ | `plugin-sdk/runtime-config-snapshot` | Допоміжний засіб знімка конфігурації runtime |
+ | `plugin-sdk/runtime-group-policy` | Допоміжні засоби визначення групової політики в runtime |
+ | `plugin-sdk/channel-status` | Спільні допоміжні засоби знімків/підсумків статусу каналу |
| `plugin-sdk/channel-config-primitives` | Вузькі примітиви схеми конфігурації каналу |
- | `plugin-sdk/channel-config-writes` | Допоміжні функції авторизації запису конфігурації каналу |
- | `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти Plugin каналу |
- | `plugin-sdk/allowlist-config-edit` | Допоміжні функції редагування/читання конфігурації allowlist |
- | `plugin-sdk/group-access` | Спільні допоміжні функції ухвалення рішень щодо доступу до груп |
- | `plugin-sdk/direct-dm` | Спільні допоміжні функції авторизації/захисту прямих DM |
- | `plugin-sdk/interactive-runtime` | Семантичне представлення повідомлень, доставка та застарілі допоміжні функції інтерактивної відповіді. Див. [Представлення повідомлень](/uk/plugins/message-presentation) |
- | `plugin-sdk/channel-inbound` | Сумісний barrel для debounce вхідних повідомлень, зіставлення згадок, допоміжних функцій політики згадок і допоміжних функцій конвертів |
- | `plugin-sdk/channel-inbound-debounce` | Вузькі допоміжні функції debounce вхідних повідомлень |
- | `plugin-sdk/channel-mention-gating` | Вузькі допоміжні функції політики згадок і тексту згадок без ширшої поверхні часу виконання вхідних повідомлень |
- | `plugin-sdk/channel-envelope` | Вузькі допоміжні функції форматування вхідних конвертів |
- | `plugin-sdk/channel-location` | Допоміжні функції контексту та форматування розташування каналу |
- | `plugin-sdk/channel-logging` | Допоміжні функції логування каналу для відкинутих вхідних повідомлень і збоїв typing/ack |
- | `plugin-sdk/channel-send-result` | Типи результату відповіді |
- | `plugin-sdk/channel-actions` | Допоміжні функції дій над повідомленнями каналу, а також застарілі допоміжні функції native schema, збережені для сумісності Plugin |
- | `plugin-sdk/channel-targets` | Допоміжні функції розбору/зіставлення цілей |
- | `plugin-sdk/channel-contract` | Типи контракту каналу |
- | `plugin-sdk/channel-feedback` | Підключення зворотного зв’язку/реакцій |
- | `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні функції secret-contract, як-от `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей секретів |
+ | `plugin-sdk/channel-config-writes` | Допоміжні засоби авторизації запису конфігурації каналу |
+ | `plugin-sdk/channel-plugin-common` | Спільні prelude-експорти плагіна каналу |
+ | `plugin-sdk/allowlist-config-edit` | Допоміжні засоби редагування/читання конфігурації allowlist |
+ | `plugin-sdk/group-access` | Спільні допоміжні засоби ухвалення рішень щодо доступу груп |
+ | `plugin-sdk/direct-dm` | Спільні допоміжні засоби auth/guard для прямих DM |
+ | `plugin-sdk/interactive-runtime` | Семантичне представлення повідомлень, доставка та застарілі допоміжні засоби інтерактивних відповідей. Див. [Представлення повідомлень](/uk/plugins/message-presentation) |
+ | `plugin-sdk/channel-inbound` | Барель сумісності для debounce вхідних повідомлень, зіставлення згадувань, допоміжних засобів політики згадувань і helpers для envelope |
+ | `plugin-sdk/channel-inbound-debounce` | Вузькі допоміжні засоби debounce вхідних повідомлень |
+ | `plugin-sdk/channel-mention-gating` | Вузькі допоміжні засоби політики згадувань і тексту згадувань без ширшої поверхні inbound runtime |
+ | `plugin-sdk/channel-envelope` | Вузькі допоміжні засоби форматування inbound envelope |
+ | `plugin-sdk/channel-location` | Допоміжні засоби контексту й форматування розташування каналу |
+ | `plugin-sdk/channel-logging` | Допоміжні засоби журналювання каналу для скидання вхідних повідомлень і збоїв typing/ack |
+ | `plugin-sdk/channel-send-result` | Типи результатів відповіді |
+ | `plugin-sdk/channel-actions` | Допоміжні засоби дій із повідомленнями каналу, а також застарілі допоміжні засоби native schema, збережені для сумісності плагінів |
+ | `plugin-sdk/channel-targets` | Допоміжні засоби розбору/зіставлення цілей |
+ | `plugin-sdk/channel-contract` | Типи контрактів каналу |
+ | `plugin-sdk/channel-feedback` | Підключення feedback/reaction |
+ | `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби secret-contract, такі як `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment`, і типи цілей секретів |
| Subpath | Key exports |
| --- | --- |
| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` |
- | `plugin-sdk/provider-setup` | Кураторські допоміжні функції налаштування локальних/self-hosted провайдерів |
- | `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні функції налаштування self-hosted провайдерів, сумісних з OpenAI |
- | `plugin-sdk/cli-backend` | Типові значення CLI backend + константи watchdog |
- | `plugin-sdk/provider-auth-runtime` | Допоміжні функції визначення API-ключів у часі виконання для Plugin провайдерів |
- | `plugin-sdk/provider-auth-api-key` | Допоміжні функції onboarding/profile-write для API-ключів, як-от `upsertApiKeyProfile` |
- | `plugin-sdk/provider-auth-result` | Стандартний збирач результату OAuth-автентифікації |
- | `plugin-sdk/provider-auth-login` | Спільні допоміжні функції інтерактивного входу для Plugin провайдерів |
- | `plugin-sdk/provider-env-vars` | Допоміжні функції пошуку env-var автентифікації провайдера |
+ | `plugin-sdk/provider-setup` | Кураторські допоміжні засоби налаштування локальних/self-hosted провайдерів |
+ | `plugin-sdk/self-hosted-provider-setup` | Сфокусовані допоміжні засоби налаштування self-hosted провайдерів, сумісних з OpenAI |
+ | `plugin-sdk/cli-backend` | Значення CLI backend за замовчуванням + константи watchdog |
+ | `plugin-sdk/provider-auth-runtime` | Допоміжні засоби визначення API-ключа в runtime для плагінів провайдерів |
+ | `plugin-sdk/provider-auth-api-key` | Допоміжні засоби онбордингу/запису профілю API-ключа, такі як `upsertApiKeyProfile` |
+ | `plugin-sdk/provider-auth-result` | Стандартний побудовник результату OAuth auth |
+ | `plugin-sdk/provider-auth-login` | Спільні допоміжні засоби інтерактивного входу для плагінів провайдерів |
+ | `plugin-sdk/provider-env-vars` | Допоміжні засоби пошуку env vars для auth провайдера |
| `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` |
- | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні збирачі replay-policy, допоміжні функції endpoint провайдера та допоміжні функції нормалізації model-id, як-от `normalizeNativeXaiModelId` |
+ | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, спільні побудовники політики replay, допоміжні засоби endpoint провайдера та допоміжні засоби нормалізації id моделей, такі як `normalizeNativeXaiModelId` |
| `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` |
- | `plugin-sdk/provider-http` | Загальні допоміжні функції HTTP/можливостей endpoint провайдера, включно з допоміжними функціями multipart form для транскрипції аудіо |
- | `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні функції контракту конфігурації/вибору web-fetch, як-от `enablePluginInConfig` і `WebFetchProviderPlugin` |
- | `plugin-sdk/provider-web-fetch` | Допоміжні функції реєстрації/кешування провайдерів web-fetch |
- | `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні функції конфігурації/облікових даних web-search для провайдерів, яким не потрібне підключення ввімкнення Plugin |
- | `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні функції контракту конфігурації/облікових даних web-search, як-от `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setter/getter для облікових даних |
- | `plugin-sdk/provider-web-search` | Допоміжні функції реєстрації/кешування/часу виконання провайдерів web-search |
- | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика, а також допоміжні функції сумісності xAI, як-от `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
- | `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібне |
- | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток потоку та спільні допоміжні функції обгорток для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
- | `plugin-sdk/provider-transport-runtime` | Власні допоміжні функції транспорту провайдера, як-от guarded fetch, перетворення транспортних повідомлень і доступні для запису потоки транспортних подій |
- | `plugin-sdk/provider-onboard` | Допоміжні функції patch конфігурації onboarding |
- | `plugin-sdk/global-singleton` | Допоміжні функції локальних для процесу singleton/map/cache |
- | `plugin-sdk/group-activation` | Вузькі допоміжні функції режиму активації груп і розбору команд |
+ | `plugin-sdk/provider-http` | Загальні допоміжні засоби HTTP/можливостей endpoint провайдера, включно з helpers для multipart form транскрипції аудіо |
+ | `plugin-sdk/provider-web-fetch-contract` | Вузькі допоміжні засоби контракту конфігурації/вибору web-fetch, такі як `enablePluginInConfig` і `WebFetchProviderPlugin` |
+ | `plugin-sdk/provider-web-fetch` | Допоміжні засоби реєстрації/кешу провайдера web-fetch |
+ | `plugin-sdk/provider-web-search-config-contract` | Вузькі допоміжні засоби конфігурації/облікових даних web-search для провайдерів, яким не потрібне підключення ввімкнення плагіна |
+ | `plugin-sdk/provider-web-search-contract` | Вузькі допоміжні засоби контракту конфігурації/облікових даних web-search, такі як `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` і scoped setters/getters облікових даних |
+ | `plugin-sdk/provider-web-search` | Допоміжні засоби реєстрації/кешу/runtime провайдера web-search |
+ | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, очищення схеми Gemini + діагностика та допоміжні засоби сумісності xAI, такі як `resolveXaiModelCompatPatch` / `applyXaiModelCompat` |
+ | `plugin-sdk/provider-usage` | `fetchClaudeUsage` та подібні |
+ | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, типи обгорток потоків і спільні допоміжні засоби обгорток для Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
+ | `plugin-sdk/provider-transport-runtime` | Допоміжні засоби нативного транспорту провайдера, такі як guarded fetch, трансформації транспортних повідомлень і записувані потоки транспортних подій |
+ | `plugin-sdk/provider-onboard` | Допоміжні засоби патчів конфігурації онбордингу |
+ | `plugin-sdk/global-singleton` | Допоміжні засоби process-local singleton/map/cache |
+ | `plugin-sdk/group-activation` | Вузькі допоміжні засоби режиму активації груп і розбору команд |
-
+
| Subpath | Key exports |
| --- | --- |
- | `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні функції реєстру команд, допоміжні функції авторизації відправника |
- | `plugin-sdk/command-status` | Збирачі команд/довідкових повідомлень, як-от `buildCommandsMessagePaginated` і `buildHelpMessage` |
- | `plugin-sdk/approval-auth-runtime` | Допоміжні функції визначення затверджувача та автентифікації дій у межах того самого чату |
- | `plugin-sdk/approval-client-runtime` | Допоміжні функції профілів/фільтрів native exec approval |
- | `plugin-sdk/approval-delivery-runtime` | Native-адаптери можливостей/доставки approval |
- | `plugin-sdk/approval-gateway-runtime` | Спільна допоміжна функція визначення approval gateway |
- | `plugin-sdk/approval-handler-adapter-runtime` | Полегшені допоміжні функції завантаження native approval adapter для гарячих точок входу каналів |
- | `plugin-sdk/approval-handler-runtime` | Ширші допоміжні функції часу виконання обробника approval; віддавайте перевагу вужчим adapter/gateway-швам, коли їх достатньо |
- | `plugin-sdk/approval-native-runtime` | Допоміжні функції native approval target + account-binding |
- | `plugin-sdk/approval-reply-runtime` | Допоміжні функції payload відповіді для exec/plugin approval |
- | `plugin-sdk/reply-dedupe` | Вузькі допоміжні функції скидання дедуплікації вхідних відповідей |
- | `plugin-sdk/channel-contract-testing` | Вузькі допоміжні функції тестування контракту каналу без широкого testing barrel |
- | `plugin-sdk/command-auth-native` | Допоміжні функції native command auth + native session-target |
- | `plugin-sdk/command-detection` | Спільні допоміжні функції виявлення команд |
- | `plugin-sdk/command-primitives-runtime` | Полегшені предикати тексту команд для гарячих шляхів каналів |
- | `plugin-sdk/command-surface` | Допоміжні функції нормалізації тіла команди та command-surface |
+ | `plugin-sdk/command-auth` | `resolveControlCommandGate`, допоміжні засоби реєстру команд, допоміжні засоби авторизації відправника |
+ | `plugin-sdk/command-status` | Побудовники повідомлень команд/довідки, такі як `buildCommandsMessagePaginated` і `buildHelpMessage` |
+ | `plugin-sdk/approval-auth-runtime` | Допоміжні засоби визначення затверджувача та auth дій у межах того самого чату |
+ | `plugin-sdk/approval-client-runtime` | Допоміжні засоби профілю/фільтра native exec approval |
+ | `plugin-sdk/approval-delivery-runtime` | Адаптери можливостей/доставки native approval |
+ | `plugin-sdk/approval-gateway-runtime` | Спільний допоміжний засіб визначення gateway для approval |
+ | `plugin-sdk/approval-handler-adapter-runtime` | Легковагові допоміжні засоби завантаження адаптера native approval для гарячих точок входу каналів |
+ | `plugin-sdk/approval-handler-runtime` | Ширші допоміжні засоби approval handler runtime; віддавайте перевагу вужчим seams адаптера/gateway, якщо їх достатньо |
+ | `plugin-sdk/approval-native-runtime` | Допоміжні засоби native approval target + account-binding |
+ | `plugin-sdk/approval-reply-runtime` | Допоміжні засоби payload відповіді для exec/plugin approval |
+ | `plugin-sdk/reply-dedupe` | Вузькі допоміжні засоби скидання дедуплікації вхідних відповідей |
+ | `plugin-sdk/channel-contract-testing` | Вузькі допоміжні засоби тестування контрактів каналу без широкого testing barrel |
+ | `plugin-sdk/command-auth-native` | Native command auth + допоміжні засоби native session-target |
+ | `plugin-sdk/command-detection` | Спільні допоміжні засоби виявлення команд |
+ | `plugin-sdk/command-primitives-runtime` | Легковагові предикати тексту команд для гарячих шляхів каналів |
+ | `plugin-sdk/command-surface` | Допоміжні засоби нормалізації command-body і command-surface |
| `plugin-sdk/allow-from` | `formatAllowFromLowercase` |
- | `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні функції збирання secret-contract для поверхонь секретів каналу/plugin |
- | `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні функції типізації `coerceSecretRef` і SecretRef для розбору secret-contract/config |
- | `plugin-sdk/security-runtime` | Спільні допоміжні функції довіри, DM gating, external-content і збирання секретів |
- | `plugin-sdk/ssrf-policy` | Допоміжні функції host allowlist і політики SSRF для приватних мереж |
- | `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні функції pinned-dispatcher без широкої infra runtime-поверхні |
- | `plugin-sdk/ssrf-runtime` | Допоміжні функції pinned-dispatcher, SSRF-захищеного fetch і політики SSRF |
- | `plugin-sdk/secret-input` | Допоміжні функції розбору введення секретів |
- | `plugin-sdk/webhook-ingress` | Допоміжні функції Webhook request/target |
- | `plugin-sdk/webhook-request-guards` | Допоміжні функції для розміру тіла запиту/тайм-аутів |
+ | `plugin-sdk/channel-secret-runtime` | Вузькі допоміжні засоби збору secret-contract для поверхонь секретів каналу/плагіна |
+ | `plugin-sdk/secret-ref-runtime` | Вузькі допоміжні засоби `coerceSecretRef` і типізації SecretRef для розбору secret-contract/config |
+ | `plugin-sdk/security-runtime` | Спільні допоміжні засоби довіри, DM gating, external-content і збирання секретів |
+ | `plugin-sdk/ssrf-policy` | Допоміжні засоби policy SSRF для allowlist хостів і приватної мережі |
+ | `plugin-sdk/ssrf-dispatcher` | Вузькі допоміжні засоби pinned-dispatcher без широкої infra runtime surface |
+ | `plugin-sdk/ssrf-runtime` | Допоміжні засоби pinned-dispatcher, fetch із SSRF-захистом і policy SSRF |
+ | `plugin-sdk/secret-input` | Допоміжні засоби розбору вводу секретів |
+ | `plugin-sdk/webhook-ingress` | Допоміжні засоби запиту/цілі Webhook |
+ | `plugin-sdk/webhook-request-guards` | Допоміжні засоби розміру body запиту/timeout |
-
+
| Subpath | Key exports |
| --- | --- |
- | `plugin-sdk/runtime` | Широкі допоміжні функції часу виконання/логування/резервного копіювання/встановлення plugin |
- | `plugin-sdk/runtime-env` | Вузькі допоміжні функції runtime env, logger, timeout, retry і backoff |
- | `plugin-sdk/channel-runtime-context` | Загальні допоміжні функції реєстрації та пошуку channel runtime-context |
+ | `plugin-sdk/runtime` | Широкі допоміжні засоби runtime/logging/backup/встановлення плагінів |
+ | `plugin-sdk/runtime-env` | Вузькі допоміжні засоби env runtime, logger, timeout, retry і backoff |
+ | `plugin-sdk/channel-runtime-context` | Загальні допоміжні засоби реєстрації та пошуку channel runtime-context |
| `plugin-sdk/runtime-store` | `createPluginRuntimeStore` |
- | `plugin-sdk/plugin-runtime` | Спільні допоміжні функції команд/hook/http/interactive для plugin |
- | `plugin-sdk/hook-runtime` | Спільні допоміжні функції pipeline для webhook/internal hook |
- | `plugin-sdk/lazy-runtime` | Допоміжні функції lazy runtime import/binding, як-от `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
- | `plugin-sdk/process-runtime` | Допоміжні функції виконання процесів |
- | `plugin-sdk/cli-runtime` | Допоміжні функції форматування CLI, очікування та версій |
- | `plugin-sdk/gateway-runtime` | Допоміжні функції клієнта Gateway і patch статусу каналу |
- | `plugin-sdk/config-runtime` | Допоміжні функції завантаження/запису конфігурації та пошуку plugin-config |
- | `plugin-sdk/telegram-command-config` | Нормалізація назв/описів команд Telegram і перевірки на дублікати/конфлікти, навіть коли поверхня bundled Telegram contract недоступна |
- | `plugin-sdk/text-autolink-runtime` | Виявлення autolink посилань на файли без широкого text-runtime barrel |
- | `plugin-sdk/approval-runtime` | Допоміжні функції exec/plugin approval, збирачі approval-capability, допоміжні функції auth/profile, native routing/runtime |
- | `plugin-sdk/reply-runtime` | Спільні допоміжні функції часу виконання для inbound/reply, chunking, dispatch, Heartbeat, planner відповіді |
- | `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні функції dispatch/finalize відповіді |
- | `plugin-sdk/reply-history` | Спільні допоміжні функції коротковіконної історії відповідей, як-от `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
+ | `plugin-sdk/plugin-runtime` | Спільні допоміжні засоби команд/hook/http/interactive для плагінів |
+ | `plugin-sdk/hook-runtime` | Спільні допоміжні засоби pipeline webhook/internal hook |
+ | `plugin-sdk/lazy-runtime` | Допоміжні засоби lazy імпорту/прив’язки runtime, такі як `createLazyRuntimeModule`, `createLazyRuntimeMethod` і `createLazyRuntimeSurface` |
+ | `plugin-sdk/process-runtime` | Допоміжні засоби exec процесів |
+ | `plugin-sdk/cli-runtime` | Допоміжні засоби форматування CLI, очікування та версій |
+ | `plugin-sdk/gateway-runtime` | Допоміжні засоби клієнта Gateway і патчів статусу каналу |
+ | `plugin-sdk/config-runtime` | Допоміжні засоби завантаження/запису конфігурації та lookup конфігурації плагіна |
+ | `plugin-sdk/telegram-command-config` | Нормалізація назви/опису команди Telegram і перевірки дублікатів/конфліктів, навіть коли поверхня bundled Telegram contract недоступна |
+ | `plugin-sdk/text-autolink-runtime` | Виявлення автопосилань на файлові посилання без широкого text-runtime barrel |
+ | `plugin-sdk/approval-runtime` | Допоміжні засоби exec/plugin approval, побудовники можливостей approval, допоміжні засоби auth/profile, native routing/runtime |
+ | `plugin-sdk/reply-runtime` | Спільні допоміжні засоби inbound/reply runtime, chunking, dispatch, Heartbeat, планувальник відповідей |
+ | `plugin-sdk/reply-dispatch-runtime` | Вузькі допоміжні засоби dispatch/finalize відповіді |
+ | `plugin-sdk/reply-history` | Спільні допоміжні засоби history відповідей для короткого вікна, такі як `buildHistoryContext`, `recordPendingHistoryEntry` і `clearHistoryEntriesIfEnabled` |
| `plugin-sdk/reply-reference` | `createReplyReferencePlanner` |
- | `plugin-sdk/reply-chunking` | Вузькі допоміжні функції chunking тексту/markdown |
- | `plugin-sdk/session-store-runtime` | Допоміжні функції шляху до сховища сесій + updated-at |
- | `plugin-sdk/state-paths` | Допоміжні функції шляхів до каталогів State/OAuth |
- | `plugin-sdk/routing` | Допоміжні функції route/session-key/account binding, як-от `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
- | `plugin-sdk/status-helpers` | Спільні допоміжні функції підсумку статусу каналу/облікового запису, типові стани runtime-state і допоміжні функції метаданих проблем |
- | `plugin-sdk/target-resolver-runtime` | Спільні допоміжні функції target resolver |
- | `plugin-sdk/string-normalization-runtime` | Допоміжні функції нормалізації slug/рядків |
- | `plugin-sdk/request-url` | Витягування рядкових URL із fetch/request-подібних входів |
- | `plugin-sdk/run-command` | Запускач команд із таймуванням і нормалізованими результатами stdout/stderr |
- | `plugin-sdk/param-readers` | Поширені читачі параметрів tool/CLI |
- | `plugin-sdk/tool-payload` | Витягування нормалізованих payload з об’єктів результатів tool |
+ | `plugin-sdk/reply-chunking` | Вузькі допоміжні засоби chunking тексту/markdown |
+ | `plugin-sdk/session-store-runtime` | Допоміжні засоби шляху session store + `updated-at` |
+ | `plugin-sdk/state-paths` | Допоміжні засоби шляхів до директорій state/OAuth |
+ | `plugin-sdk/routing` | Допоміжні засоби route/session-key/account binding, такі як `resolveAgentRoute`, `buildAgentSessionKey` і `resolveDefaultAgentBoundAccountId` |
+ | `plugin-sdk/status-helpers` | Спільні допоміжні засоби підсумку статусу каналу/облікового запису, значення runtime-state за замовчуванням і допоміжні засоби метаданих проблем |
+ | `plugin-sdk/target-resolver-runtime` | Спільні допоміжні засоби resolver цілей |
+ | `plugin-sdk/string-normalization-runtime` | Допоміжні засоби нормалізації slug/рядків |
+ | `plugin-sdk/request-url` | Витягування рядкових URL із fetch/request-подібних вхідних даних |
+ | `plugin-sdk/run-command` | Запускач команд із таймером і нормалізованими результатами stdout/stderr |
+ | `plugin-sdk/param-readers` | Поширені readers параметрів tool/CLI |
+ | `plugin-sdk/tool-payload` | Витягування нормалізованих payload із об’єктів результатів tool |
| `plugin-sdk/tool-send` | Витягування канонічних полів цілі надсилання з аргументів tool |
- | `plugin-sdk/temp-path` | Спільні допоміжні функції шляхів тимчасового завантаження |
- | `plugin-sdk/logging-core` | Допоміжні функції логера підсистеми та редагування чутливих даних |
- | `plugin-sdk/markdown-table-runtime` | Допоміжні функції режиму та конвертації таблиць Markdown |
- | `plugin-sdk/json-store` | Невеликі допоміжні функції читання/запису JSON state |
- | `plugin-sdk/file-lock` | Допоміжні функції повторно вхідного file-lock |
- | `plugin-sdk/persistent-dedupe` | Допоміжні функції кешу дедуплікації на диску |
- | `plugin-sdk/acp-runtime` | Допоміжні функції ACP runtime/session і reply-dispatch |
- | `plugin-sdk/acp-binding-resolve-runtime` | Розв’язання read-only ACP binding без імпортів запуску життєвого циклу |
- | `plugin-sdk/agent-config-primitives` | Вузькі примітиви config-schema часу виконання агента |
- | `plugin-sdk/boolean-param` | Гнучкий читач boolean-параметрів |
- | `plugin-sdk/dangerous-name-runtime` | Допоміжні функції зіставлення та розв’язання небезпечних назв |
- | `plugin-sdk/device-bootstrap` | Допоміжні функції bootstrap пристрою та pairing token |
- | `plugin-sdk/extension-shared` | Спільні примітиви допоміжних функцій passive-channel, status і ambient proxy |
- | `plugin-sdk/models-provider-runtime` | Допоміжні функції відповіді для команди `/models`/провайдера |
- | `plugin-sdk/skill-commands-runtime` | Допоміжні функції переліку команд Skills |
- | `plugin-sdk/native-command-registry` | Допоміжні функції native command registry/build/serialize |
- | `plugin-sdk/agent-harness` | Експериментальна trusted-plugin-поверхня для низькорівневих agent harness: типи harness, допоміжні функції steer/abort для active-run, допоміжні функції bridge інструментів OpenClaw і утиліти результатів спроб |
- | `plugin-sdk/provider-zai-endpoint` | Допоміжні функції виявлення endpoint Z.AI |
- | `plugin-sdk/infra-runtime` | Допоміжні функції системних подій/Heartbeat |
- | `plugin-sdk/collection-runtime` | Невеликі допоміжні функції обмеженого кешу |
- | `plugin-sdk/diagnostic-runtime` | Допоміжні функції діагностичних прапорців і подій |
- | `plugin-sdk/error-runtime` | Допоміжні функції графа помилок, форматування, спільної класифікації помилок, `isApprovalNotFoundError` |
- | `plugin-sdk/fetch-runtime` | Допоміжні функції обгорнутого fetch, proxy і pinned lookup |
- | `plugin-sdk/runtime-fetch` | Runtime fetch з урахуванням dispatcher без імпортів proxy/guarded-fetch |
- | `plugin-sdk/response-limit-runtime` | Читач обмеженого тіла відповіді без широкої media runtime-поверхні |
- | `plugin-sdk/session-binding-runtime` | Поточний стан binding розмови без routing налаштованих binding або pairing store |
- | `plugin-sdk/session-store-runtime` | Допоміжні функції читання session-store без широких імпортів запису/обслуговування конфігурації |
- | `plugin-sdk/context-visibility-runtime` | Допоміжні функції розв’язання видимості контексту та фільтрації додаткового контексту без широких імпортів config/security |
- | `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні функції примусового приведення й нормалізації primitive record/string без імпортів markdown/logging |
- | `plugin-sdk/host-runtime` | Допоміжні функції нормалізації імен хостів і SCP host |
- | `plugin-sdk/retry-runtime` | Допоміжні функції конфігурації retry і запуску retry |
- | `plugin-sdk/agent-runtime` | Допоміжні функції каталогу/ідентичності/робочого простору агента |
- | `plugin-sdk/directory-runtime` | Запити/дедуплікація каталогів на основі конфігурації |
+ | `plugin-sdk/temp-path` | Спільні допоміжні засоби шляхів до тимчасових завантажень |
+ | `plugin-sdk/logging-core` | Допоміжні засоби subsystem logger і редагування чутливих даних |
+ | `plugin-sdk/markdown-table-runtime` | Допоміжні засоби режиму таблиць Markdown і конвертації |
+ | `plugin-sdk/json-store` | Невеликі допоміжні засоби читання/запису JSON state |
+ | `plugin-sdk/file-lock` | Допоміжні засоби повторного входу для file-lock |
+ | `plugin-sdk/persistent-dedupe` | Допоміжні засоби дискового dedupe cache |
+ | `plugin-sdk/acp-runtime` | Допоміжні засоби ACP runtime/session і reply-dispatch |
+ | `plugin-sdk/acp-binding-resolve-runtime` | Розв’язання ACP binding лише для читання без імпортів запуску lifecycle |
+ | `plugin-sdk/agent-config-primitives` | Вузькі примітиви config-schema runtime агента |
+ | `plugin-sdk/boolean-param` | Гнучкий reader булевих параметрів |
+ | `plugin-sdk/dangerous-name-runtime` | Допоміжні засоби визначення збігів небезпечних імен |
+ | `plugin-sdk/device-bootstrap` | Допоміжні засоби bootstrap пристрою та pairing token |
+ | `plugin-sdk/extension-shared` | Спільні примітиви допоміжних засобів passive-channel, status і ambient proxy |
+ | `plugin-sdk/models-provider-runtime` | Допоміжні засоби відповіді провайдера/команди `/models` |
+ | `plugin-sdk/skill-commands-runtime` | Допоміжні засоби переліку команд Skills |
+ | `plugin-sdk/native-command-registry` | Допоміжні засоби реєстру/build/serialize нативних команд |
+ | `plugin-sdk/agent-harness` | Експериментальна поверхня trusted-plugin для низькорівневих agent harness: типи harness, допоміжні засоби steer/abort для активних запусків, міст OpenClaw tool, допоміжні засоби форматування/деталізації прогресу tool і утиліти результатів спроб |
+ | `plugin-sdk/provider-zai-endpoint` | Допоміжні засоби виявлення endpoint Z.A.I |
+ | `plugin-sdk/infra-runtime` | Допоміжні засоби системних подій/Heartbeat |
+ | `plugin-sdk/collection-runtime` | Невеликі допоміжні засоби обмеженого кешу |
+ | `plugin-sdk/diagnostic-runtime` | Допоміжні засоби діагностичних прапорців і подій |
+ | `plugin-sdk/error-runtime` | Граф помилок, форматування, спільні допоміжні засоби класифікації помилок, `isApprovalNotFoundError` |
+ | `plugin-sdk/fetch-runtime` | Обгорнутий fetch, proxy і допоміжні засоби pinned lookup |
+ | `plugin-sdk/runtime-fetch` | Dispatcher-aware runtime fetch без імпортів proxy/guarded-fetch |
+ | `plugin-sdk/response-limit-runtime` | Reader обмеженого response-body без широкої media runtime surface |
+ | `plugin-sdk/session-binding-runtime` | Поточний стан binding розмови без routing налаштованого binding або pairing stores |
+ | `plugin-sdk/session-store-runtime` | Допоміжні засоби читання session-store без широких імпортів запису/обслуговування конфігурації |
+ | `plugin-sdk/context-visibility-runtime` | Допоміжні засоби визначення видимості контексту та фільтрації додаткового контексту без широких імпортів config/security |
+ | `plugin-sdk/string-coerce-runtime` | Вузькі допоміжні засоби приведення та нормалізації primitive record/string без імпортів markdown/logging |
+ | `plugin-sdk/host-runtime` | Допоміжні засоби нормалізації hostname і SCP host |
+ | `plugin-sdk/retry-runtime` | Допоміжні засоби конфігурації retry і запуску retry |
+ | `plugin-sdk/agent-runtime` | Допоміжні засоби директорії/ідентичності/workspace агента |
+ | `plugin-sdk/directory-runtime` | Запит/dedup директорій на основі конфігурації |
| `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` |
| Subpath | Key exports |
| --- | --- |
- | `plugin-sdk/media-runtime` | Спільні допоміжні функції fetch/transform/store для медіа, а також збирачі media payload |
- | `plugin-sdk/media-store` | Вузькі допоміжні функції media store, як-от `saveMediaBuffer` |
- | `plugin-sdk/media-generation-runtime` | Спільні допоміжні функції failover для генерації медіа, вибір candidate і повідомлення про відсутню модель |
- | `plugin-sdk/media-understanding` | Типи провайдерів media understanding, а також експорти допоміжних функцій для зображень/аудіо, орієнтованих на провайдера |
- | `plugin-sdk/text-runtime` | Спільні допоміжні функції text/markdown/logging, як-от видалення assistant-visible text, допоміжні функції render/chunking/table для Markdown, допоміжні функції редагування чутливих даних, directive-tag і safe-text утиліти |
- | `plugin-sdk/text-chunking` | Допоміжна функція chunking вихідного тексту |
- | `plugin-sdk/speech` | Типи провайдерів speech, а також допоміжні функції directive, registry і validation, орієнтовані на провайдера |
- | `plugin-sdk/speech-core` | Спільні типи провайдерів speech і допоміжні функції registry, directive та normalizації |
- | `plugin-sdk/realtime-transcription` | Типи провайдерів realtime transcription, допоміжні функції registry і спільна допоміжна функція WebSocket session |
- | `plugin-sdk/realtime-voice` | Типи провайдерів realtime voice і допоміжні функції registry |
- | `plugin-sdk/image-generation` | Типи провайдерів генерації зображень |
- | `plugin-sdk/image-generation-core` | Спільні типи генерації зображень і допоміжні функції failover, auth і registry |
+ | `plugin-sdk/media-runtime` | Спільні допоміжні засоби fetch/transform/store медіа, а також побудовники media payload |
+ | `plugin-sdk/media-store` | Вузькі допоміжні засоби media store, такі як `saveMediaBuffer` |
+ | `plugin-sdk/media-generation-runtime` | Спільні допоміжні засоби failover для генерації медіа, вибір кандидатів і повідомлення про відсутню модель |
+ | `plugin-sdk/media-understanding` | Типи провайдера media understanding плюс provider-facing експорти допоміжних засобів для зображень/аудіо |
+ | `plugin-sdk/text-runtime` | Спільні допоміжні засоби text/markdown/logging, такі як видалення assistant-visible-text, допоміжні засоби render/chunking/table для markdown, засоби редагування чутливих даних, допоміжні засоби тегів директив і утиліти безпечного тексту |
+ | `plugin-sdk/text-chunking` | Допоміжний засіб chunking вихідного тексту |
+ | `plugin-sdk/speech` | Типи провайдера мовлення плюс provider-facing допоміжні засоби директив, реєстру та валідації |
+ | `plugin-sdk/speech-core` | Спільні допоміжні засоби типів, реєстру, директив і нормалізації для провайдерів мовлення |
+ | `plugin-sdk/realtime-transcription` | Типи провайдера транскрипції в реальному часі, допоміжні засоби реєстру та спільний допоміжний засіб WebSocket session |
+ | `plugin-sdk/realtime-voice` | Типи провайдера голосу в реальному часі та допоміжні засоби реєстру |
+ | `plugin-sdk/image-generation` | Типи провайдера генерації зображень |
+ | `plugin-sdk/image-generation-core` | Спільні допоміжні засоби типів, failover, auth і реєстру для генерації зображень |
| `plugin-sdk/music-generation` | Типи провайдера/запиту/результату генерації музики |
- | `plugin-sdk/music-generation-core` | Спільні типи генерації музики і допоміжні функції failover, lookup провайдера та розбору model-ref |
+ | `plugin-sdk/music-generation-core` | Спільні допоміжні засоби типів, failover, lookup провайдера та розбору model-ref для генерації музики |
| `plugin-sdk/video-generation` | Типи провайдера/запиту/результату генерації відео |
- | `plugin-sdk/video-generation-core` | Спільні типи генерації відео і допоміжні функції failover, lookup провайдера та розбору model-ref |
- | `plugin-sdk/webhook-targets` | Допоміжні функції реєстру Webhook target і встановлення route |
- | `plugin-sdk/webhook-path` | Допоміжні функції нормалізації шляху Webhook |
- | `plugin-sdk/web-media` | Спільні допоміжні функції завантаження віддалених/локальних медіа |
- | `plugin-sdk/zod` | Повторно експортований `zod` для споживачів plugin SDK |
+ | `plugin-sdk/video-generation-core` | Спільні допоміжні засоби типів, failover, lookup провайдера та розбору model-ref для генерації відео |
+ | `plugin-sdk/webhook-targets` | Допоміжні засоби реєстру цілей Webhook і встановлення маршрутів |
+ | `plugin-sdk/webhook-path` | Допоміжні засоби нормалізації шляху Webhook |
+ | `plugin-sdk/web-media` | Спільні допоміжні засоби завантаження віддалених/локальних медіа |
+ | `plugin-sdk/zod` | Повторно експортований `zod` для користувачів plugin SDK |
| `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` |
| Subpath | Key exports |
| --- | --- |
- | `plugin-sdk/memory-core` | Поверхня допоміжних функцій bundled memory-core для менеджера/конфігурації/файлів/CLI |
- | `plugin-sdk/memory-core-engine-runtime` | Runtime-фасад індексу/пошуку пам’яті |
+ | `plugin-sdk/memory-core` | Поверхня допоміжних засобів bundled memory-core для helpers менеджера/конфігурації/файлів/CLI |
+ | `plugin-sdk/memory-core-engine-runtime` | Фасад runtime індексації/пошуку пам’яті |
| `plugin-sdk/memory-core-host-engine-foundation` | Експорти foundation engine хоста пам’яті |
- | `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста пам’яті, доступ до registry, локальний провайдер і загальні допоміжні функції batch/remote |
+ | `plugin-sdk/memory-core-host-engine-embeddings` | Контракти embedding хоста пам’яті, доступ до реєстру, локальний провайдер і загальні helpers для пакетної/віддаленої роботи |
| `plugin-sdk/memory-core-host-engine-qmd` | Експорти QMD engine хоста пам’яті |
| `plugin-sdk/memory-core-host-engine-storage` | Експорти storage engine хоста пам’яті |
- | `plugin-sdk/memory-core-host-multimodal` | Багатомодальні допоміжні функції хоста пам’яті |
- | `plugin-sdk/memory-core-host-query` | Допоміжні функції запитів хоста пам’яті |
- | `plugin-sdk/memory-core-host-secret` | Допоміжні функції секретів хоста пам’яті |
- | `plugin-sdk/memory-core-host-events` | Допоміжні функції журналу подій хоста пам’яті |
- | `plugin-sdk/memory-core-host-status` | Допоміжні функції статусу хоста пам’яті |
- | `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні функції CLI runtime хоста пам’яті |
- | `plugin-sdk/memory-core-host-runtime-core` | Допоміжні функції core runtime хоста пам’яті |
- | `plugin-sdk/memory-core-host-runtime-files` | Допоміжні функції файлів/runtime хоста пам’яті |
- | `plugin-sdk/memory-host-core` | Нейтральний до вендора псевдонім для допоміжних функцій core runtime хоста пам’яті |
- | `plugin-sdk/memory-host-events` | Нейтральний до вендора псевдонім для допоміжних функцій журналу подій хоста пам’яті |
- | `plugin-sdk/memory-host-files` | Нейтральний до вендора псевдонім для допоміжних функцій файлів/runtime хоста пам’яті |
- | `plugin-sdk/memory-host-markdown` | Спільні допоміжні функції керованого Markdown для plugin, суміжних із пам’яттю |
- | `plugin-sdk/memory-host-search` | Runtime-фасад Active Memory для доступу до менеджера пошуку |
- | `plugin-sdk/memory-host-status` | Нейтральний до вендора псевдонім для допоміжних функцій статусу хоста пам’яті |
- | `plugin-sdk/memory-lancedb` | Поверхня допоміжних функцій bundled memory-lancedb |
+ | `plugin-sdk/memory-core-host-multimodal` | Мультимодальні helpers хоста пам’яті |
+ | `plugin-sdk/memory-core-host-query` | Допоміжні засоби запитів хоста пам’яті |
+ | `plugin-sdk/memory-core-host-secret` | Допоміжні засоби секретів хоста пам’яті |
+ | `plugin-sdk/memory-core-host-events` | Допоміжні засоби журналу подій хоста пам’яті |
+ | `plugin-sdk/memory-core-host-status` | Допоміжні засоби статусу хоста пам’яті |
+ | `plugin-sdk/memory-core-host-runtime-cli` | Допоміжні засоби CLI runtime хоста пам’яті |
+ | `plugin-sdk/memory-core-host-runtime-core` | Допоміжні засоби core runtime хоста пам’яті |
+ | `plugin-sdk/memory-core-host-runtime-files` | Допоміжні засоби файлів/runtime хоста пам’яті |
+ | `plugin-sdk/memory-host-core` | Нейтральний до вендора псевдонім для допоміжних засобів core runtime хоста пам’яті |
+ | `plugin-sdk/memory-host-events` | Нейтральний до вендора псевдонім для допоміжних засобів журналу подій хоста пам’яті |
+ | `plugin-sdk/memory-host-files` | Нейтральний до вендора псевдонім для допоміжних засобів файлів/runtime хоста пам’яті |
+ | `plugin-sdk/memory-host-markdown` | Спільні helpers керованого markdown для плагінів, пов’язаних із пам’яттю |
+ | `plugin-sdk/memory-host-search` | Фасад runtime Active Memory для доступу до менеджера пошуку |
+ | `plugin-sdk/memory-host-status` | Нейтральний до вендора псевдонім для допоміжних засобів статусу хоста пам’яті |
+ | `plugin-sdk/memory-lancedb` | Поверхня допоміжних засобів bundled memory-lancedb |
| Family | Current subpaths | Intended use |
| --- | --- | --- |
- | Browser | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні функції підтримки bundled browser plugin (`browser-support` залишається compatibility barrel) |
- | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Поверхня допоміжних функцій/runtime bundled Matrix |
- | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня допоміжних функцій/runtime bundled LINE |
- | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних функцій bundled IRC |
- | Channel-specific helpers | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Шви сумісності/допоміжних функцій bundled channel |
- | Auth/plugin-specific helpers | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Шви допоміжних функцій bundled feature/plugin; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
+ | Браузер | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Допоміжні засоби підтримки bundled browser plugin (`browser-support` залишається compatibility barrel) |
+ | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Поверхня helpers/runtime bundled Matrix |
+ | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Поверхня helpers/runtime bundled LINE |
+ | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Поверхня допоміжних засобів bundled IRC |
+ | Допоміжні засоби, специфічні для каналів | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Bundled seams сумісності/допоміжних засобів каналів |
+ | Допоміжні засоби, специфічні для auth/плагінів | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Bundled seams допоміжних засобів функцій/плагінів; `plugin-sdk/github-copilot-token` наразі експортує `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` і `resolveCopilotApiToken` |
-## Пов’язане
+## Пов’язані матеріали
- [Огляд Plugin SDK](/uk/plugins/sdk-overview)
- [Налаштування Plugin SDK](/uk/plugins/sdk-setup)
-- [Створення plugin](/uk/plugins/building-plugins)
+- [Створення плагінів](/uk/plugins/building-plugins)