diff --git a/docs/uk/concepts/session-tool.md b/docs/uk/concepts/session-tool.md index aa8641cbd..0fcb4973b 100644 --- a/docs/uk/concepts/session-tool.md +++ b/docs/uk/concepts/session-tool.md @@ -1,41 +1,41 @@ --- read_when: - - Ви хочете зрозуміти, які інструменти сесії має агент - - Ви хочете налаштувати міжсесійний доступ або створення під-агентів - - Ви хочете перевірити статус або керувати створеними підагентами -summary: Інструменти агентів для міжсеансового статусу, пригадування, обміну повідомленнями та оркестрації субагентів + - Ви хочете зрозуміти, які інструменти сеансу має агент + - Ви хочете налаштувати доступ між сеансами або створення під-агентів + - Ви хочете перевірити статус або керувати створеними субагентами +summary: Інструменти агента для статусу між сесіями, пригадування, обміну повідомленнями та оркестрації субагентів title: Інструменти сеансу x-i18n: - generated_at: "2026-04-28T19:38:58Z" + generated_at: "2026-05-02T05:00:33Z" model: gpt-5.5 provider: openai - source_hash: 0464116d42e271da12cbe90529e06e9f51605981be85b54bb5850ee9b8fb7824 + source_hash: e9343d42319492ac4531edd6e6c217eae13e9c5f7b8a3fc25a345395d9f57246 source_path: concepts/session-tool.md workflow: 16 --- -OpenClaw надає агентам інструменти для роботи між сеансами, перевірки статусу та -оркестрування субагентів. +OpenClaw надає агентам інструменти для роботи між сеансами, перевірки стану та +оркестрації субагентів. ## Доступні інструменти -| Інструмент | Що він робить | -| ----------------- | ---------------------------------------------------------------------------- | -| `sessions_list` | Перелічує сеанси з необов'язковими фільтрами (тип, мітка, агент, давність, попередній перегляд) | -| `sessions_history` | Читає транскрипт певного сеансу | -| `sessions_send` | Надсилає повідомлення до іншого сеансу та, за потреби, очікує | +| Інструмент | Що він робить | +| ------------------ | --------------------------------------------------------------------------- | +| `sessions_list` | Перелічує сеанси з необов’язковими фільтрами (тип, мітка, агент, давність, попередній перегляд) | +| `sessions_history` | Читає транскрипт певного сеансу | +| `sessions_send` | Надсилає повідомлення до іншого сеансу й, за потреби, очікує | | `sessions_spawn` | Запускає ізольований сеанс субагента для фонової роботи | | `sessions_yield` | Завершує поточний хід і очікує подальших результатів субагента | -| `subagents` | Перелічує, спрямовує або зупиняє створених субагентів для цього сеансу | -| `session_status` | Показує картку у стилі `/status` і, за потреби, встановлює перевизначення моделі для окремого сеансу | +| `subagents` | Перелічує, спрямовує або зупиняє запущених субагентів для цього сеансу | +| `session_status` | Показує картку в стилі `/status` і, за потреби, задає перевизначення моделі для сеансу | На ці інструменти все ще поширюються активний профіль інструментів і політика -дозволу/заборони. `tools.profile: "coding"` включає повний набір оркестрування +дозволів/заборон. `tools.profile: "coding"` включає повний набір оркестрації сеансів, зокрема `sessions_spawn`, `sessions_yield` і `subagents`. `tools.profile: "messaging"` включає інструменти обміну повідомленнями між сеансами (`sessions_list`, `sessions_history`, `sessions_send`, `session_status`), але -не включає створення субагентів. Щоб зберегти профіль обміну повідомленнями й усе одно -дозволити нативне делегування, додайте: +не включає запуск субагентів. Щоб залишити профіль обміну повідомленнями й усе +ж дозволити нативне делегування, додайте: ```json5 { @@ -46,92 +46,99 @@ OpenClaw надає агентам інструменти для роботи м } ``` -Політики групи, провайдера, пісочниці та окремого агента все ще можуть вилучати ці інструменти -після етапу профілю. Використайте `/tools` з відповідного сеансу, щоб перевірити -ефективний список інструментів. +Політики групи, провайдера, пісочниці та окремого агента все ще можуть видалити +ці інструменти після етапу профілю. Використовуйте `/tools` з відповідного +сеансу, щоб перевірити фактичний список інструментів. -## Переліки та читання сеансів +## Перелік і читання сеансів `sessions_list` повертає сеанси з їхнім ключем, agentId, типом, каналом, моделлю, -кількістю токенів і часовими позначками. Фільтруйте за типом (`main`, `group`, `cron`, `hook`, -`node`), точним `label`, точним `agentId`, пошуковим текстом або давністю -(`activeMinutes`). Коли потрібне сортування у стилі поштової скриньки, він також може запитувати -похідний заголовок у межах видимості, фрагмент попереднього перегляду останнього повідомлення або обмежені -нещодавні повідомлення в кожному рядку. Похідні заголовки та попередні перегляди створюються лише для -сеансів, які викликач уже може бачити відповідно до налаштованої політики видимості -інструментів сеансу, тому непов'язані сеанси залишаються прихованими. +лічильниками токенів і часовими мітками. Фільтруйте за типом (`main`, `group`, `cron`, `hook`, +`node`), точним `label`, точним `agentId`, текстом пошуку або давністю +(`activeMinutes`). Коли потрібне сортування у стилі поштової скриньки, він також +може запитати похідний заголовок у межах видимості, фрагмент попереднього +перегляду останнього повідомлення або обмежені нещодавні повідомлення в кожному +рядку. Похідні заголовки та попередні перегляди створюються лише для сеансів, +які викликач уже може бачити згідно з налаштованою політикою видимості +інструментів сеансів, тому непов’язані сеанси залишаються прихованими. `sessions_history` отримує транскрипт розмови для певного сеансу. За замовчуванням результати інструментів виключено -- передайте `includeTools: true`, щоб побачити їх. -Повернуте подання навмисно обмежене й відфільтроване для безпеки: +Повернене представлення навмисно обмежене й відфільтроване для безпеки: - текст асистента нормалізується перед пригадуванням: - - теги міркувань вилучаються - - службові блоки `` / `` вилучаються - - текстові XML-блоки payload викликів інструментів, як-от `...`, + - теги мислення видаляються + - службові блоки `` / `` видаляються + - блоки XML-навантаження викликів інструментів у звичайному тексті, як-от `...`, `...`, `...` і - `...`, вилучаються, зокрема обрізані - payload, які ніколи коректно не закриваються - - знижені службові блоки викликів/результатів інструментів, як-от `[Tool Call: ...]`, - `[Tool Result ...]` і `[Historical context ...]`, вилучаються - - витіклі токени керування моделлю, як-от `<|assistant|>`, інші ASCII - токени `<|...|>` і повноширинні варіанти `<|...|>`, вилучаються - - некоректний XML виклику інструмента MiniMax, як-от `` / - ``, вилучається -- текст, схожий на облікові дані/токени, редагується перед поверненням + `...`, видаляються, зокрема обрізані + навантаження, які ніколи коректно не закриваються + - понижені службові конструкції викликів/результатів інструментів, як-от `[Tool Call: ...]`, + `[Tool Result ...]` і `[Historical context ...]`, видаляються + - витоки керувальних токенів моделі, як-от `<|assistant|>`, інші ASCII + токени `<|...|>` і повноширинні варіанти `<|...|>`, видаляються + - некоректний XML викликів інструментів MiniMax, як-от `` / + ``, видаляється +- текст, схожий на облікові дані або токени, редагується перед поверненням - довгі текстові блоки обрізаються -- дуже великі історії можуть відкидати старіші рядки або замінювати завеликий рядок на +- дуже великі історії можуть відкидати старіші рядки або замінювати надмірно великий рядок на `[sessions_history omitted: message too large]` -- інструмент повідомляє прапорці підсумку, як-от `truncated`, `droppedMessages`, +- інструмент повідомляє підсумкові прапорці, як-от `truncated`, `droppedMessages`, `contentTruncated`, `contentRedacted` і `bytes` Обидва інструменти приймають або **ключ сеансу** (наприклад, `"main"`), або **ID сеансу** з попереднього виклику списку. -Якщо потрібен точний побайтовий транскрипт, перевірте файл транскрипту на -диску, а не розглядайте `sessions_history` як сирий дамп. +Якщо потрібен точний побайтовий транскрипт, перевіряйте файл транскрипту на +диску, а не сприймайте `sessions_history` як сирий дамп. ## Надсилання повідомлень між сеансами -`sessions_send` доставляє повідомлення до іншого сеансу та, за потреби, очікує +`sessions_send` доставляє повідомлення до іншого сеансу й, за потреби, очікує відповіді: -- **Надіслати й не чекати:** встановіть `timeoutSeconds: 0`, щоб поставити в чергу й повернутися +- **Надіслати й не чекати:** задайте `timeoutSeconds: 0`, щоб поставити в чергу й повернутися негайно. -- **Очікувати відповіді:** встановіть час очікування й отримайте відповідь inline. +- **Очікувати відповіді:** задайте час очікування й отримайте відповідь вбудовано. + +Сеанси чату, обмежені потоком, як-от ключі Slack або Discord, що закінчуються на +`:thread:`, не є допустимими цілями `sessions_send`. Використовуйте ключ +сеансу батьківського каналу для координації між агентами, щоб повідомлення, +маршрутизовані інструментами, не з’являлися всередині активного потоку, +видимого людині. Повідомлення та подальші відповіді A2A позначаються як міжсеансові дані в -отримувальному prompt (`[Inter-session message ... isUser=false]`) і в походженні -транскрипту. Отримувальний агент має розглядати їх як дані, маршрутизовані інструментом, а не як -пряму інструкцію, написану кінцевим користувачем. +запиті отримувача (`[Inter-session message ... isUser=false]`) і в походженні +транскрипту. Агент-отримувач має сприймати їх як дані, маршрутизовані +інструментами, а не як пряму інструкцію, написану кінцевим користувачем. -Після відповіді цілі OpenClaw може запустити **цикл зворотної відповіді**, де +Після відповіді цілі OpenClaw може запустити **цикл відповіді назад**, у якому агенти чергують повідомлення (до 5 ходів). Цільовий агент може відповісти -`REPLY_SKIP`, щоб зупинитися раніше. +`REPLY_SKIP`, щоб завершити раніше. -## Помічники статусу та оркестрування +## Помічники стану й оркестрації `session_status` — це легкий інструмент, еквівалентний `/status`, для поточного -або іншого видимого сеансу. Він повідомляє використання, час, стан моделі/середовища виконання та -контекст пов'язаного фонового завдання, якщо він є. Як і `/status`, він може дозаповнювати -розріджені лічильники токенів/кешу з останнього запису використання в транскрипті, а -`model=default` очищає перевизначення для окремого сеансу. Використовуйте `sessionKey="current"` для -поточного сеансу викликача; видимі клієнтські мітки, як-от `openclaw-tui`, не є -ключами сеансів. +або іншого видимого сеансу. Він повідомляє використання, час, стан моделі/середовища +виконання та пов’язаний контекст фонових завдань, якщо він є. Як і `/status`, він +може дозаповнювати розріджені лічильники токенів/кешу з останнього запису +використання в транскрипті, а `model=default` очищає перевизначення для сеансу. +Використовуйте `sessionKey="current"` для поточного сеансу викликача; видимі +клієнтські мітки, як-от `openclaw-tui`, не є ключами сеансів. -`sessions_yield` навмисно завершує поточний хід, щоб наступне повідомлення могло бути -подальшою подією, на яку ви очікуєте. Використовуйте його після створення субагентів, коли -хочете, щоб результати завершення надійшли як наступне повідомлення, замість побудови -циклів опитування. +`sessions_yield` навмисно завершує поточний хід, щоб наступне повідомлення могло +бути подальшою подією, на яку ви очікуєте. Використовуйте його після запуску +субагентів, коли хочете, щоб результати завершення надійшли як наступне +повідомлення, а не будувати цикли опитування. -`subagents` — це помічник площини керування для вже створених субагентів +`subagents` — це помічник площини керування для вже запущених субагентів OpenClaw. Він підтримує: - `action: "list"` для перевірки активних/нещодавніх запусків -- `action: "steer"` для надсилання подальших вказівок запущеній дочірній сутності -- `action: "kill"` для зупинення однієї дочірньої сутності або `all` +- `action: "steer"` для надсилання подальших вказівок запущеній дочірній сесії +- `action: "kill"` для зупинки однієї дочірньої сесії або `all` -## Створення субагентів +## Запуск субагентів `sessions_spawn` за замовчуванням створює ізольований сеанс для фонового завдання. Він завжди неблокувальний -- одразу повертає `runId` і @@ -139,49 +146,49 @@ OpenClaw. Він підтримує: Ключові параметри: -- `runtime: "subagent"` (за замовчуванням) або `"acp"` для зовнішніх агентів harness. +- `runtime: "subagent"` (за замовчуванням) або `"acp"` для зовнішніх агентів-обгорток. - Перевизначення `model` і `thinking` для дочірнього сеансу. -- `thread: true` для прив'язування spawn до потоку чату (Discord, Slack тощо). -- `sandbox: "require"` для примусового застосування пісочниці до дочірньої сутності. -- `context: "fork"` для нативних субагентів, коли дочірній сутності потрібен поточний - транскрипт запитувача; опустіть його або використайте `context: "isolated"` для чистої дочірньої сутності. +- `thread: true` для прив’язування запуску до потоку чату (Discord, Slack тощо). +- `sandbox: "require"` для примусового використання пісочниці в дочірньому сеансі. +- `context: "fork"` для нативних субагентів, коли дочірньому сеансу потрібен поточний + транскрипт запитувача; пропустіть це або використовуйте `context: "isolated"` для чистого дочірнього сеансу. -Типові кінцеві субагенти не отримують інструменти сеансу. Коли +Листові субагенти за замовчуванням не отримують інструментів сеансів. Коли `maxSpawnDepth >= 2`, субагенти-оркестратори глибини 1 додатково отримують `sessions_spawn`, `subagents`, `sessions_list` і `sessions_history`, щоб вони -могли керувати власними дочірніми сутностями. Кінцеві запуски все одно не отримують рекурсивні -інструменти оркестрування. +могли керувати власними дочірніми сеансами. Листові запуски все одно не отримують +рекурсивних інструментів оркестрації. -Після завершення крок оголошення публікує результат у каналі запитувача. -Доставка завершення зберігає прив'язану маршрутизацію потоку/теми, коли вона доступна, і якщо -джерело завершення ідентифікує лише канал, OpenClaw все одно може повторно використати -збережений маршрут сеансу запитувача (`lastChannel` / `lastTo`) для прямої -доставки. +Після завершення крок оголошення публікує результат у канал запитувача. +Доставка завершення зберігає прив’язану маршрутизацію потоку/теми, коли вона +доступна, а якщо джерело завершення ідентифікує лише канал, OpenClaw усе ще може +повторно використати збережений маршрут сеансу запитувача (`lastChannel` / `lastTo`) +для прямої доставки. -Для поведінки, специфічної для ACP, див. [Агенти ACP](/uk/tools/acp-agents). +Про поведінку, специфічну для ACP, див. [Агенти ACP](/uk/tools/acp-agents). ## Видимість -Інструменти сеансу обмежені за областю, щоб контролювати, що агент може бачити: +Інструменти сеансів обмежені за областю, щоб контролювати, що агент може бачити: | Рівень | Область | | ------- | ---------------------------------------- | | `self` | Лише поточний сеанс | -| `tree` | Поточний сеанс + створені субагенти | +| `tree` | Поточний сеанс + запущені субагенти | | `agent` | Усі сеанси для цього агента | | `all` | Усі сеанси (між агентами, якщо налаштовано) | -За замовчуванням використовується `tree`. Сеанси в пісочниці обмежуються до `tree` незалежно від -конфігурації. +За замовчуванням використовується `tree`. Сеанси в пісочниці обмежуються до +`tree` незалежно від конфігурації. ## Додаткові матеріали - [Керування сеансами](/uk/concepts/session) -- маршрутизація, життєвий цикл, обслуговування -- [Агенти ACP](/uk/tools/acp-agents) -- створення зовнішніх harness +- [Агенти ACP](/uk/tools/acp-agents) -- запуск зовнішньої обгортки - [Мультиагентність](/uk/concepts/multi-agent) -- мультиагентна архітектура -- [Конфігурація Gateway](/uk/gateway/configuration) -- параметри конфігурації інструментів сеансу +- [Конфігурація Gateway](/uk/gateway/configuration) -- параметри конфігурації інструментів сеансів -## Пов'язане +## Пов’язане - [Керування сеансами](/uk/concepts/session) -- [Обрізання сеансів](/uk/concepts/session-pruning) +- [Очищення сеансів](/uk/concepts/session-pruning) diff --git a/docs/uk/install/installer.md b/docs/uk/install/installer.md index c9337d062..9f88271c6 100644 --- a/docs/uk/install/installer.md +++ b/docs/uk/install/installer.md @@ -1,26 +1,26 @@ --- read_when: - Ви хочете зрозуміти `openclaw.ai/install.sh` - - Ви хочете автоматизувати встановлення (CI / без графічного інтерфейсу) + - Ви хочете автоматизувати встановлення (CI / без інтерфейсу) - Ви хочете встановити з робочої копії GitHub -summary: Як працюють скрипти інсталятора (install.sh, install-cli.sh, install.ps1), прапорці й автоматизація -title: Внутрішні механізми інсталятора +summary: Як працюють сценарії інсталятора (install.sh, install-cli.sh, install.ps1), прапорці й автоматизація +title: Внутрішня реалізація інсталятора x-i18n: - generated_at: "2026-04-28T11:17:14Z" + generated_at: "2026-05-02T05:00:41Z" model: gpt-5.5 provider: openai - source_hash: 278e8d6a1a39651812b7f0955965c53c62afd3ad673b357484f8aecbcfbbdb1d + source_hash: 119d94edae8cae2460e1bce9fe6bb31dc3c91d23443090cd34bf10adde9e10f1 source_path: install/installer.md workflow: 16 --- -OpenClaw постачається з трьома скриптами встановлення, які надаються з `openclaw.ai`. +OpenClaw постачається з трьома скриптами встановлення, які подаються з `openclaw.ai`. -| Скрипт | Платформа | Що він робить | -| --------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------ | -| [`install.sh`](#installsh) | macOS / Linux / WSL | Встановлює Node за потреби, встановлює OpenClaw через npm (типово) або git і може запускати онбординг. | -| [`install-cli.sh`](#install-clish) | macOS / Linux / WSL | Встановлює Node + OpenClaw у локальний префікс (`~/.openclaw`) у режимах npm або git checkout. root не потрібен. | -| [`install.ps1`](#installps1) | Windows (PowerShell) | Встановлює Node за потреби, встановлює OpenClaw через npm (типово) або git і може запускати онбординг. | +| Скрипт | Платформа | Що він робить | +| --------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------- | +| [`install.sh`](#installsh) | macOS / Linux / WSL | За потреби встановлює Node, встановлює OpenClaw через npm (типово) або git і може запустити початкове налаштування. | +| [`install-cli.sh`](#install-clish) | macOS / Linux / WSL | Встановлює Node + OpenClaw у локальний префікс (`~/.openclaw`) у режимах npm або git checkout. root не потрібен. | +| [`install.ps1`](#installps1) | Windows (PowerShell) | За потреби встановлює Node, встановлює OpenClaw через npm (типово) або git і може запустити початкове налаштування. | ## Швидкі команди @@ -58,7 +58,7 @@ OpenClaw постачається з трьома скриптами встан -Якщо встановлення успішне, але `openclaw` не знайдено в новому терміналі, див. [усунення несправностей Node.js](/uk/install/node#troubleshooting). +Якщо встановлення завершилося успішно, але `openclaw` не знайдено в новому терміналі, див. [усунення неполадок Node.js](/uk/install/node#troubleshooting). --- @@ -74,24 +74,24 @@ OpenClaw постачається з трьома скриптами встан ### Потік (install.sh) - + Підтримує macOS і Linux (зокрема WSL). Якщо виявлено macOS, встановлює Homebrew, якщо його немає. - Перевіряє версію Node і встановлює Node 24 за потреби (Homebrew на macOS, скрипти налаштування NodeSource на Linux apt/dnf/yum). OpenClaw досі підтримує Node 22 LTS, наразі `22.14+`, для сумісності. + Перевіряє версію Node і за потреби встановлює Node 24 (Homebrew на macOS, скрипти налаштування NodeSource на Linux apt/dnf/yum). OpenClaw і далі підтримує Node 22 LTS, наразі `22.14+`, для сумісності. Встановлює Git, якщо його немає. - метод `npm` (типово): глобальне встановлення npm - - метод `git`: клонувати/оновити репозиторій, встановити залежності за допомогою pnpm, зібрати, а потім встановити обгортку в `~/.local/bin/openclaw` + - метод `git`: клонувати/оновити репозиторій, встановити залежності через pnpm, зібрати, а потім встановити обгортку в `~/.local/bin/openclaw` - - Оновлює завантажену службу Gateway у режимі найкращого зусилля (`openclaw gateway install --force`, потім перезапуск) - - Запускає `openclaw doctor --non-interactive` під час оновлень і встановлень git (найкраще зусилля) - - Намагається виконати онбординг, коли це доречно (доступний TTY, онбординг не вимкнено, а перевірки bootstrap/config пройдено) + - Оновлює завантажений сервіс gateway у режимі найкращої спроби (`openclaw gateway install --force`, потім перезапуск) + - Запускає `openclaw doctor --non-interactive` під час оновлень і git-встановлень (найкраща спроба) + - Намагається виконати початкове налаштування, коли це доречно (TTY доступний, початкове налаштування не вимкнено, а перевірки bootstrap/config проходять) - Типово встановлює `SHARP_IGNORE_GLOBAL_LIBVIPS=1` @@ -104,7 +104,7 @@ OpenClaw постачається з трьома скриптами встан - використати checkout (`git`), або - використати глобальне встановлення (`npm`) -Якщо TTY недоступний і метод встановлення не задано, типово використовується `npm` і виводиться попередження. +Якщо TTY недоступний і метод встановлення не задано, він типово використовує `npm` і виводить попередження. Скрипт завершується з кодом `2` у разі недійсного вибору методу або недійсних значень `--install-method`. @@ -116,12 +116,12 @@ OpenClaw постачається з трьома скриптами встан curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash ``` - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-onboard ``` - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --install-method git ``` @@ -141,39 +141,39 @@ OpenClaw постачається з трьома скриптами встан -| Прапорець | Опис | -| ------------------------------------- | ------------------------------------------------------------ | +| Прапорець | Опис | +| ------------------------------------- | ------------------------------------------------------------- | | `--install-method npm\|git` | Вибрати метод встановлення (типово: `npm`). Псевдонім: `--method` | -| `--npm` | Скорочення для методу npm | -| `--git` | Скорочення для методу git. Псевдонім: `--github` | +| `--npm` | Скорочення для методу npm | +| `--git` | Скорочення для методу git. Псевдонім: `--github` | | `--version ` | Версія npm, dist-tag або специфікація пакета (типово: `latest`) | -| `--beta` | Використати beta dist-tag, якщо доступний, інакше fallback до `latest` | -| `--git-dir ` | Каталог checkout (типово: `~/openclaw`). Псевдонім: `--dir` | -| `--no-git-update` | Пропустити `git pull` для наявного checkout | -| `--no-prompt` | Вимкнути підказки | -| `--no-onboard` | Пропустити онбординг | -| `--onboard` | Увімкнути онбординг | -| `--dry-run` | Вивести дії без застосування змін | -| `--verbose` | Увімкнути налагоджувальний вивід (`set -x`, журнали npm рівня notice) | -| `--help` | Показати використання (`-h`) | +| `--beta` | Використати beta dist-tag, якщо доступний, інакше повернутися до `latest` | +| `--git-dir ` | Каталог checkout (типово: `~/openclaw`). Псевдонім: `--dir` | +| `--no-git-update` | Пропустити `git pull` для наявного checkout | +| `--no-prompt` | Вимкнути запити | +| `--no-onboard` | Пропустити початкове налаштування | +| `--onboard` | Увімкнути початкове налаштування | +| `--dry-run` | Вивести дії без застосування змін | +| `--verbose` | Увімкнути діагностичний вивід (`set -x`, журнали npm рівня notice) | +| `--help` | Показати використання (`-h`) | -| Змінна | Опис | -| ------------------------------------------------------- | --------------------------------------------- | -| `OPENCLAW_INSTALL_METHOD=git\|npm` | Метод встановлення | -| `OPENCLAW_VERSION=latest\|next\|main\|\|` | Версія npm, dist-tag або специфікація пакета | -| `OPENCLAW_BETA=0\|1` | Використати beta, якщо доступний | -| `OPENCLAW_GIT_DIR=` | Каталог checkout | -| `OPENCLAW_GIT_UPDATE=0\|1` | Перемкнути оновлення git | -| `OPENCLAW_NO_PROMPT=1` | Вимкнути підказки | -| `OPENCLAW_NO_ONBOARD=1` | Пропустити онбординг | -| `OPENCLAW_DRY_RUN=1` | Режим пробного запуску | -| `OPENCLAW_VERBOSE=1` | Режим налагодження | -| `OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice` | Рівень журналювання npm | -| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Керувати поведінкою sharp/libvips (типово: `1`) | +| Змінна | Опис | +| ------------------------------------------------------ | -------------------------------------------------- | +| `OPENCLAW_INSTALL_METHOD=git\|npm` | Метод встановлення | +| `OPENCLAW_VERSION=latest\|next\|main\|\|` | Версія npm, dist-tag або специфікація пакета | +| `OPENCLAW_BETA=0\|1` | Використати beta, якщо доступна | +| `OPENCLAW_GIT_DIR=` | Каталог checkout | +| `OPENCLAW_GIT_UPDATE=0\|1` | Перемкнути оновлення git | +| `OPENCLAW_NO_PROMPT=1` | Вимкнути запити | +| `OPENCLAW_NO_ONBOARD=1` | Пропустити початкове налаштування | +| `OPENCLAW_DRY_RUN=1` | Режим пробного запуску | +| `OPENCLAW_VERBOSE=1` | Режим діагностики | +| `OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice` | Рівень журналювання npm | +| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Керування поведінкою sharp/libvips (типово: `1`) | @@ -185,29 +185,29 @@ OpenClaw постачається з трьома скриптами встан ## install-cli.sh -Спроєктовано для середовищ, де потрібно мати все під локальним префіксом -(типово `~/.openclaw`) і без системної залежності Node. Типово підтримує встановлення npm, -а також встановлення з git-checkout у тому самому потоці префікса. +Призначено для середовищ, де потрібно розмістити все під локальним префіксом +(типово `~/.openclaw`) і не мати системної залежності Node. Типово підтримує npm-встановлення, +а також git-checkout-встановлення в тому самому потоці префікса. ### Потік (install-cli.sh) - Завантажує закріплений підтримуваний tarball Node LTS (версію вбудовано в скрипт і оновлюється незалежно) до `/tools/node-v` і перевіряє SHA-256. + Завантажує закріплений підтримуваний tarball Node LTS (версія вбудована в скрипт і оновлюється незалежно) до `/tools/node-v` і перевіряє SHA-256. Якщо Git відсутній, намагається встановити його через apt/dnf/yum на Linux або Homebrew на macOS. - - метод `npm` (типово): встановлює під префіксом за допомогою npm, потім записує обгортку до `/bin/openclaw` + - метод `npm` (типово): встановлює під префіксом через npm, потім записує обгортку до `/bin/openclaw` - метод `git`: клонує/оновлює checkout (типово `~/openclaw`) і все одно записує обгортку до `/bin/openclaw` - - Якщо службу Gateway уже завантажено з того самого префікса, скрипт запускає - `openclaw gateway install --force`, потім `openclaw gateway restart`, і - перевіряє працездатність Gateway у режимі найкращого зусилля. + + Якщо сервіс gateway уже завантажено з того самого префікса, скрипт запускає + `openclaw gateway install --force`, потім `openclaw gateway restart` і + перевіряє стан gateway у режимі найкращої спроби. @@ -224,17 +224,17 @@ OpenClaw постачається з трьома скриптами встан curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --prefix /opt/openclaw --version latest ``` - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --install-method git --git-dir ~/openclaw ``` - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw ``` - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --onboard ``` @@ -244,36 +244,36 @@ OpenClaw постачається з трьома скриптами встан -| Прапорець | Опис | -| --------------------------- | ------------------------------------------------------------------------------- | -| `--prefix ` | Префікс встановлення (типово: `~/.openclaw`) | -| `--install-method npm\|git` | Вибрати метод встановлення (типово: `npm`). Псевдонім: `--method` | -| `--npm` | Скорочення для методу npm | -| `--git`, `--github` | Скорочення для методу git | -| `--git-dir ` | Каталог Git checkout (типово: `~/openclaw`). Псевдонім: `--dir` | -| `--version ` | Версія OpenClaw або dist-tag (типово: `latest`) | -| `--node-version ` | Версія Node (типово: `22.22.0`) | -| `--json` | Виводити події NDJSON | -| `--onboard` | Запустити `openclaw onboard` після встановлення | -| `--no-onboard` | Пропустити онбординг (типово) | +| Прапорець | Опис | +| --------------------------- | ----------------------------------------------------------------------------- | +| `--prefix ` | Префікс встановлення (типово: `~/.openclaw`) | +| `--install-method npm\|git` | Вибрати метод встановлення (типово: `npm`). Псевдонім: `--method` | +| `--npm` | Скорочення для методу npm | +| `--git`, `--github` | Скорочення для методу git | +| `--git-dir ` | Каталог Git checkout (типово: `~/openclaw`). Псевдонім: `--dir` | +| `--version ` | Версія OpenClaw або dist-tag (типово: `latest`) | +| `--node-version ` | Версія Node (типово: `22.22.0`) | +| `--json` | Виводити події NDJSON | +| `--onboard` | Запустити `openclaw onboard` після встановлення | +| `--no-onboard` | Пропустити початкове налаштування (типово) | | `--set-npm-prefix` | На Linux примусово встановити префікс npm на `~/.npm-global`, якщо поточний префікс недоступний для запису | -| `--help` | Показати використання (`-h`) | +| `--help` | Показати використання (`-h`) | -| Variable | Опис | +| Змінна | Опис | | ------------------------------------------- | --------------------------------------------- | -| `OPENCLAW_PREFIX=` | Префікс установлення | -| `OPENCLAW_INSTALL_METHOD=git\|npm` | Метод установлення | +| `OPENCLAW_PREFIX=` | Префікс встановлення | +| `OPENCLAW_INSTALL_METHOD=git\|npm` | Спосіб встановлення | | `OPENCLAW_VERSION=` | Версія OpenClaw або dist-tag | | `OPENCLAW_NODE_VERSION=` | Версія Node | -| `OPENCLAW_GIT_DIR=` | Каталог checkout Git для встановлень через git | +| `OPENCLAW_GIT_DIR=` | Каталог Git checkout для встановлень через git | | `OPENCLAW_GIT_UPDATE=0\|1` | Перемикач оновлень git для наявних checkout | -| `OPENCLAW_NO_ONBOARD=1` | Пропустити початкове налаштування | +| `OPENCLAW_NO_ONBOARD=1` | Пропустити onboarding | | `OPENCLAW_NPM_LOGLEVEL=error\|warn\|notice` | Рівень журналювання npm | -| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Керування поведінкою sharp/libvips (за замовчуванням: `1`) | +| `SHARP_IGNORE_GLOBAL_LIBVIPS=0\|1` | Керування поведінкою sharp/libvips (типово: `1`) | @@ -284,60 +284,60 @@ OpenClaw постачається з трьома скриптами встан ## install.ps1 -### Послідовність (install.ps1) +### Потік (install.ps1) - + Потрібен PowerShell 5+. - - Якщо відсутній, виконується спроба встановлення через winget, потім Chocolatey, потім Scoop. Node 22 LTS, наразі `22.14+`, і далі підтримується для сумісності. + + Якщо відсутній, намагається встановити через winget, потім Chocolatey, потім Scoop. Node 22 LTS, наразі `22.14+`, залишається підтримуваним для сумісності. - - - Метод `npm` (за замовчуванням): глобальне встановлення npm з використанням вибраного `-Tag` - - Метод `git`: клонування/оновлення репозиторію, встановлення/збирання з pnpm і встановлення обгортки в `%USERPROFILE%\.local\bin\openclaw.cmd` + + - Спосіб `npm` (типово): глобальне встановлення npm з вибраним `-Tag`, запущене з доступного для запису тимчасового каталогу інсталятора, щоб оболонки, відкриті в захищених папках, як-от `C:\`, усе одно працювали + - Спосіб `git`: клонувати/оновити репозиторій, встановити/зібрати за допомогою pnpm і встановити wrapper у `%USERPROFILE%\.local\bin\openclaw.cmd` - + - Додає потрібний bin-каталог до PATH користувача, коли це можливо - - Оновлює завантажену службу gateway за принципом найкращого зусилля (`openclaw gateway install --force`, потім перезапуск) - - Запускає `openclaw doctor --non-interactive` під час оновлень і встановлень через git (за принципом найкращого зусилля) + - Оновлює завантажену службу Gateway у режимі best-effort (`openclaw gateway install --force`, потім restart) + - Запускає `openclaw doctor --non-interactive` під час оновлень і встановлень через git (best effort) - - Установлення через `iwr ... | iex` і scriptblock повідомляють про завершальну помилку без закриття поточного сеансу PowerShell. Прямі встановлення через `powershell -File` / `pwsh -File` усе одно завершуються з ненульовим кодом для автоматизації. + + `iwr ... | iex` і встановлення через scriptblock повідомляють про критичну помилку без закриття поточного сеансу PowerShell. Прямі встановлення `powershell -File` / `pwsh -File` усе ще завершуються з ненульовим кодом для автоматизації. ### Приклади (install.ps1) - + ```powershell iwr -useb https://openclaw.ai/install.ps1 | iex ``` - + ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git ``` - + ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main ``` - + ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -InstallMethod git -GitDir "C:\openclaw" ``` - + ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -DryRun ``` - + ```powershell # install.ps1 has no dedicated -Verbose flag yet. Set-PSDebug -Trace 1 @@ -348,49 +348,49 @@ OpenClaw постачається з трьома скриптами встан - + | Прапорець | Опис | | --------------------------- | ---------------------------------------------------------- | -| `-InstallMethod npm\|git` | Метод установлення (за замовчуванням: `npm`) | -| `-Tag ` | npm dist-tag, версія або специфікація пакета (за замовчуванням: `latest`) | -| `-GitDir ` | Каталог checkout (за замовчуванням: `%USERPROFILE%\openclaw`) | -| `-NoOnboard` | Пропустити початкове налаштування | +| `-InstallMethod npm\|git` | Спосіб встановлення (типово: `npm`) | +| `-Tag ` | npm dist-tag, версія або package spec (типово: `latest`) | +| `-GitDir ` | Каталог checkout (типово: `%USERPROFILE%\openclaw`) | +| `-NoOnboard` | Пропустити onboarding | | `-NoGitUpdate` | Пропустити `git pull` | | `-DryRun` | Лише вивести дії | - + | Змінна | Опис | | ---------------------------------- | ---------------------------- | -| `OPENCLAW_INSTALL_METHOD=git\|npm` | Метод установлення | +| `OPENCLAW_INSTALL_METHOD=git\|npm` | Спосіб встановлення | | `OPENCLAW_GIT_DIR=` | Каталог checkout | -| `OPENCLAW_NO_ONBOARD=1` | Пропустити початкове налаштування | +| `OPENCLAW_NO_ONBOARD=1` | Пропустити onboarding | | `OPENCLAW_GIT_UPDATE=0` | Вимкнути git pull | -| `OPENCLAW_DRY_RUN=1` | Режим пробного запуску | +| `OPENCLAW_DRY_RUN=1` | Режим dry run | -Якщо використовується `-InstallMethod git` і Git відсутній, скрипт завершується та виводить посилання на Git for Windows. +Якщо використано `-InstallMethod git` і Git відсутній, скрипт завершується та виводить посилання Git for Windows. --- ## CI та автоматизація -Використовуйте неінтерактивні прапорці/змінні середовища для передбачуваних запусків. +Використовуйте неінтерактивні прапорці/env vars для передбачуваних запусків. - + ```bash curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash -s -- --no-prompt --no-onboard ``` - + ```bash OPENCLAW_INSTALL_METHOD=git OPENCLAW_NO_PROMPT=1 \ curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash @@ -401,7 +401,7 @@ OpenClaw постачається з трьома скриптами встан curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install-cli.sh | bash -s -- --json --prefix /opt/openclaw ``` - + ```powershell & ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -NoOnboard ``` @@ -413,16 +413,16 @@ OpenClaw постачається з трьома скриптами встан ## Усунення несправностей - - Git потрібен для методу встановлення `git`. Для встановлень через `npm` Git усе одно перевіряється/встановлюється, щоб уникнути помилок `spawn git ENOENT`, коли залежності використовують git URL. + + Git потрібен для способу встановлення `git`. Для встановлень через `npm` Git усе одно перевіряється/встановлюється, щоб уникнути помилок `spawn git ENOENT`, коли залежності використовують git URL. - - Деякі конфігурації Linux спрямовують глобальний префікс npm до шляхів, що належать root. `install.sh` може перемкнути префікс на `~/.npm-global` і додати експорти PATH до shell rc-файлів (коли такі файли існують). + + Деякі конфігурації Linux спрямовують глобальний префікс npm на шляхи, що належать root. `install.sh` може перемкнути префікс на `~/.npm-global` і додати експорти PATH до shell rc-файлів (коли ці файли існують). - - Скрипти за замовчуванням задають `SHARP_IGNORE_GLOBAL_LIBVIPS=1`, щоб sharp не збирався із системним libvips. Щоб перевизначити: + + Скрипти типово встановлюють `SHARP_IGNORE_GLOBAL_LIBVIPS=1`, щоб уникнути збирання sharp із системним libvips. Щоб перевизначити: ```bash SHARP_IGNORE_GLOBAL_LIBVIPS=0 curl -fsSL --proto '=https' --tlsv1.2 https://openclaw.ai/install.sh | bash @@ -431,14 +431,14 @@ OpenClaw постачається з трьома скриптами встан - Установіть Git for Windows, повторно відкрийте PowerShell і знову запустіть інсталятор. + Встановіть Git for Windows, знову відкрийте PowerShell і повторно запустіть інсталятор. - Запустіть `npm config get prefix` і додайте цей каталог до PATH користувача (у Windows суфікс `\bin` не потрібен), потім повторно відкрийте PowerShell. + Виконайте `npm config get prefix` і додайте цей каталог до PATH користувача (суфікс `\bin` у Windows не потрібен), потім знову відкрийте PowerShell. - + `install.ps1` наразі не надає перемикач `-Verbose`. Використовуйте трасування PowerShell для діагностики на рівні скрипта: @@ -450,13 +450,13 @@ OpenClaw постачається з трьома скриптами встан - + Зазвичай це проблема PATH. Див. [усунення несправностей Node.js](/uk/install/node#troubleshooting). ## Пов’язане -- [Огляд установлення](/uk/install) +- [Огляд встановлення](/uk/install) - [Оновлення](/uk/install/updating) - [Видалення](/uk/install/uninstall)