diff --git a/docs/uk/help/faq.md b/docs/uk/help/faq.md index 1b4fdc0e6..7560bbfdc 100644 --- a/docs/uk/help/faq.md +++ b/docs/uk/help/faq.md @@ -2,20 +2,20 @@ read_when: - Відповіді на поширені запитання щодо налаштування, встановлення, онбордингу або підтримки під час виконання - Тріаж проблем, про які повідомляють користувачі, перед глибшим налагодженням -summary: Часті запитання про налаштування, конфігурацію та використання OpenClaw -title: Часті запитання +summary: Поширені запитання про налаштування, конфігурацію та використання OpenClaw +title: Поширені запитання x-i18n: - generated_at: "2026-04-12T18:22:02Z" + generated_at: "2026-04-19T06:50:16Z" model: gpt-5.4 provider: openai - source_hash: d2a78d0fea9596625cc2753e6dc8cc42c2379a3a0c91729265eee0261fe53eaa + source_hash: f569fb0412797314a11c41a1bbfa14f5892d2d368544fa67800823a6457000e6 source_path: help/faq.md workflow: 15 --- -# Часті запитання +# Поширені запитання -Швидкі відповіді плюс глибше усунення проблем для реальних сценаріїв налаштування (локальна розробка, VPS, multi-agent, OAuth/API-ключі, резервне перемикання моделей). Для діагностики під час виконання див. [Усунення проблем](/uk/gateway/troubleshooting). Повний довідник із конфігурації див. у [Конфігурація](/uk/gateway/configuration). +Швидкі відповіді та глибше усунення несправностей для реальних конфігурацій (локальна розробка, VPS, multi-agent, OAuth/API keys, резервне перемикання моделей). Для діагностики під час виконання дивіться [Усунення несправностей](/uk/gateway/troubleshooting). Повний довідник із конфігурації дивіться в [Конфігурація](/uk/gateway/configuration). ## Перші 60 секунд, якщо щось зламалося @@ -25,23 +25,23 @@ x-i18n: openclaw status ``` - Швидке локальне зведення: ОС + оновлення, доступність gateway/сервісу, agents/sessions, конфігурація провайдера + проблеми під час виконання (коли gateway доступний). + Швидкий локальний підсумок: ОС + оновлення, доступність gateway/service, agents/sessions, конфігурація provider + проблеми під час виконання (коли Gateway доступний). -2. **Звіт, який можна вставити та поділитися ним** +2. **Звіт, який можна вставити та поділитися ним без змін (безпечно для поширення)** ```bash openclaw status --all ``` - Діагностика в режимі лише читання з хвостом логу (токени замасковано). + Діагностика лише для читання з хвостом журналу (токени приховані). -3. **Стан демона + порту** +3. **Стан daemon + port** ```bash openclaw gateway status ``` - Показує runtime supervisor порівняно з досяжністю RPC, цільову URL-адресу probe і те, яку конфігурацію сервіс, імовірно, використовував. + Показує runtime supervisor у порівнянні з доступністю RPC, цільову URL-адресу probe та яку конфігурацію, імовірно, використовував сервіс. 4. **Глибокі probe-перевірки** @@ -49,67 +49,67 @@ x-i18n: openclaw status --deep ``` - Запускає live probe-перевірку стану gateway, зокрема перевірки channel, якщо це підтримується - (потрібен доступний gateway). Див. [Health](/uk/gateway/health). + Виконує живу probe-перевірку стану Gateway, зокрема probe-перевірки каналів, коли вони підтримуються + (потрібен доступний Gateway). Див. [Стан](/uk/gateway/health). -5. **Переглянути хвіст останнього логу** +5. **Перегляд останнього журналу в реальному часі** ```bash openclaw logs --follow ``` - Якщо RPC недоступний, використайте як запасний варіант: + Якщо RPC недоступний, використайте запасний варіант: ```bash tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)" ``` - Файлові логи відокремлені від сервісних логів; див. [Logging](/uk/logging) і [Усунення проблем](/uk/gateway/troubleshooting). + Файлові журнали відокремлені від журналів сервісу; див. [Журналювання](/uk/logging) та [Усунення несправностей](/uk/gateway/troubleshooting). -6. **Запустити doctor (виправлення)** +6. **Запустіть doctor (виправлення)** ```bash openclaw doctor ``` - Виправляє/мігрує config/state + запускає перевірки стану. Див. [Doctor](/uk/gateway/doctor). + Виправляє/мігрує config/state + виконує перевірки стану. Див. [Doctor](/uk/gateway/doctor). -7. **Знімок gateway** +7. **Знімок стану Gateway** ```bash openclaw health --json openclaw health --verbose # показує цільову URL-адресу + шлях до config у разі помилок ``` - Запитує повний знімок у запущеного gateway (лише WS). Див. [Health](/uk/gateway/health). + Запитує у запущеного Gateway повний знімок стану (лише WS). Див. [Стан](/uk/gateway/health). -## Швидкий старт і початкове налаштування +## Швидкий старт і налаштування першого запуску - - Використайте локальний AI-агент, який може **бачити вашу машину**. Це набагато ефективніше, ніж питати + + Використайте локального 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, сервіси, дозволи, файли автентифікації). Дайте їм **повну checkout-копію вихідного коду** - через hackable (git) install: + Ці інструменти можуть читати репозиторій, запускати команди, перевіряти журнали та допомагати виправляти + налаштування на рівні машини (PATH, сервіси, дозволи, файли автентифікації). Надайте їм **повну копію вихідного коду** + через придатне до змін встановлення (git install): ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - Це встановлює OpenClaw **із git checkout**, тож агент може читати код + документацію та - міркувати на основі точної версії, яку ви використовуєте. Ви завжди можете пізніше повернутися до stable, + Це встановлює OpenClaw **із git checkout**, тому agent може читати код + документацію та + аналізувати точну версію, яку ви використовуєте. Ви завжди можете повернутися до стабільної версії пізніше, повторно запустивши інсталятор без `--install-method git`. - Порада: попросіть агента **спланувати й контролювати** виправлення (крок за кроком), а потім виконати лише - потрібні команди. Це зберігає зміни невеликими й полегшує аудит. + Порада: попросіть agent **спланувати та супроводжувати** виправлення (крок за кроком), а потім виконати лише + потрібні команди. Це зменшує обсяг змін і полегшує їх аудит. - Якщо ви виявили справжню помилку або виправлення, будь ласка, створіть GitHub issue або надішліть 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) @@ -123,15 +123,15 @@ x-i18n: Що вони роблять: - - `openclaw status`: швидкий знімок стану gateway/agent + базова config. - - `openclaw models status`: перевіряє auth провайдера + доступність моделей. + - `openclaw status`: швидкий знімок стану gateway/agent + базова конфігурація. + - `openclaw models status`: перевіряє автентифікацію provider + доступність моделей. - `openclaw doctor`: перевіряє та виправляє поширені проблеми config/state. Інші корисні перевірки CLI: `openclaw status --all`, `openclaw logs --follow`, `openclaw gateway status`, `openclaw health --verbose`. Швидкий цикл налагодження: [Перші 60 секунд, якщо щось зламалося](#перші-60-секунд-якщо-щось-зламалося). - Документація зі встановлення: [Install](/uk/install), [Прапорці інсталятора](/uk/install/installer), [Оновлення](/uk/install/updating). + Документація зі встановлення: [Встановлення](/uk/install), [Прапорці інсталятора](/uk/install/installer), [Оновлення](/uk/install/updating). @@ -140,25 +140,25 @@ x-i18n: - `quiet-hours`: поза налаштованим вікном active-hours - `empty-heartbeat-file`: `HEARTBEAT.md` існує, але містить лише порожній каркас або лише заголовки - - `no-tasks-due`: режим завдань `HEARTBEAT.md` активний, але жоден з інтервалів завдань ще не настав - - `alerts-disabled`: уся видимість heartbeat вимкнена (`showOk`, `showAlerts` і `useIndicator` усі вимкнені) + - `no-tasks-due`: режим задач `HEARTBEAT.md` активний, але жоден з інтервалів задачі ще не настав + - `alerts-disabled`: усю видимість heartbeat вимкнено (`showOk`, `showAlerts` і `useIndicator` усі вимкнені) - У режимі завдань часові позначки настання оновлюються лише після завершення - реального запуску heartbeat. Пропущені запуски не позначають завдання як виконані. + У режимі задач часові позначки настання строку оновлюються лише після завершення + реального запуску heartbeat. Пропущені запуски не позначають задачі як виконані. - Документація: [Heartbeat](/uk/gateway/heartbeat), [Автоматизація та завдання](/uk/automation). + Документація: [Heartbeat](/uk/gateway/heartbeat), [Автоматизація та задачі](/uk/automation). - Репозиторій рекомендує запуск із вихідного коду та використання onboarding: + Репозиторій рекомендує запуск із вихідного коду та використання онбордингу: ```bash curl -fsSL https://openclaw.ai/install.sh | bash openclaw onboard --install-daemon ``` - Майстер також може автоматично зібрати ресурси UI. Після onboarding зазвичай Gateway запускається на порту **18789**. + Майстер також може автоматично зібрати ресурси UI. Після онбордингу зазвичай Gateway запускають на порту **18789**. Із вихідного коду (contributors/dev): @@ -167,94 +167,94 @@ x-i18n: cd openclaw pnpm install pnpm build - pnpm ui:build # автоматично встановлює залежності UI під час першого запуску + pnpm ui:build openclaw onboard ``` - Якщо у вас ще немає глобального встановлення, запустіть через `pnpm openclaw onboard`. + Якщо у вас ще немає глобального встановлення, запускайте через `pnpm openclaw onboard`. - - Майстер відкриває браузер із чистою URL-адресою dashboard (без токенів) одразу після onboarding, а також виводить посилання в підсумку. Залиште цю вкладку відкритою; якщо вона не запустилася, скопіюйте й вставте надруковану URL-адресу на тій самій машині. + + Майстер відкриває ваш браузер із чистою (без токена) URL-адресою dashboard одразу після онбордингу, а також друкує посилання в підсумку. Залиште цю вкладку відкритою; якщо вона не запустилася, скопіюйте й вставте надруковану URL-адресу на тій самій машині. - + **Localhost (та сама машина):** - Відкрийте `http://127.0.0.1:18789/`. - - Якщо запитується автентифікація shared secret, вставте налаштований токен або пароль у налаштуваннях Control UI. - - Джерело токена: `gateway.auth.token` (або `OPENCLAW_GATEWAY_TOKEN`). - - Джерело пароля: `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). - - Якщо shared secret ще не налаштовано, згенеруйте токен командою `openclaw doctor --generate-gateway-token`. + - Якщо запитується shared-secret auth, вставте налаштований token або password у налаштуваннях Control UI. + - Джерело token: `gateway.auth.token` (або `OPENCLAW_GATEWAY_TOKEN`). + - Джерело password: `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). + - Якщо shared secret ще не налаштовано, згенеруйте token командою `openclaw doctor --generate-gateway-token`. **Не на localhost:** - - **Tailscale Serve** (рекомендовано): залиште прив’язку до loopback, виконайте `openclaw gateway --tailscale serve`, відкрийте `https:///`. Якщо `gateway.auth.allowTailscale` має значення `true`, заголовки ідентичності задовольняють автентифікацію Control UI/WebSocket (без вставляння shared secret, за умови довіреного хоста gateway); HTTP API усе одно вимагають автентифікацію shared secret, якщо ви навмисно не використовуєте private-ingress `none` або trusted-proxy HTTP auth. - Некоректні одночасні спроби автентифікації Serve від одного клієнта серіалізуються до того, як обмежувач failed-auth їх зафіксує, тому друга невдала повторна спроба вже може показати `retry later`. - - **Прив’язка до tailnet**: виконайте `openclaw gateway --bind tailnet --token ""` (або налаштуйте автентифікацію паролем), відкрийте `http://:18789/`, а потім вставте відповідний shared secret у налаштування dashboard. - - **Зворотний proxy з урахуванням ідентичності**: залиште 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/`. Автентифікація shared secret усе ще застосовується через tunnel; якщо буде запит, вставте налаштований токен або пароль. + - **Tailscale Serve** (рекомендовано): залиште bind loopback, виконайте `openclaw gateway --tailscale serve`, відкрийте `https:///`. Якщо `gateway.auth.allowTailscale` має значення `true`, заголовки ідентичності задовольняють автентифікацію Control UI/WebSocket (без вставлення shared secret, за умови довіреного вузла Gateway); HTTP API усе одно вимагають shared-secret auth, якщо ви навмисно не використовуєте private-ingress `none` або trusted-proxy HTTP auth. + Невдалі одночасні спроби автентифікації Serve від того самого клієнта серіалізуються до того, як обмежувач невдалої автентифікації зафіксує їх, тому друга невдала повторна спроба вже може показувати `retry later`. + - **Прив’язка tailnet**: виконайте `openclaw gateway --bind tailnet --token ""` (або налаштуйте password auth), відкрийте `http://:18789/`, а потім вставте відповідний shared secret у налаштуваннях dashboard. + - **Зворотний proxy з урахуванням ідентичності**: тримайте 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/`. Shared-secret auth усе одно застосовується через tunnel; якщо з’явиться запит, вставте налаштований token або password. - Див. [Dashboard](/web/dashboard) і [Веб-поверхні](/web) для режимів прив’язки та деталей автентифікації. + Див. [Dashboard](/web/dashboard) і [Web surfaces](/web) щодо режимів bind та деталей автентифікації. - + Вони керують різними рівнями: - - `approvals.exec`: пересилає запити на затвердження до chat destinations - - `channels..execApprovals`: робить цей channel нативним approval-клієнтом для exec approvals + - `approvals.exec`: пересилає запити на схвалення до місць призначення чату + - `channels..execApprovals`: робить цей канал нативним клієнтом схвалення для exec approvals - Політика host exec все одно залишається справжнім бар’єром затвердження. Конфігурація чату лише визначає, куди - надходять запити на затвердження і як люди можуть на них відповідати. + Політика host exec усе ще є справжнім бар’єром схвалення. Конфігурація чату лише визначає, де з’являються + запити на схвалення та як люди можуть на них відповідати. - У більшості налаштувань вам **не** потрібні обидві: + У більшості конфігурацій вам **не** потрібні обидві: - - Якщо chat уже підтримує команди й відповіді, `/approve` у тому самому чаті працює через спільний шлях. - - Якщо підтримуваний нативний channel може безпечно визначити осіб, які затверджують, OpenClaw тепер автоматично вмикає нативні approvals із пріоритетом DM, коли `channels..execApprovals.enabled` не задано або має значення `"auto"`. - - Коли доступні нативні approval cards/buttons, цей нативний UI є основним шляхом; агент має включати ручну команду `/approve`, лише якщо результат інструмента каже, що chat approvals недоступні або ручне затвердження — єдиний шлях. - - Використовуйте `approvals.exec` лише тоді, коли запити також потрібно пересилати до інших чатів або явних ops rooms. - - Використовуйте `channels..execApprovals.target: "channel"` або `"both"` лише тоді, коли ви явно хочете, щоб запити на затвердження публікувалися назад у вихідну room/topic. - - Затвердження Plugin знову ж окремі: за замовчуванням вони використовують `/approve` у тому самому чаті, необов’язкове пересилання `approvals.plugin`, і лише деякі нативні channels додатково зберігають нативну обробку затверджень Plugin. + - Якщо чат уже підтримує команди та відповіді, `/approve` у тому самому чаті працює через спільний шлях. + - Якщо підтримуваний нативний канал може безпечно визначити тих, хто схвалює, OpenClaw тепер автоматично вмикає нативні схвалення DM-first, коли `channels..execApprovals.enabled` не задано або має значення `"auto"`. + - Коли доступні нативні картки/кнопки схвалення, цей нативний UI є основним шляхом; agent має включати ручну команду `/approve`, лише якщо результат інструмента показує, що схвалення в чаті недоступні або єдиним шляхом є ручне схвалення. + - Використовуйте `approvals.exec` лише тоді, коли запити також потрібно пересилати в інші чати або явні ops rooms. + - Використовуйте `channels..execApprovals.target: "channel"` або `"both"` лише тоді, коли ви явно хочете, щоб запити на схвалення надсилалися назад у вихідну кімнату/тему. + - Схвалення Plugin — це ще окрема категорія: за замовчуванням вони використовують `/approve` у тому самому чаті, необов’язкове пересилання `approvals.plugin`, і лише деякі нативні канали зберігають нативну обробку схвалень Plugin поверх цього. - Коротко: пересилання — для маршрутизації, конфігурація нативного клієнта — для більш зручного channel-specific UX. + Коротко: пересилання потрібне для маршрутизації, конфігурація нативного клієнта — для багатшого UX, специфічного для каналу. Див. [Exec Approvals](/uk/tools/exec-approvals). - Потрібен Node **>= 22**. Рекомендується `pnpm`. Bun **не рекомендується** для Gateway. + Потрібен Node **>= 22**. Рекомендовано `pnpm`. Bun **не рекомендується** для Gateway. - Так. Gateway легкий — у документації вказано, що для персонального використання достатньо **512MB-1GB RAM**, **1 core** і приблизно **500MB** - дискового простору, а також зазначено, що **Raspberry Pi 4 може його запускати**. + Так. Gateway є легким — у документації зазначено, що для особистого використання достатньо **512 МБ–1 ГБ RAM**, **1 ядра** та приблизно **500 МБ** + диска, а також вказано, що **Raspberry Pi 4 може його запускати**. - Якщо вам потрібен додатковий запас (логи, медіа, інші сервіси), **рекомендується 2GB**, але це + Якщо вам потрібен додатковий запас ресурсів (журнали, медіа, інші сервіси), **рекомендовано 2 ГБ**, але це не жорсткий мінімум. - Порада: невеликий Pi/VPS може хостити Gateway, а ви можете під’єднати **nodes** на ноутбуці/телефоні для + Порада: невеликий Pi/VPS може розмістити Gateway, а ви можете підключати **Node** на ноутбуці/телефоні для локального екрана/камери/canvas або виконання команд. Див. [Nodes](/uk/nodes). - - Коротко: це працює, але очікуйте шорсткостей. + + Коротко: це працює, але очікуйте певних шорсткостей. - - Використовуйте **64-bit** ОС і Node >= 22. - - Віддавайте перевагу **hackable (git) install**, щоб бачити логи й швидко оновлюватися. - - Починайте без channels/skills, а потім додавайте їх по одному. - - Якщо натрапите на дивні проблеми з бінарниками, зазвичай це проблема **ARM compatibility**. + - Використовуйте **64-бітну** ОС і Node >= 22. + - Надавайте перевагу **придатному до змін встановленню (git install)**, щоб ви могли бачити журнали та швидко оновлюватися. + - Починайте без channels/Skills, а потім додавайте їх по одному. + - Якщо виникають дивні проблеми з бінарними файлами, зазвичай це проблема **сумісності ARM**. - Документація: [Linux](/uk/platforms/linux), [Install](/uk/install). + Документація: [Linux](/uk/platforms/linux), [Встановлення](/uk/install). - - Цей екран залежить від того, чи доступний і автентифікований Gateway. TUI також автоматично надсилає + + Цей екран залежить від того, чи доступний Gateway і чи пройдена автентифікація. TUI також автоматично надсилає "Wake up, my friend!" під час першого hatch. Якщо ви бачите цей рядок **без відповіді** - і токени залишаються на 0, agent так і не запустився. + і значення токенів залишається 0, agent так і не запустився. 1. Перезапустіть Gateway: @@ -281,26 +281,26 @@ x-i18n: - + Так. Скопіюйте **каталог state** і **workspace**, а потім один раз запустіть Doctor. Це - збереже вашого бота **точно таким самим** (memory, історія session, auth і - стан channel), якщо ви скопіюєте **обидва** розташування: + збереже вашого бота **точно таким самим** (memory, history сеансів, auth і channel + state), якщо ви скопіюєте **обидва** розташування: - 1. Встановіть OpenClaw на нову машину. + 1. Встановіть OpenClaw на новій машині. 2. Скопіюйте `$OPENCLAW_STATE_DIR` (типово: `~/.openclaw`) зі старої машини. 3. Скопіюйте ваш workspace (типово: `~/.openclaw/workspace`). - 4. Виконайте `openclaw doctor` і перезапустіть сервіс Gateway. + 4. Запустіть `openclaw doctor` і перезапустіть сервіс Gateway. - Це зберігає config, профілі auth, облікові дані WhatsApp, sessions і memory. Якщо ви працюєте - у віддаленому режимі, пам’ятайте, що session store і workspace належать хосту gateway. + Це зберігає config, auth profiles, облікові дані WhatsApp, sessions і memory. Якщо ви в + remote mode, пам’ятайте, що session store і workspace належать хосту gateway. - **Важливо:** якщо ви лише commit/push свій workspace до GitHub, ви створюєте - резервну копію **memory + bootstrap-файлів**, але **не** історії session чи auth. Вони зберігаються - у `~/.openclaw/` (наприклад, `~/.openclaw/agents//sessions/`). + **Важливо:** якщо ви лише commit/push свій workspace на GitHub, ви створюєте резервну + копію **memory + bootstrap files**, але **не** history сеансів або auth. Вони зберігаються + в `~/.openclaw/` (наприклад, `~/.openclaw/agents//sessions/`). Пов’язане: [Міграція](/uk/install/migrating), [Де що зберігається на диску](#де-що-зберігається-на-диску), - [Робочий простір agent](/uk/concepts/agent-workspace), [Doctor](/uk/gateway/doctor), - [Віддалений режим](/uk/gateway/remote). + [Workspace agent](/uk/concepts/agent-workspace), [Doctor](/uk/gateway/doctor), + [Remote mode](/uk/gateway/remote). @@ -310,16 +310,16 @@ x-i18n: Найновіші записи — угорі. Якщо верхній розділ позначено як **Unreleased**, наступний датований розділ — це остання випущена версія. Записи згруповано за **Highlights**, **Changes** і - **Fixes** (плюс розділи з документацією/інші за потреби). + **Fixes** (а також розділами документації/іншими, коли потрібно). Деякі з’єднання Comcast/Xfinity помилково блокують `docs.openclaw.ai` через Xfinity - Advanced Security. Вимкніть її або додайте `docs.openclaw.ai` до allowlist, а потім повторіть спробу. + 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) @@ -332,19 +332,19 @@ x-i18n: Зазвичай stable-реліз спочатку потрапляє в **beta**, а потім явний крок просування переміщує цю саму версію до `latest`. Maintainers також можуть - за потреби публікувати одразу в `latest`. Саме тому beta і stable можуть - вказувати на **ту саму версію** після просування. + публікувати відразу в `latest`, коли це потрібно. Саме тому beta і stable можуть + вказувати на **одну й ту саму версію** після просування. - Подивитися, що змінилося: + Подивіться, що змінилося: [https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md](https://github.com/openclaw/openclaw/blob/main/CHANGELOG.md) - Однорядкові команди для встановлення і різницю між beta та dev див. в accordion нижче. + Однорядкові команди встановлення та різницю між beta і dev дивіться в accordion нижче. - - **Beta** — це npm dist-tag `beta` (після просування може збігатися з `latest`). - **Dev** — це рухома вершина `main` (git); під час публікації використовується npm dist-tag `dev`. + + **Beta** — це npm dist-tag `beta` (може збігатися з `latest` після просування). + **Dev** — це рухома вершина `main` (git); коли її публікують, вона використовує npm dist-tag `dev`. Однорядкові команди (macOS/Linux): @@ -363,16 +363,16 @@ x-i18n: - + Є два варіанти: - 1. **Dev channel (git checkout):** + 1. **Канал dev (git checkout):** ```bash openclaw update --channel dev ``` - Це перемикає вас на гілку `main` і оновлює з вихідного коду. + Це перемикає на гілку `main` і оновлює з вихідного коду. 2. **Hackable install (із сайту інсталятора):** @@ -380,9 +380,9 @@ x-i18n: curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - Це дає вам локальний репозиторій, який можна редагувати, а потім оновлювати через git. + Так ви отримуєте локальний репозиторій, який можна редагувати, а потім оновлювати через git. - Якщо ви віддаєте перевагу чистому ручному clone, використайте: + Якщо ви віддаєте перевагу чистому клонуванню вручну, використайте: ```bash git clone https://github.com/openclaw/openclaw.git @@ -391,19 +391,19 @@ x-i18n: pnpm build ``` - Документація: [Update](/cli/update), [Канали розробки](/uk/install/development-channels), - [Install](/uk/install). + Документація: [Оновлення](/cli/update), [Канали розробки](/uk/install/development-channels), + [Встановлення](/uk/install). - + Приблизний орієнтир: - **Встановлення:** 2–5 хвилин - - **Onboarding:** 5–15 хвилин залежно від того, скільки channels/models ви налаштовуєте + - **Онбординг:** 5–15 хвилин залежно від того, скільки channels/models ви налаштовуєте - Якщо все зависає, див. [Інсталятор завис?](#швидкий-старт-і-початкове-налаштування) - і швидкий цикл налагодження в [Я застряг](#швидкий-старт-і-початкове-налаштування). + Якщо все зависає, скористайтеся [Інсталятор завис?](#швидкий-старт-і-налаштування-першого-запуску) + і швидким циклом налагодження в [Я застряг](#швидкий-старт-і-налаштування-першого-запуску). @@ -414,7 +414,7 @@ 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 @@ -435,44 +435,44 @@ x-i18n: Set-PSDebug -Trace 0 ``` - Більше варіантів: [Прапорці інсталятора](/uk/install/installer). + Більше параметрів: [Прапорці інсталятора](/uk/install/installer). Дві поширені проблеми у Windows: - **1) помилка npm spawn git / git not found** + **1) npm error spawn git / git not found** - - Установіть **Git for Windows** і переконайтеся, що `git` є у вашому PATH. + - Встановіть **Git for Windows** і переконайтеся, що `git` є у вашому PATH. - Закрийте й знову відкрийте PowerShell, а потім повторно запустіть інсталятор. - **2) після встановлення `openclaw` not recognized** + **2) після встановлення openclaw is not recognized** - - Ваш глобальний каталог npm bin відсутній у PATH. + - Ваш глобальний каталог bin для npm відсутній у PATH. - Перевірте шлях: ```powershell npm config get prefix ``` - - Додайте цей каталог до вашого користувацького PATH (у Windows суфікс `\bin` не потрібен; у більшості систем це `%AppData%\npm`). - - Після оновлення PATH закрийте й знову відкрийте PowerShell. + - Додайте цей каталог до вашого користувацького PATH (суфікс `\bin` у Windows не потрібен; у більшості систем це `%AppData%\npm`). + - Закрийте й знову відкрийте PowerShell після оновлення PATH. - Якщо ви хочете максимально плавне налаштування у Windows, використовуйте **WSL2** замість нативного Windows. + Якщо вам потрібне найплавніше налаштування у Windows, використовуйте **WSL2** замість нативного Windows. Документація: [Windows](/uk/platforms/windows). - Зазвичай це невідповідність кодової сторінки консолі в нативних оболонках Windows. + Зазвичай це невідповідність code page консолі в нативних оболонках Windows. Симптоми: - - вивід `system.run`/`exec` показує китайський текст як mojibake + - вивід `system.run`/`exec` відображає китайський текст як mojibake - та сама команда виглядає нормально в іншому профілі термінала - Швидкий обхідний шлях у PowerShell: + Швидкий обхідний спосіб у PowerShell: ```powershell chcp 65001 @@ -487,26 +487,26 @@ x-i18n: openclaw gateway restart ``` - Якщо це все ще відтворюється в останній версії OpenClaw, відстежуйте/повідомляйте тут: + Якщо ви все ще відтворюєте цю проблему в останній версії OpenClaw, відстежуйте/повідомляйте про неї тут: - [Issue #30640](https://github.com/openclaw/openclaw/issues/30640) - Використайте **hackable (git) install**, щоб мати локально повний вихідний код і документацію, а потім запитайте - свого бота (або Claude/Codex) _з цієї папки_, щоб він міг читати репозиторій і точно відповісти. + Використайте **hackable (git) install**, щоб мати повний вихідний код і документацію локально, а потім запитайте + свого бота (або Claude/Codex) _з цієї папки_, щоб він міг читати репозиторій і відповідати точно. ```bash curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git ``` - Докладніше: [Install](/uk/install) і [Прапорці інсталятора](/uk/install/installer). + Докладніше: [Встановлення](/uk/install) і [Прапорці інсталятора](/uk/install/installer). - - Коротка відповідь: дотримуйтеся інструкції для Linux, а потім запустіть onboarding. + + Коротка відповідь: дотримуйтесь інструкції для Linux, а потім запустіть онбординг. - Швидкий шлях для Linux + встановлення сервісу: [Linux](/uk/platforms/linux). - Повний покроковий посібник: [Початок роботи](/uk/start/getting-started). @@ -514,39 +514,39 @@ x-i18n: - - Підійде будь-який 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 remote](/uk/gateway/remote). + Віддалений доступ: [Віддалений Gateway](/uk/gateway/remote). - - У нас є **хаб хостингу** з поширеними провайдерами. Виберіть один і дотримуйтеся інструкції: + + Ми підтримуємо **хаб хостингу** з поширеними провайдерами. Виберіть одного та дотримуйтесь інструкції: - [VPS hosting](/uk/vps) (усі провайдери в одному місці) - [Fly.io](/uk/install/fly) - [Hetzner](/uk/install/hetzner) - [exe.dev](/uk/install/exe-dev) - Як це працює в хмарі: **Gateway працює на сервері**, а ви звертаєтеся до нього + Як це працює в хмарі: **Gateway працює на сервері**, а ви отримуєте до нього доступ з ноутбука/телефона через Control UI (або Tailscale/SSH). Ваші state + workspace зберігаються на сервері, тож вважайте хост джерелом істини та робіть його резервні копії. - Ви можете під’єднувати **nodes** (Mac/iOS/Android/headless) до цього хмарного Gateway, щоб отримувати доступ до - локального екрана/камери/canvas або запускати команди на ноутбуці, водночас - тримаючи Gateway у хмарі. + Ви можете підключати **Node** (Mac/iOS/Android/headless) до цього хмарного Gateway, щоб отримати доступ + до локального екрана/камери/canvas або запускати команди на ноутбуці, залишаючи + Gateway у хмарі. - Хаб: [Platforms](/uk/platforms). Віддалений доступ: [Gateway remote](/uk/gateway/remote). - Nodes: [Nodes](/uk/nodes), [Nodes CLI](/cli/nodes). + Хаб: [Платформи](/uk/platforms). Віддалений доступ: [Віддалений Gateway](/uk/gateway/remote). + Node: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes). - Коротка відповідь: **можливо, але не рекомендується**. Під час оновлення може перезапуститися - Gateway (що розірве активну session), може знадобитися чистий git checkout, а також - може з’явитися запит на підтвердження. Безпечніше запускати оновлення з оболонки як оператор. + Коротка відповідь: **можливо, але не рекомендовано**. Під час оновлення може перезапускатися + Gateway (що розриває активний сеанс), може знадобитися чистий git checkout, а також + може знадобитися підтвердження. Безпечніше: запускати оновлення з оболонки як оператор. Використовуйте CLI: @@ -558,47 +558,47 @@ x-i18n: openclaw update --no-restart ``` - Якщо автоматизація через agent все ж потрібна: + Якщо автоматизація з agent усе ж потрібна: ```bash openclaw update --yes --no-restart openclaw gateway restart ``` - Документація: [Update](/cli/update), [Оновлення](/uk/install/updating). + Документація: [Оновлення](/cli/update), [Оновлення](/uk/install/updating). - - `openclaw onboard` — рекомендований шлях налаштування. У **локальному режимі** він проводить вас через: + + `openclaw onboard` — це рекомендований шлях налаштування. У **local mode** він проводить вас через: - - **Налаштування model/auth** (OAuth провайдера, API-ключі, токен налаштування Anthropic, а також варіанти локальних моделей, як-от LM Studio) - - Розташування **workspace** + bootstrap-файли + - **Налаштування моделей/auth** (OAuth провайдера, API keys, Anthropic setup-token, а також варіанти локальних моделей, як-от LM Studio) + - Розташування **workspace** + **bootstrap files** - **Налаштування Gateway** (bind/port/auth/tailscale) - - **Channels** (WhatsApp, Telegram, Discord, Mattermost, Signal, iMessage, а також bundled channel plugins, як-от QQ Bot) - - **Встановлення демона** (LaunchAgent на macOS; user unit systemd на Linux/WSL2) - - **Перевірки стану** і вибір **Skills** + - **Channels** (WhatsApp, Telegram, Discord, Mattermost, Signal, iMessage, а також вбудовані channel plugins, як-от QQ Bot) + - **Встановлення daemon** (LaunchAgent на macOS; systemd user unit на Linux/WSL2) + - **Перевірки стану** та вибір **Skills** - Він також попереджає, якщо налаштована model невідома або для неї відсутня auth. + Він також попереджає, якщо налаштована вами модель невідома або для неї відсутня 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 усе ще є - більш передбачуваним варіантом. OAuth OpenAI Codex явно підтримується для зовнішніх - інструментів на кшталт OpenClaw. + Для довготривалих хостів gateway Anthropic API keys усе ще є + більш передбачуваним варіантом налаштування. OAuth OpenAI Codex явно підтримується для зовнішніх + інструментів, як-от OpenClaw. OpenClaw також підтримує інші розміщені варіанти у стилі підписки, зокрема **Qwen Cloud Coding Plan**, **MiniMax Coding Plan** і @@ -607,17 +607,17 @@ x-i18n: Документація: [Anthropic](/uk/providers/anthropic), [OpenAI](/uk/providers/openai), [Qwen Cloud](/uk/providers/qwen), [MiniMax](/uk/providers/minimax), [GLM Models](/uk/providers/glm), - [Локальні моделі](/uk/gateway/local-models), [Models](/uk/concepts/models). + [Локальні моделі](/uk/gateway/local-models), [Моделі](/uk/concepts/models). - + Так. Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тож OpenClaw вважає auth через підписку Claude та використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. Якщо вам потрібне - найпередбачуваніше налаштування на стороні сервера, натомість використовуйте API-ключ Anthropic. + найпередбачуваніше серверне налаштування, використовуйте натомість Anthropic API key. @@ -628,10 +628,10 @@ x-i18n: повторне використання Claude CLI та використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. - Токен налаштування Anthropic все ще доступний як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI та `claude -p`, коли це можливо. - Для production або multi-user навантажень auth через API-ключ Anthropic усе ще є - безпечнішим і передбачуванішим вибором. Якщо вас цікавлять інші розміщені варіанти - у стилі підписки в OpenClaw, див. [OpenAI](/uk/providers/openai), [Qwen / Model + Anthropic setup-token і далі доступний як підтримуваний шлях token в OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI та `claude -p`, коли це доступно. + Для production або multi-user навантажень auth через Anthropic API key усе ще є + безпечнішим і передбачуванішим вибором. Якщо вам потрібні інші розміщені + варіанти у стилі підписки в OpenClaw, див. [OpenAI](/uk/providers/openai), [Qwen / Model Cloud](/uk/providers/qwen), [MiniMax](/uk/providers/minimax) і [GLM Models](/uk/providers/glm). @@ -639,62 +639,62 @@ x-i18n: -Це означає, що вашу **квоту/ліміт швидкості Anthropic** вичерпано для поточного вікна. Якщо ви +Це означає, що вашу **квоту/ліміт запитів Anthropic** вичерпано для поточного вікна. Якщо ви використовуєте **Claude CLI**, дочекайтеся скидання вікна або оновіть свій план. Якщо ви -використовуєте **API-ключ Anthropic**, перевірте Anthropic Console -щодо використання/білінгу та за потреби збільште ліміти. +використовуєте **Anthropic API key**, перевірте Anthropic Console +щодо використання/білінгу та за потреби підвищте ліміти. - Якщо повідомлення конкретно таке: - `Extra usage is required for long context requests`, запит намагається використовувати - 1M context beta Anthropic (`context1m: true`). Це працює лише тоді, коли ваші - облікові дані мають право на білінг long-context (білінг за API-ключем або + Якщо повідомлення має саме такий вигляд: + `Extra usage is required for long context requests`, запит намагається використати + 1M context beta від Anthropic (`context1m: true`). Це працює лише тоді, коли ваші + облікові дані мають право на білінг long-context (білінг API key або шлях входу Claude в OpenClaw з увімкненим Extra Usage). - Порада: задайте **резервну model**, щоб OpenClaw міг продовжувати відповідати, поки провайдер обмежений rate limit. + Порада: налаштуйте **резервну модель**, щоб OpenClaw міг продовжувати відповідати, коли provider обмежений rate limit. Див. [Models](/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 має bundled провайдер **Amazon Bedrock (Converse)**. За наявності AWS env markers OpenClaw може автоматично виявити потоковий/текстовий каталог Bedrock і об’єднати його як неявного провайдера `amazon-bedrock`; інакше ви можете явно ввімкнути `plugins.entries.amazon-bedrock.config.discovery.enabled` або додати запис ручного провайдера. Див. [Amazon Bedrock](/uk/providers/bedrock) і [Провайдери моделей](/uk/providers/models). Якщо ви віддаєте перевагу керованому потоку ключів, OpenAI-compatible proxy перед Bedrock теж залишається коректним варіантом. + Так. OpenClaw має вбудований provider **Amazon Bedrock (Converse)**. За наявності маркерів AWS env OpenClaw може автоматично виявити каталог streaming/text Bedrock і об’єднати його як неявний provider `amazon-bedrock`; інакше ви можете явно ввімкнути `plugins.entries.amazon-bedrock.config.discovery.enabled` або додати запис provider вручну. Див. [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). Під час онбордингу можна виконати потік OAuth, і за потреби буде встановлено модель за замовчуванням `openai-codex/gpt-5.4`. Див. [Провайдери моделей](/uk/concepts/model-providers) і [Онбординг (CLI)](/uk/start/wizard). - + OpenClaw розглядає ці два шляхи окремо: - `openai-codex/gpt-5.4` = OAuth ChatGPT/Codex - `openai/gpt-5.4` = прямий API OpenAI Platform - В OpenClaw вхід ChatGPT/Codex прив’язано до маршруту `openai-codex/*`, - а не до прямого маршруту `openai/*`. Якщо вам потрібен прямий API-шлях у - OpenClaw, задайте `OPENAI_API_KEY` (або еквівалентну config провайдера OpenAI). - Якщо вам потрібен вхід ChatGPT/Codex в OpenClaw, використовуйте `openai-codex/*`. + В OpenClaw вхід ChatGPT/Codex прив’язаний до маршруту `openai-codex/*`, + а не до прямого маршруту `openai/*`. Якщо ви хочете використовувати прямий шлях API в + OpenClaw, задайте `OPENAI_API_KEY` (або еквівалентну конфігурацію provider OpenAI). + Якщо ви хочете використовувати вхід ChatGPT/Codex в OpenClaw, використовуйте `openai-codex/*`. - - `openai-codex/*` використовує маршрут Codex OAuth, і його доступні вікна квот + + `openai-codex/*` використовує маршрут OAuth Codex, а його доступні вікна квот керуються OpenAI та залежать від плану. На практиці ці ліміти можуть відрізнятися від - досвіду використання сайту/застосунку ChatGPT, навіть якщо обидва прив’язані до одного облікового запису. + досвіду використання сайту/застосунку ChatGPT, навіть коли обидва прив’язані до одного облікового запису. - OpenClaw може показувати поточні видимі вікна використання/квот провайдера в - `openclaw models status`, але не вигадує й не нормалізує - права доступу ChatGPT web до прямого доступу API. Якщо вам потрібен прямий шлях білінгу/лімітів OpenAI Platform, - використовуйте `openai/*` з API-ключем. + OpenClaw може показувати поточні видимі вікна використання/квоти provider у + `openclaw models status`, але не вигадує і не нормалізує права доступу ChatGPT web + до прямого API. Якщо вам потрібен прямий шлях білінгу/лімітів OpenAI Platform, + використовуйте `openai/*` з API key. Так. OpenClaw повністю підтримує **OAuth підписки OpenAI Code (Codex)**. - OpenAI явно дозволяє використання OAuth-підписки в зовнішніх інструментах/робочих процесах - на кшталт OpenClaw. Onboarding може запустити OAuth-потік за вас. + OpenAI явно дозволяє використання OAuth підписки в зовнішніх інструментах/робочих процесах + на кшталт OpenClaw. Під час онбордингу потік OAuth можна виконати за вас. - Див. [OAuth](/uk/concepts/oauth), [Провайдери моделей](/uk/concepts/model-providers) і [Onboarding (CLI)](/uk/start/wizard). + Див. [OAuth](/uk/concepts/oauth), [Провайдери моделей](/uk/concepts/model-providers) і [Онбординг (CLI)](/uk/start/wizard). @@ -703,7 +703,7 @@ x-i18n: Кроки: - 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` @@ -711,72 +711,72 @@ x-i18n: 4. Модель за замовчуванням після входу: `google-gemini-cli/gemini-3-flash-preview` 5. Якщо запити не працюють, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості gateway - Це зберігає OAuth-токени в auth profiles на хості gateway. Докладніше: [Провайдери моделей](/uk/concepts/model-providers). + Це зберігає OAuth tokens у профілях auth на хості gateway. Докладніше: [Провайдери моделей](/uk/concepts/model-providers). - - Зазвичай ні. OpenClaw потребує великого контексту + сильної безпеки; малі картки обрізають і допускають витоки. Якщо вже потрібно, запускайте **найбільшу** збірку model, яку можете локально (LM Studio), і див. [/gateway/local-models](/uk/gateway/local-models). Менші/квантовані models підвищують ризик prompt injection — див. [Security](/uk/gateway/security). + + Зазвичай ні. OpenClaw потребує великого context + сильного захисту; малі карти обрізаються та дають витоки. Якщо все ж потрібно, запускайте **найбільшу** збірку моделі, яку можете локально (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"`, щоб резервні варіанти залишалися доступними, водночас дотримуючись вибраного вами provider із прив’язкою до регіону. - - Ні. 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 або підключайте Node macOS. - Документація: [BlueBubbles](/uk/channels/bluebubbles), [Nodes](/uk/nodes), [Mac remote mode](/uk/platforms/mac/remote). + Документація: [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 або деінде. + підійде будь-який 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 remote mode](/uk/platforms/mac/remote). + [Віддалений режим Mac](/uk/platforms/mac/remote). - + Так. **Mac mini може запускати Gateway**, а ваш MacBook Pro може підключатися як - **node** (супутній пристрій). Nodes не запускають Gateway — вони надають додаткові + **Node** (супутній пристрій). Node не запускають Gateway — вони надають додаткові можливості, як-от screen/camera/canvas і `system.run` на цьому пристрої. - Поширений сценарій: + Типова схема: - - Gateway на Mac mini (завжди ввімкнений). - - MacBook Pro запускає macOS app або хост node і під’єднується до Gateway. - - Щоб побачити його, використовуйте `openclaw nodes status` / `openclaw nodes list`. + - Gateway на Mac mini (постійно увімкнений). + - MacBook Pro запускає застосунок macOS або хост Node і підключається до Gateway. + - Використовуйте `openclaw nodes status` / `openclaw nodes list`, щоб побачити його. - Документація: [Nodes](/uk/nodes), [Nodes CLI](/cli/nodes). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes). - - Bun **не рекомендується**. Ми бачимо помилки runtime, особливо з WhatsApp і Telegram. - Для стабільних gateway використовуйте **Node**. + + Bun **не рекомендується**. Ми бачимо помилки під час виконання, особливо з WhatsApp і Telegram. + Для стабільних Gateway використовуйте **Node**. - Якщо ви все ж хочете поекспериментувати з Bun, робіть це на неproduction gateway + Якщо ви все ж хочете експериментувати з Bun, робіть це на неproduction Gateway без WhatsApp/Telegram. - `channels.telegram.allowFrom` — це **Telegram user ID людини-відправника** (числовий). Це не ім’я користувача бота. + `channels.telegram.allowFrom` — це **Telegram user ID** відправника-людини (числовий). Це не ім’я користувача бота. - Onboarding приймає введення `@username` і перетворює його на числовий ID, але авторизація OpenClaw використовує лише числові ID. + Під час онбордингу приймається введення `@username` і воно перетворюється на числовий ID, але авторизація OpenClaw використовує лише числові ID. - Безпечніше (без стороннього бота): + Безпечніший варіант (без стороннього бота): - Напишіть своєму боту в DM, потім виконайте `openclaw logs --follow` і прочитайте `from.id`. @@ -784,7 +784,7 @@ x-i18n: - Напишіть своєму боту в DM, потім викличте `https://api.telegram.org/bot/getUpdates` і прочитайте `message.from.id`. - Сторонні варіанти (менш приватні): + Сторонній варіант (менш приватний): - Напишіть у DM `@userinfobot` або `@getidsbot`. @@ -792,12 +792,12 @@ x-i18n: - - Так, через **маршрутизацію multi-agent**. Прив’яжіть **DM** WhatsApp кожного відправника (peer `kind: "direct"`, E.164 відправника, наприклад `+15551234567`) до різного `agentId`, щоб кожна людина мала власний workspace і session store. Відповіді все одно надсилатимуться з **того самого облікового запису WhatsApp**, а керування доступом до DM (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) є глобальним для кожного облікового запису WhatsApp. Див. [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [WhatsApp](/uk/channels/whatsapp). + + Так, через **маршрутизацію multi-agent**. Прив’яжіть **DM** WhatsApp кожного відправника (peer `kind: "direct"`, E.164 відправника, наприклад `+15551234567`) до іншого `agentId`, щоб кожна людина мала власні workspace і session store. Відповіді все одно надходитимуть з **того самого облікового запису WhatsApp**, а контроль доступу для DM (`channels.whatsapp.dmPolicy` / `channels.whatsapp.allowFrom`) є глобальним для кожного облікового запису WhatsApp. Див. [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [WhatsApp](/uk/channels/whatsapp). - Так. Використовуйте маршрутизацію multi-agent: призначте кожному agent власну model за замовчуванням, а потім прив’яжіть вхідні маршрути (обліковий запис провайдера або конкретні peers) до кожного agent. Приклад config є в [Маршрутизація Multi-Agent](/uk/concepts/multi-agent). Див. також [Models](/uk/concepts/models) і [Конфігурація](/uk/gateway/configuration). + Так. Використовуйте маршрутизацію multi-agent: задайте кожному agent свою модель за замовчуванням, а потім прив’яжіть вхідні маршрути (обліковий запис provider або конкретні peers) до кожного agent. Приклад конфігурації наведено в [Маршрутизація Multi-Agent](/uk/concepts/multi-agent). Див. також [Моделі](/uk/concepts/models) і [Конфігурація](/uk/gateway/configuration). @@ -810,14 +810,14 @@ x-i18n: brew install ``` - Якщо ви запускаєте OpenClaw через systemd, переконайтеся, що PATH сервісу містить `/home/linuxbrew/.linuxbrew/bin` (або ваш префікс brew), щоб інструменти, встановлені через `brew`, визначалися в оболонках без входу. - Останні збірки також додають попереду поширені каталоги user 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 оболонках. + Останні збірки також додають попереду поширені каталоги user 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`, якщо вони задані. - **Hackable (git) install:** повний checkout вихідного коду, можна редагувати, найкраще для contributors. - Ви локально запускаєте збірки й можете вносити зміни в код/документацію. + Ви локально запускаєте збірки й можете вносити зміни до коду/документації. - **npm install:** глобальне встановлення CLI, без репозиторію, найкраще для сценарію "просто запустити". Оновлення надходять із npm dist-tags. @@ -825,12 +825,12 @@ x-i18n: - - Так. Установіть інший варіант, а потім запустіть Doctor, щоб сервіс gateway вказував на нову точку входу. - Це **не видаляє ваші дані** — змінюється лише встановлений код OpenClaw. Ваш state + + Так. Установіть інший варіант, а потім запустіть Doctor, щоб сервіс gateway вказував на нову entrypoint. + Це **не видаляє ваші дані** — змінюється лише спосіб встановлення коду 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,7 +849,7 @@ x-i18n: openclaw gateway restart ``` - Doctor виявляє невідповідність точки входу сервісу gateway і пропонує переписати config сервісу відповідно до поточного встановлення (використовуйте `--repair` в автоматизації). + Doctor виявляє невідповідність entrypoint сервісу gateway і пропонує переписати конфігурацію сервісу відповідно до поточного встановлення (використовуйте `--repair` в автоматизації). Поради щодо резервного копіювання: див. [Стратегія резервного копіювання](#де-що-зберігається-на-диску). @@ -857,58 +857,58 @@ x-i18n: Коротка відповідь: **якщо вам потрібна надійність 24/7, використовуйте VPS**. Якщо вам потрібен - найменший тертя і вас влаштовують сон/перезапуски, запускайте локально. + найменший поріг входу і вас влаштовують сон/перезапуски, запускайте локально. **Ноутбук (локальний Gateway)** - - **Переваги:** без витрат на сервер, прямий доступ до локальних файлів, видиме вікно браузера. - - **Недоліки:** сон/обриви мережі = роз’єднання, оновлення/перезавантаження ОС переривають роботу, машина має залишатися активною. + - **Плюси:** немає витрат на сервер, прямий доступ до локальних файлів, видиме вікно браузера. + - **Мінуси:** сон/обриви мережі = відключення, оновлення ОС/перезавантаження переривають роботу, машина має залишатися активною. **VPS / хмара** - - **Переваги:** завжди ввімкнений, стабільна мережа, немає проблем через сон ноутбука, легше підтримувати безперервну роботу. - - **Недоліки:** часто працює без GUI (використовуйте знімки екрана), доступ лише до віддалених файлів, для оновлень потрібен SSH. + - **Плюси:** завжди увімкнений, стабільна мережа, немає проблем зі сном ноутбука, легше підтримувати безперервну роботу. + - **Мінуси:** часто працює без графічного інтерфейсу (використовуйте знімки екрана), віддалений доступ до файлів, для оновлень потрібен SSH. - **Примітка щодо OpenClaw:** WhatsApp/Telegram/Slack/Mattermost/Discord чудово працюють із VPS. Єдиний реальний компроміс — **headless browser** проти видимого вікна. Див. [Browser](/uk/tools/browser). + **Примітка щодо OpenClaw:** WhatsApp/Telegram/Slack/Mattermost/Discord усі добре працюють на VPS. Єдиний реальний компроміс — **браузер без графічного інтерфейсу** проти видимого вікна. Див. [Браузер](/uk/tools/browser). - **Рекомендований варіант за замовчуванням:** VPS, якщо у вас раніше були відключення gateway. Локальний запуск чудово підходить, коли ви активно користуєтеся Mac і хочете мати доступ до локальних файлів або автоматизації UI з видимим браузером. + **Рекомендований варіант за замовчуванням:** VPS, якщо у вас раніше були відключення gateway. Локальний запуск чудово підходить, коли ви активно користуєтеся Mac і хочете локальний доступ до файлів або автоматизацію UI з видимим браузером. - - Це не обов’язково, але **рекомендується для надійності та ізоляції**. + + Не обов’язково, але **рекомендовано для надійності та ізоляції**. - - **Виділений хост (VPS/Mac mini/Pi):** завжди ввімкнений, менше переривань через сон/перезавантаження, чистіші дозволи, легше підтримувати безперервну роботу. - - **Спільний ноутбук/настільний ПК:** цілком нормально для тестування й активного використання, але очікуйте пауз, коли машина засинає або оновлюється. + - **Виділений хост (VPS/Mac mini/Pi):** завжди увімкнений, менше переривань через сон/перезавантаження, чистіші дозволи, легше підтримувати безперервну роботу. + - **Спільний ноутбук/настільний комп’ютер:** цілком підходить для тестування й активного використання, але очікуйте пауз, коли машина переходить у сон або оновлюється. - Якщо ви хочете отримати найкраще з обох світів, тримайте Gateway на виділеному хості, а свій ноутбук під’єднайте як **node** для локальних інструментів screen/camera/exec. Див. [Nodes](/uk/nodes). - Рекомендації з безпеки див. у [Security](/uk/gateway/security). + Якщо ви хочете поєднати обидва підходи, тримайте Gateway на виділеному хості, а ноутбук підключайте як **Node** для локальних інструментів screen/camera/exec. Див. [Nodes](/uk/nodes). + Рекомендації з безпеки дивіться в [Безпека](/uk/gateway/security). - - OpenClaw легкий. Для базового Gateway + одного chat channel: + + OpenClaw є легким. Для базового Gateway + одного chat channel: - - **Абсолютний мінімум:** 1 vCPU, 1GB RAM, ~500MB диска. - - **Рекомендовано:** 1–2 vCPU, 2GB RAM або більше із запасом (логи, медіа, кілька channels). Інструменти Node та автоматизація браузера можуть вимагати багато ресурсів. + - **Абсолютний мінімум:** 1 vCPU, 1 ГБ RAM, ~500 МБ диска. + - **Рекомендовано:** 1–2 vCPU, 2 ГБ RAM або більше для запасу (журнали, медіа, кілька каналів). Інструменти Node та автоматизація браузера можуть бути ресурсомісткими. - ОС: використовуйте **Ubuntu LTS** (або будь-який сучасний Debian/Ubuntu). Шлях встановлення для Linux найкраще протестовано саме там. + ОС: використовуйте **Ubuntu LTS** (або будь-яку сучасну Debian/Ubuntu). Шлях встановлення для Linux найкраще протестовано саме там. Документація: [Linux](/uk/platforms/linux), [VPS hosting](/uk/vps). - - Так. Ставтеся до VM так само, як до VPS: вона має бути завжди ввімкнена, доступна та мати достатньо - RAM для Gateway і всіх channels, які ви вмикаєте. + + Так. Ставтеся до VM так само, як до VPS: вона має бути завжди увімкнена, доступна та мати достатньо + RAM для Gateway і всіх каналів, які ви вмикаєте. Базові рекомендації: - - **Абсолютний мінімум:** 1 vCPU, 1GB RAM. - - **Рекомендовано:** 2GB RAM або більше, якщо ви використовуєте кілька channels, автоматизацію браузера чи медіаінструменти. - - **ОС:** Ubuntu LTS або інший сучасний Debian/Ubuntu. + - **Абсолютний мінімум:** 1 vCPU, 1 ГБ RAM. + - **Рекомендовано:** 2 ГБ RAM або більше, якщо ви запускаєте кілька каналів, автоматизацію браузера чи медіаінструменти. + - **ОС:** Ubuntu LTS або інша сучасна Debian/Ubuntu. - Якщо ви працюєте у Windows, **WSL2 — найпростіше налаштування у стилі VM** і має найкращу + Якщо ви використовуєте Windows, **WSL2 — це найпростіший варіант налаштування у стилі VM** і він має найкращу сумісність з інструментами. Див. [Windows](/uk/platforms/windows), [VPS hosting](/uk/vps). Якщо ви запускаєте macOS у VM, див. [macOS VM](/uk/install/macos-vm). @@ -919,30 +919,30 @@ x-i18n: - OpenClaw — це персональний AI-помічник, який ви запускаєте на власних пристроях. Він відповідає в месенджерах, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat, а також bundled channel plugins, як-от QQ Bot) і також може працювати з голосом + live Canvas на підтримуваних платформах. **Gateway** — це постійно активна control plane; помічник і є продуктом. + OpenClaw — це персональний AI assistant, який ви запускаєте на власних пристроях. Він відповідає в тих messaging surfaces, якими ви вже користуєтеся (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat і вбудовані channel plugins, як-от QQ Bot), а також може працювати з голосом + live Canvas на підтримуваних платформах. **Gateway** — це завжди увімкнена control plane; assistant — це сам продукт. - OpenClaw — це не "просто обгортка для Claude". Це **локально-орієнтована control plane**, яка дає змогу запускати - потужного помічника на **вашому власному обладнанні**, доступного з чат-застосунків, якими ви вже користуєтеся, з - sessions зі станом, memory та інструментами — без передачі контролю над вашими процесами - розміщеному SaaS. + OpenClaw — це не "просто обгортка для Claude". Це **local-first control plane**, яка дозволяє запускати + потужного assistant на **вашому власному обладнанні**, з доступом через chat apps, якими ви вже користуєтеся, зі + session history, memory та інструментами — без передавання контролю над вашими робочими процесами розміщеному + SaaS. Основні переваги: - **Ваші пристрої, ваші дані:** запускайте Gateway де завгодно (Mac, Linux, VPS) і зберігайте - workspace + історію session локально. - - **Реальні channels, а не веб-пісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage тощо, + workspace + history сеансів локально. + - **Реальні канали, а не вебпісочниця:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage тощо, а також мобільний голос і Canvas на підтримуваних платформах. - - **Незалежність від model:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо, з маршрутизацією + - **Незалежність від моделі:** використовуйте Anthropic, OpenAI, MiniMax, OpenRouter тощо з маршрутизацією і резервним перемиканням на рівні agent. - - **Лише локальний варіант:** запускайте локальні models, щоб **усі дані могли залишатися на вашому пристрої**, якщо ви цього хочете. - - **Маршрутизація multi-agent:** окремі agents для channel, облікового запису чи завдання, кожен зі своїм - workspace і параметрами за замовчуванням. - - **Відкритий код і можливість змінювати:** перевіряйте, розширюйте та розміщуйте самостійно без прив’язки до постачальника. + - **Варіант лише локально:** запускайте локальні моделі, щоб **усі дані могли залишатися на вашому пристрої**, якщо хочете. + - **Маршрутизація multi-agent:** окремі agents для кожного каналу, облікового запису чи задачі, кожен із власним + workspace та типовими налаштуваннями. + - **Відкритий код і придатність до змін:** перевіряйте, розширюйте й самостійно розміщуйте без vendor lock-in. Документація: [Gateway](/uk/gateway), [Channels](/uk/channels), [Multi-agent](/uk/concepts/multi-agent), - [Memory](/uk/concepts/memory). + [Пам’ять](/uk/concepts/memory). @@ -951,48 +951,48 @@ x-i18n: - Створити вебсайт (WordPress, Shopify або простий статичний сайт). - Прототипувати мобільний застосунок (структура, екрани, план API). - - Упорядкувати файли та папки (очищення, іменування, тегування). + - Організувати файли та папки (очищення, найменування, теги). - Підключити Gmail і автоматизувати зведення або подальші дії. - Він може виконувати великі завдання, але найкраще працює, коли ви ділите їх на фази та + Він може виконувати великі задачі, але найкраще працює, коли ви розбиваєте їх на етапи та використовуєте sub agents для паралельної роботи. - + Повсякденна користь зазвичай виглядає так: - - **Персональні зведення:** підсумки пошти, календаря та новин, які вас цікавлять. - - **Дослідження та чернетки:** швидкий пошук інформації, підсумки та перші чернетки листів або документів. - - **Нагадування та подальші дії:** поштовхи та чеклісти на основі Cron або Heartbeat. - - **Автоматизація браузера:** заповнення форм, збір даних і повторення веб-завдань. - - **Координація між пристроями:** надішліть завдання з телефона, дайте Gateway виконати його на сервері й отримайте результат назад у чаті. + - **Персональні зведення:** підсумки inbox, календаря та новин, які вас цікавлять. + - **Дослідження та чернетки:** швидкі дослідження, підсумки та перші чернетки листів або документів. + - **Нагадування та подальші дії:** підказки й контрольні списки на основі Cron або Heartbeat. + - **Автоматизація браузера:** заповнення форм, збирання даних і повторювані вебзадачі. + - **Координація між пристроями:** надішліть задачу з телефону, дозвольте Gateway виконати її на сервері й отримайте результат назад у чаті. - - Так — для **дослідження, кваліфікації та підготовки чернеток**. Він може сканувати сайти, створювати короткі списки, - підсумовувати інформацію про потенційних клієнтів і писати чернетки аутричу або рекламних текстів. + + Так, для **дослідження, кваліфікації та підготовки чернеток**. Він може сканувати сайти, складати короткі списки, + підсумовувати інформацію про потенційних клієнтів і писати чернетки outreach або рекламних текстів. - Для **аутричу чи запуску реклами** залишайте людину в циклі. Уникайте спаму, дотримуйтеся місцевих законів і - правил платформи та перевіряйте все перед надсиланням. Найбезпечніший підхід — нехай - OpenClaw готує чернетку, а ви її затверджуєте. + Для **outreach або запуску реклами** залишайте людину в циклі. Уникайте спаму, дотримуйтеся місцевих законів і + політик платформ та перевіряйте все перед надсиланням. Найбезпечніший шаблон — дозволити + OpenClaw підготувати чернетку, а вам — схвалити її. - Документація: [Security](/uk/gateway/security). + Документація: [Безпека](/uk/gateway/security). - OpenClaw — це **персональний помічник** і шар координації, а не заміна IDE. Використовуйте - Claude Code або Codex для найшвидшого прямого циклу кодування всередині репозиторію. Використовуйте OpenClaw, коли вам - потрібні довготривала memory, доступ із різних пристроїв та оркестрація інструментів. + OpenClaw — це **персональний assistant** і рівень координації, а не заміна IDE. Використовуйте + Claude Code або Codex для найшвидшого прямого циклу кодування в репозиторії. Використовуйте OpenClaw, коли вам + потрібні довготривала пам’ять, доступ із різних пристроїв і оркестрація інструментів. Переваги: - - **Постійна memory + workspace** між sessions - - **Доступ із різних платформ** (WhatsApp, Telegram, TUI, WebChat) + - **Постійна пам’ять + workspace** між сеансами + - **Доступ із кількох платформ** (WhatsApp, Telegram, TUI, WebChat) - **Оркестрація інструментів** (browser, files, scheduling, hooks) - - **Завжди ввімкнений Gateway** (працює на VPS, взаємодія звідусіль) + - **Завжди увімкнений Gateway** (запускайте на VPS, взаємодійте звідусіль) - **Nodes** для локальних browser/screen/camera/exec Вітрина: [https://openclaw.ai/showcase](https://openclaw.ai/showcase) @@ -1003,69 +1003,69 @@ x-i18n: ## Skills і автоматизація - - Використовуйте керовані override замість редагування копії в репозиторії. Розміщуйте свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → bundled → `skills.load.extraDirs`, тож керовані override все одно мають вищий пріоритет за bundled skills без змін у git. Якщо вам потрібно, щоб skill було встановлено глобально, але видно лише деяким agents, зберігайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` та `agents.list[].skills`. Лише зміни, варті upstream, мають жити в репозиторії та надсилатися як PR. + + Використовуйте керовані overrides замість редагування копії в репозиторії. Розміщуйте свої зміни в `~/.openclaw/skills//SKILL.md` (або додайте папку через `skills.load.extraDirs` у `~/.openclaw/openclaw.json`). Пріоритет такий: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → вбудовані → `skills.load.extraDirs`, тож керовані overrides усе одно мають вищий пріоритет за вбудовані Skills без змін у git. Якщо вам потрібно, щоб skill було встановлено глобально, але видно лише деяким agents, зберігайте спільну копію в `~/.openclaw/skills` і керуйте видимістю через `agents.defaults.skills` та `agents.list[].skills`. Лише зміни, варті upstream, повинні жити в репозиторії та надсилатися як PR. - - Так. Додавайте додаткові каталоги через `skills.load.extraDirs` у `~/.openclaw/openclaw.json` (найнижчий пріоритет). Пріоритет за замовчуванням: `/skills` → `/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → bundled → `skills.load.extraDirs`. `clawhub` за замовчуванням встановлює в `./skills`, що OpenClaw трактує як `/skills` під час наступної session. Якщо skill має бути видимий лише певним agents, поєднайте це з `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 jobs**: ізольовані завдання можуть задавати override `model` для кожного завдання. - - **Sub-agents**: спрямовуйте завдання до окремих agents з різними models за замовчуванням. - - **Перемикання на вимогу**: використовуйте `/model`, щоб у будь-який момент змінити model поточної session. + - **Завдання Cron**: ізольовані завдання можуть задавати override `model` для кожного завдання. + - **Sub-agents**: маршрутизуйте задачі до окремих agents з різними моделями за замовчуванням. + - **Перемикання на вимогу**: використовуйте `/model`, щоб у будь-який час змінити модель поточного сеансу. - Див. [Cron jobs](/uk/automation/cron-jobs), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) і [Slash-команди](/uk/tools/slash-commands). + Див. [Завдання Cron](/uk/automation/cron-jobs), [Маршрутизація Multi-Agent](/uk/concepts/multi-agent) та [Slash commands](/uk/tools/slash-commands). - Використовуйте **sub-agents** для довгих або паралельних завдань. Sub-agents працюють у власній session, - повертають підсумок і не дають вашому основному чату зависати. + Використовуйте **sub-agents** для довгих або паралельних задач. Sub-agents працюють у власному сеансі, + повертають підсумок і зберігають чутливість вашого основного чату. Попросіть свого бота "spawn a sub-agent for this task" або використайте `/subagents`. - Використовуйте `/status` у чаті, щоб бачити, що Gateway робить просто зараз (і чи він зайнятий). + Використовуйте `/status` у чаті, щоб бачити, що Gateway робить прямо зараз (і чи він зайнятий). - Порада щодо токенів: і довгі завдання, і sub-agents споживають токени. Якщо вартість важлива, задайте - дешевшу model для sub-agents через `agents.defaults.subagents.model`. + Порада щодо токенів: і довгі задачі, і sub-agents споживають токени. Якщо вартість критична, задайте + дешевшу модель для sub-agents через `agents.defaults.subagents.model`. - Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks). + Документація: [Sub-agents](/uk/tools/subagents), [Фонові задачі](/uk/automation/tasks). - - Використовуйте прив’язки thread. Ви можете прив’язати Discord thread до subagent або цілі session, щоб подальші повідомлення в цьому thread залишалися в межах цієї прив’язаної session. + + Використовуйте прив’язки thread. Ви можете прив’язати thread Discord до subagent або цільового сеансу, щоб подальші повідомлення в цьому thread залишалися в межах прив’язаного сеансу. - Базовий процес: + Базовий потік: - - Створіть через `sessions_spawn` з `thread: true` (і, за бажанням, `mode: "session"` для постійшого продовження). - - Або прив’яжіть вручну через `/focus `. + - Виконайте spawn через `sessions_spawn` з `thread: true` (і, за потреби, `mode: "session"` для постійного подальшого продовження). + - Або прив’яжіть вручну за допомогою `/focus `. - Використовуйте `/agents`, щоб переглянути стан прив’язки. - - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним скасуванням фокуса. + - Використовуйте `/session idle ` і `/session max-age `, щоб керувати автоматичним зняттям фокуса. - Використовуйте `/unfocus`, щоб від’єднати thread. - Потрібна config: + Потрібна конфігурація: - - Глобальні параметри за замовчуванням: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`. - - Override для Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`. - - Автоматична прив’язка під час створення: задайте `channels.discord.threadBindings.spawnSubagentSessions: true`. + - Глобальні типові налаштування: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`. + - Overrides для Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`. + - Автоматична прив’язка під час spawn: задайте `channels.discord.threadBindings.spawnSubagentSessions: true`. - Документація: [Sub-agents](/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), [Slash commands](/uk/tools/slash-commands). - + Спочатку перевірте визначений маршрут запитувача: - - Доставка subagent у режимі completion віддає перевагу будь-якому прив’язаному thread або маршруту conversation, якщо такий існує. - - Якщо джерело completion містить лише channel, OpenClaw використовує запасний маршрут із збереженого маршруту сесії запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все ще могла спрацювати. - - Якщо немає ні прив’язаного маршруту, ні придатного збереженого маршруту, пряма доставка може завершитися невдачею, і результат замість негайної публікації в чаті перейде до доставки через queued session. - - Некоректні або застарілі цілі все одно можуть примусово спричинити запасний перехід до queue або остаточну невдачу доставки. - - Якщо остання видима відповідь assistant у дочірньому процесі — це точний тихий токен `NO_REPLY` / `no_reply` або точно `ANNOUNCE_SKIP`, OpenClaw навмисно приглушує оголошення замість публікації застарілого попереднього прогресу. - - Якщо дочірній процес завершився за тайм-аутом після одних лише викликів інструментів, оголошення може згорнути це в короткий підсумок часткового прогресу замість відтворення сирого виводу інструментів. + - Доставка subagent у режимі completion надає перевагу будь-якому прив’язаному thread або маршруту conversation, якщо такий існує. + - Якщо джерело completion містить лише channel, OpenClaw повертається до збереженого маршруту сеансу запитувача (`lastChannel` / `lastTo` / `lastAccountId`), щоб пряма доставка все одно могла спрацювати. + - Якщо немає ані прив’язаного маршруту, ані придатного збереженого маршруту, пряма доставка може не спрацювати, і результат натомість повернеться до queued delivery сеансу, а не буде негайно опублікований у чаті. + - Недійсні або застарілі цілі все ще можуть примусити перехід до queue fallback або остаточного збою доставки. + - Якщо остання видима відповідь assistant дочірнього елемента — це точний silent token `NO_REPLY` / `no_reply` або рівно `ANNOUNCE_SKIP`, OpenClaw навмисно пригнічує announce, замість того щоб публікувати застарілий попередній прогрес. + - Якщо дочірній елемент перевищив час очікування після лише викликів інструментів, announce може згорнути це в короткий підсумок часткового прогресу замість відтворення сирого виводу інструментів. Налагодження: @@ -1073,19 +1073,19 @@ x-i18n: openclaw tasks show ``` - Документація: [Sub-agents](/uk/tools/subagents), [Фонові завдання](/uk/automation/tasks), [Session Tools](/uk/concepts/session-tool). + Документація: [Sub-agents](/uk/tools/subagents), [Фонові задачі](/uk/automation/tasks), [Інструменти сеансів](/uk/concepts/session-tool). Cron виконується всередині процесу Gateway. Якщо Gateway не працює безперервно, - заплановані завдання не запускатимуться. + заплановані завдання не виконуватимуться. - Чекліст: + Контрольний список: - - Переконайтеся, що Cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не задано. + - Підтвердьте, що cron увімкнено (`cron.enabled`) і `OPENCLAW_SKIP_CRON` не задано. - Перевірте, що Gateway працює 24/7 (без сну/перезапусків). - - Перевірте налаштування часового поясу для завдання (`--tz` порівняно з часовим поясом хоста). + - Перевірте налаштування timezone для завдання (`--tz` проти timezone хоста). Налагодження: @@ -1094,21 +1094,21 @@ x-i18n: openclaw cron runs --id --limit 50 ``` - Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation). + Документація: [Завдання Cron](/uk/automation/cron-jobs), [Автоматизація та задачі](/uk/automation). - + Спочатку перевірте режим доставки: - - `--no-deliver` / `delivery.mode: "none"` означає, що зовнішнє повідомлення не очікується. - - Відсутня або некоректна ціль оголошення (`channel` / `to`) означає, що runner пропустив вихідну доставку. - - Збої auth channel (`unauthorized`, `Forbidden`) означають, що runner спробував доставити, але облікові дані це заблокували. - - Тихий ізольований результат (`NO_REPLY` / `no_reply` only) вважається навмисно недоставлюваним, тож runner також приглушує запасну queued delivery. + - `--no-deliver` / `delivery.mode: "none"` означає, що жодне зовнішнє повідомлення не очікується. + - Відсутня або недійсна announce target (`channel` / `to`) означає, що runner пропустив вихідну доставку. + - Збої auth каналу (`unauthorized`, `Forbidden`) означають, що runner намагався виконати доставку, але облікові дані її заблокували. + - Тихий ізольований результат (`NO_REPLY` / `no_reply` only) вважається навмисно непридатним для доставки, тому runner також пригнічує queued fallback delivery. - Для ізольованих Cron jobs фінальною доставкою керує runner. Від agent очікується - повернення текстового підсумку для надсилання runner. - `--no-deliver` зберігає цей результат внутрішнім; він не дозволяє agent натомість надсилати напряму через + Для ізольованих завдань cron runner керує фінальною доставкою. Очікується, що agent + поверне простий текстовий підсумок, який runner надішле. `--no-deliver` залишає + цей результат внутрішнім; він не дозволяє agent натомість надсилати його безпосередньо через message tool. Налагодження: @@ -1118,27 +1118,27 @@ x-i18n: openclaw tasks show ``` - Документація: [Cron jobs](/uk/automation/cron-jobs), [Фонові завдання](/uk/automation/tasks). + Документація: [Завдання Cron](/uk/automation/cron-jobs), [Фонові задачі](/uk/automation/tasks). - - Зазвичай це шлях live-перемикання model, а не дубльоване планування. + + Зазвичай це шлях live model-switch, а не дубльоване планування. - Ізольований Cron може зберегти передачу runtime model і повторити запуск, коли активний - процес викидає `LiveSessionModelSwitchError`. Повторна спроба зберігає перемкнені - provider/model, а якщо перемикання також включало новий override профілю auth, Cron - теж зберігає його перед повтором. + Ізольований cron може зберегти runtime handoff моделі й виконати повторну спробу, коли активний + запуск викидає `LiveSessionModelSwitchError`. Повторна спроба зберігає перемкнені + provider/model, а якщо перемикання містило новий override auth profile, cron + також зберігає його перед повторною спробою. Пов’язані правила вибору: - - Спочатку має пріоритет override model Gmail hook, якщо застосовно. - - Потім `model` для конкретного завдання. - - Потім будь-який збережений override model cron-session. - - Потім звичайний вибір agent/default model. + - Override моделі Gmail hook має найвищий пріоритет, коли застосовний. + - Далі — `model` для окремого завдання. + - Потім — будь-який збережений override моделі сеансу cron. + - Потім — звичайний вибір моделі agent/за замовчуванням. - Цикл повторних спроб обмежений. Після початкової спроби плюс 2 повтори через перемикання - Cron перериває виконання замість нескінченного циклу. + Цикл повторних спроб обмежений. Після початкової спроби плюс 2 повторні спроби через перемикання + cron припиняє роботу замість нескінченного циклу. Налагодження: @@ -1147,13 +1147,13 @@ x-i18n: openclaw tasks show ``` - Документація: [Cron jobs](/uk/automation/cron-jobs), [cron CLI](/cli/cron). + Документація: [Завдання Cron](/uk/automation/cron-jobs), [CLI cron](/cli/cron). - Використовуйте нативні команди `openclaw skills` або розміщуйте skills у своєму workspace. UI Skills для macOS недоступний на Linux. - Переглядати skills можна на [https://clawhub.ai](https://clawhub.ai). + Використовуйте нативні команди `openclaw skills` або розміщуйте Skills у своєму workspace. UI Skills для macOS недоступний на Linux. + Переглянути Skills можна на [https://clawhub.ai](https://clawhub.ai). ```bash openclaw skills search "calendar" @@ -1166,41 +1166,41 @@ x-i18n: openclaw skills check ``` - Нативний `openclaw skills install` записує в каталог `skills/` - активного workspace. Встановлюйте окремий CLI `clawhub`, лише якщо хочете публікувати або - синхронізувати власні skills. Для спільних установлень між agents розміщуйте skill у + Нативна команда `openclaw skills install` записує у каталог `skills/` + активного workspace. Установлюйте окремий CLI `clawhub`, лише якщо хочете публікувати або + синхронізувати власні Skills. Для спільних установлень між agents розміщуйте skill у `~/.openclaw/skills` і використовуйте `agents.defaults.skills` або `agents.list[].skills`, якщо хочете обмежити, які agents можуть його бачити. - + Так. Використовуйте планувальник Gateway: - - **Cron jobs** для запланованих або повторюваних завдань (зберігаються після перезапусків). - - **Heartbeat** для періодичних перевірок "main session". - - **Ізольовані jobs** для автономних agents, які публікують підсумки або доставляють їх у чати. + - **Завдання Cron** для запланованих або повторюваних задач (зберігаються після перезапусків). + - **Heartbeat** для періодичних перевірок "основного сеансу". + - **Ізольовані завдання** для автономних agents, які публікують підсумки або доставляють їх у чати. - Документація: [Cron jobs](/uk/automation/cron-jobs), [Автоматизація та завдання](/uk/automation), + Документація: [Завдання Cron](/uk/automation/cron-jobs), [Автоматизація та задачі](/uk/automation), [Heartbeat](/uk/gateway/heartbeat). - - Не напряму. Навички macOS обмежуються через `metadata.openclaw.os` плюс необхідні бінарники, а навички з’являються в системному prompt лише тоді, коли вони придатні на **хості Gateway**. На Linux навички лише для `darwin` (як-от `apple-notes`, `apple-reminders`, `things-mac`) не завантажаться, якщо ви не перевизначите це обмеження. + + Не безпосередньо. Skills для macOS обмежуються `metadata.openclaw.os` разом із потрібними бінарними файлами, і Skills з’являються в system prompt лише тоді, коли вони придатні на **хості Gateway**. На Linux Skills лише для `darwin` (як-от `apple-notes`, `apple-reminders`, `things-mac`) не завантажуються, якщо ви не перевизначите це обмеження. - У вас є три підтримувані варіанти: + Є три підтримувані шаблони: - **Варіант A — запустити Gateway на Mac (найпростіше).** - Запустіть Gateway там, де існують бінарники macOS, а потім підключайтеся з Linux у [віддаленому режимі](#gateway-порти-вже-запущені-та-віддалений-режим) або через Tailscale. Навички завантажаться звичайним чином, тому що хост Gateway — це macOS. + **Варіант A — запускати Gateway на Mac (найпростіше).** + Запускайте Gateway там, де є бінарні файли macOS, а потім підключайтеся з Linux у [remote mode](#gateway-ports-already-running-and-remote-mode) або через Tailscale. Skills завантажуються звичайним чином, тому що хост Gateway — це macOS. - **Варіант B — використати macOS node (без SSH).** - Запустіть Gateway на Linux, під’єднайте macOS node (menubar app) і встановіть **Node Run Commands** у значення "Always Ask" або "Always Allow" на Mac. OpenClaw може вважати навички лише для macOS придатними, коли потрібні бінарники існують на node. Agent виконує ці навички через інструмент `nodes`. Якщо ви виберете "Always Ask", підтвердження "Always Allow" у prompt додасть цю команду до allowlist. + **Варіант B — використовувати Node macOS (без SSH).** + Запускайте Gateway на Linux, підключіть Node macOS (menubar app) і встановіть **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 @@ -1208,7 +1208,7 @@ x-i18n: exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@" ``` - 2. Додайте обгортку в `PATH` на хості Linux (наприклад, `~/bin/memo`). + 2. Додайте обгортку до `PATH` на хості Linux (наприклад, `~/bin/memo`). 3. Перевизначте metadata skill (workspace або `~/.openclaw/skills`), щоб дозволити Linux: ```markdown @@ -1219,39 +1219,39 @@ x-i18n: --- ``` - 4. Почніть нову session, щоб знімок skills оновився. + 4. Почніть новий сеанс, щоб знімок Skills оновився. - + Наразі вбудованої немає. Варіанти: - - **Користувацький skill / Plugin:** найкраще для надійного доступу до API (і Notion, і HeyGen мають API). + - **Власний skill / Plugin:** найкраще для надійного доступу до API (і Notion, і HeyGen мають API). - **Автоматизація браузера:** працює без коду, але повільніше й менш надійно. - Якщо ви хочете зберігати контекст окремо для кожного клієнта (робочі процеси agency), простий шаблон такий: + Якщо ви хочете зберігати контекст для кожного клієнта окремо (робочі процеси агентства), простий шаблон такий: - - Одна сторінка Notion на кожного клієнта (контекст + вподобання + активна робота). - - Попросіть agent отримувати цю сторінку на початку session. + - Одна сторінка Notion на клієнта (контекст + налаштування + активна робота). + - Попросіть agent отримувати цю сторінку на початку сеансу. - Якщо вам потрібна нативна інтеграція, створіть запит на нову функцію або зберіть skill, - орієнтований на ці API. + Якщо вам потрібна нативна інтеграція, створіть feature request або побудуйте skill, + націлений на ці API. - Установлення skills: + Установлення Skills: ```bash openclaw skills install openclaw skills update --all ``` - Нативні встановлення потрапляють у каталог `skills/` активного workspace. Для спільних skills між agents розміщуйте їх у `~/.openclaw/skills//SKILL.md`. Якщо спільне встановлення мають бачити лише деякі agents, налаштуйте `agents.defaults.skills` або `agents.list[].skills`. Деякі skills очікують наявності бінарників, установлених через Homebrew; на Linux це означає Linuxbrew (див. запис FAQ про Homebrew на Linux вище). Див. [Skills](/uk/tools/skills), [Конфігурація Skills](/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). - - Використовуйте вбудований профіль браузера `user`, який під’єднується через Chrome DevTools MCP: + + Використовуйте вбудований профіль браузера `user`, який підключається через Chrome DevTools MCP: ```bash openclaw browser --browser-profile user tabs @@ -1265,112 +1265,111 @@ x-i18n: openclaw browser --browser-profile chrome-live tabs ``` - Цей шлях локальний для хоста. Якщо Gateway працює деінде, або запустіть хост node на машині з браузером, або використовуйте віддалений CDP. + Цей шлях є локальним для хоста. Якщо Gateway запущено деінде, або запускайте хост Node на машині з браузером, або використовуйте віддалений CDP. - Поточні обмеження для `existing-session` / `user`: + Поточні обмеження `existing-session` / `user`: - - дії прив’язані до `ref`, а не до CSS-селекторів + - дії виконуються через ref, а не через CSS-selector - завантаження файлів потребує `ref` / `inputRef` і наразі підтримує лише один файл за раз - `responsebody`, експорт PDF, перехоплення завантажень і пакетні дії все ще потребують керованого браузера або сирого профілю CDP -## Ізоляція та memory +## Ізоляція та пам’ять - - Так. Див. [Ізоляція](/uk/gateway/sandboxing). Для налаштування, специфічного для Docker (повний gateway у Docker або образи sandbox), див. [Docker](/uk/install/docker). + + Так. Див. [Ізоляція](/uk/gateway/sandboxing). Для специфічного налаштування Docker (повний Gateway у Docker або образи sandbox) див. [Docker](/uk/install/docker). - - Образ за замовчуванням орієнтований насамперед на безпеку та працює від імені користувача `node`, тому не - містить системних пакетів, Homebrew чи bundled браузерів. Для повнішого налаштування: + + Типовий образ орієнтований на безпеку й запускається від користувача `node`, тому він не + містить системних пакетів, Homebrew або вбудованих браузерів. Для повнішого налаштування: - Зберігайте `/home/node` через `OPENCLAW_HOME_VOLUME`, щоб кеші не зникали. - - Вбудуйте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`. - - Установіть браузери Playwright через bundled CLI: + - Вбудовуйте системні залежності в образ через `OPENCLAW_DOCKER_APT_PACKAGES`. + - Установіть браузери Playwright через вбудований CLI: `node /app/node_modules/playwright-core/cli.js install chromium` - Задайте `PLAYWRIGHT_BROWSERS_PATH` і переконайтеся, що цей шлях зберігається. - Документація: [Docker](/uk/install/docker), [Browser](/uk/tools/browser). + Документація: [Docker](/uk/install/docker), [Браузер](/uk/tools/browser). - - Так — якщо ваш приватний трафік — це **DM**, а публічний трафік — **groups**. + + Так — якщо ваш приватний трафік — це **DM**, а публічний трафік — це **групи**. - Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб sessions груп/channel (ключі не-main) працювали в Docker, тоді як main DM session залишалася на хості. Потім обмежте, які інструменти доступні в ізольованих sessions, через `tools.sandbox.tools`. + Використовуйте `agents.defaults.sandbox.mode: "non-main"`, щоб сеанси груп/channel (ключі не-main) запускалися в Docker, а основний сеанс DM залишався на хості. Потім обмежте, які інструменти доступні в ізольованих сеансах, через `tools.sandbox.tools`. - Покрокове налаштування + приклад config: [Groups: особисті DM + публічні групи](/uk/channels/groups#pattern-personal-dms-public-groups-single-agent) + Покрокове налаштування + приклад конфігурації: [Групи: особисті DM + публічні групи](/uk/channels/groups#pattern-personal-dms-public-groups-single-agent) - Довідка щодо ключової config: [Конфігурація 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"`). Глобальні прив’язки й прив’язки для окремого agent об’єднуються; прив’язки окремого agent ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять межі файлової системи sandbox. + Задайте `agents.defaults.sandbox.docker.binds` як `["host:path:mode"]` (наприклад, `"/home/user/src:/src:ro"`). Глобальні прив’язки та прив’язки на рівні agent об’єднуються; прив’язки на рівні agent ігноруються, коли `scope: "shared"`. Використовуйте `:ro` для всього чутливого й пам’ятайте, що прив’язки обходять файлові межі sandbox. - OpenClaw перевіряє джерела bind як за нормалізованим шляхом, так і за canonical path, визначеним через найглибший наявний предок. Це означає, що виходи через symlink-батьківський каталог усе одно надійно блокуються, навіть коли останній сегмент шляху ще не існує, а перевірки allowed-root також застосовуються після розв’язання symlink. + OpenClaw перевіряє джерела bind за нормалізованим шляхом і за канонічним шляхом, визначеним через найглибший наявний батьківський елемент. Це означає, що виходи через symlink-батьківський шлях усе одно блокуються за принципом fail closed, навіть коли останній сегмент шляху ще не існує, а перевірки allowed-root усе одно застосовуються після розв’язання symlink. - Приклади та примітки з безпеки див. у [Ізоляція](/uk/gateway/sandboxing#custom-bind-mounts) і [Sandbox vs Tool Policy vs Elevated](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check). + Див. [Ізоляція](/uk/gateway/sandboxing#custom-bind-mounts) і [Sandbox vs Tool Policy vs Elevated](/uk/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для прикладів і приміток із безпеки. - - Memory OpenClaw — це просто Markdown-файли в workspace agent: + + Пам’ять OpenClaw — це просто файли Markdown у workspace agent: - Щоденні нотатки в `memory/YYYY-MM-DD.md` - - Добірні довгострокові нотатки в `MEMORY.md` (лише main/private sessions) + - Кураторські довгострокові нотатки в `MEMORY.md` (лише для main/private sessions) - OpenClaw також виконує **тихий flush memory перед Compaction**, щоб нагадати моделі - записати стійкі нотатки перед автоматичним Compaction. Це запускається лише тоді, коли workspace - доступний для запису (sandbox у режимі лише читання це пропускають). Див. [Memory](/uk/concepts/memory). + OpenClaw також виконує **тихе попереднє скидання пам’яті перед Compaction**, щоб нагадати моделі + записати стійкі нотатки перед автоматичним Compaction. Це працює лише тоді, коли workspace + доступний для запису (sandbox у режимі лише читання пропускають це). Див. [Пам’ять](/uk/concepts/memory). - - Попросіть бота **записати факт у memory**. Довгострокові нотатки мають бути в `MEMORY.md`, + + Попросіть бота **записати факт у пам’ять**. Довгострокові нотатки мають зберігатися в `MEMORY.md`, короткостроковий контекст — у `memory/YYYY-MM-DD.md`. - Це все ще область, яку ми покращуємо. Допомагає нагадувати моделі зберігати memory; - вона знатиме, що робити. Якщо вона все одно забуває, перевірте, що Gateway використовує той самий + Це все ще напрям, який ми вдосконалюємо. Корисно нагадувати моделі зберігати спогади; + вона знатиме, що робити. Якщо вона й далі забуває, перевірте, що Gateway використовує той самий workspace під час кожного запуску. - Документація: [Memory](/uk/concepts/memory), [Робочий простір agent](/uk/concepts/agent-workspace). + Документація: [Пам’ять](/uk/concepts/memory), [Workspace agent](/uk/concepts/agent-workspace). - - Файли memory живуть на диску й зберігаються, доки ви їх не видалите. Обмеженням є ваше - сховище, а не модель. **Контекст session** усе ще обмежений вікном контексту - моделі, тому довгі розмови можуть проходити через Compaction або обрізання. Саме тому - існує пошук у memory — він повертає в контекст лише релевантні частини. + + Файли пам’яті зберігаються на диску й існують, доки ви їх не видалите. Обмеженням є ваше + сховище, а не модель. **Контекст сеансу** все одно обмежений + вікном context моделі, тому довгі розмови можуть стискатися або обрізатися. Саме тому + існує пошук у пам’яті — він повертає в контекст лише релевантні частини. - Документація: [Memory](/uk/concepts/memory), [Контекст](/uk/concepts/context). + Документація: [Пам’ять](/uk/concepts/memory), [Контекст](/uk/concepts/context). - + Лише якщо ви використовуєте **OpenAI embeddings**. OAuth Codex покриває chat/completions і - **не** надає доступу до embeddings, тому **вхід через Codex (OAuth або - вхід через Codex CLI)** не допоможе для семантичного пошуку в memory. Для embeddings OpenAI - усе одно потрібен справжній API-ключ (`OPENAI_API_KEY` або `models.providers.openai.apiKey`). + **не** надає доступу до embeddings, тож **вхід через Codex (OAuth або + вхід через Codex CLI)** не допомагає для семантичного пошуку в пам’яті. Для OpenAI embeddings + усе одно потрібен справжній API key (`OPENAI_API_KEY` або `models.providers.openai.apiKey`). Якщо ви явно не задаєте provider, OpenClaw автоматично вибирає provider, коли - може визначити API-ключ (auth profiles, `models.providers.*.apiKey` або env vars). - Він віддає перевагу OpenAI, якщо визначено ключ OpenAI, інакше Gemini, якщо ключ Gemini - визначено, потім Voyage, потім Mistral. Якщо віддалений ключ недоступний, пошук у memory - залишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштовано й наявний - шлях до локальної моделі, OpenClaw - віддає перевагу `local`. Ollama підтримується, якщо ви явно задаєте + може визначити API key (auth profiles, `models.providers.*.apiKey` або env vars). + Він надає перевагу OpenAI, якщо вдається визначити ключ OpenAI, інакше Gemini, якщо вдається визначити ключ Gemini, + потім Voyage, потім Mistral. Якщо жоден віддалений ключ недоступний, пошук у пам’яті + залишається вимкненим, доки ви його не налаштуєте. Якщо у вас налаштовано й наявний шлях до локальної моделі, OpenClaw + надає перевагу `local`. Ollama підтримується, якщо ви явно задаєте `memorySearch.provider = "ollama"`. - Якщо ви хочете залишитися локально, задайте `memorySearch.provider = "local"` (і за бажанням - `memorySearch.fallback = "none"`). Якщо вам потрібні embeddings Gemini, задайте + Якщо ви хочете залишатися локально, задайте `memorySearch.provider = "local"` (і за потреби + `memorySearch.fallback = "none"`). Якщо вам потрібні Gemini embeddings, задайте `memorySearch.provider = "gemini"` і надайте `GEMINI_API_KEY` (або `memorySearch.remote.apiKey`). Ми підтримуємо embedding-моделі **OpenAI, Gemini, Voyage, Mistral, Ollama або local** — - деталі налаштування див. у [Memory](/uk/concepts/memory). + див. [Пам’ять](/uk/concepts/memory) для деталей налаштування. @@ -1378,52 +1377,52 @@ x-i18n: ## Де що зберігається на диску - + Ні — **стан OpenClaw локальний**, але **зовнішні сервіси все одно бачать те, що ви їм надсилаєте**. - - **Локально за замовчуванням:** sessions, файли memory, config і workspace живуть на хості Gateway + - **Локально за замовчуванням:** sessions, файли пам’яті, config і workspace зберігаються на хості Gateway (`~/.openclaw` + каталог вашого workspace). - - **Віддалено за необхідністю:** повідомлення, які ви надсилаєте провайдерам моделей (Anthropic/OpenAI тощо), передаються - до їхніх API, а chat-платформи (WhatsApp/Telegram/Slack тощо) зберігають дані повідомлень на + - **Віддалено за необхідністю:** повідомлення, які ви надсилаєте провайдерам моделей (Anthropic/OpenAI тощо), надходять до + їхніх API, а chat platforms (WhatsApp/Telegram/Slack тощо) зберігають дані повідомлень на своїх серверах. - - **Ви керуєте слідом:** використання локальних моделей залишає prompt на вашій машині, але трафік - channel все одно проходить через сервери відповідного channel. + - **Ви контролюєте масштаб:** використання локальних моделей залишає prompts на вашій машині, але трафік + channel усе одно проходить через сервери відповідного каналу. - Пов’язане: [Робочий простір agent](/uk/concepts/agent-workspace), [Memory](/uk/concepts/memory). + Пов’язане: [Workspace agent](/uk/concepts/agent-workspace), [Пам’ять](/uk/concepts/memory). Усе зберігається в `$OPENCLAW_STATE_DIR` (типово: `~/.openclaw`): - | Path | Призначення | - | --------------------------------------------------------------- | ------------------------------------------------------------------ | - | `$OPENCLAW_STATE_DIR/openclaw.json` | Основна config (JSON5) | - | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Застарілий імпорт OAuth (копіюється в auth profiles під час першого використання) | - | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | Auth profiles (OAuth, API-ключі та необов’язкові `keyRef`/`tokenRef`) | - | `$OPENCLAW_STATE_DIR/secrets.json` | Необов’язковий file-backed payload секретів для провайдерів `file` SecretRef | - | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | Застарілий файл сумісності (статичні записи `api_key` очищуються) | - | `$OPENCLAW_STATE_DIR/credentials/` | Стан провайдера (наприклад, `whatsapp//creds.json`) | - | `$OPENCLAW_STATE_DIR/agents/` | Стан для кожного agent (agentDir + sessions) | - | `$OPENCLAW_STATE_DIR/agents//sessions/` | Історія розмов і стан (для кожного agent) | - | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані session (для кожного agent) | + | Path | Призначення | + | --------------------------------------------------------------- | ----------------------------------------------------------------- | + | `$OPENCLAW_STATE_DIR/openclaw.json` | Основний config (JSON5) | + | `$OPENCLAW_STATE_DIR/credentials/oauth.json` | Legacy OAuth import (копіюється в auth profiles під час першого використання) | + | `$OPENCLAW_STATE_DIR/agents//agent/auth-profiles.json` | Auth profiles (OAuth, API keys і необов’язкові `keyRef`/`tokenRef`) | + | `$OPENCLAW_STATE_DIR/secrets.json` | Необов’язкове файлове корисне навантаження secret для провайдерів `file` SecretRef | + | `$OPENCLAW_STATE_DIR/agents//agent/auth.json` | Legacy compatibility file (статичні записи `api_key` очищаються) | + | `$OPENCLAW_STATE_DIR/credentials/` | Стан provider (наприклад, `whatsapp//creds.json`) | + | `$OPENCLAW_STATE_DIR/agents/` | Стан для кожного agent (agentDir + sessions) | + | `$OPENCLAW_STATE_DIR/agents//sessions/` | History та стан розмов (для кожного agent) | + | `$OPENCLAW_STATE_DIR/agents//sessions/sessions.json` | Метадані sessions (для кожного agent) | - Застарілий шлях для single-agent: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`). + Шлях legacy single-agent: `~/.openclaw/agent/*` (мігрується командою `openclaw doctor`). - Ваш **workspace** (`AGENTS.md`, файли memory, skills тощо) зберігається окремо й налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`). + Ваш **workspace** (`AGENTS.md`, файли пам’яті, Skills тощо) зберігається окремо та налаштовується через `agents.defaults.workspace` (типово: `~/.openclaw/workspace`). - Ці файли зберігаються в **workspace agent**, а не в `~/.openclaw`. + Ці файли зберігаються у **workspace agent**, а не в `~/.openclaw`. - **Workspace (для кожного agent):** `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`, - `MEMORY.md` (або застарілий запасний варіант `memory.md`, якщо `MEMORY.md` відсутній), + `MEMORY.md` (або legacy fallback `memory.md`, коли `MEMORY.md` відсутній), `memory/YYYY-MM-DD.md`, необов’язковий `HEARTBEAT.md`. - - **State dir (`~/.openclaw`)**: config, стан channel/provider, auth profiles, sessions, логи, - і спільні skills (`~/.openclaw/skills`). + - **Каталог state (`~/.openclaw`)**: config, стан channel/provider, auth profiles, sessions, журнали + і спільні Skills (`~/.openclaw/skills`). - Типовий workspace — `~/.openclaw/workspace`, налаштовується через: + Типовий workspace: `~/.openclaw/workspace`, налаштовується через: ```json5 { @@ -1432,26 +1431,26 @@ x-i18n: ``` Якщо бот "забуває" після перезапуску, переконайтеся, що Gateway використовує той самий - workspace під час кожного запуску (і пам’ятайте: віддалений режим використовує **workspace хоста gateway**, + workspace під час кожного запуску (і пам’ятайте: remote mode використовує **workspace хоста gateway**, а не вашого локального ноутбука). Порада: якщо ви хочете зберегти поведінку або вподобання надовго, попросіть бота **записати це в - AGENTS.md або MEMORY.md**, а не покладатися на історію чату. + AGENTS.md або MEMORY.md**, а не покладайтеся на history чату. - Див. [Робочий простір agent](/uk/concepts/agent-workspace) і [Memory](/uk/concepts/memory). + Див. [Workspace agent](/uk/concepts/agent-workspace) і [Пам’ять](/uk/concepts/memory). - Помістіть свій **workspace agent** у **приватний** git-репозиторій і зберігайте резервну копію десь - у приватному місці (наприклад, GitHub private). Це збереже memory + файли AGENTS/SOUL/USER - й дозволить пізніше відновити "розум" помічника. + Розмістіть свій **workspace agent** у **приватному** git-репозиторії та робіть його резервні копії в + приватному місці (наприклад, GitHub private). Це охоплює memory + файли AGENTS/SOUL/USER + і дозволяє пізніше відновити "розум" assistant. - **Не** робіть commit нічого з `~/.openclaw` (облікові дані, sessions, токени або зашифровані payload секретів). - Якщо вам потрібне повне відновлення, окремо зробіть резервну копію і workspace, і state directory + **Не** виконуйте commit для будь-чого з `~/.openclaw` (облікові дані, sessions, tokens або зашифровані payload secret). + Якщо вам потрібне повне відновлення, окремо робіть резервні копії і workspace, і каталогу state (див. питання про міграцію вище). - Документація: [Робочий простір agent](/uk/concepts/agent-workspace). + Документація: [Workspace agent](/uk/concepts/agent-workspace). @@ -1460,13 +1459,13 @@ x-i18n: - Так. Workspace — це **типовий cwd** і прив’язка для memory, а не жорсткий sandbox. - Відносні шляхи розв’язуються всередині workspace, але абсолютні шляхи можуть звертатися до інших - розташувань хоста, якщо sandbox не увімкнено. Якщо вам потрібна ізоляція, використовуйте + Так. Workspace — це **типовий cwd** і якір пам’яті, а не жорстка sandbox. + Відносні шляхи розв’язуються в межах workspace, але абсолютні шляхи можуть отримувати доступ до інших + розташувань хоста, якщо sandboxing не ввімкнено. Якщо вам потрібна ізоляція, використовуйте [`agents.defaults.sandbox`](/uk/gateway/sandboxing) або налаштування sandbox для окремого agent. Якщо ви - хочете, щоб репозиторій був типовим робочим каталогом, укажіть `workspace` + хочете, щоб репозиторій був типовим робочим каталогом, вкажіть `workspace` цього agent на корінь репозиторію. Репозиторій OpenClaw — це лише вихідний код; тримайте - workspace окремо, якщо тільки ви навмисно не хочете, щоб agent працював усередині нього. + workspace окремо, якщо ви свідомо не хочете, щоб agent працював усередині нього. Приклад (репозиторій як типовий cwd): @@ -1482,30 +1481,30 @@ x-i18n: - - Стан session належить **хосту gateway**. Якщо ви працюєте у віддаленому режимі, потрібне вам сховище session знаходиться на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування session](/uk/concepts/session). + + Стан sessions належить **хосту gateway**. Якщо ви використовуєте remote mode, потрібне вам сховище sessions розташоване на віддаленій машині, а не на вашому локальному ноутбуці. Див. [Керування сеансами](/uk/concepts/session). ## Основи config - - OpenClaw читає необов’язкову config **JSON5** з `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`): + + OpenClaw читає необов’язковий config **JSON5** з `$OPENCLAW_CONFIG_PATH` (типово: `~/.openclaw/openclaw.json`): ``` $OPENCLAW_CONFIG_PATH ``` - Якщо файл відсутній, використовуються відносно безпечні значення за замовчуванням (зокрема типовий workspace `~/.openclaw/workspace`). + Якщо файл відсутній, використовуються досить безпечні значення за замовчуванням (зокрема типовий workspace `~/.openclaw/workspace`). - - Прив’язки не до loopback **потребують коректного шляху auth gateway**. На практиці це означає: + + Прив’язки не-loopback **потребують коректного шляху auth gateway**. На практиці це означає: - - auth через shared secret: токен або пароль - - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим identity-aware reverse proxy не на loopback + - auth зі shared secret: token або password + - `gateway.auth.mode: "trusted-proxy"` за правильно налаштованим identity-aware reverse proxy не в режимі loopback ```json5 { @@ -1521,31 +1520,31 @@ x-i18n: Примітки: - - `gateway.remote.token` / `.password` **самі по собі** не вмикають локальну auth gateway. - - Локальні шляхи виклику можуть використовувати `gateway.remote.*` як запасний варіант лише тоді, коли `gateway.auth.*` не задано. - - Для auth через пароль задайте `gateway.auth.mode: "password"` плюс `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). - - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і його не вдається розв’язати, розв’язання надійно завершується помилкою (без прихованого запасного варіанта через remote). - - Налаштування Control UI через shared secret проходять автентифікацію через `connect.params.auth.token` або `connect.params.auth.password` (зберігаються в налаштуваннях app/UI). Режими з ідентичністю, як-от Tailscale Serve або `trusted-proxy`, натомість використовують заголовки запиту. Не розміщуйте shared secrets в URL. - - З `gateway.auth.mode: "trusted-proxy"` reverse proxy loopback на тому самому хості **все одно** не задовольняють auth trusted-proxy. Trusted proxy має бути налаштованим джерелом не на loopback. + - `gateway.remote.token` / `.password` самі по собі **не** вмикають auth локального gateway. + - Локальні шляхи виклику можуть використовувати `gateway.remote.*` як fallback лише тоді, коли `gateway.auth.*` не задано. + - Для auth через password задайте `gateway.auth.mode: "password"` разом із `gateway.auth.password` (або `OPENCLAW_GATEWAY_PASSWORD`). + - Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і його не вдається визначити, визначення завершується fail closed (без маскування через remote fallback). + - Конфігурації Control UI зі shared secret проходять автентифікацію через `connect.params.auth.token` або `connect.params.auth.password` (зберігаються в налаштуваннях app/UI). Режими з передаванням ідентичності, як-от Tailscale Serve або `trusted-proxy`, натомість використовують заголовки запиту. Уникайте розміщення shared secrets в URL. + - З `gateway.auth.mode: "trusted-proxy"` reverse proxy loopback на тому ж хості все одно **не** задовольняють auth trusted-proxy. Trusted proxy має бути налаштованим джерелом не-loopback. - - OpenClaw примусово вимагає auth gateway за замовчуванням, зокрема й на loopback. У звичайному типовому сценарії це означає auth через токен: якщо явний шлях auth не налаштовано, під час запуску gateway вибирається режим token і токен генерується автоматично, зберігаючись у `gateway.auth.token`, тож **локальні WS-клієнти мають проходити автентифікацію**. Це блокує інші локальні процеси від виклику Gateway. + + OpenClaw типово примусово застосовує auth gateway, зокрема для loopback. У звичайному типовому сценарії це означає auth через token: якщо не налаштовано явний шлях auth, під час запуску gateway використовується режим token і token генерується автоматично зі збереженням у `gateway.auth.token`, тому **локальні WS-клієнти мають проходити автентифікацію**. Це блокує іншим локальним процесам можливість викликати Gateway. - Якщо вам потрібен інший шлях auth, ви можете явно вибрати режим password (або, для identity-aware reverse proxy не на loopback, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у config. Doctor може згенерувати токен у будь-який момент: `openclaw doctor --generate-gateway-token`. + Якщо ви надаєте перевагу іншому шляху auth, можна явно вибрати режим password (або, для non-loopback identity-aware reverse proxy, `trusted-proxy`). Якщо ви **справді** хочете відкритий loopback, явно задайте `gateway.auth.mode: "none"` у своєму config. Doctor може будь-коли згенерувати token для вас: `openclaw doctor --generate-gateway-token`. Gateway відстежує config і підтримує hot-reload: - - `gateway.reload.mode: "hybrid"` (типово): безпечно застосовує зміни на гарячу, а для критичних виконує перезапуск + - `gateway.reload.mode: "hybrid"` (типово): безпечні зміни застосовуються гаряче, для критичних виконується перезапуск - також підтримуються `hot`, `restart`, `off` - + Задайте `cli.banner.taglineMode` у config: ```json5 @@ -1558,24 +1557,24 @@ x-i18n: } ``` - - `off`: приховує текст слогана, але залишає рядок із назвою banner/версією. + - `off`: приховує текст tagline, але залишає рядок назви/версії банера. - `default`: щоразу використовує `All your chats, one OpenClaw.`. - - `random`: чергування кумедних/сезонних слоганів (типова поведінка). - - Якщо ви не хочете banner взагалі, задайте env `OPENCLAW_HIDE_BANNER=1`. + - `random`: ротація кумедних/сезонних tagline (типова поведінка). + - Якщо ви взагалі не хочете банер, задайте 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`. - - DuckDuckGo не потребує ключа, але це неофіційна інтеграція на основі HTML. - - SearXNG не потребує ключа/може бути self-hosted; налаштуйте `SEARXNG_BASE_URL` або `plugins.entries.searxng.config.webSearch.baseUrl`. + - Провайдери на основі API, такі як Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Perplexity і Tavily, вимагають звичайного налаштування API key. + - Ollama Web Search не потребує key, але використовує налаштований вами хост Ollama і вимагає `ollama signin`. + - DuckDuckGo не потребує key, але це неофіційна інтеграція на основі HTML. + - SearXNG не потребує key / є self-hosted; налаштуйте `SEARXNG_BASE_URL` або `plugins.entries.searxng.config.webSearch.baseUrl`. **Рекомендовано:** виконайте `openclaw configure --section web` і виберіть provider. - Альтернативи через середовище: + Альтернативи через environment: - Brave: `BRAVE_API_KEY` - Exa: `EXA_API_KEY` @@ -1610,7 +1609,7 @@ x-i18n: }, fetch: { enabled: true, - provider: "firecrawl", // необов’язково; пропустіть для auto-detect + provider: "firecrawl", // optional; omit for auto-detect }, }, }, @@ -1618,49 +1617,49 @@ x-i18n: ``` Конфігурація web-search, специфічна для provider, тепер розміщується в `plugins.entries..config.webSearch.*`. - Застарілі шляхи provider `tools.web.search.*` усе ще тимчасово завантажуються для сумісності, але їх не слід використовувати в нових config. - Запасна config web-fetch Firecrawl розміщується в `plugins.entries.firecrawl.config.webFetch.*`. + Legacy-шляхи provider у `tools.web.search.*` усе ще тимчасово завантажуються для сумісності, але їх не слід використовувати в нових config. + Конфігурація fallback для Firecrawl web-fetch розміщується в `plugins.entries.firecrawl.config.webFetch.*`. Примітки: - Якщо ви використовуєте allowlist, додайте `web_search`/`web_fetch`/`x_search` або `group:web`. - - `web_fetch` увімкнено за замовчуванням (якщо його явно не вимкнено). - - Якщо `tools.web.fetch.provider` пропущено, OpenClaw автоматично визначає першого готового запасного provider fetch зі доступних облікових даних. Наразі bundled provider — це Firecrawl. - - Демони читають env vars з `~/.openclaw/.env` (або із середовища сервісу). + - `web_fetch` увімкнено за замовчуванням (якщо його не вимкнено явно). + - Якщо `tools.web.fetch.provider` не вказано, OpenClaw автоматично визначає перший готовий fallback provider для fetch із доступних облікових даних. Наразі вбудованим provider є Firecrawl. + - Daemon читають env vars з `~/.openclaw/.env` (або середовища сервісу). Документація: [Web tools](/uk/tools/web). - - `config.apply` замінює **всю config цілком**. Якщо ви надсилаєте частковий об’єкт, усе + + `config.apply` замінює **весь config**. Якщо ви надсилаєте частковий об’єкт, усе інше видаляється. Відновлення: - Відновіть із резервної копії (git або скопійований `~/.openclaw/openclaw.json`). - - Якщо резервної копії немає, повторно запустіть `openclaw doctor` і знову налаштуйте channels/models. - - Якщо це було неочікувано, створіть bug report і додайте свою останню відому config або будь-яку резервну копію. - - Локальний coding agent часто може відновити робочу config із логів або історії. + - Якщо резервної копії немає, повторно виконайте `openclaw doctor` і заново налаштуйте channels/models. + - Якщо це було неочікувано, створіть bug report і додайте останній відомий config або будь-яку резервну копію. + - Локальний coding agent часто може відновити робочий config із журналів або history. Як уникнути: - - Використовуйте `openclaw config set` для невеликих змін. - - Використовуйте `openclaw configure` для інтерактивного редагування. - - Спочатку використовуйте `config.schema.lookup`, коли ви не впевнені в точному шляху чи формі поля; він повертає вузол неглибокої schema плюс підсумки безпосередніх дочірніх елементів для покрокового заглиблення. - - Використовуйте `config.patch` для часткових редагувань через RPC; залишайте `config.apply` лише для повної заміни config. - - Якщо ви використовуєте інструмент `gateway` лише для owner з запуску agent, він усе одно відхилятиме записи в `tools.exec.ask` / `tools.exec.security` (зокрема застарілі псевдоніми `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec). + - Для невеликих змін використовуйте `openclaw config set`. + - Для інтерактивного редагування використовуйте `openclaw configure`. + - Спочатку використовуйте `config.schema.lookup`, якщо не впевнені щодо точного шляху або форми поля; він повертає вузол неглибокої schema плюс підсумки безпосередніх дочірніх елементів для подальшого заглиблення. + - Для часткових редагувань через RPC використовуйте `config.patch`; залиште `config.apply` лише для повної заміни config. + - Якщо ви використовуєте доступний лише owner інструмент `gateway` із запуску agent, він усе одно відхилятиме записи в `tools.exec.ask` / `tools.exec.security` (включно з legacy-псевдонімами `tools.bash.*`, які нормалізуються до тих самих захищених шляхів exec). Документація: [Config](/cli/config), [Configure](/cli/configure), [Doctor](/uk/gateway/doctor). - Типовий шаблон — **один Gateway** (наприклад, Raspberry Pi) плюс **nodes** і **agents**: + Типовий шаблон — **один Gateway** (наприклад, Raspberry Pi) плюс **Nodes** і **agents**: - - **Gateway (центральний):** керує channels (Signal/WhatsApp), маршрутизацією і sessions. - - **Nodes (пристрої):** Mac/iOS/Android підключаються як периферія і надають локальні інструменти (`system.run`, `canvas`, `camera`). - - **Agents (workers):** окремі "мізки"/workspace для спеціальних ролей (наприклад, "Hetzner ops", "Особисті дані"). + - **Gateway (центральний):** володіє channels (Signal/WhatsApp), routing і sessions. + - **Nodes (пристрої):** Mac/iOS/Android підключаються як периферійні пристрої й надають локальні інструменти (`system.run`, `canvas`, `camera`). + - **Agents (workers):** окремі мозки/workspaces для спеціальних ролей (наприклад, "Hetzner ops", "Personal data"). - **Sub-agents:** запускають фонову роботу з main agent, коли вам потрібен паралелізм. - **TUI:** підключається до Gateway і перемикає agents/sessions. @@ -1668,7 +1667,7 @@ x-i18n: - + Так. Це параметр config: ```json5 @@ -1682,154 +1681,154 @@ x-i18n: } ``` - Типове значення — `false` (із видимим вікном). Headless-режим з більшою ймовірністю викликає anti-bot перевірки на деяких сайтах. Див. [Browser](/uk/tools/browser). + Типове значення — `false` (із графічним інтерфейсом). Режим headless з більшою ймовірністю активує перевірки anti-bot на деяких сайтах. Див. [Браузер](/uk/tools/browser). - Headless використовує **той самий рушій Chromium** і працює для більшості сценаріїв автоматизації (форми, кліки, scraping, входи). Основні відмінності: + У режимі headless використовується **той самий рушій Chromium** і він підходить для більшості сценаріїв автоматизації (форми, кліки, скрапінг, входи). Основні відмінності: - - Немає видимого вікна браузера (використовуйте знімки екрана, якщо потрібна візуалізація). - - Деякі сайти суворіше ставляться до автоматизації в headless-режимі (CAPTCHA, anti-bot). - Наприклад, X/Twitter часто блокує headless sessions. + - Немає видимого вікна браузера (використовуйте знімки екрана, якщо вам потрібна візуалізація). + - Деякі сайти суворіше ставляться до автоматизації в режимі headless (CAPTCHA, anti-bot). + Наприклад, X/Twitter часто блокує сеанси headless. - Установіть `browser.executablePath` на ваш бінарник Brave (або будь-який браузер на базі Chromium) і перезапустіть Gateway. - Повні приклади config див. у [Browser](/uk/tools/browser#use-brave-or-another-chromium-based-browser). + Задайте `browser.executablePath` для вашого бінарного файла Brave (або будь-якого браузера на основі Chromium) і перезапустіть Gateway. + Див. повні приклади config у [Браузер](/uk/tools/browser#use-brave-or-another-chromium-based-browser). -## Віддалені gateway і nodes +## Віддалені Gateway і Nodes - - Повідомлення Telegram обробляє **gateway**. Gateway запускає agent і + + Повідомлення Telegram обробляються **gateway**. Gateway запускає agent і лише потім викликає nodes через **Gateway WebSocket**, коли потрібен інструмент node: Telegram → Gateway → Agent → `node.*` → Node → Gateway → Telegram - Nodes не бачать вхідний трафік provider; вони отримують лише виклики node RPC. + Nodes не бачать вхідний трафік provider; вони отримують лише виклики RPC node. - Коротка відповідь: **під’єднайте свій комп’ютер як node**. Gateway працює деінде, але може - викликати інструменти `node.*` (екран, камера, система) на вашій локальній машині через Gateway WebSocket. + Коротка відповідь: **підключіть ваш комп’ютер як Node**. Gateway працює в іншому місці, але може + викликати інструменти `node.*` (screen, camera, system) на вашій локальній машині через Gateway WebSocket. Типове налаштування: - 1. Запустіть Gateway на завжди ввімкненому хості (VPS/домашній сервер). + 1. Запустіть Gateway на завжди увімкненому хості (VPS/домашній сервер). 2. Підключіть хост Gateway і ваш комп’ютер до однієї tailnet. - 3. Переконайтеся, що WS Gateway доступний (прив’язка tailnet або SSH tunnel). - 4. Відкрийте локально macOS app і підключіться в режимі **Remote over SSH** (або напряму через tailnet), - щоб він міг зареєструватися як node. - 5. Схваліть node на Gateway: + 3. Переконайтеся, що Gateway WS доступний (прив’язка tailnet або SSH tunnel). + 4. Локально відкрийте застосунок macOS і підключіться в режимі **Remote over SSH** (або безпосередньо через tailnet), + щоб він міг зареєструватися як Node. + 5. Схваліть Node на Gateway: ```bash openclaw devices list openclaw devices approve ``` - Окремий TCP bridge не потрібен; nodes підключаються через Gateway WebSocket. + Окремий TCP bridge не потрібен; Nodes підключаються через Gateway WebSocket. - Нагадування щодо безпеки: під’єднання node macOS дозволяє `system.run` на цій машині. Підключайте - лише пристрої, яким довіряєте, і перегляньте [Security](/uk/gateway/security). + Нагадування щодо безпеки: підключення Node macOS дозволяє `system.run` на цій машині. Підключайте + лише пристрої, яким ви довіряєте, і перегляньте [Безпека](/uk/gateway/security). - Документація: [Nodes](/uk/nodes), [Протокол Gateway](/uk/gateway/protocol), [macOS remote mode](/uk/platforms/mac/remote), [Security](/uk/gateway/security). + Документація: [Nodes](/uk/nodes), [Протокол Gateway](/uk/gateway/protocol), [Віддалений режим macOS](/uk/platforms/mac/remote), [Безпека](/uk/gateway/security). - - Перевірте основи: + + Перевірте базові речі: - Gateway працює: `openclaw gateway status` - Стан Gateway: `openclaw status` - Стан channel: `openclaw channels status` - Потім перевірте auth і маршрутизацію: + Потім перевірте auth і routing: - Якщо ви використовуєте Tailscale Serve, переконайтеся, що `gateway.auth.allowTailscale` налаштовано правильно. - - Якщо ви підключаєтеся через SSH tunnel, переконайтеся, що локальний tunnel працює і вказує на правильний порт. + - Якщо ви підключаєтеся через SSH tunnel, підтвердьте, що локальний tunnel активний і вказує на правильний port. - Переконайтеся, що ваші allowlist (DM або group) містять ваш обліковий запис. Документація: [Tailscale](/uk/gateway/tailscale), [Віддалений доступ](/uk/gateway/remote), [Channels](/uk/channels). - - Так. Вбудованого мосту "bot-to-bot" немає, але це можна налаштувати кількома + + Так. Вбудованого bridge "bot-to-bot" немає, але це можна налаштувати кількома надійними способами: - **Найпростіше:** використовуйте звичайний chat channel, до якого обидва боти мають доступ (Telegram/Slack/WhatsApp). - Нехай Bot A надсилає повідомлення Bot B, а потім Bot B відповідає як зазвичай. + **Найпростіше:** використовуйте звичайний chat channel, до якого мають доступ обидва боти (Telegram/Slack/WhatsApp). + Нехай Bot A надсилає повідомлення Bot B, а потім Bot B відповідає як завжди. - **CLI bridge (універсальний):** запустіть скрипт, який викликає інший Gateway через - `openclaw agent --message ... --deliver`, націлюючись на чат, який слухає інший бот. - Якщо один бот розміщено на віддаленому VPS, спрямуйте свій CLI на цей віддалений Gateway + **CLI bridge (загальний):** запустіть скрипт, який викликає інший 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 - або правило "не відповідати на повідомлення ботів"). + Порада: додайте запобіжник, щоб два боти не зациклювалися нескінченно (відповідь лише на згадування, channel + allowlist або правило "не відповідати на повідомлення ботів"). - Документація: [Віддалений доступ](/uk/gateway/remote), [Agent CLI](/cli/agent), [Agent send](/uk/tools/agent-send). + Документація: [Віддалений доступ](/uk/gateway/remote), [CLI Agent](/cli/agent), [Надсилання Agent](/uk/tools/agent-send). - Ні. Один Gateway може розміщувати кількох agents, кожен із власним workspace, models за замовчуванням - та маршрутизацією. Це типовий варіант і він набагато дешевший і простіший, ніж запускати - окремий VPS для кожного agent. + Ні. Один Gateway може розміщувати кількох agents, кожен із власним workspace, типовими моделями + і routing. Це типовий сценарій, і він значно дешевший і простіший, ніж запускати + один VPS на agent. Використовуйте окремі VPS лише тоді, коли вам потрібна жорстка ізоляція (межі безпеки) або дуже - різні config, якими ви не хочете ділитися. В інших випадках тримайте один Gateway і + різні config, якими ви не хочете ділитися. В іншому разі тримайте один Gateway і використовуйте кількох agents або sub-agents. - - Так — nodes є основним способом доступу до вашого ноутбука з віддаленого Gateway і - відкривають більше, ніж просто доступ до оболонки. Gateway працює на macOS/Linux (Windows через WSL2) і є - легким (невеликий VPS або пристрій рівня Raspberry Pi цілком підходить; 4 GB RAM більш ніж достатньо), тому типовий - сценарій — це завжди ввімкнений хост плюс ваш ноутбук як node. + + Так — Nodes є основним способом отримати доступ до вашого ноутбука з віддаленого Gateway, і вони + надають більше, ніж просто доступ до shell. Gateway працює на macOS/Linux (Windows через WSL2) і є + легким (достатньо невеликого VPS або пристрою рівня Raspberry Pi; 4 ГБ RAM більш ніж досить), тому типовим + варіантом є завжди увімкнений хост і ваш ноутбук як Node. - - **Не потрібен вхідний SSH.** Nodes самі підключаються до Gateway WebSocket і використовують pair-підключення пристрою. - - **Безпечніший контроль виконання.** `system.run` на цьому ноутбуці захищено allowlist/затвердженнями node. + - **Не потрібен вхідний SSH.** Nodes самі підключаються до Gateway WebSocket і використовують pairing пристроїв. + - **Безпечніший контроль виконання.** `system.run` контролюється allowlist/schvalеннями Node на цьому ноутбуці. - **Більше інструментів пристрою.** Nodes надають `canvas`, `camera` і `screen` на додачу до `system.run`. - - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через хост node на ноутбуці або підключайтеся до локального Chrome на хості через Chrome MCP. + - **Локальна автоматизація браузера.** Тримайте Gateway на VPS, але запускайте Chrome локально через хост Node на ноутбуці або підключайтеся до локального Chrome на хості через Chrome MCP. - SSH підходить для разового доступу до оболонки, але nodes простіші для постійних робочих процесів agent і - автоматизації пристрою. + SSH підходить для епізодичного доступу до shell, але Nodes простіші для постійних робочих процесів agent і + автоматизації пристроїв. - Документація: [Nodes](/uk/nodes), [Nodes CLI](/cli/nodes), [Browser](/uk/tools/browser). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes), [Браузер](/uk/tools/browser). - - Ні. На одному хості має працювати лише **один gateway**, якщо тільки ви навмисно не запускаєте ізольовані профілі (див. [Кілька gateway](/uk/gateway/multiple-gateways)). Nodes — це периферійні елементи, які підключаються - до gateway (nodes iOS/Android або режим macOS "node mode" у menubar app). Для headless - хостів node і керування через CLI див. [Node host CLI](/cli/node). + + Ні. На хості має працювати лише **один gateway**, якщо тільки ви навмисно не запускаєте ізольовані профілі (див. [Кілька gateway](/uk/gateway/multiple-gateways)). Nodes — це периферійні компоненти, які підключаються + до gateway (Nodes iOS/Android або режим macOS "node mode" у застосунку menubar). Для headless-хостів node + і керування через CLI див. [CLI Node host](/cli/node). - Для змін `gateway`, `discovery` і `canvasHost` потрібен повний перезапуск. + Повний перезапуск потрібен для змін `gateway`, `discovery` і `canvasHost`. Так. - - `config.schema.lookup`: перевірити одне піддерево config із його неглибоким вузлом schema, відповідною UI-підказкою та підсумками безпосередніх дочірніх елементів перед записом + - `config.schema.lookup`: перевірити одне піддерево config із його неглибоким вузлом schema, відповідною підказкою UI та зведеннями безпосередніх дочірніх елементів перед записом - `config.get`: отримати поточний snapshot + hash - - `config.patch`: безпечне часткове оновлення (рекомендовано для більшості редагувань через RPC); виконує hot-reload, коли можливо, і перезапуск, коли потрібно - - `config.apply`: перевірити й замінити всю config; виконує hot-reload, коли можливо, і перезапуск, коли потрібно - - Інструмент runtime `gateway`, доступний лише owner, усе ще відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; застарілі псевдоніми `tools.bash.*` нормалізуються до тих самих захищених шляхів exec + - `config.patch`: безпечне часткове оновлення (кращий варіант для більшості редагувань через RPC); виконує hot-reload, коли це можливо, і перезапускає, коли потрібно + - `config.apply`: перевіряє й замінює весь config; виконує hot-reload, коли це можливо, і перезапускає, коли потрібно + - Інструмент runtime `gateway`, доступний лише owner, як і раніше відмовляється переписувати `tools.exec.ask` / `tools.exec.security`; legacy-аліаси `tools.bash.*` нормалізуються до тих самих захищених шляхів exec - + ```json5 { agents: { defaults: { workspace: "~/.openclaw/workspace" } }, @@ -1837,65 +1836,65 @@ x-i18n: } ``` - Це задає ваш workspace і обмежує, хто може запускати бота. + Це задає ваш workspace і обмежує, хто може активувати бота. Мінімальні кроки: - 1. **Установіть і виконайте вхід на VPS** + 1. **Встановіть і виконайте вхід на VPS** ```bash curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up ``` - 2. **Установіть і виконайте вхід на Mac** + 2. **Встановіть і виконайте вхід на Mac** - Використайте застосунок Tailscale і увійдіть у ту саму tailnet. 3. **Увімкніть MagicDNS (рекомендовано)** - - В адміністративній консолі Tailscale увімкніть MagicDNS, щоб VPS мав стабільне ім’я. + - У консолі адміністратора Tailscale увімкніть MagicDNS, щоб VPS мав стабільне ім’я. 4. **Використовуйте ім’я хоста tailnet** - SSH: `ssh user@your-vps.tailnet-xxxx.ts.net` - Gateway WS: `ws://your-vps.tailnet-xxxx.ts.net:18789` - Якщо ви хочете використовувати Control UI без SSH, застосуйте Tailscale Serve на VPS: + Якщо вам потрібен Control UI без SSH, використовуйте Tailscale Serve на VPS: ```bash openclaw gateway --tailscale serve ``` - Це залишає gateway прив’язаним до loopback і відкриває HTTPS через Tailscale. Див. [Tailscale](/uk/gateway/tailscale). + Це залишає gateway прив’язаним до loopback і надає HTTPS через Tailscale. Див. [Tailscale](/uk/gateway/tailscale). - - Serve відкриває **Gateway Control UI + WS**. Nodes підключаються через ту саму кінцеву точку Gateway WS. + + Serve відкриває **Control UI + WS Gateway**. Nodes підключаються через той самий endpoint Gateway WS. Рекомендоване налаштування: 1. **Переконайтеся, що VPS і Mac перебувають в одній tailnet**. - 2. **Використовуйте macOS app у режимі Remote** (ціль SSH може бути hostname tailnet). - Застосунок тунелює порт Gateway і підключається як node. - 3. **Схваліть node** на gateway: + 2. **Використовуйте застосунок macOS у remote mode** (SSH-ціллю може бути ім’я хоста tailnet). + Застосунок тунелюватиме порт Gateway і підключиться як Node. + 3. **Схваліть Node** на gateway: ```bash openclaw devices list openclaw devices approve ``` - Документація: [Протокол Gateway](/uk/gateway/protocol), [Discovery](/uk/gateway/discovery), [macOS remote mode](/uk/platforms/mac/remote). + Документація: [Протокол Gateway](/uk/gateway/protocol), [Discovery](/uk/gateway/discovery), [Віддалений режим macOS](/uk/platforms/mac/remote). - + Якщо вам потрібні лише **локальні інструменти** (screen/camera/exec) на другому ноутбуці, додайте його як - **node**. Це зберігає один Gateway і дозволяє уникнути дублювання config. Локальні інструменти node - наразі доступні лише на macOS, але ми плануємо розширити їх на інші ОС. + **Node**. Це дозволяє зберегти один Gateway і уникнути дублювання config. Локальні інструменти node + наразі доступні лише на macOS, але ми плануємо поширити їх і на інші ОС. - Другий Gateway встановлюйте лише тоді, коли вам потрібна **жорстка ізоляція** або два повністю окремі боти. + Встановлюйте другий Gateway лише тоді, коли вам потрібна **жорстка ізоляція** або два повністю окремі боти. - Документація: [Nodes](/uk/nodes), [Nodes CLI](/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways). + Документація: [Nodes](/uk/nodes), [CLI Nodes](/cli/nodes), [Кілька gateway](/uk/gateway/multiple-gateways). @@ -1903,15 +1902,15 @@ x-i18n: ## Env vars і завантаження .env - + OpenClaw читає env vars із батьківського процесу (shell, launchd/systemd, CI тощо) і додатково завантажує: - `.env` з поточного робочого каталогу - - глобальний запасний `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`) + - глобальний fallback `.env` з `~/.openclaw/.env` (тобто `$OPENCLAW_STATE_DIR/.env`) - Жоден файл `.env` не перевизначає наявні env vars. + Жоден із файлів `.env` не перевизначає наявні env vars. - Ви також можете визначати вбудовані env vars у config (застосовуються лише якщо вони відсутні в env процесу): + Ви також можете визначати inline env vars у config (застосовуються, лише якщо їх немає в env процесу): ```json5 { @@ -1922,15 +1921,15 @@ x-i18n: } ``` - Повний порядок пріоритету та джерела див. у [/environment](/uk/help/environment). + Див. [/environment](/uk/help/environment) для повного порядку пріоритетів і джерел. - Два поширені способи виправлення: + Є два поширені способи виправлення: - 1. Помістіть відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися, навіть коли сервіс не успадковує env вашої shell. - 2. Увімкніть імпорт shell (необов’язкова зручність): + 1. Помістіть відсутні ключі в `~/.openclaw/.env`, щоб вони підхоплювалися, навіть коли сервіс не успадковує env вашого shell. + 2. Увімкніть імпорт із shell (необов’язкова зручність): ```json5 { @@ -1943,35 +1942,35 @@ x-i18n: } ``` - Це запускає вашу login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає). Еквіваленти env vars: + Це запускає ваш login shell і імпортує лише відсутні очікувані ключі (ніколи не перевизначає наявні). Еквіваленти env vars: `OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`. - `openclaw models status` повідомляє, чи увімкнено **імпорт env із shell**. "Shell env: off" - **не** означає, що ваших env vars немає — це лише означає, що OpenClaw не завантажуватиме - вашу login shell автоматично. + `openclaw models status` показує, чи увімкнено **імпорт env із shell**. "Shell env: off" + **не** означає, що ваших env vars немає — це лише означає, що OpenClaw не буде + автоматично завантажувати ваш login shell. - Якщо Gateway працює як сервіс (launchd/systemd), він не успадковує середовище - вашої shell. Виправити це можна одним із таких способів: + Якщо Gateway працює як сервіс (launchd/systemd), він не успадковує env вашого shell. + Виправити це можна одним зі способів: - 1. Помістіть токен у `~/.openclaw/.env`: + 1. Помістіть token у `~/.openclaw/.env`: ``` COPILOT_GITHUB_TOKEN=... ``` - 2. Або увімкніть імпорт shell (`env.shellEnv.enabled: true`). - 3. Або додайте його до блоку `env` у config (застосовується лише якщо відсутній). + 2. Або увімкніть імпорт із shell (`env.shellEnv.enabled: true`). + 3. Або додайте його до блоку `env` у config (застосовується лише за відсутності). - Потім перезапустіть gateway і перевірте знову: + Потім перезапустіть gateway і знову перевірте: ```bash openclaw models status ``` - Токени Copilot читаються з `COPILOT_GITHUB_TOKEN` (також `GH_TOKEN` / `GITHUB_TOKEN`). + Tokens Copilot читаються з `COPILOT_GITHUB_TOKEN` (також `GH_TOKEN` / `GITHUB_TOKEN`). Див. [/concepts/model-providers](/uk/concepts/model-providers) і [/environment](/uk/help/environment). @@ -1981,14 +1980,14 @@ x-i18n: - Надішліть `/new` або `/reset` окремим повідомленням. Див. [Керування session](/uk/concepts/session). + Надішліть `/new` або `/reset` як окреме повідомлення. Див. [Керування сеансами](/uk/concepts/session). - Sessions можуть завершуватися після `session.idleMinutes`, але за замовчуванням це **вимкнено** (типове значення **0**). - Установіть додатне значення, щоб увімкнути завершення через бездіяльність. Коли це ввімкнено, **наступне** - повідомлення після періоду бездіяльності починає новий ідентифікатор session для цього chat key. - Це не видаляє transcript — лише починає нову session. + Sessions можуть завершуватися після `session.idleMinutes`, але це **вимкнено за замовчуванням** (типове значення **0**). + Задайте додатне значення, щоб увімкнути завершення через неактивність. Коли це ввімкнено, **наступне** + повідомлення після періоду неактивності починає новий session id для цього ключа чату. + Це не видаляє transcripts — просто починається новий session. ```json5 { @@ -2000,47 +1999,47 @@ x-i18n: - - Так, через **маршрутизацію multi-agent** і **sub-agents**. Ви можете створити одного координуючого - agent і кілька worker-agents із власними workspace і models. + + Так, через **маршрутизацію multi-agent** і **sub-agents**. Ви можете створити одного координатора + agent і кількох worker agents із власними workspace і моделями. - Водночас це краще сприймати як **цікавий експеримент**. Це витрачає багато токенів і часто - менш ефективно, ніж використання одного бота з окремими sessions. Типова модель, яку ми - уявляємо, — це один бот, з яким ви спілкуєтеся, з різними sessions для паралельної роботи. Цей + Втім, це краще розглядати як **цікавий експеримент**. Це потребує багато токенів і часто + менш ефективно, ніж використання одного бота з окремими sessions. Типова модель, яку + ми бачимо, — це один бот, з яким ви спілкуєтеся, але з різними sessions для паралельної роботи. Цей бот також може запускати sub-agents за потреби. - Документація: [Маршрутизація multi-agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [Agents CLI](/cli/agents). + Документація: [Маршрутизація multi-agent](/uk/concepts/multi-agent), [Sub-agents](/uk/tools/subagents), [CLI Agents](/cli/agents). - - Контекст session обмежено вікном моделі. Довгі чати, великі виводи інструментів або багато + + Context сеансу обмежений вікном моделі. Довгі чати, великі виводи інструментів або багато файлів можуть спричинити Compaction або обрізання. Що допомагає: - Попросіть бота підсумувати поточний стан і записати його у файл. - - Використовуйте `/compact` перед довгими завданнями, а `/new` — під час зміни теми. - - Зберігайте важливий контекст у workspace і просіть бота перечитувати його. - - Використовуйте sub-agents для довгої або паралельної роботи, щоб main chat залишався меншим. - - Виберіть model із більшим вікном контексту, якщо це трапляється часто. + - Використовуйте `/compact` перед довгими задачами, а `/new` — при зміні теми. + - Тримайте важливий context у workspace і просіть бота перечитувати його. + - Використовуйте sub-agents для довгої або паралельної роботи, щоб основний чат залишався меншим. + - Виберіть модель із більшим вікном context, якщо це трапляється часто. - Використовуйте команду скидання: + Використайте команду reset: ```bash openclaw reset ``` - Повне неінтерактивне скидання: + Неінтерактивне повне скидання: ```bash openclaw reset --scope full --yes --non-interactive ``` - Потім знову запустіть налаштування: + Потім повторно запустіть налаштування: ```bash openclaw onboard --install-daemon @@ -2048,14 +2047,14 @@ x-i18n: Примітки: - - Onboarding також пропонує **Reset**, якщо виявляє наявну config. Див. [Onboarding (CLI)](/uk/start/wizard). - - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен state dir (типово це `~/.openclaw-`). - - Скидання для dev: `openclaw gateway --dev --reset` (лише для dev; очищає config dev + облікові дані + sessions + workspace). + - Онбординг також пропонує **Reset**, якщо бачить наявний config. Див. [Онбординг (CLI)](/uk/start/wizard). + - Якщо ви використовували профілі (`--profile` / `OPENCLAW_PROFILE`), скиньте кожен каталог state (типові значення: `~/.openclaw-`). + - Dev reset: `openclaw gateway --dev --reset` (лише для dev; очищає config dev + credentials + sessions + workspace). - - Використайте один із цих варіантів: + + Використайте один із варіантів: - **Compact** (зберігає розмову, але підсумовує старіші ходи): @@ -2063,35 +2062,35 @@ x-i18n: /compact ``` - або `/compact `, щоб керувати підсумком. + або `/compact `, щоб спрямувати підсумок. - - **Скидання** (новий ідентифікатор session для того самого chat key): + - **Reset** (новий session ID для того самого ключа чату): ``` /new /reset ``` - Якщо це повторюється: + Якщо це трапляється й далі: - - Увімкніть або налаштуйте **session pruning** (`agents.defaults.contextPruning`), щоб обрізати старий вивід інструментів. - - Використовуйте model із більшим вікном контексту. + - Увімкніть або налаштуйте **обрізання sessions** (`agents.defaults.contextPruning`), щоб скорочувати старий вивід інструментів. + - Використовуйте модель із більшим вікном context. - Документація: [Compaction](/uk/concepts/compaction), [Session pruning](/uk/concepts/session-pruning), [Керування session](/uk/concepts/session). + Документація: [Compaction](/uk/concepts/compaction), [Обрізання sessions](/uk/concepts/session-pruning), [Керування сеансами](/uk/concepts/session). - Це помилка перевірки provider: модель згенерувала блок `tool_use` без обов’язкового - `input`. Зазвичай це означає, що історія session застаріла або пошкоджена (часто після довгих thread + Це помилка перевірки provider: модель видала блок `tool_use` без обов’язкового + `input`. Зазвичай це означає, що history сеансу застаріла або пошкоджена (часто після довгих threads або зміни інструмента/schema). - Виправлення: почніть нову session командою `/new` (окремим повідомленням). + Виправлення: почніть новий session за допомогою `/new` (окремим повідомленням). - Heartbeat запускається кожні **30m** за замовчуванням (**1h** при використанні auth через OAuth). Налаштуйте або вимкніть їх: + Heartbeat запускається кожні **30 хв** за замовчуванням (**1 год** при використанні OAuth auth). Налаштуйте або вимкніть це: ```json5 { @@ -2105,19 +2104,19 @@ x-i18n: } ``` - Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки й markdown-заголовки - на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб заощадити API-виклики. + Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та markdown-заголовки + на кшталт `# Heading`), OpenClaw пропускає запуск heartbeat, щоб зберегти API calls. Якщо файл відсутній, heartbeat усе одно запускається, і модель вирішує, що робити. - Override для окремого agent використовують `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat). + Overrides для окремого agent використовують `agents.list[].heartbeat`. Документація: [Heartbeat](/uk/gateway/heartbeat). - Ні. OpenClaw працює від **вашого власного облікового запису**, тому якщо ви є в групі, OpenClaw може її бачити. - За замовчуванням відповіді в групах заблоковані, доки ви не дозволите відправників (`groupPolicy: "allowlist"`). + Ні. OpenClaw працює з **вашого власного облікового запису**, тож якщо ви перебуваєте в групі, OpenClaw може її бачити. + За замовчуванням відповіді в групах блокуються, доки ви не дозволите відправників (`groupPolicy: "allowlist"`). - Якщо ви хочете, щоб відповідати в групах могли запускати лише **ви**: + Якщо ви хочете, щоб запускати відповіді в групі могли лише **ви**: ```json5 { @@ -2133,7 +2132,7 @@ x-i18n: - Варіант 1 (найшвидший): перегляньте хвіст логів і надішліть тестове повідомлення в групу: + Варіант 1 (найшвидший): дивіться хвіст журналів і надішліть тестове повідомлення в групу: ```bash openclaw logs --follow --json @@ -2142,153 +2141,153 @@ x-i18n: Знайдіть `chatId` (або `from`), що закінчується на `@g.us`, наприклад: `1234567890-1234567890@g.us`. - Варіант 2 (якщо вже налаштовано/додано в allowlist): перелічіть групи з config: + Варіант 2 (якщо вже налаштовано / внесено до allowlist): перелічіть групи з config: ```bash openclaw directory groups list --channel whatsapp ``` - Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/cli/directory), [Logs](/cli/logs). + Документація: [WhatsApp](/uk/channels/whatsapp), [Directory](/cli/directory), [Журнали](/cli/logs). - Дві поширені причини: + Є дві поширені причини: - - Увімкнено обмеження за згадкою (типово). Ви маєте @згадати бота (або відповідати `mentionPatterns`). - - Ви налаштували `channels.whatsapp.groups` без `"*"`, і цю групу не додано до allowlist. + - Увімкнено gating за згадуванням (типово). Ви маєте @згадати бота (або відповідати `mentionPatterns`). + - Ви налаштували `channels.whatsapp.groups` без `"*"`, і групу не внесено до allowlist. - Див. [Groups](/uk/channels/groups) і [Group messages](/uk/channels/group-messages). + Див. [Групи](/uk/channels/groups) і [Повідомлення груп](/uk/channels/group-messages). - - Прямі чати за замовчуванням згортаються до main session. Groups/channels мають власні ключі session, а topics Telegram / threads Discord — це окремі sessions. Див. [Groups](/uk/channels/groups) і [Group messages](/uk/channels/group-messages). + + Прямі чати типово зводяться до main session. Групи/channels мають власні ключі session, а теми Telegram / threads Discord — це окремі sessions. Див. [Групи](/uk/channels/groups) і [Повідомлення груп](/uk/channels/group-messages). - + Жорстких обмежень немає. Десятки (навіть сотні) — це нормально, але звертайте увагу на: - - **Зростання диска:** sessions + transcripts живуть у `~/.openclaw/agents//sessions/`. - - **Витрати токенів:** більше agents означає більше одночасного використання моделей. - - **Операційні накладні витрати:** auth profiles, workspace та маршрутизація channel для кожного agent. + - **Зростання дискового простору:** sessions + transcripts зберігаються в `~/.openclaw/agents//sessions/`. + - **Вартість токенів:** більше agents означає більше одночасного використання моделей. + - **Операційні витрати:** auth profiles, workspaces і channel routing для кожного agent. Поради: - Тримайте один **активний** workspace на agent (`agents.defaults.workspace`). - - Очищуйте старі sessions (видаляйте JSONL або записи сховища), якщо диск розростається. - - Використовуйте `openclaw doctor`, щоб виявляти зайві workspace і невідповідності профілів. + - Очищайте старі sessions (видаляйте записи JSONL або записи сховища), якщо диск розростається. + - Використовуйте `openclaw doctor`, щоб виявляти зайві workspaces і невідповідності профілів. - - Так. Використовуйте **Маршрутизацію Multi-Agent**, щоб запускати кілька ізольованих agents і спрямовувати вхідні повідомлення за + + Так. Використовуйте **маршрутизацію Multi-Agent**, щоб запускати кілька ізольованих agents і маршрутизувати вхідні повідомлення за channel/account/peer. Slack підтримується як channel і може бути прив’язаний до конкретних agents. - Доступ до браузера потужний, але не означає "може зробити все, що людина" — anti-bot, CAPTCHA і MFA - усе ще можуть блокувати автоматизацію. Для найнадійнішого керування браузером використовуйте локальний Chrome MCP на хості, - або використовуйте CDP на машині, яка фактично запускає браузер. + Доступ до браузера потужний, але це не "робити все, що може людина" — anti-bot, CAPTCHA і MFA + все ще можуть блокувати автоматизацію. Для найнадійнішого керування браузером використовуйте локальний Chrome MCP на хості + або CDP на машині, яка фактично запускає браузер. - Найкраща практика налаштування: + Рекомендована схема налаштування: - - Постійно ввімкнений хост Gateway (VPS/Mac mini). - - Один agent на роль (bindings). - - Channels Slack, прив’язані до цих agents. - - Локальний браузер через Chrome MCP або node за потреби. + - Завжди увімкнений хост Gateway (VPS/Mac mini). + - Один agent на кожну роль (bindings). + - Канали Slack, прив’язані до цих agents. + - Локальний браузер через Chrome MCP або Node, коли потрібно. Документація: [Маршрутизація Multi-Agent](/uk/concepts/multi-agent), [Slack](/uk/channels/slack), - [Browser](/uk/tools/browser), [Nodes](/uk/nodes). + [Браузер](/uk/tools/browser), [Nodes](/uk/nodes). -## Models: типові значення, вибір, псевдоніми, перемикання +## Моделі: значення за замовчуванням, вибір, псевдоніми, перемикання - + Модель за замовчуванням в OpenClaw — це те, що ви задаєте як: ``` agents.defaults.model.primary ``` - На models посилаються як `provider/model` (приклад: `openai/gpt-5.4`). Якщо ви пропускаєте provider, OpenClaw спочатку намагається знайти псевдонім, потім — унікальний збіг точно цього model id серед налаштованих providers, і лише після цього використовує налаштований provider за замовчуванням як застарілий шлях сумісності. Якщо цей provider більше не надає налаштовану model за замовчуванням, OpenClaw переключається на перші налаштовані provider/model замість того, щоб показувати застаріле типове значення видаленого provider. Вам усе одно слід **явно** задавати `provider/model`. + На моделі посилаються як `provider/model` (приклад: `openai/gpt-5.4`). Якщо ви пропускаєте provider, OpenClaw спочатку намагається знайти псевдонім, потім — унікальний збіг налаштованого provider для цього точного model id, і лише після цього використовує налаштований provider за замовчуванням як застарілий шлях сумісності. Якщо цей provider більше не надає налаштовану модель за замовчуванням, OpenClaw перемикається на перший налаштований provider/model замість того, щоб показувати застаріле типове значення від видаленого provider. Вам усе одно слід **явно** задавати `provider/model`. - - **Рекомендоване типове значення:** використовуйте найсильнішу модель останнього покоління, доступну у вашому стеку provider. - **Для agents з увімкненими інструментами або agents з недовіреним входом:** ставте силу model вище за вартість. - **Для звичайного/низькоризикового чату:** використовуйте дешевші резервні models і маршрутизуйте за роллю agent. + + **Рекомендоване значення за замовчуванням:** використовуйте найсильнішу модель останнього покоління, доступну у вашому стеку provider. + **Для agents з інструментами або недовіреним input:** надавайте перевагу силі моделі над вартістю. + **Для звичайного/низькоризикового чату:** використовуйте дешевші резервні моделі та маршрутизуйте за роллю agent. Для MiniMax є окрема документація: [MiniMax](/uk/providers/minimax) і [Локальні моделі](/uk/gateway/local-models). - Практичне правило: використовуйте **найкращу model, яку можете собі дозволити** для важливих завдань, і дешевшу - model для повсякденного чату або підсумків. Ви можете маршрутизувати models за agent і використовувати sub-agents для - паралелізації довгих завдань (кожен sub-agent споживає токени). Див. [Models](/uk/concepts/models) і + Правило великого пальця: використовуйте **найкращу модель, яку можете собі дозволити** для високоризикових задач, і дешевшу + модель для звичайного чату або підсумків. Ви можете маршрутизувати моделі за agent і використовувати sub-agents для + паралелізації довгих задач (кожен sub-agent споживає токени). Див. [Моделі](/uk/concepts/models) і [Sub-agents](/uk/tools/subagents). - Серйозне попередження: слабші/надмірно квантизовані models більш вразливі до prompt - injection і небезпечної поведінки. Див. [Security](/uk/gateway/security). + Сильне попередження: слабші або надмірно квантизовані моделі більш вразливі до prompt + injection і небезпечної поведінки. Див. [Безпека](/uk/gateway/security). - Більше контексту: [Models](/uk/concepts/models). + Докладніше: [Моделі](/uk/concepts/models). - - Використовуйте **команди model** або редагуйте лише поля **model**. Уникайте повної заміни config. + + Використовуйте **команди моделей** або редагуйте лише поля **model**. Уникайте повної заміни config. Безпечні варіанти: - - `/model` у чаті (швидко, для поточної session) - - `openclaw models set ...` (оновлює лише config model) + - `/model` у чаті (швидко, для окремого session) + - `openclaw models set ...` (оновлює лише config моделі) - `openclaw configure --section model` (інтерактивно) - редагуйте `agents.defaults.model` у `~/.openclaw/openclaw.json` - Уникайте `config.apply` із частковим об’єктом, якщо ви не збираєтеся замінити всю config. - Для редагувань через RPC спочатку перевіряйте через `config.schema.lookup` і надавайте перевагу `config.patch`. Дані lookup дають нормалізований шлях, документацію/обмеження неглибокої schema та підсумки безпосередніх дочірніх елементів + Уникайте `config.apply` із частковим об’єктом, якщо не маєте наміру замінити весь config. + Для редагувань через RPC спочатку перевіряйте через `config.schema.lookup` і надавайте перевагу `config.patch`. Payload lookup надає нормалізований шлях, документацію/обмеження неглибокої schema та зведення безпосередніх дочірніх елементів для часткових оновлень. - Якщо ви таки перезаписали config, відновіть її з резервної копії або повторно запустіть `openclaw doctor` для виправлення. + Якщо ви все ж перезаписали config, відновіть його з резервної копії або повторно виконайте `openclaw doctor` для відновлення. - Документація: [Models](/uk/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/uk/gateway/doctor). + Документація: [Моделі](/uk/concepts/models), [Configure](/cli/configure), [Config](/cli/config), [Doctor](/uk/gateway/doctor). - - Так. Ollama — найпростіший шлях до локальних models. + + Так. Ollama — найпростіший шлях для локальних моделей. Найшвидше налаштування: - 1. Установіть Ollama з `https://ollama.com/download` - 2. Завантажте локальну model, наприклад `ollama pull gemma4` - 3. Якщо вам потрібні також хмарні models, виконайте `ollama signin` - 4. Запустіть `openclaw onboard` і виберіть `Ollama` + 1. Встановіть Ollama з `https://ollama.com/download` + 2. Завантажте локальну модель, наприклад `ollama pull gemma4` + 3. Якщо вам потрібні також хмарні моделі, виконайте `ollama signin` + 4. Виконайте `openclaw onboard` і виберіть `Ollama` 5. Виберіть `Local` або `Cloud + Local` Примітки: - - `Cloud + Local` надає вам хмарні models плюс локальні models Ollama - - хмарні models, як-от `kimi-k2.5:cloud`, не потребують локального завантаження + - `Cloud + Local` надає вам хмарні моделі плюс ваші локальні моделі Ollama + - хмарні моделі, такі як `kimi-k2.5:cloud`, не потребують локального завантаження - для ручного перемикання використовуйте `openclaw models list` і `openclaw models set ollama/` - Примітка щодо безпеки: менші або сильно квантизовані models більш вразливі до prompt - injection. Ми наполегливо рекомендуємо **великі models** для будь-якого бота, який може використовувати інструменти. - Якщо ви все ж хочете маленькі models, увімкніть sandboxing і суворі allowlist інструментів. + Примітка щодо безпеки: менші або сильно квантизовані моделі більш вразливі до prompt + injection. Ми наполегливо рекомендуємо **великі моделі** для будь-якого бота, який може використовувати інструменти. + Якщо ви все ж хочете маленькі моделі, увімкніть sandboxing і суворі allowlist інструментів. Документація: [Ollama](/uk/providers/ollama), [Локальні моделі](/uk/gateway/local-models), - [Провайдери моделей](/uk/concepts/model-providers), [Security](/uk/gateway/security), + [Провайдери моделей](/uk/concepts/model-providers), [Безпека](/uk/gateway/security), [Ізоляція](/uk/gateway/sandboxing). - - - У цих розгортаннях можуть бути різні налаштування, і вони можуть змінюватися з часом; фіксованої рекомендації щодо provider немає. - - Перевіряйте поточне налаштування runtime на кожному gateway через `openclaw models status`. - - Для agents із чутливими до безпеки/увімкненими інструментами використовуйте найсильнішу модель останнього покоління з доступних. + + - Ці розгортання можуть відрізнятися й змінюватися з часом; фіксованої рекомендації щодо provider немає. + - Перевіряйте поточне налаштування runtime на кожному gateway за допомогою `openclaw models status`. + - Для чутливих до безпеки agents з інструментами використовуйте найсильнішу доступну модель останнього покоління. - + Використовуйте команду `/model` як окреме повідомлення: ``` @@ -2301,9 +2300,9 @@ x-i18n: /model gemini-flash-lite ``` - Це вбудовані псевдоніми. Користувацькі псевдоніми можна додавати через `agents.defaults.models`. + Це вбудовані псевдоніми. Власні псевдоніми можна додавати через `agents.defaults.models`. - Ви можете переглянути доступні models через `/model`, `/model list` або `/model status`. + Ви можете переглянути доступні моделі за допомогою `/model`, `/model list` або `/model status`. `/model` (і `/model list`) показує компактний нумерований вибір. Вибирайте за номером: @@ -2311,46 +2310,46 @@ x-i18n: /model 3 ``` - Ви також можете примусово вибрати конкретний auth profile для provider (для session): + Ви також можете примусово задати конкретний auth profile для provider (для session): ``` /model opus@anthropic:default /model opus@anthropic:work ``` - Порада: `/model status` показує, який agent активний, який файл `auth-profiles.json` використовується і який auth profile буде спробовано наступним. - Він також показує налаштовану кінцеву точку provider (`baseUrl`) і режим API (`api`), коли це доступно. + Порада: `/model status` показує, який agent активний, який файл `auth-profiles.json` використовується та який auth profile буде випробувано наступним. + Також він показує налаштований endpoint provider (`baseUrl`) і режим API (`api`), коли це доступно. - **Як зняти фіксацію profile, який я задав через @profile?** + **Як зняти прив’язку profile, який я задав через @profile?** - Повторно запустіть `/model` **без** суфікса `@profile`: + Повторно виконайте `/model` **без** суфікса `@profile`: ``` /model anthropic/claude-opus-4-6 ``` - Якщо ви хочете повернутися до типового значення, виберіть його через `/model` (або надішліть `/model `). + Якщо ви хочете повернутися до значення за замовчуванням, виберіть його через `/model` (або надішліть `/model `). Використовуйте `/model status`, щоб підтвердити, який auth profile активний. - - Так. Установіть одну як типову й перемикайтеся за потреби: + + Так. Задайте одну модель як типову, а потім перемикайтеся за потреби: - - **Швидке перемикання (для 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 з іншою model за замовчуванням. + - **Швидке перемикання (для session):** `/model gpt-5.4` для щоденних задач, `/model openai-codex/gpt-5.4` для кодування через Codex OAuth. + - **Типова + перемикання:** задайте `agents.defaults.model.primary` як `openai/gpt-5.4`, а потім перемикайтеся на `openai-codex/gpt-5.4` для кодування (або навпаки). + - **Sub-agents:** маршрутизуйте задачі кодування до sub-agents з іншою типовою моделлю. - Див. [Models](/uk/concepts/models) і [Slash-команди](/uk/tools/slash-commands). + Див. [Моделі](/uk/concepts/models) і [Slash commands](/uk/tools/slash-commands). - Використовуйте або перемикач для session, або типове значення в config: + Використовуйте або перемикач для session, або значення за замовчуванням у config: - **Для session:** надішліть `/fast on`, поки session використовує `openai/gpt-5.4` або `openai-codex/gpt-5.4`. - - **Типове значення для model:** задайте `agents.defaults.models["openai/gpt-5.4"].params.fastMode` як `true`. - - **Також для OAuth Codex:** якщо ви також використовуєте `openai-codex/gpt-5.4`, задайте там той самий прапорець. + - **Типово для моделі:** задайте `agents.defaults.models["openai/gpt-5.4"].params.fastMode` як `true`. + - **Також для Codex OAuth:** якщо ви також використовуєте `openai-codex/gpt-5.4`, задайте той самий прапорець і там. Приклад: @@ -2375,39 +2374,39 @@ x-i18n: } ``` - Для OpenAI fast mode відповідає `service_tier = "priority"` у підтримуваних нативних запитах Responses. Session `/fast` має вищий пріоритет за типові значення config. + Для OpenAI fast mode відповідає `service_tier = "priority"` у підтримуваних нативних запитах Responses. Перевизначення `/fast` для session мають вищий пріоритет за типові значення config. - Див. [Thinking and 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` і будь-яких - override session. Вибір model, якої немає в цьому списку, повертає: + перевизначень session. Вибір моделі, якої немає в цьому списку, повертає: ``` Model "provider/model" is not allowed. Use /model to list available models. ``` - Ця помилка повертається **замість** звичайної відповіді. Виправлення: додайте model до - `agents.defaults.models`, приберіть allowlist або виберіть model через `/model list`. + Ця помилка повертається **замість** звичайної відповіді. Виправлення: додайте модель до + `agents.defaults.models`, приберіть allowlist або виберіть модель із `/model list`. Це означає, що **provider не налаштовано** (не знайдено config provider MiniMax або auth - profile), тому model не вдається визначити. + profile), тому модель неможливо визначити. - Чекліст для виправлення: + Контрольний список для виправлення: - 1. Оновіться до актуального релізу OpenClaw (або працюйте з вихідного коду `main`), а потім перезапустіть gateway. - 2. Переконайтеся, що MiniMax налаштовано (майстром або через JSON), або що auth MiniMax - існує в env/auth profiles, щоб відповідний provider можна було додати + 1. Оновіться до актуального релізу OpenClaw (або запускайте з вихідного коду `main`), а потім перезапустіть gateway. + 2. Переконайтеся, що MiniMax налаштовано (майстер або JSON) або що auth MiniMax + існує в env/auth profiles, щоб можна було підставити відповідний provider (`MINIMAX_API_KEY` для `minimax`, `MINIMAX_OAUTH_TOKEN` або збережений OAuth MiniMax для `minimax-portal`). - 3. Використовуйте точний id model (з урахуванням регістру) для вашого шляху auth: - `minimax/MiniMax-M2.7` або `minimax/MiniMax-M2.7-highspeed` для налаштування через API-ключ, - або `minimax-portal/MiniMax-M2.7` / + 3. Використовуйте точний model id (з урахуванням регістру) для вашого шляху auth: + `minimax/MiniMax-M2.7` або `minimax/MiniMax-M2.7-highspeed` для налаштування + через API key, або `minimax-portal/MiniMax-M2.7` / `minimax-portal/MiniMax-M2.7-highspeed` для налаштування через OAuth. 4. Виконайте: @@ -2417,13 +2416,13 @@ x-i18n: і виберіть зі списку (або `/model list` у чаті). - Див. [MiniMax](/uk/providers/minimax) і [Models](/uk/concepts/models). + Див. [MiniMax](/uk/providers/minimax) і [Моделі](/uk/concepts/models). - - Так. Використовуйте **MiniMax як типову** і перемикайте models **для session** за потреби. - Резервні варіанти призначені для **помилок**, а не для "складних завдань", тому використовуйте `/model` або окремого agent. + + Так. Використовуйте **MiniMax як модель за замовчуванням** і перемикайте моделі **для session** за потреби. + Резервні моделі призначені для **помилок**, а не для "складних задач", тому використовуйте `/model` або окремого agent. **Варіант A: перемикання для session** @@ -2450,16 +2449,16 @@ x-i18n: **Варіант B: окремі agents** - - Типова model для Agent A: MiniMax - - Типова model для Agent B: OpenAI + - Agent A типово: MiniMax + - Agent B типово: OpenAI - Маршрутизуйте за agent або використовуйте `/agent` для перемикання - Документація: [Models](/uk/concepts/models), [Маршрутизація Multi-Agent](/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 постачається з кількома типовими скороченнями (застосовуються лише тоді, коли model існує в `agents.defaults.models`): + Так. OpenClaw постачається з кількома типовими скороченнями (застосовуються лише тоді, коли модель існує в `agents.defaults.models`): - `opus` → `anthropic/claude-opus-4-6` - `sonnet` → `anthropic/claude-sonnet-4-6` @@ -2470,11 +2469,11 @@ x-i18n: - `gemini-flash` → `google/gemini-3-flash-preview` - `gemini-flash-lite` → `google/gemini-3.1-flash-lite-preview` - Якщо ви задаєте власний псевдонім із такою самою назвою, перемагає ваше значення. + Якщо ви задасте власний псевдонім із такою самою назвою, ваше значення матиме пріоритет. - + Псевдоніми беруться з `agents.defaults.models..alias`. Приклад: ```json5 @@ -2492,12 +2491,12 @@ x-i18n: } ``` - Тоді `/model sonnet` (або `/`, коли це підтримується) розв’язується в цей ID model. + Тоді `/model sonnet` (або `/`, коли підтримується) визначатиметься як цей model ID. - - OpenRouter (оплата за токени; багато models): + + OpenRouter (оплата за токени; багато моделей): ```json5 { @@ -2511,7 +2510,7 @@ x-i18n: } ``` - Z.AI (models GLM): + Z.AI (моделі GLM): ```json5 { @@ -2527,9 +2526,9 @@ x-i18n: Якщо ви посилаєтеся на provider/model, але потрібний ключ provider відсутній, ви отримаєте помилку auth під час виконання (наприклад, `No API key found for provider "zai"`). - **Після додавання нового agent не знайдено API-ключ для provider** + **No API key found for provider після додавання нового agent** - Зазвичай це означає, що **новий agent** має порожнє сховище auth. Auth є прив’язаною до agent і + Зазвичай це означає, що **новий agent** має порожнє сховище auth. Auth є окремим для кожного agent і зберігається тут: ``` @@ -2539,118 +2538,118 @@ x-i18n: Варіанти виправлення: - Виконайте `openclaw agents add ` і налаштуйте auth у майстрі. - - Або скопіюйте `auth-profiles.json` з `agentDir` головного agent до `agentDir` нового agent. + - Або скопіюйте `auth-profiles.json` з `agentDir` основного agent у `agentDir` нового agent. - **Не** використовуйте спільний `agentDir` для кількох agents; це спричиняє конфлікти auth/session. + **Не** використовуйте спільний `agentDir` для кількох agents; це призводить до колізій auth/session. -## Резервне перемикання model і "All models failed" +## Резервне перемикання моделей і "All models failed" Резервне перемикання відбувається у два етапи: - 1. **Ротація auth profile** у межах того самого provider. - 2. **Резервний перехід model** до наступної model у `agents.defaults.model.fallbacks`. + 1. **Ротація auth profile** в межах того самого provider. + 2. **Резервне перемикання моделі** на наступну модель із `agents.defaults.model.fallbacks`. - До невдалих profiles застосовуються cooldown (експоненційне збільшення затримки), тож OpenClaw може продовжувати відповідати, навіть коли provider обмежений rate limit або тимчасово не працює. + До профілів, що дають збій, застосовуються cooldown (експоненційний backoff), тож OpenClaw може й далі відповідати, навіть коли provider обмежений rate limit або тимчасово не працює. Кошик rate limit включає не лише звичайні відповіді `429`. OpenClaw - також вважає повідомлення на кшталт `Too many concurrent requests`, + також вважає вартими резервного перемикання rate limit такі повідомлення, як `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded`, `resource exhausted` і періодичні - обмеження вікна використання (`weekly/monthly limit reached`) такими, що - варті резервного перемикання через rate limit. + обмеження вікон використання (`weekly/monthly limit reached`). - Деякі відповіді, схожі на billing, не є `402`, а деякі HTTP-відповіді `402` + Деякі відповіді, схожі на billing, не мають коду `402`, а деякі відповіді HTTP `402` також залишаються в цьому тимчасовому кошику. Якщо provider повертає - явний billing-текст на `401` або `403`, OpenClaw усе ще може тримати це - в категорії billing, але текстові зіставлення, специфічні для provider, залишаються в межах + явний текст billing у `401` або `403`, OpenClaw усе одно може залишити це в + лінії billing, але зіставлення текстів, специфічних для provider, залишаються обмеженими provider, якому вони належать (наприклад, OpenRouter `Key limit exceeded`). Якщо повідомлення `402` - натомість схоже на повторюване вікно використання або - ліміт витрат organization/workspace (`daily limit reached, resets tomorrow`, + натомість виглядає як таке, що можна повторити для вікна використання або + ліміту витрат organization/workspace (`daily limit reached, resets tomorrow`, `organization spending limit exceeded`), OpenClaw трактує це як - `rate_limit`, а не як довге відключення через billing. + `rate_limit`, а не як тривале вимкнення через billing. - Помилки переповнення контексту відрізняються: сигнатури на кшталт + Помилки переповнення context відрізняються: сигнатури на кшталт `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/повторної спроби замість переходу - до резервної model. + exceeded` залишаються на шляху Compaction/повторної спроби замість переходу до + резервного перемикання моделі. - Загальний текст помилок сервера навмисно вужчий, ніж "усе, де є - unknown/error". OpenClaw вважає гідними резервного перемикання такі - залежні від provider тимчасові форми, як-от bare Anthropic `An unknown error occurred`, bare OpenRouter + Загальний текст server error навмисно вужчий, ніж "усе, що містить + unknown/error". OpenClaw дійсно трактує тимчасові форми, обмежені provider, + такі як просте Anthropic `An unknown error occurred`, просте OpenRouter `Provider returned error`, помилки причини зупинки на кшталт `Unhandled stop reason: - error`, JSON-пейлоади `api_error` із текстом тимчасових серверних помилок + error`, JSON-payload `api_error` із тимчасовим текстом server error (`internal server error`, `unknown error, 520`, `upstream error`, `backend - error`) і помилки перевантаження provider на кшталт `ModelNotReadyException` — якщо контекст provider + error`) і помилки зайнятості provider, такі як `ModelNotReadyException`, як + сигнали timeout/overloaded, варті резервного перемикання, коли контекст provider збігається. - Загальний внутрішній запасний текст на кшталт `LLM request failed with an unknown - error.` залишається консервативним і сам по собі не запускає резервне перемикання model. + Загальний внутрішній fallback-текст на кшталт `LLM request failed with an unknown + error.` залишається консервативним і сам по собі не запускає резервне перемикання моделі. Це означає, що система спробувала використати ID auth profile `anthropic:default`, але не змогла знайти для нього облікові дані в очікуваному сховищі auth. - **Чекліст для виправлення:** + **Контрольний список для виправлення:** - - **Перевірте, де зберігаються auth profiles** (нові та застарілі шляхи) + - **Підтвердьте, де зберігаються auth profiles** (нові та legacy-шляхи) - Поточний шлях: `~/.openclaw/agents//agent/auth-profiles.json` - - Застарілий шлях: `~/.openclaw/agent/*` (мігрується через `openclaw doctor`) - - **Переконайтеся, що Gateway завантажує вашу env var** - - Якщо ви задали `ANTHROPIC_API_KEY` у shell, але запускаєте Gateway через systemd/launchd, він може не успадкувати його. Помістіть її в `~/.openclaw/.env` або увімкніть `env.shellEnv`. - - **Переконайтеся, що редагуєте правильного agent** - - У multi-agent налаштуваннях може бути кілька файлів `auth-profiles.json`. - - **Базова перевірка стану model/auth** - - Використовуйте `openclaw models status`, щоб побачити налаштовані models і чи пройшли providers автентифікацію. + - Legacy: `~/.openclaw/agent/*` (мігрується командою `openclaw doctor`) + - **Підтвердьте, що Gateway завантажує вашу env var** + - Якщо ви задали `ANTHROPIC_API_KEY` у своєму shell, але запускаєте 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"** Це означає, що виконання прив’язане до auth profile Anthropic, але Gateway не може знайти його у своєму сховищі auth. - **Використовуйте Claude CLI** - Виконайте `openclaw models auth login --provider anthropic --method cli --set-default` на хості gateway. - - **Якщо ви хочете використовувати натомість API-ключ** + - **Якщо ви хочете натомість використовувати API key** - Помістіть `ANTHROPIC_API_KEY` у `~/.openclaw/.env` на **хості gateway**. - - Очистьте будь-який зафіксований порядок, що примусово вимагає відсутній profile: + - Очистьте будь-який закріплений порядок, який примусово вимагає відсутній profile: ```bash openclaw models auth order clear --provider anthropic ``` - - **Переконайтеся, що запускаєте команди на хості gateway** - - У віддаленому режимі auth profiles живуть на машині gateway, а не на вашому ноутбуці. + - **Підтвердьте, що ви запускаєте команди на хості gateway** + - У remote mode auth profiles зберігаються на машині gateway, а не на вашому ноутбуці. - - Якщо ваша config model містить Google Gemini як резервний варіант (або ви перемкнулися на скорочення Gemini), OpenClaw спробує її під час резервного перемикання model. Якщо ви не налаштували облікові дані Google, побачите `No API key found for provider "google"`. + + Якщо ваш config моделі містить Google Gemini як резервний варіант (або ви перемкнулися на скорочення Gemini), OpenClaw спробує його під час резервного перемикання моделі. Якщо ви не налаштували облікові дані Google, ви побачите `No API key found for provider "google"`. - Виправлення: або надайте auth Google, або приберіть/уникайте models Google у `agents.defaults.model.fallbacks` / псевдонімах, щоб резервне перемикання не спрямовувалося туди. + Виправлення: або надайте auth Google, або приберіть / не використовуйте моделі Google у `agents.defaults.model.fallbacks` / псевдонімах, щоб резервне перемикання не вело туди. **LLM request rejected: thinking signature required (Google Antigravity)** - Причина: історія session містить **блоки thinking без signatures** (часто через - перерваний/частковий потік). Google Antigravity вимагає signatures для блоків thinking. + Причина: history сеансу містить **блоки thinking без сигнатур** (часто через + перерваний/частковий потік). Google Antigravity вимагає сигнатури для блоків thinking. - Виправлення: тепер OpenClaw видаляє блоки thinking без signatures для Claude Google Antigravity. Якщо це все ще з’являється, почніть **нову session** або задайте `/thinking off` для цього agent. + Виправлення: OpenClaw тепер прибирає непідписані блоки thinking для Google Antigravity Claude. Якщо це все ще з’являється, почніть **новий session** або задайте `/thinking off` для цього agent. ## Auth profiles: що це таке і як ними керувати -Пов’язане: [/concepts/oauth](/uk/concepts/oauth) (OAuth-потоки, зберігання токенів, шаблони для кількох облікових записів) +Пов’язане: [/concepts/oauth](/uk/concepts/oauth) (потоки OAuth, зберігання tokens, шаблони для кількох облікових записів) - Auth profile — це іменований запис облікових даних (OAuth або API-ключ), прив’язаний до provider. Profiles зберігаються тут: + Auth profile — це іменований запис облікових даних (OAuth або API key), прив’язаний до provider. Профілі зберігаються тут: ``` ~/.openclaw/agents//agent/auth-profiles.json @@ -2658,37 +2657,37 @@ x-i18n: - + OpenClaw використовує ID з префіксом provider, наприклад: - `anthropic:default` (поширений варіант, коли немає email-ідентичності) - `anthropic:` для OAuth-ідентичностей - - користувацькі ID на ваш вибір (наприклад, `anthropic:work`) + - власні ID, які ви вибираєте (наприклад, `anthropic:work`) - - Так. Config підтримує необов’язкові metadata для profiles і порядок для кожного provider (`auth.order.`). Це **не** зберігає секрети; воно зіставляє ID із provider/mode і задає порядок ротації. + + Так. Config підтримує необов’язкові metadata для profiles і порядок для кожного provider (`auth.order.`). Це **не** зберігає secrets; це зіставляє ID з provider/mode і задає порядок ротації. - OpenClaw може тимчасово пропустити profile, якщо вона перебуває в короткому **cooldown** (rate limits/timeouts/auth failures) або в довшому стані **disabled** (billing/недостатньо кредитів). Щоб перевірити це, виконайте `openclaw models status --json` і перевірте `auth.unusableProfiles`. Налаштування: `auth.cooldowns.billingBackoffHours*`. + OpenClaw може тимчасово пропустити profile, якщо він перебуває у короткому **cooldown** (rate limits/timeouts/auth failures) або в довшому стані **disabled** (billing/insufficient credits). Щоб перевірити це, виконайте `openclaw models status --json` і перегляньте `auth.unusableProfiles`. Налаштування: `auth.cooldowns.billingBackoffHours*`. - Cooldown через rate limit можуть бути прив’язані до model. Profile, яка перебуває в cooldown - для однієї model, усе ще може бути придатною для спорідненої model у межах того самого provider, - тоді як billing/disabled-вікна все ще блокують увесь profile. + Cooldown через rate limit можуть бути обмежені model. Profile, що перебуває в cooldown + для однієї моделі, усе ще може бути придатним для спорідненої моделі на тому самому provider, + тоді як вікна billing/disabled усе одно блокують увесь profile. - Ви також можете задати **override порядку для agent** (зберігається в `auth-state.json` цього agent) через CLI: + Ви також можете задати **override порядку для окремого agent** (зберігається в `auth-state.json` цього agent) через CLI: ```bash - # За замовчуванням використовує налаштований default agent (пропустіть --agent) + # За замовчуванням використовується налаштований типовий agent (можна опустити --agent) openclaw models auth order get --provider anthropic # Зафіксувати ротацію на одному profile (пробувати лише цей) openclaw models auth order set --provider anthropic anthropic:default - # Або задати явний порядок (резервний перехід у межах provider) + # Або задати явний порядок (резервне перемикання в межах provider) openclaw models auth order set --provider anthropic anthropic:work anthropic:default - # Очистити override (повернутися до config auth.order / round-robin) + # Очистити override (повернення до config auth.order / round-robin) openclaw models auth order clear --provider anthropic ``` @@ -2698,33 +2697,33 @@ x-i18n: openclaw models auth order set --provider anthropic --agent main anthropic:default ``` - Щоб перевірити, що саме буде спробовано на практиці, використовуйте: + Щоб перевірити, що насправді буде спробовано, використовуйте: ```bash openclaw models status --probe ``` - Якщо збережений profile пропущено з явного порядку, probe повідомляє - `excluded_by_auth_order` для цього profile замість того, щоб тихо його пробувати. + Якщо збережений profile опущено в явному порядку, probe показує + `excluded_by_auth_order` для цього profile замість того, щоб непомітно пробувати його. - + 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 - - `gateway.port` керує єдиним мультиплексованим портом для WebSocket + HTTP (Control UI, hooks тощо). + + `gateway.port` керує єдиним мультиплексованим port для WebSocket + HTTP (Control UI, hooks тощо). Пріоритет: @@ -2734,19 +2733,19 @@ x-i18n: - - Тому що "running" — це погляд **supervisor** (launchd/systemd/schtasks). RPC probe — це коли CLI фактично підключається до gateway WebSocket і викликає `status`. + + Тому що "running" — це точка зору **supervisor** (launchd/systemd/schtasks). RPC probe — це фактичне підключення CLI до gateway WebSocket і виклик `status`. - Використовуйте `openclaw gateway status` і довіряйте цим рядкам: + Використовуйте `openclaw gateway status` і довіряйте таким рядкам: - `Probe target:` (URL, який probe фактично використав) - - `Listening:` (що насправді прив’язано до порту) - - `Last gateway error:` (типова першопричина, коли процес живий, але порт не слухає) + - `Listening:` (що насправді прив’язано до port) + - `Last gateway error:` (поширена першопричина, коли процес живий, але port не слухає) - - Ви редагуєте один файл config, а сервіс працює з іншим (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`). + + Ви редагуєте один файл config, а сервіс запускає інший (часто через невідповідність `--profile` / `OPENCLAW_STATE_DIR`). Виправлення: @@ -2754,19 +2753,19 @@ x-i18n: openclaw gateway install --force ``` - Запустіть це з тим самим `--profile` / середовищем, яке сервіс має використовувати. + Запустіть це з тим самим `--profile` / environment, який має використовувати сервіс. - OpenClaw забезпечує блокування runtime, одразу прив’язуючи слухач WebSocket під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується помилкою `EADDRINUSE`, викидається `GatewayLockError`, що означає: інший інстанс уже слухає. + OpenClaw примусово застосовує runtime lock, негайно прив’язуючи прослуховувач WebSocket під час запуску (типово `ws://127.0.0.1:18789`). Якщо прив’язка завершується з `EADDRINUSE`, викидається `GatewayLockError`, що означає: вже слухає інший екземпляр. - Виправлення: зупиніть інший інстанс, звільніть порт або запустіть з `openclaw gateway --port `. + Виправлення: зупиніть інший екземпляр, звільніть port або запустіть через `openclaw gateway --port `. - - Установіть `gateway.mode: "remote"` і вкажіть URL віддаленого WebSocket, за потреби з віддаленими обліковими даними shared secret: + + Задайте `gateway.mode: "remote"` і вкажіть віддалений URL WebSocket, за потреби з віддаленими обліковими даними shared secret: ```json5 { @@ -2783,9 +2782,9 @@ x-i18n: Примітки: - - `openclaw gateway` запускається лише тоді, коли `gateway.mode` має значення `local` (або якщо ви передаєте прапорець перевизначення). - - macOS app відстежує файл config і в реальному часі перемикає режими, коли ці значення змінюються. - - `gateway.remote.token` / `.password` — це лише клієнтські віддалені облікові дані; вони самі по собі не вмикають локальну auth gateway. + - `openclaw gateway` запускається лише тоді, коли `gateway.mode` має значення `local` (або якщо ви передаєте прапорець override). + - Застосунок macOS стежить за файлом config і живо перемикає режими, коли ці значення змінюються. + - `gateway.remote.token` / `.password` — це лише облікові дані remote на стороні клієнта; вони самі по собі не вмикають auth локального gateway. @@ -2794,79 +2793,79 @@ x-i18n: Факти (з коду): - - Control UI зберігає токен у `sessionStorage` для поточної session вкладки браузера та вибраного URL gateway, тож оновлення в тій самій вкладці продовжують працювати без відновлення довготривалого зберігання токена в localStorage. - - За `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повтору (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`). - - Ця повторна спроба з кешованим токеном тепер повторно використовує кешовані схвалені scopes, збережені разом із токеном пристрою. Явні виклики `deviceToken` / явні `scopes` усе ще зберігають свій запитаний набір scope замість успадкування кешованих scopes. - - Поза цим шляхом повтору пріоритет auth під час підключення такий: спочатку явний shared token/password, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap token. - - Перевірки scope bootstrap token мають префікси ролей. Вбудований allowlist bootstrap operator задовольняє лише запити operator; node або інші ролі не-operator усе ще потребують scopes із префіксом власної ролі. + - Control UI зберігає token у `sessionStorage` для поточного сеансу вкладки браузера та вибраного URL gateway, тож оновлення тієї самої вкладки працюють без відновлення довготривалого збереження token у localStorage. + - За `AUTH_TOKEN_MISMATCH` довірені клієнти можуть виконати одну обмежену повторну спробу з кешованим token пристрою, коли gateway повертає підказки для повторної спроби (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`). + - Ця повторна спроба з кешованим token тепер повторно використовує кешовані схвалені scopes, збережені разом із token пристрою. Виклики з явним `deviceToken` / явними `scopes` і надалі зберігають власний запитаний набір scope замість успадкування кешованих scopes. + - Поза цим шляхом повторної спроби пріоритет auth для connect такий: спочатку явний shared token/password, потім явний `deviceToken`, потім збережений token пристрою, потім bootstrap token. + - Перевірки scope bootstrap token мають префікси ролей. Вбудований allowlist bootstrap operator задовольняє лише запити operator; node або інші ролі, що не є operator, усе одно потребують scopes під власним префіксом ролі. Виправлення: - - Найшвидше: `openclaw dashboard` (виводить + копіює URL dashboard, намагається відкрити; у headless показує підказку щодо SSH). - - Якщо у вас ще немає токена: `openclaw doctor --generate-gateway-token`. - - Якщо віддалено, спочатку налаштуйте tunnel: `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`, а потім вставте відповідний secret у налаштуваннях Control UI. - - Режим Tailscale Serve: переконайтеся, що `gateway.auth.allowTailscale` увімкнено і ви відкриваєте URL Serve, а не сирий URL loopback/tailnet, який оминає заголовки ідентичності Tailscale. - - Режим trusted-proxy: переконайтеся, що ви заходите через налаштований identity-aware proxy не на loopback, а не через loopback proxy на тому самому хості чи сирий URL gateway. - - Якщо невідповідність зберігається після однієї повторної спроби, перевипустіть/пересхваліть токен підключеного пристрою: + - Найшвидше: `openclaw dashboard` (друкує + копіює URL dashboard, намагається відкрити; показує підказку SSH, якщо середовище headless). + - Якщо у вас ще немає token: `openclaw doctor --generate-gateway-token`. + - Якщо це remote, спочатку створіть tunnel: `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`, а потім вставте відповідний secret у налаштуваннях Control UI. + - Режим Tailscale Serve: переконайтеся, що `gateway.auth.allowTailscale` увімкнено і ви відкриваєте URL Serve, а не сирий loopback/tailnet URL, який обходить заголовки ідентичності Tailscale. + - Режим trusted-proxy: переконайтеся, що ви проходите через налаштований identity-aware proxy не в loopback, а не через loopback-proxy на тому самому хості чи сирий URL gateway. + - Якщо невідповідність зберігається після однієї повторної спроби, перевидайте/повторно схваліть token paired device: - `openclaw devices list` - `openclaw devices rotate --device --role operator` - - Якщо цей виклик rotate каже, що в ньому відмовлено, перевірте дві речі: - - sessions paired-device можуть перевипускати лише **власний** пристрій, якщо в них також немає `operator.admin` - - явні значення `--scope` не можуть перевищувати поточні операторські scopes викликача - - Досі застрягли? Виконайте `openclaw status --all` і дотримуйтеся [Усунення проблем](/uk/gateway/troubleshooting). Подробиці auth див. у [Dashboard](/web/dashboard). + - Якщо ця команда rotate каже, що дію відхилено, перевірте дві речі: + - paired-device sessions можуть перевидати лише **власний** пристрій, якщо тільки вони також не мають `operator.admin` + - явні значення `--scope` не можуть перевищувати поточні operator scopes виклику + - Усе ще не вдається? Виконайте `openclaw status --all` і дотримуйтесь [Усунення несправностей](/uk/gateway/troubleshooting). Деталі auth див. у [Dashboard](/web/dashboard). - - Прив’язка `tailnet` вибирає IP-адресу Tailscale з мережевих інтерфейсів (100.64.0.0/10). Якщо машина не підключена до Tailscale (або інтерфейс вимкнений), прив’язуватися немає до чого. + + Прив’язка `tailnet` вибирає IP Tailscale з мережевих інтерфейсів вашої машини (100.64.0.0/10). Якщо машина не підключена до Tailscale (або інтерфейс неактивний), прив’язуватися нема до чого. Виправлення: - Запустіть Tailscale на цьому хості (щоб він мав адресу 100.x), або - Перемкніться на `gateway.bind: "loopback"` / `"lan"`. - Примітка: `tailnet` задається явно. `auto` віддає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли хочете прив’язку лише до tailnet. + Примітка: `tailnet` є явним режимом. `auto` надає перевагу loopback; використовуйте `gateway.bind: "tailnet"`, коли вам потрібна прив’язка лише до tailnet. - Зазвичай ні — один Gateway може обслуговувати кілька messaging channels і agents. Використовуйте кілька Gateway лише тоді, коли вам потрібна надлишковість (наприклад, резервний бот) або жорстка ізоляція. + Зазвичай ні — один Gateway може обслуговувати кілька messaging channels і agents. Використовуйте кілька Gateway лише тоді, коли вам потрібна надлишковість (наприклад, rescue bot) або жорстка ізоляція. Так, але потрібно ізолювати: - - `OPENCLAW_CONFIG_PATH` (config для кожного інстансу) - - `OPENCLAW_STATE_DIR` (state для кожного інстансу) + - `OPENCLAW_CONFIG_PATH` (config для кожного екземпляра) + - `OPENCLAW_STATE_DIR` (state для кожного екземпляра) - `agents.defaults.workspace` (ізоляція workspace) - - `gateway.port` (унікальні порти) + - `gateway.port` (унікальні ports) Швидке налаштування (рекомендовано): - - Використовуйте `openclaw --profile ...` для кожного інстансу (автоматично створює `~/.openclaw-`). - - Установіть унікальний `gateway.port` у config кожного профілю (або передайте `--port` для ручних запусків). - - Установіть сервіс для кожного профілю: `openclaw --profile gateway install`. + - Використовуйте `openclaw --profile ...` для кожного екземпляра (автоматично створює `~/.openclaw-`). + - Задайте унікальний `gateway.port` у config кожного профілю (або передавайте `--port` для ручних запусків). + - Встановіть сервіс для кожного профілю: `openclaw --profile gateway install`. - Profiles також додають суфікси до назв сервісів (`ai.openclaw.`; застарілі `com.openclaw.*`, `openclaw-gateway-.service`, `OpenClaw Gateway ()`). - Повний посібник: [Кілька gateway](/uk/gateway/multiple-gateways). + Профілі також додають суфікси до назв сервісів (`ai.openclaw.`; legacy `com.openclaw.*`, `openclaw-gateway-.service`, `OpenClaw Gateway ()`). + Повний посібник: [Кілька Gateway](/uk/gateway/multiple-gateways). - Gateway — це **сервер WebSocket**, і він очікує, що найпершим повідомленням - буде frame `connect`. Якщо він отримує щось інше, то закриває з’єднання + Gateway — це **сервер WebSocket**, і він очікує, що найперше повідомлення + буде фреймом `connect`. Якщо він отримує щось інше, то закриває з’єднання з **code 1008** (порушення політики). Поширені причини: - - Ви відкрили **HTTP** URL у браузері (`http://...`) замість клієнта WS. - - Ви використали неправильний порт або шлях. - - Proxy або tunnel прибрав auth headers або надіслав запит, який не є запитом Gateway. + - Ви відкрили URL **HTTP** у браузері (`http://...`) замість клієнта WS. + - Ви використали неправильний port або path. + - Proxy або tunnel видалив заголовки auth або надіслав запит не до Gateway. Швидкі виправлення: 1. Використовуйте URL WS: `ws://:18789` (або `wss://...`, якщо HTTPS). - 2. Не відкривайте порт WS у звичайній вкладці браузера. - 3. Якщо auth увімкнено, додайте token/password у frame `connect`. + 2. Не відкривайте port WS у звичайній вкладці браузера. + 3. Якщо auth увімкнено, включіть token/password у фрейм `connect`. Якщо ви використовуєте CLI або TUI, URL має виглядати так: @@ -2874,40 +2873,40 @@ x-i18n: openclaw tui --url ws://:18789 --token ``` - Подробиці протоколу: [Протокол Gateway](/uk/gateway/protocol). + Деталі протоколу: [Протокол Gateway](/uk/gateway/protocol). -## Logging і налагодження +## Журналювання та налагодження - - Файлові логи (структуровані): + + Файлові журнали (структуровані): ``` /tmp/openclaw/openclaw-YYYY-MM-DD.log ``` - Ви можете задати стабільний шлях через `logging.file`. Рівень file log визначається через `logging.level`. Докладність консолі контролюється через `--verbose` і `logging.consoleLevel`. + Ви можете задати стабільний path через `logging.file`. Рівнем файлів журналу керує `logging.level`. Детальністю консолі керують `--verbose` і `logging.consoleLevel`. - Найшвидший перегляд хвоста логів: + Найшвидший перегляд хвоста журналу: ```bash openclaw logs --follow ``` - Логи сервісу/supervisor (коли gateway працює через launchd/systemd): + Журнали сервісу/supervisor (коли gateway запущено через launchd/systemd): - - macOS: `$OPENCLAW_STATE_DIR/logs/gateway.log` і `gateway.err.log` (типово: `~/.openclaw/logs/...`; profiles використовують `~/.openclaw-/logs/...`) + - 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 @@ -2915,12 +2914,12 @@ x-i18n: openclaw gateway restart ``` - Якщо ви запускаєте gateway вручну, `openclaw gateway --force` може повернути порт. Див. [Gateway](/uk/gateway). + Якщо ви запускаєте gateway вручну, `openclaw gateway --force` може повторно захопити port. Див. [Gateway](/uk/gateway). - Існує **два режими встановлення у Windows**: + Є **два режими встановлення для Windows**: **1) WSL2 (рекомендовано):** Gateway працює всередині Linux. @@ -2938,7 +2937,7 @@ x-i18n: openclaw gateway run ``` - **2) Нативний Windows (не рекомендується):** Gateway працює безпосередньо у Windows. + **2) Нативний Windows (не рекомендовано):** Gateway працює безпосередньо у Windows. Відкрийте PowerShell і виконайте: @@ -2953,12 +2952,12 @@ x-i18n: openclaw gateway run ``` - Документація: [Windows (WSL2)](/uk/platforms/windows), [Інструкція з роботи сервісу Gateway](/uk/gateway). + Документація: [Windows (WSL2)](/uk/platforms/windows), [Операційний посібник із сервісу Gateway](/uk/gateway). - Почніть зі швидкої перевірки стану: + Почніть із швидкої перевірки стану: ```bash openclaw status @@ -2969,37 +2968,37 @@ x-i18n: Поширені причини: - - Auth model не завантажено на **хості gateway** (перевірте `models status`). - - Pairing/allowlist channel блокує відповіді (перевірте config channel + логи). - - WebChat/Dashboard відкрито без правильного токена. + - Auth моделі не завантажено на **хості gateway** (перевірте `models status`). + - Pairing/allowlist channel блокує відповіді (перевірте config channel + журнали). + - WebChat/Dashboard відкрито без правильного token. - Якщо ви працюєте віддалено, переконайтеся, що tunnel/Tailscale-з’єднання активне і що + Якщо ви працюєте віддалено, переконайтеся, що tunnel/Tailscale-з’єднання активне і Gateway WebSocket доступний. - Документація: [Channels](/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. Якщо віддалено, чи tunnel/Tailscale-з’єднання активне? + 1. Gateway працює? `openclaw gateway status` + 2. Gateway у нормальному стані? `openclaw status` + 3. UI має правильний token? `openclaw dashboard` + 4. Якщо це remote, чи активне з’єднання tunnel/Tailscale? - Потім перегляньте хвіст логів: + Потім перегляньте хвіст журналів: ```bash openclaw logs --follow ``` - Документація: [Dashboard](/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення проблем](/uk/gateway/troubleshooting). + Документація: [Dashboard](/web/dashboard), [Віддалений доступ](/uk/gateway/remote), [Усунення несправностей](/uk/gateway/troubleshooting). - Почніть із логів і стану channel: + Почніть із журналів і статусу channel: ```bash openclaw channels status @@ -3008,12 +3007,12 @@ x-i18n: Далі зіставте помилку: - - `BOT_COMMANDS_TOO_MUCH`: меню Telegram містить забагато записів. OpenClaw уже обрізає список до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі елементи меню все одно потрібно прибрати. Зменште кількість plugin/skill/custom-команд або вимкніть `channels.telegram.commands.native`, якщо меню вам не потрібне. - - `TypeError: fetch failed`, `Network request for 'setMyCommands' failed!` або подібні мережеві помилки: якщо ви працюєте на VPS або за proxy, переконайтеся, що вихідний HTTPS дозволено й DNS працює для `api.telegram.org`. + - `BOT_COMMANDS_TOO_MUCH`: меню Telegram містить надто багато записів. OpenClaw уже обрізає список до ліміту Telegram і повторює спробу з меншою кількістю команд, але деякі пункти меню все одно потрібно прибрати. Скоротіть plugin/skill/custom commands або вимкніть `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), [Усунення проблем із channels](/uk/channels/troubleshooting). + Документація: [Telegram](/uk/channels/telegram), [Усунення несправностей каналів](/uk/channels/troubleshooting). @@ -3029,11 +3028,11 @@ x-i18n: У TUI використовуйте `/status`, щоб побачити поточний стан. Якщо ви очікуєте відповіді в chat channel, переконайтеся, що доставку ввімкнено (`/deliver on`). - Документація: [TUI](/web/tui), [Slash-команди](/uk/tools/slash-commands). + Документація: [TUI](/web/tui), [Slash commands](/uk/tools/slash-commands). - + Якщо ви встановили сервіс: ```bash @@ -3042,7 +3041,7 @@ x-i18n: ``` Це зупиняє/запускає **сервіс під керуванням supervisor** (launchd на macOS, systemd на Linux). - Використовуйте це, коли Gateway працює у фоновому режимі як демон. + Використовуйте це, коли Gateway працює у фоновому режимі як daemon. Якщо ви запускаєте у foreground, зупиніть через Ctrl-C, а потім: @@ -3050,21 +3049,21 @@ x-i18n: openclaw gateway run ``` - Документація: [Інструкція з роботи сервісу Gateway](/uk/gateway). + Документація: [Операційний посібник із сервісу Gateway](/uk/gateway). - + - `openclaw gateway restart`: перезапускає **фоновий сервіс** (launchd/systemd). - - `openclaw gateway`: запускає gateway **у foreground** для цієї сесії термінала. + - `openclaw gateway`: запускає gateway **у foreground** для цього сеансу термінала. Якщо ви встановили сервіс, використовуйте команди gateway. Використовуйте `openclaw gateway`, коли вам потрібен одноразовий запуск у foreground. - - Запустіть Gateway з `--verbose`, щоб отримати більше деталей у консолі. Потім перевірте файл логу щодо auth channel, маршрутизації model і помилок RPC. + + Запустіть Gateway з `--verbose`, щоб отримати більше деталей у консолі. Потім перевірте файл журналу на наявність помилок auth channel, routing моделі та RPC. @@ -3072,7 +3071,7 @@ x-i18n: - Вихідні вкладення від agent мають містити рядок `MEDIA:` (в окремому рядку). Див. [Налаштування помічника OpenClaw](/uk/start/openclaw) і [Agent send](/uk/tools/agent-send). + Вихідні вкладення від agent мають містити рядок `MEDIA:` (в окремому рядку). Див. [Налаштування assistant OpenClaw](/uk/start/openclaw) і [Надсилання Agent](/uk/tools/agent-send). Надсилання через CLI: @@ -3082,10 +3081,10 @@ x-i18n: Також перевірте: - - Цільовий channel підтримує вихідні медіа і не заблокований allowlist. - - Файл відповідає обмеженням розміру provider (зображення змінюються до максимуму 2048px). + - Цільовий channel підтримує вихідні медіа й не блокується allowlist. + - Файл не перевищує обмеження розміру provider (зображення змінюються до максимуму 2048px). - `tools.fs.workspaceOnly=true` обмежує надсилання локальних шляхів workspace, temp/media-store і файлами, перевіреними sandbox. - - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які agent уже може читати, але лише для медіа плюс безпечних типів документів (зображення, аудіо, відео, PDF та документи Office). Звичайний текст і файли, схожі на секрети, усе одно блокуються. + - `tools.fs.workspaceOnly=false` дозволяє `MEDIA:` надсилати локальні файли хоста, які agent уже може читати, але лише для медіа та безпечних типів документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на secrets, усе одно блокуються. Див. [Зображення](/uk/nodes/images). @@ -3096,109 +3095,109 @@ x-i18n: - Ставтеся до вхідних DM як до недовіреного вводу. Значення за замовчуванням спроєктовані для зменшення ризику: + Ставтеся до вхідних DM як до недовіреного input. Типові налаштування розроблено для зниження ризику: - - Типова поведінка на channels, що підтримують DM, — це **pairing**: + - Типова поведінка на channels із підтримкою DM — **pairing**: - Невідомі відправники отримують код pairing; бот не обробляє їхнє повідомлення. - - Схвалення: `openclaw pairing approve --channel [--account ] ` - - Кількість очікуваних запитів обмежено **3 на channel**; перевіряйте `openclaw pairing list --channel [--account ]`, якщо код не надійшов. - - Публічне відкриття DM потребує явного opt-in (`dmPolicy: "open"` і allowlist `"*"`). + - Схвалення виконується так: `openclaw pairing approve --channel [--account ] ` + - Кількість очікуваних запитів обмежена до **3 на channel**; перевіряйте `openclaw pairing list --channel [--account ]`, якщо код не надійшов. + - Публічне відкриття DM вимагає явної згоди (`dmPolicy: "open"` і allowlist `"*"`). Запустіть `openclaw doctor`, щоб виявити ризиковані політики DM. - - Ні. Prompt injection стосується **недовіреного вмісту**, а не лише того, хто може надсилати DM боту. - Якщо ваш помічник читає зовнішній вміст (web search/fetch, сторінки браузера, email, - docs, вкладення, вставлені логи), цей вміст може містити інструкції, які намагаються - перехопити модель. Це може трапитися, навіть якщо **ви — єдиний відправник**. + + Ні. Prompt injection стосується **недовіреного контенту**, а не лише того, хто може написати боту в DM. + Якщо ваш assistant читає зовнішній контент (web search/fetch, сторінки браузера, email, + документи, вкладення, вставлені журнали), цей контент може містити інструкції, які намагаються + перехопити керування моделлю. Це може трапитися, навіть якщо **єдиний відправник — ви**. - Найбільший ризик виникає, коли ввімкнені інструменти: модель можна змусити - ексфільтрувати контекст або викликати інструменти від вашого імені. Зменшуйте зону ураження так: + Найбільший ризик виникає, коли ввімкнено інструменти: модель можна змусити + ексфільтрувати context або викликати інструменти від вашого імені. Зменшуйте радіус ураження: - - використовуйте "reader" agent у режимі лише читання або без інструментів для підсумовування недовіреного вмісту + - використовуйте agent "читач" лише для читання або без інструментів, щоб підсумовувати недовірений контент - тримайте `web_search` / `web_fetch` / `browser` вимкненими для agents з увімкненими інструментами - - також вважайте недовіреним декодований текст файлів/документів: OpenResponses - `input_file` і витягнення з медіавкладень обгортають витягнутий текст - явними маркерами меж зовнішнього вмісту замість передачі сирого тексту файлу + - ставтеся до декодованого тексту файлів/документів також як до недовіреного: OpenResponses + `input_file` і витягування тексту з медіавкладень обгортають витягнутий текст у + явні маркери меж зовнішнього контенту замість передавання сирого тексту файла - використовуйте sandboxing і суворі allowlist інструментів - Подробиці: [Security](/uk/gateway/security). + Деталі: [Безпека](/uk/gateway/security). - - Так, для більшості сценаріїв. Ізоляція бота за допомогою окремих облікових записів і номерів телефону - зменшує зону ураження, якщо щось піде не так. Це також полегшує ротацію + + Так, для більшості конфігурацій. Ізоляція бота за допомогою окремих облікових записів і номерів телефону + зменшує радіус ураження, якщо щось піде не так. Також це полегшує перевипуск облікових даних або відкликання доступу без впливу на ваші особисті облікові записи. Починайте з малого. Надавайте доступ лише до тих інструментів і облікових записів, які вам справді потрібні, і розширюйте його пізніше за потреби. - Документація: [Security](/uk/gateway/security), [Pairing](/uk/channels/pairing). + Документація: [Безпека](/uk/gateway/security), [Pairing](/uk/channels/pairing). - Ми **не** рекомендуємо повну автономність щодо ваших особистих повідомлень. Найбезпечніший шаблон: + Ми **не** рекомендуємо повну автономність над вашими особистими повідомленнями. Найбезпечніший шаблон: - - Тримайте DM у режимі **pairing** або в жорсткому allowlist. + - Тримайте DM у **режимі pairing** або з жорстким allowlist. - Використовуйте **окремий номер або обліковий запис**, якщо хочете, щоб він надсилав повідомлення від вашого імені. - - Нехай він створює чернетку, а ви **схвалюйте перед надсиланням**. + - Дозвольте йому створювати чернетки, а потім **схвалюйте перед надсиланням**. Якщо хочете поекспериментувати, робіть це на окремому обліковому записі й тримайте його ізольованим. Див. - [Security](/uk/gateway/security). + [Безпека](/uk/gateway/security). - - Так, **якщо** agent працює лише в чаті, а вхідні дані довірені. Менші рівні - більш схильні до перехоплення інструкцій, тому уникайте їх для agents з увімкненими інструментами - або під час читання недовіреного вмісту. Якщо вам усе ж потрібна менша model, жорстко обмежте - інструменти й запускайте всередині sandbox. Див. [Security](/uk/gateway/security). + + Так, **якщо** agent використовується лише для чату і input є довіреним. Менші рівні + більш схильні до викрадення інструкціями, тому уникайте їх для agents з увімкненими інструментами + або під час читання недовіреного контенту. Якщо все ж потрібно використовувати меншу модель, жорстко обмежте + інструменти і запускайте всередині sandbox. Див. [Безпека](/uk/gateway/security). - Коди pairing надсилаються **лише** коли невідомий відправник пише боту і - ввімкнено `dmPolicy: "pairing"`. Сам по собі `/start` не генерує код. + Коди pairing надсилаються **лише** тоді, коли невідомий відправник пише боту і + `dmPolicy: "pairing"` увімкнено. Сам по собі `/start` не генерує код. - Перевірте запити, що очікують: + Перевірте очікувані запити: ```bash openclaw pairing list telegram ``` - Якщо вам потрібен негайний доступ, додайте свій sender id до allowlist або встановіть `dmPolicy: "open"` + Якщо вам потрібен негайний доступ, додайте свій sender id до allowlist або задайте `dmPolicy: "open"` для цього облікового запису. - Ні. Типова політика DM у WhatsApp — **pairing**. Невідомі відправники отримують лише код pairing, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише в ті чати, з яких отримує повідомлення, або на явні надсилання, які ініціюєте ви. + Ні. Типова політика DM у WhatsApp — **pairing**. Невідомі відправники отримують лише код pairing, а їхнє повідомлення **не обробляється**. OpenClaw відповідає лише в чатах, які отримує, або на явні надсилання, які ви ініціюєте. - Схвалення pairing: + Схваліть pairing так: ```bash openclaw pairing approve whatsapp ``` - Перегляд запитів, що очікують: + Перелічіть очікувані запити: ```bash openclaw pairing list whatsapp ``` - Запит номера телефону в майстрі: він використовується для налаштування вашого **allowlist/owner**, щоб ваші власні DM були дозволені. Він не використовується для автоматичного надсилання. Якщо ви запускаєте на своєму особистому номері WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`. + Запит майстра на номер телефону: він використовується для встановлення вашого **allowlist/owner**, щоб ваші власні DM були дозволені. Він не використовується для автоматичного надсилання. Якщо ви запускаєте на своєму особистому номері WhatsApp, використовуйте цей номер і ввімкніть `channels.whatsapp.selfChatMode`. -## Команди чату, переривання завдань і "воно не зупиняється" +## Команди чату, переривання задач і "він не зупиняється" - - Більшість внутрішніх повідомлень або повідомлень інструментів з’являються лише тоді, коли для цієї session увімкнено **verbose**, **trace** або **reasoning**. + + Більшість внутрішніх повідомлень або повідомлень інструментів з’являються лише тоді, коли для цього session увімкнено **verbose**, **trace** або **reasoning**. Виправлення в чаті, де ви це бачите: @@ -3208,16 +3207,16 @@ x-i18n: /reasoning off ``` - Якщо все одно занадто шумно, перевірте налаштування session у Control UI і встановіть verbose - у значення **inherit**. Також переконайтеся, що ви не використовуєте профіль бота, у якому `verboseDefault` задано - як `on` у config. + Якщо все ще надто шумно, перевірте налаштування session у Control UI і встановіть verbose + на **inherit**. Також переконайтеся, що ви не використовуєте profile бота з `verboseDefault`, встановленим + у `on` у config. - Документація: [Thinking and verbose](/uk/tools/thinking), [Security](/uk/gateway/security#reasoning-verbose-output-in-groups). + Документація: [Thinking і verbose](/uk/tools/thinking), [Безпека](/uk/gateway/security#reasoning-verbose-output-in-groups). - - Надішліть будь-що з цього **як окреме повідомлення** (без slash): + + Надішліть будь-який із цих варіантів **як окреме повідомлення** (без slash): ``` stop @@ -3241,7 +3240,7 @@ x-i18n: interrupt ``` - Це тригери переривання (не slash-команди). + Це тригери переривання, а не slash-команди. Для фонових процесів (з інструмента exec) ви можете попросити agent виконати: @@ -3249,17 +3248,17 @@ x-i18n: process action:kill sessionId:XXX ``` - Огляд slash-команд: див. [Slash-команди](/uk/tools/slash-commands). + Огляд slash-команд: див. [Slash commands](/uk/tools/slash-commands). - Більшість команд мають надсилатися як **окреме** повідомлення, що починається з `/`, але деякі скорочення (наприклад, `/status`) також працюють inline для відправників з allowlist. + Більшість команд мають надсилатися як **окреме** повідомлення, що починається з `/`, але кілька скорочень (як-от `/status`) також працюють inline для відправників з allowlist. - - OpenClaw блокує **крос-провайдерний** обмін повідомленнями за замовчуванням. Якщо виклик інструмента прив’язано - до Telegram, він не надішле в Discord, доки ви явно цього не дозволите. + + OpenClaw типово блокує обмін повідомленнями **між різними providers**. Якщо виклик інструмента прив’язаний + до Telegram, він не надсилатиме в Discord, якщо ви явно цього не дозволите. - Увімкніть крос-провайдерний обмін повідомленнями для agent: + Увімкніть міжprovider-обмін повідомленнями для agent: ```json5 { @@ -3278,16 +3277,16 @@ x-i18n: - - Режим queue визначає, як нові повідомлення взаємодіють із поточним виконанням. Використовуйте `/queue`, щоб змінювати режими: + + Режим queue визначає, як нові повідомлення взаємодіють із поточним запущеним run. Використовуйте `/queue`, щоб змінити режими: - - `steer` - нові повідомлення перенаправляють поточне завдання - - `followup` - повідомлення виконуються по одному - - `collect` - пакетування повідомлень і одна відповідь (типово) - - `steer-backlog` - спочатку перенаправити, потім обробити беклог - - `interrupt` - перервати поточне виконання і почати заново + - `steer` — нові повідомлення перенаправляють поточну задачу + - `followup` — повідомлення виконуються по одному + - `collect` — пакетування повідомлень і одна відповідь (типово) + - `steer-backlog` — перенаправити зараз, а потім обробити backlog + - `interrupt` — перервати поточний run і почати заново - Ви можете додавати параметри, як-от `debounce:2s cap:25 drop:summarize`, для режимів followup. + Ви можете додавати параметри на кшталт `debounce:2s cap:25 drop:summarize` для режимів followup. @@ -3295,11 +3294,11 @@ x-i18n: ## Різне - - В OpenClaw облікові дані й вибір model — це окремі речі. Установлення `ANTHROPIC_API_KEY` (або збереження API-ключа Anthropic в auth profiles) вмикає автентифікацію, але фактична model за замовчуванням — це те, що ви налаштовуєте в `agents.defaults.model.primary` (наприклад, `anthropic/claude-sonnet-4-6` або `anthropic/claude-opus-4-6`). Якщо ви бачите `No credentials found for profile "anthropic:default"`, це означає, що Gateway не зміг знайти облікові дані Anthropic в очікуваному `auth-profiles.json` для agent, який виконується. + + В OpenClaw облікові дані та вибір моделі розділено. Встановлення `ANTHROPIC_API_KEY` (або збереження Anthropic API key в auth profiles) вмикає автентифікацію, але фактична типова модель — це те, що ви налаштували в `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, який зараз працює. --- -Усе ще застрягли? Запитайте в [Discord](https://discord.com/invite/clawd) або відкрийте [обговорення GitHub](https://github.com/openclaw/openclaw/discussions). +Усе ще застрягли? Запитайте в [Discord](https://discord.com/invite/clawd) або відкрийте [обговорення на GitHub](https://github.com/openclaw/openclaw/discussions). diff --git a/docs/uk/install/index.md b/docs/uk/install/index.md index 04ce8c0e9..09557bcd3 100644 --- a/docs/uk/install/index.md +++ b/docs/uk/install/index.md @@ -1,15 +1,15 @@ --- read_when: - - Вам потрібен спосіб встановлення, відмінний від швидкого старту Getting Started + - Вам потрібен спосіб встановлення, відмінний від короткого посібника Getting Started - Ви хочете розгорнути на хмарній платформі - Вам потрібно оновити, перенести або видалити -summary: Встановлення OpenClaw — скрипт встановлення, npm/pnpm/bun, зі source, Docker та інше -title: Встановлення +summary: Встановити OpenClaw — скрипт встановлення, npm/pnpm/bun, зі source, Docker та інше +title: Встановити x-i18n: - generated_at: "2026-04-05T18:07:51Z" + generated_at: "2026-04-19T06:50:09Z" model: gpt-5.4 provider: openai - source_hash: eca17c76a2a66166b3d8cda9dc3144ab920d30ad0ed2a220eb9389d7a383ba5d + source_hash: ad0a5fdbbf13dcaf2fed6840f35aa22b2e9e458509509f98303c8d87c2556a6f source_path: install/index.md workflow: 15 --- @@ -18,7 +18,7 @@ x-i18n: ## Рекомендовано: скрипт встановлення -Найшвидший спосіб встановлення. Він визначає вашу ОС, встановлює Node за потреби, встановлює OpenClaw і запускає onboarding. +Найшвидший спосіб встановлення. Він визначає вашу ОС, за потреби встановлює Node, встановлює OpenClaw і запускає онбординг. @@ -33,7 +33,7 @@ x-i18n: -Щоб встановити без запуску onboarding: +Щоб встановити без запуску онбордингу: @@ -48,27 +48,27 @@ x-i18n: -Усі прапорці та параметри для CI/automation див. у [Внутрішня будова інсталятора](/install/installer). +Усі прапорці та параметри для CI/автоматизації дивіться в [Внутрішні механізми інсталятора](/uk/install/installer). ## Системні вимоги - **Node 24** (рекомендовано) або Node 22.14+ — скрипт встановлення обробляє це автоматично -- **macOS, Linux або Windows** — підтримуються як нативний Windows, так і WSL2; WSL2 стабільніший. Див. [Windows](/platforms/windows). +- **macOS, Linux або Windows** — підтримуються як нативний Windows, так і WSL2; WSL2 стабільніший. Див. [Windows](/uk/platforms/windows). - `pnpm` потрібен лише якщо ви збираєте зі source ## Альтернативні способи встановлення -### Інсталятор з локальним префіксом (`install-cli.sh`) +### Інсталятор із локальним префіксом (`install-cli.sh`) -Використовуйте це, якщо хочете зберігати OpenClaw і Node під локальним префіксом, таким як -`~/.openclaw`, не покладаючись на загальносистемне встановлення Node: +Використовуйте це, якщо хочете, щоб OpenClaw і Node зберігалися в локальному префіксі, наприклад +`~/.openclaw`, без залежності від системного встановлення Node: ```bash curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` -Типово він підтримує встановлення через npm, а також встановлення з git checkout у межах того самого -процесу з локальним префіксом. Повний довідник: [Внутрішня будова інсталятора](/install/installer#install-clish). +За замовчуванням він підтримує встановлення через npm, а також встановлення з git checkout у межах того самого +потоку з префіксом. Повний довідник: [Внутрішні механізми інсталятора](/uk/install/installer#install-clish). ### npm, pnpm або bun @@ -89,7 +89,7 @@ curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` - pnpm вимагає явного схвалення для пакетів зі скриптами збирання. Після першого встановлення виконайте `pnpm approve-builds -g`. + pnpm вимагає явного схвалення для пакетів зі скриптами збірки. Після першого встановлення виконайте `pnpm approve-builds -g`. @@ -100,13 +100,13 @@ curl -fsSL https://openclaw.ai/install-cli.sh | bash ``` - Bun підтримується для глобального шляху встановлення CLI. Для runtime Gateway Node як і раніше залишається рекомендованим runtime для daemon. + Bun підтримується для шляху глобального встановлення CLI. Для середовища виконання Gateway рекомендованим середовищем виконання демона залишається Node. - + Якщо `sharp` завершується помилкою через глобально встановлений libvips: ```bash @@ -122,12 +122,12 @@ SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw@latest ```bash git clone https://github.com/openclaw/openclaw.git cd openclaw -pnpm install && pnpm ui:build && pnpm build +pnpm install && pnpm build && pnpm ui:build pnpm link --global openclaw onboard --install-daemon ``` -Або пропустіть link і використовуйте `pnpm openclaw ...` зсередини репозиторію. Повні dev-процеси див. у [Налаштування](/start/setup). +Або пропустіть link і використовуйте `pnpm openclaw ...` всередині репозиторію. Повні робочі процеси розробки дивіться в [Налаштування](/uk/start/setup). ### Встановлення з GitHub main @@ -138,82 +138,82 @@ npm install -g github:openclaw/openclaw#main ### Контейнери та менеджери пакетів - + Контейнеризовані або headless-розгортання. - - Rootless-контейнерна альтернатива Docker. + + Rootless-альтернатива Docker. - + Декларативне встановлення через Nix flake. - - Автоматизоване підготовлення інфраструктури. + + Автоматизоване підготовлення парку систем. - - Використання лише CLI через runtime Bun. + + Використання лише CLI через середовище виконання Bun. ## Перевірка встановлення ```bash -openclaw --version # confirm the CLI is available -openclaw doctor # check for config issues -openclaw gateway status # verify the Gateway is running +openclaw --version # підтвердити, що CLI доступний +openclaw doctor # перевірити проблеми конфігурації +openclaw gateway status # перевірити, що Gateway запущено ``` -Якщо ви хочете керований запуск після встановлення: +Якщо після встановлення ви хочете керований запуск: - macOS: LaunchAgent через `openclaw onboard --install-daemon` або `openclaw gateway install` -- Linux/WSL2: systemd user service через ті самі команди -- Нативний Windows: спочатку Scheduled Task, із резервним варіантом per-user login item у теці Startup, якщо створення завдання відхилено +- Linux/WSL2: користувацька служба systemd через ті самі команди +- Нативний Windows: спочатку Scheduled Task, із резервним варіантом елемента входу в систему в папці Startup для конкретного користувача, якщо створення завдання заборонено ## Хостинг і розгортання Розгорніть OpenClaw на хмарному сервері або VPS: - Будь-який Linux VPS - Спільні кроки для Docker - K8s - Fly.io - Hetzner - Google Cloud - Azure - Railway - Render - Northflank + Будь-який Linux VPS + Спільні кроки для Docker + K8s + Fly.io + Hetzner + Google Cloud + Azure + Railway + Render + Northflank ## Оновлення, перенесення або видалення - + Підтримуйте OpenClaw в актуальному стані. - - Перенесіть на нову машину. + + Перехід на нову машину. - - Повністю видаліть OpenClaw. + + Повністю видалити OpenClaw. -## Усунення несправностей: `openclaw` не знайдено +## Усунення проблем: `openclaw` не знайдено -Якщо встановлення пройшло успішно, але `openclaw` не знаходиться у вашому терміналі: +Якщо встановлення виконалося успішно, але `openclaw` не знаходиться у вашому терміналі: ```bash -node -v # Node installed? -npm prefix -g # Where are global packages? -echo "$PATH" # Is the global bin dir in PATH? +node -v # Node встановлено? +npm prefix -g # Де розташовані глобальні пакети? +echo "$PATH" # Чи є глобальний каталог bin у PATH? ``` -Якщо `$(npm prefix -g)/bin` немає у вашому `$PATH`, додайте його до файлу запуску shell (`~/.zshrc` або `~/.bashrc`): +Якщо `$(npm prefix -g)/bin` відсутній у вашому `$PATH`, додайте його до файлу запуску оболонки (`~/.zshrc` або `~/.bashrc`): ```bash export PATH="$(npm prefix -g)/bin:$PATH" ``` -Потім відкрийте новий термінал. Докладніше див. у [Налаштування Node](/install/node). +Потім відкрийте новий термінал. Докладніше дивіться в [Налаштування Node](/uk/install/node). diff --git a/docs/uk/platforms/windows.md b/docs/uk/platforms/windows.md index a0870fb5f..6625dadab 100644 --- a/docs/uk/platforms/windows.md +++ b/docs/uk/platforms/windows.md @@ -1,40 +1,40 @@ --- read_when: - Встановлення OpenClaw на Windows - - Вибір між нативним Windows і WSL2 - - Пошук інформації про стан супутнього застосунку для Windows -summary: 'Підтримка Windows: нативний шлях встановлення та через WSL2, служба та поточні застереження' + - Вибір між власним Windows і WSL2 + - Пошук статусу супутнього застосунку для Windows +summary: 'Підтримка Windows: власні шляхи встановлення та через WSL2, демон і поточні застереження' title: Windows x-i18n: - generated_at: "2026-04-05T18:11:13Z" + generated_at: "2026-04-19T06:50:05Z" model: gpt-5.4 provider: openai - source_hash: 7d9819206bdd65cf03519c1bc73ed0c7889b0ab842215ea94343262300adfd14 + source_hash: 1e7451c785a1d75c809522ad93e2c44a00b211f77f14c5c489fd0b01840d3fe2 source_path: platforms/windows.md workflow: 15 --- # Windows -OpenClaw підтримує як **нативний Windows**, так і **WSL2**. WSL2 — стабільніший шлях, і його рекомендовано для повного досвіду використання: CLI, Gateway та інструментарій працюють усередині Linux з повною сумісністю. Нативний Windows підходить для основних сценаріїв CLI і Gateway, з деякими застереженнями, наведеними нижче. +OpenClaw підтримує як **власний Windows**, так і **WSL2**. WSL2 — це стабільніший шлях, рекомендований для повноцінного використання: CLI, Gateway і супутні інструменти працюють усередині Linux із повною сумісністю. Власний Windows підходить для базового використання CLI і Gateway, з деякими застереженнями, наведеними нижче. -Нативні супутні застосунки для Windows заплановані. +Супутні застосунки для Windows заплановані. ## WSL2 (рекомендовано) -- [Початок роботи](/start/getting-started) (використовуйте всередині WSL) -- [Встановлення та оновлення](/uk/install/updating) +- [Початок роботи](/uk/start/getting-started) (використовуйте всередині WSL) +- [Встановлення й оновлення](/uk/install/updating) - Офіційний посібник із WSL2 (Microsoft): [https://learn.microsoft.com/windows/wsl/install](https://learn.microsoft.com/windows/wsl/install) -## Стан нативного Windows +## Статус власного Windows -Сценарії CLI для нативного Windows покращуються, але WSL2 все ще є рекомендованим шляхом. +Потоки CLI для власного Windows покращуються, але WSL2 усе ще залишається рекомендованим шляхом. -Що сьогодні добре працює на нативному Windows: +Що сьогодні добре працює у власному Windows: -- інсталятор із вебсайту через `install.ps1` +- інсталятор із сайту через `install.ps1` - локальне використання CLI, наприклад `openclaw --version`, `openclaw doctor` і `openclaw plugins list --json` -- вбудовані перевірки local-agent/provider, наприклад: +- вбудований локальний smoke-тест agent/provider, наприклад: ```powershell openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOWS-HATCH-OK." @@ -42,31 +42,31 @@ openclaw agent --local --agent main --thinking low -m "Reply with exactly WINDOW Поточні застереження: -- `openclaw onboard --non-interactive` досі очікує доступний локальний шлюз, якщо не передати `--skip-health` -- `openclaw onboard --non-interactive --install-daemon` і `openclaw gateway install` спочатку намагаються використовувати Windows Scheduled Tasks -- якщо створення Scheduled Task заборонено, OpenClaw переходить до резервного варіанта з елементом входу per-user у папці Startup і негайно запускає шлюз -- якщо сам `schtasks` зависає або перестає відповідати, OpenClaw тепер швидко перериває цей шлях і переходить до резервного варіанта замість того, щоб зависнути назавжди -- Scheduled Tasks усе ще є бажаним варіантом, коли вони доступні, оскільки вони забезпечують кращий стан наглядача +- `openclaw onboard --non-interactive` досі очікує доступний локальний gateway, якщо не передати `--skip-health` +- `openclaw onboard --non-interactive --install-daemon` і `openclaw gateway install` спочатку намагаються використати Windows Scheduled Tasks +- якщо створення Scheduled Task заборонене, OpenClaw переключається на елемент автозапуску під час входу через Startup folder для поточного користувача і негайно запускає gateway +- якщо сам `schtasks` зависає або перестає відповідати, OpenClaw тепер швидко перериває цей шлях і переходить до резервного варіанту замість того, щоб зависати назавжди +- Scheduled Tasks усе ще є пріоритетним варіантом, коли вони доступні, оскільки забезпечують кращий статус супервізора -Якщо вам потрібен лише нативний CLI, без встановлення служби шлюзу, використовуйте один із цих варіантів: +Якщо вам потрібен лише власний CLI, без встановлення служби gateway, використовуйте один із цих варіантів: ```powershell openclaw onboard --non-interactive --skip-health openclaw gateway run ``` -Якщо ж вам потрібен керований автозапуск у нативному Windows: +Якщо ж вам потрібен керований автозапуск у власному Windows: ```powershell openclaw gateway install openclaw gateway status --json ``` -Якщо створення Scheduled Task заблоковано, резервний режим служби все одно автоматично запускається після входу через папку Startup поточного користувача. +Якщо створення Scheduled Task заблоковане, резервний режим служби все одно автоматично запускається після входу через Startup folder поточного користувача. ## Gateway -- [Посібник із Gateway](/uk/gateway) +- [Інструкція з Gateway](/uk/gateway) - [Конфігурація](/uk/gateway/configuration) ## Встановлення служби Gateway (CLI) @@ -89,9 +89,9 @@ openclaw gateway install openclaw configure ``` -Коли буде запит, виберіть **Gateway service**. +Коли з’явиться запит, виберіть **Gateway service**. -Виправлення/міграція: +Відновлення/міграція: ``` openclaw doctor @@ -99,9 +99,9 @@ openclaw doctor ## Автозапуск Gateway до входу в Windows -Для безголових конфігурацій переконайтеся, що весь ланцюжок завантаження працює, навіть коли ніхто не входить у Windows. +Для безголових конфігурацій переконайтеся, що весь ланцюжок запуску виконується, навіть коли ніхто не входить у Windows. -### 1) Зберігайте роботу служб користувача без входу +### 1) Залишайте користувацькі служби активними без входу Усередині WSL: @@ -109,7 +109,7 @@ openclaw doctor sudo loginctl enable-linger "$(whoami)" ``` -### 2) Установіть службу користувача шлюзу OpenClaw +### 2) Встановіть користувацьку службу gateway OpenClaw Усередині WSL: @@ -140,9 +140,12 @@ systemctl --user is-enabled openclaw-gateway.service systemctl --user status openclaw-gateway.service --no-pager ``` -## Додатково: відкриття служб WSL у LAN (portproxy) +## Додатково: відкриття сервісів WSL у LAN (portproxy) -WSL має власну віртуальну мережу. Якщо іншому комп’ютеру потрібно звернутися до служби, що працює **всередині WSL** (SSH, локальний сервер TTS або Gateway), ви маєте переспрямувати порт Windows на поточну IP-адресу WSL. IP-адреса WSL змінюється після перезапусків, тому може знадобитися оновлювати правило переспрямування. +WSL має власну віртуальну мережу. Якщо іншій машині потрібно підключитися до сервісу, +що працює **всередині WSL** (SSH, локальний сервер TTS або Gateway), ви маєте +перенаправити порт Windows на поточну IP-адресу WSL. IP-адреса WSL змінюється після перезапусків, +тому може знадобитися оновлювати правило перенаправлення. Приклад (PowerShell **від імені адміністратора**): @@ -175,27 +178,29 @@ netsh interface portproxy add v4tov4 listenport=$ListenPort listenaddress=0.0.0. Примітки: -- SSH з іншого комп’ютера має бути спрямований на **IP-адресу хоста Windows** (наприклад: `ssh user@windows-host -p 2222`). -- Віддалені вузли мають вказувати на **доступну** URL-адресу Gateway (не `127.0.0.1`); використовуйте `openclaw status --all` для перевірки. +- SSH з іншої машини має підключатися до **IP-адреси хоста Windows** (наприклад: `ssh user@windows-host -p 2222`). +- Віддалені nodes мають вказувати на **доступний** URL Gateway (не `127.0.0.1`); використовуйте + `openclaw status --all` для перевірки. - Використовуйте `listenaddress=0.0.0.0` для доступу з LAN; `127.0.0.1` залишає доступ лише локальним. -- Якщо ви хочете автоматизувати це, зареєструйте Scheduled Task для запуску кроку оновлення під час входу в систему. +- Якщо ви хочете автоматизувати це, зареєструйте Scheduled Task для запуску + кроку оновлення під час входу в систему. ## Покрокове встановлення WSL2 -### 1) Установіть WSL2 + Ubuntu +### 1) Встановіть WSL2 + Ubuntu Відкрийте PowerShell (Admin): ```powershell wsl --install -# Або явно виберіть дистрибутив: +# Or pick a distro explicitly: wsl --list --online wsl --install -d Ubuntu-24.04 ``` Перезавантажте систему, якщо Windows попросить. -### 2) Увімкніть systemd (потрібно для встановлення Gateway) +### 2) Увімкніть systemd (потрібно для встановлення gateway) У вашому терміналі WSL: @@ -206,33 +211,44 @@ systemd=true EOF ``` -Потім із PowerShell: +Потім у PowerShell: ```powershell wsl --shutdown ``` -Знову відкрийте Ubuntu, а потім перевірте: +Знову відкрийте Ubuntu, потім перевірте: ```bash systemctl --user status ``` -### 3) Установіть OpenClaw (усередині WSL) +### 3) Встановіть OpenClaw (усередині WSL) -Дотримуйтесь потоку Linux Getting Started всередині WSL: +Для звичайного першого налаштування всередині WSL дотримуйтеся Linux-процесу з розділу Початок роботи: ```bash git clone https://github.com/openclaw/openclaw.git cd openclaw pnpm install -pnpm ui:build # автоматично встановлює залежності UI під час першого запуску pnpm build -openclaw onboard +pnpm ui:build +pnpm openclaw onboard --install-daemon ``` -Повний посібник: [Початок роботи](/start/getting-started) +Якщо ви розробляєте із сирцевого коду замість першого проходження onboarding, використовуйте +цикл розробки з сирцевого коду з [Налаштування](/uk/start/setup): + +```bash +pnpm install +# First run only (or after resetting local OpenClaw config/workspace) +pnpm openclaw setup +pnpm gateway:watch +``` + +Повний посібник: [Початок роботи](/uk/start/getting-started) ## Супутній застосунок для Windows -У нас ще немає супутнього застосунку для Windows. Вітаються внески, якщо ви хочете допомогти зробити це можливим. +У нас ще немає супутнього застосунку для Windows. Ми будемо раді внескам, якщо ви хочете +допомогти зробити це можливим. diff --git a/docs/uk/start/setup.md b/docs/uk/start/setup.md index 24b502c17..6d7efa9f9 100644 --- a/docs/uk/start/setup.md +++ b/docs/uk/start/setup.md @@ -1,14 +1,14 @@ --- read_when: - Налаштування нової машини - - Ви хочете “latest + greatest” без шкоди для свого особистого налаштування + - Ви хочете отримати «найновіше й найкраще», не ламаючи своє особисте налаштування. summary: Розширене налаштування та робочі процеси розробки для OpenClaw title: Налаштування x-i18n: - generated_at: "2026-04-05T18:18:07Z" + generated_at: "2026-04-19T06:50:06Z" model: gpt-5.4 provider: openai - source_hash: be4e280dde7f3a224345ca557ef2fb35a9c9db8520454ff63794ac6f8d4e71e7 + source_hash: 773cdbef5f38b069303b5e13fca5fcdc28f082746869f17b8b92aab1610b95a8 source_path: start/setup.md workflow: 15 --- @@ -16,36 +16,36 @@ x-i18n: # Налаштування -Якщо ви налаштовуєте все вперше, почніть із [Getting Started](/start/getting-started). -Подробиці онбордингу дивіться в [Onboarding (CLI)](/start/wizard). +Якщо ви налаштовуєте все вперше, почніть із [Початок роботи](/uk/start/getting-started). +Докладніше про онбординг дивіться в [Онбординг (CLI)](/uk/start/wizard). -## TL;DR +## Коротко -- **Користувацькі налаштування зберігаються поза репозиторієм:** `~/.openclaw/workspace` (робочий простір) + `~/.openclaw/openclaw.json` (конфігурація). -- **Стабільний робочий процес:** установіть застосунок macOS і дозвольте йому запускати вбудований Gateway. -- **Робочий процес на bleeding edge:** запускайте Gateway самостійно через `pnpm gateway:watch`, а потім дозвольте застосунку macOS підключитися в режимі Local. +- **Персоналізація зберігається поза репозиторієм:** `~/.openclaw/workspace` (workspace) + `~/.openclaw/openclaw.json` (config). +- **Стабільний робочий процес:** встановіть застосунок macOS; дозвольте йому запускати вбудований Gateway. +- **Найновіший робочий процес:** запускайте Gateway самостійно через `pnpm gateway:watch`, а потім дозвольте застосунку macOS підключитися в режимі Local. -## Передумови (зі source-коду) +## Передумови (зі source) - Рекомендовано Node 24 (Node 22 LTS, наразі `22.14+`, також підтримується) - Бажано `pnpm` (або Bun, якщо ви свідомо використовуєте [робочий процес Bun](/uk/install/bun)) - Docker (необов’язково; лише для контейнеризованого налаштування/e2e — див. [Docker](/uk/install/docker)) -## Стратегія кастомізації (щоб оновлення не шкодили) +## Стратегія персоналізації (щоб оновлення не шкодили) -Якщо ви хочете “100% tailored to me” _і_ простих оновлень, зберігайте свою кастомізацію в: +Якщо ви хочете «100% налаштовано під мене» _і_ прості оновлення, зберігайте свої налаштування в: -- **Конфігурації:** `~/.openclaw/openclaw.json` (щось на кшталт JSON/JSON5) -- **Робочому просторі:** `~/.openclaw/workspace` (skills, prompts, memories; зробіть його приватним git-репозиторієм) +- **Config:** `~/.openclaw/openclaw.json` (щось на кшталт JSON/JSON5) +- **Workspace:** `~/.openclaw/workspace` (Skills, prompts, memories; зробіть це приватним git-репозиторієм) -Одноразове bootstrap-налаштування: +Одноразове початкове налаштування: ```bash openclaw setup ``` -Зсередини цього репозиторію використовуйте локальну точку входу CLI: +Усередині цього репозиторію використовуйте локальний запис CLI: ```bash openclaw setup @@ -55,7 +55,7 @@ openclaw setup ## Запуск Gateway з цього репозиторію -Після `pnpm build` ви можете запускати зібраний CLI напряму: +Після `pnpm build` ви можете запускати запакований CLI напряму: ```bash node openclaw.mjs gateway --port 18789 --verbose @@ -63,10 +63,10 @@ node openclaw.mjs gateway --port 18789 --verbose ## Стабільний робочий процес (спочатку застосунок macOS) -1. Установіть і запустіть **OpenClaw.app** (рядок меню). +1. Встановіть і запустіть **OpenClaw.app** (рядок меню). 2. Завершіть чекліст онбордингу/дозволів (запити TCC). -3. Переконайтеся, що Gateway перебуває в режимі **Local** і запущений (застосунок керує ним). -4. Підключіть поверхні (наприклад: WhatsApp): +3. Переконайтеся, що Gateway у режимі **Local** і запущений (застосунок керує ним). +4. Підключіть канали (приклад: WhatsApp): ```bash openclaw channels login @@ -78,17 +78,17 @@ openclaw channels login openclaw health ``` -Якщо у вашій збірці онбординг недоступний: +Якщо онбординг недоступний у вашій збірці: - Запустіть `openclaw setup`, потім `openclaw channels login`, а потім вручну запустіть Gateway (`openclaw gateway`). -## Робочий процес на bleeding edge (Gateway у терміналі) +## Найновіший робочий процес (Gateway у терміналі) -Мета: працювати над TypeScript Gateway, отримати hot reload і зберегти підключення UI застосунку macOS. +Мета: працювати з Gateway на TypeScript, отримати гаряче перезавантаження та зберегти підключений UI застосунку macOS. -### 0) (Необов’язково) Також запускайте застосунок macOS із source-коду +### 0) (Необов’язково) Також запускайте застосунок macOS зі source -Якщо ви теж хочете мати застосунок macOS на bleeding edge: +Якщо ви також хочете використовувати застосунок macOS у найновішому режимі: ```bash ./scripts/restart-mac.sh @@ -98,16 +98,22 @@ openclaw health ```bash pnpm install +# Лише під час першого запуску (або після скидання локальних config/workspace OpenClaw) +pnpm openclaw setup pnpm gateway:watch ``` -`gateway:watch` запускає gateway у режимі спостереження та перезавантажує його при релевантних змінах source-коду, -конфігурації та метаданих комплектних плагінів. +`gateway:watch` запускає gateway у режимі watch і перезавантажує його після відповідних змін у source, +config і метаданих вбудованих Plugin. +`pnpm openclaw setup` — це одноразовий крок ініціалізації локальних config/workspace для свіжого checkout. +`pnpm gateway:watch` не перебудовує `dist/control-ui`, тому після змін у `ui/` повторно запускайте `pnpm ui:build` або використовуйте `pnpm ui:dev` під час розробки Control UI. Якщо ви свідомо використовуєте робочий процес Bun, еквівалентні команди такі: ```bash bun install +# Лише під час першого запуску (або після скидання локальних config/workspace OpenClaw) +bun run openclaw setup bun run gateway:watch ``` @@ -120,60 +126,60 @@ bun run gateway:watch ### 3) Перевірте -- У застосунку статус Gateway має показувати **“Using existing gateway …”** +- У застосунку статус Gateway має показувати **«Using existing gateway …»** - Або через CLI: ```bash openclaw health ``` -### Поширені пастки +### Поширені підводні камені - **Неправильний порт:** WS Gateway типово використовує `ws://127.0.0.1:18789`; застосунок і CLI мають використовувати той самий порт. - **Де зберігається стан:** - Стан каналів/провайдерів: `~/.openclaw/credentials/` - - Профілі автентифікації моделей: `~/.openclaw/agents//agent/auth-profiles.json` + - Профілі auth моделей: `~/.openclaw/agents//agent/auth-profiles.json` - Сесії: `~/.openclaw/agents//sessions/` - - Журнали: `/tmp/openclaw/` + - Логи: `/tmp/openclaw/` ## Карта зберігання облікових даних -Використовуйте це під час налагодження автентифікації або щоб вирішити, що слід резервно копіювати: +Використовуйте це під час налагодження auth або щоб вирішити, що саме варто резервувати: - **WhatsApp**: `~/.openclaw/credentials/whatsapp//creds.json` -- **Токен бота Telegram**: config/env або `channels.telegram.tokenFile` (лише звичайний файл; симлінки відхиляються) -- **Токен бота Discord**: config/env або SecretRef (провайдери env/file/exec) +- **Токен Telegram-бота**: config/env або `channels.telegram.tokenFile` (лише звичайний файл; symlink відхиляються) +- **Токен Discord-бота**: config/env або SecretRef (провайдери env/file/exec) - **Токени Slack**: config/env (`channels.slack.*`) -- **Списки дозволених для сполучення**: - - `~/.openclaw/credentials/-allowFrom.json` (типовий акаунт) - - `~/.openclaw/credentials/--allowFrom.json` (нетипові акаунти) -- **Профілі автентифікації моделей**: `~/.openclaw/agents//agent/auth-profiles.json` -- **Корисне навантаження секретів із файловим бекендом (необов’язково)**: `~/.openclaw/secrets.json` +- **Allowlist для парування**: + - `~/.openclaw/credentials/-allowFrom.json` (обліковий запис за замовчуванням) + - `~/.openclaw/credentials/--allowFrom.json` (облікові записи не за замовчуванням) +- **Профілі auth моделей**: `~/.openclaw/agents//agent/auth-profiles.json` +- **Payload секретів, що зберігається у файлі (необов’язково)**: `~/.openclaw/secrets.json` - **Імпорт застарілого OAuth**: `~/.openclaw/credentials/oauth.json` Докладніше: [Безпека](/uk/gateway/security#credential-storage-map). -## Оновлення (без руйнування вашого налаштування) +## Оновлення (не руйнуючи ваше налаштування) -- Зберігайте `~/.openclaw/workspace` і `~/.openclaw/` як “ваші дані”; не розміщуйте особисті prompts/конфігурацію в репозиторії `openclaw`. -- Оновлення source-коду: `git pull` + обраний вами крок встановлення пакетного менеджера (`pnpm install` типово; `bun install` для робочого процесу Bun) + продовжуйте використовувати відповідну команду `gateway:watch`. +- Зберігайте `~/.openclaw/workspace` і `~/.openclaw/` як «ваші дані»; не кладіть особисті prompts/config у репозиторій `openclaw`. +- Оновлення source: `git pull` + вибраний вами крок встановлення пакетного менеджера (`pnpm install` за замовчуванням; `bun install` для робочого процесу Bun) + і далі використовуйте відповідну команду `gateway:watch`. -## Linux (сервіс користувача systemd) +## Linux (сервіс systemd користувача) -Установлення на Linux використовують сервіс systemd **user**. Типово systemd зупиняє користувацькі -сервіси під час виходу з системи/бездіяльності, що вимикає Gateway. Онбординг намагається увімкнути -linger за вас (може запитати sudo). Якщо це все ще вимкнено, виконайте: +Встановлення Linux використовують **користувацький** сервіс systemd. Типово systemd зупиняє +користувацькі сервіси під час виходу з системи/бездіяльності, що зупиняє Gateway. Онбординг намагається +увімкнути lingering за вас (може попросити sudo). Якщо це все ще вимкнено, виконайте: ```bash sudo loginctl enable-linger $USER ``` -Для завжди увімкнених або багатокористувацьких серверів розгляньте **system**-сервіс замість -користувацького сервісу (linger не потрібен). Див. [операційний посібник Gateway](/uk/gateway) щодо приміток про systemd. +Для серверів, що мають працювати постійно або обслуговувати кількох користувачів, розгляньте **системний** сервіс замість +користувацького сервісу (lingering не потрібен). Див. [Інструкцію з експлуатації Gateway](/uk/gateway) щодо приміток про systemd. -## Пов’язана документація +## Пов’язані документи -- [Операційний посібник Gateway](/uk/gateway) (прапорці, супервізія, порти) -- [Конфігурація Gateway](/uk/gateway/configuration) (схема конфігурації + приклади) -- [Discord](/uk/channels/discord) і [Telegram](/uk/channels/telegram) (теги відповідей + налаштування replyToMode) -- [Налаштування помічника OpenClaw](/start/openclaw) -- [Застосунок macOS](/uk/platforms/macos) (життєвий цикл gateway) +- [Інструкція з експлуатації Gateway](/uk/gateway) (прапорці, супервізія, порти) +- [Конфігурація Gateway](/uk/gateway/configuration) (схема config + приклади) +- [Discord](/uk/channels/discord) і [Telegram](/uk/channels/telegram) (теги відповіді + налаштування replyToMode) +- [Налаштування асистента OpenClaw](/uk/start/openclaw) +- [застосунок macOS](/uk/platforms/macos) (життєвий цикл gateway)