From b6cbccd899067634eeacd23e1b63f8d68fc7b58c Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Thu, 23 Apr 2026 15:53:59 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/help/faq.md | 2129 ++++++++++++++++---------------- docs/uk/reference/token-use.md | 153 +-- 2 files changed, 1141 insertions(+), 1141 deletions(-) diff --git a/docs/uk/help/faq.md b/docs/uk/help/faq.md index fe3589e1a..e93d1d32c 100644 --- a/docs/uk/help/faq.md +++ b/docs/uk/help/faq.md @@ -1,47 +1,47 @@ --- read_when: - - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або підтримки під час виконання - - Тріаж проблем, про які повідомляють користувачі, перед глибшим налагодженням + - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або підтримки під час роботи системи + - Сортування проблем, про які повідомили користувачі, перед глибшим налагодженням summary: Поширені запитання про налаштування, конфігурацію та використання OpenClaw title: Поширені запитання x-i18n: - generated_at: "2026-04-21T06:32:47Z" + generated_at: "2026-04-23T15:44:05Z" model: gpt-5.4 provider: openai - source_hash: 3bd1df258baa4b289bc95ba0f7757b61c1412e230d93ebb137cb7117fbc3a2f1 + source_hash: 467e12fb93f778c544899e0c3a3837b84cff423f629db187e8be6e94627771c1 source_path: help/faq.md workflow: 15 --- # Поширені запитання -Швидкі відповіді та глибше усунення несправностей для реальних конфігурацій (локальна розробка, VPS, кілька агентів, OAuth/API-ключі, резервне перемикання моделей). Для діагностики під час виконання див. [Усунення несправностей](/uk/gateway/troubleshooting). Для повного довідника з конфігурації див. [Конфігурація](/uk/gateway/configuration). +Швидкі відповіді плюс глибше усунення несправностей для реальних сценаріїв налаштування (локальна розробка, VPS, multi-agent, OAuth/API keys, перемикання моделей у разі збою). Для діагностики під час роботи див. [Усунення несправностей](/uk/gateway/troubleshooting). Повний довідник із конфігурації див. у [Конфігурації](/uk/gateway/configuration). ## Перші 60 секунд, якщо щось зламалося -1. **Швидкий статус (перша перевірка)** +1. **Швидкий стан (перша перевірка)** ```bash openclaw status ``` - Швидке локальне зведення: ОС + оновлення, доступність Gateway/сервісу, агенти/сеанси, конфігурація провайдера + проблеми під час виконання (коли Gateway доступний). + Швидке локальне зведення: ОС + оновлення, доступність gateway/service, agents/sessions, конфігурація провайдерів + проблеми під час роботи (коли Gateway доступний). -2. **Звіт, який можна вставити й поширити (безпечний для поширення)** +2. **Звіт, який можна вставити (безпечний для поширення)** ```bash openclaw status --all ``` - Діагностика лише для читання з кінцівкою журналу (токени приховано). + Діагностика в режимі лише читання з хвостом логів (токени приховано). -3. **Стан демона + порту** +3. **Стан daemon + port** ```bash openclaw gateway status ``` - Показує стан виконання супервізора порівняно з доступністю RPC, цільову URL-адресу перевірки та те, яку конфігурацію сервіс, імовірно, використовував. + Показує стан supervisor під час роботи порівняно з доступністю RPC, URL цілі перевірки та яку конфігурацію, ймовірно, використала служба. 4. **Глибокі перевірки** @@ -49,71 +49,71 @@ x-i18n: openclaw status --deep ``` - Виконує живу перевірку стану Gateway, зокрема перевірки каналів, коли це підтримується - (потрібен доступний Gateway). Див. [Стан](/uk/gateway/health). + Запускає живу перевірку стану Gateway, зокрема перевірки каналів, коли це підтримується + (потрібен доступний Gateway). Див. [Health](/uk/gateway/health). -5. **Відстеження найсвіжішого журналу** +5. **Показати останній лог** ```bash openclaw logs --follow ``` - Якщо RPC недоступний, використайте як запасний варіант: + Якщо RPC недоступний, використайте запасний варіант: ```bash tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)" ``` - Файлові журнали відокремлені від журналів сервісу; див. [Журналювання](/uk/logging) і [Усунення несправностей](/uk/gateway/troubleshooting). + Файлові логи відокремлені від логів служби; див. [Logging](/uk/logging) і [Усунення несправностей](/uk/gateway/troubleshooting). -6. **Запустіть doctor (виправлення)** +6. **Запустити doctor (виправлення)** ```bash openclaw doctor ``` - Виправляє/мігрує конфігурацію та стан + виконує перевірки стану. Див. [Doctor](/uk/gateway/doctor). + Виправляє/мігрує config/state + запускає перевірки стану. Див. [Doctor](/uk/gateway/doctor). -7. **Знімок стану Gateway** +7. **Знімок Gateway** ```bash openclaw health --json - openclaw health --verbose # показує цільову URL-адресу + шлях до конфігурації при помилках + openclaw health --verbose # показує URL цілі + шлях до config у разі помилок ``` - Запитує у запущеного Gateway повний знімок стану (лише WS). Див. [Стан](/uk/gateway/health). + Запитує у запущеного Gateway повний знімок (лише WS). Див. [Health](/uk/gateway/health). -## Швидкий старт і початкове налаштування +## Швидкий старт і налаштування першого запуску - - Використайте локального AI-агента, який може **бачити вашу машину**. Це значно ефективніше, ніж питати - у Discord, тому що більшість випадків «я застряг» — це **локальні проблеми конфігурації або середовища**, + + Використайте локальний AI agent, який може **бачити вашу машину**. Це значно ефективніше, ніж питати + в Discord, тому що більшість випадків "я застряг" — це **локальні проблеми конфігурації або середовища**, які віддалені помічники не можуть перевірити. - **Claude Code**: [https://www.anthropic.com/claude-code/](https://www.anthropic.com/claude-code/) - **OpenAI Codex**: [https://openai.com/codex/](https://openai.com/codex/) - Ці інструменти можуть читати репозиторій, виконувати команди, перевіряти журнали та допомагати виправити налаштування - на рівні машини (PATH, сервіси, дозволи, файли автентифікації). Надайте їм **повну вихідну копію репозиторію** через - інсталяцію з можливістю змін (git): + Ці інструменти можуть читати репозиторій, запускати команди, перевіряти логи та допомагати виправляти + налаштування на рівні машини (PATH, служби, дозволи, auth-файли). Надайте їм **повний checkout вихідного коду** + через hackable (git) встановлення: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - Це встановлює OpenClaw **із git-копії**, тож агент може читати код + документацію та - міркувати про точну версію, яку ви запускаєте. Ви завжди можете повернутися до стабільної версії пізніше, + Це встановлює OpenClaw **із git checkout**, тож agent може читати код + документацію + й аналізувати точну версію, яку ви запускаєте. Ви завжди можете пізніше повернутися до стабільної версії, повторно запустивши інсталятор без `--install-method git`. - Порада: попросіть агента **спланувати та контролювати** виправлення (покроково), а потім виконати лише - потрібні команди. Так зміни залишаються невеликими, і їх легше перевіряти. + Порада: попросіть agent **спланувати й контролювати** виправлення (крок за кроком), а потім виконати лише + необхідні команди. Це робить зміни меншими та полегшує аудит. - Якщо ви знайшли реальну помилку або виправлення, будь ласка, створіть issue на GitHub або надішліть PR: + Якщо ви виявите справжню помилку або виправлення, будь ласка, створіть issue на GitHub або надішліть PR: [https://github.com/openclaw/openclaw/issues](https://github.com/openclaw/openclaw/issues) [https://github.com/openclaw/openclaw/pulls](https://github.com/openclaw/openclaw/pulls) - Почніть із цих команд (поділіться виводом, коли просите про допомогу): + Почніть із цих команд (діліться виводом, коли просите про допомогу): ```bash openclaw status @@ -123,15 +123,15 @@ x-i18n: Що вони роблять: - - `openclaw status`: швидкий знімок стану Gateway/агента + базова конфігурація. - - `openclaw models status`: перевіряє автентифікацію провайдера + доступність моделей. - - `openclaw doctor`: перевіряє та виправляє поширені проблеми конфігурації/стану. + - `openclaw status`: швидкий знімок стану gateway/agent + базової конфігурації. + - `openclaw models status`: перевіряє auth провайдерів + доступність моделей. + - `openclaw doctor`: перевіряє та виправляє типові проблеми config/state. Інші корисні перевірки CLI: `openclaw status --all`, `openclaw logs --follow`, `openclaw gateway status`, `openclaw health --verbose`. Швидкий цикл налагодження: [Перші 60 секунд, якщо щось зламалося](#перші-60-секунд-якщо-щось-зламалося). - Документація з встановлення: [Встановлення](/uk/install), [Прапорці інсталятора](/uk/install/installer), [Оновлення](/uk/install/updating). + Документація зі встановлення: [Встановлення](/uk/install), [Прапорці інсталятора](/uk/install/installer), [Оновлення](/uk/install/updating). @@ -139,28 +139,28 @@ x-i18n: Поширені причини пропуску Heartbeat: - `quiet-hours`: поза налаштованим вікном active-hours - - `empty-heartbeat-file`: `HEARTBEAT.md` існує, але містить лише порожню структуру або лише заголовки - - `no-tasks-due`: активний режим завдань `HEARTBEAT.md`, але ще не настав час для жодного з інтервалів завдань - - `alerts-disabled`: уся видимість Heartbeat вимкнена (`showOk`, `showAlerts` і `useIndicator` усі вимкнені) + - `empty-heartbeat-file`: `HEARTBEAT.md` існує, але містить лише порожню/лише-заголовок заготовку + - `no-tasks-due`: режим завдань `HEARTBEAT.md` активний, але жоден з інтервалів завдань ще не настав + - `alerts-disabled`: усю видимість heartbeat вимкнено (`showOk`, `showAlerts` і `useIndicator` усі вимкнені) - У режимі завдань часові мітки настання терміну оновлюються лише після завершення - реального запуску Heartbeat. Пропущені запуски не позначають завдання як завершені. + У режимі завдань часові позначки настання оновлюються лише після завершення + справжнього запуску heartbeat. Пропущені запуски не позначають завдання як виконані. Документація: [Heartbeat](/uk/gateway/heartbeat), [Автоматизація та завдання](/uk/automation). - - Репозиторій рекомендує запуск із вихідного коду та використання онбордингу: + + Репозиторій рекомендує запуск із вихідного коду та використання onboarding: ```bash curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon ``` - Майстер також може автоматично збирати UI-ресурси. Після онбордингу ви зазвичай запускаєте Gateway на порту **18789**. + Майстер також може автоматично зібрати UI assets. Після onboarding ви зазвичай запускаєте Gateway на порту **18789**. - Із вихідного коду (для контриб'юторів/розробників): + Із вихідного коду (contributors/dev): ```bash git clone https://github.com/openclaw/openclaw.git @@ -175,86 +175,86 @@ x-i18n: - - Майстер відкриває ваш браузер із чистою (без токенів) URL-адресою панелі керування одразу після онбордингу, а також друкує посилання у підсумку. Залиште цю вкладку відкритою; якщо вона не запустилася, скопіюйте та вставте надруковану URL-адресу на тій самій машині. + + Майстер відкриває браузер із чистим (без токена) URL dashboard одразу після onboarding, а також друкує посилання у підсумку. Залиште цю вкладку відкритою; якщо вона не запустилася, скопіюйте й вставте надрукований URL на тій самій машині. - + **Localhost (та сама машина):** - Відкрийте `http://127.0.0.1:18789/`. - - Якщо запитується автентифікація спільним секретом, вставте налаштований токен або пароль у налаштуваннях Control UI. + - Якщо запитується автентифікація за спільним секретом, вставте налаштований токен або пароль у налаштуваннях Control UI. - Джерело токена: `gateway.auth.token` (або `OPENCLAW_GATEWAY_TOKEN`). - Джерело пароля: `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). - - Якщо спільний секрет ще не налаштований, згенеруйте токен за допомогою `openclaw doctor --generate-gateway-token`. + - Якщо спільний секрет ще не налаштовано, згенеруйте токен командою `openclaw doctor --generate-gateway-token`. **Не на localhost:** - - **Tailscale Serve** (рекомендовано): залиште прив'язку до loopback, виконайте `openclaw gateway --tailscale serve`, відкрийте `https:///`. Якщо `gateway.auth.allowTailscale` має значення `true`, заголовки ідентичності задовольняють автентифікацію Control UI/WebSocket (без вставлення спільного секрету, за умови довіреного хоста Gateway); HTTP API усе ще вимагають автентифікації спільним секретом, якщо ви навмисно не використовуєте private-ingress `none` або HTTP-автентифікацію trusted-proxy. - Паралельні невдалі спроби автентифікації Serve від того самого клієнта серіалізуються до того, як обмежувач невдалої автентифікації зафіксує їх, тому вже друга невдала повторна спроба може показати `retry later`. - - **Прив'язка до tailnet**: виконайте `openclaw gateway --bind tailnet --token ""` (або налаштуйте автентифікацію паролем), відкрийте `http://:18789/`, а потім вставте відповідний спільний секрет у налаштуваннях панелі керування. - - **Reverse proxy з урахуванням ідентичності**: залиште Gateway за trusted proxy не в loopback, налаштуйте `gateway.auth.mode: "trusted-proxy"`, а потім відкрийте URL-адресу proxy. - - **SSH-тунель**: `ssh -N -L 18789:127.0.0.1:18789 user@host`, потім відкрийте `http://127.0.0.1:18789/`. Автентифікація спільним секретом усе ще застосовується через тунель; вставте налаштований токен або пароль, якщо з’явиться запит. + - **Tailscale Serve** (рекомендовано): залиште bind loopback, запустіть `openclaw gateway --tailscale serve`, відкрийте `https:///`. Якщо `gateway.auth.allowTailscale` дорівнює `true`, заголовки ідентифікації задовольняють автентифікацію Control UI/WebSocket (без вставлення спільного секрету, за умови довіреного хоста Gateway); HTTP API, як і раніше, вимагають автентифікації спільним секретом, якщо ви свідомо не використовуєте private-ingress `none` або HTTP-автентифікацію trusted-proxy. + Некоректні одночасні спроби автентифікації Serve від того самого клієнта серіалізуються до того, як обмежувач невдалої автентифікації їх зафіксує, тож другий невдалий повтор уже може показати `retry later`. + - **Прив’язка tailnet**: запустіть `openclaw gateway --bind tailnet --token ""` (або налаштуйте автентифікацію паролем), відкрийте `http://:18789/`, а потім вставте відповідний спільний секрет у налаштуваннях dashboard. + - **Зворотний proxy з awareness ідентичності**: тримайте Gateway за trusted proxy не-loopback, налаштуйте `gateway.auth.mode: "trusted-proxy"`, а потім відкрийте URL proxy. + - **SSH tunnel**: `ssh -N -L 18789:127.0.0.1:18789 user@host`, а потім відкрийте `http://127.0.0.1:18789/`. Автентифікація спільним секретом усе ще застосовується через tunnel; вставте налаштований токен або пароль, якщо буде запит. - Див. [Панель керування](/web/dashboard) і [Веб-поверхні](/web) для подробиць про режими прив'язки й автентифікацію. + Див. [Dashboard](/uk/web/dashboard) і [Web surfaces](/uk/web) для деталей режимів bind та автентифікації. - + Вони керують різними рівнями: - - `approvals.exec`: пересилає запити на затвердження до цільових чатів - - `channels..execApprovals`: робить цей канал нативним клієнтом затвердження для exec-затверджень + - `approvals.exec`: пересилає запити на схвалення до чат-призначень + - `channels..execApprovals`: робить цей канал нативним клієнтом схвалення для exec approvals - Політика host exec усе ще є справжнім бар’єром затвердження. Конфігурація чату лише керує тим, - де з’являються запити на затвердження та як люди можуть на них відповідати. + Політика host exec як і раніше є справжнім шлюзом схвалення. Конфігурація чату лише визначає, де з’являються + запити на схвалення та як люди можуть на них відповідати. - У більшості конфігурацій вам **не** потрібні обидва варіанти: + У більшості налаштувань вам **не** потрібні обидві: - Якщо чат уже підтримує команди та відповіді, `/approve` у тому самому чаті працює через спільний шлях. - - Якщо підтримуваний нативний канал може безпечно визначати тих, хто затверджує, OpenClaw тепер автоматично вмикає нативні затвердження з пріоритетом DM, коли `channels..execApprovals.enabled` не задано або має значення `"auto"`. - - Коли доступні нативні картки/кнопки затвердження, цей нативний UI є основним шляхом; агент має включати ручну команду `/approve`, лише якщо результат інструмента каже, що затвердження в чаті недоступні або ручне затвердження є єдиним шляхом. - - Використовуйте `approvals.exec` лише тоді, коли запити також мають пересилатися до інших чатів або явних кімнат для операцій. - - Використовуйте `channels..execApprovals.target: "channel"` або `"both"` лише тоді, коли ви явно хочете, щоб запити на затвердження публікувалися назад у вихідну кімнату/тему. - - Затвердження Plugin — це ще окрема історія: вони за замовчуванням використовують `/approve` у тому самому чаті, необов’язкове пересилання `approvals.plugin`, і лише деякі нативні канали додатково підтримують нативну обробку plugin-затверджень. + - Якщо підтримуваний нативний канал може безпечно визначати тих, хто схвалює, OpenClaw тепер автоматично вмикає нативні схвалення DM-first, коли `channels..execApprovals.enabled` не задано або дорівнює `"auto"`. + - Коли доступні нативні картки/кнопки схвалення, цей нативний UI є основним шляхом; agent має включати ручну команду `/approve` лише якщо результат інструмента каже, що схвалення в чаті недоступні або ручне схвалення — єдиний шлях. + - Використовуйте `approvals.exec` лише тоді, коли запити також потрібно пересилати в інші чати або явні ops-кімнати. + - Використовуйте `channels..execApprovals.target: "channel"` або `"both"` лише коли ви явно хочете, щоб запити на схвалення поверталися до початкової кімнати/теми. + - Схвалення Plugin — це ще окремий випадок: вони типово використовують `/approve` у тому самому чаті, необов’язкове пересилання `approvals.plugin`, і лише деякі нативні канали додатково зберігають нативну обробку plugin-схвалень. - Коротко: пересилання — для маршрутизації, конфігурація нативного клієнта — для більш зручного UX, специфічного для каналу. + Коротко: пересилання — для маршрутизації, конфігурація нативного клієнта — для багатшого UX, специфічного для каналу. Див. [Exec Approvals](/uk/tools/exec-approvals). - + Потрібен Node **>= 22**. Рекомендовано `pnpm`. Bun **не рекомендовано** для Gateway. - Так. Gateway легкий — у документації вказано, що для особистого використання достатньо **512MB-1GB RAM**, **1 ядра** і приблизно **500MB** - дискового простору, а також зазначено, що **Raspberry Pi 4 може це запускати**. + Так. Gateway є легким — у документації вказано, що для особистого використання достатньо **512MB-1GB RAM**, **1 core** і приблизно **500MB** + диска, а також зазначено, що **Raspberry Pi 4 може його запускати**. - Якщо вам потрібен додатковий запас (журнали, медіа, інші сервіси), **рекомендовано 2GB**, але це + Якщо вам потрібен додатковий запас (логи, медіа, інші служби), **рекомендовано 2GB**, але це не жорсткий мінімум. - Порада: невеликий Pi/VPS може розміщувати Gateway, а ви можете підключати **nodes** на ноутбуці/телефоні для + Порада: невеликий Pi/VPS може розміщувати Gateway, а ви можете під’єднати **nodes** на ноутбуці/телефоні для локального екрана/камери/canvas або виконання команд. Див. [Nodes](/uk/nodes). - - Коротко: це працює, але очікуйте певних гострих кутів. + + Коротко: це працює, але очікуйте шорстких кутів. - - Використовуйте **64-bit** ОС і Node >= 22. - - Надавайте перевагу **інсталяції з можливістю змін (git)**, щоб мати змогу бачити журнали й швидко оновлюватися. - - Починайте без каналів/Skills, а потім додавайте їх по одному. - - Якщо ви стикаєтеся з дивними проблемами бінарних файлів, це зазвичай проблема **сумісності ARM**. + - Використовуйте **64-bit** ОС і підтримуйте Node >= 22. + - Віддавайте перевагу **hackable (git) install**, щоб мати доступ до логів і швидко оновлюватися. + - Починайте без channels/Skills, а потім додавайте їх по одному. + - Якщо натрапите на дивні проблеми з бінарними файлами, зазвичай це проблема **сумісності ARM**. Документація: [Linux](/uk/platforms/linux), [Встановлення](/uk/install). - - Цей екран залежить від доступності Gateway та проходження автентифікації. TUI також надсилає - «Wake up, my friend!» автоматично під час першого hatch. Якщо ви бачите цей рядок і **немає відповіді**, - а кількість токенів залишається 0, агент так і не запустився. + + Цей екран залежить від того, чи доступний Gateway і чи пройдена автентифікація. TUI також надсилає + "Wake up, my friend!" автоматично під час першого hatch. Якщо ви бачите цей рядок і **немає відповіді**, + а токени залишаються на 0, agent так і не запустився. 1. Перезапустіть Gateway: @@ -262,7 +262,7 @@ x-i18n: openclaw gateway restart ``` - 2. Перевірте статус + автентифікацію: + 2. Перевірте стан + auth: ```bash openclaw status @@ -270,37 +270,37 @@ x-i18n: openclaw logs --follow ``` - 3. Якщо це все ще зависає, виконайте: + 3. Якщо все одно зависає, виконайте: ```bash openclaw doctor ``` - Якщо Gateway віддалений, переконайтеся, що тунель/з’єднання Tailscale активне і що UI - спрямований на правильний Gateway. Див. [Віддалений доступ](/uk/gateway/remote). + Якщо Gateway віддалений, переконайтеся, що tunnel/Tailscale-з’єднання працює і що UI + вказує на правильний Gateway. Див. [Віддалений доступ](/uk/gateway/remote). - - Так. Скопіюйте **каталог стану** та **робочий простір**, а потім один раз запустіть Doctor. Це - збереже вашого бота «точно таким самим» (пам’ять, історію сеансів, автентифікацію та - стан каналу), якщо ви скопіюєте **обидва** розташування: + + Так. Скопіюйте **каталог стану** і **робочий простір**, а потім один раз запустіть Doctor. Це + збереже вашого бота **точно таким самим** (memory, історія сесій, auth і стан + каналів), якщо ви скопіюєте **обидва** місця: 1. Встановіть OpenClaw на новій машині. 2. Скопіюйте `$OPENCLAW_STATE_DIR` (типово: `~/.openclaw`) зі старої машини. - 3. Скопіюйте свій робочий простір (типово: `~/.openclaw/workspace`). - 4. Запустіть `openclaw doctor` і перезапустіть сервіс Gateway. + 3. Скопіюйте ваш робочий простір (типово: `~/.openclaw/workspace`). + 4. Виконайте `openclaw doctor` і перезапустіть службу Gateway. - Це зберігає конфігурацію, профілі автентифікації, облікові дані WhatsApp, сеанси та пам’ять. Якщо ви працюєте - у віддаленому режимі, пам’ятайте, що хост Gateway володіє сховищем сеансів і робочим простором. + Це зберігає config, профілі auth, облікові дані WhatsApp, сесії та memory. Якщо ви в + remote mode, пам’ятайте, що хост gateway володіє сховищем сесій і робочим простором. - **Важливо:** якщо ви лише комітите/надсилаєте свій робочий простір на GitHub, ви створюєте - резервну копію **пам’яті + bootstrap-файлів**, але **не** історії сеансів або автентифікації. Вони зберігаються - у `~/.openclaw/` (наприклад, `~/.openclaw/agents//sessions/`). + **Важливо:** якщо ви лише commit/push свій робочий простір на GitHub, ви робите резервну + копію **memory + bootstrap-файлів**, але **не** історії сесій чи auth. Вони зберігаються + в `~/.openclaw/` (наприклад, `~/.openclaw/agents//sessions/`). Пов’язане: [Міграція](/uk/install/migrating), [Де що зберігається на диску](#where-things-live-on-disk), - [Робочий простір агента](/uk/concepts/agent-workspace), [Doctor](/uk/gateway/doctor), - [Віддалений режим](/uk/gateway/remote). + [Робочий простір agent](/uk/concepts/agent-workspace), [Doctor](/uk/gateway/doctor), + [Remote mode](/uk/gateway/remote). @@ -308,43 +308,43 @@ x-i18n: Перегляньте changelog на GitHub: [https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md) - Найновіші записи — угорі. Якщо верхній розділ позначено як **Unreleased**, то наступний датований - розділ є останньою випущеною версією. Записи згруповано за **Highlights**, **Changes** і - **Fixes** (а також за розділами документації/іншими розділами за потреби). + Найновіші записи розміщені вгорі. Якщо верхній розділ позначено як **Unreleased**, наступний датований + розділ — це остання випущена версія. Записи згруповано за **Highlights**, **Changes** і + **Fixes** (а також розділами документації/іншими розділами за потреби). - + Деякі з’єднання Comcast/Xfinity помилково блокують `docs.openclaw.ai` через Xfinity - Advanced Security. Вимкніть її або додайте `docs.openclaw.ai` до списку дозволених, а потім повторіть спробу. + Advanced Security. Вимкніть її або додайте `docs.openclaw.ai` до allowlist, а потім повторіть спробу. Будь ласка, допоможіть нам розблокувати сайт, повідомивши тут: [https://spa.xfinity.com/check_url_status](https://spa.xfinity.com/check_url_status). - Якщо ви все ще не можете відкрити сайт, документація дзеркалюється на GitHub: + Якщо ви все ще не можете відкрити сайт, документація дзеркально доступна на GitHub: [https://github.com/openclaw/openclaw/tree/main/docs](https://github.com/openclaw/openclaw/tree/main/docs) - **Stable** і **beta** — це **npm dist-tags**, а не окремі гілки коду: + **Stable** і **beta** — це **dist-tag npm**, а не окремі гілки коду: - `latest` = stable - `beta` = рання збірка для тестування Зазвичай стабільний реліз спочатку потрапляє в **beta**, а потім явний - крок просування переводить ту саму версію в `latest`. Супроводжувачі також можуть - за потреби публікувати одразу в `latest`. Ось чому beta і stable можуть - вказувати на **ту саму версію** після просування. + крок просування переносить цю саму версію в `latest`. За потреби супровідники також можуть + публікувати одразу в `latest`. Саме тому beta і stable можуть + вказувати на **одну й ту саму версію** після просування. Подивіться, що змінилося: [https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md) - Однорядкові команди для встановлення та різницю між beta і dev дивіться в акордеоні нижче. + Однорядкові команди для встановлення та різницю між beta і dev див. в акордеоні нижче. - - **Beta** — це npm dist-tag `beta` (може збігатися з `latest` після просування). - **Dev** — це рухома вершина `main` (git); під час публікації вона використовує npm dist-tag `dev`. + + **Beta** — це dist-tag npm `beta` (може збігатися з `latest` після просування). + **Dev** — це рухома вершина `main` (git); під час публікації вона використовує dist-tag npm `dev`. Однорядкові команди (macOS/Linux): @@ -363,18 +363,18 @@ x-i18n: - + Є два варіанти: - 1. **Dev-канал (git checkout):** + 1. **Dev channel (git checkout):** ```bash openclaw update --channel dev ``` - Це перемикає вас на гілку `main` і оновлює з вихідного коду. + Це перемикає на гілку `main` і оновлює з вихідного коду. - 2. **Інсталяція з можливістю змін (із сайту інсталятора):** + 2. **Hackable install (із сайту інсталятора):** ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git @@ -382,7 +382,7 @@ x-i18n: Це дає вам локальний репозиторій, який можна редагувати, а потім оновлювати через git. - Якщо ви віддаєте перевагу чистому ручному клонуванню, використайте: + Якщо вам більше подобається вручну зробити чистий clone, використайте: ```bash git clone https://github.com/openclaw/openclaw.git @@ -391,19 +391,19 @@ x-i18n: pnpm build ``` - Документація: [Оновлення](/cli/update), [Канали розробки](/uk/install/development-channels), + Документація: [Оновлення](/uk/cli/update), [Канали розробки](/uk/install/development-channels), [Встановлення](/uk/install). - - Приблизна оцінка: + + Приблизний орієнтир: - - **Встановлення:** 2–5 хвилин - - **Onboarding:** 5–15 хвилин залежно від того, скільки каналів/моделей ви налаштовуєте + - **Встановлення:** 2-5 хвилин + - **Onboarding:** 5-15 хвилин залежно від того, скільки каналів/моделей ви налаштовуєте - Якщо процес зависає, скористайтеся [Installer stuck](#quick-start-and-first-run-setup) - і швидким циклом налагодження у [Я застряг](#quick-start-and-first-run-setup). + Якщо процес зависає, скористайтеся [Інсталятор завис?](#quick-start-and-first-run-setup) + і швидким циклом налагодження в [Я застряг](#quick-start-and-first-run-setup). @@ -414,13 +414,13 @@ x-i18n: curl -fsSL https://openclaw.ai/install.sh | bash -s -- --verbose ``` - Установлення beta з докладним виводом: + Встановлення beta з докладним виводом: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --beta --verbose ``` - Для інсталяції з можливістю змін (git): + Для hackable (git) install: ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --verbose @@ -439,15 +439,15 @@ x-i18n: - - Дві поширені проблеми Windows: + + Дві поширені проблеми у Windows: - **1) помилка npm spawn git / git not found** + **1) npm error spawn git / git not found** - - Установіть **Git for Windows** і переконайтеся, що `git` є у вашому PATH. - - Закрийте та знову відкрийте PowerShell, а потім повторно запустіть інсталятор. + - Встановіть **Git for Windows** і переконайтеся, що `git` є у вашому PATH. + - Закрийте й знову відкрийте PowerShell, а потім повторно запустіть інсталятор. - **2) після встановлення openclaw is not recognized** + **2) openclaw is not recognized after install** - Ваша глобальна папка bin npm відсутня в PATH. - Перевірте шлях: @@ -456,10 +456,10 @@ x-i18n: npm config get prefix ``` - - Додайте цей каталог до свого користувацького PATH (суфікс `\bin` у Windows не потрібен; у більшості систем це `%AppData%\npm`). + - Додайте цей каталог до PATH користувача (суфікс `\bin` у Windows не потрібен; у більшості систем це `%AppData%\npm`). - Закрийте й знову відкрийте PowerShell після оновлення PATH. - Якщо вам потрібне найзручніше налаштування у Windows, використовуйте **WSL2** замість нативного Windows. + Якщо вам потрібне максимально гладке налаштування Windows, використовуйте **WSL2** замість нативної Windows. Документація: [Windows](/uk/platforms/windows). @@ -472,7 +472,7 @@ x-i18n: - вивід `system.run`/`exec` показує китайський текст як mojibake - та сама команда виглядає нормально в іншому профілі термінала - Швидкий обхідний шлях у PowerShell: + Швидке обхідне рішення в PowerShell: ```powershell chcp 65001 @@ -487,15 +487,15 @@ x-i18n: openclaw gateway restart ``` - Якщо це все ще відтворюється в останній версії OpenClaw, відстежуйте/повідомляйте тут: + Якщо ви все ще відтворюєте це в останній версії OpenClaw, відстежуйте/повідомте про це тут: - [Issue #30640](https://github.com/openclaw/openclaw/issues/30640) - Використайте **інсталяцію з можливістю змін (git)**, щоб повний вихідний код і документація були у вас локально, а потім запитайте - свого бота (або Claude/Codex) _з цієї папки_, щоб він міг прочитати репозиторій і дати точну відповідь. + Використайте **hackable (git) install**, щоб мати локально повний вихідний код і документацію, а потім запитайте + свого бота (або Claude/Codex) _з цієї папки_, щоб він міг читати репозиторій і відповідати точно. ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git @@ -505,48 +505,48 @@ x-i18n: - - Коротка відповідь: дотримуйтесь інструкції для Linux, а потім запустіть onboarding. + + Коротка відповідь: дотримуйтеся інструкції для Linux, а потім запустіть onboarding. - - Швидкий шлях для Linux + встановлення сервісу: [Linux](/uk/platforms/linux). + - Швидкий шлях для Linux + встановлення служби: [Linux](/uk/platforms/linux). - Повний покроковий посібник: [Початок роботи](/uk/start/getting-started). - - Інсталятор + оновлення: [Встановлення й оновлення](/uk/install/updating). + - Інсталятор + оновлення: [Встановлення та оновлення](/uk/install/updating). - - Підійде будь-який Linux VPS. Установіть на сервері, а потім використовуйте SSH/Tailscale для доступу до Gateway. + + Підійде будь-який Linux VPS. Встановіть систему на сервері, а потім використовуйте SSH/Tailscale для доступу до Gateway. Посібники: [exe.dev](/uk/install/exe-dev), [Hetzner](/uk/install/hetzner), [Fly.io](/uk/install/fly). Віддалений доступ: [Віддалений Gateway](/uk/gateway/remote). - - Ми підтримуємо **хаб хостингу** з популярними провайдерами. Оберіть одного та дотримуйтесь посібника: + + У нас є **хаб хостингу** з поширеними провайдерами. Виберіть один і дотримуйтеся інструкції: - - [VPS-хостинг](/uk/vps) (усі провайдери в одному місці) + - [VPS hosting](/uk/vps) (усі провайдери в одному місці) - [Fly.io](/uk/install/fly) - [Hetzner](/uk/install/hetzner) - [exe.dev](/uk/install/exe-dev) Як це працює в хмарі: **Gateway працює на сервері**, а ви отримуєте до нього доступ - з ноутбука/телефона через Control UI (або Tailscale/SSH). Ваш стан + робочий простір - живуть на сервері, тому ставтеся до хоста як до джерела істини та створюйте його резервні копії. + з ноутбука/телефона через Control UI (або Tailscale/SSH). Ваші state + workspace + зберігаються на сервері, тож ставтеся до хоста як до джерела істини та створюйте його резервні копії. - Ви можете підключати **nodes** (Mac/iOS/Android/headless) до цього хмарного Gateway, щоб отримувати доступ - до локального екрана/камери/canvas або виконувати команди на ноутбуці, залишаючи + Ви можете під’єднати **nodes** (Mac/iOS/Android/headless) до цього хмарного Gateway, щоб отримати доступ + до локального екрана/камери/canvas або запускати команди на ноутбуці, залишаючи Gateway у хмарі. Хаб: [Платформи](/uk/platforms). Віддалений доступ: [Віддалений Gateway](/uk/gateway/remote). - Nodes: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes). + Nodes: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes). - - Коротка відповідь: **можливо, але не рекомендовано**. Процес оновлення може перезапустити - Gateway (що обриває активний сеанс), може потребувати чистого git checkout і - може запитувати підтвердження. Безпечніше запускати оновлення з оболонки як оператор. + + Коротка відповідь: **можливо, але не рекомендовано**. Під час оновлення може перезапускатися + Gateway (що розриває активну сесію), може знадобитися чистий git checkout, а також + може з’явитися запит на підтвердження. Безпечніше запускати оновлення з оболонки як оператор. Використовуйте CLI: @@ -558,189 +558,189 @@ x-i18n: openclaw update --no-restart ``` - Якщо вам обов’язково потрібно автоматизувати це з агента: + Якщо вам усе ж потрібно автоматизувати це через agent: ```bash openclaw update --yes --no-restart openclaw gateway restart ``` - Документація: [Оновлення](/cli/update), [Оновлення](/uk/install/updating). + Документація: [Оновлення](/uk/cli/update), [Оновлення](/uk/install/updating). - `openclaw onboard` — це рекомендований шлях налаштування. У **локальному режимі** він проводить вас через: + `openclaw onboard` — це рекомендований шлях налаштування. У **local mode** він проводить вас через: - - **Налаштування моделі/автентифікації** (OAuth провайдера, API-ключі, токен налаштування Anthropic, а також варіанти локальних моделей, як-от LM Studio) - - Розташування **робочого простору** + bootstrap-файли + - **Налаштування моделі/auth** (OAuth провайдера, API keys, Anthropic setup-token, а також варіанти локальних моделей, як-от LM Studio) + - розташування **робочого простору** + bootstrap-файли - **Налаштування Gateway** (bind/port/auth/tailscale) - - **Канали** (WhatsApp, Telegram, Discord, Mattermost, Signal, iMessage, а також вбудовані channel Plugins, як-от QQ Bot) - - **Установлення демона** (LaunchAgent у macOS; systemd user unit у Linux/WSL2) - - **Перевірки стану** і вибір **Skills** + - **Канали** (WhatsApp, Telegram, Discord, Mattermost, Signal, iMessage, а також вбудовані channel plugins, як-от QQ Bot) + - **Встановлення daemon** (LaunchAgent на macOS; systemd user unit на Linux/WSL2) + - **Перевірки стану** та вибір **Skills** - Він також попереджає, якщо ваша налаштована модель невідома або для неї немає автентифікації. + Він також попереджає, якщо налаштована модель невідома або для неї бракує auth. - - Ні. Ви можете запускати OpenClaw з **API-ключами** (Anthropic/OpenAI/інші) або з + + Ні. Ви можете запускати OpenClaw з **API keys** (Anthropic/OpenAI/інші) або з **лише локальними моделями**, щоб ваші дані залишалися на вашому пристрої. Підписки (Claude - Pro/Max або OpenAI Codex) — це необов’язкові способи автентифікації в цих провайдерів. + Pro/Max або OpenAI Codex) — це необов’язкові способи автентифікації в цих провайдерах. Для Anthropic в OpenClaw практичний поділ такий: - - **API-ключ Anthropic**: звичайне тарифікування Anthropic API - - **Автентифікація Claude CLI / підпискою Claude в OpenClaw**: співробітники Anthropic + - **Anthropic API key**: звичайна оплата Anthropic API + - **Claude CLI / auth через підписку Claude в OpenClaw**: співробітники Anthropic повідомили нам, що таке використання знову дозволене, і OpenClaw розглядає використання `claude -p` як санкціоноване для цієї інтеграції, якщо Anthropic не опублікує нову політику - Для довготривалих хостів Gateway API-ключі Anthropic усе ще є більш + Для довготривалих хостів gateway ключі Anthropic API усе ще залишаються більш передбачуваним варіантом налаштування. OAuth OpenAI Codex явно підтримується для зовнішніх - інструментів на кшталт OpenClaw. + інструментів, таких як OpenClaw. - OpenClaw також підтримує інші розміщені варіанти у стилі підписки, зокрема + OpenClaw також підтримує інші розміщені варіанти в стилі підписки, зокрема **Qwen Cloud Coding Plan**, **MiniMax Coding Plan** і **Z.AI / GLM Coding Plan**. Документація: [Anthropic](/uk/providers/anthropic), [OpenAI](/uk/providers/openai), [Qwen Cloud](/uk/providers/qwen), - [MiniMax](/uk/providers/minimax), [Моделі GLM](/uk/providers/glm), + [MiniMax](/uk/providers/minimax), [GLM Models](/uk/providers/glm), [Локальні моделі](/uk/gateway/local-models), [Моделі](/uk/concepts/models). - + Так. Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тож - OpenClaw вважає автентифікацію через підписку Claude і використання `claude -p` санкціонованими + OpenClaw вважає auth через підписку Claude та використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. Якщо вам потрібне - найбільш передбачуване серверне налаштування, натомість використовуйте API-ключ Anthropic. + найпередбачуваніше серверне налаштування, замість цього використовуйте ключ Anthropic API. - + Так. - Співробітники Anthropic повідомили нам, що таке використання знову дозволене, тож OpenClaw вважає - повторне використання Claude CLI і використання `claude -p` санкціонованими для цієї інтеграції, + Співробітники Anthropic повідомили нам, що таке використання знову дозволене, тому OpenClaw вважає + повторне використання Claude CLI та використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. - Токен налаштування Anthropic і далі доступний як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI та `claude -p`, коли це можливо. - Для production або багатокористувацьких навантажень автентифікація через API-ключ Anthropic все ще є - безпечнішим і більш передбачуваним вибором. Якщо вас цікавлять інші розміщені - варіанти у стилі підписки в OpenClaw, див. [OpenAI](/uk/providers/openai), [Qwen / Model - Cloud](/uk/providers/qwen), [MiniMax](/uk/providers/minimax) і [Моделі - GLM](/uk/providers/glm). + Anthropic setup-token як і раніше доступний як підтримуваний шлях токена в OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI та `claude -p`, коли це доступно. + Для production або multi-user навантажень auth через ключ Anthropic API все ще є + безпечнішим і передбачуванішим вибором. Якщо вам потрібні інші розміщені + варіанти в стилі підписки в OpenClaw, див. [OpenAI](/uk/providers/openai), [Qwen / Model + Cloud](/uk/providers/qwen), [MiniMax](/uk/providers/minimax) і [GLM + Models](/uk/providers/glm). -Це означає, що вашу **квоту/ліміт швидкості Anthropic** вичерпано для поточного вікна. Якщо ви -використовуєте **Claude CLI**, дочекайтеся скидання вікна або оновіть свій план. Якщо ви -використовуєте **API-ключ Anthropic**, перевірте Anthropic Console -щодо використання/білінгу й за потреби підвищте ліміти. +Це означає, що ваша **квота/ліміт запитів Anthropic** вичерпана для поточного вікна. Якщо ви +використовуєте **Claude CLI**, зачекайте, доки вікно не скинеться, або оновіть свій план. Якщо ви +використовуєте **ключ Anthropic API**, перевірте Anthropic Console +щодо використання/білінгу та за потреби підвищте ліміти. - Якщо повідомлення конкретно таке: - `Extra usage is required for long context requests`, запит намагається використовувати - бета-версію контексту Anthropic на 1M (`context1m: true`). Це працює лише тоді, коли ваші - облікові дані мають право на білінг довгого контексту (білінг API-ключа або - шлях входу в Claude OpenClaw з увімкненим Extra Usage). + Якщо повідомлення має такий вигляд: + `Extra usage is required for long context requests`, запит намагається використати + бета-функцію Anthropic з контекстом 1M (`context1m: true`). Це працює лише тоді, коли ваші + облікові дані підходять для білінгу довгого контексту (білінг API key або + шлях входу Claude в OpenClaw з увімкненим Extra Usage). - Порада: задайте **резервну модель**, щоб OpenClaw міг і далі відповідати, поки провайдер обмежений за rate limit. - Див. [Моделі](/cli/models), [OAuth](/uk/concepts/oauth) і + Порада: встановіть **резервну модель**, щоб OpenClaw міг продовжувати відповідати, коли провайдер упирається в rate limit. + Див. [Models](/uk/cli/models), [OAuth](/uk/concepts/oauth) і [/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context](/uk/gateway/troubleshooting#anthropic-429-extra-usage-required-for-long-context). - Так. OpenClaw має вбудованого провайдера **Amazon Bedrock (Converse)**. Якщо присутні маркери середовища AWS, OpenClaw може автоматично виявити каталог потокового/текстового Bedrock і об’єднати його як неявного провайдера `amazon-bedrock`; інакше ви можете явно ввімкнути `plugins.entries.amazon-bedrock.config.discovery.enabled` або додати запис ручного провайдера. Див. [Amazon Bedrock](/uk/providers/bedrock) і [Провайдери моделей](/uk/providers/models). Якщо ви віддаєте перевагу керованому потоку ключів, OpenAI-сумісний proxy перед Bedrock також лишається дійсним варіантом. + Так. OpenClaw має вбудований провайдер **Amazon Bedrock (Converse)**. За наявності маркерів env AWS OpenClaw може автоматично виявляти каталог Bedrock для streaming/text і об’єднувати його як неявного провайдера `amazon-bedrock`; інакше ви можете явно ввімкнути `plugins.entries.amazon-bedrock.config.discovery.enabled` або додати запис провайдера вручну. Див. [Amazon Bedrock](/uk/providers/bedrock) і [Провайдери моделей](/uk/providers/models). Якщо ви віддаєте перевагу керованому потоку ключів, OpenAI-сумісний proxy перед Bedrock також залишається коректним варіантом. - - OpenClaw підтримує **OpenAI Code (Codex)** через OAuth (вхід через ChatGPT). Onboarding може запустити потік OAuth і за потреби встановить модель за замовчуванням `openai-codex/gpt-5.4`. Див. [Провайдери моделей](/uk/concepts/model-providers) і [Onboarding (CLI)](/uk/start/wizard). + + OpenClaw підтримує **OpenAI Code (Codex)** через OAuth (вхід через ChatGPT). Onboarding може запустити OAuth-потік і за потреби встановить модель за замовчуванням `openai-codex/gpt-5.4`. Див. [Провайдери моделей](/uk/concepts/model-providers) і [Onboarding (CLI)](/uk/start/wizard). - OpenClaw розглядає ці два шляхи окремо: + OpenClaw розглядає ці два маршрути окремо: - `openai-codex/gpt-5.4` = OAuth ChatGPT/Codex - `openai/gpt-5.4` = прямий API OpenAI Platform - В OpenClaw вхід через ChatGPT/Codex прив’язаний до маршруту `openai-codex/*`, + В OpenClaw вхід ChatGPT/Codex прив’язаний до маршруту `openai-codex/*`, а не до прямого маршруту `openai/*`. Якщо вам потрібен прямий шлях API в - OpenClaw, встановіть `OPENAI_API_KEY` (або еквівалентну конфігурацію провайдера OpenAI). - Якщо вам потрібен вхід через ChatGPT/Codex в OpenClaw, використовуйте `openai-codex/*`. + OpenClaw, задайте `OPENAI_API_KEY` (або еквівалентну конфігурацію провайдера OpenAI). + Якщо вам потрібен вхід ChatGPT/Codex в OpenClaw, використовуйте `openai-codex/*`. - - `openai-codex/*` використовує маршрут Codex OAuth, і доступні вікна квоти для нього + + `openai-codex/*` використовує маршрут OAuth Codex, а його доступні вікна квот керуються OpenAI та залежать від плану. На практиці ці ліміти можуть відрізнятися від - досвіду використання сайту/застосунку ChatGPT, навіть якщо обидва прив’язані до одного акаунта. + досвіду використання на сайті/в застосунку ChatGPT, навіть коли обидва прив’язані до одного облікового запису. - OpenClaw може показувати поточні видимі вікна використання/квоти провайдера в - `openclaw models status`, але не вигадує і не нормалізує entitlement’и ChatGPT web + OpenClaw може показати поточні видимі вікна використання/квоти провайдера в + `openclaw models status`, але не вигадує і не нормалізує права ChatGPT-web у прямий доступ до API. Якщо вам потрібен прямий шлях білінгу/лімітів OpenAI Platform, - використовуйте `openai/*` з API-ключем. + використовуйте `openai/*` з API key. - + Так. OpenClaw повністю підтримує **OAuth підписки OpenAI Code (Codex)**. - OpenAI явно дозволяє використання OAuth підписки в зовнішніх інструментах/процесах - на кшталт OpenClaw. Onboarding може запустити потік OAuth за вас. + OpenAI явно дозволяє використання OAuth підписки в зовнішніх інструментах/робочих процесах + на кшталт OpenClaw. Onboarding може запустити OAuth-потік за вас. Див. [OAuth](/uk/concepts/oauth), [Провайдери моделей](/uk/concepts/model-providers) і [Onboarding (CLI)](/uk/start/wizard). - Gemini CLI використовує **потік автентифікації Plugin**, а не client id або secret у `openclaw.json`. + Gemini CLI використовує **потік auth Plugin**, а не client id чи secret у `openclaw.json`. Кроки: - 1. Установіть Gemini CLI локально, щоб `gemini` був у `PATH` + 1. Локально встановіть Gemini CLI, щоб `gemini` був у `PATH` - Homebrew: `brew install gemini-cli` - npm: `npm install -g @google/gemini-cli` 2. Увімкніть Plugin: `openclaw plugins enable google` 3. Увійдіть: `openclaw models auth login --provider google-gemini-cli --set-default` 4. Модель за замовчуванням після входу: `google-gemini-cli/gemini-3-flash-preview` - 5. Якщо запити не вдаються, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway + 5. Якщо запити не вдаються, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості gateway - Це зберігає OAuth-токени в профілях автентифікації на хості Gateway. Докладніше: [Провайдери моделей](/uk/concepts/model-providers). + Це зберігає токени OAuth у профілях auth на хості gateway. Подробиці: [Провайдери моделей](/uk/concepts/model-providers). - Зазвичай ні. OpenClaw потребує великого контексту + сильної безпеки; малі карти обрізають і пропускають витоки. Якщо вже потрібно, запускайте **найбільшу** збірку моделі, яку можете локально (LM Studio), і див. [/gateway/local-models](/uk/gateway/local-models). Менші/квантизовані моделі підвищують ризик prompt injection — див. [Безпека](/uk/gateway/security). + Зазвичай ні. OpenClaw потребує великого контексту + надійної безпеки; малі карти обрізають і витікають. Якщо вже треба, запускайте **найбільшу** збірку моделі, яку можете локально (LM Studio), і див. [/gateway/local-models](/uk/gateway/local-models). Менші/квантизовані моделі підвищують ризик prompt injection — див. [Безпека](/uk/gateway/security). - - Вибирайте endpoints із фіксацією регіону. OpenRouter надає варіанти MiniMax, Kimi та GLM, розміщені в США; вибирайте варіант, розміщений у США, щоб зберігати дані в межах регіону. Ви все одно можете вказувати Anthropic/OpenAI поруч із ними, використовуючи `models.mode: "merge"`, щоб резервні варіанти залишалися доступними, водночас дотримуючись вибраного вами регіонального провайдера. + + Вибирайте endpoints, прив’язані до регіону. OpenRouter надає варіанти з хостингом у США для MiniMax, Kimi і GLM; виберіть варіант із хостингом у США, щоб дані залишалися в межах регіону. Ви все одно можете перераховувати Anthropic/OpenAI поряд із ними, використовуючи `models.mode: "merge"`, щоб резервні варіанти залишалися доступними, водночас дотримуючись вибраного регіонального провайдера. - Ні. OpenClaw працює на macOS або Linux (Windows через WSL2). Mac mini — необов’язковий варіант: деякі люди - купують його як постійно увімкнений хост, але також підійде невеликий VPS, домашній сервер або коробка рівня Raspberry Pi. + Ні. OpenClaw працює на macOS або Linux (Windows через WSL2). Mac mini — необов’язковий варіант: + деякі люди купують його як хост, що завжди ввімкнений, але також підійде невеликий VPS, домашній сервер або пристрій класу Raspberry Pi. - Mac вам потрібен лише **для інструментів тільки для macOS**. Для iMessage використовуйте [BlueBubbles](/uk/channels/bluebubbles) (рекомендовано) — сервер BlueBubbles працює на будь-якому Mac, а Gateway може працювати на Linux або деінде. Якщо вам потрібні інші інструменти тільки для macOS, запускайте Gateway на Mac або підключайте macOS Node. + Mac вам потрібен лише **для інструментів тільки для macOS**. Для iMessage використовуйте [BlueBubbles](/uk/channels/bluebubbles) (рекомендовано) — сервер BlueBubbles працює на будь-якому Mac, а Gateway може працювати на Linux або деінде. Якщо вам потрібні інші інструменти тільки для macOS, запускайте Gateway на Mac або під’єднайте macOS Node. Документація: [BlueBubbles](/uk/channels/bluebubbles), [Nodes](/uk/nodes), [Віддалений режим Mac](/uk/platforms/mac/remote). - Вам потрібен **якийсь пристрій macOS**, увійшовший у Messages. Це **не обов’язково** має бути Mac mini — - підійде будь-який Mac. **Використовуйте [BlueBubbles](/uk/channels/bluebubbles)** (рекомендовано) для iMessage — сервер BlueBubbles працює на macOS, а Gateway може працювати на Linux або деінде. + Вам потрібен **якийсь пристрій macOS**, у якому виконано вхід у Messages. Це **не** обов’язково має бути Mac mini — + підійде будь-який Mac. Для iMessage **використовуйте [BlueBubbles](/uk/channels/bluebubbles)** (рекомендовано) — сервер BlueBubbles працює на macOS, а Gateway може працювати на Linux або деінде. - Типові конфігурації: + Поширені варіанти налаштування: - - Запускайте Gateway на Linux/VPS, а сервер BlueBubbles — на будь-якому Mac, увійшовшому в Messages. - - Запускайте все на Mac, якщо хочете найпростішу конфігурацію на одній машині. + - Запускайте Gateway на Linux/VPS, а сервер BlueBubbles — на будь-якому Mac, у якому виконано вхід у Messages. + - Запускайте все на Mac, якщо хочете найпростішу конфігурацію з однією машиною. Документація: [BlueBubbles](/uk/channels/bluebubbles), [Nodes](/uk/nodes), [Віддалений режим Mac](/uk/platforms/mac/remote). @@ -748,22 +748,22 @@ x-i18n: - Так. **Mac mini може запускати Gateway**, а ваш MacBook Pro може підключатися як - **Node** (супутній пристрій). Nodes не запускають Gateway — вони надають додаткові - можливості, як-от screen/camera/canvas і `system.run` на цьому пристрої. + Так. **Mac mini може запускати Gateway**, а ваш MacBook Pro може під’єднатися як + **Node** (додатковий пристрій). Nodes не запускають Gateway — вони надають додаткові + можливості, як-от екран/камера/canvas і `system.run` на цьому пристрої. - Типовий шаблон: + Поширений шаблон: - - Gateway на Mac mini (завжди увімкнений). - - MacBook Pro запускає застосунок macOS або хост Node і підключається до Gateway. + - Gateway на Mac mini (завжди ввімкнений). + - MacBook Pro запускає застосунок macOS або хост Node і під’єднується до Gateway. - Щоб побачити його, використовуйте `openclaw nodes status` / `openclaw nodes list`. - Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes). - - Bun **не рекомендований**. Ми спостерігаємо помилки під час виконання, особливо з WhatsApp і Telegram. + + Bun **не рекомендовано**. Ми бачимо помилки під час роботи, особливо з WhatsApp і Telegram. Для стабільних Gateway використовуйте **Node**. Якщо ви все ж хочете поекспериментувати з Bun, робіть це на не-production Gateway @@ -778,26 +778,26 @@ x-i18n: Безпечніше (без стороннього бота): - - Надішліть DM своєму боту, потім виконайте `openclaw logs --follow` і прочитайте `from.id`. + - Напишіть своєму боту в DM, потім виконайте `openclaw logs --follow` і прочитайте `from.id`. Офіційний Bot API: - - Надішліть DM своєму боту, потім викличте `https://api.telegram.org/bot/getUpdates` і прочитайте `message.from.id`. + - Напишіть своєму боту в DM, потім викличте `https://api.telegram.org/bot/getUpdates` і прочитайте `message.from.id`. - Сторонні сервіси (менш приватно): + Сторонній варіант (менш приватний): - - Надішліть DM `@userinfobot` або `@getidsbot`. + - Напишіть у DM `@userinfobot` або `@getidsbot`. Див. [/channels/telegram](/uk/channels/telegram#access-control-and-activation). - Так, через **маршрутизацію кількох агентів**. Прив’яжіть **DM** WhatsApp кожного відправника (peer `kind: "direct"`, sender E.164 на кшталт `+15551234567`) до іншого `agentId`, щоб кожна людина мала власний робочий простір і сховище сеансів. Відповіді все одно надходитимуть з **того самого акаунта WhatsApp**, а контроль доступу DM (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) є глобальним для кожного акаунта WhatsApp. Див. [Маршрутизація кількох агентів](/uk/concepts/multi-agent) і [WhatsApp](/uk/channels/whatsapp). + Так, через **маршрутизацію multi-agent**. Прив’яжіть WhatsApp **DM** кожного відправника (peer `kind: "direct"`, E.164 відправника на кшталт `+15551234567`) до різного `agentId`, щоб кожна людина мала власний робочий простір і сховище сесій. Відповіді все одно надходитимуть з **того самого облікового запису WhatsApp**, а контроль доступу DM (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) є глобальним для кожного облікового запису WhatsApp. Див. [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [WhatsApp](/uk/channels/whatsapp). - - Так. Використовуйте маршрутизацію кількох агентів: задайте кожному агенту власну модель за замовчуванням, а потім прив’яжіть вхідні маршрути (акаунт провайдера або конкретні peers) до кожного агента. Приклад конфігурації є в [Маршрутизація кількох агентів](/uk/concepts/multi-agent). Див. також [Моделі](/uk/concepts/models) і [Конфігурація](/uk/gateway/configuration). + + Так. Використовуйте маршрутизацію multi-agent: призначте кожному agent власну модель за замовчуванням, а потім прив’яжіть вхідні маршрути (обліковий запис провайдера або конкретні peers) до кожного agent. Приклад конфігурації наведено в [Маршрутизації Multi-Agent](/uk/concepts/multi-agent). Див. також [Моделі](/uk/concepts/models) і [Конфігурація](/uk/gateway/configuration). @@ -810,27 +810,27 @@ x-i18n: brew install ``` - Якщо ви запускаєте OpenClaw через systemd, переконайтеся, що PATH сервісу містить `/home/linuxbrew/.linuxbrew/bin` (або ваш префікс brew), щоб інструменти, встановлені через `brew`, знаходилися в non-login shells. - Останні збірки також додають на початок типові користувацькі bin-каталоги в Linux systemd services (наприклад `~/.local/bin`, `~/.npm-global/bin`, `~/.local/share/pnpm`, `~/.bun/bin`) і враховують `PNPM_HOME`, `NPM_CONFIG_PREFIX`, `BUN_INSTALL`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `NVM_DIR` і `FNM_DIR`, якщо вони задані. + Якщо ви запускаєте OpenClaw через systemd, переконайтеся, що PATH служби містить `/home/linuxbrew/.linuxbrew/bin` (або ваш префікс brew), щоб інструменти, встановлені через `brew`, визначалися в non-login оболонках. + Останні збірки також додають попереду поширені користувацькі каталоги bin у службах Linux systemd (наприклад `~/.local/bin`, `~/.npm-global/bin`, `~/.local/share/pnpm`, `~/.bun/bin`) і враховують `PNPM_HOME`, `NPM_CONFIG_PREFIX`, `BUN_INSTALL`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `NVM_DIR` і `FNM_DIR`, якщо вони задані. - - - **Інсталяція hackable (git):** повна копія вихідного коду, можна редагувати, найкраще для контриб’юторів. - Ви локально запускаєте збірки й можете патчити код/документацію. - - **npm install:** глобальне встановлення CLI, без репозиторію, найкраще для варіанту «просто запустити». - Оновлення надходять із npm dist-tags. + + - **Hackable (git) install:** повний checkout вихідного коду, можна редагувати, найкраще для contributors. + Ви локально запускаєте збірки та можете вносити зміни в код/документацію. + - **npm install:** глобальне встановлення CLI, без репозиторію, найкраще для сценарію «просто запустити». + Оновлення надходять із dist-tag npm. Документація: [Початок роботи](/uk/start/getting-started), [Оновлення](/uk/install/updating). - - Так. Установіть інший варіант, а потім запустіть Doctor, щоб сервіс Gateway вказував на нову точку входу. - Це **не видаляє ваші дані** — воно лише змінює інсталяцію коду OpenClaw. Ваш стан - (`~/.openclaw`) і робочий простір (`~/.openclaw/workspace`) залишаються недоторканими. + + Так. Встановіть інший варіант, а потім запустіть Doctor, щоб служба gateway вказувала на нову точку входу. + Це **не видаляє ваші дані** — змінюється лише встановлення коду OpenClaw. Ваші state + (`~/.openclaw`) і workspace (`~/.openclaw/workspace`) залишаються недоторканими. - З npm на git: + Із npm до git: ```bash git clone https://github.com/openclaw/openclaw.git @@ -841,7 +841,7 @@ x-i18n: openclaw gateway restart ``` - З git на npm: + Із git до npm: ```bash npm install -g openclaw@latest @@ -849,67 +849,67 @@ x-i18n: openclaw gateway restart ``` - Doctor виявляє невідповідність точки входу сервісу Gateway і пропонує переписати конфігурацію сервісу відповідно до поточної інсталяції (використовуйте `--repair` для автоматизації). + Doctor виявляє невідповідність точки входу служби gateway і пропонує переписати конфігурацію служби відповідно до поточного встановлення (використовуйте `--repair` в автоматизації). Поради щодо резервного копіювання: див. [Стратегія резервного копіювання](#where-things-live-on-disk). - Коротка відповідь: **якщо вам потрібна надійність 24/7, використовуйте VPS**. Якщо вам потрібен - мінімальний поріг входу й ви не проти сну/перезапусків, запускайте локально. + Коротка відповідь: **якщо вам потрібна надійність 24/7, використовуйте VPS**. Якщо ви хочете + мінімального тертя й вас влаштовують сон/перезапуски, запускайте локально. **Ноутбук (локальний Gateway)** - - **Плюси:** без витрат на сервер, прямий доступ до локальних файлів, живе вікно браузера. - - **Мінуси:** сон/обриви мережі = роз’єднання, оновлення/перезавантаження ОС переривають роботу, комп’ютер має залишатися активним. + - **Плюси:** немає витрат на сервер, прямий доступ до локальних файлів, видиме вікно браузера в реальному часі. + - **Мінуси:** сон/збої мережі = відключення, оновлення ОС/перезавантаження переривають роботу, пристрій має залишатися активним. **VPS / хмара** - - **Плюси:** завжди увімкнений, стабільна мережа, немає проблем зі сном ноутбука, легше підтримувати безперервну роботу. - - **Мінуси:** часто працює без графічного інтерфейсу (використовуйте скріншоти), лише віддалений доступ до файлів, для оновлень потрібен SSH. + - **Плюси:** завжди ввімкнений, стабільна мережа, немає проблем через сон ноутбука, простіше підтримувати в роботі. + - **Мінуси:** часто працює без дисплея (використовуйте знімки екрана), лише віддалений доступ до файлів, для оновлень потрібно підключатися через SSH. - **Примітка, специфічна для OpenClaw:** WhatsApp/Telegram/Slack/Mattermost/Discord чудово працюють із VPS. Єдиний реальний компроміс — **браузер без графічного інтерфейсу** чи видиме вікно. Див. [Браузер](/uk/tools/browser). + **Примітка щодо OpenClaw:** WhatsApp/Telegram/Slack/Mattermost/Discord усі добре працюють з VPS. Єдиний справжній компроміс — **headless browser** проти видимого вікна. Див. [Browser](/uk/tools/browser). - **Рекомендований варіант за замовчуванням:** VPS, якщо у вас уже траплялися роз’єднання Gateway. Локальний запуск чудово підходить, коли ви активно користуєтеся Mac і хочете локальний доступ до файлів або автоматизацію UI з видимим браузером. + **Рекомендований варіант за замовчуванням:** VPS, якщо у вас раніше були відключення gateway. Локальний запуск чудово підходить, коли ви активно користуєтеся Mac і хочете локальний доступ до файлів або автоматизацію UI у видимому браузері. - + Не обов’язково, але **рекомендовано для надійності та ізоляції**. - - **Виділений хост (VPS/Mac mini/Pi):** завжди увімкнений, менше переривань через сон/перезавантаження, чистіші дозволи, легше підтримувати безперервну роботу. - - **Спільний ноутбук/настільний комп’ютер:** цілком підходить для тестування й активного використання, але очікуйте пауз, коли машина переходить у сон або оновлюється. + - **Виділений хост (VPS/Mac mini/Pi):** завжди ввімкнений, менше переривань через сон/перезавантаження, чистіші дозволи, простіше підтримувати в роботі. + - **Спільний ноутбук/настільний комп’ютер:** цілком нормально для тестування та активного використання, але очікуйте пауз, коли машина переходить у сон або оновлюється. - Якщо ви хочете поєднати переваги обох варіантів, тримайте Gateway на виділеному хості, а ноутбук підключіть як **Node** для локальних інструментів екрана/камери/exec. Див. [Nodes](/uk/nodes). - Для рекомендацій із безпеки прочитайте [Безпека](/uk/gateway/security). + Якщо ви хочете поєднати переваги обох варіантів, тримайте Gateway на виділеному хості, а ноутбук під’єднайте як **Node** для локальних інструментів екрана/камери/exec. Див. [Nodes](/uk/nodes). + Для рекомендацій з безпеки прочитайте [Безпека](/uk/gateway/security). - OpenClaw легкий. Для базового Gateway + одного каналу чату: + OpenClaw є легким. Для базового Gateway + одного чат-каналу: - **Абсолютний мінімум:** 1 vCPU, 1GB RAM, ~500MB диска. - - **Рекомендовано:** 1–2 vCPU, 2GB RAM або більше із запасом (журнали, медіа, кілька каналів). Інструменти Node і автоматизація браузера можуть бути ресурсомісткими. + - **Рекомендовано:** 1-2 vCPU, 2GB RAM або більше із запасом (логи, медіа, кілька каналів). Інструменти Node і автоматизація браузера можуть бути ресурсомісткими. - ОС: використовуйте **Ubuntu LTS** (або будь-який сучасний Debian/Ubuntu). Шлях інсталяції для Linux найкраще протестовано саме там. + ОС: використовуйте **Ubuntu LTS** (або будь-який сучасний Debian/Ubuntu). Шлях встановлення для Linux найкраще протестовано саме там. - Документація: [Linux](/uk/platforms/linux), [VPS-хостинг](/uk/vps). + Документація: [Linux](/uk/platforms/linux), [VPS hosting](/uk/vps). - Так. Ставтеся до VM так само, як до VPS: вона має бути завжди увімкненою, доступною та мати достатньо - RAM для Gateway і будь-яких каналів, які ви ввімкнете. + Так. Ставтеся до VM так само, як до VPS: вона має бути завжди ввімкненою, доступною та мати достатньо + RAM для Gateway і всіх каналів, які ви ввімкнете. Базові рекомендації: - **Абсолютний мінімум:** 1 vCPU, 1GB RAM. - - **Рекомендовано:** 2GB RAM або більше, якщо ви запускаєте кілька каналів, автоматизацію браузера чи медіаінструменти. + - **Рекомендовано:** 2GB RAM або більше, якщо ви запускаєте кілька каналів, автоматизацію браузера або медіаінструменти. - **ОС:** Ubuntu LTS або інший сучасний Debian/Ubuntu. - Якщо ви працюєте у Windows, **WSL2 — це найпростіший варіант у стилі VM** і він має найкращу - сумісність з інструментами. Див. [Windows](/uk/platforms/windows), [VPS-хостинг](/uk/vps). + Якщо ви використовуєте Windows, **WSL2 — найпростіше налаштування у стилі VM** і воно має найкращу + сумісність з інструментами. Див. [Windows](/uk/platforms/windows), [VPS hosting](/uk/vps). Якщо ви запускаєте macOS у VM, див. [macOS VM](/uk/install/macos-vm). @@ -918,82 +918,82 @@ x-i18n: ## Що таке OpenClaw? - - OpenClaw — це персональний AI-помічник, якого ви запускаєте на власних пристроях. Він відповідає в тих середовищах обміну повідомленнями, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat, а також вбудовані channel Plugins, як-от QQ Bot) і також може працювати з голосом + живим Canvas на підтримуваних платформах. **Gateway** — це завжди увімкнена площина керування; помічник і є продуктом. + + OpenClaw — це персональний AI assistant, який ви запускаєте на власних пристроях. Він відповідає на тих поверхнях обміну повідомленнями, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat і вбудовані channel plugins, такі як QQ Bot) і також може працювати з голосом + live Canvas на підтримуваних платформах. **Gateway** — це контрольна площина, що завжди ввімкнена; assistant — це сам продукт. - OpenClaw — це не «просто обгортка над Claude». Це **локальна насамперед площина керування**, яка дає змогу запускати - потужного помічника на **вашому власному обладнанні**, доступного з тих чат-застосунків, якими ви вже користуєтеся, з - сесійною історією, пам’яттю та інструментами — без передавання контролю над вашими процесами розміщеному - SaaS. + OpenClaw — це не «просто обгортка навколо Claude». Це **control plane із пріоритетом локального запуску**, яка дає змогу запускати + потужного assistant на **вашому власному обладнанні**, доступного з чат-застосунків, якими ви вже користуєтеся, із + session history, memory та інструментами — без передавання контролю над вашими робочими процесами + розміщеному SaaS. Основні переваги: - - **Ваші пристрої, ваші дані:** запускайте Gateway там, де хочете (Mac, Linux, VPS), і зберігайте - робочий простір + історію сеансів локально. - - **Реальні канали, а не веб-пісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage тощо, - а також мобільний голос і Canvas на підтримуваних платформах. + - **Ваші пристрої, ваші дані:** запускайте Gateway де завгодно (Mac, Linux, VPS) і зберігайте + workspace + session history локально. + - **Реальні канали, а не вебпісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage тощо, + плюс мобільний голос і Canvas на підтримуваних платформах. - **Незалежність від моделі:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо з маршрутизацією - та резервним перемиканням для кожного агента. - - **Варіант лише локально:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо ви цього хочете. - - **Маршрутизація кількох агентів:** окремі агенти для кожного каналу, акаунта або завдання, кожен із власним - робочим простором і параметрами за замовчуванням. - - **Відкритий код і можливість змін:** перевіряйте, розширюйте й self-host без vendor lock-in. + та перемиканням у разі збою для кожного agent окремо. + - **Лише локальний варіант:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо ви цього хочете. + - **Маршрутизація multi-agent:** окремі agents для кожного каналу, облікового запису чи завдання, кожен зі своїм + workspace і значеннями за замовчуванням. + - **Відкритий код і можливість змінювати:** перевіряйте, розширюйте та розміщуйте самостійно без прив’язки до постачальника. - Документація: [Gateway](/uk/gateway), [Канали](/uk/channels), [Кілька агентів](/uk/concepts/multi-agent), - [Пам’ять](/uk/concepts/memory). + Документація: [Gateway](/uk/gateway), [Канали](/uk/channels), [Multi-agent](/uk/concepts/multi-agent), + [Memory](/uk/concepts/memory). - + Хороші перші проєкти: - Створити вебсайт (WordPress, Shopify або простий статичний сайт). - - Зробити прототип мобільного застосунку (структура, екрани, план API). + - Створити прототип мобільного застосунку (структура, екрани, план API). - Упорядкувати файли та папки (очищення, іменування, теги). - - Підключити Gmail та автоматизувати підсумки або подальші дії. + - Під’єднати Gmail і автоматизувати підсумки або follow ups. - Він може працювати з великими завданнями, але найкраще це вдається, коли ви ділите їх на фази й - використовуєте субагентів для паралельної роботи. + Він може працювати з великими завданнями, але найкраще працює, коли ви ділите їх на фази й + використовуєте sub agents для паралельної роботи. - Щоденна користь зазвичай виглядає так: + Повсякденна користь зазвичай виглядає так: - - **Персональні брифінги:** підсумки пошти, календаря та новин, які вас цікавлять. - - **Дослідження й чернетки:** швидкі дослідження, підсумки й перші чернетки для листів або документів. - - **Нагадування та подальші дії:** підказки й чеклісти, керовані Cron або Heartbeat. - - **Автоматизація браузера:** заповнення форм, збір даних і повторювані веб-завдання. - - **Координація між пристроями:** надішліть завдання з телефона, дозвольте Gateway виконати його на сервері та отримайте результат назад у чаті. + - **Персональні зведення:** підсумки inbox, календаря та важливих для вас новин. + - **Дослідження та чернетки:** швидкі дослідження, підсумки та перші чернетки для листів або документів. + - **Нагадування та follow ups:** підказки й чеклісти на основі Cron або Heartbeat. + - **Автоматизація браузера:** заповнення форм, збирання даних і повторення вебзавдань. + - **Координація між пристроями:** надішліть завдання з телефона, дозвольте Gateway виконати його на сервері й отримайте результат назад у чаті. - - Так — для **дослідження, кваліфікації та створення чернеток**. Він може сканувати сайти, складати короткі списки, - узагальнювати інформацію про потенційних клієнтів і писати чернетки для outreach або рекламних текстів. + + Так, для **дослідження, кваліфікації та підготовки чернеток**. Він може сканувати сайти, створювати списки, + підсумовувати інформацію про потенційних клієнтів і писати чернетки outreach або рекламних текстів. Для **outreach або запуску реклами** залишайте людину в циклі. Уникайте спаму, дотримуйтесь місцевих законів і - політик платформ та перевіряйте все перед надсиланням. Найбезпечніший шаблон — дозволити - OpenClaw робити чернетку, а вам — затверджувати. + політик платформ, і переглядайте все перед надсиланням. Найбезпечніший шаблон — дозволити + OpenClaw підготувати чернетку, а ви її схвалюєте. Документація: [Безпека](/uk/gateway/security). - OpenClaw — це **персональний помічник** і рівень координації, а не заміна IDE. Використовуйте + OpenClaw — це **персональний assistant** і рівень координації, а не заміна IDE. Використовуйте Claude Code або Codex для найшвидшого прямого циклу кодування всередині репозиторію. Використовуйте OpenClaw, коли вам - потрібні довготривала пам’ять, доступ із різних пристроїв і оркестрація інструментів. + потрібні довготривала memory, кроспристроєвий доступ і оркестрація інструментів. Переваги: - - **Постійна пам’ять + робочий простір** між сеансами - - **Доступ із кількох платформ** (WhatsApp, Telegram, TUI, WebChat) - - **Оркестрація інструментів** (браузер, файли, планування, hooks) - - **Завжди увімкнений Gateway** (запускайте на VPS, взаємодійте звідусіль) - - **Nodes** для локального браузера/екрана/камери/exec + - **Постійна memory + workspace** між сесіями + - **Доступ із багатьох платформ** (WhatsApp, Telegram, TUI, WebChat) + - **Оркестрація інструментів** (browser, files, планування, hooks) + - **Gateway, що завжди ввімкнений** (запуск на VPS, взаємодія звідусіль) + - **Nodes** для локального browser/screen/camera/exec Вітрина: [https://openclaw.ai/showcase](https://openclaw.ai/showcase) @@ -1003,69 +1003,69 @@ x-i18n: ## Skills і автоматизація - - Використовуйте керовані перевизначення замість редагування копії в репозиторії. Зберігайте свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`, тому керовані перевизначення все одно мають пріоритет над вбудованими skills без зміни git. Якщо вам потрібно, щоб skill був установлений глобально, але видимий лише для певних агентів, тримайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` і `agents.list[].skills`. Лише зміни, гідні апстриму, мають жити в репозиторії й надсилатися як PR. + + Використовуйте керовані перевизначення замість редагування копії в репозиторії. Розміщуйте свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`, тож керовані перевизначення все одно мають вищий пріоритет за вбудовані skills без зміни git. Якщо потрібно, щоб skill був встановлений глобально, але видимий лише деяким agents, тримайте спільну копію в `~/.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.defaults.skills` або `agents.list[].skills`. + + Так. Додавайте додаткові каталоги через `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`. Сьогодні підтримуються такі шаблони: - - **Завдання Cron**: ізольовані завдання можуть задавати перевизначення `model` для кожного завдання. - - **Субагенти**: маршрутизуйте завдання до окремих агентів з різними моделями за замовчуванням. - - **Перемикання на вимогу**: використовуйте `/model`, щоб у будь-який момент змінити модель поточного сеансу. + - **Cron jobs**: ізольовані завдання можуть задавати перевизначення `model` для кожного завдання. + - **Sub-agents**: маршрутизуйте завдання до окремих agents з різними моделями за замовчуванням. + - **Перемикання на вимогу**: використовуйте `/model`, щоб у будь-який момент перемкнути модель поточної сесії. - Див. [Завдання Cron](/uk/automation/cron-jobs), [Маршрутизація кількох агентів](/uk/concepts/multi-agent) і [Slash-команди](/uk/tools/slash-commands). + Див. [Cron jobs](/uk/automation/cron-jobs), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [Слеш-команди](/uk/tools/slash-commands). - - Використовуйте **субагентів** для довгих або паралельних завдань. Субагенти працюють у власному сеансі, - повертають підсумок і зберігають чутливість вашого основного чату. + + Використовуйте **sub-agents** для довгих або паралельних завдань. Sub-agents працюють у власній сесії, + повертають підсумок і зберігають чутливість основного чату. Попросіть свого бота «spawn a sub-agent for this task» або використайте `/subagents`. - Використовуйте `/status` у чаті, щоб бачити, що Gateway робить прямо зараз (і чи він зайнятий). + Використовуйте `/status` у чаті, щоб бачити, що Gateway робить просто зараз (і чи він зайнятий). - Порада щодо токенів: і довгі завдання, і субагенти споживають токени. Якщо вас турбує вартість, задайте - дешевшу модель для субагентів через `agents.defaults.subagents.model`. + Порада щодо токенів: і довгі завдання, і sub-agents споживають токени. Якщо вартість має значення, задайте + дешевшу модель для sub-agents через `agents.defaults.subagents.model`. - Документація: [Субагенти](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks). + Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks). - - Використовуйте прив’язки до тредів. Ви можете прив’язати тред Discord до субагента або цілі сеансу, щоб наступні повідомлення в цьому треді залишалися в межах прив’язаного сеансу. + + Використовуйте прив’язки thread. Ви можете прив’язати Discord thread до subagent або цілі session, щоб наступні повідомлення в цій thread залишалися на цій прив’язаній сесії. Базовий процес: - - Створіть через `sessions_spawn` з `thread: true` (і за бажанням `mode: "session"` для постійших подальших повідомлень). + - Створіть через `sessions_spawn` з `thread: true` (і, за потреби, `mode: "session"` для постійних наступних повідомлень). - Або прив’яжіть вручну через `/focus `. - - Використовуйте `/agents`, щоб переглядати стан прив’язки. - - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним зняттям фокуса. - - Використовуйте `/unfocus`, щоб від’єднати тред. + - Використовуйте `/agents`, щоб перевірити стан прив’язки. + - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним зняттям фокусу. + - Використовуйте `/unfocus`, щоб від’єднати thread. Потрібна конфігурація: - - Глобальні параметри за замовчуванням: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`. + - Глобальні значення за замовчуванням: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`. - Перевизначення Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`. - Автоприв’язка під час створення: задайте `channels.discord.threadBindings.spawnSubagentSessions: true`. - Документація: [Субагенти](/uk/tools/subagents), [Discord](/uk/channels/discord), [Довідник із конфігурації](/uk/gateway/configuration-reference), [Slash-команди](/uk/tools/slash-commands). + Документація: [Sub-agents](/uk/tools/subagents), [Discord](/uk/channels/discord), [Довідник із конфігурації](/uk/gateway/configuration-reference), [Слеш-команди](/uk/tools/slash-commands). - + Спочатку перевірте розв’язаний маршрут запитувача: - - Доставка субагента в режимі завершення надає перевагу будь-якому прив’язаному треду або маршруту розмови, якщо такий існує. - - Якщо джерело завершення містить лише канал, OpenClaw використовує як запасний варіант збережений маршрут сеансу запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все ще могла спрацювати. - - Якщо немає ні прив’язаного маршруту, ні придатного збереженого маршруту, пряма доставка може не вдатися, і результат замість негайної публікації в чаті перейде до доставки через чергу сеансу. - - Неприпустимі або застарілі цілі все одно можуть примусово перевести процес до запасного варіанта через чергу або до остаточного збою доставки. - - Якщо остання видима відповідь помічника дочірнього агента — це точний silent token `NO_REPLY` / `no_reply`, або точно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує сповіщення замість публікації застарілого попереднього прогресу. - - Якщо дочірній агент перевищив час очікування після одних лише викликів інструментів, сповіщення може згорнути це в короткий підсумок часткового прогресу замість відтворення сирого виводу інструментів. + - Доставка subagent у режимі завершення надає перевагу будь-якому прив’язаному thread або маршруту conversation, якщо такий існує. + - Якщо джерело завершення містить лише канал, OpenClaw використовує запасний варіант — збережений маршрут сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все ще могла спрацювати. + - Якщо немає ні прив’язаного маршруту, ні придатного збереженого маршруту, пряма доставка може завершитися невдачею, і результат замість негайної публікації в чаті перейде в доставку через чергу сесії. + - Недійсні або застарілі цілі все одно можуть примусово перевести доставку до черги або спричинити остаточну помилку доставки. + - Якщо остання видима відповідь assistant у дочірній сесії — це точний silent token `NO_REPLY` / `no_reply` або рівно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує announce замість публікації застарілого попереднього прогресу. + - Якщо дочірня сесія завершилася за timeout після лише викликів інструментів, announce може згорнути це до короткого підсумку часткового прогресу замість відтворення сирого виводу інструментів. Налагодження: @@ -1073,19 +1073,19 @@ x-i18n: openclaw tasks show ``` - Документація: [Субагенти](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks), [Інструмент сеансів](/uk/concepts/session-tool). + Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks), [Інструмент Session](/uk/concepts/session-tool). Cron виконується всередині процесу Gateway. Якщо Gateway не працює безперервно, - заплановані завдання не запускатимуться. + заплановані завдання не виконуватимуться. - Контрольний список: + Чекліст: - - Переконайтеся, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не задано. + - Підтвердьте, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не задано. - Переконайтеся, що Gateway працює 24/7 (без сну/перезапусків). - - Перевірте налаштування часового поясу для завдання (`--tz` порівняно з часовим поясом хоста). + - Перевірте налаштування часового поясу для завдання (`--tz` проти часового поясу хоста). Налагодження: @@ -1094,21 +1094,21 @@ x-i18n: openclaw cron runs --id --limit 50 ``` - Документація: [Завдання Cron](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation). + Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation). Спочатку перевірте режим доставки: - - `--no-deliver` / `delivery.mode: "none"` означає, що запасне надсилання з боку виконавця не очікується. - - Відсутня або неприпустима ціль сповіщення (`channel` / `to`) означає, що виконавець пропустив вихідну доставку. - - Помилки автентифікації каналу (`unauthorized`, `Forbidden`) означають, що виконавець намагався доставити повідомлення, але облікові дані це заблокували. - - Тихий ізольований результат (`NO_REPLY` / `no_reply` тільки) вважається навмисно недоставлюваним, тому виконавець також пригнічує запасну доставку через чергу. + - `--no-deliver` / `delivery.mode: "none"` означає, що резервне надсилання runner не очікується. + - Відсутня або недійсна ціль announce (`channel` / `to`) означає, що runner пропустив вихідну доставку. + - Помилки auth каналу (`unauthorized`, `Forbidden`) означають, що runner намагався доставити повідомлення, але облікові дані це заблокували. + - Тихий ізольований результат (`NO_REPLY` / `no_reply` only) вважається навмисно недоставним, тому runner також пригнічує резервну доставку через чергу. - Для ізольованих завдань cron агент усе ще може надсилати напряму за допомогою інструмента `message`, - коли доступний маршрут чату. `--announce` керує лише запасним шляхом виконавця - для фінального тексту, який агент ще не надіслав сам. + Для ізольованих Cron jobs agent усе одно може надсилати безпосередньо за допомогою інструмента `message`, + коли маршрут чату доступний. `--announce` керує лише резервним шляхом runner + для фінального тексту, який agent ще не надіслав самостійно. Налагодження: @@ -1117,27 +1117,27 @@ x-i18n: openclaw tasks show ``` - Документація: [Завдання Cron](/uk/automation/cron-jobs), [Фонові завдання](/uk/automation/tasks). + Документація: [Cron jobs](/uk/automation/cron-jobs), [Фонові завдання](/uk/automation/tasks). - + Зазвичай це шлях живого перемикання моделі, а не дублювання планування. - Ізольований cron може зберегти передачу моделі під час виконання й повторити спробу, коли активний - запуск викидає `LiveSessionModelSwitchError`. Повторна спроба зберігає переключеного - провайдера/модель, а якщо перемикання містило нове перевизначення профілю автентифікації, cron + Ізольований cron може зберегти передавання моделі під час роботи й повторити спробу, коли активний + запуск викидає `LiveSessionModelSwitchError`. Під час повторної спроби зберігаються переключені + provider/model, а якщо перемикання містило нове перевизначення профілю auth, cron також зберігає його перед повторною спробою. Пов’язані правила вибору: - - Спочатку має пріоритет перевизначення моделі hook Gmail, якщо воно застосовується. - - Потім `model` для конкретного завдання. - - Потім будь-яке збережене перевизначення моделі сеансу cron. - - Потім звичайний вибір моделі агента/за замовчуванням. + - Спочатку, якщо застосовно, перемагає перевизначення моделі Gmail hook. + - Потім — `model` для конкретного завдання. + - Потім — будь-яке збережене перевизначення моделі cron-session. + - Потім — звичайний вибір моделі agent/за замовчуванням. - Цикл повторних спроб обмежений. Після початкової спроби плюс 2 повторних спроб перемикання - cron переривається, а не зациклюється назавжди. + Цикл повторних спроб обмежений. Після початкової спроби плюс 2 повторів через перемикання + cron завершує роботу замість нескінченного циклу. Налагодження: @@ -1146,13 +1146,13 @@ x-i18n: openclaw tasks show ``` - Документація: [Завдання Cron](/uk/automation/cron-jobs), [CLI cron](/cli/cron). + Документація: [Cron jobs](/uk/automation/cron-jobs), [CLI cron](/uk/cli/cron). - - Використовуйте нативні команди `openclaw skills` або просто поміщайте skills у свій робочий простір. 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" @@ -1165,41 +1165,40 @@ x-i18n: openclaw skills check ``` - Нативний `openclaw skills install` записує в каталог `skills/` - активного робочого простору. Окремий CLI `clawhub` потрібен лише тоді, коли ви хочете публікувати або - синхронізувати власні skills. Для спільних інсталяцій між агентами помістіть skill у + Нативний `openclaw skills install` записує у каталог `skills/` активного workspace. Окремий CLI `clawhub` встановлюйте лише якщо хочете публікувати або + синхронізувати власні skills. Для спільних встановлень між agents розміщуйте skill у `~/.openclaw/skills` і використовуйте `agents.defaults.skills` або - `agents.list[].skills`, якщо хочете звузити набір агентів, які можуть його бачити. + `agents.list[].skills`, якщо хочете звузити коло agents, які можуть його бачити. Так. Використовуйте планувальник Gateway: - - **Завдання Cron** для запланованих або повторюваних завдань (зберігаються після перезапусків). - - **Heartbeat** для періодичних перевірок «основного сеансу». - - **Ізольовані завдання** для автономних агентів, які публікують підсумки або доставляють повідомлення в чати. + - **Cron jobs** для запланованих або повторюваних завдань (зберігаються після перезапусків). + - **Heartbeat** для періодичних перевірок «основної сесії». + - **Ізольовані завдання** для автономних agents, які публікують підсумки або доставляють їх у чати. - Документація: [Завдання Cron](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation), + Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation), [Heartbeat](/uk/gateway/heartbeat). - - Не напряму. Skills для macOS обмежуються через `metadata.openclaw.os` плюс необхідні бінарні файли, і skills з’являються в system prompt лише тоді, коли вони придатні на **хості Gateway**. На Linux skills лише для `darwin` (як-от `apple-notes`, `apple-reminders`, `things-mac`) не завантажуватимуться, якщо ви не перевизначите це обмеження. + + Не напряму. macOS skills обмежуються через `metadata.openclaw.os` і потрібні бінарні файли, а skills з’являються в system 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. + Запускайте Gateway там, де існують бінарні файли macOS, а потім підключайтеся з Linux у [remote mode](#gateway-ports-already-running-and-remote-mode) або через Tailscale. Skills завантажуються нормально, тому що хост Gateway — це macOS. **Варіант B — використовувати macOS Node (без SSH).** - Запустіть Gateway на Linux, підключіть macOS Node (застосунок менюбару) і встановіть **Node Run Commands** у значення "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати skills лише для macOS придатними, коли потрібні бінарні файли існують на Node. Агент запускає ці skills через інструмент `nodes`. Якщо ви оберете "Always Ask", затвердження "Always Allow" у запиті додасть цю команду до allowlist. + Запускайте Gateway на Linux, під’єднайте macOS Node (застосунок у рядку меню) і встановіть **Node Run Commands** у значення "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати skills лише для macOS придатними, коли потрібні бінарні файли існують на Node. Agent запускає ці skills через інструмент `nodes`. Якщо ви виберете "Always Ask", підтвердження "Always Allow" у запиті додасть цю команду до allowlist. - **Варіант 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): + 1. Створіть SSH-обгортку для бінарного файла (приклад: `memo` для Apple Notes): ```bash #!/usr/bin/env bash @@ -1207,18 +1206,18 @@ x-i18n: exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@" ``` - 2. Додайте обгортку в `PATH` на хості Linux (наприклад, `~/bin/memo`). - 3. Перевизначте metadata skill (у робочому просторі або `~/.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: Керування Apple Notes через CLI memo у macOS. metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } } --- ``` - 4. Почніть новий сеанс, щоб знімок skills оновився. + 4. Почніть нову сесію, щоб оновився знімок skills. @@ -1227,25 +1226,25 @@ x-i18n: Варіанти: - - **Власний skill / Plugin:** найкращий варіант для надійного доступу до API (і Notion, і HeyGen мають API). + - **Власний skill / Plugin:** найкраще для надійного доступу до API (і Notion, і HeyGen мають API). - **Автоматизація браузера:** працює без коду, але повільніше й крихкіше. - Якщо ви хочете зберігати контекст окремо для кожного клієнта (робочі процеси агентства), простий шаблон такий: + Якщо ви хочете зберігати контекст для кожного клієнта окремо (робочі процеси агентства), простий шаблон такий: - - Одна сторінка Notion на клієнта (контекст + уподобання + активна робота). - - Попросіть агента отримувати цю сторінку на початку сеансу. + - Одна сторінка Notion на клієнта (контекст + налаштування + активна робота). + - Просіть agent отримувати цю сторінку на початку сесії. - Якщо вам потрібна нативна інтеграція, відкрийте запит на функцію або створіть skill, + Якщо вам потрібна нативна інтеграція, створіть feature request або побудуйте skill, орієнтований на ці API. - Установлення skills: + Встановлення skills: ```bash openclaw skills install openclaw skills update --all ``` - Нативні інсталяції потрапляють у каталог `skills/` активного робочого простору. Для спільних 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). + Нативні встановлення потрапляють у каталог `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](/uk/tools/skills-config) і [ClawHub](/uk/tools/clawhub). @@ -1264,18 +1263,18 @@ x-i18n: openclaw browser --browser-profile chrome-live tabs ``` - Цей шлях може використовувати локальний браузер хоста або підключений browser Node. Якщо Gateway запускається деінде, або запускайте хост Node на машині з браузером, або використовуйте віддалений CDP. + Цей шлях може використовувати локальний браузер хоста або підключений browser node. Якщо Gateway працює деінде, або запускайте хост Node на машині з браузером, або використовуйте віддалений CDP. Поточні обмеження `existing-session` / `user`: - - дії прив’язані до `ref`, а не до CSS-селекторів - - завантаження файлів вимагає `ref` / `inputRef` і наразі підтримує лише один файл за раз + - дії ґрунтуються на ref, а не на CSS-selector + - завантаження файлів потребують `ref` / `inputRef` і наразі підтримують лише один файл за раз - `responsebody`, експорт PDF, перехоплення завантажень і пакетні дії все ще потребують керованого браузера або сирого профілю CDP -## Ізоляція та пам’ять +## Ізоляція та memory @@ -1283,93 +1282,93 @@ x-i18n: - Типовий образ орієнтований насамперед на безпеку й працює від імені користувача `node`, тому він не + Типовий образ орієнтований насамперед на безпеку і працює від користувача `node`, тому він не містить системних пакетів, Homebrew або вбудованих браузерів. Для повнішого налаштування: - - Зробіть `/home/node` постійним за допомогою `OPENCLAW_HOME_VOLUME`, щоб кеші зберігалися. - - Вмонтуйте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`. - - Установіть браузери Playwright через вбудований CLI: + - Зберігайте `/home/node` через `OPENCLAW_HOME_VOLUME`, щоб кеші зберігалися між запусками. + - Додавайте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`. + - Встановлюйте браузери Playwright через вбудований CLI: `node /app/node_modules/playwright-core/cli.js install chromium` - - Задайте `PLAYWRIGHT_BROWSERS_PATH` і переконайтеся, що цей шлях зберігається постійно. + - Задайте `PLAYWRIGHT_BROWSERS_PATH` і переконайтеся, що цей шлях зберігається. - Документація: [Docker](/uk/install/docker), [Браузер](/uk/tools/browser). + Документація: [Docker](/uk/install/docker), [Browser](/uk/tools/browser). - - Так — якщо ваш приватний трафік це **DM**, а публічний трафік — **групи**. + + Так — якщо ваш приватний трафік це **DM**, а публічний трафік — це **групи**. - Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб сеанси груп/каналів (ключі не-main) працювали у налаштованому backend ізоляції, а основний сеанс DM залишався на хості. Docker — backend за замовчуванням, якщо ви не виберете інший. Потім обмежте, які інструменти доступні в ізольованих сеансах, через `tools.sandbox.tools`. + Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб групові/канальні сесії (ключі не-main) працювали у налаштованому бекенді ізоляції, тоді як основна сесія DM залишалася на хості. Docker — типовий бекенд, якщо ви не виберете інший. Потім обмежте, які інструменти доступні в ізольованих сесіях, через `tools.sandbox.tools`. Покрокове налаштування + приклад конфігурації: [Групи: приватні DM + публічні групи](/uk/channels/groups#pattern-personal-dms-public-groups-single-agent) - Довідник з ключової конфігурації: [Конфігурація Gateway](/uk/gateway/configuration-reference#agentsdefaultssandbox) + Ключовий довідник із конфігурації: [Конфігурація Gateway](/uk/gateway/configuration-reference#agentsdefaultssandbox) - - Задайте `agents.defaults.sandbox.docker.binds` як `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні прив’язки й прив’язки для конкретного агента об’єднуються; прив’язки для конкретного агента ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять файлові стіни sandbox. + + Задайте `agents.defaults.sandbox.docker.binds` у вигляді `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні прив’язки та прив’язки для окремих agents об’єднуються; прив’язки для окремих agents ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять файлові межі ізольованого середовища. - OpenClaw перевіряє джерела bind як за нормалізованим шляхом, так і за канонічним шляхом, розв’язаним через найглибшого наявного предка. Це означає, що виходи через symlink-батьківський каталог усе одно блокуються за принципом fail closed, навіть коли останній сегмент шляху ще не існує, а перевірки allowed-root усе одно застосовуються після розв’язання symlink. + OpenClaw перевіряє джерела bind і за нормалізованим шляхом, і за канонічним шляхом, розв’язаним через найглибший наявний батьківський елемент. Це означає, що виходи за межі через symlink-parent усе одно надійно блокуються, навіть коли останній сегмент шляху ще не існує, а перевірки allowed-root усе одно застосовуються після розв’язання symlink. - Див. [Ізоляція](/uk/gateway/sandboxing#custom-bind-mounts) і [Ізоляція vs Політика інструментів vs Підвищені права](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для прикладів і приміток щодо безпеки. + Приклади та зауваження з безпеки див. у [Ізоляція](/uk/gateway/sandboxing#custom-bind-mounts) і [Ізоляція vs політика інструментів vs elevated](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check). - - Пам’ять OpenClaw — це просто Markdown-файли в робочому просторі агента: + + Memory OpenClaw — це просто Markdown-файли в workspace agent: - Щоденні нотатки в `memory/YYYY-MM-DD.md` - - Відібрані довгострокові нотатки в `MEMORY.md` (лише для main/приватних сеансів) + - Кураторські довгострокові нотатки в `MEMORY.md` (лише для main/private sessions) - OpenClaw також виконує **тихе скидання пам’яті перед Compaction**, щоб нагадати моделі - записати стійкі нотатки перед автоматичним Compaction. Це працює лише тоді, коли робочий простір - доступний для запису (sandbox у режимі лише читання це пропускають). Див. [Пам’ять](/uk/concepts/memory). + OpenClaw також виконує **тихий flush memory перед compaction**, щоб нагадати моделі + записати довговічні нотатки перед auto-compaction. Це працює лише тоді, коли workspace + доступний для запису (ізольовані середовища лише для читання це пропускають). Див. [Memory](/uk/concepts/memory). - - Попросіть бота **записати факт у пам’ять**. Довгострокові нотатки мають зберігатися в `MEMORY.md`, + + Попросіть бота **записати факт у memory**. Довгострокові нотатки мають бути в `MEMORY.md`, короткостроковий контекст — у `memory/YYYY-MM-DD.md`. - Це все ще сфера, яку ми вдосконалюємо. Корисно нагадувати моделі зберігати спогади; - вона знатиме, що робити. Якщо вона все одно забуває, перевірте, що Gateway використовує той самий - робочий простір під час кожного запуску. + Це все ще сфера, яку ми вдосконалюємо. Допомагає нагадувати моделі зберігати спогади; + вона знатиме, що робити. Якщо вона й далі забуває, перевірте, що Gateway використовує той самий + workspace під час кожного запуску. - Документація: [Пам’ять](/uk/concepts/memory), [Робочий простір агента](/uk/concepts/agent-workspace). + Документація: [Memory](/uk/concepts/memory), [Робочий простір agent](/uk/concepts/agent-workspace). - - Файли пам’яті живуть на диску й зберігаються, доки ви їх не видалите. Обмеженням є ваше - сховище, а не модель. **Контекст сеансу** все одно обмежується вікном контексту - моделі, тому довгі розмови можуть стискатися або обрізатися. Саме тому - існує пошук у пам’яті — він повертає в контекст лише релевантні частини. + + Файли memory живуть на диску й зберігаються, доки ви їх не видалите. Обмеженням є ваше + сховище, а не модель. **Контекст сесії** усе ще обмежений вікном контексту + моделі, тому довгі розмови можуть compact або truncate. Саме тому існує + пошук по memory — він повертає в контекст лише релевантні частини. - Документація: [Пам’ять](/uk/concepts/memory), [Контекст](/uk/concepts/context). + Документація: [Memory](/uk/concepts/memory), [Контекст](/uk/concepts/context). - - Лише якщо ви використовуєте **вбудовування OpenAI**. Codex OAuth покриває чат/completions і - **не** надає доступу до вбудовувань, тож **вхід через Codex (OAuth або - вхід через Codex CLI)** не допомагає для семантичного пошуку в пам’яті. Для вбудовувань OpenAI - усе ще потрібен справжній API-ключ (`OPENAI_API_KEY` або `models.providers.openai.apiKey`). + + Лише якщо ви використовуєте **embeddings OpenAI**. OAuth Codex покриває chat/completions і + **не** надає доступу до embeddings, тож **вхід через Codex (OAuth або + вхід через CLI Codex)** не допомагає для семантичного пошуку по memory. Embeddings OpenAI + як і раніше потребують справжнього API key (`OPENAI_API_KEY` або `models.providers.openai.apiKey`). - Якщо ви явно не задаєте провайдера, OpenClaw автоматично вибирає провайдера, коли - може знайти API-ключ (профілі автентифікації, `models.providers.*.apiKey` або змінні середовища). - Він надає перевагу OpenAI, якщо знаходиться ключ OpenAI, інакше Gemini, якщо знаходиться ключ Gemini, - потім Voyage, потім Mistral. Якщо жоден віддалений ключ недоступний, пошук у пам’яті + Якщо ви явно не задаєте provider, OpenClaw автоматично вибирає provider, коли він + може знайти API key (профілі auth, `models.providers.*.apiKey` або env vars). + Він надає перевагу OpenAI, якщо доступний ключ OpenAI, інакше Gemini, якщо доступний ключ Gemini, + потім Voyage, потім Mistral. Якщо жоден віддалений ключ недоступний, пошук по memory залишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштовано й доступний шлях до локальної моделі, OpenClaw надає перевагу `local`. Ollama підтримується, коли ви явно задаєте `memorySearch.provider = "ollama"`. - Якщо ви хочете залишатися локально, задайте `memorySearch.provider = "local"` (і за бажанням - `memorySearch.fallback = "none"`). Якщо вам потрібні вбудовування Gemini, задайте + Якщо ви хочете залишатися локальними, задайте `memorySearch.provider = "local"` (і за бажанням + `memorySearch.fallback = "none"`). Якщо вам потрібні embeddings Gemini, задайте `memorySearch.provider = "gemini"` і надайте `GEMINI_API_KEY` (або - `memorySearch.remote.apiKey`). Ми підтримуємо моделі вбудовувань **OpenAI, Gemini, Voyage, Mistral, Ollama або local** — - деталі налаштування див. у [Пам’ять](/uk/concepts/memory). + `memorySearch.remote.apiKey`). Ми підтримуємо embedding-моделі **OpenAI, Gemini, Voyage, Mistral, Ollama або local** — + подробиці налаштування див. у [Memory](/uk/concepts/memory). @@ -1378,51 +1377,52 @@ x-i18n: - Ні — **стан OpenClaw локальний**, але **зовнішні сервіси все одно бачать те, що ви їм надсилаєте**. + Ні — **стан OpenClaw є локальним**, але **зовнішні сервіси все одно бачать те, що ви їм надсилаєте**. - - **Локально за замовчуванням:** сеанси, файли пам’яті, конфігурація та робочий простір живуть на хості Gateway - (`~/.openclaw` + каталог вашого робочого простору). - - **Віддалено за потребою:** повідомлення, які ви надсилаєте провайдерам моделей (Anthropic/OpenAI тощо), ідуть до - їхніх API, а чат-платформи (WhatsApp/Telegram/Slack тощо) зберігають дані повідомлень на - своїх серверах. - - **Ви керуєте обсягом:** використання локальних моделей залишає prompt-и на вашій машині, але трафік - каналів усе одно проходить через сервери цього каналу. + - **Локально за замовчуванням:** sessions, файли memory, config і workspace живуть на хості Gateway + (`~/.openclaw` + каталог вашого workspace). + - **Віддалено за необхідністю:** повідомлення, які ви надсилаєте providers моделей (Anthropic/OpenAI тощо), ідуть до + їхніх API, а чат-платформи (WhatsApp/Telegram/Slack тощо) зберігають дані повідомлень на своїх + серверах. + - **Ви контролюєте слід:** використання локальних моделей зберігає prompts на вашій машині, але трафік + каналів усе одно проходить через сервери каналу. - Пов’язане: [Робочий простір агента](/uk/concepts/agent-workspace), [Пам’ять](/uk/concepts/memory). + Пов’язане: [Робочий простір agent](/uk/concepts/agent-workspace), [Memory](/uk/concepts/memory). Усе зберігається в `$OPENCLAW_STATE_DIR` (типово: `~/.openclaw`): - | Шлях | Призначення | + | Path | Призначення | | --------------------------------------------------------------- | ------------------------------------------------------------------ | - | `$OPENCLAW_STATE_DIR/openclaw.json` | Основна конфігурація (JSON5) | - | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Застарілий імпорт OAuth (копіюється в профілі автентифікації під час першого використання) | - | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | Профілі автентифікації (OAuth, API-ключі та необов’язкові `keyRef`/`tokenRef`) | - | `$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/` | Стан для кожного агента окремо (agentDir + sessions) | - | `$OPENCLAW_STATE_DIR/agents//sessions/` | Історія розмов і стан (для кожного агента окремо) | - | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані сеансів (для кожного агента окремо) | + | `$OPENCLAW_STATE_DIR/openclaw.json` | Основний config (JSON5) | + | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Застарілий імпорт OAuth (копіюється в профілі auth під час першого використання) | + | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | Профілі auth (OAuth, API keys і необов’язкові `keyRef`/`tokenRef`) | + | `$OPENCLAW_STATE_DIR/secrets.json` | Необов’язкове файлове секретне корисне навантаження для providers SecretRef типу `file` | + | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | Файл сумісності зі застарілими версіями (статичні записи `api_key` очищуються) | + | `$OPENCLAW_STATE_DIR/credentials/` | Стан provider (наприклад `whatsapp//creds.json`) | + | `$OPENCLAW_STATE_DIR/agents/` | Стан для кожного agent окремо (agentDir + sessions) | + | `$OPENCLAW_STATE_DIR/agents//sessions/` | Історія розмов і стан (для кожного agent окремо) | + | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані sessions (для кожного agent окремо) | - Застарілий шлях для одного агента: `~/.openclaw/agent/*` (мігрується за допомогою `openclaw doctor`). + Застарілий шлях для одного agent: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`). - Ваш **робочий простір** (`AGENTS.md`, файли пам’яті, skills тощо) відокремлений і налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`). + Ваш **workspace** (`AGENTS.md`, файли memory, skills тощо) зберігається окремо й налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`). - Ці файли зберігаються в **робочому просторі агента**, а не в `~/.openclaw`. + Ці файли зберігаються в **workspace agent**, а не в `~/.openclaw`. - - **Робочий простір (для кожного агента):** `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`, - `MEMORY.md` (або застарілий запасний варіант `memory.md`, коли `MEMORY.md` відсутній), - `memory/YYYY-MM-DD.md`, необов’язково `HEARTBEAT.md`. - - **Каталог стану (`~/.openclaw`)**: конфігурація, стан каналу/провайдера, профілі автентифікації, сеанси, журнали, + - **Workspace (для кожного agent):** `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`)**: config, стан channel/provider, профілі auth, sessions, logs, і спільні skills (`~/.openclaw/skills`). - Типовий робочий простір — `~/.openclaw/workspace`, його можна налаштувати через: + Типовий workspace: `~/.openclaw/workspace`, налаштовується через: ```json5 { @@ -1431,26 +1431,26 @@ x-i18n: ``` Якщо бот «забуває» після перезапуску, переконайтеся, що Gateway використовує той самий - робочий простір під час кожного запуску (і пам’ятайте: віддалений режим використовує **робочий простір хоста gateway**, + workspace під час кожного запуску (і пам’ятайте: remote mode використовує workspace **хоста gateway**, а не вашого локального ноутбука). - Порада: якщо вам потрібна стійка поведінка або вподобання, попросіть бота **записати це в + Порада: якщо ви хочете закріпити поведінку або вподобання надовго, попросіть бота **записати це в AGENTS.md або MEMORY.md**, а не покладатися на історію чату. - Див. [Робочий простір агента](/uk/concepts/agent-workspace) і [Пам’ять](/uk/concepts/memory). + Див. [Робочий простір agent](/uk/concepts/agent-workspace) і [Memory](/uk/concepts/memory). - Помістіть свій **робочий простір агента** в **приватний** git-репозиторій і створюйте його резервну копію - у приватному місці (наприклад, у приватному GitHub). Це збереже пам’ять + файли AGENTS/SOUL/USER - і дозволить пізніше відновити «свідомість» помічника. + Помістіть свій **workspace agent** у **приватний** git-репозиторій і зберігайте його резервну копію десь + приватно (наприклад у приватному GitHub). Це збереже memory + файли AGENTS/SOUL/USER + і дасть змогу пізніше відновити «розум» assistant. - **Не** комітьте нічого з `~/.openclaw` (облікові дані, сеанси, токени або зашифровані секретні payload-и). - Якщо вам потрібне повне відновлення, окремо створюйте резервні копії і робочого простору, і каталогу стану - (див. питання про міграцію вище). + **Не** робіть commit нічого з `~/.openclaw` (credentials, sessions, tokens або зашифровані секретні корисні навантаження). + Якщо вам потрібне повне відновлення, створюйте резервні копії і workspace, і каталогу стану + окремо (див. запитання про міграцію вище). - Документація: [Робочий простір агента](/uk/concepts/agent-workspace). + Документація: [Робочий простір agent](/uk/concepts/agent-workspace). @@ -1458,14 +1458,14 @@ x-i18n: Див. окремий посібник: [Видалення](/uk/install/uninstall). - - Так. Робочий простір — це **типовий cwd** і якір пам’яті, а не жорстка sandbox. - Відносні шляхи розв’язуються всередині робочого простору, але абсолютні шляхи можуть отримувати доступ до інших - розташувань хоста, якщо sandboxing не ввімкнено. Якщо вам потрібна ізоляція, використовуйте - [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування sandbox для конкретного агента. Якщо ви - хочете, щоб репозиторій був типовим робочим каталогом, вкажіть `workspace` - цього агента на корінь репозиторію. Репозиторій OpenClaw — це лише вихідний код; тримайте - робочий простір окремо, якщо тільки ви навмисно не хочете, щоб агент працював усередині нього. + + Так. Workspace — це **типовий cwd** і прив’язка memory, а не жорстка ізоляція. + Відносні шляхи розв’язуються всередині workspace, але абсолютні шляхи можуть звертатися до інших + розташувань хоста, якщо ізоляцію не ввімкнено. Якщо вам потрібна ізоляція, використовуйте + [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування ізоляції для окремих agents. Якщо ви + хочете, щоб репозиторій був типовим робочим каталогом, вкажіть + `workspace` цього agent на корінь репозиторію. Репозиторій OpenClaw — це лише вихідний код; тримайте + workspace окремо, якщо тільки ви свідомо не хочете, щоб agent працював усередині нього. Приклад (репозиторій як типовий cwd): @@ -1481,30 +1481,30 @@ x-i18n: - - Стан сеансів належить **хосту gateway**. Якщо ви працюєте у віддаленому режимі, потрібне вам сховище сеансів розташоване на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування сеансами](/uk/concepts/session). + + Стан sessions належить **хосту gateway**. Якщо ви в remote mode, потрібне вам сховище sessions перебуває на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування sessions](/uk/concepts/session). -## Основи конфігурації +## Основи config - - OpenClaw читає необов’язкову конфігурацію **JSON5** з `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`): + + OpenClaw читає необов’язковий config **JSON5** з `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`): ``` $OPENCLAW_CONFIG_PATH ``` - Якщо файл відсутній, використовуються відносно безпечні значення за замовчуванням (зокрема типовий робочий простір `~/.openclaw/workspace`). + Якщо файл відсутній, використовуються доволі безпечні значення за замовчуванням (зокрема типовий workspace `~/.openclaw/workspace`). - - Прив’язки не-loopback **вимагають дійсного шляху автентифікації gateway**. На практиці це означає: + + Bind не-loopback **потребують коректного шляху auth gateway**. На практиці це означає: - - автентифікацію спільним секретом: токен або пароль - - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим non-loopback reverse proxy з урахуванням ідентичності + - auth зі спільним секретом: токен або пароль + - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим не-loopback reverse proxy з awareness ідентичності ```json5 { @@ -1520,32 +1520,32 @@ x-i18n: Примітки: - - `gateway.remote.token` / `.password` самі по собі **не** вмикають локальну автентифікацію gateway. + - `gateway.remote.token` / `.password` **самі по собі** не вмикають auth локального gateway. - Локальні шляхи виклику можуть використовувати `gateway.remote.*` як запасний варіант лише тоді, коли `gateway.auth.*` не задано. - - Для автентифікації паролем натомість задайте `gateway.auth.mode: "password"` плюс `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). - - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef, але не розв’язано, розв’язання завершується fail closed (без маскування запасним варіантом remote). - - Конфігурації 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 має бути налаштованим non-loopback джерелом. + - Для auth паролем задайте `gateway.auth.mode: "password"` плюс `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). + - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і їх не вдається розв’язати, розв’язання надійно завершується помилкою (без маскувального запасного варіанта через remote). + - Налаштування 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 на тому самому хості все одно **не** задовольняють auth trusted-proxy. Trusted proxy має бути налаштованим джерелом не-loopback. - - OpenClaw примусово вимагає автентифікацію gateway за замовчуванням, зокрема й для loopback. У звичайному типовому сценарії це означає автентифікацію токеном: якщо явний шлях автентифікації не налаштований, запуск gateway переходить у режим токена й автоматично генерує його, зберігаючи в `gateway.auth.token`, тож **локальні WS-клієнти повинні проходити автентифікацію**. Це блокує інші локальні процеси від виклику Gateway. + + OpenClaw типово примусово вимагає auth gateway, зокрема й на loopback. У звичайному типовому сценарії це означає auth токеном: якщо жоден явний шлях auth не налаштовано, під час запуску gateway вибирається режим токена і він автоматично генерується, зберігаючись у `gateway.auth.token`, тож **локальні WS clients мають проходити автентифікацію**. Це блокує іншим локальним процесам виклик Gateway. - Якщо ви віддаєте перевагу іншому шляху автентифікації, можете явно вибрати режим пароля (або, для non-loopback reverse proxy з урахуванням ідентичності, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у своїй конфігурації. Doctor може згенерувати токен у будь-який час: `openclaw doctor --generate-gateway-token`. + Якщо ви віддаєте перевагу іншому шляху auth, ви можете явно вибрати режим пароля (або, для не-loopback reverse proxy з awareness ідентичності, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у своєму config. Doctor може будь-коли згенерувати для вас токен: `openclaw doctor --generate-gateway-token`. - - Gateway відстежує конфігурацію й підтримує гаряче перезавантаження: + + Gateway стежить за config і підтримує hot-reload: - - `gateway.reload.mode: "hybrid"` (типово): безпечно застосовує зміни в гарячому режимі, а для критичних виконує перезапуск + - `gateway.reload.mode: "hybrid"` (типово): безпечно застосовує зміни гаряче, для критичних — перезапускає - також підтримуються `hot`, `restart`, `off` - - Задайте `cli.banner.taglineMode` у конфігурації: + + Задайте `cli.banner.taglineMode` у config: ```json5 { @@ -1557,23 +1557,23 @@ x-i18n: } ``` - - `off`: приховує текст слогана, але залишає рядок заголовка/версії банера. + - `off`: приховує текст tagline, але залишає рядок заголовка/версії banner. - `default`: щоразу використовує `All your chats, one OpenClaw.`. - - `random`: ротація кумедних/сезонних слоганів (типова поведінка). - - Якщо ви хочете прибрати банер повністю, задайте змінну середовища `OPENCLAW_HIDE_BANNER=1`. + - `random`: ротація кумедних/сезонних tagline (типова поведінка). + - Якщо ви хочете взагалі прибрати banner, задайте env `OPENCLAW_HIDE_BANNER=1`. - `web_fetch` працює без API-ключа. `web_search` залежить від вибраного - провайдера: + `web_fetch` працює без API key. `web_search` залежить від вибраного + provider: - - Провайдери на основі API, як-от Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity і Tavily, вимагають звичайного налаштування їхніх API-ключів. - - Ollama Web Search не потребує ключа, але використовує налаштований вами хост Ollama і вимагає `ollama signin`. + - Providers на основі 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` і виберіть провайдера. + **Рекомендовано:** виконайте `openclaw configure --section web` і виберіть provider. Альтернативи через середовище: - Brave: `BRAVE_API_KEY` @@ -1609,76 +1609,76 @@ x-i18n: }, fetch: { enabled: true, - provider: "firecrawl", // необов’язково; пропустіть для авто-виявлення + provider: "firecrawl", // необов’язково; пропустіть для auto-detect }, }, }, } ``` - Специфічна для провайдера конфігурація web-search тепер живе в `plugins.entries..config.webSearch.*`. - Застарілі шляхи провайдерів `tools.web.search.*` усе ще тимчасово завантажуються для сумісності, але їх не слід використовувати для нових конфігурацій. - Запасна конфігурація Firecrawl web-fetch живе в `plugins.entries.firecrawl.config.webFetch.*`. + Конфігурація web-search, специфічна для provider, тепер розміщується в `plugins.entries..config.webSearch.*`. + Застарілі шляхи provider `tools.web.search.*` усе ще тимчасово завантажуються для сумісності, але їх не слід використовувати для нових config. + Резервна конфігурація Firecrawl web-fetch розміщується в `plugins.entries.firecrawl.config.webFetch.*`. Примітки: - Якщо ви використовуєте allowlist, додайте `web_search`/`web_fetch`/`x_search` або `group:web`. - - `web_fetch` увімкнено за замовчуванням (якщо його явно не вимкнено). - - Якщо `tools.web.fetch.provider` пропущено, OpenClaw автоматично виявляє першого готового запасного провайдера fetch серед доступних облікових даних. Наразі вбудований провайдер — Firecrawl. - - Демони читають змінні середовища з `~/.openclaw/.env` (або із середовища сервісу). + - `web_fetch` типово увімкнено (якщо його явно не вимкнути). + - Якщо `tools.web.fetch.provider` пропущено, OpenClaw автоматично визначає першого готового fallback-provider для fetch на основі доступних облікових даних. Наразі вбудований provider — це Firecrawl. + - Daemon читають env vars з `~/.openclaw/.env` (або з середовища служби). - Документація: [Веб-інструменти](/uk/tools/web). + Документація: [Web tools](/uk/tools/web). - - `config.apply` замінює **всю конфігурацію цілком**. Якщо ви надсилаєте частковий об’єкт, усе - інше буде видалено. + + `config.apply` замінює **весь config**. Якщо ви надсилаєте частковий об’єкт, усе + інше видаляється. Поточний OpenClaw захищає від багатьох випадкових перезаписів: - - Записи конфігурації, що належать OpenClaw, перевіряють повну конфігурацію після змін перед записом. - - Неприпустимі або руйнівні записи, що належать OpenClaw, відхиляються й зберігаються як `openclaw.json.rejected.*`. - - Якщо пряме редагування ламає запуск або гаряче перезавантаження, Gateway відновлює останню відому робочу конфігурацію й зберігає відхилений файл як `openclaw.json.clobbered.*`. - - Після відновлення основний агент отримує попередження під час запуску, щоб не записати ту саму погану конфігурацію повторно навмання. + - Записи config, що належать OpenClaw, перевіряють повний config після зміни перед записом. + - Недійсні або руйнівні записи, що належать OpenClaw, відхиляються і зберігаються як `openclaw.json.rejected.*`. + - Якщо пряме редагування ламає startup або hot reload, Gateway відновлює останній відомий справний config і зберігає відхилений файл як `openclaw.json.clobbered.*`. + - Після відновлення основний agent отримує попередження під час завантаження, щоб не записати поганий config знову навмання. Відновлення: - Перевірте `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 validate` і `openclaw doctor`. - - Якщо у вас немає ані останньої відомої робочої конфігурації, ані відхиленого payload, відновіть із резервної копії або повторно запустіть `openclaw doctor` і знову налаштуйте канали/моделі. - - Якщо це сталося неочікувано, створіть bug report і додайте свою останню відому конфігурацію або будь-яку резервну копію. - - Локальний coding agent часто може відновити робочу конфігурацію з журналів або історії. + - Перегляньте найновіший `openclaw.json.clobbered.*` або `openclaw.json.rejected.*` поруч з активним config. + - Залиште активний відновлений config, якщо він працює, а потім поверніть лише потрібні ключі через `openclaw config set` або `config.patch`. + - Виконайте `openclaw config validate` і `openclaw doctor`. + - Якщо у вас немає last-known-good або відхиленого payload, відновіть з резервної копії або повторно виконайте `openclaw doctor` і заново налаштуйте channels/models. + - Якщо це було неочікувано, створіть bug report і додайте свій останній відомий config або будь-яку резервну копію. + - Локальний coding agent часто може відновити робочий config з логів або історії. Як уникнути цього: - Використовуйте `openclaw config set` для невеликих змін. - - Використовуйте `openclaw configure` для інтерактивних редагувань. - - Спочатку використовуйте `config.schema.lookup`, якщо не впевнені щодо точного шляху або форми поля; він повертає неглибокий вузол схеми плюс короткі підсумки безпосередніх дочірніх елементів для подальшого заглиблення. - - Використовуйте `config.patch` для часткових RPC-редагувань; залишайте `config.apply` лише для повної заміни конфігурації. - - Якщо ви використовуєте інструмент `gateway` лише для власника з запуску агента, він усе одно відхиляє записи в `tools.exec.ask` / `tools.exec.security` (зокрема застарілі псевдоніми `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec). + - Використовуйте `openclaw configure` для інтерактивного редагування. + - Спершу використовуйте `config.schema.lookup`, якщо не впевнені в точному шляху або формі поля; він повертає вузол поверхневої схеми та підсумки безпосередніх дочірніх елементів для подальшого заглиблення. + - Використовуйте `config.patch` для часткових RPC-редагувань; залиште `config.apply` лише для повної заміни config. + - Якщо ви використовуєте tool `gateway` тільки для власника з запуску agent, він усе одно відхилятиме записи в `tools.exec.ask` / `tools.exec.security` (включно із застарілими псевдонімами `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec). - Документація: [Конфігурація](/cli/config), [Налаштування](/cli/configure), [Усунення несправностей Gateway](/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 (центральний):** володіє каналами (Signal/WhatsApp), маршрутизацією та сеансами. - - **Nodes (пристрої):** Mac/iOS/Android підключаються як периферія й надають локальні інструменти (`system.run`, `canvas`, `camera`). - - **Agents (робочі вузли):** окремі «мізки»/робочі простори для спеціальних ролей (наприклад, "Hetzner ops", "Personal data"). - - **Субагенти:** запускають фонову роботу з основного агента, коли вам потрібен паралелізм. - - **TUI:** підключається до Gateway і перемикає агентів/сеанси. + - **Gateway (центральний):** володіє channels (Signal/WhatsApp), маршрутизацією та sessions. + - **Nodes (пристрої):** Mac/iOS/Android підключаються як периферія і надають локальні tools (`system.run`, `canvas`, `camera`). + - **Agents (workers):** окремі brain/workspace для спеціальних ролей (наприклад, «Hetzner ops», «Personal data»). + - **Sub-agents:** запускають фонову роботу з основного agent, коли вам потрібен паралелізм. + - **TUI:** підключається до Gateway і перемикає agents/sessions. - Документація: [Nodes](/uk/nodes), [Віддалений доступ](/uk/gateway/remote), [Маршрутизація кількох агентів](/uk/concepts/multi-agent), [Субагенти](/uk/tools/subagents), [TUI](/web/tui). + Документація: [Nodes](/uk/nodes), [Віддалений доступ](/uk/gateway/remote), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [TUI](/uk/web/tui). - - Так. Це параметр конфігурації: + + Так. Це параметр config: ```json5 { @@ -1691,47 +1691,47 @@ x-i18n: } ``` - Типове значення — `false` (із вікном). Режим headless з більшою ймовірністю викликає перевірки anti-bot на деяких сайтах. Див. [Браузер](/uk/tools/browser). + Типове значення — `false` (headful). Режим headless із більшою ймовірністю запускає anti-bot перевірки на деяких сайтах. Див. [Browser](/uk/tools/browser). - Режим headless використовує **той самий рушій Chromium** і працює для більшості сценаріїв автоматизації (форми, кліки, збирання даних, входи). Основні відмінності: + Headless використовує **той самий рушій Chromium** і працює для більшості сценаріїв автоматизації (форми, кліки, скрейпінг, входи). Основні відмінності: - - Немає видимого вікна браузера (використовуйте скріншоти, якщо вам потрібна візуалізація). + - Немає видимого вікна браузера (якщо потрібна візуалізація, використовуйте знімки екрана). - Деякі сайти суворіше ставляться до автоматизації в режимі headless (CAPTCHA, anti-bot). - Наприклад, X/Twitter часто блокує сеанси headless. + Наприклад, X/Twitter часто блокує сесії headless. - - Задайте `browser.executablePath` на ваш бінарний файл Brave (або будь-якого браузера на основі Chromium) і перезапустіть Gateway. - Повні приклади конфігурації див. у [Браузер](/uk/tools/browser#use-brave-or-another-chromium-based-browser). + + Задайте `browser.executablePath` на ваш бінарний файл Brave (або будь-який browser на базі Chromium) і перезапустіть Gateway. + Повні приклади config див. у [Browser](/uk/tools/browser#use-brave-or-another-chromium-based-browser). ## Віддалені gateway і nodes - - Повідомлення Telegram обробляються **gateway**. Gateway запускає агента і - лише потім викликає nodes через **Gateway WebSocket**, коли потрібен інструмент node: + + Повідомлення Telegram обробляються **gateway**. Gateway запускає agent і + лише потім викликає nodes через **Gateway WebSocket**, коли потрібен node tool: Telegram → Gateway → Agent → `node.*` → Node → Gateway → Telegram - Nodes не бачать вхідного трафіку провайдера; вони отримують лише виклики node RPC. + Nodes не бачать вхідний трафік provider; вони отримують лише виклики node RPC. - - Коротка відповідь: **підключіть свій комп’ютер як node**. Gateway працює деінде, але він може - викликати інструменти `node.*` (екран, камера, система) на вашій локальній машині через Gateway WebSocket. + + Коротка відповідь: **під’єднайте свій комп’ютер як node**. Gateway працює деінде, але він може + викликати tools `node.*` (екран, камера, система) на вашій локальній машині через Gateway WebSocket. Типове налаштування: - 1. Запустіть Gateway на хості, який завжди увімкнений (VPS/домашній сервер). - 2. Додайте хост Gateway і свій комп’ютер до одного tailnet. - 3. Переконайтеся, що Gateway WS доступний (bind tailnet або SSH-тунель). - 4. Локально відкрийте застосунок macOS і підключіться в режимі **Remote over SSH** (або напряму через tailnet), + 1. Запустіть Gateway на хості, який завжди ввімкнений (VPS/домашній сервер). + 2. Додайте хост Gateway і свій комп’ютер до однієї tailnet. + 3. Переконайтеся, що Gateway WS доступний (bind tailnet або SSH tunnel). + 4. Відкрийте локально застосунок macOS і підключіться в режимі **Remote over SSH** (або напряму через tailnet), щоб він міг зареєструватися як node. - 5. Затвердьте node на Gateway: + 5. Схваліть node на Gateway: ```bash openclaw devices list @@ -1740,105 +1740,105 @@ x-i18n: Окремий TCP-міст не потрібен; nodes підключаються через Gateway WebSocket. - Нагадування про безпеку: підключення macOS node дозволяє `system.run` на цій машині. Підключайте - лише ті пристрої, яким довіряєте, і перегляньте [Безпека](/uk/gateway/security). + Нагадування щодо безпеки: під’єднання macOS Node дозволяє `system.run` на цій машині. Під’єднуйте + лише пристрої, яким довіряєте, і перегляньте [Безпека](/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` + - Стан channel: `openclaw channels status` - Потім перевірте автентифікацію та маршрутизацію: + Потім перевірте auth і маршрутизацію: - Якщо ви використовуєте Tailscale Serve, переконайтеся, що `gateway.auth.allowTailscale` налаштовано правильно. - - Якщо ви підключаєтеся через SSH-тунель, переконайтеся, що локальний тунель активний і вказує на правильний порт. - - Переконайтеся, що ваші allowlist (DM або група) містять ваш акаунт. + - Якщо ви підключаєтеся через SSH tunnel, підтвердьте, що локальний tunnel активний і вказує на правильний порт. + - Переконайтеся, що ваші allowlist (DM або group) містять ваш обліковий запис. - Документація: [Tailscale](/uk/gateway/tailscale), [Віддалений доступ](/uk/gateway/remote), [Канали](/uk/channels). + Документація: [Tailscale](/uk/gateway/tailscale), [Віддалений доступ](/uk/gateway/remote), [Channels](/uk/channels). - - Так. Вбудованого мосту «бот-до-бота» немає, але це можна зібрати кількома + + Так. Вбудованого мосту «bot-to-bot» немає, але це можна під’єднати кількома надійними способами: - **Найпростіше:** використовуйте звичайний чат-канал, до якого мають доступ обидва боти (Telegram/Slack/WhatsApp). - Нехай Bot A надішле повідомлення Bot B, а потім Bot B відповість як зазвичай. + **Найпростіше:** використовуйте звичайний chat channel, до якого мають доступ обидва боти (Telegram/Slack/WhatsApp). + Нехай Bot A надішле повідомлення Bot B, а тоді Bot B відповість як зазвичай. **CLI-міст (загальний):** запустіть скрипт, який викликає інший Gateway через - `openclaw agent --message ... --deliver`, націлюючи його на чат, де слухає - інший бот. Якщо один бот працює на віддаленому VPS, спрямуйте свій 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 - каналів або правило «не відповідати на повідомлення ботів»). + Порада: додайте запобіжник, щоб два боти не зациклювалися без кінця (лише згадки, channel + allowlist або правило «не відповідати на повідомлення ботів»). - Документація: [Віддалений доступ](/uk/gateway/remote), [CLI агента](/cli/agent), [Надсилання агентом](/uk/tools/agent-send). + Документація: [Віддалений доступ](/uk/gateway/remote), [CLI Agent](/uk/cli/agent), [Надсилання Agent](/uk/tools/agent-send). - - Ні. Один Gateway може розміщувати кількох агентів, кожен із власним робочим простором, типовими моделями - й маршрутизацією. Це нормальний варіант налаштування, і він значно дешевший і простіший, ніж запуск - одного VPS на кожного агента. + + Ні. Один Gateway може розміщувати кількох agents, кожен зі своїм workspace, типовими моделями + та маршрутизацією. Це нормальний варіант налаштування, і він значно дешевший і простіший, ніж запускати + один VPS на кожного agent. Використовуйте окремі VPS лише тоді, коли вам потрібна жорстка ізоляція (межі безпеки) або дуже - різні конфігурації, якими ви не хочете ділитися. В інших випадках тримайте один Gateway і - використовуйте кількох агентів або субагентів. + різні config, якими ви не хочете ділитися. В іншому разі тримайте один Gateway і + використовуйте кількох agents або sub-agents. - + Так — nodes є основним способом доступу до вашого ноутбука з віддаленого Gateway, і вони - дають більше, ніж просто доступ до оболонки. Gateway працює на macOS/Linux (Windows через WSL2) і є - легким (невеликий VPS або пристрій рівня Raspberry Pi цілком підходить; 4 GB RAM більш ніж достатньо), тож поширене - налаштування — це завжди ввімкнений хост плюс ваш ноутбук як node. + відкривають більше, ніж просто доступ до оболонки. Gateway працює на macOS/Linux (Windows через WSL2) і є + легким (достатньо невеликого VPS або пристрою класу Raspberry Pi; 4 GB RAM більш ніж вистачає), тому типовий + варіант — це хост, що завжди ввімкнений, плюс ваш ноутбук як node. - **Не потрібен вхідний SSH.** Nodes самі підключаються до Gateway WebSocket і використовують pairing пристроїв. - - **Безпечніший контроль виконання.** `system.run` обмежується allowlist/затвердженнями node на цьому ноутбуці. + - **Безпечніший контроль виконання.** `system.run` обмежується allowlist/схваленнями node на цьому ноутбуці. - **Більше інструментів пристрою.** Nodes надають `canvas`, `camera` і `screen` на додачу до `system.run`. - - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через хост node на ноутбуці або підключайтеся до локального Chrome на хості через Chrome MCP. + - **Локальна автоматизація browser.** Тримайте Gateway на VPS, але запускайте Chrome локально через node host на ноутбуці або під’єднуйтеся до локального Chrome на хості через Chrome MCP. - SSH підходить для разового доступу до оболонки, але nodes простіші для постійних робочих процесів агента й - автоматизації пристрою. + SSH підходить для разового доступу до оболонки, але nodes простіші для постійних робочих процесів agent і + автоматизації пристроїв. - Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes), [Браузер](/uk/tools/browser). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes), [Browser](/uk/tools/browser). - - Ні. На хості має працювати лише **один gateway**, якщо тільки ви навмисно не запускаєте ізольовані профілі (див. [Кілька gateway](/uk/gateway/multiple-gateways)). Nodes — це периферійні компоненти, які підключаються - до gateway (nodes iOS/Android або режим macOS "node mode" у застосунку менюбару). Для безголових - хостів node і керування через CLI див. [CLI хоста Node](/cli/node). + + Ні. На хості має працювати лише **один gateway**, якщо тільки ви свідомо не запускаєте ізольовані профілі (див. [Кілька gateway](/uk/gateway/multiple-gateways)). Nodes — це периферійні елементи, які підключаються + до gateway (nodes iOS/Android або macOS у «режимі node» в застосунку рядка меню). Для headless node + hosts і керування через CLI див. [CLI Node host](/uk/cli/node). - Для змін `gateway`, `discovery` і `canvasHost` потрібен повний перезапуск. + Повний перезапуск потрібен для змін `gateway`, `discovery` і `canvasHost`. - + Так. - - `config.schema.lookup`: перевірити одне піддерево конфігурації з його неглибоким вузлом схеми, відповідною підказкою UI та короткими зведеннями безпосередніх дочірніх елементів перед записом - - `config.get`: отримати поточний знімок + хеш - - `config.patch`: безпечне часткове оновлення (рекомендовано для більшості RPC-редагувань); виконує гаряче перезавантаження, коли це можливо, і перезапускає, коли потрібно - - `config.apply`: перевіряє й замінює всю конфігурацію; виконує гаряче перезавантаження, коли це можливо, і перезапускає, коли потрібно - - Інструмент виконання `gateway`, доступний лише власнику, усе ще відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec + - `config.schema.lookup`: перевіряє одне піддерево config із його вузлом поверхневої схеми, відповідною UI-підказкою та підсумками безпосередніх дочірніх елементів перед записом + - `config.get`: отримує поточний snapshot + hash + - `config.patch`: безпечне часткове оновлення (рекомендовано для більшості редагувань RPC); виконує hot-reload, коли можливо, і перезапуск, коли потрібно + - `config.apply`: перевіряє й замінює весь config; виконує hot-reload, коли можливо, і перезапуск, коли потрібно + - Інструмент виконання `gateway` лише для власника, як і раніше, відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec - + ```json5 { agents: { defaults: { workspace: "~/.openclaw/workspace" } }, @@ -1846,22 +1846,22 @@ x-i18n: } ``` - Це задає ваш робочий простір і обмежує, хто може активувати бота. + Це задає ваш workspace і обмежує, хто може активувати бота. Мінімальні кроки: - 1. **Установіть і ввійдіть на VPS** + 1. **Встановіть і виконайте вхід на VPS** ```bash curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` - 2. **Установіть і ввійдіть на Mac** - - Використайте застосунок Tailscale і ввійдіть у той самий tailnet. + 2. **Встановіть і виконайте вхід на Mac** + - Використайте застосунок Tailscale і увійдіть до тієї самої tailnet. 3. **Увімкніть MagicDNS (рекомендовано)** - У консолі адміністратора Tailscale увімкніть MagicDNS, щоб VPS мав стабільне ім’я. 4. **Використовуйте ім’я хоста tailnet** @@ -1878,15 +1878,15 @@ x-i18n: - - Serve відкриває **Control UI + WS Gateway**. Nodes підключаються через ту саму кінцеву точку Gateway WS. + + Serve відкриває **Gateway Control UI + WS**. Nodes підключаються через ту саму кінцеву точку Gateway WS. Рекомендоване налаштування: - 1. **Переконайтеся, що VPS і Mac знаходяться в одному tailnet**. - 2. **Використовуйте застосунок macOS у віддаленому режимі** (ціллю SSH може бути ім’я хоста tailnet). + 1. **Переконайтеся, що VPS і Mac перебувають в одній tailnet**. + 2. **Використовуйте застосунок macOS у режимі Remote** (ціллю SSH може бути ім’я хоста tailnet). Застосунок протунелює порт Gateway і підключиться як node. - 3. **Затвердьте node** на gateway: + 3. **Схваліть node** на gateway: ```bash openclaw devices list @@ -1897,30 +1897,30 @@ x-i18n: - + Якщо вам потрібні лише **локальні інструменти** (screen/camera/exec) на другому ноутбуці, додайте його як - **node**. Це дозволяє зберегти єдиний Gateway і уникнути дублювання конфігурації. Локальні інструменти node - наразі доступні лише на macOS, але ми плануємо поширити їх на інші ОС. + **node**. Це зберігає один Gateway і дозволяє уникнути дублювання config. Локальні інструменти node + наразі доступні лише для macOS, але ми плануємо розширити їх на інші ОС. - Установлюйте другий Gateway лише тоді, коли вам потрібна **жорстка ізоляція** або два повністю окремі боти. + Встановлюйте другий Gateway лише тоді, коли вам потрібна **жорстка ізоляція** або два повністю окремі боти. - Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/uk/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways). -## Змінні середовища і завантаження .env +## Env vars і завантаження .env - - OpenClaw читає змінні середовища від батьківського процесу (оболонка, launchd/systemd, CI тощо) і додатково завантажує: + + OpenClaw читає env vars із батьківського процесу (оболонка, launchd/systemd, CI тощо) і додатково завантажує: - `.env` з поточного робочого каталогу - - глобальний запасний `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`) + - глобальний резервний `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`) - Жоден `.env` не перевизначає вже наявні змінні середовища. + Жоден із файлів `.env` не перевизначає наявні env vars. - Ви також можете визначати вбудовані змінні середовища в конфігурації (застосовуються лише якщо вони відсутні в середовищі процесу): + Ви також можете визначити inline env vars у config (застосовуються лише якщо їх немає в env процесу): ```json5 { @@ -1931,15 +1931,15 @@ x-i18n: } ``` - Повний порядок пріоритету та джерела див. у [/environment](/uk/help/environment). + Повний порядок пріоритетів і джерела див. у [/environment](/uk/help/environment). - - Два поширені варіанти виправлення: + + Є два поширені способи виправити це: - 1. Додайте відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися, навіть коли сервіс не успадковує середовище вашої оболонки. - 2. Увімкніть імпорт із оболонки (додаткова зручність за бажанням): + 1. Розмістіть відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися, навіть коли служба не успадковує env вашої оболонки. + 2. Увімкніть імпорт оболонки (додаткова зручність): ```json5 { @@ -1952,52 +1952,52 @@ x-i18n: } ``` - Це запускає вашу login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає). Еквіваленти змінних середовища: + Це запускає вашу login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає наявні). Еквіваленти env vars: `OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`. - `openclaw models status` повідомляє, чи увімкнено **імпорт середовища оболонки**. "Shell env: off" - **не** означає, що ваших змінних середовища немає — це лише означає, що OpenClaw не завантажуватиме + `openclaw models status` показує, чи увімкнено **імпорт env оболонки**. "Shell env: off" + **не** означає, що ваших env vars немає — це лише означає, що OpenClaw не завантажуватиме вашу login shell автоматично. - Якщо Gateway працює як сервіс (launchd/systemd), він не успадковує середовище + Якщо Gateway працює як служба (launchd/systemd), він не успадковує env вашої оболонки. Виправити це можна одним із таких способів: - 1. Помістіть токен у `~/.openclaw/.env`: + 1. Розмістіть токен у `~/.openclaw/.env`: ``` COPILOT_GITHUB_TOKEN=... ``` - 2. Або увімкніть імпорт із оболонки (`env.shellEnv.enabled: true`). - 3. Або додайте його до блоку `env` у конфігурації (застосовується лише якщо змінної немає). + 2. Або увімкніть імпорт оболонки (`env.shellEnv.enabled: true`). + 3. Або додайте його в блок `env` свого config (застосовується лише якщо значення відсутнє). - Потім перезапустіть gateway і перевірте знову: + Потім перезапустіть gateway і перевірте ще раз: ```bash openclaw models status ``` - Токени Copilot читаються з `COPILOT_GITHUB_TOKEN` (також `GH_TOKEN` / `GITHUB_TOKEN`). + Токени Copilot зчитуються з `COPILOT_GITHUB_TOKEN` (також `GH_TOKEN` / `GITHUB_TOKEN`). Див. [/concepts/model-providers](/uk/concepts/model-providers) і [/environment](/uk/help/environment). -## Сеанси і кілька чатів +## Sessions і кілька чатів - Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Керування сеансами](/uk/concepts/session). + Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Керування sessions](/uk/concepts/session). - - Термін дії сеансів може завершуватися після `session.idleMinutes`, але це **вимкнено за замовчуванням** (типове значення **0**). - Задайте додатне значення, щоб увімкнути завершення за неактивністю. Коли його увімкнено, **наступне** - повідомлення після періоду неактивності починає новий ідентифікатор сеансу для цього ключа чату. - Це не видаляє транскрипти — лише запускає новий сеанс. + + Sessions можуть завершуватися після `session.idleMinutes`, але це **типово вимкнено** (типове значення **0**). + Задайте додатне значення, щоб увімкнути завершення через неактивність. Коли це ввімкнено, **наступне** + повідомлення після періоду неактивності починає новий ідентифікатор session для цього ключа чату. + Це не видаляє транскрипти — лише починає нову session. ```json5 { @@ -2009,47 +2009,47 @@ x-i18n: - - Так, через **маршрутизацію кількох агентів** і **субагентів**. Ви можете створити одного агента-координатора - та кількох агентів-робітників із власними робочими просторами й моделями. + + Так, через **маршрутизацію multi-agent** і **sub-agents**. Ви можете створити одного agent-координатора + і кількох agent-воркерів із власними workspace та моделями. - Втім, це найкраще сприймати як **цікавий експеримент**. Це витрачає багато токенів і часто - менш ефективно, ніж використання одного бота з окремими сеансами. Типова модель, яку ми - бачимо, — це один бот, з яким ви спілкуєтеся, але з різними сеансами для паралельної роботи. Такий - бот також може запускати субагентів за потреби. + Водночас це краще розглядати як **цікавий експеримент**. Це витратно за токенами й часто + менш ефективно, ніж використання одного бота з окремими sessions. Типова модель, яку ми + уявляємо, — це один бот, з яким ви спілкуєтеся, із різними sessions для паралельної роботи. Цей + бот також може породжувати sub-agents за потреби. - Документація: [Маршрутизація кількох агентів](/uk/concepts/multi-agent), [Субагенти](/uk/tools/subagents), [CLI Agents](/cli/agents). + Документація: [Маршрутизація multi-agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [CLI Agents](/uk/cli/agents). - - Контекст сеансу обмежений вікном моделі. Довгі чати, великий вивід інструментів або багато - файлів можуть запускати Compaction або обрізання. + + Контекст session обмежений вікном моделі. Довгі чати, великий вивід інструментів або багато + файлів можуть запускати compaction або truncation. Що допомагає: - - Попросіть бота узагальнити поточний стан і записати його у файл. - - Використовуйте `/compact` перед довгими завданнями й `/new` під час зміни теми. - - Тримайте важливий контекст у робочому просторі й просіть бота перечитувати його. - - Використовуйте субагентів для довгих або паралельних завдань, щоб основний чат залишався меншим. + - Попросіть бота підсумувати поточний стан і записати його у файл. + - Використовуйте `/compact` перед довгими завданнями та `/new` при зміні теми. + - Тримайте важливий контекст у workspace і просіть бота перечитати його. + - Використовуйте sub-agents для довгої або паралельної роботи, щоб основний чат залишався меншим. - Виберіть модель із більшим вікном контексту, якщо це трапляється часто. - Використовуйте команду скидання: + Використовуйте команду reset: ```bash openclaw reset ``` - Повне неінтерактивне скидання: + Неінтерактивне повне скидання: ```bash openclaw reset --scope full --yes --non-interactive ``` - Потім знову запустіть налаштування: + Потім знову виконайте налаштування: ```bash openclaw onboard --install-daemon @@ -2057,14 +2057,14 @@ x-i18n: Примітки: - - Onboarding також пропонує **Reset**, якщо бачить наявну конфігурацію. Див. [Onboarding (CLI)](/uk/start/wizard). + - Onboarding також пропонує **Reset**, якщо бачить наявний config. Див. [Onboarding (CLI)](/uk/start/wizard). - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен каталог стану (типово це `~/.openclaw-`). - - Скидання для розробки: `openclaw gateway --dev --reset` (лише для dev; очищає dev-конфігурацію + облікові дані + сеанси + робочий простір). + - Скидання dev: `openclaw gateway --dev --reset` (лише для dev; стирає dev config + credentials + sessions + workspace). - - Використайте один із таких варіантів: + + Використайте один із цих варіантів: - **Compact** (зберігає розмову, але підсумовує старіші ходи): @@ -2072,35 +2072,35 @@ x-i18n: /compact ``` - або `/compact `, щоб керувати підсумком. + або `/compact `, щоб спрямувати підсумок. - - **Скидання** (новий ідентифікатор сеансу для того самого ключа чату): + - **Reset** (новий ідентифікатор session для того самого ключа чату): ``` /new /reset ``` - Якщо це повторюється постійно: + Якщо це продовжує траплятися: - - Увімкніть або налаштуйте **проріджування сеансів** (`agents.defaults.contextPruning`), щоб обрізати старий вивід інструментів. + - Увімкніть або налаштуйте **обрізання session** (`agents.defaults.contextPruning`), щоб прибирати старий вивід інструментів. - Використовуйте модель із більшим вікном контексту. - Документація: [Compaction](/uk/concepts/compaction), [Проріджування сеансів](/uk/concepts/session-pruning), [Керування сеансами](/uk/concepts/session). + Документація: [Compaction](/uk/concepts/compaction), [Обрізання session](/uk/concepts/session-pruning), [Керування sessions](/uk/concepts/session). - Це помилка валідації провайдера: модель видала блок `tool_use` без обов’язкового - `input`. Зазвичай це означає, що історія сеансу застаріла або пошкоджена (часто після довгих тредів - або зміни інструмента/схеми). + Це помилка перевірки provider: модель згенерувала блок `tool_use` без обов’язкового + `input`. Зазвичай це означає, що історія session застаріла або пошкоджена (часто після довгих thread + або зміни tool/schema). - Виправлення: почніть новий сеанс за допомогою `/new` (окреме повідомлення). + Виправлення: почніть нову session за допомогою `/new` (окремим повідомленням). - - Heartbeat запускаються кожні **30m** за замовчуванням (**1h** при використанні OAuth-автентифікації). Налаштуйте або вимкніть їх: + + Heartbeat типово виконується кожні **30m** (**1h** при використанні OAuth auth). Налаштуйте або вимкніть це: ```json5 { @@ -2115,16 +2115,16 @@ x-i18n: ``` Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та markdown-заголовки - на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб заощадити API-виклики. - Якщо файл відсутній, heartbeat все одно запускається, і модель вирішує, що робити. + на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб заощадити API calls. + Якщо файла немає, heartbeat усе одно виконується, і модель сама вирішує, що робити. - Для перевизначень на рівні агента використовуйте `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat). + Для перевизначення на рівні agent використовуйте `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat). - - Ні. OpenClaw працює у **вашому власному акаунті**, тож якщо ви є в групі, OpenClaw може її бачити. - За замовчуванням відповіді в групах заблоковані, доки ви не дозволите відправників (`groupPolicy: "allowlist"`). + + Ні. OpenClaw працює від **вашого власного облікового запису**, тож якщо ви є в групі, OpenClaw може її бачити. + Типово відповіді в групах заблоковано, доки ви не дозволите відправників (`groupPolicy: "allowlist"`). Якщо ви хочете, щоб запускати відповіді в групі могли лише **ви**: @@ -2142,7 +2142,7 @@ x-i18n: - Варіант 1 (найшвидший): відстежуйте журнали й надішліть тестове повідомлення в групу: + Варіант 1 (найшвидший): переглядайте логи й надішліть тестове повідомлення в групу: ```bash openclaw logs --follow --json @@ -2151,128 +2151,128 @@ x-i18n: Шукайте `chatId` (або `from`), що закінчується на `@g.us`, наприклад: `1234567890-1234567890@g.us`. - Варіант 2 (якщо вже налаштовано/додано до allowlist): виведіть список груп із конфігурації: + Варіант 2 (якщо вже налаштовано/додано в allowlist): перелічіть групи з config: ```bash openclaw directory groups list --channel whatsapp ``` - Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/cli/directory), [Журнали](/cli/logs). + Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/uk/cli/directory), [Логи](/uk/cli/logs). Дві поширені причини: - - Увімкнено gating за згадкою (типово). Ви маєте @згадати бота (або відповідати `mentionPatterns`). + - Увімкнено обмеження за згадками (типово). Ви маєте @згадати бота (або відповідати `mentionPatterns`). - Ви налаштували `channels.whatsapp.groups` без `"*"`, і групу не додано до allowlist. - Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages). + Див. [Групи](/uk/channels/groups) і [Повідомлення в групах](/uk/channels/group-messages). - - Прямі чати за замовчуванням згортаються до основного сеансу. Групи/канали мають власні ключі сеансів, а теми Telegram / треди Discord є окремими сеансами. Див. [Групи](/uk/channels/groups) і [Групові повідомлення](/uk/channels/group-messages). + + Прямі чати типово згортаються до основної session. Групи/канали мають власні ключі session, а теми Telegram / threads Discord — це окремі sessions. Див. [Групи](/uk/channels/groups) і [Повідомлення в групах](/uk/channels/group-messages). - - Жорстких обмежень немає. Десятки (навіть сотні) — це нормально, але стежте за таким: + + Жорстких обмежень немає. Десятки (навіть сотні) — це нормально, але звертайте увагу на: - - **Зростання диска:** сеанси + транскрипти живуть у `~/.openclaw/agents//sessions/`. - - **Вартість токенів:** більше агентів означає більше одночасного використання моделей. - - **Операційні витрати:** профілі автентифікації, робочі простори й маршрутизація каналів для кожного агента. + - **Зростання диска:** sessions + транскрипти зберігаються в `~/.openclaw/agents//sessions/`. + - **Вартість токенів:** більше agents означає більше одночасного використання моделей. + - **Операційні витрати:** профілі auth для окремих agents, workspaces і маршрутизація channel. Поради: - - Тримайте один **активний** робочий простір на агента (`agents.defaults.workspace`). - - Очищайте старі сеанси (видаляйте JSONL або записи сховища), якщо диск розростається. - - Використовуйте `openclaw doctor`, щоб виявляти зайві робочі простори й невідповідності профілів. + - Тримайте один **активний** workspace для кожного agent (`agents.defaults.workspace`). + - Очищуйте старі sessions (видаляйте JSONL або записи сховища), якщо диск розростається. + - Використовуйте `openclaw doctor`, щоб виявляти stray workspaces і невідповідності профілів. - - Так. Використовуйте **маршрутизацію кількох агентів**, щоб запускати кількох ізольованих агентів і маршрутизувати вхідні повідомлення за - каналом/акаунтом/peer. Slack підтримується як канал і може бути прив’язаний до конкретних агентів. + + Так. Використовуйте **Маршрутизацію Multi-Agent**, щоб запускати кілька ізольованих agents і маршрутизувати вхідні повідомлення за + channel/account/peer. Slack підтримується як channel і може бути прив’язаний до конкретних agents. - Доступ до браузера дуже потужний, але це не «все, що може людина» — anti-bot, CAPTCHA і MFA - усе ще можуть блокувати автоматизацію. Для найнадійнішого керування браузером використовуйте локальний Chrome MCP на хості - або CDP на машині, яка фактично запускає браузер. + Доступ до browser потужний, але це не «зробити все, що може людина» — anti-bot механізми, CAPTCHA і MFA + все одно можуть блокувати автоматизацію. Для найнадійнішого керування browser використовуйте локальний Chrome MCP на хості + або CDP на машині, яка фактично запускає browser. - Налаштування за найкращими практиками: + Рекомендоване налаштування: - - Хост Gateway, що завжди працює (VPS/Mac mini). - - Один агент на роль (bindings). - - Канал(и) Slack, прив’язані до цих агентів. - - Локальний браузер через Chrome MCP або node, коли потрібно. + - Хост Gateway, що завжди ввімкнений (VPS/Mac mini). + - Один agent на роль (прив’язки). + - Slack channel(и), прив’язані до цих agents. + - Локальний browser через Chrome MCP або node за потреби. - Документація: [Маршрутизація кількох агентів](/uk/concepts/multi-agent), [Slack](/uk/channels/slack), - [Браузер](/uk/tools/browser), [Nodes](/uk/nodes). + Документація: [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [Slack](/uk/channels/slack), + [Browser](/uk/tools/browser), [Nodes](/uk/nodes). -## Моделі: типові значення, вибір, псевдоніми, перемикання +## Моделі: значення за замовчуванням, вибір, псевдоніми, перемикання - Модель OpenClaw за замовчуванням — це те, що ви задаєте як: + Типова модель OpenClaw — це те, що ви задаєте як: ``` agents.defaults.model.primary ``` - На моделі посилаються як `provider/model` (приклад: `openai/gpt-5.4`). Якщо ви пропускаєте провайдера, OpenClaw спочатку намагається використати псевдонім, потім — унікальний збіг налаштованого провайдера для точного id цієї моделі, і лише після цього повертається до налаштованого провайдера за замовчуванням як до застарілого шляху сумісності. Якщо цей провайдер більше не надає налаштовану типову модель, OpenClaw переходить до першого налаштованого провайдера/моделі замість того, щоб показувати застаріле типове значення від видаленого провайдера. Вам усе одно слід **явно** задавати `provider/model`. + На моделі посилаються як `provider/model` (приклад: `openai/gpt-5.4`). Якщо ви пропускаєте provider, OpenClaw спочатку пробує псевдонім, потім унікальний збіг налаштованого provider для точного id цієї моделі, і лише після цього переходить до налаштованого provider за замовчуванням як до застарілого шляху сумісності. Якщо цей provider більше не відкриває налаштовану модель за замовчуванням, OpenClaw переключається на перший налаштований provider/model замість того, щоб показувати застаріле типове значення з видаленого provider. Проте вам усе одно слід **явно** задавати `provider/model`. - **Рекомендований варіант за замовчуванням:** використовуйте найсильнішу модель останнього покоління, доступну у вашому стеку провайдерів. - **Для агентів з увімкненими інструментами або недовіреним входом:** ставте силу моделі вище за вартість. - **Для звичайного/низькоризикового чату:** використовуйте дешевші резервні моделі й маршрутизуйте за роллю агента. + **Рекомендований варіант за замовчуванням:** використовуйте найсильнішу модель останнього покоління, доступну у вашому стеку providers. + **Для agents з увімкненими tools або з недовіреним входом:** ставте силу моделі вище за вартість. + **Для звичайного/низькоризикового чату:** використовуйте дешевші резервні моделі й маршрутизуйте за роллю agent. Для MiniMax є окрема документація: [MiniMax](/uk/providers/minimax) і [Локальні моделі](/uk/gateway/local-models). - Практичне правило: використовуйте **найкращу модель, яку можете собі дозволити** для важливих завдань, і дешевшу - модель для повсякденного чату або підсумків. Ви можете маршрутизувати моделі для кожного агента й використовувати субагентів для - паралелізації довгих завдань (кожен субагент споживає токени). Див. [Моделі](/uk/concepts/models) і - [Субагенти](/uk/tools/subagents). + Практичне правило: використовуйте **найкращу модель, яку можете собі дозволити** для високоризикової роботи, і дешевшу + модель для звичайного чату або підсумків. Ви можете маршрутизувати моделі для кожного agent і використовувати sub-agents для + паралелізації довгих завдань (кожен sub-agent споживає токени). Див. [Моделі](/uk/concepts/models) і + [Sub-agents](/uk/tools/subagents). - Сильне попередження: слабші/надмірно квантизовані моделі вразливіші до prompt injection - і небезпечної поведінки. Див. [Безпека](/uk/gateway/security). + Серйозне попередження: слабші/надто квантизовані моделі вразливіші до prompt + injection і небезпечної поведінки. Див. [Безпека](/uk/gateway/security). Більше контексту: [Моделі](/uk/concepts/models). - - Використовуйте **команди моделей** або редагуйте лише поля **model**. Уникайте повної заміни конфігурації. + + Використовуйте **команди моделей** або редагуйте лише поля **model**. Уникайте повної заміни config. Безпечні варіанти: - - `/model` у чаті (швидко, для поточного сеансу) - - `openclaw models set ...` (оновлює лише конфігурацію моделі) + - `/model` у чаті (швидко, для окремої session) + - `openclaw models set ...` (оновлює лише config model) - `openclaw configure --section model` (інтерактивно) - редагуйте `agents.defaults.model` у `~/.openclaw/openclaw.json` - Уникайте `config.apply` з частковим об’єктом, якщо тільки ви не хочете замінити всю конфігурацію цілком. - Для RPC-редагувань спочатку перегляньте через `config.schema.lookup` і надавайте перевагу `config.patch`. Payload lookup дає вам нормалізований шлях, неглибоку документацію/обмеження схеми та короткі зведення безпосередніх дочірніх елементів + Уникайте `config.apply` з частковим об’єктом, якщо ви не хочете замінити весь config. + Для редагування RPC спочатку перевіряйте через `config.schema.lookup` і надавайте перевагу `config.patch`. Payload lookup дає вам нормалізований шлях, документацію/обмеження поверхневої схеми та підсумки безпосередніх дочірніх елементів для часткових оновлень. - Якщо ви все ж перезаписали конфігурацію, відновіть її з резервної копії або повторно запустіть `openclaw doctor` для виправлення. + Якщо ви таки перезаписали config, відновіть його з резервної копії або повторно виконайте `openclaw doctor` для виправлення. - Документація: [Моделі](/uk/concepts/models), [Налаштування](/cli/configure), [Конфігурація](/cli/config), [Doctor](/uk/gateway/doctor). + Документація: [Моделі](/uk/concepts/models), [Configure](/uk/cli/configure), [Config](/uk/cli/config), [Doctor](/uk/gateway/doctor). - Так. Ollama — найпростіший шлях до локальних моделей. + Так. Ollama — найпростіший шлях для локальних моделей. Найшвидше налаштування: - 1. Установіть Ollama з `https://ollama.com/download` + 1. Встановіть Ollama з `https://ollama.com/download` 2. Завантажте локальну модель, наприклад `ollama pull gemma4` - 3. Якщо ви хочете також хмарні моделі, виконайте `ollama signin` - 4. Запустіть `openclaw onboard` і виберіть `Ollama` + 3. Якщо вам потрібні також хмарні моделі, виконайте `ollama signin` + 4. Виконайте `openclaw onboard` і виберіть `Ollama` 5. Виберіть `Local` або `Cloud + Local` Примітки: @@ -2281,9 +2281,9 @@ x-i18n: - хмарні моделі, як-от `kimi-k2.5:cloud`, не потребують локального завантаження - для ручного перемикання використовуйте `openclaw models list` і `openclaw models set ollama/` - Примітка щодо безпеки: менші або сильно квантизовані моделі більш уразливі до prompt - injection. Ми наполегливо рекомендуємо **великі моделі** для будь-якого бота, який може використовувати інструменти. - Якщо ви все ж хочете малі моделі, увімкніть ізоляцію та строгі allowlist інструментів. + Примітка з безпеки: менші або сильно квантизовані моделі вразливіші до prompt + injection. Ми наполегливо рекомендуємо **великі моделі** для будь-якого бота, який може використовувати tools. + Якщо ви все ж хочете малі моделі, увімкніть ізоляцію та строгі allowlist для tools. Документація: [Ollama](/uk/providers/ollama), [Локальні моделі](/uk/gateway/local-models), [Провайдери моделей](/uk/concepts/model-providers), [Безпека](/uk/gateway/security), @@ -2292,9 +2292,9 @@ x-i18n: - - Ці розгортання можуть відрізнятися й змінюватися з часом; фіксованої рекомендації щодо провайдера немає. - - Перевіряйте поточне налаштування під час виконання на кожному gateway за допомогою `openclaw models status`. - - Для агентів, чутливих до безпеки/з інструментами, використовуйте найсильнішу доступну модель останнього покоління. + - У цих розгортаннях усе може відрізнятися й змінюватися з часом; фіксованої рекомендації щодо provider немає. + - Перевіряйте поточне налаштування під час роботи на кожному gateway через `openclaw models status`. + - Для чутливих до безпеки agents / agents з увімкненими tools використовуйте найсильнішу модель останнього покоління з доступних. @@ -2310,9 +2310,9 @@ x-i18n: /model gemini-flash-lite ``` - Це вбудовані псевдоніми. Власні псевдоніми можна додавати через `agents.defaults.models`. + Це вбудовані псевдоніми. Користувацькі псевдоніми можна додати через `agents.defaults.models`. - Ви можете переглянути доступні моделі через `/model`, `/model list` або `/model status`. + Ви можете перелічити доступні моделі через `/model`, `/model list` або `/model status`. `/model` (і `/model list`) показує компактний нумерований вибір. Вибір за номером: @@ -2320,17 +2320,17 @@ x-i18n: /model 3 ``` - Ви також можете примусово вибрати конкретний профіль автентифікації для провайдера (для сеансу): + Ви також можете примусово вибрати конкретний профіль auth для provider (для окремої session): ``` /model opus@anthropic:default /model opus@anthropic:work ``` - Порада: `/model status` показує, який агент активний, який файл `auth-profiles.json` використовується і який профіль автентифікації буде спробовано наступним. - Він також показує налаштований endpoint провайдера (`baseUrl`) і режим API (`api`), коли вони доступні. + Порада: `/model status` показує, який agent активний, який файл `auth-profiles.json` використовується і який профіль auth буде спробовано наступним. + Він також показує налаштований endpoint provider (`baseUrl`) і режим API (`api`), коли вони доступні. - **Як зняти прив’язку профілю, який я задав через @profile?** + **Як зняти закріплення профілю, який я задав через @profile?** Повторно виконайте `/model` **без** суфікса `@profile`: @@ -2338,28 +2338,28 @@ x-i18n: /model anthropic/claude-opus-4-6 ``` - Якщо ви хочете повернутися до типового значення, виберіть його з `/model` (або надішліть `/model `). - Використовуйте `/model status`, щоб підтвердити, який профіль автентифікації активний. + Якщо ви хочете повернутися до типового значення, виберіть його через `/model` (або надішліть `/model `). + Використовуйте `/model status`, щоб підтвердити, який профіль auth активний. - - Так. Задайте одну як типову й перемикайтеся за потреби: + + Так. Задайте одну модель як типову й перемикайтеся за потреби: - - **Швидке перемикання (для сеансу):** `/model gpt-5.4` для щоденних завдань, `/model openai-codex/gpt-5.4` для кодування через Codex OAuth. + - **Швидке перемикання (для окремої session):** `/model gpt-5.4` для щоденних завдань, `/model openai-codex/gpt-5.4` для кодування через OAuth Codex. - **Типове значення + перемикання:** задайте `agents.defaults.model.primary` як `openai/gpt-5.4`, а потім перемикайтеся на `openai-codex/gpt-5.4` під час кодування (або навпаки). - - **Субагенти:** маршрутизуйте завдання кодування до субагентів з іншою типовою моделлю. + - **Sub-agents:** маршрутизуйте завдання кодування до sub-agents з іншою типовою моделлю. - Див. [Моделі](/uk/concepts/models) і [Slash-команди](/uk/tools/slash-commands). + Див. [Моделі](/uk/concepts/models) і [Слеш-команди](/uk/tools/slash-commands). - Використовуйте або перемикач для сеансу, або типове значення в конфігурації: + Використовуйте або перемикач session, або типове значення в config: - - **Для сеансу:** надішліть `/fast on`, поки сеанс використовує `openai/gpt-5.4` або `openai-codex/gpt-5.4`. + - **Для окремої session:** надішліть `/fast on`, поки session використовує `openai/gpt-5.4` або `openai-codex/gpt-5.4`. - **Типове значення для моделі:** задайте `agents.defaults.models["openai/gpt-5.4"].params.fastMode` як `true`. - - **Також для Codex OAuth:** якщо ви також використовуєте `openai-codex/gpt-5.4`, задайте той самий прапорець і там. + - **Також для OAuth Codex:** якщо ви також використовуєте `openai-codex/gpt-5.4`, задайте той самий прапорець і там. Приклад: @@ -2384,15 +2384,15 @@ x-i18n: } ``` - Для OpenAI fast mode відображається в `service_tier = "priority"` у підтримуваних нативних запитах Responses. Перевизначення `/fast` для сеансу мають вищий пріоритет за типові значення в конфігурації. + Для OpenAI fast mode відображається в `service_tier = "priority"` у підтримуваних нативних запитах Responses. `/fast` для session перевизначає типові значення config. - Див. [Thinking і fast mode](/uk/tools/thinking) і [OpenAI fast mode](/uk/providers/openai#openai-fast-mode). + Див. [Thinking і fast mode](/uk/tools/thinking) та [OpenAI fast mode](/uk/providers/openai#openai-fast-mode). Якщо задано `agents.defaults.models`, це стає **allowlist** для `/model` і будь-яких - перевизначень сеансу. Вибір моделі, якої немає в цьому списку, повертає: + перевизначень session. Вибір моделі, якої немає в цьому списку, повертає: ``` Model "provider/model" is not allowed. Use /model to list available models. @@ -2404,20 +2404,20 @@ x-i18n: - Це означає, що **провайдер не налаштований** (не знайдено конфігурацію провайдера MiniMax або - профіль автентифікації), тому модель не може бути розв’язана. + Це означає, що **provider не налаштований** (не знайдено config provider MiniMax або + профіль auth), тому модель не вдається розв’язати. - Контрольний список для виправлення: + Чекліст виправлення: 1. Оновіться до актуального релізу OpenClaw (або запускайте з вихідного коду `main`), а потім перезапустіть gateway. - 2. Переконайтеся, що MiniMax налаштовано (через майстер або JSON), або що автентифікація MiniMax - існує в env/профілях автентифікації, щоб відповідний провайдер можна було інжектувати + 2. Переконайтеся, що MiniMax налаштовано (майстром або через JSON), або що auth MiniMax + існує в env/auth profiles, щоб можна було інжектувати відповідний provider (`MINIMAX_API_KEY` для `minimax`, `MINIMAX_OAUTH_TOKEN` або збережений MiniMax OAuth для `minimax-portal`). - 3. Використовуйте точний id моделі (з урахуванням регістру) для вашого шляху автентифікації: + 3. Використовуйте точний id моделі (з урахуванням регістру) для вашого шляху auth: `minimax/MiniMax-M2.7` або `minimax/MiniMax-M2.7-highspeed` для налаштування - через API-ключ, або `minimax-portal/MiniMax-M2.7` / - `minimax-portal/MiniMax-M2.7-highspeed` для налаштування через OAuth. + з API key, або `minimax-portal/MiniMax-M2.7` / + `minimax-portal/MiniMax-M2.7-highspeed` для налаштування з OAuth. 4. Виконайте: ```bash @@ -2431,10 +2431,10 @@ x-i18n: - Так. Використовуйте **MiniMax як типову модель** і перемикайте моделі **для кожного сеансу** за потреби. - Запасні варіанти використовуються для **помилок**, а не для «складних завдань», тому використовуйте `/model` або окремого агента. + Так. Використовуйте **MiniMax як типову модель** і перемикайте моделі **для окремої session** за потреби. + Fallback призначені для **помилок**, а не для «складних завдань», тому використовуйте `/model` або окремий agent. - **Варіант A: перемикання для кожного сеансу** + **Варіант A: перемикання для окремої session** ```json5 { @@ -2457,18 +2457,18 @@ x-i18n: /model gpt ``` - **Варіант B: окремі агенти** + **Варіант B: окремі agents** - - Типова модель агента A: MiniMax - - Типова модель агента B: OpenAI - - Маршрутизуйте за агентом або використовуйте `/agent` для перемикання + - Типова модель agent A: MiniMax + - Типова модель agent B: OpenAI + - Маршрутизуйте за agent або використовуйте `/agent` для перемикання - Документація: [Моделі](/uk/concepts/models), [Маршрутизація кількох агентів](/uk/concepts/multi-agent), [MiniMax](/uk/providers/minimax), [OpenAI](/uk/providers/openai). + Документація: [Моделі](/uk/concepts/models), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [MiniMax](/uk/providers/minimax), [OpenAI](/uk/providers/openai). - Так. OpenClaw постачається з кількома типовими скороченнями (застосовуються лише коли модель існує в `agents.defaults.models`): + Так. OpenClaw постачається з кількома типовими скороченнями (застосовуються лише тоді, коли модель існує в `agents.defaults.models`): - `opus` → `anthropic/claude-opus-4-6` - `sonnet` → `anthropic/claude-sonnet-4-6` @@ -2479,12 +2479,12 @@ x-i18n: - `gemini-flash` → `google/gemini-3-flash-preview` - `gemini-flash-lite` → `google/gemini-3.1-flash-lite-preview` - Якщо ви задасте власний псевдонім з тим самим ім’ям, ваше значення матиме пріоритет. + Якщо ви задасте власний псевдонім із такою самою назвою, ваше значення матиме пріоритет. - - Псевдоніми походять із `agents.defaults.models..alias`. Приклад: + + Псевдоніми беруться з `agents.defaults.models..alias`. Приклад: ```json5 { @@ -2501,11 +2501,11 @@ x-i18n: } ``` - Після цього `/model sonnet` (або `/`, коли це підтримується) розв’язується в цей id моделі. + Тоді `/model sonnet` (або `/`, коли це підтримується) розв’язується в цей id моделі. - + OpenRouter (оплата за токени; багато моделей): ```json5 @@ -2534,12 +2534,12 @@ x-i18n: } ``` - Якщо ви посилаєтеся на `provider/model`, але потрібний ключ провайдера відсутній, ви отримаєте помилку автентифікації під час виконання (наприклад, `No API key found for provider "zai"`). + Якщо ви посилаєтеся на `provider/model`, але потрібний ключ provider відсутній, ви отримаєте помилку auth під час роботи (наприклад `No API key found for provider "zai"`). - **No API key found for provider після додавання нового агента** + **No API key found for provider після додавання нового agent** - Зазвичай це означає, що в **нового агента** порожнє сховище автентифікації. Автентифікація прив’язана до агента і - зберігається тут: + Зазвичай це означає, що **новий agent** має порожнє сховище auth. Auth є окремим для кожного agent і + зберігається в: ``` ~/.openclaw/agents//agent/auth-profiles.json @@ -2547,120 +2547,119 @@ x-i18n: Варіанти виправлення: - - Запустіть `openclaw agents add ` і налаштуйте автентифікацію під час майстра. - - Або скопіюйте `auth-profiles.json` з `agentDir` основного агента в `agentDir` нового агента. + - Виконайте `openclaw agents add ` і налаштуйте auth під час майстра. + - Або скопіюйте `auth-profiles.json` з `agentDir` основного agent до `agentDir` нового agent. - **Не** використовуйте один `agentDir` повторно для кількох агентів; це спричиняє конфлікти автентифікації/сеансів. + **Не** використовуйте повторно `agentDir` між agents; це спричиняє конфлікти auth/session. -## Резервне перемикання моделей і "All models failed" +## Перемикання моделей у разі збою та «All models failed» - - Резервне перемикання відбувається у два етапи: + + Перемикання в разі збою відбувається у два етапи: - 1. **Ротація профілів автентифікації** в межах одного провайдера. - 2. **Резервне перемикання моделі** на наступну модель у `agents.defaults.model.fallbacks`. + 1. **Ротація профілів auth** у межах того самого provider. + 2. **Fallback моделі** до наступної моделі в `agents.defaults.model.fallbacks`. - До профілів, що дають збої, застосовуються періоди очікування (експоненційний backoff), тож OpenClaw може продовжувати відповідати, навіть коли провайдер упирається в rate limit або тимчасово дає збої. + До профілів, що дають збої, застосовуються cooldown (експоненційний backoff), тож OpenClaw може продовжувати відповідати навіть тоді, коли provider упирається в rate limit або тимчасово недоступний. - Кошик rate limit включає не лише звичайні відповіді `429`. OpenClaw - також вважає придатними для резервного перемикання rate limit-ами - повідомлення на кшталт `Too many concurrent requests`, + Кошик rate-limit включає більше, ніж просто відповіді `429`. OpenClaw + також вважає такими, що варті failover, повідомлення на кшталт `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, - `workers_ai ... quota limit exceeded`, `resource exhausted` та періодичні + `workers_ai ... quota limit exceeded`, `resource exhausted` і періодичні обмеження вікна використання (`weekly/monthly limit reached`). - Деякі відповіді, схожі на billing, не є `402`, а деякі HTTP-відповіді `402` - теж залишаються в цьому тимчасовому кошику. Якщо провайдер повертає - явний текст про billing на `401` або `403`, OpenClaw усе одно може залишити це - в смузі billing, але специфічні для провайдера зіставлення тексту залишаються обмеженими - провайдером, якому вони належать (наприклад, OpenRouter `Key limit exceeded`). Якщо повідомлення `402` - натомість схоже на повторюване вікно використання або - ліміт витрат організації/робочого простору (`daily limit reached, resets tomorrow`, + Деякі відповіді, схожі на billing, не є `402`, а деякі відповіді HTTP `402` + також залишаються в цьому тимчасовому кошику. Якщо provider повертає + явний текст billing у `401` або `403`, OpenClaw все одно може залишити це + в смузі billing, але text matcher, специфічні для provider, залишаються в межах + provider, якому вони належать (наприклад, OpenRouter `Key limit exceeded`). Якщо ж повідомлення `402` + більше схоже на повторюване вікно використання або + обмеження витрат організації/робочого простору (`daily limit reached, resets tomorrow`, `organization spending limit exceeded`), OpenClaw трактує це як - `rate_limit`, а не як довге вимкнення через billing. + `rate_limit`, а не як довготривале вимкнення через billing. Помилки переповнення контексту — інші: сигнатури на кшталт `request_too_large`, `input exceeds the maximum number of tokens`, `input token count exceeds the maximum number of input tokens`, `input is too long for the model` або `ollama error: context length - exceeded` залишаються на шляху Compaction/повторної спроби замість переходу - до резервної моделі. + exceeded` залишаються на шляху compaction/retry замість переходу до model + fallback. - Узагальнений текст про серверні помилки навмисно вужчий, ніж «усе, що містить - unknown/error». OpenClaw вважає придатними для резервного перемикання - специфічні для провайдера тимчасові форми, як-от Anthropic bare `An unknown error occurred`, OpenRouter bare + Узагальнений текст server-error навмисно вужчий, ніж «усе, де є + unknown/error». OpenClaw вважає вартими failover перехідні форми, + обмежені provider, як-от голе Anthropic `An unknown error occurred`, голе OpenRouter `Provider returned error`, помилки stop-reason на кшталт `Unhandled stop reason: - error`, JSON-payload `api_error` із тимчасовим серверним текстом + error`, JSON payload `api_error` з перехідним серверним текстом (`internal server error`, `unknown error, 520`, `upstream error`, `backend - error`) і помилки перевантаження провайдера, як-от `ModelNotReadyException`, - як сигнали timeout/перевантаження, варті резервного перемикання, коли контекст провайдера + error`) і помилки зайнятості provider на кшталт `ModelNotReadyException` як + сигнали timeout/перевантаження, що варті failover, коли контекст provider збігається. - Загальний внутрішній fallback-текст на кшталт `LLM request failed with an unknown - error.` залишається консервативним і сам по собі не запускає резервне перемикання моделі. + Узагальнений внутрішній fallback-текст на кшталт `LLM request failed with an unknown + error.` навмисно обробляється обережно і сам по собі не запускає model fallback. - Це означає, що система спробувала використати id профілю автентифікації `anthropic:default`, але не змогла знайти для нього облікові дані в очікуваному сховищі автентифікації. + Це означає, що система намагалася використати id профілю auth `anthropic:default`, але не змогла знайти облікові дані для нього в очікуваному сховищі auth. - **Контрольний список виправлення:** + **Чекліст виправлення:** - - **Перевірте, де живуть профілі автентифікації** (нові та застарілі шляхи) + - **Підтвердьте, де зберігаються профілі auth** (нові чи застарілі шляхи) - Поточний: `~/.openclaw/agents//agent/auth-profiles.json` - - Застарілий: `~/.openclaw/agent/*` (мігрується за допомогою `openclaw doctor`) - - **Переконайтеся, що Gateway завантажує вашу змінну середовища** - - Якщо ви задали `ANTHROPIC_API_KEY` у своїй оболонці, але запускаєте Gateway через systemd/launchd, він може не успадковувати її. Додайте її в `~/.openclaw/.env` або увімкніть `env.shellEnv`. - - **Переконайтеся, що редагуєте правильного агента** - - У конфігураціях із кількома агентами може бути кілька файлів `auth-profiles.json`. - - **Швидко перевірте стан моделі/автентифікації** - - Використовуйте `openclaw models status`, щоб побачити налаштовані моделі та чи пройшли провайдери автентифікацію. + - Застарілий: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`) + - **Підтвердьте, що ваш env var завантажується Gateway** + - Якщо ви задали `ANTHROPIC_API_KEY` у своїй оболонці, але запускаєте Gateway через systemd/launchd, він може його не успадкувати. Розмістіть його в `~/.openclaw/.env` або увімкніть `env.shellEnv`. + - **Переконайтеся, що ви редагуєте правильного agent** + - У multi-agent налаштуваннях може бути кілька файлів `auth-profiles.json`. + - **Перевірте стан model/auth** + - Використовуйте `openclaw models status`, щоб побачити налаштовані моделі й те, чи пройшли providers автентифікацію. - **Контрольний список виправлення для "No credentials found for profile anthropic"** + **Чекліст виправлення для "No credentials found for profile anthropic"** - Це означає, що запуск прив’язаний до профілю автентифікації Anthropic, але Gateway - не може знайти його у своєму сховищі автентифікації. + Це означає, що запуск прив’язаний до профілю auth Anthropic, але Gateway + не може знайти його у своєму сховищі auth. - **Використовуйте Claude CLI** - - Запустіть `openclaw models auth login --provider anthropic --method cli --set-default` на хості gateway. - - **Якщо ви хочете використовувати API-ключ** - - Додайте `ANTHROPIC_API_KEY` у `~/.openclaw/.env` на **хості gateway**. - - Очистіть будь-який закріплений порядок, який примусово використовує відсутній профіль: + - Виконайте `openclaw models auth login --provider anthropic --method cli --set-default` на хості gateway. + - **Якщо ви хочете натомість використовувати API key** + - Розмістіть `ANTHROPIC_API_KEY` у `~/.openclaw/.env` на **хості gateway**. + - Очистьте будь-який закріплений порядок, який примушує використовувати відсутній профіль: ```bash openclaw models auth order clear --provider anthropic ``` - - **Переконайтеся, що запускаєте команди на хості gateway** - - У віддаленому режимі профілі автентифікації живуть на машині gateway, а не на вашому ноутбуці. + - **Підтвердьте, що ви виконуєте команди на хості gateway** + - У remote mode профілі auth живуть на машині gateway, а не на вашому ноутбуці. - - Якщо у вашій конфігурації моделі Google Gemini входить до резервного перемикання (або ви перемкнулися на скорочення Gemini), OpenClaw спробує її під час резервного перемикання моделі. Якщо ви не налаштували облікові дані Google, ви побачите `No API key found for provider "google"`. + + Якщо ваш config model містить Google Gemini як fallback (або ви переключилися на скорочення Gemini), OpenClaw спробує його під час model fallback. Якщо ви не налаштували облікові дані Google, ви побачите `No API key found for provider "google"`. - Виправлення: або надайте автентифікацію Google, або видаліть/уникайте моделей Google у `agents.defaults.model.fallbacks` / псевдонімах, щоб резервне перемикання не йшло туди. + Виправлення: або надайте auth Google, або приберіть/уникайте моделей Google в `agents.defaults.model.fallbacks` / псевдонімах, щоб fallback не маршрутизував туди. **LLM request rejected: thinking signature required (Google Antigravity)** - Причина: історія сеансу містить **блоки thinking без сигнатур** (часто від - перерваного/часткового потоку). Google Antigravity вимагає сигнатури для блоків thinking. + Причина: історія session містить **блоки thinking без підписів** (часто від + перерваного/часткового потоку). Google Antigravity вимагає підписів для блоків thinking. - Виправлення: OpenClaw тепер прибирає блоки thinking без сигнатур для Google Antigravity Claude. Якщо це все ще з’являється, почніть **новий сеанс** або задайте `/thinking off` для цього агента. + Виправлення: OpenClaw тепер видаляє непідписані блоки thinking для Google Antigravity Claude. Якщо це все ще з’являється, почніть **нову session** або задайте `/thinking off` для цього agent. -## Профілі автентифікації: що це таке і як ними керувати +## Профілі auth: що це таке і як ними керувати -Пов’язане: [/concepts/oauth](/uk/concepts/oauth) (потоки OAuth, зберігання токенів, шаблони для кількох акаунтів) +Пов’язане: [/concepts/oauth](/uk/concepts/oauth) (потоки OAuth, зберігання токенів, шаблони для кількох облікових записів) - - Профіль автентифікації — це іменований запис облікових даних (OAuth або API-ключ), прив’язаний до провайдера. Профілі зберігаються тут: + + Профіль auth — це іменований запис облікових даних (OAuth або API key), прив’язаний до provider. Профілі зберігаються в: ``` ~/.openclaw/agents//agent/auth-profiles.json @@ -2669,68 +2668,68 @@ x-i18n: - OpenClaw використовує id з префіксом провайдера, наприклад: + OpenClaw використовує id з префіксом provider, наприклад: - - `anthropic:default` (поширений варіант, коли немає ідентичності email) - - `anthropic:` для OAuth-ідентичностей - - власні id, які ви вибираєте (наприклад `anthropic:work`) + - `anthropic:default` (поширено, коли немає ідентичності email) + - `anthropic:` для ідентичностей OAuth + - користувацькі id, які ви задаєте (наприклад `anthropic:work`) - - Так. Конфігурація підтримує необов’язкові метадані для профілів і порядок для кожного провайдера (`auth.order.`). Це **не** зберігає секрети; воно відображає id у provider/mode і задає порядок ротації. + + Так. Config підтримує необов’язкові метадані для профілів і порядок для кожного provider (`auth.order.`). Це **не** зберігає секрети; воно зіставляє id із provider/mode і задає порядок ротації. - OpenClaw може тимчасово пропускати профіль, якщо він перебуває в короткому **cooldown** (rate limit/timeout/збої автентифікації) або в довшому стані **disabled** (billing/недостатньо кредитів). Щоб перевірити це, виконайте `openclaw models status --json` і перегляньте `auth.unusableProfiles`. Налаштування: `auth.cooldowns.billingBackoffHours*`. + OpenClaw може тимчасово пропустити профіль, якщо він перебуває в короткому **cooldown** (rate limits/timeouts/auth failures) або в довшому стані **disabled** (billing/insufficient credits). Щоб перевірити це, виконайте `openclaw models status --json` і перевірте `auth.unusableProfiles`. Налаштування: `auth.cooldowns.billingBackoffHours*`. - Cooldown через rate limit може бути прив’язаний до моделі. Профіль, який охолоджується - для однієї моделі, усе ще може бути придатним для сусідньої моделі того самого провайдера, - тоді як вікна billing/disabled усе ще блокують увесь профіль. + Cooldown для rate-limit можуть бути прив’язані до моделі. Профіль, який перебуває в cooldown + для однієї моделі, усе ще може бути придатним для спорідненої моделі в того самого provider, + тоді як вікна billing/disabled як і раніше блокують увесь профіль. - Ви також можете задати **порядок перевизначення для конкретного агента** (зберігається в `auth-state.json` цього агента) через CLI: + Ви також можете задати **перевизначення порядку для окремого agent** (зберігається в `auth-state.json` цього agent) через CLI: ```bash - # Типово використовується налаштований типовий агент (можна пропустити --agent) + # Типово націлюється на типового agent з config (пропустіть --agent) openclaw models auth order get --provider anthropic - # Зафіксувати ротацію на одному профілі (пробувати лише цей) + # Заблокувати ротацію до одного профілю (пробувати лише його) openclaw models auth order set --provider anthropic anthropic:default - # Або задати явний порядок (резервне перемикання в межах провайдера) + # Або задати явний порядок (fallback у межах provider) openclaw models auth order set --provider anthropic anthropic:work anthropic:default # Очистити перевизначення (повернутися до config auth.order / round-robin) openclaw models auth order clear --provider anthropic ``` - Щоб націлити на конкретного агента: + Щоб націлитися на конкретного agent: ```bash openclaw models auth order set --provider anthropic --agent main anthropic:default ``` - Щоб перевірити, що саме насправді буде спробовано, використовуйте: + Щоб перевірити, що саме реально буде спробовано, використовуйте: ```bash openclaw models status --probe ``` - Якщо збережений профіль пропущено з явного порядку, probe повідомить - `excluded_by_auth_order` для цього профілю замість того, щоб тихо намагатися його використати. + Якщо збережений профіль пропущено в явному порядку, probe повідомить + `excluded_by_auth_order` для цього профілю замість того, щоб мовчки його пробувати. - + OpenClaw підтримує обидва варіанти: - **OAuth** часто використовує доступ за підпискою (де це застосовно). - - **API-ключі** використовують білінг pay-per-token. + - **API keys** використовують білінг за токени. - Майстер явно підтримує Anthropic Claude CLI, OpenAI Codex OAuth і API-ключі. + Майстер явно підтримує Anthropic Claude CLI, OpenAI Codex OAuth і API keys. -## Gateway: порти, "already running" і віддалений режим +## Gateway: порти, «already running» і remote mode @@ -2744,19 +2743,19 @@ x-i18n: - - Тому що "running" — це погляд **супервізора** (launchd/systemd/schtasks). А перевірка підключення — це CLI, який реально підключається до gateway WebSocket. + + Тому що "running" — це погляд **supervisor** (launchd/systemd/schtasks). А connectivity probe — це фактичне підключення CLI до Gateway WebSocket. - Використовуйте `openclaw gateway status` і орієнтуйтеся на ці рядки: + Використовуйте `openclaw gateway status` і довіряйте цим рядкам: - - `Probe target:` (URL, який перевірка реально використовувала) - - `Listening:` (що реально прив’язано до порту) - - `Last gateway error:` (типова першопричина, коли процес живий, але порт не слухає) + - `Probe target:` (URL, який probe реально використав) + - `Listening:` (що насправді прив’язано до порту) + - `Last gateway error:` (типова коренева причина, коли процес живий, але порт не слухає) - - Ви редагуєте один файл конфігурації, тоді як сервіс запускає інший (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`). + + Ви редагуєте один файл config, а служба працює з іншим (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`). Виправлення: @@ -2764,19 +2763,19 @@ x-i18n: openclaw gateway install --force ``` - Запускайте це з тим самим `--profile` / середовищем, яке ви хочете, щоб використовував сервіс. + Виконуйте це з того самого `--profile` / середовища, яке служба має використовувати. - OpenClaw примусово забезпечує runtime lock, одразу прив’язуючи WebSocket listener під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується з `EADDRINUSE`, він викидає `GatewayLockError`, що означає: інший екземпляр уже слухає. + OpenClaw примусово забезпечує блокування під час роботи, негайно прив’язуючи слухач WebSocket під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується помилкою `EADDRINUSE`, викидається `GatewayLockError`, що означає: інший екземпляр уже слухає. Виправлення: зупиніть інший екземпляр, звільніть порт або запускайте з `openclaw gateway --port `. - - Задайте `gateway.mode: "remote"` і вкажіть віддалену URL-адресу WebSocket, за бажанням із віддаленими обліковими даними спільного секрету: + + Задайте `gateway.mode: "remote"` і вкажіть URL віддаленого WebSocket, за потреби додавши віддалені облікові дані зі спільним секретом: ```json5 { @@ -2793,90 +2792,90 @@ x-i18n: Примітки: - - `openclaw gateway` запускається лише тоді, коли `gateway.mode` має значення `local` (або ви передаєте прапорець перевизначення). - - Застосунок macOS відстежує файл конфігурації й перемикає режими в реальному часі, коли ці значення змінюються. - - `gateway.remote.token` / `.password` — це лише клієнтські віддалені облікові дані; самі по собі вони не вмикають локальну автентифікацію gateway. + - `openclaw gateway` запускається лише тоді, коли `gateway.mode` дорівнює `local` (або ви передали прапорець перевизначення). + - Застосунок macOS стежить за файлом config і перемикає режими наживо, коли ці значення змінюються. + - `gateway.remote.token` / `.password` — це лише віддалені облікові дані на боці client; самі по собі вони не вмикають auth локального gateway. - - Шлях автентифікації вашого gateway і метод автентифікації UI не збігаються. + + Ваш шлях auth gateway і метод auth у UI не збігаються. Факти (з коду): - - Control UI зберігає токен у `sessionStorage` для поточної сесії вкладки браузера й вибраної URL-адреси gateway, тож оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого збереження токена в localStorage. - - При `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повтору (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`). - - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані затверджені scope, збережені разом із токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` все одно зберігають свій запитаний набір scope замість успадкування кешованих scope. - - Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: спочатку явний shared token/password, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap token. - - Перевірки scope bootstrap token мають префікси ролей. Вбудований allowlist bootstrap operator задовольняє лише запити оператора; node або інші ролі не-оператора все одно потребують scope під власним префіксом ролі. + - Control UI зберігає токен у `sessionStorage` для поточної сесії вкладки браузера і вибраного URL gateway, тому оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого зберігання токена в localStorage. + - За `AUTH_TOKEN_MISMATCH` довірені clients можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повтору (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`). + - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані схвалені scope, збережені разом із токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` усе одно зберігають запитаний набір scope замість успадковування кешованих scope. + - Поза цим шляхом повторної спроби пріоритет auth для підключення такий: спочатку явний спільний токен/пароль, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap-токен. + - Перевірки scope bootstrap-токена мають префікс ролі. Вбудований allowlist bootstrap-operator задовольняє лише запити operator; node або інші ролі, відмінні від operator, усе одно потребують scope під власним префіксом ролі. Виправлення: - - Найшвидше: `openclaw dashboard` (друкує + копіює URL-адресу панелі керування, намагається відкрити; показує підказку SSH, якщо режим headless). + - Найшвидше: `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/`. - - Режим shared-secret: задайте `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: переконайтеся, що ви приходите через налаштований non-loopback proxy з урахуванням ідентичності, а не через loopback proxy на тому самому хості чи сиру URL gateway. - - Якщо невідповідність зберігається після однієї повторної спроби, поверніть/перезатвердьте токен спареного пристрою: + - Якщо ви працюєте віддалено, спочатку створіть tunnel: `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: переконайтеся, що ви заходите через налаштований не-loopback proxy з awareness ідентичності, а не через loopback proxy на тому самому хості чи сирий URL gateway. + - Якщо невідповідність зберігається після однієї повторної спроби, ротуйте/повторно схваліть токен paired device: - `openclaw devices list` - `openclaw devices rotate --device --role operator` - - Якщо цей виклик rotate каже, що його відхилено, перевірте дві речі: - - сесії спареного пристрою можуть повертати лише **власний** пристрій, якщо тільки вони не мають також `operator.admin` - - явні значення `--scope` не можуть перевищувати поточні operator scope викликача - - Досі не вдається? Запустіть `openclaw status --all` і дотримуйтеся [Усунення несправностей](/uk/gateway/troubleshooting). Подробиці автентифікації див. у [Панель керування](/web/dashboard). + - Якщо виклик rotate каже, що його відхилено, перевірте дві речі: + - сесії paired-device можуть ротувати лише **власний** пристрій, якщо лише вони не мають також `operator.admin` + - явні значення `--scope` не можуть перевищувати поточні scope operator викликача + - Усе ще застрягли? Виконайте `openclaw status --all` і дотримуйтесь [Усунення несправностей](/uk/gateway/troubleshooting). Деталі auth див. у [Dashboard](/uk/web/dashboard). - - Прив’язка `tailnet` вибирає IP Tailscale з ваших мережевих інтерфейсів (100.64.0.0/10). Якщо машина не в Tailscale (або інтерфейс вимкнено), прив’язуватися нема до чого. + + Bind `tailnet` вибирає IP Tailscale з мережевих інтерфейсів (100.64.0.0/10). Якщо машина не в Tailscale (або інтерфейс вимкнено), прив’язуватися нема до чого. Виправлення: - Запустіть Tailscale на цьому хості (щоб він мав адресу 100.x), або - - Перемкніться на `gateway.bind: "loopback"` / `"lan"`. + - переключіться на `gateway.bind: "loopback"` / `"lan"`. - Примітка: `tailnet` є явним варіантом. `auto` надає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли хочете прив’язку лише до tailnet. + Примітка: `tailnet` — явний режим. `auto` надає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли вам потрібна прив’язка лише до tailnet. - Зазвичай ні — один Gateway може запускати кілька каналів повідомлень і агентів. Використовуйте кілька Gateway лише тоді, коли вам потрібна резервність (наприклад, rescue bot) або жорстка ізоляція. + Зазвичай ні — один Gateway може обслуговувати кілька channels і agents. Використовуйте кілька Gateway лише тоді, коли вам потрібне резервування (наприклад, аварійний бот) або жорстка ізоляція. - Так, але ви маєте ізолювати: + Так, але потрібно ізолювати: - - `OPENCLAW_CONFIG_PATH` (конфігурація для кожного екземпляра) - - `OPENCLAW_STATE_DIR` (стан для кожного екземпляра) - - `agents.defaults.workspace` (ізоляція робочого простору) + - `OPENCLAW_CONFIG_PATH` (config для кожного екземпляра) + - `OPENCLAW_STATE_DIR` (state для кожного екземпляра) + - `agents.defaults.workspace` (ізоляція workspace) - `gateway.port` (унікальні порти) Швидке налаштування (рекомендовано): - Використовуйте `openclaw --profile ...` для кожного екземпляра (автоматично створює `~/.openclaw-`). - - Задайте унікальний `gateway.port` у конфігурації кожного профілю (або передайте `--port` для ручних запусків). - - Установіть сервіс для кожного профілю: `openclaw --profile gateway install`. + - Задайте унікальний `gateway.port` у config кожного профілю (або передавайте `--port` для ручних запусків). + - Встановіть службу для кожного профілю: `openclaw --profile gateway install`. - Профілі також додають суфікси до назв сервісів (`ai.openclaw.`; застарілі `com.openclaw.*`, `openclaw-gateway-.service`, `OpenClaw Gateway ()`). - Повний посібник: [Кілька gateway](/uk/gateway/multiple-gateways). + Профілі також додають суфікси до назв служб (`ai.openclaw.`; застарілі `com.openclaw.*`, `openclaw-gateway-.service`, `OpenClaw Gateway ()`). + Повний посібник: [Кілька Gateway](/uk/gateway/multiple-gateways). - - Gateway — це **сервер WebSocket**, і він очікує, що найперше повідомлення - буде кадром `connect`. Якщо він отримує щось інше, то закриває з’єднання + + Gateway — це **сервер WebSocket**, і він очікує, що першим повідомленням + буде кадр `connect`. Якщо він отримує щось інше, він закриває з’єднання з **кодом 1008** (порушення політики). Поширені причини: - Ви відкрили URL **HTTP** у браузері (`http://...`) замість клієнта WS. - Ви використали неправильний порт або шлях. - - Proxy або тунель обрізав заголовки автентифікації або надіслав запит не для Gateway. + - Proxy або tunnel прибрав заголовки auth чи надіслав запит, що не належить Gateway. Швидкі виправлення: 1. Використовуйте URL WS: `ws://:18789` (або `wss://...`, якщо HTTPS). 2. Не відкривайте порт WS у звичайній вкладці браузера. - 3. Якщо автентифікацію увімкнено, включіть токен/пароль у кадр `connect`. + 3. Якщо auth увімкнено, включіть токен/пароль у кадр `connect`. Якщо ви використовуєте CLI або TUI, URL має виглядати так: @@ -2889,35 +2888,35 @@ x-i18n: -## Журналювання та налагодження +## Логи й налагодження - - Файлові журнали (структуровані): + + Файлові логи (структуровані): ``` /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 ``` - Журнали сервісу/супервізора (коли 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` - Докладніше див. в [Усунення несправностей](/uk/gateway/troubleshooting). + Більше див. в [Усуненні несправностей](/uk/gateway/troubleshooting). - + Використовуйте допоміжні команди gateway: ```bash @@ -2942,13 +2941,13 @@ x-i18n: openclaw gateway restart ``` - Якщо ви ніколи не встановлювали сервіс, запустіть його на передньому плані: + Якщо ви ніколи не встановлювали службу, запустіть її на передньому плані: ```bash openclaw gateway run ``` - **2) Нативний Windows (не рекомендовано):** Gateway працює безпосередньо у Windows. + **2) Нативна Windows (не рекомендовано):** Gateway працює безпосередньо у Windows. Відкрийте PowerShell і виконайте: @@ -2957,17 +2956,17 @@ x-i18n: openclaw gateway restart ``` - Якщо ви запускаєте його вручну (без сервісу), використовуйте: + Якщо ви запускаєте його вручну (без служби), використовуйте: ```powershell openclaw gateway run ``` - Документація: [Windows (WSL2)](/uk/platforms/windows), [Runbook сервісу Gateway](/uk/gateway). + Документація: [Windows (WSL2)](/uk/platforms/windows), [Runbook служби Gateway](/uk/gateway). - + Почніть із швидкої перевірки стану: ```bash @@ -2979,37 +2978,37 @@ x-i18n: Поширені причини: - - Автентифікацію моделі не завантажено на **хості gateway** (перевірте `models status`). - - Pairing/allowlist каналу блокує відповіді (перевірте конфігурацію каналу + журнали). - - WebChat/Панель керування відкрито без правильного токена. + - Auth моделі не завантажено на **хості gateway** (перевірте `models status`). + - Pairing/allowlist channel блокує відповіді (перевірте config channel + логи). + - WebChat/Dashboard відкрито без правильного токена. - Якщо ви працюєте віддалено, переконайтеся, що тунель/з’єднання Tailscale активне й що + Якщо ви працюєте віддалено, переконайтеся, що tunnel/Tailscale-з’єднання активне і що Gateway WebSocket доступний. - Документація: [Канали](/uk/channels), [Усунення несправностей](/uk/gateway/troubleshooting), [Віддалений доступ](/uk/gateway/remote). + Документація: [Channels](/uk/channels), [Усунення несправностей](/uk/gateway/troubleshooting), [Віддалений доступ](/uk/gateway/remote). Зазвичай це означає, що UI втратив з’єднання WebSocket. Перевірте: - 1. Чи запущено Gateway? `openclaw gateway status` - 2. Чи Gateway у здоровому стані? `openclaw status` - 3. Чи UI має правильний токен? `openclaw dashboard` - 4. Якщо режим віддалений, чи активне з’єднання тунелю/Tailscale? + 1. Чи працює Gateway? `openclaw gateway status` + 2. Чи справний Gateway? `openclaw status` + 3. Чи має UI правильний токен? `openclaw dashboard` + 4. Якщо ви працюєте віддалено, чи активне з’єднання tunnel/Tailscale? - Потім відстежуйте журнали: + Потім перегляньте хвіст логів: ```bash openclaw logs --follow ``` - Документація: [Панель керування](/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення несправностей](/uk/gateway/troubleshooting). + Документація: [Dashboard](/uk/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення несправностей](/uk/gateway/troubleshooting). - - Почніть із журналів і стану каналу: + + Почніть із логів і стану channel: ```bash openclaw channels status @@ -3018,17 +3017,17 @@ x-i18n: Потім зіставте помилку: - - `BOT_COMMANDS_TOO_MUCH`: у меню Telegram забагато записів. OpenClaw уже обрізає список до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі записи меню все одно потрібно прибрати. Зменште кількість команд plugin/skill/custom commands або вимкніть `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 або за proxy, переконайтеся, що вихідний HTTPS дозволено й DNS працює для `api.telegram.org`. - Якщо Gateway віддалений, переконайтеся, що дивитеся журнали на хості Gateway. + Якщо Gateway віддалений, переконайтеся, що ви дивитеся логи на хості Gateway. Документація: [Telegram](/uk/channels/telegram), [Усунення несправностей каналів](/uk/channels/troubleshooting). - - Спочатку переконайтеся, що Gateway доступний і агент може працювати: + + Спочатку переконайтеся, що Gateway доступний і agent може працювати: ```bash openclaw status @@ -3036,23 +3035,23 @@ x-i18n: openclaw logs --follow ``` - У TUI використовуйте `/status`, щоб побачити поточний стан. Якщо ви очікуєте відповіді в чаті - каналу, переконайтеся, що доставку ввімкнено (`/deliver on`). + У TUI використовуйте `/status`, щоб побачити поточний стан. Якщо ви очікуєте відповіді в chat + channel, переконайтеся, що доставку ввімкнено (`/deliver on`). - Документація: [TUI](/web/tui), [Slash-команди](/uk/tools/slash-commands). + Документація: [TUI](/uk/web/tui), [Слеш-команди](/uk/tools/slash-commands). - - Якщо ви встановили сервіс: + + Якщо ви встановили службу: ```bash openclaw gateway stop openclaw gateway start ``` - Це зупиняє/запускає **сервіс під наглядом** (launchd у macOS, systemd у Linux). - Використовуйте це, коли Gateway працює у фоновому режимі як демон. + Це зупиняє/запускає **керовану службу** (launchd на macOS, systemd на Linux). + Використовуйте це, коли Gateway працює у фоновому режимі як daemon. Якщо ви запускаєте його на передньому плані, зупиніть через Ctrl-C, а потім: @@ -3060,29 +3059,29 @@ x-i18n: openclaw gateway run ``` - Документація: [Runbook сервісу Gateway](/uk/gateway). + Документація: [Runbook служби Gateway](/uk/gateway). - - - `openclaw gateway restart`: перезапускає **фоновий сервіс** (launchd/systemd). + + - `openclaw gateway restart`: перезапускає **фонову службу** (launchd/systemd). - `openclaw gateway`: запускає gateway **на передньому плані** для цієї сесії термінала. - Якщо ви встановили сервіс, використовуйте команди gateway. Використовуйте `openclaw gateway`, коли + Якщо ви встановили службу, використовуйте команди gateway. Використовуйте `openclaw gateway`, коли вам потрібен одноразовий запуск на передньому плані. - - Запустіть Gateway з `--verbose`, щоб отримати більше подробиць у консолі. Потім перевірте файл журналу на помилки автентифікації каналу, маршрутизації моделі та RPC. + + Запустіть Gateway з `--verbose`, щоб отримати більше деталей у консолі. Потім перевірте файл логу на предмет auth каналу, маршрутизації моделей і помилок RPC. -## Медіа та вкладення +## Медіа й вкладення - Вихідні вкладення від агента мають містити рядок `MEDIA:` (в окремому рядку). Див. [Налаштування помічника OpenClaw](/uk/start/openclaw) і [Надсилання агентом](/uk/tools/agent-send). + Вихідні вкладення від agent мають містити рядок `MEDIA:` (в окремому рядку). Див. [Налаштування assistant OpenClaw](/uk/start/openclaw) і [Надсилання Agent](/uk/tools/agent-send). Надсилання через CLI: @@ -3092,123 +3091,123 @@ x-i18n: Також перевірте: - - Цільовий канал підтримує вихідні медіа й не заблокований allowlist. - - Файл не перевищує лімітів розміру провайдера (зображення зменшуються максимум до 2048px). - - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів робочим простором, temp/media-store і файлами, перевіреними sandbox. - - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які агент уже може читати, але лише для медіа та безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, усе одно блокуються. + - Цільовий channel підтримує вихідні медіа і не заблокований allowlist. + - Файл не перевищує обмеження розміру provider (зображення змінюються до максимуму 2048px). + - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів workspace, temp/media-store і файлами, перевіреними ізоляцією. + - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які agent уже може читати, але лише для медіа плюс безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, усе одно блокуються. Див. [Зображення](/uk/nodes/images). -## Безпека та контроль доступу +## Безпека й контроль доступу - Ставтеся до вхідних DM як до недовіреного вводу. Типові налаштування спроєктовані так, щоб зменшити ризик: + Ставтеся до вхідних DM як до недовіреного входу. Типові значення налаштовано так, щоб зменшувати ризик: - - Типова поведінка на каналах із підтримкою DM — **pairing**: + - Типова поведінка в channels із підтримкою DM — це **pairing**: - Невідомі відправники отримують код pairing; бот не обробляє їхнє повідомлення. - - Підтвердити можна так: `openclaw pairing approve --channel [--account ] ` + - Схвалення: `openclaw pairing approve --channel [--account ] ` - Кількість очікуваних запитів обмежена **3 на канал**; перевіряйте `openclaw pairing list --channel [--account ]`, якщо код не надійшов. - - Публічне відкриття DM вимагає явного opt-in (`dmPolicy: "open"` і allowlist `"*"`). + - Публічне відкриття DM вимагає явного увімкнення (`dmPolicy: "open"` і allowlist `"*"`). Запустіть `openclaw doctor`, щоб виявити ризиковані політики DM. - - Ні. Prompt injection стосується **недовіреного контенту**, а не лише того, хто може писати боту в DM. - Якщо ваш помічник читає зовнішній контент (web search/fetch, сторінки браузера, листи, - документи, вкладення, вставлені журнали), цей контент може містити інструкції, які намагаються - перехопити керування моделлю. Це може статися, навіть якщо **єдиний відправник — ви**. + + Ні. Prompt injection — це про **недовірений вміст**, а не лише про те, хто може надсилати боту DM. + Якщо ваш assistant читає зовнішній вміст (web search/fetch, сторінки browser, emails, + docs, вкладення, вставлені логи), цей вміст може містити інструкції, які намагаються + перехопити керування моделлю. Це може статися, навіть якщо **ви єдиний відправник**. - Найбільший ризик виникає, коли ввімкнені інструменти: модель можна обманом змусити - ексфільтрувати контекст або викликати інструменти від вашого імені. Зменшити радіус ураження можна так: + Найбільший ризик виникає, коли ввімкнено tools: модель можна обдурити й змусити + ексфільтрувати контекст або викликати tools від вашого імені. Зменшуйте радіус ураження так: - - використовувати «читача» без інструментів або лише для читання для узагальнення недовіреного контенту - - тримати `web_search` / `web_fetch` / `browser` вимкненими для агентів з увімкненими інструментами - - також ставитися до декодованого тексту файлів/документів як до недовіреного: OpenResponses - `input_file` і витяг тексту з медіавкладень обгортають витягнутий текст у - явні маркери меж зовнішнього контенту замість передавання сирого тексту файлу - - використовувати ізоляцію та суворі allowlist інструментів + - використовуйте лише для читання або без tools agent типу «reader» для підсумування недовіреного вмісту + - тримайте `web_search` / `web_fetch` / `browser` вимкненими для agents з увімкненими tools + - також ставтеся до декодованого тексту файлів/документів як до недовіреного: OpenResponses + `input_file` і витягування тексту з медіавкладень обгортають витягнутий текст у + явні маркери меж зовнішнього вмісту замість передавання сирого тексту файла + - використовуйте ізоляцію та строгі allowlist для tools Подробиці: [Безпека](/uk/gateway/security). - - Так, для більшості конфігурацій. Ізоляція бота за допомогою окремих акаунтів і номерів телефону + + Так, для більшості сценаріїв. Ізоляція бота за допомогою окремих облікових записів і номерів телефону зменшує радіус ураження, якщо щось піде не так. Це також полегшує ротацію - облікових даних або відкликання доступу без впливу на ваші особисті акаунти. + облікових даних або відкликання доступу без впливу на ваші особисті облікові записи. - Починайте з малого. Давайте доступ лише до тих інструментів і акаунтів, які вам справді потрібні, і розширюйте - його пізніше, якщо знадобиться. + Починайте з малого. Надавайте доступ лише до тих tools і облікових записів, які справді потрібні, і розширюйте + його пізніше за потреби. Документація: [Безпека](/uk/gateway/security), [Pairing](/uk/channels/pairing). - - Ми **не** рекомендуємо повну автономію над вашими особистими повідомленнями. Найбезпечніший шаблон: + + Ми **не** рекомендуємо повну автономність над вашими особистими повідомленнями. Найбезпечніший шаблон такий: - Тримайте DM у режимі **pairing** або в жорсткому allowlist. - - Використовуйте **окремий номер або акаунт**, якщо хочете, щоб він надсилав повідомлення від вашого імені. - - Дозвольте йому готувати чернетку, а потім **затверджуйте перед надсиланням**. + - Використовуйте **окремий номер або обліковий запис**, якщо хочете, щоб він надсилав повідомлення від вашого імені. + - Нехай він створює чернетку, а ви **схвалюєте перед надсиланням**. - Якщо ви хочете поекспериментувати, робіть це на окремому акаунті й тримайте його ізольованим. Див. + Якщо хочете поекспериментувати, робіть це на окремому обліковому записі й тримайте його ізольованим. Див. [Безпека](/uk/gateway/security). - - Так, **якщо** агент працює лише в чаті, а вхідні дані довірені. Менші рівні - більш схильні до перехоплення інструкцій, тому уникайте їх для агентів з увімкненими інструментами - або коли читаєте недовірений контент. Якщо вже мусите використовувати меншу модель, жорстко обмежте - інструменти й запускайте всередині sandbox. Див. [Безпека](/uk/gateway/security). + + Так, **якщо** agent працює лише в чаті, а вхід є довіреним. Менші рівні + більш уразливі до перехоплення інструкціями, тож уникайте їх для agents з увімкненими tools + або коли читаєте недовірений вміст. Якщо вам усе ж потрібна менша модель, жорстко обмежте + tools і запускайте в ізольованому середовищі. Див. [Безпека](/uk/gateway/security). Коди pairing надсилаються **лише** тоді, коли невідомий відправник пише боту і ввімкнено `dmPolicy: "pairing"`. Сам по собі `/start` не генерує код. - Перевірте запити, що очікують: + Перевірте очікувані запити: ```bash openclaw pairing list telegram ``` - Якщо вам потрібен негайний доступ, додайте свій id відправника до allowlist або задайте `dmPolicy: "open"` - для цього акаунта. + Якщо вам потрібен негайний доступ, додайте свій sender id до allowlist або задайте `dmPolicy: "open"` + для цього облікового запису. - - Ні. Типова політика WhatsApp DM — **pairing**. Невідомі відправники лише отримують код pairing, а їхні повідомлення **не обробляються**. OpenClaw відповідає лише на чати, які він отримує, або на явні надсилання, які ви самі запускаєте. + + Ні. Типова політика WhatsApp DM — **pairing**. Невідомі відправники лише отримують код pairing, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише в чатах, які сам отримує, або через явні надсилання, які ви запускаєте. - Підтвердити pairing можна так: + Схвалення pairing: ```bash openclaw pairing approve whatsapp ``` - Переглянути запити, що очікують: + Список очікуваних запитів: ```bash openclaw pairing list whatsapp ``` - Запит номера телефону в майстрі: він використовується для налаштування вашого **allowlist/власника**, щоб ваші власні DM були дозволені. Він не використовується для автоматичного надсилання. Якщо ви запускаєте це на своєму особистому номері WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`. + Запит номера телефону в майстрі: він використовується для налаштування вашого **allowlist/owner**, щоб ваші власні DM були дозволені. Він не використовується для автоматичного надсилання. Якщо ви запускаєте систему на своєму особистому номері WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`. -## Команди чату, переривання завдань і "воно не зупиняється" +## Команди чату, переривання завдань і «воно не зупиняється» - - Більшість внутрішніх або інструментальних повідомлень з’являються лише тоді, коли для цього сеансу ввімкнено **verbose**, **trace** або **reasoning**. + + Більшість внутрішніх або tool-повідомлень з’являються лише тоді, коли для цієї session увімкнено **verbose**, **trace** або **reasoning**. Виправлення в чаті, де ви це бачите: @@ -3218,16 +3217,16 @@ x-i18n: /reasoning off ``` - Якщо все одно занадто шумно, перевірте налаштування сеансу в Control UI і виставте verbose - в **inherit**. Також переконайтеся, що ви не використовуєте профіль бота, у якому `verboseDefault` задано - як `on` у конфігурації. + Якщо все одно занадто шумно, перевірте налаштування session у Control UI і встановіть verbose + у значення **inherit**. Також переконайтеся, що ви не використовуєте профіль бота з `verboseDefault`, заданим + як `on` у config. Документація: [Thinking і verbose](/uk/tools/thinking), [Безпека](/uk/gateway/security#reasoning-verbose-output-in-groups). - - Надішліть будь-який із цих варіантів **як окреме повідомлення** (без слеша): + + Надішліть будь-яке з наведеного **як окреме повідомлення** (без слеша): ``` stop @@ -3251,25 +3250,25 @@ x-i18n: interrupt ``` - Це тригери переривання, а не slash-команди. + Це тригери переривання (не слеш-команди). - Для фонових процесів (з інструмента exec) ви можете попросити агента виконати: + Для фонових процесів (із tool exec) ви можете попросити agent виконати: ``` process action:kill sessionId:XXX ``` - Огляд slash-команд: див. [Slash-команди](/uk/tools/slash-commands). + Огляд слеш-команд див. у [Слеш-командах](/uk/tools/slash-commands). - Більшість команд треба надсилати як **окреме** повідомлення, що починається з `/`, але кілька скорочень (як-от `/status`) також працюють inline для відправників з allowlist. + Більшість команд треба надсилати як **окреме** повідомлення, що починається з `/`, але деякі скорочення (наприклад `/status`) також працюють inline для відправників з allowlist. - - OpenClaw за замовчуванням блокує повідомлення **між різними провайдерами**. Якщо виклик інструмента прив’язаний - до Telegram, він не надсилатиме в Discord, доки ви явно цього не дозволите. + + OpenClaw типово блокує повідомлення **між різними providers**. Якщо виклик tool прив’язаний + до Telegram, він не надсилатиме в Discord, якщо ви явно цього не дозволите. - Увімкніть міжпровайдерський обмін повідомленнями для агента: + Увімкніть крос-provider повідомлення для agent: ```json5 { @@ -3284,20 +3283,20 @@ x-i18n: } ``` - Після редагування конфігурації перезапустіть gateway. + Після редагування config перезапустіть gateway. - - Режим черги керує тим, як нові повідомлення взаємодіють із поточним запуском. Використовуйте `/queue`, щоб змінити режими: + + Режим queue керує тим, як нові повідомлення взаємодіють із запуском, що вже виконується. Використовуйте `/queue`, щоб змінити режими: - `steer` — нові повідомлення перенаправляють поточне завдання - `followup` — повідомлення виконуються по одному - - `collect` — пакетування повідомлень і одна відповідь (типово) - - `steer-backlog` — спочатку перенаправити, потім обробити беклог + - `collect` — повідомлення збираються в пакет і надсилається одна відповідь (типово) + - `steer-backlog` — перенаправити зараз, а потім обробити backlog - `interrupt` — перервати поточний запуск і почати заново - Ви можете додавати параметри на кшталт `debounce:2s cap:25 drop:summarize` для режимів followup. + Ви можете додавати параметри, як-от `debounce:2s cap:25 drop:summarize`, для режимів followup. @@ -3305,8 +3304,8 @@ x-i18n: ## Різне - - В 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` для агента, який зараз працює. + + В OpenClaw облікові дані й вибір моделі — це окремі речі. Задання `ANTHROPIC_API_KEY` (або збереження ключа Anthropic API у профілях auth) вмикає автентифікацію, але фактична типова модель — це те, що ви налаштовуєте в `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, який виконується. diff --git a/docs/uk/reference/token-use.md b/docs/uk/reference/token-use.md index 490641673..07942100e 100644 --- a/docs/uk/reference/token-use.md +++ b/docs/uk/reference/token-use.md @@ -1,49 +1,49 @@ --- read_when: - - Пояснення використання токенів, витрат або вікон контексту + - Пояснення використання токенів, вартості або вікон контексту - Налагодження зростання контексту або поведінки Compaction -summary: Як OpenClaw формує контекст запиту та звітує про використання токенів і витрати -title: Використання токенів і витрати +summary: Як OpenClaw формує контекст запиту та звітує про використання токенів і вартість +title: Використання токенів і вартість x-i18n: - generated_at: "2026-04-21T02:12:35Z" + generated_at: "2026-04-23T15:44:03Z" model: gpt-5.4 provider: openai - source_hash: d26db37353941e247eb26f84bfa105896318b3239b2975d6e033c6e9ceda6b0d + source_hash: fa2fa145e161d69a61612690a951675cfff8fd9e6e159cb3bc931b1846654a8b source_path: reference/token-use.md workflow: 15 --- -# Використання токенів і витрати +# Використання токенів і вартість -OpenClaw відстежує **токени**, а не символи. Токени залежать від моделі, але для більшості моделей у стилі OpenAI в англійському тексті в середньому припадає приблизно 4 символи на токен. +OpenClaw відстежує **токени**, а не символи. Токени залежать від моделі, але для більшості моделей у стилі OpenAI в середньому припадає приблизно 4 символи на токен для англійського тексту. ## Як формується системний запит -OpenClaw збирає власний системний запит під час кожного запуску. Він містить: +OpenClaw формує власний системний запит під час кожного запуску. Він містить: - Список інструментів + короткі описи - Список Skills (лише метадані; інструкції завантажуються за потреби через `read`). Компактний блок Skills обмежується `skills.limits.maxSkillsPromptChars`, з необов’язковим перевизначенням для окремого агента в `agents.list[].skillsLimits.maxSkillsPromptChars`. -- Інструкції щодо самооновлення -- Робочий простір + bootstrap-файли (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` when new, plus `MEMORY.md` when present or `memory.md` as a lowercase fallback). Великі файли обрізаються через `agents.defaults.bootstrapMaxChars` (типово: 12000), а загальний обсяг bootstrap-вставки обмежується `agents.defaults.bootstrapTotalMaxChars` (типово: 60000). Щоденні файли `memory/*.md` не входять до звичайного bootstrap-запиту; вони залишаються доступними за потреби через інструменти пам’яті у звичайних ходах, але прості `/new` і `/reset` можуть додавати одноразовий блок стартового контексту з нещодавньою щоденною пам’яттю для цього першого ходу. Цей вступний блок запуску керується через `agents.defaults.startupContext`. +- Інструкції щодо самостійного оновлення +- Робочий простір + bootstrap-файли (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` для нових сесій, а також `MEMORY.md`, якщо він є). Кореневий `memory.md` у нижньому регістрі не додається; це вхід для відновлення застарілих даних для `openclaw doctor --fix`, якщо він використовується разом із `MEMORY.md`. Великі файли обрізаються відповідно до `agents.defaults.bootstrapMaxChars` (типово: 12000), а загальний обсяг bootstrap-вставки обмежується `agents.defaults.bootstrapTotalMaxChars` (типово: 60000). Щоденні файли `memory/*.md` не є частиною звичайного bootstrap-запиту; вони залишаються доступними за потреби через інструменти пам’яті у звичайних ходах, але прості `/new` і `/reset` можуть додати одноразовий блок стартового контексту з нещодавньою щоденною пам’яттю для першого ходу. Це стартове доповнення контролюється через `agents.defaults.startupContext`. - Час (UTC + часовий пояс користувача) - Теґи відповіді + поведінка Heartbeat -- Метадані середовища виконання (host/OS/model/thinking) +- Метадані середовища виконання (хост/ОС/модель/мислення) -Повний розбір дивіться в [System Prompt](/uk/concepts/system-prompt). +Повну структуру див. у [Системний запит](/uk/concepts/system-prompt). ## Що враховується у вікні контексту Усе, що отримує модель, зараховується до ліміту контексту: -- Системний запит (усі перелічені вище розділи) +- Системний запит (усі перелічені вище секції) - Історія розмови (повідомлення користувача й асистента) - Виклики інструментів і результати інструментів - Вкладення/транскрипти (зображення, аудіо, файли) - Підсумки Compaction і артефакти обрізання -- Обгортки провайдера або заголовки безпеки (невидимі, але все одно враховуються) +- Обгортки провайдера або заголовки безпеки (не видимі, але все одно враховуються) Для деяких ресурсомістких поверхонь середовища виконання є власні явні обмеження: @@ -52,97 +52,98 @@ OpenClaw збирає власний системний запит під час - `agents.defaults.contextLimits.toolResultMaxChars` - `agents.defaults.contextLimits.postCompactionMaxChars` -Перевизначення для окремого агента знаходяться в `agents.list[].contextLimits`. Ці параметри -призначені для обмежених за розміром фрагментів середовища виконання та вставлених блоків, якими володіє середовище виконання. Вони -відокремлені від bootstrap-обмежень, обмежень стартового контексту та -обмежень запиту Skills. +Перевизначення для окремого агента розміщуються в `agents.list[].contextLimits`. Ці параметри +призначені для обмежених фрагментів середовища виконання та вставлених блоків, якими володіє середовище виконання. Вони +відокремлені від лімітів bootstrap, лімітів стартового контексту та +лімітів запиту Skills. -Для зображень OpenClaw зменшує розмір корисного навантаження зображень у транскриптах/інструментах перед викликами провайдера. +Для зображень OpenClaw зменшує розмір payload зображень у транскриптах/інструментах перед викликами провайдера. Щоб налаштувати це, використовуйте `agents.defaults.imageMaxDimensionPx` (типово: `1200`): -- Нижчі значення зазвичай зменшують використання vision-токенів і розмір корисного навантаження. -- Вищі значення зберігають більше візуальних деталей для скриншотів, насичених OCR/UI. +- Нижчі значення зазвичай зменшують використання vision-токенів і розмір payload. +- Вищі значення зберігають більше візуальних деталей для OCR або знімків екрана з насиченим UI. -Для практичного розбору (для кожного вставленого файла, інструментів, Skills і розміру системного запиту) використовуйте `/context list` або `/context detail`. Див. [Context](/uk/concepts/context). +Для практичної розбивки (для кожного вставленого файла, інструментів, Skills і розміру системного запиту) використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context). ## Як переглянути поточне використання токенів -Використовуйте це в чаті: +Використовуйте в чаті: -- `/status` → **картка стану з емодзі** з моделлю сеансу, використанням контексту, - вхідними/вихідними токенами останньої відповіді та **оцінною вартістю** (лише для API key). +- `/status` → **картка стану з емодзі** з моделлю сесії, використанням контексту, + вхідними/вихідними токенами останньої відповіді та **орієнтовною вартістю** (лише для API key). - `/usage off|tokens|full` → додає **нижній колонтитул використання для кожної відповіді** до кожної відповіді. - - Зберігається для сеансу (зберігається як `responseUsage`). - - OAuth-автентифікація **приховує вартість** (лише токени). -- `/usage cost` → показує локальне зведення витрат із журналів сеансу OpenClaw. + - Зберігається для сесії (записується як `responseUsage`). + - Автентифікація через OAuth **приховує вартість** (лише токени). +- `/usage cost` → показує локальне зведення вартості з логів сесії OpenClaw. Інші поверхні: -- **TUI/Web TUI:** підтримуються `/status` + `/usage`. +- **TUI/Web TUI:** підтримуються `/status` і `/usage`. - **CLI:** `openclaw status --usage` і `openclaw channels list` показують - нормалізовані вікна квот провайдера (`X% left`, а не витрати на кожну відповідь). + нормалізовані вікна квот провайдера (`X% left`, а не вартість за окрему відповідь). Поточні провайдери вікон використання: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi і z.ai. -Поверхні використання нормалізують поширені нативні псевдоніми полів провайдерів перед показом. -Для трафіку OpenAI-family Responses це включає і `input_tokens` / -`output_tokens`, і `prompt_tokens` / `completion_tokens`, тож назви полів, -специфічні для транспорту, не змінюють `/status`, `/usage` або зведення сеансу. -Використання Gemini CLI JSON також нормалізується: текст відповіді береться з `response`, а -`stats.cached` відображається в `cacheRead`, при цьому використовується `stats.input_tokens - stats.cached`, -коли CLI не надає явного поля `stats.input`. +Поверхні використання нормалізують поширені власні псевдоніми полів провайдера перед відображенням. +Для трафіку OpenAI-family Responses це охоплює і `input_tokens` / +`output_tokens`, і `prompt_tokens` / `completion_tokens`, тому специфічні для транспорту +назви полів не змінюють `/status`, `/usage` або зведення сесії. +JSON використання Gemini CLI також нормалізується: текст відповіді береться з `response`, а +`stats.cached` мапиться на `cacheRead`, при цьому використовується `stats.input_tokens - stats.cached`, +якщо CLI не надає явного поля `stats.input`. Для нативного трафіку OpenAI-family Responses псевдоніми використання WebSocket/SSE -нормалізуються так само, а підсумкові значення повертаються до нормалізованих input + output, якщо +нормалізуються так само, а загальні значення повертаються до нормалізованих вхідних + вихідних, якщо `total_tokens` відсутній або дорівнює `0`. -Коли поточний знімок сеансу містить мало даних, `/status` і `session_status` також можуть +Коли поточний знімок сесії є неповним, `/status` і `session_status` також можуть відновлювати лічильники токенів/кешу та мітку активної моделі середовища виконання з -найсвіжішого журналу використання транскрипту. Наявні ненульові live-значення, як і раніше, мають -пріоритет над резервними значеннями з транскрипту, а більші підсумки з транскрипту, -орієнтовані на запит, можуть мати перевагу, коли збережені підсумки відсутні або менші. -Автентифікація використання для вікон квот провайдера надходить із хуків, специфічних для провайдера, коли вони доступні; -інакше OpenClaw повертається до зіставлення облікових даних OAuth/API key з профілів автентифікації, -env або config. -Записи транскрипту асистента зберігають ту саму нормалізовану форму використання, включно з -`usage.cost`, коли для активної моделі налаштовано ціноутворення і провайдер повертає метадані використання. -Це дає `/usage cost` і статусу сеансу на основі транскрипту -стабільне джерело навіть після того, як live-стан середовища виконання зникає. +найновішого логу використання транскрипту. Наявні ненульові поточні значення все одно мають +пріоритет над резервними значеннями з транскрипту, а більші загальні значення з транскрипту, +орієнтовані на запит, можуть перемагати, якщо збережені загальні значення відсутні або менші. +Автентифікація використання для вікон квот провайдера надходить із хуків, специфічних для провайдера, коли +вони доступні; інакше OpenClaw повертається до зіставлення облікових даних OAuth/API key +з профілів автентифікації, env або config. +Записи транскрипту асистента зберігають ту саму нормалізовану форму використання, зокрема +`usage.cost`, коли для активної моделі налаштовано ціни і провайдер +повертає метадані використання. Це дає `/usage cost` і статусу сесії на основі транскрипту +стабільне джерело навіть після зникнення поточного стану середовища виконання. ## Оцінка вартості (коли показується) -Вартість оцінюється на основі конфігурації ціноутворення вашої моделі: +Вартість оцінюється на основі конфігурації цін вашої моделі: ``` models.providers..models[].cost ``` Це **USD за 1M токенів** для `input`, `output`, `cacheRead` і -`cacheWrite`. Якщо дані про ціни відсутні, OpenClaw показує лише токени. OAuth-токени +`cacheWrite`. Якщо інформація про ціни відсутня, OpenClaw показує лише токени. OAuth-токени ніколи не показують вартість у доларах. ## Вплив TTL кешу та обрізання Кешування запитів провайдера застосовується лише в межах вікна TTL кешу. OpenClaw може -необов’язково виконувати **обрізання cache-ttl**: він обрізає сеанс після завершення TTL кешу, -а потім скидає вікно кешу, щоб наступні запити могли повторно використовувати -щойно закешований контекст замість повторного кешування всієї історії. Це допомагає тримати витрати -на запис у кеш нижчими, коли сеанс простоює довше за TTL. +за бажанням виконувати **обрізання cache-ttl**: він обрізає сесію, щойно TTL кешу +спливає, а потім скидає вікно кешу, щоб наступні запити могли повторно використовувати +щойно кешований контекст замість повторного кешування всієї історії. Це допомагає +зменшити витрати на запис кешу, коли сесія простоює довше за TTL. -Налаштовується це в [Gateway configuration](/uk/gateway/configuration), а подробиці поведінки дивіться в [Session pruning](/uk/concepts/session-pruning). +Налаштуйте це в [Конфігурація Gateway](/uk/gateway/configuration), а деталі +поведінки див. у [Обрізання сесії](/uk/concepts/session-pruning). Heartbeat може підтримувати кеш **теплим** під час періодів простою. Якщо TTL кешу вашої моделі -дорівнює `1h`, установлення інтервалу Heartbeat трохи менше цього значення (наприклад, `55m`) може -уникнути повторного кешування всього запиту, зменшуючи витрати на запис у кеш. +становить `1h`, встановлення інтервалу Heartbeat трохи менше цього значення (наприклад, `55m`) може +допомогти уникнути повторного кешування всього запиту, зменшуючи витрати на запис кешу. -У конфігураціях із кількома агентами ви можете зберігати одну спільну конфігурацію моделі й налаштовувати поведінку кешу +У конфігураціях із кількома агентами ви можете зберегти одну спільну конфігурацію моделі й налаштувати поведінку кешу для кожного агента через `agents.list[].params.cacheRetention`. -Повний посібник по кожному параметру дивіться в [Prompt Caching](/uk/reference/prompt-caching). +Повний посібник за всіма параметрами див. у [Кешування запитів](/uk/reference/prompt-caching). Для цін Anthropic API читання кешу значно дешевше за вхідні -токени, тоді як запис у кеш тарифікується за вищим множником. Актуальні ставки та множники TTL дивіться в документації Anthropic щодо ціноутворення кешування запитів: +токени, тоді як запис кешу тарифікується з вищим множником. Актуальні тарифи й множники TTL див. у документації Anthropic щодо цін на prompt caching: [https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching) -### Приклад: підтримувати теплий кеш 1h за допомогою Heartbeat +### Приклад: підтримувати 1h кеш теплим за допомогою Heartbeat ```yaml agents: @@ -167,24 +168,24 @@ agents: models: "anthropic/claude-opus-4-6": params: - cacheRetention: "long" # базове значення за замовчуванням для більшості агентів + cacheRetention: "long" # типовий базовий рівень для більшості агентів list: - id: "research" default: true heartbeat: - every: "55m" # підтримувати теплий довгий кеш для глибоких сеансів + every: "55m" # підтримувати довгий кеш теплим для глибоких сесій - id: "alerts" params: - cacheRetention: "none" # уникати записів у кеш для сплескових сповіщень + cacheRetention: "none" # уникати запису в кеш для пакетних сповіщень ``` `agents.list[].params` об’єднується поверх `params` вибраної моделі, тож ви можете -перевизначити лише `cacheRetention` і успадкувати решту значень моделі без змін. +перевизначити лише `cacheRetention` і успадкувати інші типові значення моделі без змін. ### Приклад: увімкнути beta-заголовок Anthropic 1M context -Вікно контексту Anthropic 1M наразі доступне лише через beta-доступ. OpenClaw може вставити -потрібне значення `anthropic-beta`, якщо ви ввімкнете `context1m` для підтримуваних моделей Opus +Вікно контексту Anthropic 1M наразі доступне лише через beta. OpenClaw може вставляти +потрібне значення `anthropic-beta`, коли ви вмикаєте `context1m` для підтримуваних моделей Opus або Sonnet. ```yaml @@ -198,21 +199,21 @@ agents: Це відповідає beta-заголовку Anthropic `context-1m-2025-08-07`. -Це застосовується лише тоді, коли для цього запису моделі встановлено `context1m: true`. +Це застосовується лише коли `context1m: true` задано для цього запису моделі. -Вимога: облікові дані мають бути придатними для використання довгого контексту. Якщо ні, -Anthropic відповідає помилкою обмеження частоти на боці провайдера для цього запиту. +Вимога: облікові дані мають мати право на використання довгого контексту. Якщо ні, +Anthropic поверне помилку обмеження частоти запитів на боці провайдера для цього запиту. -Якщо ви автентифікуєте Anthropic за допомогою токенів OAuth/subscription (`sk-ant-oat-*`), +Якщо ви автентифікуєте Anthropic за допомогою OAuth/передплатних токенів (`sk-ant-oat-*`), OpenClaw пропускає beta-заголовок `context-1m-*`, оскільки Anthropic наразі відхиляє таку комбінацію з HTTP 401. ## Поради щодо зменшення навантаження на токени -- Використовуйте `/compact` для підсумовування довгих сеансів. +- Використовуйте `/compact`, щоб підсумовувати довгі сесії. - Скорочуйте великі виводи інструментів у своїх робочих процесах. -- Зменшуйте `agents.defaults.imageMaxDimensionPx` для сеансів із великою кількістю скриншотів. -- Тримайте описи Skills короткими (список Skills вставляється в запит). +- Зменшуйте `agents.defaults.imageMaxDimensionPx` для сесій із великою кількістю знімків екрана. +- Робіть описи Skills короткими (список Skills вставляється в запит). - Для багатослівної, дослідницької роботи віддавайте перевагу меншим моделям. -Точну формулу накладних витрат списку Skills дивіться в [Skills](/uk/tools/skills). +Точну формулу накладних витрат списку Skills див. у [Skills](/uk/tools/skills).