chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-23 06:21:44 +00:00
parent f712c2407d
commit 49a6c1eae2
57 changed files with 10105 additions and 0 deletions

327
docs/uk/cli/acp.md Normal file
View File

@ -0,0 +1,327 @@
---
read_when:
- Налаштування інтеграцій IDE на основі ACP
- Налагодження маршрутизації сеансів ACP до Gateway
summary: Запустіть міст ACP для інтеграцій IDE
title: acp
x-i18n:
generated_at: "2026-04-23T06:17:04Z"
model: gpt-5.4
provider: openai
source_hash: b098c59e24cac23d533ea3b3828c95bd43d85ebf6e1361377122018777678720
source_path: cli/acp.md
workflow: 15
---
# acp
Запустіть міст [Agent Client Protocol (ACP)](https://agentclientprotocol.com/), який взаємодіє з Gateway OpenClaw.
Ця команда використовує ACP через stdio для IDE і пересилає запити до Gateway
через WebSocket. Вона підтримує відповідність сеансів ACP ключам сеансів Gateway.
`openclaw acp` — це міст ACP на основі Gateway, а не повноцінне редакторське
середовище виконання з нативною підтримкою ACP. Він зосереджується на
маршрутизації сеансів, доставці запитів і базових оновленнях потокової передачі.
Якщо ви хочете, щоб зовнішній клієнт MCP напряму взаємодіяв із розмовами каналів
OpenClaw замість розміщення сеансу ACP harness, використовуйте
[`openclaw mcp serve`](/uk/cli/mcp).
## Що це не є
Цю сторінку часто плутають із сеансами ACP harness.
`openclaw acp` означає:
- OpenClaw працює як ACP-сервер
- IDE або ACP-клієнт підключається до OpenClaw
- OpenClaw пересилає цю роботу в сеанс Gateway
Це відрізняється від [ACP Agents](/uk/tools/acp-agents), де OpenClaw запускає
зовнішній harness, наприклад Codex або Claude Code, через `acpx`.
Коротке правило:
- якщо редактор/клієнт хоче взаємодіяти з OpenClaw через ACP: використовуйте `openclaw acp`
- якщо OpenClaw має запускати Codex/Claude/Gemini як ACP harness: використовуйте `/acp spawn` і [ACP Agents](/uk/tools/acp-agents)
## Матриця сумісності
| Область ACP | Стан | Примітки |
| -------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `initialize`, `newSession`, `prompt`, `cancel` | Реалізовано | Основний потік роботи мосту через stdio до Gateway chat/send + abort. |
| `listSessions`, slash-команди | Реалізовано | Список сеансів працює зі станом сеансів Gateway; команди оголошуються через `available_commands_update`. |
| `loadSession` | Частково | Повторно прив’язує сеанс ACP до ключа сеансу Gateway і відтворює збережену історію текстів користувача/асистента. Історія інструментів/системи поки що не відновлюється. |
| Вміст запиту (`text`, вбудований `resource`, зображення) | Частково | Текст/ресурси згортаються у вхідні дані чату; зображення стають вкладеннями Gateway. |
| Режими сеансу | Частково | Підтримується `session/set_mode`, і міст надає початкові елементи керування сеансом на основі Gateway для рівня thought, деталізації інструментів, reasoning, деталізації використання та elevated actions. Ширші нативні поверхні режимів/конфігурації ACP поки що поза межами. |
| Інформація про сеанс і оновлення використання | Частково | Міст надсилає сповіщення `session_info_update` і `usage_update` у режимі best-effort на основі кешованих знімків сеансів Gateway. Використання приблизне й надсилається лише тоді, коли Gateway позначає загальні підсумки токенів як актуальні. |
| Потокова передача інструментів | Частково | Події `tool_call` / `tool_call_update` містять необроблений ввід/вивід, текстовий вміст і дані про розташування файлів у режимі best-effort, якщо аргументи/результати інструментів Gateway їх містять. Вбудовані термінали й багатший diff-вивід поки що недоступні. |
| MCP-сервери для кожного сеансу (`mcpServers`) | Не підтримується | Режим моста відхиляє запити на MCP-сервери для окремих сеансів. Налаштовуйте MCP на шлюзі OpenClaw або в агенті. |
| Методи файлової системи клієнта (`fs/read_text_file`, `fs/write_text_file`) | Не підтримується | Міст не викликає методи файлової системи ACP-клієнта. |
| Методи термінала клієнта (`terminal/*`) | Не підтримується | Міст не створює термінали ACP-клієнта і не передає id терміналів через виклики інструментів у потоковому режимі. |
| Плани сеансу / потокова передача thought | Не підтримується | Наразі міст передає вихідний текст і стан інструментів, а не оновлення планів або thought ACP. |
## Відомі обмеження
- `loadSession` відтворює збережену текстову історію користувача й асистента,
але не відновлює історичні виклики інструментів, системні сповіщення або
багатші типи подій, нативні для ACP.
- Якщо кілька ACP-клієнтів використовують один і той самий ключ сеансу Gateway,
маршрутизація подій і скасування працює в режимі best-effort, а не зі строгою
ізоляцією для кожного клієнта. Якщо вам потрібні чисті локальні для редактора
ходи, віддавайте перевагу типовим ізольованим сеансам `acp:<uuid>`.
- Стани зупинки Gateway перетворюються на причини зупинки ACP, але таке
зіставлення менш виразне, ніж у повністю нативному середовищі ACP.
- Початкові елементи керування сеансом наразі охоплюють лише вибраний набір
параметрів Gateway: рівень thought, деталізацію інструментів, reasoning,
деталізацію використання та elevated actions. Вибір моделі й параметри
exec-host поки що не доступні як опції конфігурації ACP.
- `session_info_update` і `usage_update` виводяться зі знімків сеансів Gateway,
а не з живого нативного обліку середовища ACP. Дані використання приблизні,
не містять відомостей про вартість і надсилаються лише тоді, коли Gateway
позначає загальні дані про токени як актуальні.
- Дані супроводу інструментів працюють у режимі best-effort. Міст може
показувати шляхи до файлів, що з’являються у відомих аргументах/результатах
інструментів, але поки що не передає ACP-термінали або структуровані file diff.
## Використання
```bash
openclaw acp
# Віддалений Gateway
openclaw acp --url wss://gateway-host:18789 --token <token>
# Віддалений Gateway (токен із файлу)
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
# Під’єднатися до наявного ключа сеансу
openclaw acp --session agent:main:main
# Під’єднатися за міткою (має вже існувати)
openclaw acp --session-label "support inbox"
# Скинути ключ сеансу перед першим запитом
openclaw acp --session agent:main:main --reset-session
```
## ACP-клієнт (налагодження)
Використовуйте вбудований ACP-клієнт, щоб базово перевірити міст без IDE.
Він запускає міст ACP і дозволяє інтерактивно вводити запити.
```bash
openclaw acp client
# Спрямувати запущений міст на віддалений Gateway
openclaw acp client --server-args --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
# Перевизначити команду сервера (типово: openclaw)
openclaw acp client --server "node" --server-args openclaw.mjs acp --url ws://127.0.0.1:19001
```
Модель дозволів (режим налагодження клієнта):
- Автопогодження базується на allowlist і застосовується лише до довірених id основних інструментів.
- Автопогодження `read` обмежене поточним робочим каталогом (`--cwd`, якщо вказано).
- ACP автоматично погоджує лише вузькі класи операцій лише для читання: обмежені виклики `read` у межах активного cwd і інструменти пошуку лише для читання (`search`, `web_search`, `memory_search`). Невідомі/неосновні інструменти, читання поза межами області, інструменти з можливістю виконання, інструменти control plane, інструменти зі змінами стану та інтерактивні потоки завжди потребують явного погодження через запит.
- Наданий сервером `toolCall.kind` вважається недовіреними метаданими, а не джерелом авторизації.
- Ця політика моста ACP окрема від дозволів ACPX harness. Якщо ви запускаєте OpenClaw через бекенд `acpx`, то `plugins.entries.acpx.config.permissionMode=approve-all` є аварійним перемикачем “yolo” для цього сеансу harness.
## Як цим користуватися
Використовуйте ACP, коли IDE (або інший клієнт) підтримує Agent Client Protocol і
ви хочете, щоб він керував сеансом Gateway OpenClaw.
1. Переконайтеся, що Gateway запущено (локально або віддалено).
2. Налаштуйте ціль Gateway (через конфігурацію або прапорці).
3. Налаштуйте IDE на запуск `openclaw acp` через stdio.
Приклад конфігурації (зберігається):
```bash
openclaw config set gateway.remote.url wss://gateway-host:18789
openclaw config set gateway.remote.token <token>
```
Приклад прямого запуску (без запису конфігурації):
```bash
openclaw acp --url wss://gateway-host:18789 --token <token>
# бажано для безпеки локального процесу
openclaw acp --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
```
## Вибір агентів
ACP не вибирає агентів напряму. Він виконує маршрутизацію за ключем сеансу Gateway.
Використовуйте ключі сеансів з областю агента, щоб націлитися на конкретного агента:
```bash
openclaw acp --session agent:main:main
openclaw acp --session agent:design:main
openclaw acp --session agent:qa:bug-123
```
Кожен сеанс ACP відповідає одному ключу сеансу Gateway. Один агент може мати
багато сеансів; типово ACP використовує ізольований сеанс `acp:<uuid>`, якщо ви
не перевизначите ключ або мітку.
`mcpServers` для окремих сеансів не підтримуються в режимі моста. Якщо ACP-клієнт
надсилає їх під час `newSession` або `loadSession`, міст повертає зрозумілу
помилку замість того, щоб мовчки їх ігнорувати.
Якщо ви хочете, щоб сеанси з підтримкою ACPX бачили інструменти Plugin OpenClaw
або вибрані вбудовані інструменти, такі як `cron`, увімкніть MCP-мости ACPX на
боці Gateway замість спроби передавати `mcpServers` для окремих сеансів. Див.
[ACP Agents](/uk/tools/acp-agents#plugin-tools-mcp-bridge) і
[міст MCP інструментів OpenClaw](/uk/tools/acp-agents#openclaw-tools-mcp-bridge).
## Використання з `acpx` (Codex, Claude, інші ACP-клієнти)
Якщо ви хочете, щоб агент для програмування, наприклад Codex або Claude Code,
взаємодіяв із вашим ботом OpenClaw через ACP, використовуйте `acpx` з його
вбудованою ціллю `openclaw`.
Типовий потік:
1. Запустіть Gateway і переконайтеся, що міст ACP може до нього дістатися.
2. Спрямуйте `acpx openclaw` на `openclaw acp`.
3. Вкажіть ключ сеансу OpenClaw, який має використовувати агент для програмування.
Приклади:
```bash
# Одноразовий запит до вашого типового ACP-сеансу OpenClaw
acpx openclaw exec "Summarize the active OpenClaw session state."
# Постійний іменований сеанс для подальших ходів
acpx openclaw sessions ensure --name codex-bridge
acpx openclaw -s codex-bridge --cwd /path/to/repo \
"Ask my OpenClaw work agent for recent context relevant to this repo."
```
Якщо ви хочете, щоб `acpx openclaw` щоразу звертався до конкретного Gateway і
ключа сеансу, перевизначте команду агента `openclaw` у `~/.acpx/config.json`:
```json
{
"agents": {
"openclaw": {
"command": "env OPENCLAW_HIDE_BANNER=1 OPENCLAW_SUPPRESS_NOTES=1 openclaw acp --url ws://127.0.0.1:18789 --token-file ~/.openclaw/gateway.token --session agent:main:main"
}
}
}
```
Для локальної checkout-копії OpenClaw використовуйте прямий вхід до CLI замість
dev runner, щоб потік ACP залишався чистим. Наприклад:
```bash
env OPENCLAW_HIDE_BANNER=1 OPENCLAW_SUPPRESS_NOTES=1 node openclaw.mjs acp ...
```
Це найпростіший спосіб дозволити Codex, Claude Code або іншому ACP-сумісному
клієнту отримувати контекстну інформацію від агента OpenClaw без парсингу
термінала.
## Налаштування редактора Zed
Додайте власного ACP-агента в `~/.config/zed/settings.json` (або використовуйте інтерфейс налаштувань Zed):
```json
{
"agent_servers": {
"OpenClaw ACP": {
"type": "custom",
"command": "openclaw",
"args": ["acp"],
"env": {}
}
}
}
```
Щоб націлитися на конкретний Gateway або агента:
```json
{
"agent_servers": {
"OpenClaw ACP": {
"type": "custom",
"command": "openclaw",
"args": [
"acp",
"--url",
"wss://gateway-host:18789",
"--token",
"<token>",
"--session",
"agent:design:main"
],
"env": {}
}
}
}
```
У Zed відкрийте панель Agent і виберіть “OpenClaw ACP”, щоб почати гілку.
## Відображення сеансів
Типово сеанси ACP отримують ізольований ключ сеансу Gateway з префіксом `acp:`.
Щоб повторно використати відомий сеанс, передайте ключ або мітку сеансу:
- `--session <key>`: використовувати конкретний ключ сеансу Gateway.
- `--session-label <label>`: знайти наявний сеанс за міткою.
- `--reset-session`: згенерувати новий id сеансу для цього ключа (той самий ключ, новий transcript).
Якщо ваш ACP-клієнт підтримує метадані, ви можете перевизначити значення для окремого сеансу:
```json
{
"_meta": {
"sessionKey": "agent:main:main",
"sessionLabel": "support inbox",
"resetSession": true
}
}
```
Докладніше про ключі сеансів: [/concepts/session](/uk/concepts/session).
## Параметри
- `--url <url>`: URL WebSocket Gateway (типово `gateway.remote.url`, якщо налаштовано).
- `--token <token>`: токен автентифікації Gateway.
- `--token-file <path>`: зчитати токен автентифікації Gateway з файлу.
- `--password <password>`: пароль автентифікації Gateway.
- `--password-file <path>`: зчитати пароль автентифікації Gateway з файлу.
- `--session <key>`: типовий ключ сеансу.
- `--session-label <label>`: типова мітка сеансу для пошуку.
- `--require-existing`: завершитися з помилкою, якщо ключ/мітка сеансу не існує.
- `--reset-session`: скинути ключ сеансу перед першим використанням.
- `--no-prefix-cwd`: не додавати робочий каталог як префікс до запитів.
- `--provenance <off|meta|meta+receipt>`: включати метадані provenance ACP або receipts.
- `--verbose, -v`: докладне журналювання у stderr.
Примітка щодо безпеки:
- `--token` і `--password` можуть бути видимі у локальних списках процесів у деяких системах.
- Віддавайте перевагу `--token-file`/`--password-file` або змінним середовища (`OPENCLAW_GATEWAY_TOKEN`, `OPENCLAW_GATEWAY_PASSWORD`).
- Визначення автентифікації Gateway дотримується спільного контракту, який використовують інші клієнти Gateway:
- локальний режим: env (`OPENCLAW_GATEWAY_*`) -> `gateway.auth.*` -> резервне `gateway.remote.*` лише коли `gateway.auth.*` не задано (локальні SecretRef, які налаштовані, але не можуть бути визначені, завершуються з помилкою без резервного варіанта)
- віддалений режим: `gateway.remote.*` з резервним env/config згідно з правилами пріоритету для віддаленого режиму
- `--url` безпечно перевизначає значення й не використовує неявні облікові дані з config/env; передайте явний `--token`/`--password` (або варіанти з файлами)
- Дочірні процеси runtime backend ACP отримують `OPENCLAW_SHELL=acp`, що можна використовувати для контекстно-специфічних правил shell/profile.
- `openclaw acp client` встановлює `OPENCLAW_SHELL=acp-client` у процесі запущеного моста.
### Параметри `acp client`
- `--cwd <dir>`: робочий каталог для сеансу ACP.
- `--server <command>`: команда ACP-сервера (типово: `openclaw`).
- `--server-args <args...>`: додаткові аргументи, передані ACP-серверу.
- `--server-verbose`: увімкнути докладне журналювання на ACP-сервері.
- `--verbose, -v`: докладне журналювання клієнта.

64
docs/uk/cli/agent.md Normal file
View File

@ -0,0 +1,64 @@
---
read_when:
- Ви хочете запустити один хід агента зі скриптів (за бажанням доставити відповідь)
summary: Довідка CLI для `openclaw agent` (надіслати один хід агента через Gateway)
title: агент
x-i18n:
generated_at: "2026-04-23T06:17:03Z"
model: gpt-5.4
provider: openai
source_hash: 4ba3181d74e9a8d6d607ee62b18e1e6fd693e64e7789e6b29b7f7b1ccb7b69d0
source_path: cli/agent.md
workflow: 15
---
# `openclaw agent`
Запустіть хід агента через Gateway (використовуйте `--local` для вбудованого режиму).
Використовуйте `--agent <id>`, щоб напряму націлитися на налаштованого агента.
Передайте принаймні один селектор сесії:
- `--to <dest>`
- `--session-id <id>`
- `--agent <id>`
Пов’язане:
- Інструмент надсилання агенту: [Надсилання агенту](/uk/tools/agent-send)
## Параметри
- `-m, --message <text>`: обов’язкове тіло повідомлення
- `-t, --to <dest>`: одержувач, який використовується для виведення ключа сесії
- `--session-id <id>`: явний ідентифікатор сесії
- `--agent <id>`: ідентифікатор агента; перевизначає прив’язки маршрутизації
- `--thinking <level>`: рівень мислення агента (`off`, `minimal`, `low`, `medium`, `high`, а також підтримувані провайдером користувацькі рівні, як-от `xhigh`, `adaptive` або `max`)
- `--verbose <on|off>`: зберегти рівень докладності для сесії
- `--channel <channel>`: канал доставки; не вказуйте, щоб використовувати основний канал сесії
- `--reply-to <target>`: перевизначення цілі доставки
- `--reply-channel <channel>`: перевизначення каналу доставки
- `--reply-account <id>`: перевизначення облікового запису доставки
- `--local`: запустити вбудованого агента напряму (після попереднього завантаження реєстру Plugin)
- `--deliver`: надіслати відповідь назад у вибраний канал/ціль
- `--timeout <seconds>`: перевизначити тайм-аут агента (типово 600 або значення з конфігурації)
- `--json`: вивести JSON
## Приклади
```bash
openclaw agent --to +15555550123 --message "status update" --deliver
openclaw agent --agent ops --message "Summarize logs"
openclaw agent --session-id 1234 --message "Summarize inbox" --thinking medium
openclaw agent --to +15555550123 --message "Trace logs" --verbose on --json
openclaw agent --agent ops --message "Generate report" --deliver --reply-channel slack --reply-to "#reports"
openclaw agent --agent ops --message "Run locally" --local
```
## Примітки
- Режим Gateway повертається до вбудованого агента, якщо запит Gateway завершується помилкою. Використовуйте `--local`, щоб примусово виконати вбудований режим одразу.
- `--local` усе одно спочатку попередньо завантажує реєстр Plugin, тому надані Plugin провайдери, інструменти й канали залишаються доступними під час вбудованих запусків.
- `--channel`, `--reply-channel` і `--reply-account` впливають на доставку відповіді, а не на маршрутизацію сесії.
- Коли ця команда запускає повторну генерацію `models.json`, облікові дані провайдера, керовані SecretRef, зберігаються як несекретні маркери (наприклад, назви змінних середовища, `secretref-env:ENV_VAR_NAME` або `secretref-managed`), а не як розкритий секретний відкритий текст.
- Записи маркерів є авторитетними щодо джерела: OpenClaw зберігає маркери з активного знімка конфігурації джерела, а не з розв’язаних значень секретів у середовищі виконання.

227
docs/uk/cli/agents.md Normal file
View File

@ -0,0 +1,227 @@
---
read_when:
- Ви хочете кілька ізольованих агентів (робочі простори + маршрутизація + автентифікація)
summary: Довідка CLI для `openclaw agents` (list/add/delete/bindings/bind/unbind/set identity)
title: агенти
x-i18n:
generated_at: "2026-04-23T06:17:05Z"
model: gpt-5.4
provider: openai
source_hash: f328d9f4ce636ce27defdcbcc48b1ca041bc25d0888c3e4df0dd79840f44ca8f
source_path: cli/agents.md
workflow: 15
---
# `openclaw agents`
Керуйте ізольованими агентами (робочі простори + автентифікація + маршрутизація).
Пов’язано:
- Маршрутизація між агентами: [Маршрутизація між агентами](/uk/concepts/multi-agent)
- Робочий простір агента: [Робочий простір агента](/uk/concepts/agent-workspace)
- Конфігурація видимості Skills: [Конфігурація Skills](/uk/tools/skills-config)
## Приклади
```bash
openclaw agents list
openclaw agents list --bindings
openclaw agents add work --workspace ~/.openclaw/workspace-work
openclaw agents add ops --workspace ~/.openclaw/workspace-ops --bind telegram:ops --non-interactive
openclaw agents bindings
openclaw agents bind --agent work --bind telegram:ops
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
openclaw agents set-identity --agent main --avatar avatars/openclaw.png
openclaw agents delete work
```
## Прив’язки маршрутизації
Використовуйте прив’язки маршрутизації, щоб закріпити вхідний трафік каналу за конкретним агентом.
Якщо ви також хочете різну видимість Skills для кожного агента, налаштуйте
`agents.defaults.skills` і `agents.list[].skills` у `openclaw.json`. Див.
[Конфігурація Skills](/uk/tools/skills-config) і
[Довідник із конфігурації](/uk/gateway/configuration-reference#agents-defaults-skills).
Перелічити прив’язки:
```bash
openclaw agents bindings
openclaw agents bindings --agent work
openclaw agents bindings --json
```
Додати прив’язки:
```bash
openclaw agents bind --agent work --bind telegram:ops --bind discord:guild-a
```
Якщо ви пропустите `accountId` (`--bind <channel>`), OpenClaw визначить його з типових значень каналу та хуків налаштування plugin, якщо вони доступні.
Якщо ви пропустите `--agent` для `bind` або `unbind`, OpenClaw націлиться на поточний типовий агент.
### Поведінка області дії прив’язки
- Прив’язка без `accountId` відповідає лише типовому обліковому запису каналу.
- `accountId: "*"` — це загальноканальний резервний варіант (усі облікові записи) і він менш специфічний, ніж явна прив’язка облікового запису.
- Якщо той самий агент уже має відповідну прив’язку каналу без `accountId`, а ви пізніше виконаєте прив’язку з явним або визначеним `accountId`, OpenClaw оновить наявну прив’язку на місці замість додавання дубліката.
Приклад:
```bash
# initial channel-only binding
openclaw agents bind --agent work --bind telegram
# later upgrade to account-scoped binding
openclaw agents bind --agent work --bind telegram:ops
```
Після оновлення маршрутизація для цієї прив’язки буде обмежена `telegram:ops`. Якщо вам також потрібна маршрутизація для типового облікового запису, додайте її явно (наприклад, `--bind telegram:default`).
Видалити прив’язки:
```bash
openclaw agents unbind --agent work --bind telegram:ops
openclaw agents unbind --agent work --all
```
`unbind` приймає або `--all`, або одне чи більше значень `--bind`, але не обидва варіанти одночасно.
## Поверхня команд
### `agents`
Запуск `openclaw agents` без підкоманди еквівалентний `openclaw agents list`.
### `agents list`
Параметри:
- `--json`
- `--bindings`: включити повні правила маршрутизації, а не лише кількість/зведення по агентах
### `agents add [name]`
Параметри:
- `--workspace <dir>`
- `--model <id>`
- `--agent-dir <dir>`
- `--bind <channel[:accountId]>` (можна повторювати)
- `--non-interactive`
- `--json`
Примітки:
- Передавання будь-яких явних прапорців додавання перемикає команду в неінтерактивний режим.
- Неінтерактивний режим вимагає імені агента та `--workspace`.
- `main` зарезервовано, і його не можна використовувати як новий ідентифікатор агента.
### `agents bindings`
Параметри:
- `--agent <id>`
- `--json`
### `agents bind`
Параметри:
- `--agent <id>` (типово — поточний типовий агент)
- `--bind <channel[:accountId]>` (можна повторювати)
- `--json`
### `agents unbind`
Параметри:
- `--agent <id>` (типово — поточний типовий агент)
- `--bind <channel[:accountId]>` (можна повторювати)
- `--all`
- `--json`
### `agents delete <id>`
Параметри:
- `--force`
- `--json`
Примітки:
- `main` не можна видалити.
- Без `--force` потрібне інтерактивне підтвердження.
- Каталоги робочого простору, стану агента та стенограм сесій переміщуються до Кошика, а не видаляються безповоротно.
## Файли identity
Кожен робочий простір агента може містити `IDENTITY.md` у корені робочого простору:
- Приклад шляху: `~/.openclaw/workspace/IDENTITY.md`
- `set-identity --from-identity` читає з кореня робочого простору (або з явного `--identity-file`)
Шляхи до аватарів обчислюються відносно кореня робочого простору.
## Налаштування identity
`set-identity` записує поля до `agents.list[].identity`:
- `name`
- `theme`
- `emoji`
- `avatar` (відносний до робочого простору шлях, http(s) URL або data URI)
Параметри:
- `--agent <id>`
- `--workspace <dir>`
- `--identity-file <path>`
- `--from-identity`
- `--name <name>`
- `--theme <theme>`
- `--emoji <emoji>`
- `--avatar <value>`
- `--json`
Примітки:
- Для вибору цільового агента можна використовувати `--agent` або `--workspace`.
- Якщо ви покладаєтеся на `--workspace`, а кілька агентів використовують цей робочий простір, команда завершиться з помилкою й попросить передати `--agent`.
- Якщо явні поля identity не надано, команда зчитує дані identity з `IDENTITY.md`.
Завантажити з `IDENTITY.md`:
```bash
openclaw agents set-identity --workspace ~/.openclaw/workspace --from-identity
```
Явно перевизначити поля:
```bash
openclaw agents set-identity --agent main --name "OpenClaw" --emoji "🦞" --avatar avatars/openclaw.png
```
Приклад конфігурації:
```json5
{
agents: {
list: [
{
id: "main",
identity: {
name: "OpenClaw",
theme: "space lobster",
emoji: "🦞",
avatar: "avatars/openclaw.png",
},
},
],
},
}
```

189
docs/uk/cli/approvals.md Normal file
View File

@ -0,0 +1,189 @@
---
read_when:
- Ви хочете змінити дозволи на виконання з CLI
- Вам потрібно керувати списками дозволених на хостах Gateway або Node
summary: Довідка CLI для `openclaw approvals` і `openclaw exec-policy`
title: погодження
x-i18n:
generated_at: "2026-04-23T06:17:05Z"
model: gpt-5.4
provider: openai
source_hash: 4e4e031df737e3bdde97ece81fe50eafbb4384557b40c6d52cf2395cf30721a3
source_path: cli/approvals.md
workflow: 15
---
# `openclaw approvals`
Керуйте дозволами на виконання для **локального хоста**, **хоста gateway** або **хоста node**.
За замовчуванням команди спрямовуються на локальний файл дозволів на диску. Використовуйте `--gateway`, щоб спрямувати команду на gateway, або `--node`, щоб спрямувати її на конкретний node.
Псевдонім: `openclaw exec-approvals`
Пов’язано:
- Дозволи на виконання: [Дозволи на виконання](/uk/tools/exec-approvals)
- Nodes: [Nodes](/uk/nodes)
## `openclaw exec-policy`
`openclaw exec-policy` — це локальна допоміжна команда для того, щоб за один крок узгодити запитану конфігурацію `tools.exec.*` і локальний файл дозволів хоста.
Використовуйте її, якщо ви хочете:
- перевірити локальну запитану політику, файл дозволів хоста та ефективний результат об’єднання
- застосувати локальний пресет, наприклад YOLO або deny-all
- синхронізувати локальні `tools.exec.*` і локальний `~/.openclaw/exec-approvals.json`
Приклади:
```bash
openclaw exec-policy show
openclaw exec-policy show --json
openclaw exec-policy preset yolo
openclaw exec-policy preset cautious --json
openclaw exec-policy set --host gateway --security full --ask off --ask-fallback full
```
Режими виводу:
- без `--json`: виводить людинозрозуміле табличне представлення
- з `--json`: виводить машинозчитуваний структурований результат
Поточна область дії:
- `exec-policy` — **лише локальна**
- вона одночасно оновлює локальний файл конфігурації та локальний файл дозволів
- вона **не** надсилає політику на хост gateway або хост node
- `--host node` у цій команді відхиляється, оскільки дозволи на виконання для node отримуються від node під час виконання й мають керуватися натомість через команди дозволів, спрямовані на node
- `openclaw exec-policy show` позначає області `host=node` як такі, що керуються node під час виконання, замість виведення ефективної політики з локального файла дозволів
Якщо вам потрібно безпосередньо редагувати дозволи віддаленого хоста, продовжуйте використовувати `openclaw approvals set --gateway`
або `openclaw approvals set --node <id|name|ip>`.
## Поширені команди
```bash
openclaw approvals get
openclaw approvals get --node <id|name|ip>
openclaw approvals get --gateway
```
`openclaw approvals get` тепер показує ефективну політику виконання для локальних цілей, gateway і node:
- запитану політику `tools.exec`
- політику файла дозволів хоста
- ефективний результат після застосування правил пріоритету
Пріоритет навмисно такий:
- файл дозволів хоста — це джерело істини, яке реально застосовується
- запитана політика `tools.exec` може звужувати або розширювати намір, але ефективний результат усе одно виводиться з правил хоста
- `--node` поєднує файл дозволів хоста node з політикою gateway `tools.exec`, оскільки обидві все ще застосовуються під час виконання
- якщо конфігурація gateway недоступна, CLI повертається до знімка дозволів node і зазначає, що остаточну політику виконання під час роботи не вдалося обчислити
## Замінити дозволи з файла
```bash
openclaw approvals set --file ./exec-approvals.json
openclaw approvals set --stdin <<'EOF'
{ version: 1, defaults: { security: "full", ask: "off" } }
EOF
openclaw approvals set --node <id|name|ip> --file ./exec-approvals.json
openclaw approvals set --gateway --file ./exec-approvals.json
```
`set` приймає JSON5, а не лише строгий JSON. Використовуйте або `--file`, або `--stdin`, але не обидва одночасно.
## Приклад «Ніколи не запитувати» / YOLO
Для хоста, який ніколи не повинен зупинятися на дозволах виконання, встановіть для значень за замовчуванням у файлі дозволів хоста `full` + `off`:
```bash
openclaw approvals set --stdin <<'EOF'
{
version: 1,
defaults: {
security: "full",
ask: "off",
askFallback: "full"
}
}
EOF
```
Варіант для node:
```bash
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'
{
version: 1,
defaults: {
security: "full",
ask: "off",
askFallback: "full"
}
}
EOF
```
Це змінює лише **файл дозволів хоста**. Щоб також узгодити запитану політику OpenClaw, встановіть:
```bash
openclaw config set tools.exec.host gateway
openclaw config set tools.exec.security full
openclaw config set tools.exec.ask off
```
Чому `tools.exec.host=gateway` у цьому прикладі:
- `host=auto` як і раніше означає «пісочниця, якщо доступна, інакше gateway».
- YOLO стосується дозволів, а не маршрутизації.
- Якщо ви хочете виконання на хості навіть тоді, коли налаштована пісочниця, явно вкажіть вибір хоста через `gateway` або `/exec host=gateway`.
Це відповідає поточній поведінці YOLO за замовчуванням для хоста. Зробіть політику суворішою, якщо вам потрібні дозволи.
Локальне скорочення:
```bash
openclaw exec-policy preset yolo
```
Це локальне скорочення одночасно оновлює і запитану локальну конфігурацію `tools.exec.*`, і локальні значення дозволів за замовчуванням. Воно еквівалентне за наміром наведеному вище ручному двокроковому налаштуванню, але лише для локальної машини.
## Допоміжні команди для списку дозволених
```bash
openclaw approvals allowlist add "~/Projects/**/bin/rg"
openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"
openclaw approvals allowlist add --agent "*" "/usr/bin/uname"
openclaw approvals allowlist remove "~/Projects/**/bin/rg"
```
## Поширені параметри
`get`, `set` і `allowlist add|remove` усі підтримують:
- `--node <id|name|ip>`
- `--gateway`
- спільні параметри RPC для node: `--url`, `--token`, `--timeout`, `--json`
Примітки щодо спрямування:
- без прапорців цілі використовується локальний файл дозволів на диску
- `--gateway` спрямовує команду на файл дозволів хоста gateway
- `--node` спрямовує команду на один хост node після визначення id, name, IP або префікса id
`allowlist add|remove` також підтримує:
- `--agent <id>` (типове значення — `*`)
## Примітки
- `--node` використовує той самий механізм визначення, що й `openclaw nodes` (id, name, ip або префікс id).
- Для `--agent` типовим значенням є `"*"`, що застосовується до всіх агентів.
- Хост node має оголошувати `system.execApprovals.get/set` (застосунок macOS або headless-хост node).
- Файли дозволів зберігаються окремо для кожного хоста за шляхом `~/.openclaw/exec-approvals.json`.

91
docs/uk/cli/backup.md Normal file
View File

@ -0,0 +1,91 @@
---
read_when:
- Вам потрібен першокласний резервний архів для локального стану OpenClaw
- Ви хочете попередньо переглянути, які шляхи буде включено перед скиданням або видаленням
summary: Довідник CLI для `openclaw backup` (створення локальних резервних архівів)
title: резервне копіювання
x-i18n:
generated_at: "2026-04-23T06:17:03Z"
model: gpt-5.4
provider: openai
source_hash: 700eda8f9eac1cc93a854fa579f128e5e97d4e6dfc0da75b437c0fb2a898a37d
source_path: cli/backup.md
workflow: 15
---
# `openclaw backup`
Створіть локальний резервний архів для стану OpenClaw, конфігурації, профілів автентифікації, облікових даних каналів/провайдерів, сесій і, за потреби, робочих просторів.
```bash
openclaw backup create
openclaw backup create --output ~/Backups
openclaw backup create --dry-run --json
openclaw backup create --verify
openclaw backup create --no-include-workspace
openclaw backup create --only-config
openclaw backup verify ./2026-03-09T00-00-00.000Z-openclaw-backup.tar.gz
```
## Примітки
- Архів містить файл `manifest.json` із визначеними вихідними шляхами та структурою архіву.
- Типовим результатом є архів `.tar.gz` з часовою позначкою в поточному робочому каталозі.
- Якщо поточний робочий каталог розташований усередині дерева джерел, що резервуються, OpenClaw повертається до вашого домашнього каталогу як типового розташування архіву.
- Наявні файли архівів ніколи не перезаписуються.
- Вихідні шляхи всередині дерев вихідного стану/робочого простору відхиляються, щоб уникнути самовключення.
- `openclaw backup verify <archive>` перевіряє, що архів містить рівно один кореневий маніфест, відхиляє шляхи архіву у стилі traversal і перевіряє, що кожен payload, оголошений у маніфесті, існує в tarball.
- `openclaw backup create --verify` запускає цю перевірку одразу після запису архіву.
- `openclaw backup create --only-config` створює резервну копію лише активного JSON-файлу конфігурації.
## Що потрапляє до резервної копії
`openclaw backup create` планує джерела резервного копіювання з вашого локального встановлення OpenClaw:
- Каталог стану, який повертає локальний resolver стану OpenClaw, зазвичай `~/.openclaw`
- Шлях до активного файлу конфігурації
- Визначений каталог `credentials/`, якщо він існує поза каталогом стану
- Каталоги робочих просторів, виявлені з поточної конфігурації, якщо ви не передали `--no-include-workspace`
Профілі автентифікації моделей уже є частиною каталогу стану в
`agents/<agentId>/agent/auth-profiles.json`, тому зазвичай вони охоплюються
записом резервного копіювання стану.
Якщо ви використовуєте `--only-config`, OpenClaw пропускає виявлення стану, каталогу облікових даних і робочого простору та архівує лише шлях до активного файлу конфігурації.
OpenClaw канонізує шляхи перед побудовою архіву. Якщо конфігурація,
каталог облікових даних або робочий простір уже розташовані всередині каталогу стану,
вони не дублюються як окремі джерела резервного копіювання верхнього рівня. Відсутні шляхи
пропускаються.
Payload архіву зберігає вміст файлів із цих дерев джерел, а вбудований `manifest.json` фіксує визначені абсолютні шляхи джерел і структуру архіву, використану для кожного ресурсу.
## Поведінка за некоректної конфігурації
`openclaw backup` навмисно оминає звичайну попередню перевірку конфігурації, щоб залишатися корисним під час відновлення. Оскільки виявлення робочого простору залежить від коректної конфігурації, `openclaw backup create` тепер завершується з помилкою одразу, якщо файл конфігурації існує, але є некоректним, а резервне копіювання робочого простору все ще ввімкнене.
Якщо ви все одно хочете часткову резервну копію в такій ситуації, запустіть знову:
```bash
openclaw backup create --no-include-workspace
```
Це залишає в області резервного копіювання стан, конфігурацію та зовнішній каталог облікових даних, водночас
повністю пропускаючи виявлення робочого простору.
Якщо вам потрібна лише копія самого файлу конфігурації, `--only-config` також працює, коли конфігурація має помилки, оскільки не покладається на розбір конфігурації для виявлення робочого простору.
## Розмір і продуктивність
OpenClaw не застосовує вбудоване максимальне обмеження розміру резервної копії або обмеження розміру окремого файла.
Практичні обмеження залежать від локальної машини та цільової файлової системи:
- Доступний простір для тимчасового запису архіву та для фінального архіву
- Час на обхід великих дерев робочих просторів і їх стиснення в `.tar.gz`
- Час на повторне сканування архіву, якщо ви використовуєте `openclaw backup create --verify` або запускаєте `openclaw backup verify`
- Поведінка файлової системи в цільовому шляху. OpenClaw надає перевагу кроку публікації через hard link без перезапису й повертається до ексклюзивного копіювання, якщо hard links не підтримуються
Великі робочі простори зазвичай є головним чинником розміру архіву. Якщо вам потрібна менша або швидша резервна копія, використовуйте `--no-include-workspace`.
Для найменшого архіву використовуйте `--only-config`.

243
docs/uk/cli/browser.md Normal file
View File

@ -0,0 +1,243 @@
---
read_when:
- Ви використовуєте `openclaw browser` і хочете приклади для поширених завдань
- Ви хочете керувати браузером, що працює на іншій машині, через хост node
- Ви хочете під’єднатися до свого локального Chrome, у якому вже виконано вхід, через Chrome MCP
summary: Довідка CLI для `openclaw browser` (життєвий цикл, профілі, вкладки, дії, стан і налагодження)
title: браузер
x-i18n:
generated_at: "2026-04-23T06:17:04Z"
model: gpt-5.4
provider: openai
source_hash: 0cf1a5168e690121d4fc4eac984580c89bc50844f15558413ba6d8a635da2ed6
source_path: cli/browser.md
workflow: 15
---
# `openclaw browser`
Керуйте поверхнею керування браузером OpenClaw і запускайте дії браузера (життєвий цикл, профілі, вкладки, знімки стану, знімки екрана, навігація, введення, емуляція стану та налагодження).
Пов’язане:
- Інструмент браузера + API: [Інструмент браузера](/uk/tools/browser)
## Поширені прапорці
- `--url <gatewayWsUrl>`: URL WebSocket Gateway (типово з конфігурації).
- `--token <token>`: токен Gateway (за потреби).
- `--timeout <ms>`: тайм-аут запиту (мс).
- `--expect-final`: чекати фінальної відповіді Gateway.
- `--browser-profile <name>`: вибрати профіль браузера (типовий з конфігурації).
- `--json`: машинозчитуваний вивід (де підтримується).
## Швидкий старт (локально)
```bash
openclaw browser profiles
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw open https://example.com
openclaw browser --browser-profile openclaw snapshot
```
## Швидке усунення несправностей
Якщо `start` завершується помилкою `not reachable after start`, спочатку перевірте готовність CDP. Якщо `start` і `tabs` виконуються успішно, але `open` або `navigate` завершується помилкою, площина керування браузером справна, а причина збою зазвичай у політиці SSRF для навігації.
Мінімальна послідовність:
```bash
openclaw browser --browser-profile openclaw start
openclaw browser --browser-profile openclaw tabs
openclaw browser --browser-profile openclaw open https://example.com
```
Детальні вказівки: [Усунення несправностей браузера](/uk/tools/browser#cdp-startup-failure-vs-navigation-ssrf-block)
## Життєвий цикл
```bash
openclaw browser status
openclaw browser start
openclaw browser stop
openclaw browser --browser-profile openclaw reset-profile
```
Примітки:
- Для профілів `attachOnly` і віддаленого CDP команда `openclaw browser stop` закриває активний сеанс керування та очищає тимчасові перевизначення емуляції, навіть якщо OpenClaw сам не запускав процес браузера.
- Для локальних керованих профілів `openclaw browser stop` зупиняє запущений процес браузера.
## Якщо команда відсутня
Якщо `openclaw browser` є невідомою командою, перевірте `plugins.allow` у `~/.openclaw/openclaw.json`.
Коли `plugins.allow` присутній, вбудований Plugin браузера має бути явно вказаний:
```json5
{
plugins: {
allow: ["telegram", "browser"],
},
}
```
`browser.enabled=true` не відновлює підкоманду CLI, якщо список дозволених plugin виключає `browser`.
Пов’язане: [Інструмент браузера](/uk/tools/browser#missing-browser-command-or-tool)
## Профілі
Профілі — це іменовані конфігурації маршрутизації браузера. На практиці:
- `openclaw`: запускає або під’єднується до окремого екземпляра Chrome під керуванням OpenClaw (ізольований каталог даних користувача).
- `user`: керує вашою наявною сесією Chrome із виконаним входом через Chrome DevTools MCP.
- користувацькі профілі CDP: вказують на локальну або віддалену кінцеву точку CDP.
```bash
openclaw browser profiles
openclaw browser create-profile --name work --color "#FF5A36"
openclaw browser create-profile --name chrome-live --driver existing-session
openclaw browser create-profile --name remote --cdp-url https://browser-host.example.com
openclaw browser delete-profile --name work
```
Використання конкретного профілю:
```bash
openclaw browser --browser-profile work tabs
```
## Вкладки
```bash
openclaw browser tabs
openclaw browser tab new
openclaw browser tab select 2
openclaw browser tab close 2
openclaw browser open https://docs.openclaw.ai
openclaw browser focus <targetId>
openclaw browser close <targetId>
```
## Знімок стану / знімок екрана / дії
Знімок стану:
```bash
openclaw browser snapshot
```
Знімок екрана:
```bash
openclaw browser screenshot
openclaw browser screenshot --full-page
openclaw browser screenshot --ref e12
```
Примітки:
- `--full-page` призначений лише для захоплення сторінки; його не можна поєднувати з `--ref` або `--element`.
- Профілі `existing-session` / `user` підтримують знімки екрана сторінки та знімки екрана з `--ref` із виводу знімка стану, але не підтримують знімки екрана CSS `--element`.
Навігація/клік/введення (автоматизація UI на основі ref):
```bash
openclaw browser navigate https://example.com
openclaw browser click <ref>
openclaw browser type <ref> "hello"
openclaw browser press Enter
openclaw browser hover <ref>
openclaw browser scrollintoview <ref>
openclaw browser drag <startRef> <endRef>
openclaw browser select <ref> OptionA OptionB
openclaw browser fill --fields '[{"ref":"1","value":"Ada"}]'
openclaw browser wait --text "Done"
openclaw browser evaluate --fn '(el) => el.textContent' --ref <ref>
```
Допоміжні команди для файлів і діалогів:
```bash
openclaw browser upload /tmp/openclaw/uploads/file.pdf --ref <ref>
openclaw browser waitfordownload
openclaw browser download <ref> report.pdf
openclaw browser dialog --accept
```
## Стан і сховище
Область перегляду + емуляція:
```bash
openclaw browser resize 1280 720
openclaw browser set viewport 1280 720
openclaw browser set offline on
openclaw browser set media dark
openclaw browser set timezone Europe/London
openclaw browser set locale en-GB
openclaw browser set geo 51.5074 -0.1278 --accuracy 25
openclaw browser set device "iPhone 14"
openclaw browser set headers '{"x-test":"1"}'
openclaw browser set credentials myuser mypass
```
Cookies + сховище:
```bash
openclaw browser cookies
openclaw browser cookies set session abc123 --url https://example.com
openclaw browser cookies clear
openclaw browser storage local get
openclaw browser storage local set token abc123
openclaw browser storage session clear
```
## Налагодження
```bash
openclaw browser console --level error
openclaw browser pdf
openclaw browser responsebody "**/api"
openclaw browser highlight <ref>
openclaw browser errors --clear
openclaw browser requests --filter api
openclaw browser trace start
openclaw browser trace stop --out trace.zip
```
## Наявний Chrome через MCP
Використовуйте вбудований профіль `user` або створіть власний профіль `existing-session`:
```bash
openclaw browser --browser-profile user tabs
openclaw browser create-profile --name chrome-live --driver existing-session
openclaw browser create-profile --name brave-live --driver existing-session --user-data-dir "~/Library/Application Support/BraveSoftware/Brave-Browser"
openclaw browser --browser-profile chrome-live tabs
```
Цей шлях працює лише на хості. Для Docker, headless-серверів, Browserless або інших віддалених налаштувань замість цього використовуйте профіль CDP.
Поточні обмеження existing-session:
- дії на основі знімка стану використовують ref, а не CSS-селектори
- `click` підтримує лише клік лівою кнопкою
- `type` не підтримує `slowly=true`
- `press` не підтримує `delayMs`
- `hover`, `scrollintoview`, `drag`, `select`, `fill` і `evaluate` відхиляють перевизначення тайм-ауту для окремих викликів
- `select` підтримує лише одне значення
- `wait --load networkidle` не підтримується
- вивантаження файлів потребує `--ref` / `--input-ref`, не підтримує CSS `--element` і наразі підтримує один файл за раз
- гачки діалогів не підтримують `--timeout`
- знімки екрана підтримують захоплення сторінки та `--ref`, але не CSS `--element`
- `responsebody`, перехоплення завантажень, експорт PDF і пакетні дії, як і раніше, потребують керованого браузера або профілю raw CDP
## Віддалене керування браузером (проксі хоста node)
Якщо Gateway працює на іншій машині, ніж браузер, запустіть **хост node** на машині, де є Chrome/Brave/Edge/Chromium. Gateway проксіюватиме дії браузера до цього node (окремий сервер керування браузером не потрібен).
Використовуйте `gateway.nodes.browser.mode`, щоб керувати автоматичною маршрутизацією, і `gateway.nodes.browser.node`, щоб закріпити конкретний node, якщо під’єднано кілька.
Безпека й віддалене налаштування: [Інструмент браузера](/uk/tools/browser), [Віддалений доступ](/uk/gateway/remote), [Tailscale](/uk/gateway/tailscale), [Безпека](/uk/gateway/security)

135
docs/uk/cli/channels.md Normal file
View File

@ -0,0 +1,135 @@
---
read_when:
- Ви хочете додати/видалити облікові записи каналів (WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (plugin)/Signal/iMessage/Matrix)
- Ви хочете перевірити статус каналу або відстежувати журнали каналу в реальному часі
summary: Довідка CLI для `openclaw channels` (облікові записи, статус, вхід/вихід, журнали)
title: канали
x-i18n:
generated_at: "2026-04-23T06:17:03Z"
model: gpt-5.4
provider: openai
source_hash: d0f558fdb5f6ec54e7fdb7a88e5c24c9d2567174341bd3ea87848bce4cba5d29
source_path: cli/channels.md
workflow: 15
---
# `openclaw channels`
Керуйте обліковими записами чат-каналів і їхнім станом виконання в Gateway.
Пов’язана документація:
- Посібники з каналів: [Канали](/uk/channels/index)
- Налаштування Gateway: [Конфігурація](/uk/gateway/configuration)
## Поширені команди
```bash
openclaw channels list
openclaw channels status
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels logs --channel all
```
## Статус / можливості / зіставлення / журнали
- `channels status`: `--probe`, `--timeout <ms>`, `--json`
- `channels capabilities`: `--channel <name>`, `--account <id>` (лише з `--channel`), `--target <dest>`, `--timeout <ms>`, `--json`
- `channels resolve`: `<entries...>`, `--channel <name>`, `--account <id>`, `--kind <auto|user|group>`, `--json`
- `channels logs`: `--channel <name|all>`, `--lines <n>`, `--json`
`channels status --probe` — це шлях живої перевірки: на доступному gateway команда запускає для кожного облікового запису перевірки `probeAccount` і, за потреби, `auditAccount`, тому вивід може містити стан транспорту разом із результатами перевірок, наприклад `works`, `probe failed`, `audit ok` або `audit failed`.
Якщо gateway недоступний, `channels status` повертається до зведень лише на основі конфігурації замість виводу живих перевірок.
## Додавання / видалення облікових записів
```bash
openclaw channels add --channel telegram --token <bot-token>
openclaw channels add --channel nostr --private-key "$NOSTR_PRIVATE_KEY"
openclaw channels remove --channel telegram --delete
```
Порада: `openclaw channels add --help` показує прапорці для кожного каналу окремо (`token`, приватний ключ, `app token`, шляхи `signal-cli` тощо).
Поширені поверхні неінтерактивного додавання включають:
- канали з токеном бота: `--token`, `--bot-token`, `--app-token`, `--token-file`
- поля транспорту Signal/iMessage: `--signal-number`, `--cli-path`, `--http-url`, `--http-host`, `--http-port`, `--db-path`, `--service`, `--region`
- поля Google Chat: `--webhook-path`, `--webhook-url`, `--audience-type`, `--audience`
- поля Matrix: `--homeserver`, `--user-id`, `--access-token`, `--password`, `--device-name`, `--initial-sync-limit`
- поля Nostr: `--private-key`, `--relay-urls`
- поля Tlon: `--ship`, `--url`, `--code`, `--group-channels`, `--dm-allowlist`, `--auto-discover-channels`
- `--use-env` для автентифікації на основі змінних середовища для облікового запису за замовчуванням там, де це підтримується
Коли ви запускаєте `openclaw channels add` без прапорців, інтерактивний майстер може запитати:
- ідентифікатори облікових записів для кожного вибраного каналу
- необов’язкові відображувані імена для цих облікових записів
- `Bind configured channel accounts to agents now?`
Якщо ви підтвердите прив’язку зараз, майстер запитає, якому агенту має належати кожен налаштований обліковий запис каналу, і запише прив’язки маршрутизації на рівні облікового запису.
Тими самими правилами маршрутизації також можна керувати пізніше за допомогою `openclaw agents bindings`, `openclaw agents bind` і `openclaw agents unbind` (див. [agents](/uk/cli/agents)).
Коли ви додаєте не типовий обліковий запис до каналу, який досі використовує однокористувацькі параметри верхнього рівня, OpenClaw піднімає значення верхнього рівня з областю дії облікового запису до мапи облікових записів каналу перед записом нового облікового запису. Для більшості каналів ці значення потрапляють у `channels.<channel>.accounts.default`, але вбудовані канали можуть натомість зберегти наявний відповідний піднятий обліковий запис. Поточний приклад — Matrix: якщо вже існує один іменований обліковий запис або `defaultAccount` вказує на наявний іменований обліковий запис, підняття зберігає цей обліковий запис замість створення нового `accounts.default`.
Поведінка маршрутизації залишається сталою:
- Наявні прив’язки лише до каналу (без `accountId`) і далі відповідають обліковому запису за замовчуванням.
- `channels add` не створює і не переписує прив’язки автоматично в неінтерактивному режимі.
- Інтерактивне налаштування може за бажанням додати прив’язки з областю дії облікового запису.
Якщо ваша конфігурація вже була в змішаному стані (є іменовані облікові записи, а однокористувацькі значення верхнього рівня все ще задані), виконайте `openclaw doctor --fix`, щоб перенести значення з областю дії облікового запису в піднятий обліковий запис, вибраний для цього каналу. Для більшості каналів підняття відбувається в `accounts.default`; Matrix може зберегти наявну іменовану/типову ціль.
## Вхід / вихід (інтерактивно)
```bash
openclaw channels login --channel whatsapp
openclaw channels logout --channel whatsapp
```
Примітки:
- `channels login` підтримує `--verbose`.
- `channels login` / `logout` можуть визначити канал автоматично, якщо налаштовано лише одну підтримувану ціль входу.
## Усунення проблем
- Виконайте `openclaw status --deep` для широкої перевірки.
- Використовуйте `openclaw doctor` для покрокового виправлення.
- `openclaw channels list` виводить `Claude: HTTP 403 ... user:profile` → знімку використання потрібна область дії `user:profile`. Використайте `--no-usage`, або надайте ключ сесії `claude.ai` (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`), або повторно автентифікуйтеся через Claude CLI.
- `openclaw channels status` повертається до зведень лише на основі конфігурації, коли gateway недоступний. Якщо облікові дані підтримуваного каналу налаштовані через SecretRef, але недоступні в поточному шляху команди, цей обліковий запис буде позначено як налаштований із примітками про деградацію, а не як не налаштований.
## Перевірка можливостей
Отримайте підказки щодо можливостей провайдера (інтенти/області дії, де доступно) разом зі статичною підтримкою функцій:
```bash
openclaw channels capabilities
openclaw channels capabilities --channel discord --target channel:123
```
Примітки:
- `--channel` необов’язковий; якщо його не вказати, буде показано всі канали (включно з extensions).
- `--account` допустимий лише разом із `--channel`.
- `--target` приймає `channel:<id>` або необроблений числовий ідентифікатор каналу й застосовується лише до Discord.
- Перевірки залежать від провайдера: інтенти Discord + необов’язкові дозволи каналу; області дії бота та користувача Slack; прапорці бота Telegram + Webhook; версія демона Signal; `app token` Microsoft Teams + ролі/області дії Graph (із примітками там, де це відомо). Канали без перевірок показують `Probe: unavailable`.
## Зіставлення імен з ID
Зіставляйте назви каналів/користувачів з ID за допомогою каталогу провайдера:
```bash
openclaw channels resolve --channel slack "#general" "@jane"
openclaw channels resolve --channel discord "My Server/#support" "@someone"
openclaw channels resolve --channel matrix "Project Room"
```
Примітки:
- Використовуйте `--kind user|group|auto`, щоб примусово задати тип цілі.
- Якщо кілька записів мають однакову назву, зіставлення надає перевагу активним збігам.
- `channels resolve` працює лише на читання. Якщо вибраний обліковий запис налаштовано через SecretRef, але ці облікові дані недоступні в поточному шляху команди, команда повертає деградовані нерозв’язані результати з примітками замість переривання всього виконання.

28
docs/uk/cli/clawbot.md Normal file
View File

@ -0,0 +1,28 @@
---
read_when:
- Ви підтримуєте старіші скрипти за допомогою `openclaw clawbot ...`
- Вам потрібні вказівки щодо міграції до поточних команд
summary: Довідка CLI для `openclaw clawbot` (простір імен застарілих псевдонімів)
title: clawbot
x-i18n:
generated_at: "2026-04-23T06:17:05Z"
model: gpt-5.4
provider: openai
source_hash: 1db82065ecb0107d1ab1a2c6ddaee9df1dd02b983ca1f759974c9d73f0ee3bde
source_path: cli/clawbot.md
workflow: 15
---
# `openclaw clawbot`
Простір імен застарілих псевдонімів, збережений для зворотної сумісності.
Поточний підтримуваний псевдонім:
- `openclaw clawbot qr` (така сама поведінка, як у [`openclaw qr`](/uk/cli/qr))
## Міграція
Надавайте перевагу сучасним командам верхнього рівня безпосередньо:
- `openclaw clawbot qr` -> `openclaw qr`

42
docs/uk/cli/completion.md Normal file
View File

@ -0,0 +1,42 @@
---
read_when:
- Вам потрібне автодоповнення оболонки для zsh/bash/fish/PowerShell
- Вам потрібно кешувати скрипти автодоповнення в стані OpenClaw
summary: Довідка CLI для `openclaw completion` (створення/встановлення скриптів автодоповнення оболонки)
title: completion
x-i18n:
generated_at: "2026-04-23T06:17:15Z"
model: gpt-5.4
provider: openai
source_hash: 7bbf140a880bafdb7140149f85465d66d0d46e5a3da6a1e41fb78be2fd2bd4d0
source_path: cli/completion.md
workflow: 15
---
# `openclaw completion`
Створює скрипти автодоповнення оболонки та, за потреби, встановлює їх у профіль вашої оболонки.
## Використання
```bash
openclaw completion
openclaw completion --shell zsh
openclaw completion --install
openclaw completion --shell fish --install
openclaw completion --write-state
openclaw completion --shell bash --write-state
```
## Параметри
- `-s, --shell <shell>`: цільова оболонка (`zsh`, `bash`, `powershell`, `fish`; типово: `zsh`)
- `-i, --install`: встановити автодоповнення, додавши рядок source до профілю вашої оболонки
- `--write-state`: записати скрипт(и) автодоповнення до `$OPENCLAW_STATE_DIR/completions` без виведення в stdout
- `-y, --yes`: пропустити запити на підтвердження встановлення
## Примітки
- `--install` записує невеликий блок «OpenClaw Completion» до профілю вашої оболонки та спрямовує його на кешований скрипт.
- Без `--install` або `--write-state` команда виводить скрипт у stdout.
- Створення автодоповнення завчасно завантажує дерева команд, щоб вкладені підкоманди було включено.

436
docs/uk/cli/config.md Normal file
View File

@ -0,0 +1,436 @@
---
read_when:
- Ви хочете читати або редагувати конфігурацію в неінтерактивному режимі
summary: Довідка CLI для `openclaw config` (get/set/unset/file/schema/validate)
title: конфігурація
x-i18n:
generated_at: "2026-04-23T06:17:23Z"
model: gpt-5.4
provider: openai
source_hash: 2b496b6c02eeb144bfe800b801ea48a178b02bc7a87197dbf189b27d6fcf41c9
source_path: cli/config.md
workflow: 15
---
# `openclaw config`
Допоміжні команди конфігурації для неінтерактивного редагування в `openclaw.json`: get/set/unset/file/schema/validate
значень за шляхом і виведення активного файла конфігурації. Запустіть без підкоманди, щоб
відкрити майстер налаштування (те саме, що `openclaw configure`).
Кореневі параметри:
- `--section <section>`: повторюваний фільтр розділів покрокового налаштування, коли ви запускаєте `openclaw config` без підкоманди
Підтримувані розділи покрокового налаштування:
- `workspace`
- `model`
- `web`
- `gateway`
- `daemon`
- `channels`
- `plugins`
- `skills`
- `health`
## Приклади
```bash
openclaw config file
openclaw config --section model
openclaw config --section gateway --section daemon
openclaw config schema
openclaw config get browser.executablePath
openclaw config set browser.executablePath "/usr/bin/google-chrome"
openclaw config set agents.defaults.heartbeat.every "2h"
openclaw config set agents.list[0].tools.exec.node "node-id-or-name"
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.4":{}}' --strict-json --merge
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN
openclaw config set secrets.providers.vaultfile --provider-source file --provider-path /etc/openclaw/secrets.json --provider-mode json
openclaw config unset plugins.entries.brave.config.webSearch.apiKey
openclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-run
openclaw config validate
openclaw config validate --json
```
### `config schema`
Виводить згенеровану JSON-схему для `openclaw.json` у stdout як JSON.
Що вона містить:
- Поточну кореневу схему конфігурації, а також кореневе строкове поле `$schema` для інструментів редактора
- Метадані документації полів `title` і `description`, що використовуються інтерфейсом керування
- Вкладені об’єкти, вузли wildcard (`*`) і елементи масиву (`[]`) успадковують ті самі метадані `title` / `description`, коли для відповідного поля існує документація
- Гілки `anyOf` / `oneOf` / `allOf` також успадковують ті самі метадані документації, коли для відповідного поля існує документація
- Live-метадані схеми Plugin + channel за принципом best-effort, коли можна завантажити маніфести середовища виконання
- Чисту резервну схему навіть тоді, коли поточна конфігурація невалідна
Пов’язаний runtime RPC:
- `config.schema.lookup` повертає один нормалізований шлях конфігурації з поверхневим
вузлом схеми (`title`, `description`, `type`, `enum`, `const`, поширені межі),
відповідними метаданими UI hints і зведеннями безпосередніх дочірніх елементів. Використовуйте це для
деталізації за шляхом в інтерфейсі керування або в користувацьких клієнтах.
```bash
openclaw config schema
```
Спрямуйте результат у файл, якщо хочете перевірити або валідувати його іншими інструментами:
```bash
openclaw config schema > openclaw.schema.json
```
### Шляхи
Шляхи використовують крапкову нотацію або нотацію з дужками:
```bash
openclaw config get agents.defaults.workspace
openclaw config get agents.list[0].id
```
Використовуйте індекс списку агентів, щоб націлитися на конкретного агента:
```bash
openclaw config get agents.list
openclaw config set agents.list[1].tools.exec.node "node-id-or-name"
```
## Значення
Значення розбираються як JSON5, коли це можливо; інакше вони трактуються як рядки.
Використовуйте `--strict-json`, щоб вимагати розбір JSON5. `--json` і далі підтримується як застарілий псевдонім.
```bash
openclaw config set agents.defaults.heartbeat.every "0m"
openclaw config set gateway.port 19001 --strict-json
openclaw config set channels.whatsapp.groups '["*"]' --strict-json
```
`config get <path> --json` виводить необроблене значення як JSON замість тексту, відформатованого для термінала.
Присвоєння об’єкта типово замінює цільовий шлях. Захищені шляхи map/list,
які часто містять записи, додані користувачем, наприклад `agents.defaults.models`,
`models.providers`, `models.providers.<id>.models`, `plugins.entries` і
`auth.profiles`, відмовляють у заміні, яка видалила б наявні записи, якщо
ви не передасте `--replace`.
Використовуйте `--merge`, коли додаєте записи до цих map:
```bash
openclaw config set agents.defaults.models '{"openai-codex/gpt-5.4":{}}' --strict-json --merge
openclaw config set models.providers.ollama.models '[{"id":"llama3.2","name":"Llama 3.2"}]' --strict-json --merge
```
Використовуйте `--replace` лише тоді, коли ви свідомо хочете, щоб надане значення
стало повним цільовим значенням.
## Режими `config set`
`openclaw config set` підтримує чотири стилі присвоєння:
1. Режим значення: `openclaw config set <path> <value>`
2. Режим побудови SecretRef:
```bash
openclaw config set channels.discord.token \
--ref-provider default \
--ref-source env \
--ref-id DISCORD_BOT_TOKEN
```
3. Режим побудови provider (лише для шляху `secrets.providers.<alias>`):
```bash
openclaw config set secrets.providers.vault \
--provider-source exec \
--provider-command /usr/local/bin/openclaw-vault \
--provider-arg read \
--provider-arg openai/api-key \
--provider-timeout-ms 5000
```
4. Пакетний режим (`--batch-json` або `--batch-file`):
```bash
openclaw config set --batch-json '[
{
"path": "secrets.providers.default",
"provider": { "source": "env" }
},
{
"path": "channels.discord.token",
"ref": { "source": "env", "provider": "default", "id": "DISCORD_BOT_TOKEN" }
}
]'
```
```bash
openclaw config set --batch-file ./config-set.batch.json --dry-run
```
Примітка щодо політики:
- Присвоєння SecretRef відхиляються на непідтримуваних поверхнях runtime-mutable (наприклад, `hooks.token`, `commands.ownerDisplaySecret`, токени Webhook для прив’язки потоків Discord і JSON облікових даних WhatsApp). Див. [Поверхня облікових даних SecretRef](/uk/reference/secretref-credential-surface).
Пакетний розбір завжди використовує пакетне корисне навантаження (`--batch-json`/`--batch-file`) як джерело істини.
`--strict-json` / `--json` не змінюють поведінку пакетного розбору.
Режим шляху/значення JSON і далі підтримується як для SecretRef, так і для provider:
```bash
openclaw config set channels.discord.token \
'{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}' \
--strict-json
openclaw config set secrets.providers.vaultfile \
'{"source":"file","path":"/etc/openclaw/secrets.json","mode":"json"}' \
--strict-json
```
## Прапорці побудови provider
Цілі побудови provider повинні використовувати `secrets.providers.<alias>` як шлях.
Поширені прапорці:
- `--provider-source <env|file|exec>`
- `--provider-timeout-ms <ms>` (`file`, `exec`)
Env provider (`--provider-source env`):
- `--provider-allowlist <ENV_VAR>` (можна повторювати)
File provider (`--provider-source file`):
- `--provider-path <path>` (обов’язково)
- `--provider-mode <singleValue|json>`
- `--provider-max-bytes <bytes>`
Exec provider (`--provider-source exec`):
- `--provider-command <path>` (обов’язково)
- `--provider-arg <arg>` (можна повторювати)
- `--provider-no-output-timeout-ms <ms>`
- `--provider-max-output-bytes <bytes>`
- `--provider-json-only`
- `--provider-env <KEY=VALUE>` (можна повторювати)
- `--provider-pass-env <ENV_VAR>` (можна повторювати)
- `--provider-trusted-dir <path>` (можна повторювати)
- `--provider-allow-insecure-path`
- `--provider-allow-symlink-command`
Приклад hardened exec provider:
```bash
openclaw config set secrets.providers.vault \
--provider-source exec \
--provider-command /usr/local/bin/openclaw-vault \
--provider-arg read \
--provider-arg openai/api-key \
--provider-json-only \
--provider-pass-env VAULT_TOKEN \
--provider-trusted-dir /usr/local/bin \
--provider-timeout-ms 5000
```
## Сухий запуск
Використовуйте `--dry-run`, щоб валідувати зміни без запису в `openclaw.json`.
```bash
openclaw config set channels.discord.token \
--ref-provider default \
--ref-source env \
--ref-id DISCORD_BOT_TOKEN \
--dry-run
openclaw config set channels.discord.token \
--ref-provider default \
--ref-source env \
--ref-id DISCORD_BOT_TOKEN \
--dry-run \
--json
openclaw config set channels.discord.token \
--ref-provider vault \
--ref-source exec \
--ref-id discord/token \
--dry-run \
--allow-exec
```
Поведінка сухого запуску:
- Режим побудови: запускає перевірки розв’язуваності SecretRef для змінених ref/provider.
- Режим JSON (`--strict-json`, `--json` або пакетний режим): запускає валідацію схеми та перевірки розв’язуваності SecretRef.
- Валідація політики також запускається для відомих непідтримуваних цільових поверхонь SecretRef.
- Перевірки політики оцінюють повну конфігурацію після змін, тому записи батьківських об’єктів (наприклад, встановлення `hooks` як об’єкта) не можуть обійти валідацію непідтримуваних поверхонь.
- Перевірки exec SecretRef типово пропускаються під час сухого запуску, щоб уникнути побічних ефектів команд.
- Використовуйте `--allow-exec` разом із `--dry-run`, щоб увімкнути перевірки exec SecretRef (це може виконати команди provider).
- `--allow-exec` призначений лише для сухого запуску й спричиняє помилку, якщо використовується без `--dry-run`.
`--dry-run --json` виводить машинозчитуваний звіт:
- `ok`: чи пройдено сухий запуск
- `operations`: кількість оцінених присвоєнь
- `checks`: чи запускалися перевірки схеми/розв’язуваності
- `checks.resolvabilityComplete`: чи були перевірки розв’язуваності виконані до кінця (`false`, коли exec ref пропущено)
- `refsChecked`: кількість ref, фактично розв’язаних під час сухого запуску
- `skippedExecRefs`: кількість exec ref, пропущених через те, що не було встановлено `--allow-exec`
- `errors`: структуровані збої схеми/розв’язуваності, коли `ok=false`
### Форма виводу JSON
```json5
{
ok: boolean,
operations: number,
configPath: string,
inputModes: ["value" | "json" | "builder", ...],
checks: {
schema: boolean,
resolvability: boolean,
resolvabilityComplete: boolean,
},
refsChecked: number,
skippedExecRefs: number,
errors?: [
{
kind: "schema" | "resolvability",
message: string,
ref?: string, // present for resolvability errors
},
],
}
```
Приклад успіху:
```json
{
"ok": true,
"operations": 1,
"configPath": "~/.openclaw/openclaw.json",
"inputModes": ["builder"],
"checks": {
"schema": false,
"resolvability": true,
"resolvabilityComplete": true
},
"refsChecked": 1,
"skippedExecRefs": 0
}
```
Приклад помилки:
```json
{
"ok": false,
"operations": 1,
"configPath": "~/.openclaw/openclaw.json",
"inputModes": ["builder"],
"checks": {
"schema": false,
"resolvability": true,
"resolvabilityComplete": true
},
"refsChecked": 1,
"skippedExecRefs": 0,
"errors": [
{
"kind": "resolvability",
"message": "Error: Environment variable \"MISSING_TEST_SECRET\" is not set.",
"ref": "env:default:MISSING_TEST_SECRET"
}
]
}
```
Якщо сухий запуск завершується помилкою:
- `config schema validation failed`: форма вашої конфігурації після змін невалідна; виправте шлях/значення або форму об’єкта provider/ref.
- `Config policy validation failed: unsupported SecretRef usage`: перенесіть цей обліковий запис назад у plaintext/string input і залишайте SecretRef лише на підтримуваних поверхнях.
- `SecretRef assignment(s) could not be resolved`: на цей момент не вдається розв’язати вказаний provider/ref (відсутня змінна середовища, невалідний вказівник на файл, збій exec provider або невідповідність provider/source).
- `Dry run note: skipped <n> exec SecretRef resolvability check(s)`: сухий запуск пропустив exec ref; перезапустіть з `--allow-exec`, якщо вам потрібна валідація розв’язуваності exec.
- Для пакетного режиму виправте записи, які не пройшли, і перед записом повторно запустіть `--dry-run`.
## Безпека запису
`openclaw config set` та інші засоби запису конфігурації, якими керує OpenClaw, валідують повну
конфігурацію після змін перед її збереженням на диск. Якщо нове корисне навантаження не проходить
валідацію схеми або виглядає як руйнівне перезаписування, активна конфігурація залишається без змін,
а відхилене корисне навантаження зберігається поруч як `openclaw.json.rejected.*`.
Активний шлях конфігурації має бути звичайним файлом. Макети `openclaw.json`
із символічними посиланнями не підтримуються для запису; натомість використовуйте `OPENCLAW_CONFIG_PATH`, щоб вказати безпосередньо
на реальний файл.
Для невеликих змін віддавайте перевагу запису через CLI:
```bash
openclaw config set gateway.reload.mode hybrid --dry-run
openclaw config set gateway.reload.mode hybrid
openclaw config validate
```
Якщо запис відхилено, перевірте збережене корисне навантаження й виправте повну форму конфігурації:
```bash
CONFIG="$(openclaw config file)"
ls -lt "$CONFIG".rejected.* 2>/dev/null | head
openclaw config validate
```
Прямий запис через редактор і далі дозволений, але запущений Gateway розглядає такі зміни як
недовірені, доки вони не пройдуть валідацію. Невалідні прямі редагування можна відновити з
резервної копії останнього відомого коректного стану під час запуску або гарячого перезавантаження. Див.
[Усунення несправностей Gateway](/uk/gateway/troubleshooting#gateway-restored-last-known-good-config).
## Підкоманди
- `config file`: Вивести шлях до активного файла конфігурації (визначений з `OPENCLAW_CONFIG_PATH` або стандартного розташування). Шлях має вказувати на звичайний файл, а не на символічне посилання.
Після редагувань перезапустіть gateway.
## Валідація
Валідуйте поточну конфігурацію щодо активної схеми без запуску
gateway.
```bash
openclaw config validate
openclaw config validate --json
```
Після того як `openclaw config validate` почне проходити, ви можете використовувати локальний TUI, щоб
вбудований агент порівняв активну конфігурацію з документацією, поки ви валідуєте
кожну зміну з того самого термінала:
Якщо валідація вже не проходить, почніть з `openclaw configure` або
`openclaw doctor --fix`. `openclaw chat` не обходить захист від
невалідної конфігурації.
```bash
openclaw chat
```
Потім усередині TUI:
```text
!openclaw config file
!openclaw docs gateway auth token secretref
!openclaw config validate
!openclaw doctor
```
Типовий цикл виправлення:
- Попросіть агента порівняти вашу поточну конфігурацію з відповідною сторінкою документації та запропонувати найменше виправлення.
- Застосуйте цільові зміни за допомогою `openclaw config set` або `openclaw configure`.
- Повторно запускайте `openclaw config validate` після кожної зміни.
- Якщо валідація проходить, але середовище виконання все ще нездорове, запустіть `openclaw doctor` або `openclaw doctor --fix` для допомоги з міграцією та виправленням.

79
docs/uk/cli/configure.md Normal file
View File

@ -0,0 +1,79 @@
---
read_when:
- Ви хочете інтерактивно змінити облікові дані, пристрої або типові параметри агента
summary: Довідник CLI для `openclaw configure` (інтерактивні підказки налаштування)
title: налаштувати
x-i18n:
generated_at: "2026-04-23T06:17:23Z"
model: gpt-5.4
provider: openai
source_hash: 7fedaf1bc5e5c793ed354ff01294808f9b4a266219f8e07799a2545fe5652cf2
source_path: cli/configure.md
workflow: 15
---
# `openclaw configure`
Інтерактивна підказка для налаштування облікових даних, пристроїв і типових параметрів агента.
Примітка: розділ **Model** тепер містить multi-select для allowlist
`agents.defaults.models` (що відображається в `/model` і в засобі вибору моделі).
Варіанти налаштування в межах провайдера додають вибрані ними моделі до наявного
allowlist, а не замінюють не пов’язаних провайдерів, які вже є в конфігурації.
Коли configure запускається з вибору автентифікації провайдера, засоби вибору
моделі за замовчуванням і allowlist автоматично віддають перевагу цьому провайдеру. Для парних провайдерів, таких
як Volcengine/BytePlus, та сама перевага також відповідає їхнім варіантам
coding-plan (`volcengine-plan/*`, `byteplus-plan/*`). Якщо фільтр preferred-provider
призводить до порожнього списку, configure повертається до нефільтрованого
каталогу замість показу порожнього засобу вибору.
Порада: `openclaw config` без підкоманди відкриває той самий майстер. Використовуйте
`openclaw config get|set|unset` для неінтерактивного редагування.
Для вебпошуку `openclaw configure --section web` дає змогу вибрати провайдера
та налаштувати його облікові дані. Деякі провайдери також показують
додаткові підказки, специфічні для провайдера:
- **Grok** може запропонувати необов’язкове налаштування `x_search` з тим самим `XAI_API_KEY` і
дозволити вам вибрати модель `x_search`.
- **Kimi** може запитати регіон API Moonshot (`api.moonshot.ai` чи
`api.moonshot.cn`) і модель вебпошуку Kimi за замовчуванням.
Пов’язане:
- Довідник із конфігурації Gateway: [Configuration](/uk/gateway/configuration)
- CLI конфігурації: [Config](/uk/cli/config)
## Параметри
- `--section <section>`: повторюваний фільтр розділів
Доступні розділи:
- `workspace`
- `model`
- `web`
- `gateway`
- `daemon`
- `channels`
- `plugins`
- `skills`
- `health`
Примітки:
- Вибір місця, де запускається Gateway, завжди оновлює `gateway.mode`. Ви можете вибрати "Continue" без інших розділів, якщо вам потрібно лише це.
- Сервіси, орієнтовані на канали (Slack/Discord/Matrix/Microsoft Teams), під час налаштування запитують allowlist каналів/кімнат. Ви можете вводити назви або ID; за можливості майстер перетворює назви на ID.
- Якщо ви запускаєте крок встановлення daemon, автентифікація токеном потребує токена, а `gateway.auth.token` керується через SecretRef, configure перевіряє SecretRef, але не зберігає визначені відкриті значення токена в метаданих середовища сервісу supervisor.
- Якщо автентифікація токеном потребує токена, а налаштований SecretRef токена в `gateway.auth.token` не визначено, configure блокує встановлення daemon і надає дієві рекомендації щодо виправлення.
- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не встановлено, configure блокує встановлення daemon, доки режим не буде явно задано.
## Приклади
```bash
openclaw configure
openclaw configure --section web
openclaw configure --section model --section channels
openclaw configure --section gateway --section daemon
```

183
docs/uk/cli/cron.md Normal file
View File

@ -0,0 +1,183 @@
---
read_when:
- Вам потрібні заплановані завдання та пробудження
- Ви налагоджуєте виконання Cron і журнали
summary: Довідка CLI для `openclaw cron` (планування та запуск фонових завдань)
title: Cron
x-i18n:
generated_at: "2026-04-23T06:17:26Z"
model: gpt-5.4
provider: openai
source_hash: f5216f220748b05df5202af778878b37148d6abe235be9fe82ddcf976d51532a
source_path: cli/cron.md
workflow: 15
---
# `openclaw cron`
Керування завданнями Cron для планувальника Gateway.
Пов’язане:
- Завдання Cron: [Завдання Cron](/uk/automation/cron-jobs)
Порада: виконайте `openclaw cron --help`, щоб побачити повну поверхню команди.
Примітка: `openclaw cron list` і `openclaw cron show <job-id>` показують попередній перегляд
розв’язаного маршруту доставки. Для `channel: "last"` у попередньому перегляді показується, чи
маршрут розв’язано з основної/поточної сесії, чи він завершиться безпечною відмовою.
Примітка: ізольовані завдання `cron add` типово використовують доставку `--announce`.
Використовуйте `--no-deliver`, щоб зберегти вивід внутрішнім. `--deliver` залишається
застарілим псевдонімом для `--announce`.
Примітка: доставка чату ізольованого Cron є спільною. `--announce` — це резервна
доставка runner для фінальної відповіді; `--no-deliver` вимикає цей резервний
механізм, але не прибирає інструмент `message` агента, якщо маршрут чату доступний.
Примітка: одноразові завдання (`--at`) типово видаляються після успішного виконання.
Використовуйте `--keep-after-run`, щоб зберегти їх.
Примітка: `--session` підтримує `main`, `isolated`, `current` і `session:<id>`.
Використовуйте `current`, щоб прив’язати до активної сесії в момент створення, або `session:<id>` для
явного постійного ключа сесії.
Примітка: для одноразових CLI-завдань datetime у `--at` без зсуву часової зони
трактуються як UTC, якщо ви також не передасте `--tz <iana>`, що інтерпретує
цей локальний час у заданому часовому поясі.
Примітка: повторювані завдання тепер використовують експоненційне збільшення затримки повторних спроб після послідовних помилок (30s → 1m → 5m → 15m → 60m), а потім повертаються до звичайного розкладу після наступного успішного запуску.
Примітка: `openclaw cron run` тепер повертається, щойно ручний запуск поставлено в чергу на виконання. Успішні відповіді містять `{ ok: true, enqueued: true, runId }`; використовуйте `openclaw cron runs --id <job-id>`, щоб відстежити підсумковий результат.
Примітка: `openclaw cron run <job-id>` типово примусово запускає завдання.
Використовуйте `--due`, щоб зберегти стару поведінку «запускати лише якщо настав час».
Примітка: ізольовані ходи Cron пригнічують застарілі відповіді, що містять лише підтвердження.
Якщо перший результат — лише проміжне оновлення стану і жоден дочірній запуск субагента
не відповідає за остаточну відповідь, Cron повторно формує запит один раз для отримання реального результату перед доставкою.
Примітка: якщо ізольований запуск повертає лише тихий токен (`NO_REPLY` /
`no_reply`), Cron пригнічує як пряму вихідну доставку, так і резервний шлях
постановки підсумку в чергу, тому назад у чат нічого не надсилається.
Примітка: `cron add|edit --model ...` використовує цю вибрану дозволену модель для завдання.
Якщо модель не дозволена, Cron попереджає та повертається до вибору моделі
агента/типової моделі для завдання. Налаштовані ланцюжки резервних варіантів і далі застосовуються, але звичайне перевизначення моделі без явного списку резервних варіантів для завдання більше не додає основну модель агента як приховану додаткову ціль для повторної спроби.
Примітка: пріоритет моделі для ізольованого Cron такий: спочатку перевизначення Gmail-hook, потім
`--model` для завдання, потім будь-яке збережене перевизначення моделі cron-session, а потім
звичайний вибір агента/типової моделі.
Примітка: швидкий режим ізольованого Cron слідує за розв’язаним вибором live-моделі.
Конфігурація моделі `params.fastMode` застосовується типово, але збережене перевизначення
`fastMode` сесії все одно має вищий пріоритет за конфігурацію.
Примітка: якщо ізольований запуск викидає `LiveSessionModelSwitchError`, Cron зберігає
перемкненого провайдера/модель (а також перемкнене перевизначення профілю автентифікації, якщо є)
перед повторною спробою. Зовнішній цикл повторних спроб обмежено 2 повторними перемиканнями після початкової
спроби, після чого він переривається замість нескінченного циклу.
Примітка: сповіщення про збої спочатку використовують `delivery.failureDestination`, потім
глобальний `cron.failureDestination`, і нарешті повертаються до основної
цілі announce завдання, якщо явну ціль збоїв не налаштовано.
Примітка: retention/pruning керується в конфігурації:
- `cron.sessionRetention` (типово `24h`) очищає завершені сесії ізольованих запусків.
- `cron.runLog.maxBytes` + `cron.runLog.keepLines` очищають `~/.openclaw/cron/runs/<jobId>.jsonl`.
Примітка щодо оновлення: якщо у вас є старіші завдання Cron, створені до поточного формату delivery/store, виконайте
`openclaw doctor --fix`. Тепер Doctor нормалізує застарілі поля Cron (`jobId`, `schedule.cron`,
поля доставки верхнього рівня, включно із застарілим `threadId`, псевдоніми доставки `provider` у payload) і мігрує прості
резервні Webhook-завдання з `notify: true` до явної доставки через webhook, коли налаштовано `cron.webhook`.
## Поширені редагування
Оновити налаштування доставки без зміни повідомлення:
```bash
openclaw cron edit <job-id> --announce --channel telegram --to "123456789"
```
Вимкнути доставку для ізольованого завдання:
```bash
openclaw cron edit <job-id> --no-deliver
```
Увімкнути полегшений bootstrap-контекст для ізольованого завдання:
```bash
openclaw cron edit <job-id> --light-context
```
Оголосити у конкретний канал:
```bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
```
Створити ізольоване завдання з полегшеним bootstrap-контекстом:
```bash
openclaw cron add \
--name "Lightweight morning brief" \
--cron "0 7 * * *" \
--session isolated \
--message "Summarize overnight updates." \
--light-context \
--no-deliver
```
`--light-context` застосовується лише до ізольованих завдань ходу агента. Для запусків Cron
полегшений режим зберігає bootstrap-контекст порожнім замість упровадження повного набору bootstrap робочого простору.
Примітка щодо володіння доставкою:
- Доставка чату ізольованого Cron є спільною. Агент може надсилати безпосередньо за допомогою
інструмента `message`, якщо маршрут чату доступний.
- `announce` резервно доставляє фінальну відповідь лише тоді, коли агент не надіслав її
безпосередньо до розв’язаної цілі. `webhook` надсилає завершений payload на URL.
`none` вимикає резервну доставку runner.
## Поширені команди адміністрування
Ручний запуск:
```bash
openclaw cron list
openclaw cron show <job-id>
openclaw cron run <job-id>
openclaw cron run <job-id> --due
openclaw cron runs --id <job-id> --limit 50
```
Записи `cron runs` містять діагностику доставки з ціллю Cron, яку було задумано,
розв’язаною ціллю, надсиланнями через інструмент message, використанням резервного механізму та станом доставки.
Переналаштування агента/сесії:
```bash
openclaw cron edit <job-id> --agent ops
openclaw cron edit <job-id> --clear-agent
openclaw cron edit <job-id> --session current
openclaw cron edit <job-id> --session "session:daily-brief"
```
Налаштування доставки:
```bash
openclaw cron edit <job-id> --announce --channel slack --to "channel:C1234567890"
openclaw cron edit <job-id> --best-effort-deliver
openclaw cron edit <job-id> --no-best-effort-deliver
openclaw cron edit <job-id> --no-deliver
```
Примітка щодо доставки збоїв:
- `delivery.failureDestination` підтримується для ізольованих завдань.
- Завдання основної сесії можуть використовувати `delivery.failureDestination` лише тоді, коли основним
режимом доставки є `webhook`.
- Якщо ви не задаєте жодної цілі для збоїв, а завдання вже оголошує в
канал, сповіщення про збої повторно використовують ту саму ціль announce.

64
docs/uk/cli/daemon.md Normal file
View File

@ -0,0 +1,64 @@
---
read_when:
- Ви досі використовуєте `openclaw daemon ...` у скриптах
- Вам потрібні команди життєвого циклу служби (install/start/stop/restart/status)
summary: Довідка CLI для `openclaw daemon` (застарілий псевдонім для керування службою gateway)
title: демон
x-i18n:
generated_at: "2026-04-23T06:17:33Z"
model: gpt-5.4
provider: openai
source_hash: 91fdaf3c4f3e7dd4dff86f9b74a653dcba2674573698cf51efc4890077994169
source_path: cli/daemon.md
workflow: 15
---
# `openclaw daemon`
Застарілий псевдонім для команд керування службою Gateway.
`openclaw daemon ...` зіставляється з тією самою поверхнею керування службою, що й команди служби `openclaw gateway ...`.
## Використання
```bash
openclaw daemon status
openclaw daemon install
openclaw daemon start
openclaw daemon stop
openclaw daemon restart
openclaw daemon uninstall
```
## Підкоманди
- `status`: показати стан встановлення служби та перевірити стан Gateway
- `install`: встановити службу (`launchd`/`systemd`/`schtasks`)
- `uninstall`: видалити службу
- `start`: запустити службу
- `stop`: зупинити службу
- `restart`: перезапустити службу
## Поширені параметри
- `status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
- `install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
- життєвий цикл (`uninstall|start|stop|restart`): `--json`
Примітки:
- `status` за можливості визначає налаштовані auth SecretRef для автентифікації перевірки.
- Якщо обов’язковий auth SecretRef не визначено в цьому шляху команди, `daemon status --json` повідомляє `rpc.authWarning`, коли перевірка підключення/автентифікації завершується невдачею; передайте `--token`/`--password` явно або спочатку визначте джерело секрету.
- Якщо перевірка успішна, попередження про невизначені auth-ref пригнічуються, щоб уникнути хибнопозитивних спрацьовувань.
- `status --deep` додає найкращу можливу системну перевірку служби. Коли вона знаходить інші служби, схожі на gateway, у зрозумілому для людини виводі з’являються підказки щодо очищення та попередження, що одна gateway на машину, як і раніше, є звичайною рекомендацією.
- У встановленнях Linux systemd перевірки розходжень токена в `status` охоплюють обидва джерела unit: `Environment=` і `EnvironmentFile=`.
- Перевірки розходжень визначають SecretRef для `gateway.auth.token` за допомогою об’єднаного середовища виконання (спочатку середовище команди служби, потім резервне середовище процесу).
- Якщо автентифікація токеном фактично не активна (явно задано `gateway.auth.mode` як `password`/`none`/`trusted-proxy`, або режим не задано, де може перемогти пароль і жоден кандидат токена не може перемогти), перевірки розходжень токена пропускають визначення токена з конфігурації.
- Коли автентифікація токеном потребує токен, а `gateway.auth.token` керується через SecretRef, `install` перевіряє, що SecretRef можна визначити, але не зберігає визначений токен у метаданих середовища служби.
- Якщо автентифікація токеном потребує токен, а налаштований SecretRef токена не визначено, встановлення завершується з безпечним блокуванням.
- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не задано, встановлення блокується, доки режим не буде вказано явно.
- Якщо ви навмисно запускаєте кілька gateway на одному хості, ізолюйте порти, config/state та робочі простори; див. [/gateway#multiple-gateways-same-host](/uk/gateway#multiple-gateways-same-host).
## Рекомендовано
Використовуйте [`openclaw gateway`](/uk/cli/gateway) для актуальної документації та прикладів.

29
docs/uk/cli/dashboard.md Normal file
View File

@ -0,0 +1,29 @@
---
read_when:
- Ви хочете відкрити Control UI зі своїм поточним токеном
- Ви хочете вивести URL без запуску браузера
summary: Довідка CLI для `openclaw dashboard` (відкрити Control UI)
title: панель керування
x-i18n:
generated_at: "2026-04-23T06:17:33Z"
model: gpt-5.4
provider: openai
source_hash: a34cd109a3803e2910fcb4d32f2588aa205a4933819829ef5598f0780f586c94
source_path: cli/dashboard.md
workflow: 15
---
# `openclaw dashboard`
Відкрийте Control UI, використовуючи свою поточну автентифікацію.
```bash
openclaw dashboard
openclaw dashboard --no-open
```
Примітки:
- `dashboard` визначає налаштовані SecretRef для `gateway.auth.token`, коли це можливо.
- Для токенів, якими керує SecretRef (визначених або невизначених), `dashboard` виводить/копіює/відкриває URL без токена, щоб уникнути розкриття зовнішніх секретів у виводі термінала, історії буфера обміну або аргументах запуску браузера.
- Якщо `gateway.auth.token` керується через SecretRef, але не визначається в цьому шляху виконання команди, команда виводить URL без токена та явні рекомендації щодо виправлення замість вбудовування недійсного заповнювача токена.

165
docs/uk/cli/devices.md Normal file
View File

@ -0,0 +1,165 @@
---
read_when:
- Ви схвалюєте запити на сполучення пристроїв
- Вам потрібно ротувати або відкликати токени пристроїв
summary: Довідка CLI для `openclaw devices` (сполучення пристроїв + ротація/відкликання токенів)
title: пристрої
x-i18n:
generated_at: "2026-04-23T06:17:35Z"
model: gpt-5.4
provider: openai
source_hash: 8e58d2dff7fc22a11ff372f4937907977dab0ffa9f971b9c0bffeb3e347caf66
source_path: cli/devices.md
workflow: 15
---
# `openclaw devices`
Керуйте запитами на сполучення пристроїв і токенами з областю дії пристрою.
## Команди
### `openclaw devices list`
Показати список очікуваних запитів на сполучення та сполучених пристроїв.
```
openclaw devices list
openclaw devices list --json
```
У виводі очікуваних запитів запитуваний доступ показується поруч із поточним схваленим доступом пристрою, якщо пристрій уже сполучений. Це робить оновлення області дії/ролі явними, а не створює враження, що сполучення було втрачено.
### `openclaw devices remove <deviceId>`
Видалити один запис сполученого пристрою.
Якщо ви автентифіковані за допомогою токена сполученого пристрою, виклики від неадміністратора можуть видаляти лише **власний** запис пристрою. Для видалення іншого пристрою потрібен `operator.admin`.
```
openclaw devices remove <deviceId>
openclaw devices remove <deviceId> --json
```
### `openclaw devices clear --yes [--pending]`
Масово очистити сполучені пристрої.
```
openclaw devices clear --yes
openclaw devices clear --yes --pending
openclaw devices clear --yes --pending --json
```
### `openclaw devices approve [requestId] [--latest]`
Схвалити очікуваний запит на сполучення пристрою за точним `requestId`. Якщо `requestId` не вказано або передано `--latest`, OpenClaw лише показує вибраний очікуваний запит і завершує роботу; після перевірки деталей повторно запустіть схвалення з точним ідентифікатором запиту.
Примітка: якщо пристрій повторює спробу сполучення зі зміненими даними автентифікації (роль/області дії/публічний ключ), OpenClaw замінює попередній очікуваний запис і видає новий `requestId`. Запускайте `openclaw devices list` безпосередньо перед схваленням, щоб використати поточний ідентифікатор.
Якщо пристрій уже сполучений і запитує ширші області дії або ширшу роль, OpenClaw зберігає наявне схвалення та створює новий очікуваний запит на оновлення. Перегляньте стовпці `Requested` і `Approved` у `openclaw devices list` або скористайтеся `openclaw devices approve --latest`, щоб попередньо переглянути точне оновлення перед його схваленням.
```
openclaw devices approve
openclaw devices approve <requestId>
openclaw devices approve --latest
```
### `openclaw devices reject <requestId>`
Відхилити очікуваний запит на сполучення пристрою.
```
openclaw devices reject <requestId>
```
### `openclaw devices rotate --device <id> --role <role> [--scope <scope...>]`
Ротувати токен пристрою для конкретної ролі (необов’язково оновивши області дії).
Цільова роль уже має існувати в схваленому контракті сполучення цього пристрою; ротація не може випустити нову несхвалену роль.
Якщо не вказати `--scope`, пізніші повторні підключення зі збереженим ротованим токеном повторно використовуватимуть кешовані схвалені області дії цього токена. Якщо передати явні значення `--scope`, вони стануть збереженим набором областей дії для майбутніх повторних підключень із кешованим токеном.
Виклики від неадміністратора зі сполученого пристрою можуть ротувати лише **власний** токен пристрою.
Крім того, будь-які явні значення `--scope` мають залишатися в межах власних операторських областей дії сеансу викликача; ротація не може випустити ширший операторський токен, ніж той, який викликач уже має.
```
openclaw devices rotate --device <deviceId> --role operator --scope operator.read --scope operator.write
```
Повертає нове корисне навантаження токена у форматі JSON.
### `openclaw devices revoke --device <id> --role <role>`
Відкликати токен пристрою для конкретної ролі.
Виклики від неадміністратора зі сполученого пристрою можуть відкликати лише **власний** токен пристрою.
Для відкликання токена іншого пристрою потрібен `operator.admin`.
```
openclaw devices revoke --device <deviceId> --role node
```
Повертає результат відкликання у форматі JSON.
## Поширені параметри
- `--url <url>`: URL WebSocket Gateway (за замовчуванням використовується `gateway.remote.url`, якщо налаштовано).
- `--token <token>`: токен Gateway (якщо потрібен).
- `--password <password>`: пароль Gateway (автентифікація паролем).
- `--timeout <ms>`: тайм-аут RPC.
- `--json`: вивід JSON (рекомендовано для скриптів).
Примітка: коли ви задаєте `--url`, CLI не повертається до облікових даних із конфігурації або змінних середовища.
Передайте `--token` або `--password` явно. Відсутність явно переданих облікових даних є помилкою.
## Примітки
- Ротація токена повертає новий токен (чутливі дані). Поводьтеся з ним як із секретом.
- Для цих команд потрібна область дії `operator.pairing` (або `operator.admin`).
- Ротація токена залишається в межах схваленого набору ролей сполучення та базового рівня схвалених областей дії для цього пристрою. Випадковий запис кешованого токена не надає нової цілі для ротації.
- Для сеансів токенів сполученого пристрою керування іншими пристроями доступне лише адміністратору:
`remove`, `rotate` і `revoke` дозволені лише для власного пристрою, якщо викликач не має `operator.admin`.
- `devices clear` навмисно захищено прапорцем `--yes`.
- Якщо область дії сполучення недоступна на local loopback (і явний `--url` не передано), `list`/`approve` можуть використовувати локальний резервний механізм сполучення.
- `devices approve` вимагає явного ідентифікатора запиту перед випуском токенів; якщо не вказати `requestId` або передати `--latest`, буде лише показано найновіший очікуваний запит.
## Контрольний список відновлення при розсинхронізації токена
Використовуйте це, коли Control UI або інші клієнти постійно завершуються помилкою `AUTH_TOKEN_MISMATCH` або `AUTH_DEVICE_TOKEN_MISMATCH`.
1. Підтвердьте поточне джерело токена gateway:
```bash
openclaw config get gateway.auth.token
```
2. Перелічіть сполучені пристрої та визначте ідентифікатор проблемного пристрою:
```bash
openclaw devices list
```
3. Ротуйте операторський токен для проблемного пристрою:
```bash
openclaw devices rotate --device <deviceId> --role operator
```
4. Якщо ротації недостатньо, видаліть застаріле сполучення і схваліть знову:
```bash
openclaw devices remove <deviceId>
openclaw devices list
openclaw devices approve <requestId>
```
5. Повторіть спробу підключення клієнта з поточним спільним токеном/паролем.
Примітки:
- Звичайний пріоритет автентифікації під час повторного підключення: спочатку явний спільний токен/пароль, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap-токен.
- Довірене відновлення після `AUTH_TOKEN_MISMATCH` може тимчасово надіслати і спільний токен, і збережений токен пристрою разом для однієї обмеженої повторної спроби.
Пов’язане:
- [Усунення проблем автентифікації Dashboard](/uk/web/dashboard#if-you-see-unauthorized-1008)
- [Усунення проблем Gateway](/uk/gateway/troubleshooting#dashboard-control-ui-connectivity)

70
docs/uk/cli/directory.md Normal file
View File

@ -0,0 +1,70 @@
---
read_when:
- Ви хочете знайти ідентифікатори контактів/груп/self для каналу
- Ви розробляєте адаптер каталогу каналу
summary: Довідка CLI для `openclaw directory` (self, peers, groups)
title: каталог
x-i18n:
generated_at: "2026-04-23T06:17:38Z"
model: gpt-5.4
provider: openai
source_hash: 6a81a037e0a33f77c24b1adabbc4be16ed4d03c419873f3cbdd63f2ce84a1064
source_path: cli/directory.md
workflow: 15
---
# `openclaw directory`
Пошук у каталозі для каналів, які це підтримують (контакти/peers, групи та «я»).
## Поширені прапорці
- `--channel <name>`: id/псевдонім каналу (обов’язково, якщо налаштовано кілька каналів; автоматично, якщо налаштовано лише один)
- `--account <id>`: id облікового запису (типово: типовий для каналу)
- `--json`: вивід JSON
## Примітки
- `directory` призначений для того, щоб допомогти вам знайти id, які можна вставити в інші команди (особливо `openclaw message send --target ...`).
- Для багатьох каналів результати беруться з конфігурації (allowlists / налаштовані групи), а не з живого каталогу провайдера.
- Типовий вивід — `id` (а іноді `name`), розділені табуляцією; для скриптів використовуйте `--json`.
## Використання результатів із `message send`
```bash
openclaw directory peers list --channel slack --query "U0"
openclaw message send --channel slack --target user:U012ABCDEF --message "hello"
```
## Формати id (за каналом)
- WhatsApp: `+15551234567` (DM), `1234567890-1234567890@g.us` (група)
- Telegram: `@username` або числовий id чату; групи мають числові id
- Slack: `user:U…` і `channel:C…`
- Discord: `user:<id>` і `channel:<id>`
- Matrix (Plugin): `user:@user:server`, `room:!roomId:server` або `#alias:server`
- Microsoft Teams (Plugin): `user:<id>` і `conversation:<id>`
- Zalo (Plugin): id користувача (Bot API)
- Zalo Personal / `zalouser` (Plugin): id потоку (DM/група) з `zca` (`me`, `friend list`, `group list`)
## Self ("я")
```bash
openclaw directory self --channel zalouser
```
## Peers (контакти/користувачі)
```bash
openclaw directory peers list --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory peers list --channel zalouser --limit 50
```
## Групи
```bash
openclaw directory groups list --channel zalouser
openclaw directory groups list --channel zalouser --query "work"
openclaw directory groups members --channel zalouser --group-id <id>
```

55
docs/uk/cli/dns.md Normal file
View File

@ -0,0 +1,55 @@
---
read_when:
- Ви хочете широкозонне виявлення (DNS-SD) через Tailscale + CoreDNS
- Youre setting up split DNS for a custom discovery domain (example: openclaw.internal)
summary: Довідка CLI для `openclaw dns` (допоміжні засоби для широкозонного виявлення)
title: DNS
x-i18n:
generated_at: "2026-04-23T06:17:41Z"
model: gpt-5.4
provider: openai
source_hash: 4831fbb7791adfed5195bc4ba36bb248d2bc8830958334211d3c96f824617927
source_path: cli/dns.md
workflow: 15
---
# `openclaw dns`
Допоміжні засоби DNS для широкозонного виявлення (Tailscale + CoreDNS). Наразі зосереджено на macOS + Homebrew CoreDNS.
Пов’язано:
- Виявлення Gateway: [Виявлення](/uk/gateway/discovery)
- Конфігурація широкозонного виявлення: [Конфігурація](/uk/gateway/configuration)
## Налаштування
```bash
openclaw dns setup
openclaw dns setup --domain openclaw.internal
openclaw dns setup --apply
```
## `dns setup`
Сплануйте або застосуйте налаштування CoreDNS для виявлення unicast DNS-SD.
Параметри:
- `--domain <domain>`: домен широкозонного виявлення (наприклад, `openclaw.internal`)
- `--apply`: установити або оновити конфігурацію CoreDNS і перезапустити сервіс (потребує sudo; лише macOS)
Що показується:
- визначений домен виявлення
- шлях до файлу зони
- поточні IP-адреси tailnet
- рекомендована конфігурація виявлення в `openclaw.json`
- значення nameserver/domain для Tailscale Split DNS, які потрібно встановити
Примітки:
- Без `--apply` команда є лише допоміжним засобом планування та виводить рекомендоване налаштування.
- Якщо `--domain` не вказано, OpenClaw використовує `discovery.wideArea.domain` із конфігурації.
- `--apply` наразі підтримується лише на macOS і очікує Homebrew CoreDNS.
- `--apply` ініціалізує файл зони за потреби, перевіряє наявність import-рядка CoreDNS і перезапускає brew-сервіс `coredns`.

35
docs/uk/cli/docs.md Normal file
View File

@ -0,0 +1,35 @@
---
read_when:
- Ви хочете шукати в live-документації OpenClaw з термінала
summary: Довідник CLI для `openclaw docs` (пошук у live-індексі документації)
title: документація
x-i18n:
generated_at: "2026-04-23T06:17:41Z"
model: gpt-5.4
provider: openai
source_hash: cfcceed872d7509b9843af3fae733a136bc5e26ded55c2ac47a16489a1636989
source_path: cli/docs.md
workflow: 15
---
# `openclaw docs`
Пошук у live-індексі документації.
Аргументи:
- `[query...]`: пошукові терміни для надсилання до live-індексу документації
Приклади:
```bash
openclaw docs
openclaw docs browser existing-session
openclaw docs sandbox allowHostControl
openclaw docs gateway token secretref
```
Примітки:
- Без запиту `openclaw docs` відкриває точку входу пошуку в live-документації.
- Багатослівні запити передаються як один пошуковий запит.

71
docs/uk/cli/doctor.md Normal file
View File

@ -0,0 +1,71 @@
---
read_when:
- У вас є проблеми з підключенням або автентифікацією, і ви хочете отримати керовані виправлення
- Ви оновилися й хочете виконати базову перевірку працездатності
summary: Довідник CLI для `openclaw doctor` (перевірки стану + кероване виправлення)
title: лікар
x-i18n:
generated_at: "2026-04-23T06:17:54Z"
model: gpt-5.4
provider: openai
source_hash: ad44619b427b938b2f6d4f904fcdc2d9862ff33c569008590f25e17d12e03530
source_path: cli/doctor.md
workflow: 15
---
# `openclaw doctor`
Перевірки стану + швидкі виправлення для Gateway і каналів.
Пов’язане:
- Усунення несправностей: [Troubleshooting](/uk/gateway/troubleshooting)
- Аудит безпеки: [Security](/uk/gateway/security)
## Приклади
```bash
openclaw doctor
openclaw doctor --repair
openclaw doctor --deep
openclaw doctor --repair --non-interactive
openclaw doctor --generate-gateway-token
```
## Параметри
- `--no-workspace-suggestions`: вимкнути підказки щодо пам’яті/пошуку в робочому просторі
- `--yes`: приймати типові значення без запитів
- `--repair`: застосувати рекомендовані виправлення без запитів
- `--fix`: псевдонім для `--repair`
- `--force`: застосувати агресивні виправлення, включно з перезаписом користувацької конфігурації сервісу за потреби
- `--non-interactive`: запуск без запитів; лише безпечні міграції
- `--generate-gateway-token`: згенерувати й налаштувати токен Gateway
- `--deep`: просканувати системні сервіси на наявність додаткових встановлень Gateway
Примітки:
- Інтерактивні запити (як-от виправлення keychain/OAuth) запускаються лише тоді, коли stdin є TTY і **не** встановлено `--non-interactive`. Безголові запуски (cron, Telegram, без термінала) пропускають запити.
- `--fix` (псевдонім для `--repair`) записує резервну копію в `~/.openclaw/openclaw.json.bak` і видаляє невідомі ключі конфігурації, перелічуючи кожне видалення.
- Перевірки цілісності стану тепер виявляють осиротілі файли transcript у каталозі сесій і можуть архівувати їх як `.deleted.<timestamp>`, щоб безпечно звільнити місце.
- Doctor також сканує `~/.openclaw/cron/jobs.json` (або `cron.store`) на наявність застарілих форм cron jobs і може переписати їх на місці до того, як scheduler муситиме автоматично нормалізувати їх під час виконання.
- Doctor відновлює відсутні runtime-залежності вбудованих plugin без потреби в правах на запис до встановленого пакета OpenClaw. Для npm-встановлень, що належать root, або захищених systemd units установіть `OPENCLAW_PLUGIN_STAGE_DIR` у каталог із правом запису, наприклад `/var/lib/openclaw/plugin-runtime-deps`.
- Doctor автоматично мігрує застарілу пласку конфігурацію Talk (`talk.voiceId`, `talk.modelId` та подібні) у `talk.provider` + `talk.providers.<provider>`.
- Повторні запуски `doctor --fix` більше не повідомляють і не застосовують нормалізацію Talk, якщо єдина відмінність — це порядок ключів об’єкта.
- Doctor містить перевірку готовності memory-search і може рекомендувати `openclaw configure --section model`, якщо відсутні embedding-облікові дані.
- Якщо режим sandbox увімкнено, але Docker недоступний, doctor повідомляє виразне попередження з варіантами виправлення (`install Docker` або `openclaw config set agents.defaults.sandbox.mode off`).
- Якщо `gateway.auth.token`/`gateway.auth.password` керуються через SecretRef і недоступні в поточному шляху команди, doctor повідомляє попередження лише для читання і не записує резервні відкриті облікові дані.
- Якщо перевірка channel SecretRef завершується помилкою в шляху виправлення, doctor продовжує роботу й повідомляє попередження замість передчасного завершення.
- Автоматичне визначення username у Telegram `allowFrom` (`doctor --fix`) потребує токена Telegram, який можна визначити в поточному шляху команди. Якщо перевірка токена недоступна, doctor повідомляє попередження й пропускає автовизначення в цьому проході.
## macOS: перевизначення змінних середовища `launchctl`
Якщо ви раніше запускали `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (або `...PASSWORD`), це значення перевизначає ваш файл конфігурації та може спричиняти стійкі помилки “unauthorized”.
```bash
launchctl getenv OPENCLAW_GATEWAY_TOKEN
launchctl getenv OPENCLAW_GATEWAY_PASSWORD
launchctl unsetenv OPENCLAW_GATEWAY_TOKEN
launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD
```

25
docs/uk/cli/flows.md Normal file
View File

@ -0,0 +1,25 @@
---
read_when:
- Ви натрапляєте на openclaw flows у старішій документації або примітках до випуску
summary: 'Переспрямування: команди flow розміщені в `openclaw tasks flow`'
title: flows (переспрямування)
x-i18n:
generated_at: "2026-04-23T06:17:49Z"
model: gpt-5.4
provider: openai
source_hash: 99377cf58ae17262291218639c4425abcec4efbd0405cf05b6df0d2e5b7f20bb
source_path: cli/flows.md
workflow: 15
---
# `openclaw tasks flow`
Команди flow є підкомандами `openclaw tasks`, а не окремою командою `flows`.
```bash
openclaw tasks flow list [--json]
openclaw tasks flow show <lookup>
openclaw tasks flow cancel <lookup>
```
Повну документацію див. у [TaskFlow](/uk/automation/taskflow) та [довідці CLI для tasks](/uk/cli/tasks).

380
docs/uk/cli/gateway.md Normal file
View File

@ -0,0 +1,380 @@
---
read_when:
- Запуск Gateway з CLI (розробка або сервери)
- Налагодження автентифікації Gateway, режимів прив’язки та підключення
- Виявлення Gateway через Bonjour (локально + широкозонний DNS-SD)
summary: CLI Gateway OpenClaw (`openclaw gateway`) — запуск, запити й виявлення Gateway
title: Gateway
x-i18n:
generated_at: "2026-04-23T06:17:52Z"
model: gpt-5.4
provider: openai
source_hash: 60706df4d3c49271c4b53029eaae16672dde534c7f6f4ce68e04b58fb0cfa467
source_path: cli/gateway.md
workflow: 15
---
# CLI Gateway
Gateway — це WebSocket-сервер OpenClaw (канали, вузли, сесії, хуки).
Підкоманди на цій сторінці доступні через `openclaw gateway …`.
Пов’язана документація:
- [/gateway/bonjour](/uk/gateway/bonjour)
- [/gateway/discovery](/uk/gateway/discovery)
- [/gateway/configuration](/uk/gateway/configuration)
## Запуск Gateway
Запустіть локальний процес Gateway:
```bash
openclaw gateway
```
Псевдонім для запуску у foreground:
```bash
openclaw gateway run
```
Примітки:
- За замовчуванням Gateway відмовляється запускатися, якщо в `~/.openclaw/openclaw.json` не встановлено `gateway.mode=local`. Для разових запусків або запусків у режимі розробки використовуйте `--allow-unconfigured`.
- Очікується, що `openclaw onboard --mode local` і `openclaw setup` записують `gateway.mode=local`. Якщо файл існує, але `gateway.mode` відсутній, вважайте це пошкодженою або перезаписаною конфігурацією та виправте її, а не припускайте локальний режим неявно.
- Якщо файл існує, а `gateway.mode` відсутній, Gateway вважає це підозрілим пошкодженням конфігурації та відмовляється «вгадувати local» за вас.
- Прив’язка поза межами loopback без автентифікації блокується (захисне обмеження).
- `SIGUSR1` запускає перезапуск у межах процесу за наявності дозволу (`commands.restart` увімкнено за замовчуванням; установіть `commands.restart: false`, щоб заборонити ручний перезапуск, при цьому інструменти gateway tool/config apply/update залишатимуться дозволеними).
- Обробники `SIGINT`/`SIGTERM` зупиняють процес gateway, але не відновлюють жоден користувацький стан термінала. Якщо ви обгортаєте CLI в TUI або raw-mode input, відновіть термінал перед виходом.
### Параметри
- `--port <port>`: порт WebSocket (типове значення надходить із config/env; зазвичай `18789`).
- `--bind <loopback|lan|tailnet|auto|custom>`: режим прив’язки слухача.
- `--auth <token|password>`: перевизначення режиму автентифікації.
- `--token <token>`: перевизначення токена (також установлює `OPENCLAW_GATEWAY_TOKEN` для процесу).
- `--password <password>`: перевизначення пароля. Попередження: паролі, передані inline, можуть бути видимі в локальних списках процесів.
- `--password-file <path>`: прочитати пароль gateway з файлу.
- `--tailscale <off|serve|funnel>`: оприлюднити Gateway через Tailscale.
- `--tailscale-reset-on-exit`: скинути конфігурацію Tailscale serve/funnel під час завершення роботи.
- `--allow-unconfigured`: дозволити запуск gateway без `gateway.mode=local` у конфігурації. Це обходить стартовий захист лише для разового/dev bootstrap; воно не записує й не виправляє файл конфігурації.
- `--dev`: створити dev config + workspace, якщо їх немає (пропускає BOOTSTRAP.md).
- `--reset`: скинути dev config + credentials + sessions + workspace (потребує `--dev`).
- `--force`: перед запуском завершити будь-який наявний listener на вибраному порту.
- `--verbose`: докладні журнали.
- `--cli-backend-logs`: показувати в консолі лише журнали backend CLI (і вмикати stdout/stderr).
- `--ws-log <auto|full|compact>`: стиль журналу websocket (типово `auto`).
- `--compact`: псевдонім для `--ws-log compact`.
- `--raw-stream`: журналювати сирі події потоку моделі у jsonl.
- `--raw-stream-path <path>`: шлях до raw stream jsonl.
Профілювання запуску:
- Установіть `OPENCLAW_GATEWAY_STARTUP_TRACE=1`, щоб журналювати тривалість фаз під час запуску Gateway.
- Запустіть `pnpm test:startup:gateway -- --runs 5 --warmup 1`, щоб виміряти продуктивність запуску Gateway. Бенчмарк фіксує перший вивід процесу, `/healthz`, `/readyz` і часові показники startup trace.
## Запит до запущеного Gateway
Усі команди запитів використовують WebSocket RPC.
Режими виводу:
- Типово: зручний для читання людиною формат (із кольорами в TTY).
- `--json`: JSON для машинного читання (без стилізації/spinner).
- `--no-color` (або `NO_COLOR=1`): вимкнути ANSI, зберігши придатний для читання людиною макет.
Спільні параметри (де підтримуються):
- `--url <url>`: URL WebSocket Gateway.
- `--token <token>`: токен Gateway.
- `--password <password>`: пароль Gateway.
- `--timeout <ms>`: тайм-аут/бюджет часу (залежить від команди).
- `--expect-final`: чекати на відповідь “final” (виклики агентів).
Примітка: коли ви встановлюєте `--url`, CLI не використовує резервний перехід до облікових даних із конфігурації або змінних середовища.
Передайте `--token` або `--password` явно. Відсутність явних облікових даних є помилкою.
### `gateway health`
```bash
openclaw gateway health --url ws://127.0.0.1:18789
```
HTTP-ендпойнт `/healthz` — це перевірка живучості: він повертає відповідь, щойно сервер може відповідати по HTTP. HTTP-ендпойнт `/readyz` суворіший і залишається червоним, доки стартові sidecar-процеси, канали або налаштовані хуки ще завершують ініціалізацію.
### `gateway usage-cost`
Отримати зведення usage-cost із журналів сесій.
```bash
openclaw gateway usage-cost
openclaw gateway usage-cost --days 7
openclaw gateway usage-cost --json
```
Параметри:
- `--days <days>`: кількість днів для включення (типово `30`).
### `gateway stability`
Отримати нещодавні дані записувача діагностичної стабільності із запущеного Gateway.
```bash
openclaw gateway stability
openclaw gateway stability --type payload.large
openclaw gateway stability --bundle latest
openclaw gateway stability --bundle latest --export
openclaw gateway stability --json
```
Параметри:
- `--limit <limit>`: максимальна кількість нещодавніх подій для включення (типово `25`, максимум `1000`).
- `--type <type>`: фільтр за типом діагностичної події, наприклад `payload.large` або `diagnostic.memory.pressure`.
- `--since-seq <seq>`: включати лише події після номера діагностичної послідовності.
- `--bundle [path]`: читати збережений stability bundle замість звернення до запущеного Gateway. Використовуйте `--bundle latest` (або просто `--bundle`) для найновішого bundle у каталозі стану або передайте шлях безпосередньо до bundle JSON.
- `--export`: записати shareable support diagnostics zip замість виведення подробиць stability.
- `--output <path>`: шлях виводу для `--export`.
Примітки:
- Записувач активний за замовчуванням. Установлюйте `diagnostics.enabled: false` лише тоді, коли потрібно вимкнути збір діагностичного Heartbeat Gateway.
- Записи зберігають операційні метадані: назви подій, кількості, розміри в байтах, показники пам’яті, стан черги/сесії, назви каналу/plugin і відредаговані зведення сесій. Вони не зберігають текст чату, тіла webhook, виводи інструментів, сирі тіла запитів або відповідей, токени, cookies, секретні значення, імена хостів або сирі ідентифікатори сесій.
- У разі фатального завершення Gateway, тайм-аутів під час завершення роботи та збоїв запуску після перезапуску OpenClaw записує той самий діагностичний знімок у `~/.openclaw/logs/stability/openclaw-stability-*.json`, якщо в записувача є події. Перегляньте найновіший bundle за допомогою `openclaw gateway stability --bundle latest`; параметри `--limit`, `--type` і `--since-seq` також застосовуються до виводу bundle.
### `gateway diagnostics export`
Записати локальний diagnostics zip, призначений для додавання до звітів про помилки.
```bash
openclaw gateway diagnostics export
openclaw gateway diagnostics export --output openclaw-diagnostics.zip
openclaw gateway diagnostics export --json
```
Параметри:
- `--output <path>`: шлях до вихідного zip-файлу. Типово — support export у каталозі стану.
- `--log-lines <count>`: максимальна кількість санітизованих рядків журналу для включення (типово `5000`).
- `--log-bytes <bytes>`: максимальна кількість байтів журналу для аналізу (типово `1000000`).
- `--url <url>`: URL WebSocket Gateway для знімка health.
- `--token <token>`: токен Gateway для знімка health.
- `--password <password>`: пароль Gateway для знімка health.
- `--timeout <ms>`: тайм-аут знімка status/health (типово `3000`).
- `--no-stability-bundle`: пропустити пошук збереженого stability bundle.
- `--json`: вивести записаний шлях, розмір і manifest у форматі JSON.
Експорт містить manifest, зведення в Markdown, форму конфігурації, санітизовані деталі конфігурації, санітизовані зведення журналів, санітизовані знімки стану/health Gateway і найновіший stability bundle, якщо він існує.
Він призначений для поширення. Він зберігає операційні деталі, які допомагають у налагодженні, наприклад безпечні поля журналів OpenClaw, назви підсистем, коди стану, тривалості, налаштовані режими, порти, ідентифікатори plugin, ідентифікатори провайдерів, несекретні налаштування функцій і відредаговані операційні повідомлення журналу. Він пропускає або редагує текст чату, тіла webhook, виводи інструментів, облікові дані, cookies, ідентифікатори облікових записів/повідомлень, текст prompt/instruction, імена хостів і секретні значення. Якщо повідомлення у стилі LogTape схоже на текст навантаження користувача/чату/інструмента, експорт зберігає лише факт пропуску повідомлення та його розмір у байтах.
### `gateway status`
`gateway status` показує сервіс Gateway (launchd/systemd/schtasks) плюс необов’язкову перевірку можливостей підключення/автентифікації.
```bash
openclaw gateway status
openclaw gateway status --json
openclaw gateway status --require-rpc
```
Параметри:
- `--url <url>`: додати явну ціль перевірки. Налаштовані remote + localhost також перевіряються.
- `--token <token>`: автентифікація токеном для перевірки.
- `--password <password>`: автентифікація паролем для перевірки.
- `--timeout <ms>`: тайм-аут перевірки (типово `10000`).
- `--no-probe`: пропустити перевірку підключення (лише перегляд сервісу).
- `--deep`: також сканувати системні сервіси.
- `--require-rpc`: підвищити типову перевірку підключення до перевірки читання та завершуватися з ненульовим кодом, якщо ця перевірка читання не вдалася. Не можна поєднувати з `--no-probe`.
Примітки:
- `gateway status` залишається доступною для діагностики, навіть коли локальна конфігурація CLI відсутня або недійсна.
- Типова `gateway status` підтверджує стан сервісу, WebSocket-підключення та можливість автентифікації, видиму під час handshake. Вона не підтверджує операції читання/запису/адміністрування.
- `gateway status` визначає налаштовані auth SecretRef для автентифікації перевірки, коли це можливо.
- Якщо потрібний auth SecretRef не визначається в цьому шляху виконання команди, `gateway status --json` повідомляє `rpc.authWarning`, коли перевірка підключення/автентифікації не вдається; передайте `--token`/`--password` явно або спочатку визначте джерело секрету.
- Якщо перевірка успішна, попередження про невизначені auth-ref приховуються, щоб уникнути хибнопозитивних результатів.
- Використовуйте `--require-rpc` у скриптах і автоматизації, коли недостатньо просто сервісу, що слухає, і потрібно, щоб RPC-виклики зі scope читання теж були справними.
- `--deep` додає спробу знайти додаткові встановлення launchd/systemd/schtasks. Коли виявлено кілька сервісів, схожих на gateway, придатний для читання людиною вивід показує підказки з очищення та попереджає, що більшість установок повинні запускати один gateway на машину.
- Вивід для людини містить визначений шлях до журналу файлу, а також знімок шляхів/чинності конфігурації CLI порівняно із сервісом, щоб допомогти діагностувати розходження профілю або state-dir.
- В установках Linux systemd перевірки розходження автентифікації читають значення `Environment=` і `EnvironmentFile=` з unit-файлу (включно з `%h`, лапкованими шляхами, кількома файлами й необов’язковими файлами з `-`).
- Перевірки розходження визначають SecretRef для `gateway.auth.token`, використовуючи об’єднане runtime env (спочатку env команди сервісу, потім резервно env процесу).
- Якщо автентифікація токеном фактично не активна (явний `gateway.auth.mode` зі значенням `password`/`none`/`trusted-proxy` або режим не встановлено, де пароль може мати пріоритет і жоден кандидат токена не може мати пріоритет), перевірки розходження токена пропускають визначення токена конфігурації.
### `gateway probe`
`gateway probe` — це команда «налагодити все». Вона завжди перевіряє:
- ваш налаштований remote gateway (якщо задано), і
- localhost (loopback) **навіть якщо remote налаштовано**.
Якщо ви передасте `--url`, ця явна ціль буде додана перед обома. У виводі для людини
цілі позначаються так:
- `URL (explicit)`
- `Remote (configured)` або `Remote (configured, inactive)`
- `Local loopback`
Якщо доступно кілька gateway, команда виведе їх усі. Підтримка кількох gateway можлива, коли ви використовуєте ізольовані профілі/порти (наприклад, rescue bot), але більшість установок усе ж запускають один gateway.
```bash
openclaw gateway probe
openclaw gateway probe --json
```
Інтерпретація:
- `Reachable: yes` означає, що принаймні одна ціль прийняла WebSocket-підключення.
- `Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only` повідомляє, що саме перевірка змогла довести щодо автентифікації. Це окремо від доступності.
- `Read probe: ok` означає, що RPC-виклики деталей зі scope читання (`health`/`status`/`system-presence`/`config.get`) також були успішними.
- `Read probe: limited - missing scope: operator.read` означає, що підключення успішне, але RPC зі scope читання обмежені. Це повідомляється як **знижена** доступність, а не як повна відмова.
- Код виходу є ненульовим лише тоді, коли жодна з перевірених цілей не є доступною.
Примітки щодо JSON (`--json`):
- Верхній рівень:
- `ok`: принаймні одна ціль є доступною.
- `degraded`: принаймні одна ціль мала RPC деталей з обмеженим scope.
- `capability`: найкраща можливість, виявлена серед доступних цілей (`read_only`, `write_capable`, `admin_capable`, `pairing_pending`, `connected_no_operator_scope` або `unknown`).
- `primaryTargetId`: найкраща ціль, яку слід вважати активним переможцем у такому порядку: явний URL, SSH-тунель, налаштований remote, потім local loopback.
- `warnings[]`: записи попереджень best-effort з `code`, `message` і необов’язковими `targetIds`.
- `network`: підказки URL для local loopback/tailnet, похідні від поточної конфігурації та мережі хоста.
- `discovery.timeoutMs` і `discovery.count`: фактичний бюджет/кількість результатів виявлення, використані для цього проходу перевірки.
- Для кожної цілі (`targets[].connect`):
- `ok`: доступність після підключення + класифікація degraded.
- `rpcOk`: повний успіх RPC деталей.
- `scopeLimited`: RPC деталей не вдалося через відсутній operator scope.
- Для кожної цілі (`targets[].auth`):
- `role`: роль автентифікації, повідомлена в `hello-ok`, якщо доступна.
- `scopes`: надані scope, повідомлені в `hello-ok`, якщо доступні.
- `capability`: класифікація можливості автентифікації, показана для цієї цілі.
Поширені коди попереджень:
- `ssh_tunnel_failed`: не вдалося налаштувати SSH-тунель; команда повернулася до прямих перевірок.
- `multiple_gateways`: доступною була більш ніж одна ціль; це нетипово, якщо тільки ви навмисно не запускаєте ізольовані профілі, наприклад rescue bot.
- `auth_secretref_unresolved`: налаштований auth SecretRef не вдалося визначити для цілі, що завершилася помилкою.
- `probe_scope_limited`: WebSocket-підключення успішне, але перевірка читання була обмежена через відсутність `operator.read`.
#### Remote через SSH (паритет із застосунком Mac)
Режим macOS-застосунку “Remote over SSH” використовує локальне перенаправлення порту, щоб remote gateway (який може бути прив’язаний лише до loopback) став доступним за адресою `ws://127.0.0.1:<port>`.
Еквівалент у CLI:
```bash
openclaw gateway probe --ssh user@gateway-host
```
Параметри:
- `--ssh <target>`: `user@host` або `user@host:port` (порт типово `22`).
- `--ssh-identity <path>`: файл identity.
- `--ssh-auto`: вибрати перший виявлений хост gateway як SSH-ціль із визначеної
кінцевої точки виявлення (`local.` плюс налаштований домен широкозонного виявлення, якщо є). Підказки лише з TXT
ігноруються.
Конфігурація (необов’язкова, використовується як типові значення):
- `gateway.remote.sshTarget`
- `gateway.remote.sshIdentity`
### `gateway call <method>`
Низькорівневий допоміжний засіб RPC.
```bash
openclaw gateway call status
openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
```
Параметри:
- `--params <json>`: рядок JSON-об’єкта для параметрів (типово `{}`)
- `--url <url>`
- `--token <token>`
- `--password <password>`
- `--timeout <ms>`
- `--expect-final`
- `--json`
Примітки:
- `--params` має бути коректним JSON.
- `--expect-final` головним чином призначений для RPC у стилі агентів, які транслюють проміжні події перед фінальним навантаженням.
## Керування сервісом Gateway
```bash
openclaw gateway install
openclaw gateway start
openclaw gateway stop
openclaw gateway restart
openclaw gateway uninstall
```
Параметри команд:
- `gateway status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json`
- `gateway install`: `--port`, `--runtime <node|bun>`, `--token`, `--force`, `--json`
- `gateway uninstall|start|stop|restart`: `--json`
Примітки:
- `gateway install` підтримує `--port`, `--runtime`, `--token`, `--force`, `--json`.
- Коли автентифікація токеном потребує токен і `gateway.auth.token` керується через SecretRef, `gateway install` перевіряє, що SecretRef можливо визначити, але не зберігає визначений токен у метаданих середовища сервісу.
- Якщо автентифікація токеном потребує токен, а налаштований token SecretRef не визначається, встановлення завершується із закриттям доступу замість збереження резервного відкритого тексту.
- Для автентифікації паролем у `gateway run` віддавайте перевагу `OPENCLAW_GATEWAY_PASSWORD`, `--password-file` або `gateway.auth.password`, підкріпленому SecretRef, замість inline `--password`.
- У режимі виведеної автентифікації shell-only `OPENCLAW_GATEWAY_PASSWORD` не послаблює вимоги до токена під час встановлення; використовуйте стійку конфігурацію (`gateway.auth.password` або config `env`) під час встановлення керованого сервісу.
- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не встановлено, встановлення блокується, доки режим не буде задано явно.
- Команди життєвого циклу приймають `--json` для скриптів.
## Виявлення gateway (Bonjour)
`gateway discover` сканує маяки Gateway (`_openclaw-gw._tcp`).
- Multicast DNS-SD: `local.`
- Unicast DNS-SD (Wide-Area Bonjour): виберіть домен (наприклад: `openclaw.internal.`) і налаштуйте split DNS + DNS-сервер; див. [/gateway/bonjour](/uk/gateway/bonjour)
Лише gateway з увімкненим виявленням Bonjour (типово ввімкнено) рекламують маяк.
Записи Wide-Area discovery містять (TXT):
- `role` (підказка ролі gateway)
- `transport` (підказка транспорту, наприклад `gateway`)
- `gatewayPort` (порт WebSocket, зазвичай `18789`)
- `sshPort` (необов’язково; клієнти типово використовують `22` для SSH-цілей, якщо це значення відсутнє)
- `tailnetDns` (ім’я хоста MagicDNS, коли доступне)
- `gatewayTls` / `gatewayTlsSha256` (TLS увімкнено + відбиток сертифіката)
- `cliPath` (підказка remote-install, записана до wide-area zone)
### `gateway discover`
```bash
openclaw gateway discover
```
Параметри:
- `--timeout <ms>`: тайм-аут на команду (browse/resolve); типово `2000`.
- `--json`: машинозчитуваний вивід (також вимикає стилізацію/spinner).
Приклади:
```bash
openclaw gateway discover --timeout 4000
openclaw gateway discover --json | jq '.beacons[].wsUrl'
```
Примітки:
- CLI сканує `local.` плюс налаштований домен широкозонного виявлення, якщо його ввімкнено.
- `wsUrl` у JSON-виводі виводиться з визначеної кінцевої точки сервісу, а не з підказок
лише з TXT, таких як `lanHost` або `tailnetDns`.
- У `local.` mDNS `sshPort` і `cliPath` транслюються лише тоді, коли
`discovery.mdns.mode` має значення `full`. Wide-area DNS-SD усе одно записує `cliPath`; `sshPort`
і там також залишається необов’язковим.

40
docs/uk/cli/health.md Normal file
View File

@ -0,0 +1,40 @@
---
read_when:
- Ви хочете швидко перевірити стан здоров’я запущеного Gateway
summary: Довідка CLI для `openclaw health` (знімок стану здоров’я Gateway через RPC)
title: стан здоров’я
x-i18n:
generated_at: "2026-04-23T06:17:57Z"
model: gpt-5.4
provider: openai
source_hash: 4ed2b9ceefee6159cabaae9172d2d88174626456e7503d5d2bcd142634188ff0
source_path: cli/health.md
workflow: 15
---
# `openclaw health`
Отримати стан здоров’я від запущеного Gateway.
Параметри:
- `--json`: машинозчитуваний вивід
- `--timeout <ms>`: тайм-аут з’єднання в мілісекундах (типово `10000`)
- `--verbose`: докладне журналювання
- `--debug`: псевдонім для `--verbose`
Приклади:
```bash
openclaw health
openclaw health --json
openclaw health --timeout 2500
openclaw health --verbose
openclaw health --debug
```
Примітки:
- Типова команда `openclaw health` запитує у запущеного gateway його знімок стану здоров’я. Якщо gateway уже має свіжий кешований знімок, він може повернути цей кешований вміст і оновити його у фоновому режимі.
- `--verbose` примусово виконує живу перевірку, показує деталі з’єднання з gateway і розгортає людиночитний вивід для всіх налаштованих облікових записів і агентів.
- Вивід містить сховища сесій для кожного агента, якщо налаштовано кілька агентів.

345
docs/uk/cli/hooks.md Normal file
View File

@ -0,0 +1,345 @@
---
read_when:
- Ви хочете керувати хуками агента
- Ви хочете перевірити доступність хуків або ввімкнути хуки робочого простору
summary: Довідка CLI для `openclaw hooks` (хуки агента)
title: хуки
x-i18n:
generated_at: "2026-04-23T06:17:55Z"
model: gpt-5.4
provider: openai
source_hash: a09978267783734aaf9bd8bf36aa365ca680a3652afb904db2e5b55dfa64dcd1
source_path: cli/hooks.md
workflow: 15
---
# `openclaw hooks`
Керуйте хуками агента (автоматизаціями на основі подій для команд на кшталт `/new`, `/reset` і запуску gateway).
Запуск `openclaw hooks` без підкоманди еквівалентний `openclaw hooks list`.
Пов’язано:
- Хуки: [Хуки](/uk/automation/hooks)
- Хуки Plugin: [Хуки Plugin](/uk/plugins/architecture#provider-runtime-hooks)
## Список усіх хуків
```bash
openclaw hooks list
```
Показати всі виявлені хуки з каталогів workspace, managed, extra і bundled.
Під час запуску gateway внутрішні обробники хуків не завантажуються, доки не налаштовано принаймні один внутрішній хук.
**Параметри:**
- `--eligible`: Показувати лише придатні хуки (вимоги виконано)
- `--json`: Вивести у форматі JSON
- `-v, --verbose`: Показувати докладну інформацію, включно з відсутніми вимогами
**Приклад виводу:**
```
Хуки (4/4 готові)
Готові:
🚀 boot-md ✓ - Запускати BOOT.md під час запуску gateway
📎 bootstrap-extra-files ✓ - Додавати додаткові bootstrap-файли workspace під час bootstrap агента
📝 command-logger ✓ - Журналювати всі події команд у централізований файл аудиту
💾 session-memory ✓ - Зберігати контекст сесії в пам’ять, коли подається команда /new або /reset
```
**Приклад (verbose):**
```bash
openclaw hooks list --verbose
```
Показує відсутні вимоги для непридатних хуків.
**Приклад (JSON):**
```bash
openclaw hooks list --json
```
Повертає структурований JSON для програмного використання.
## Отримати інформацію про хук
```bash
openclaw hooks info <name>
```
Показати докладну інформацію про конкретний хук.
**Аргументи:**
- `<name>`: Назва хука або ключ хука (наприклад, `session-memory`)
**Параметри:**
- `--json`: Вивести у форматі JSON
**Приклад:**
```bash
openclaw hooks info session-memory
```
**Вивід:**
```
💾 session-memory ✓ Готово
Зберігати контекст сесії в пам’ять, коли подається команда /new або /reset
Докладно:
Джерело: openclaw-bundled
Шлях: /path/to/openclaw/hooks/bundled/session-memory/HOOK.md
Обробник: /path/to/openclaw/hooks/bundled/session-memory/handler.ts
Домашня сторінка: https://docs.openclaw.ai/automation/hooks#session-memory
Події: command:new, command:reset
Вимоги:
Конфігурація: ✓ workspace.dir
```
## Перевірити придатність хуків
```bash
openclaw hooks check
```
Показати зведення про стан придатності хуків (скільки готові, а скільки ні).
**Параметри:**
- `--json`: Вивести у форматі JSON
**Приклад виводу:**
```
Стан хуків
Усього хуків: 4
Готові: 4
Не готові: 0
```
## Увімкнути хук
```bash
openclaw hooks enable <name>
```
Увімкнути конкретний хук, додавши його до вашої конфігурації (типово `~/.openclaw/openclaw.json`).
**Примітка:** Хуки workspace типово вимкнені, доки ви не ввімкнете їх тут або в конфігурації. Хуки, якими керують plugins, показують `plugin:<id>` у `openclaw hooks list`, і їх не можна вмикати/вимикати тут. Натомість увімкніть/вимкніть сам Plugin.
**Аргументи:**
- `<name>`: Назва хука (наприклад, `session-memory`)
**Приклад:**
```bash
openclaw hooks enable session-memory
```
**Вивід:**
```
✓ Хук увімкнено: 💾 session-memory
```
**Що це робить:**
- Перевіряє, чи існує хук і чи є він придатним
- Оновлює `hooks.internal.entries.<name>.enabled = true` у вашій конфігурації
- Зберігає конфігурацію на диск
Якщо хук походить із `<workspace>/hooks/`, цей крок явного ввімкнення є обов’язковим, перш ніж
Gateway завантажить його.
**Після ввімкнення:**
- Перезапустіть gateway, щоб хуки перезавантажилися (перезапуск застосунку в рядку меню на macOS або перезапуск вашого процесу gateway у dev).
## Вимкнути хук
```bash
openclaw hooks disable <name>
```
Вимкнути конкретний хук, оновивши вашу конфігурацію.
**Аргументи:**
- `<name>`: Назва хука (наприклад, `command-logger`)
**Приклад:**
```bash
openclaw hooks disable command-logger
```
**Вивід:**
```
⏸ Хук вимкнено: 📝 command-logger
```
**Після вимкнення:**
- Перезапустіть gateway, щоб хуки перезавантажилися
## Примітки
- `openclaw hooks list --json`, `info --json` і `check --json` записують структурований JSON безпосередньо в stdout.
- Хуки, якими керують plugins, не можна вмикати або вимикати тут; натомість увімкніть або вимкніть Plugin-власник.
## Встановити набори хуків
```bash
openclaw plugins install <package> # ClawHub first, then npm
openclaw plugins install <package> --pin # pin version
openclaw plugins install <path> # local path
```
Встановіть набори хуків через уніфікований інсталятор plugins.
`openclaw hooks install` усе ще працює як псевдонім сумісності, але виводить
попередження про застарілість і перенаправляє на `openclaw plugins install`.
Специфікації npm є **лише реєстровими** (назва пакета + необов’язкова **точна версія** або
**dist-tag**). Специфікації Git/URL/file і діапазони semver відхиляються. Встановлення
залежностей виконуються з `--ignore-scripts` для безпеки.
Прості специфікації та `@latest` залишаються на стабільній гілці. Якщо npm визначає будь-який із
них як передвипускну версію, OpenClaw зупиняється й просить вас явно підтвердити це за допомогою
тега передвипуску, наприклад `@beta`/`@rc`, або точної передвипускної версії.
**Що це робить:**
- Копіює набір хуків до `~/.openclaw/hooks/<id>`
- Увімкнює встановлені хуки в `hooks.internal.entries.*`
- Записує встановлення в `hooks.internal.installs`
**Параметри:**
- `-l, --link`: Зв’язати локальний каталог замість копіювання (додає його до `hooks.internal.load.extraDirs`)
- `--pin`: Записувати встановлення npm як точний визначений `name@version` у `hooks.internal.installs`
**Підтримувані архіви:** `.zip`, `.tgz`, `.tar.gz`, `.tar`
**Приклади:**
```bash
# Local directory
openclaw plugins install ./my-hook-pack
# Local archive
openclaw plugins install ./my-hook-pack.zip
# NPM package
openclaw plugins install @openclaw/my-hook-pack
# Link a local directory without copying
openclaw plugins install -l ./my-hook-pack
```
Набори хуків, зв’язані через link, розглядаються як managed-хуки з каталогу,
налаштованого оператором, а не як хуки workspace.
## Оновити набори хуків
```bash
openclaw plugins update <id>
openclaw plugins update --all
```
Оновіть відстежувані набори хуків на основі npm через уніфікований засіб оновлення plugins.
`openclaw hooks update` усе ще працює як псевдонім сумісності, але виводить
попередження про застарілість і перенаправляє на `openclaw plugins update`.
**Параметри:**
- `--all`: Оновити всі відстежувані набори хуків
- `--dry-run`: Показати, що зміниться, без запису
Коли існує збережений хеш цілісності, а хеш отриманого артефакту змінюється,
OpenClaw виводить попередження й просить підтвердження перед продовженням. Використовуйте
глобальний `--yes`, щоб обійти запити в CI/неінтерактивних запусках.
## Вбудовані хуки
### session-memory
Зберігає контекст сесії в пам’ять, коли ви подаєте `/new` або `/reset`.
**Увімкнути:**
```bash
openclaw hooks enable session-memory
```
**Вивід:** `~/.openclaw/workspace/memory/YYYY-MM-DD-slug.md`
**Див.:** [документацію session-memory](/uk/automation/hooks#session-memory)
### bootstrap-extra-files
Додає додаткові bootstrap-файли (наприклад, локальні для монорепозиторію `AGENTS.md` / `TOOLS.md`) під час `agent:bootstrap`.
**Увімкнути:**
```bash
openclaw hooks enable bootstrap-extra-files
```
**Див.:** [документацію bootstrap-extra-files](/uk/automation/hooks#bootstrap-extra-files)
### command-logger
Журналює всі події команд у централізований файл аудиту.
**Увімкнути:**
```bash
openclaw hooks enable command-logger
```
**Вивід:** `~/.openclaw/logs/commands.log`
**Переглянути журнали:**
```bash
# Recent commands
tail -n 20 ~/.openclaw/logs/commands.log
# Pretty-print
cat ~/.openclaw/logs/commands.log | jq .
# Filter by action
grep '"action":"new"' ~/.openclaw/logs/commands.log | jq .
```
**Див.:** [документацію command-logger](/uk/automation/hooks#command-logger)
### boot-md
Запускає `BOOT.md` під час запуску gateway (після запуску каналів).
**Події**: `gateway:startup`
**Увімкнути**:
```bash
openclaw hooks enable boot-md
```
**Див.:** [документацію boot-md](/uk/automation/hooks#boot-md)

1854
docs/uk/cli/index.md Normal file

File diff suppressed because it is too large Load Diff

290
docs/uk/cli/infer.md Normal file
View File

@ -0,0 +1,290 @@
---
read_when:
- Додавання або змінення команд `openclaw infer`
- Проєктування стабільної безголової автоматизації можливостей
summary: Infer-first CLI для робочих процесів із моделями, зображеннями, аудіо, TTS, відео, вебом та вбудовуваннями на базі провайдерів
title: CLI Inference
x-i18n:
generated_at: "2026-04-23T06:18:05Z"
model: gpt-5.4
provider: openai
source_hash: e57d2438d0da24e1ed880bbacd244ede4af56beba4ac1baa3f2a1e393e641c9c
source_path: cli/infer.md
workflow: 15
---
# CLI Inference
`openclaw infer` — це канонічна безголова поверхня для робочих процесів Inference на базі провайдерів.
Вона навмисно відкриває сімейства можливостей, а не сирі назви RPC Gateway і не сирі ідентифікатори інструментів агентів.
## Перетворіть infer на skill
Скопіюйте й вставте це агенту:
```text
Read https://docs.openclaw.ai/cli/infer, then create a skill that routes my common workflows to `openclaw infer`.
Focus on model runs, image generation, video generation, audio transcription, TTS, web search, and embeddings.
```
Хороший skill на основі infer має:
- зіставляти поширені наміри користувача з правильними підкомандами infer
- містити кілька канонічних прикладів infer для робочих процесів, які він охоплює
- віддавати перевагу `openclaw infer ...` у прикладах і рекомендаціях
- не дублювати повністю всю поверхню infer в тілі skill
Типове покриття skill, орієнтованого на infer:
- `openclaw infer model run`
- `openclaw infer image generate`
- `openclaw infer audio transcribe`
- `openclaw infer tts convert`
- `openclaw infer web search`
- `openclaw infer embedding create`
## Чому варто використовувати infer
`openclaw infer` надає єдиний узгоджений CLI для завдань Inference на базі провайдерів в OpenClaw.
Переваги:
- Використовуйте провайдерів і моделі, уже налаштовані в OpenClaw, замість того щоб налаштовувати окремі одноразові обгортки для кожного бекенда.
- Тримайте робочі процеси для моделей, зображень, транскрибування аудіо, TTS, відео, вебу та вбудовувань у межах одного дерева команд.
- Використовуйте стабільну форму виводу `--json` для скриптів, автоматизації та робочих процесів, керованих агентами.
- Віддавайте перевагу власній поверхні OpenClaw, коли завдання по суті полягає у «виконанні Inference».
- Використовуйте звичайний локальний шлях без потреби запускати gateway для більшості команд infer.
## Дерево команд
```text
openclaw infer
list
inspect
model
run
list
inspect
providers
auth login
auth logout
auth status
image
generate
edit
describe
describe-many
providers
audio
transcribe
providers
tts
convert
voices
providers
status
enable
disable
set-provider
video
generate
describe
providers
web
search
fetch
providers
embedding
create
providers
```
## Поширені завдання
Ця таблиця зіставляє поширені завдання Inference з відповідною командою infer.
| Завдання | Команда | Примітки |
| ------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------- |
| Виконати текстовий/модельний запит | `openclaw infer model run --prompt "..." --json` | За замовчуванням використовує звичайний локальний шлях |
| Згенерувати зображення | `openclaw infer image generate --prompt "..." --json` | Використовуйте `image edit`, якщо починаєте з наявного файлу |
| Описати файл зображення | `openclaw infer image describe --file ./image.png --json` | `--model` має бути `<provider/model>` із підтримкою зображень |
| Транскрибувати аудіо | `openclaw infer audio transcribe --file ./memo.m4a --json` | `--model` має бути `<provider/model>` |
| Синтезувати мовлення | `openclaw infer tts convert --text "..." --output ./speech.mp3 --json` | `tts status` орієнтований на gateway |
| Згенерувати відео | `openclaw infer video generate --prompt "..." --json` | |
| Описати відеофайл | `openclaw infer video describe --file ./clip.mp4 --json` | `--model` має бути `<provider/model>` |
| Шукати у вебі | `openclaw infer web search --query "..." --json` | |
| Отримати вебсторінку | `openclaw infer web fetch --url https://example.com --json` | |
| Створити вбудовування | `openclaw infer embedding create --text "..." --json` | |
## Поведінка
- `openclaw infer ...` — основна поверхня CLI для цих робочих процесів.
- Використовуйте `--json`, коли вивід споживатиметься іншою командою або скриптом.
- Використовуйте `--provider` або `--model provider/model`, коли потрібен конкретний бекенд.
- Для `image describe`, `audio transcribe` і `video describe` `--model` має використовувати форму `<provider/model>`.
- Для `image describe` явний `--model` запускає цю пару провайдер/модель безпосередньо. Модель має підтримувати зображення в каталозі моделей або конфігурації провайдера.
- Команди безстанового виконання за замовчуванням локальні.
- Команди для стану, яким керує gateway, за замовчуванням використовують gateway.
- Звичайний локальний шлях не вимагає, щоб gateway був запущений.
## Model
Використовуйте `model` для текстового Inference на базі провайдерів і перевірки моделі/провайдера.
```bash
openclaw infer model run --prompt "Reply with exactly: smoke-ok" --json
openclaw infer model run --prompt "Summarize this changelog entry" --provider openai --json
openclaw infer model providers --json
openclaw infer model inspect --name gpt-5.4 --json
```
Примітки:
- `model run` повторно використовує середовище виконання агента, тому перевизначення провайдера/моделі поводяться як у звичайному виконанні агента.
- `model auth login`, `model auth logout` і `model auth status` керують збереженим станом автентифікації провайдера.
## Image
Використовуйте `image` для генерації, редагування та опису.
```bash
openclaw infer image generate --prompt "friendly lobster illustration" --json
openclaw infer image generate --prompt "cinematic product photo of headphones" --json
openclaw infer image describe --file ./photo.jpg --json
openclaw infer image describe --file ./ui-screenshot.png --model openai/gpt-4.1-mini --json
openclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --json
```
Примітки:
- Використовуйте `image edit`, якщо починаєте з наявних вхідних файлів.
- Для `image describe` `--model` має бути `<provider/model>` із підтримкою зображень.
- Для локальних візуальних моделей Ollama спочатку завантажте модель і встановіть `OLLAMA_API_KEY` у будь-яке значення-заповнювач, наприклад `ollama-local`. Див. [Ollama](/uk/providers/ollama#vision-and-image-description).
## Audio
Використовуйте `audio` для транскрибування файлів.
```bash
openclaw infer audio transcribe --file ./memo.m4a --json
openclaw infer audio transcribe --file ./team-sync.m4a --language en --prompt "Focus on names and action items" --json
openclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json
```
Примітки:
- `audio transcribe` призначено для транскрибування файлів, а не для керування сеансами в реальному часі.
- `--model` має бути `<provider/model>`.
## TTS
Використовуйте `tts` для синтезу мовлення та стану провайдера TTS.
```bash
openclaw infer tts convert --text "hello from openclaw" --output ./hello.mp3 --json
openclaw infer tts convert --text "Your build is complete" --output ./build-complete.mp3 --json
openclaw infer tts providers --json
openclaw infer tts status --json
```
Примітки:
- `tts status` за замовчуванням використовує gateway, оскільки відображає стан TTS, яким керує gateway.
- Використовуйте `tts providers`, `tts voices` і `tts set-provider` для перевірки та налаштування поведінки TTS.
## Video
Використовуйте `video` для генерації та опису.
```bash
openclaw infer video generate --prompt "cinematic sunset over the ocean" --json
openclaw infer video generate --prompt "slow drone shot over a forest lake" --json
openclaw infer video describe --file ./clip.mp4 --json
openclaw infer video describe --file ./clip.mp4 --model openai/gpt-4.1-mini --json
```
Примітки:
- Для `video describe` `--model` має бути `<provider/model>`.
## Web
Використовуйте `web` для робочих процесів пошуку та отримання даних.
```bash
openclaw infer web search --query "OpenClaw docs" --json
openclaw infer web search --query "OpenClaw infer web providers" --json
openclaw infer web fetch --url https://docs.openclaw.ai/cli/infer --json
openclaw infer web providers --json
```
Примітки:
- Використовуйте `web providers` для перевірки доступних, налаштованих і вибраних провайдерів.
## Embedding
Використовуйте `embedding` для створення векторів і перевірки провайдера вбудовувань.
```bash
openclaw infer embedding create --text "friendly lobster" --json
openclaw infer embedding create --text "customer support ticket: delayed shipment" --model openai/text-embedding-3-large --json
openclaw infer embedding providers --json
```
## Вивід JSON
Команди infer нормалізують вивід JSON у межах спільної оболонки:
```json
{
"ok": true,
"capability": "image.generate",
"transport": "local",
"provider": "openai",
"model": "gpt-image-2",
"attempts": [],
"outputs": []
}
```
Поля верхнього рівня є стабільними:
- `ok`
- `capability`
- `transport`
- `provider`
- `model`
- `attempts`
- `outputs`
- `error`
## Поширені помилки
```bash
# Погано
openclaw infer media image generate --prompt "friendly lobster"
# Добре
openclaw infer image generate --prompt "friendly lobster"
```
```bash
# Погано
openclaw infer audio transcribe --file ./memo.m4a --model whisper-1 --json
# Добре
openclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json
```
## Примітки
- `openclaw capability ...` є псевдонімом для `openclaw infer ...`.

66
docs/uk/cli/logs.md Normal file
View File

@ -0,0 +1,66 @@
---
read_when:
- Вам потрібно віддалено переглядати кінець журналів Gateway (без SSH)
- Ви хочете рядки журналу у форматі JSON для інструментів
summary: Довідка CLI для `openclaw logs` (перегляд кінця журналів Gateway через RPC)
title: журнали
x-i18n:
generated_at: "2026-04-23T06:18:21Z"
model: gpt-5.4
provider: openai
source_hash: 238a52e31a9a332cab513ced049e92d032b03c50376895ce57dffa2ee7d1e4b4
source_path: cli/logs.md
workflow: 15
---
# `openclaw logs`
Перегляд кінця файлових журналів Gateway через RPC (працює у віддаленому режимі).
Пов’язане:
- Огляд журналювання: [Журналювання](/uk/logging)
- CLI Gateway: [gateway](/uk/cli/gateway)
## Параметри
- `--limit <n>`: максимальна кількість рядків журналу для повернення (типово `200`)
- `--max-bytes <n>`: максимальна кількість байтів для читання з файла журналу (типово `250000`)
- `--follow`: стежити за потоком журналу
- `--interval <ms>`: інтервал опитування під час стеження (типово `1000`)
- `--json`: виводити події JSON, розділені рядками
- `--plain`: звичайний текстовий вивід без стилізованого форматування
- `--no-color`: вимкнути ANSI-кольори
- `--local-time`: відображати часові мітки у вашому локальному часовому поясі
## Спільні параметри RPC Gateway
`openclaw logs` також приймає стандартні прапорці клієнта Gateway:
- `--url <url>`: URL WebSocket Gateway
- `--token <token>`: токен Gateway
- `--timeout <ms>`: тайм-аут у мс (типово `30000`)
- `--expect-final`: чекати фінальної відповіді, коли виклик Gateway підтримується агентом
Коли ви передаєте `--url`, CLI не застосовує автоматично облікові дані з конфігурації або середовища. Явно вкажіть `--token`, якщо цільовий Gateway вимагає автентифікації.
## Приклади
```bash
openclaw logs
openclaw logs --follow
openclaw logs --follow --interval 2000
openclaw logs --limit 500 --max-bytes 500000
openclaw logs --json
openclaw logs --plain
openclaw logs --no-color
openclaw logs --limit 500
openclaw logs --local-time
openclaw logs --follow --local-time
openclaw logs --url ws://127.0.0.1:18789 --token "$OPENCLAW_GATEWAY_TOKEN"
```
## Примітки
- Використовуйте `--local-time`, щоб відображати часові мітки у вашому локальному часовому поясі.
- Якщо локальний Gateway local loopback запитує pairing, `openclaw logs` автоматично переключається на налаштований локальний файл журналу. Явно задані цілі через `--url` не використовують це резервне переключення.

515
docs/uk/cli/mcp.md Normal file
View File

@ -0,0 +1,515 @@
---
read_when:
- Підключення Codex, Claude Code або іншого MCP-клієнта до каналів на базі OpenClaw
- Запуск `openclaw mcp serve`
- Керування збереженими OpenClaw визначеннями MCP-серверів
summary: Надавайте доступ до розмов каналів OpenClaw через MCP і керуйте збереженими визначеннями MCP-серверів
title: mcp
x-i18n:
generated_at: "2026-04-23T06:18:09Z"
model: gpt-5.4
provider: openai
source_hash: bbc528a7490132f4b505f62bdc4556602243a5e27557c4965c2e1d4f80ad00bd
source_path: cli/mcp.md
workflow: 15
---
# mcp
`openclaw mcp` має дві задачі:
- запускати OpenClaw як MCP-сервер за допомогою `openclaw mcp serve`
- керувати визначеннями вихідних MCP-серверів, що належать OpenClaw, за допомогою `list`, `show`,
`set` і `unset`
Інакше кажучи:
- `serve` — це OpenClaw, що працює як MCP-сервер
- `list` / `show` / `set` / `unset` — це OpenClaw, що працює як реєстр на
стороні MCP-клієнта для інших MCP-серверів, які його runtime-компоненти можуть використати пізніше
Використовуйте [`openclaw acp`](/uk/cli/acp), коли OpenClaw має сам розміщувати
сеанс coding harness і маршрутизувати це runtime-середовище через ACP.
## OpenClaw як MCP-сервер
Це шлях `openclaw mcp serve`.
## Коли використовувати `serve`
Використовуйте `openclaw mcp serve`, коли:
- Codex, Claude Code або інший MCP-клієнт має напряму взаємодіяти з
розмовами каналів на базі OpenClaw
- у вас уже є локальний або віддалений Gateway OpenClaw із маршрутизованими сеансами
- вам потрібен один MCP-сервер, який працює з різними каналами OpenClaw,
замість запуску окремих мостів для кожного каналу
Натомість використовуйте [`openclaw acp`](/uk/cli/acp), коли OpenClaw має сам
розміщувати runtime-середовище coding і зберігати сеанс агента всередині OpenClaw.
## Як це працює
`openclaw mcp serve` запускає stdio MCP-сервер. Цим процесом керує MCP-клієнт.
Поки клієнт тримає stdio-сеанс відкритим, міст підключається до
локального або віддаленого Gateway OpenClaw через WebSocket і надає доступ до
маршрутизованих розмов каналів через MCP.
Життєвий цикл:
1. MCP-клієнт запускає `openclaw mcp serve`
2. міст підключається до Gateway
3. маршрутизовані сеанси стають розмовами MCP та інструментами transcript/history
4. живі події ставляться в чергу в пам’яті, поки міст підключений
5. якщо ввімкнено режим каналу Claude, той самий сеанс також може отримувати
push-сповіщення, специфічні для Claude
Важлива поведінка:
- стан live-черги починається з моменту підключення моста
- старіша історія transcript зчитується через `messages_read`
- push-сповіщення Claude існують лише поки MCP-сеанс активний
- коли клієнт відключається, міст завершує роботу, а live-черга зникає
## Вибір режиму клієнта
Той самий міст можна використовувати двома різними способами:
- Загальні MCP-клієнти: лише стандартні MCP-інструменти. Використовуйте `conversations_list`,
`messages_read`, `events_poll`, `events_wait`, `messages_send` та
інструменти погодження.
- Claude Code: стандартні MCP-інструменти плюс адаптер каналу, специфічний для Claude.
Увімкніть `--claude-channel-mode on` або залиште типове значення `auto`.
Наразі `auto` поводиться так само, як `on`. Визначення можливостей клієнта поки що немає.
## Що надає `serve`
Міст використовує наявні метадані маршруту сеансу Gateway, щоб надавати
доступ до розмов на основі каналів. Розмова з’являється, коли OpenClaw уже має
стан сеансу з відомим маршрутом, наприклад:
- `channel`
- метадані одержувача або призначення
- необов’язковий `accountId`
- необов’язковий `threadId`
Це дає MCP-клієнтам єдину точку для:
- перегляду списку нещодавніх маршрутизованих розмов
- читання нещодавньої історії transcript
- очікування нових вхідних подій
- надсилання відповіді назад тим самим маршрутом
- перегляду запитів на погодження, що надходять, поки міст підключений
## Використання
```bash
# Локальний Gateway
openclaw mcp serve
# Віддалений Gateway
openclaw mcp serve --url wss://gateway-host:18789 --token-file ~/.openclaw/gateway.token
# Віддалений Gateway з автентифікацією паролем
openclaw mcp serve --url wss://gateway-host:18789 --password-file ~/.openclaw/gateway.password
# Увімкнути докладні журнали моста
openclaw mcp serve --verbose
# Вимкнути push-сповіщення, специфічні для Claude
openclaw mcp serve --claude-channel-mode off
```
## Інструменти моста
Поточний міст надає такі MCP-інструменти:
- `conversations_list`
- `conversation_get`
- `messages_read`
- `attachments_fetch`
- `events_poll`
- `events_wait`
- `messages_send`
- `permissions_list_open`
- `permissions_respond`
### `conversations_list`
Показує список нещодавніх розмов на основі сеансів, які вже мають метадані маршруту в
стані сеансу Gateway.
Корисні фільтри:
- `limit`
- `search`
- `channel`
- `includeDerivedTitles`
- `includeLastMessage`
### `conversation_get`
Повертає одну розмову за `session_key`.
### `messages_read`
Зчитує нещодавні повідомлення transcript для однієї розмови на основі сеансу.
### `attachments_fetch`
Витягує нетекстові блоки вмісту повідомлення з одного повідомлення transcript. Це
подання метаданих поверх вмісту transcript, а не окреме стале сховище attachment blob.
### `events_poll`
Зчитує поставлені в чергу живі події, починаючи з числового курсора.
### `events_wait`
Виконує довге опитування, доки не надійде наступна відповідна поставлена в чергу подія або не спливе тайм-аут.
Використовуйте це, коли загальному MCP-клієнту потрібна майже реальна доставка в реальному часі без
push-протоколу, специфічного для Claude.
### `messages_send`
Надсилає текст назад тим самим маршрутом, уже записаним у сеансі.
Поточна поведінка:
- потрібен наявний маршрут розмови
- використовує канал сеансу, одержувача, id облікового запису та id треду
- надсилає лише текст
### `permissions_list_open`
Показує список очікуваних запитів на погодження exec/plugin, які міст спостерігав з моменту
підключення до Gateway.
### `permissions_respond`
Обробляє один очікуваний запит на погодження exec/plugin одним із варіантів:
- `allow-once`
- `allow-always`
- `deny`
## Модель подій
Поки міст підключений, він підтримує чергу подій у пам’яті.
Поточні типи подій:
- `message`
- `exec_approval_requested`
- `exec_approval_resolved`
- `plugin_approval_requested`
- `plugin_approval_resolved`
- `claude_permission_request`
Важливі обмеження:
- черга є лише live; вона починається в момент запуску MCP-моста
- `events_poll` і `events_wait` самі по собі не відтворюють старішу історію Gateway
- стале відставання слід зчитувати через `messages_read`
## Сповіщення каналу Claude
Міст також може надавати сповіщення каналу, специфічні для Claude. Це
еквівалент адаптера каналу Claude Code в OpenClaw: стандартні MCP-інструменти залишаються
доступними, але живі вхідні повідомлення також можуть надходити як MCP-сповіщення,
специфічні для Claude.
Прапорці:
- `--claude-channel-mode off`: лише стандартні MCP-інструменти
- `--claude-channel-mode on`: увімкнути сповіщення каналу Claude
- `--claude-channel-mode auto`: поточне типове значення; така сама поведінка моста, як у `on`
Коли ввімкнено режим каналу Claude, сервер оголошує експериментальні
можливості Claude і може надсилати:
- `notifications/claude/channel`
- `notifications/claude/channel/permission`
Поточна поведінка моста:
- вхідні повідомлення transcript типу `user` пересилаються як
`notifications/claude/channel`
- запити дозволів Claude, отримані через MCP, відстежуються в пам’яті
- якщо пов’язана розмова пізніше надсилає `yes abcde` або `no abcde`, міст
перетворює це на `notifications/claude/channel/permission`
- ці сповіщення доступні лише для live-сеансу; якщо MCP-клієнт відключається,
ціль для push зникає
Це навмисно специфічно для клієнта. Загальні MCP-клієнти мають покладатися на
стандартні інструменти опитування.
## Конфігурація MCP-клієнта
Приклад конфігурації stdio-клієнта:
```json
{
"mcpServers": {
"openclaw": {
"command": "openclaw",
"args": [
"mcp",
"serve",
"--url",
"wss://gateway-host:18789",
"--token-file",
"/path/to/gateway.token"
]
}
}
}
```
Для більшості загальних MCP-клієнтів починайте зі стандартної поверхні інструментів і
ігноруйте режим Claude. Вмикайте режим Claude лише для клієнтів, які справді
розуміють методи сповіщень, специфічні для Claude.
## Параметри
`openclaw mcp serve` підтримує:
- `--url <url>`: URL WebSocket Gateway
- `--token <token>`: токен Gateway
- `--token-file <path>`: зчитати токен із файлу
- `--password <password>`: пароль Gateway
- `--password-file <path>`: зчитати пароль із файлу
- `--claude-channel-mode <auto|on|off>`: режим сповіщень Claude
- `-v`, `--verbose`: докладні журнали у stderr
За можливості віддавайте перевагу `--token-file` або `--password-file` замість секретів у командному рядку.
## Безпека та межа довіри
Міст не вигадує маршрутизацію. Він лише надає доступ до розмов, які Gateway
вже знає, як маршрутизувати.
Це означає:
- allowlist відправників, pairing і довіра на рівні каналу як і раніше належать
до базової конфігурації каналу OpenClaw
- `messages_send` може відповідати лише через наявний збережений маршрут
- стан погоджень є лише live/в пам’яті для поточного сеансу моста
- автентифікація моста має використовувати ті самі механізми токена або пароля Gateway, яким ви
довіряли б для будь-якого іншого віддаленого клієнта Gateway
Якщо розмова відсутня в `conversations_list`, зазвичай причина не в
конфігурації MCP. Причина — відсутні або неповні метадані маршруту в базовому
сеансі Gateway.
## Тестування
OpenClaw постачається з детермінованою Docker smoke-перевіркою для цього моста:
```bash
pnpm test:docker:mcp-channels
```
Ця smoke-перевірка:
- запускає контейнер Gateway із підготовленими даними
- запускає другий контейнер, який запускає `openclaw mcp serve`
- перевіряє виявлення розмов, читання transcript, читання метаданих attachment,
поведінку live-черги подій і маршрутизацію вихідних надсилань
- перевіряє сповіщення стилю Claude для каналу та дозволів через справжній
stdio MCP-міст
Це найшвидший спосіб довести, що міст працює, без підключення реального
облікового запису Telegram, Discord або iMessage до тестового запуску.
Для ширшого контексту тестування див. [Тестування](/uk/help/testing).
## Усунення несправностей
### Не повертаються розмови
Зазвичай це означає, що сеанс Gateway ще не можна маршрутизувати. Підтвердьте, що
базовий сеанс має збережені метадані маршруту channel/provider, recipient і
необов’язкові `account/thread`.
### `events_poll` або `events_wait` пропускає старіші повідомлення
Це очікувано. Live-черга починається з моменту підключення моста. Читайте старішу історію transcript через `messages_read`.
### Не з’являються сповіщення Claude
Перевірте все з наведеного:
- клієнт тримає stdio MCP-сеанс відкритим
- `--claude-channel-mode` має значення `on` або `auto`
- клієнт справді розуміє методи сповіщень, специфічні для Claude
- вхідне повідомлення надійшло після підключення моста
### Відсутні погодження
`permissions_list_open` показує лише запити на погодження, які були помічені, поки міст
був підключений. Це не API сталої історії погоджень.
## OpenClaw як реєстр MCP-клієнтів
Це шлях `openclaw mcp list`, `show`, `set` і `unset`.
Ці команди не надають доступ до OpenClaw через MCP. Вони керують визначеннями MCP-серверів, що належать OpenClaw,
у `mcp.servers` в конфігурації OpenClaw.
Ці збережені визначення призначені для runtime-середовищ, які OpenClaw запускає або налаштовує
пізніше, наприклад вбудованого Pi та інших runtime-адаптерів. OpenClaw зберігає
визначення централізовано, щоб цим runtime-компонентам не потрібно було підтримувати власні дублікати
списків MCP-серверів.
Важлива поведінка:
- ці команди лише читають або записують конфігурацію OpenClaw
- вони не підключаються до цільового MCP-сервера
- вони не перевіряють, чи команда, URL або віддалений транспорт
доступні прямо зараз
- runtime-адаптери самі вирішують, які форми транспорту вони реально підтримують під час виконання
- вбудований Pi надає налаштовані MCP-інструменти у звичайних профілях інструментів `coding` і `messaging`;
`minimal` усе ще приховує їх, а `tools.deny: ["bundle-mcp"]` явно їх вимикає
## Збережені визначення MCP-серверів
OpenClaw також зберігає в конфігурації легковаговий реєстр MCP-серверів для поверхонь,
яким потрібні визначення MCP, керовані OpenClaw.
Команди:
- `openclaw mcp list`
- `openclaw mcp show [name]`
- `openclaw mcp set <name> <json>`
- `openclaw mcp unset <name>`
Примітки:
- `list` сортує імена серверів.
- `show` без імені виводить повний об’єкт налаштованих MCP-серверів.
- `set` очікує одне значення JSON-об’єкта в командному рядку.
- `unset` завершується з помилкою, якщо вказаний сервер не існує.
Приклади:
```bash
openclaw mcp list
openclaw mcp show context7 --json
openclaw mcp set context7 '{"command":"uvx","args":["context7-mcp"]}'
openclaw mcp set docs '{"url":"https://mcp.example.com"}'
openclaw mcp unset context7
```
Приклад структури конфігурації:
```json
{
"mcp": {
"servers": {
"context7": {
"command": "uvx",
"args": ["context7-mcp"]
},
"docs": {
"url": "https://mcp.example.com"
}
}
}
}
```
### Транспорт stdio
Запускає локальний дочірній процес і взаємодіє через stdin/stdout.
| Поле | Опис |
| -------------------------- | ------------------------------------- |
| `command` | Виконуваний файл для запуску (обов’язково) |
| `args` | Масив аргументів командного рядка |
| `env` | Додаткові змінні середовища |
| `cwd` / `workingDirectory` | Робочий каталог для процесу |
#### Фільтр безпеки env для stdio
OpenClaw відхиляє ключі env запуску інтерпретатора, які можуть змінити спосіб запуску stdio MCP-сервера до першого RPC, навіть якщо вони вказані в блоці `env` сервера. Заблоковані ключі включають `NODE_OPTIONS`, `PYTHONSTARTUP`, `PYTHONPATH`, `PERL5OPT`, `RUBYOPT`, `SHELLOPTS`, `PS4` та подібні змінні керування runtime. Під час запуску такі значення відхиляються з помилкою конфігурації, щоб вони не могли підставити неявний prelude, замінити інтерпретатор або ввімкнути debugger для stdio-процесу. Звичайні облікові дані, proxy і змінні env, специфічні для сервера (`GITHUB_TOKEN`, `HTTP_PROXY`, власні `*_API_KEY` тощо), це не зачіпає.
Якщо вашому MCP-серверу справді потрібна одна із заблокованих змінних, задайте її для хост-процесу Gateway, а не в `env` stdio-сервера.
### Транспорт SSE / HTTP
Підключається до віддаленого MCP-сервера через HTTP Server-Sent Events.
| Поле | Опис |
| --------------------- | ---------------------------------------------------------------- |
| `url` | URL `http` або `https` віддаленого сервера (обов’язково) |
| `headers` | Необов’язкова карта HTTP-заголовків ключ-значення (наприклад, токени автентифікації) |
| `connectionTimeoutMs` | Тайм-аут підключення для сервера в мс (необов’язково) |
Приклад:
```json
{
"mcp": {
"servers": {
"remote-tools": {
"url": "https://mcp.example.com",
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
}
```
Чутливі значення в `url` (userinfo) і `headers` маскуються в журналах і
виводі стану.
### Транспорт Streamable HTTP
`streamable-http` — це додатковий варіант транспорту поряд із `sse` і `stdio`. Він використовує HTTP streaming для двобічного зв’язку з віддаленими MCP-серверами.
| Поле | Опис |
| --------------------- | -------------------------------------------------------------------------------------------- |
| `url` | URL `http` або `https` віддаленого сервера (обов’язково) |
| `transport` | Установіть `"streamable-http"` для вибору цього транспорту; якщо поле не вказано, OpenClaw використовує `sse` |
| `headers` | Необов’язкова карта HTTP-заголовків ключ-значення (наприклад, токени автентифікації) |
| `connectionTimeoutMs` | Тайм-аут підключення для сервера в мс (необов’язково) |
Приклад:
```json
{
"mcp": {
"servers": {
"streaming-tools": {
"url": "https://mcp.example.com/stream",
"transport": "streamable-http",
"connectionTimeoutMs": 10000,
"headers": {
"Authorization": "Bearer <token>"
}
}
}
}
}
```
Ці команди керують лише збереженою конфігурацією. Вони не запускають міст каналу,
не відкривають live-сеанс MCP-клієнта і не доводять, що цільовий сервер доступний.
## Поточні обмеження
Ця сторінка описує міст у тому вигляді, у якому він постачається зараз.
Поточні обмеження:
- виявлення розмов залежить від наявних метаданих маршруту сеансу Gateway
- немає загального push-протоколу, окрім адаптера, специфічного для Claude
- поки що немає інструментів редагування повідомлень або реакцій
- транспорт HTTP/SSE/streamable-http підключається до одного віддаленого сервера; мультиплексованого upstream поки що немає
- `permissions_list_open` включає лише погодження, які спостерігалися, поки міст
був підключений

181
docs/uk/cli/memory.md Normal file
View File

@ -0,0 +1,181 @@
---
read_when:
- Ви хочете індексувати або шукати семантичну пам’ять
- Ви налагоджуєте доступність пам’яті або індексування
- Ви хочете перенести викликану короткострокову пам’ять до `MEMORY.md`
summary: Довідник CLI для `openclaw memory` (status/index/search/promote/promote-explain/rem-harness)
title: пам’ять
x-i18n:
generated_at: "2026-04-23T06:18:14Z"
model: gpt-5.4
provider: openai
source_hash: c9ea7aa2858b18cc6daa6531c45c9e838015b84de1c7a1b88716f2b1323e419c
source_path: cli/memory.md
workflow: 15
---
# `openclaw memory`
Керуйте індексуванням і пошуком семантичної пам’яті.
Надається активним plugin пам’яті (типово: `memory-core`; установіть `plugins.slots.memory = "none"`, щоб вимкнути).
Пов’язане:
- Концепція пам’яті: [Memory](/uk/concepts/memory)
- Вікі пам’яті: [Memory Wiki](/uk/plugins/memory-wiki)
- Wiki CLI: [wiki](/uk/cli/wiki)
- Plugins: [Plugins](/uk/tools/plugin)
## Приклади
```bash
openclaw memory status
openclaw memory status --deep
openclaw memory status --fix
openclaw memory index --force
openclaw memory search "meeting notes"
openclaw memory search --query "deployment" --max-results 20
openclaw memory promote --limit 10 --min-score 0.75
openclaw memory promote --apply
openclaw memory promote --json --min-recall-count 0 --min-unique-queries 0
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
openclaw memory rem-harness
openclaw memory rem-harness --json
openclaw memory status --json
openclaw memory status --deep --index
openclaw memory status --deep --index --verbose
openclaw memory status --agent main
openclaw memory index --agent main --verbose
```
## Параметри
`memory status` і `memory index`:
- `--agent <id>`: обмежити одним агентом. Без цього ці команди виконуються для кожного налаштованого агента; якщо список агентів не налаштовано, вони повертаються до типового агента.
- `--verbose`: виводити докладні журнали під час перевірок та індексування.
`memory status`:
- `--deep`: перевірити доступність vector + embedding.
- `--index`: виконати повторне індексування, якщо сховище забруднене (має на увазі `--deep`).
- `--fix`: виправити застарілі блокування recall і нормалізувати метадані перенесення.
- `--json`: вивести JSON.
`memory index`:
- `--force`: примусово виконати повне повторне індексування.
`memory search`:
- Вхід запиту: передайте або позиційний `[query]`, або `--query <text>`.
- Якщо передано обидва, перемагає `--query`.
- Якщо не передано жодного, команда завершується з помилкою.
- `--agent <id>`: обмежити одним агентом (типово: типовий агент).
- `--max-results <n>`: обмежити кількість повернених результатів.
- `--min-score <n>`: відфільтрувати збіги з низькою оцінкою.
- `--json`: вивести результати JSON.
`memory promote`:
Попередній перегляд і застосування перенесення короткострокової пам’яті.
```bash
openclaw memory promote [--apply] [--limit <n>] [--include-promoted]
```
- `--apply` -- записати перенесення до `MEMORY.md` (типово: лише попередній перегляд).
- `--limit <n>` -- обмежити кількість показаних кандидатів.
- `--include-promoted` -- включити записи, уже перенесені в попередніх циклах.
Повні параметри:
- Ранжує короткострокових кандидатів із `memory/YYYY-MM-DD.md` за допомогою зважених сигналів перенесення (`frequency`, `relevance`, `query diversity`, `recency`, `consolidation`, `conceptual richness`).
- Використовує короткострокові сигнали як із recall пам’яті, так і з щоденних проходів ingestion, а також легкі сигнали підсилення фаз light/REM.
- Коли Dreaming увімкнено, `memory-core` автоматично керує одним завданням Cron, яке виконує повний цикл (`light -> REM -> deep`) у фоновому режимі (ручний `openclaw cron add` не потрібен).
- `--agent <id>`: обмежити одним агентом (типово: типовий агент).
- `--limit <n>`: максимальна кількість кандидатів для повернення/застосування.
- `--min-score <n>`: мінімальна зважена оцінка перенесення.
- `--min-recall-count <n>`: мінімальна кількість recall, потрібна для кандидата.
- `--min-unique-queries <n>`: мінімальна кількість різних запитів, потрібна для кандидата.
- `--apply`: додати вибраних кандидатів до `MEMORY.md` і позначити їх як перенесені.
- `--include-promoted`: включити у вивід уже перенесених кандидатів.
- `--json`: вивести JSON.
`memory promote-explain`:
Пояснити конкретного кандидата на перенесення та розклад його оцінки.
```bash
openclaw memory promote-explain <selector> [--agent <id>] [--include-promoted] [--json]
```
- `<selector>`: ключ кандидата, фрагмент шляху або фрагмент уривка для пошуку.
- `--agent <id>`: обмежити одним агентом (типово: типовий агент).
- `--include-promoted`: включити вже перенесених кандидатів.
- `--json`: вивести JSON.
`memory rem-harness`:
Попередній перегляд REM reflections, candidate truths і результату deep-перенесення без будь-якого запису.
```bash
openclaw memory rem-harness [--agent <id>] [--include-promoted] [--json]
```
- `--agent <id>`: обмежити одним агентом (типово: типовий агент).
- `--include-promoted`: включити вже перенесених deep-кандидатів.
- `--json`: вивести JSON.
## Dreaming
Dreaming — це фонова система консолідації пам’яті з трьома взаємодоповнювальними
фазами: **light** (сортування/підготовка короткострокового матеріалу), **deep** (перенесення
сталих фактів до `MEMORY.md`) і **REM** (рефлексія та виявлення тем).
- Увімкнення через `plugins.entries.memory-core.config.dreaming.enabled: true`.
- Перемикання з чату через `/dreaming on|off` (або перевірка через `/dreaming status`).
- Dreaming працює за одним керованим розкладом циклу (`dreaming.frequency`) і виконує фази в порядку: light, REM, deep.
- Лише фаза deep записує сталу пам’ять до `MEMORY.md`.
- Людинозрозумілий вивід фаз і записи щоденника записуються до `DREAMS.md` (або наявного `dreams.md`), з необов’язковими звітами по фазах у `memory/dreaming/<phase>/YYYY-MM-DD.md`.
- Ранжування використовує зважені сигнали: частота recall, релевантність отримання, різноманітність запитів, часова свіжість, міжденна консолідація та похідне концептуальне багатство.
- Перенесення повторно читає live-щоденну нотатку перед записом до `MEMORY.md`, тож відредаговані або видалені короткострокові уривки не будуть перенесені зі застарілих знімків сховища recall.
- Заплановані й ручні запуски `memory promote` використовують однакові типові параметри фази deep, якщо ви не передасте перевизначення порогів через CLI.
- Автоматичні запуски розподіляються між налаштованими робочими просторами пам’яті.
Типовий розклад:
- **Частота циклу**: `dreaming.frequency = 0 3 * * *`
- **Пороги deep**: `minScore=0.8`, `minRecallCount=3`, `minUniqueQueries=3`, `recencyHalfLifeDays=14`, `maxAgeDays=30`
Приклад:
```json
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
```
Примітки:
- `memory index --verbose` виводить подробиці по фазах (provider, model, sources, активність пакетів).
- `memory status` включає будь-які додаткові шляхи, налаштовані через `memorySearch.extraPaths`.
- Якщо фактично активні поля remote API key для пам’яті налаштовано як SecretRef, команда визначає ці значення з активного знімка Gateway. Якщо Gateway недоступний, команда одразу завершується з помилкою.
- Примітка про розбіжність версій Gateway: цей шлях команди потребує Gateway, який підтримує `secrets.resolve`; старіші Gateway повертають помилку unknown-method.
- Налаштовуйте частоту запланованих циклів через `dreaming.frequency`. Політика deep-перенесення в іншому разі є внутрішньою; використовуйте прапорці CLI в `memory promote`, коли вам потрібні разові ручні перевизначення.
- `memory rem-harness --path <file-or-dir> --grounded` показує попередній перегляд grounded `What Happened`, `Reflections` і `Possible Lasting Updates` з історичних щоденних нотаток без будь-якого запису.
- `memory rem-backfill --path <file-or-dir>` записує оборотні grounded-записи щоденника до `DREAMS.md` для перегляду в UI.
- `memory rem-backfill --path <file-or-dir> --stage-short-term` також додає grounded-сталі кандидати до live-сховища короткострокового перенесення, щоб звичайна фаза deep могла їх ранжувати.
- `memory rem-backfill --rollback` видаляє раніше записані grounded-записи щоденника, а `memory rem-backfill --rollback-short-term` видаляє раніше підготовлених grounded-кандидатів короткострокової пам’яті.
- Див. [Dreaming](/uk/concepts/dreaming) для повного опису фаз і довідника з конфігурації.

305
docs/uk/cli/message.md Normal file
View File

@ -0,0 +1,305 @@
---
read_when:
- Додавання або змінення дій CLI для повідомлень
- Зміна поведінки вихідного каналу
summary: Довідка CLI для `openclaw message` (надсилання + дії каналу)
title: повідомлення
x-i18n:
generated_at: "2026-04-23T06:18:24Z"
model: gpt-5.4
provider: openai
source_hash: 37b6f40b435326aee186dad1e6e060c24f2ef6d44b07fd85d4ce5cfd7f350b91
source_path: cli/message.md
workflow: 15
---
# `openclaw message`
Єдина вихідна команда для надсилання повідомлень і дій каналу
(Discord/Google Chat/iMessage/Matrix/Mattermost (Plugin)/Microsoft Teams/Signal/Slack/Telegram/WhatsApp).
## Використання
```
openclaw message <subcommand> [flags]
```
Вибір каналу:
- `--channel` обов’язковий, якщо налаштовано більше ніж один канал.
- Якщо налаштовано рівно один канал, він стає типовим.
- Значення: `discord|googlechat|imessage|matrix|mattermost|msteams|signal|slack|telegram|whatsapp` (Mattermost потребує Plugin)
Формати цілі (`--target`):
- WhatsApp: E.164 або JID групи
- Telegram: id чату або `@username`
- Discord: `channel:<id>` або `user:<id>` (або згадка `<@id>`; необроблені числові id трактуються як канали)
- Google Chat: `spaces/<spaceId>` або `users/<userId>`
- Slack: `channel:<id>` або `user:<id>` (необроблений id каналу приймається)
- Mattermost (Plugin): `channel:<id>`, `user:<id>` або `@username` (id без префікса трактуються як канали)
- Signal: `+E.164`, `group:<id>`, `signal:+E.164`, `signal:group:<id>` або `username:<name>`/`u:<name>`
- iMessage: handle, `chat_id:<id>`, `chat_guid:<guid>` або `chat_identifier:<id>`
- Matrix: `@user:server`, `!room:server` або `#alias:server`
- Microsoft Teams: id розмови (`19:...@thread.tacv2`) або `conversation:<id>` чи `user:<aad-object-id>`
Пошук за назвою:
- Для підтримуваних провайдерів (Discord/Slack/тощо) назви каналів, як-от `Help` або `#help`, розв’язуються через кеш каталогу.
- Якщо в кеші немає збігу, OpenClaw спробує виконати live-пошук у каталозі, якщо провайдер це підтримує.
## Загальні прапорці
- `--channel <name>`
- `--account <id>`
- `--target <dest>` (цільовий канал або користувач для send/poll/read/тощо)
- `--targets <name>` (повторюється; лише для broadcast)
- `--json`
- `--dry-run`
- `--verbose`
## Поведінка SecretRef
- `openclaw message` розв’язує підтримувані SecretRef каналу перед виконанням вибраної дії.
- Розв’язання, коли це можливо, обмежується ціллю активної дії:
- на рівні каналу, коли задано `--channel` (або його виведено з цілей із префіксом на кшталт `discord:...`)
- на рівні облікового запису, коли задано `--account` (глобальні поверхні каналу + поверхні вибраного облікового запису)
- коли `--account` пропущено, OpenClaw не примушує область SecretRef облікового запису `default`
- Нерозв’язані SecretRef у не пов’язаних каналах не блокують цільову дію повідомлення.
- Якщо SecretRef вибраного каналу/облікового запису не розв’язано, команда для цієї дії завершується за принципом fail closed.
## Дії
### Ядро
- `send`
- Канали: WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (Plugin)/Signal/iMessage/Matrix/Microsoft Teams
- Обов’язково: `--target`, а також `--message`, `--media` або `--presentation`
- Необов’язково: `--media`, `--presentation`, `--delivery`, `--pin`, `--reply-to`, `--thread-id`, `--gif-playback`, `--force-document`, `--silent`
- Спільні корисні навантаження presentation: `--presentation` надсилає семантичні блоки (`text`, `context`, `divider`, `buttons`, `select`), які ядро рендерить через оголошені можливості вибраного каналу. Див. [Презентація повідомлень](/uk/plugins/message-presentation).
- Узагальнені налаштування доставки: `--delivery` приймає підказки доставки, як-от `{ "pin": true }`; `--pin` — це скорочення для закріпленої доставки, коли канал це підтримує.
- Лише Telegram: `--force-document` (надсилати зображення та GIF як документи, щоб уникнути стиснення Telegram)
- Лише Telegram: `--thread-id` (id теми форуму)
- Лише Slack: `--thread-id` (timestamp потоку; `--reply-to` використовує те саме поле)
- Telegram + Discord: `--silent`
- Лише WhatsApp: `--gif-playback`
- `poll`
- Канали: WhatsApp/Telegram/Discord/Matrix/Microsoft Teams
- Обов’язково: `--target`, `--poll-question`, `--poll-option` (повторюється)
- Необов’язково: `--poll-multi`
- Лише Discord: `--poll-duration-hours`, `--silent`, `--message`
- Лише Telegram: `--poll-duration-seconds` (5-600), `--silent`, `--poll-anonymous` / `--poll-public`, `--thread-id`
- `react`
- Канали: Discord/Google Chat/Slack/Telegram/WhatsApp/Signal/Matrix
- Обов’язково: `--message-id`, `--target`
- Необов’язково: `--emoji`, `--remove`, `--participant`, `--from-me`, `--target-author`, `--target-author-uuid`
- Примітка: `--remove` потребує `--emoji` (пропустіть `--emoji`, щоб очистити власні реакції там, де це підтримується; див. /tools/reactions)
- Лише WhatsApp: `--participant`, `--from-me`
- Реакції в групах Signal: обов’язково `--target-author` або `--target-author-uuid`
- `reactions`
- Канали: Discord/Google Chat/Slack/Matrix
- Обов’язково: `--message-id`, `--target`
- Необов’язково: `--limit`
- `read`
- Канали: Discord/Slack/Matrix
- Обов’язково: `--target`
- Необов’язково: `--limit`, `--before`, `--after`
- Лише Discord: `--around`
- `edit`
- Канали: Discord/Slack/Matrix
- Обов’язково: `--message-id`, `--message`, `--target`
- `delete`
- Канали: Discord/Slack/Telegram/Matrix
- Обов’язково: `--message-id`, `--target`
- `pin` / `unpin`
- Канали: Discord/Slack/Matrix
- Обов’язково: `--message-id`, `--target`
- `pins` (список)
- Канали: Discord/Slack/Matrix
- Обов’язково: `--target`
- `permissions`
- Канали: Discord/Matrix
- Обов’язково: `--target`
- Лише Matrix: доступно, коли ввімкнено шифрування Matrix і дозволено дії верифікації
- `search`
- Канали: Discord
- Обов’язково: `--guild-id`, `--query`
- Необов’язково: `--channel-id`, `--channel-ids` (повторюється), `--author-id`, `--author-ids` (повторюється), `--limit`
### Потоки
- `thread create`
- Канали: Discord
- Обов’язково: `--thread-name`, `--target` (id каналу)
- Необов’язково: `--message-id`, `--message`, `--auto-archive-min`
- `thread list`
- Канали: Discord
- Обов’язково: `--guild-id`
- Необов’язково: `--channel-id`, `--include-archived`, `--before`, `--limit`
- `thread reply`
- Канали: Discord
- Обов’язково: `--target` (id потоку), `--message`
- Необов’язково: `--media`, `--reply-to`
### Emoji
- `emoji list`
- Discord: `--guild-id`
- Slack: без додаткових прапорців
- `emoji upload`
- Канали: Discord
- Обов’язково: `--guild-id`, `--emoji-name`, `--media`
- Необов’язково: `--role-ids` (повторюється)
### Наліпки
- `sticker send`
- Канали: Discord
- Обов’язково: `--target`, `--sticker-id` (повторюється)
- Необов’язково: `--message`
- `sticker upload`
- Канали: Discord
- Обов’язково: `--guild-id`, `--sticker-name`, `--sticker-desc`, `--sticker-tags`, `--media`
### Ролі / Канали / Учасники / Голос
- `role info` (Discord): `--guild-id`
- `role add` / `role remove` (Discord): `--guild-id`, `--user-id`, `--role-id`
- `channel info` (Discord): `--target`
- `channel list` (Discord): `--guild-id`
- `member info` (Discord/Slack): `--user-id` (+ `--guild-id` для Discord)
- `voice status` (Discord): `--guild-id`, `--user-id`
### Події
- `event list` (Discord): `--guild-id`
- `event create` (Discord): `--guild-id`, `--event-name`, `--start-time`
- Необов’язково: `--end-time`, `--desc`, `--channel-id`, `--location`, `--event-type`
### Модерація (Discord)
- `timeout`: `--guild-id`, `--user-id` (необов’язково `--duration-min` або `--until`; пропустіть обидва, щоб очистити timeout)
- `kick`: `--guild-id`, `--user-id` (+ `--reason`)
- `ban`: `--guild-id`, `--user-id` (+ `--delete-days`, `--reason`)
- `timeout` також підтримує `--reason`
### Broadcast
- `broadcast`
- Канали: будь-який налаштований канал; використовуйте `--channel all`, щоб націлитися на всіх провайдерів
- Обов’язково: `--targets <target...>`
- Необов’язково: `--message`, `--media`, `--dry-run`
## Приклади
Надіслати відповідь у Discord:
```
openclaw message send --channel discord \
--target channel:123 --message "hi" --reply-to 456
```
Надіслати повідомлення із семантичними кнопками:
```
openclaw message send --channel discord \
--target channel:123 --message "Choose:" \
--presentation '{"blocks":[{"type":"buttons","buttons":[{"label":"Approve","value":"approve","style":"success"},{"label":"Decline","value":"decline","style":"danger"}]}]}'
```
Ядро рендерить те саме корисне навантаження `presentation` у компоненти Discord, блоки Slack, вбудовані кнопки Telegram, props Mattermost або картки Teams/Feishu залежно від можливостей каналу. Повний контракт і правила резервного відображення див. у [Презентація повідомлень](/uk/plugins/message-presentation).
Надіслати розширене корисне навантаження presentation:
```bash
openclaw message send --channel googlechat --target spaces/AAA... \
--message "Choose:" \
--presentation '{"title":"Deploy approval","tone":"warning","blocks":[{"type":"text","text":"Choose a path"},{"type":"buttons","buttons":[{"label":"Approve","value":"approve"},{"label":"Decline","value":"decline"}]}]}'
```
Створити опитування в Discord:
```
openclaw message poll --channel discord \
--target channel:123 \
--poll-question "Snack?" \
--poll-option Pizza --poll-option Sushi \
--poll-multi --poll-duration-hours 48
```
Створити опитування в Telegram (автозакриття через 2 хвилини):
```
openclaw message poll --channel telegram \
--target @mychat \
--poll-question "Lunch?" \
--poll-option Pizza --poll-option Sushi \
--poll-duration-seconds 120 --silent
```
Надіслати проактивне повідомлення в Teams:
```
openclaw message send --channel msteams \
--target conversation:19:abc@thread.tacv2 --message "hi"
```
Створити опитування в Teams:
```
openclaw message poll --channel msteams \
--target conversation:19:abc@thread.tacv2 \
--poll-question "Lunch?" \
--poll-option Pizza --poll-option Sushi
```
Додати реакцію в Slack:
```
openclaw message react --channel slack \
--target C123 --message-id 456 --emoji "✅"
```
Додати реакцію в групі Signal:
```
openclaw message react --channel signal \
--target signal:group:abc123 --message-id 1737630212345 \
--emoji "✅" --target-author-uuid 123e4567-e89b-12d3-a456-426614174000
```
Надіслати вбудовані кнопки Telegram через узагальнену presentation:
```
openclaw message send --channel telegram --target @mychat --message "Choose:" \
--presentation '{"blocks":[{"type":"buttons","buttons":[{"label":"Yes","value":"cmd:yes"},{"label":"No","value":"cmd:no"}]}]}'
```
Надіслати картку Teams через узагальнену presentation:
```bash
openclaw message send --channel msteams \
--target conversation:19:abc@thread.tacv2 \
--presentation '{"title":"Status update","blocks":[{"type":"text","text":"Build completed"}]}'
```
Надіслати зображення Telegram як документ, щоб уникнути стиснення:
```bash
openclaw message send --channel telegram --target @mychat \
--media ./diagram.png --force-document
```

143
docs/uk/cli/models.md Normal file
View File

@ -0,0 +1,143 @@
---
read_when:
- Ви хочете змінити типові моделі або переглянути стан auth провайдера
- Ви хочете просканувати доступні моделі/провайдерів і налагодити профілі auth провайдера
summary: Довідка CLI для `openclaw models` (status/list/set/scan, псевдоніми, резервні варіанти, auth)
title: моделі
x-i18n:
generated_at: "2026-04-23T06:18:27Z"
model: gpt-5.4
provider: openai
source_hash: 5b057688266bcb72fc9719837ae6a026bed9849ff04577949467363d83b6d069
source_path: cli/models.md
workflow: 15
---
# `openclaw models`
Виявлення, сканування та налаштування моделей (типова модель, резервні варіанти, профілі auth).
Пов’язано:
- Провайдери + моделі: [Моделі](/uk/providers/models)
- Налаштування auth провайдера: [Початок роботи](/uk/start/getting-started)
## Поширені команди
```bash
openclaw models status
openclaw models list
openclaw models set <model-or-alias>
openclaw models scan
```
`openclaw models status` показує визначені типові/резервні варіанти разом з оглядом auth.
Коли доступні знімки використання провайдера, розділ стану OAuth/API key також містить
вікна використання провайдера та знімки квот.
Поточні провайдери з вікнами використання: Anthropic, GitHub Copilot, Gemini CLI, OpenAI
Codex, MiniMax, Xiaomi і z.ai. Auth використання надходить із хуків,
специфічних для провайдера, коли вони доступні; інакше OpenClaw повертається до зіставлення
облікових даних OAuth/API key з профілів auth, env або config.
У виводі `--json` `auth.providers` — це огляд провайдера з урахуванням
env/config/store, тоді як `auth.oauth` — це лише стан профілів сховища auth.
Додайте `--probe`, щоб виконати живі перевірки auth для кожного налаштованого профілю провайдера.
Перевірки є реальними запитами (можуть витрачати токени й спричиняти обмеження частоти).
Використовуйте `--agent <id>`, щоб перевірити стан моделі/auth для налаштованого агента. Якщо параметр не вказано,
команда використовує `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR`, якщо їх задано, інакше —
типовий налаштований агент.
Рядки перевірок можуть походити з профілів auth, облікових даних env або `models.json`.
Примітки:
- `models set <model-or-alias>` приймає `provider/model` або псевдонім.
- `models list --all` включає рядки статичного каталогу, які належать bundled-провайдерам,
навіть якщо ви ще не пройшли автентифікацію в цього провайдера. Такі рядки все одно
показуються як недоступні, доки не буде налаштовано відповідний auth.
- Посилання на моделі аналізуються розділенням за **першим** символом `/`. Якщо ID моделі містить `/` (у стилі OpenRouter), додайте префікс провайдера (приклад: `openrouter/moonshotai/kimi-k2`).
- Якщо ви не вказали провайдера, OpenClaw спочатку визначає введення як псевдонім, потім —
як унікальний збіг налаштованого провайдера для цього точного id моделі, і лише після цього
повертається до типового налаштованого провайдера з попередженням про застарілість.
Якщо цей провайдер більше не надає налаштовану типову модель, OpenClaw
повертається до першого налаштованого провайдера/моделі замість показу
застарілого типового значення для видаленого провайдера.
- `models status` може показувати `marker(<value>)` у виводі auth для незасекречених заповнювачів (наприклад `OPENAI_API_KEY`, `secretref-managed`, `minimax-oauth`, `oauth:chutes`, `ollama-local`) замість маскування їх як секретів.
### `models status`
Параметри:
- `--json`
- `--plain`
- `--check` (код виходу 1=прострочено/відсутнє, 2=скоро спливає)
- `--probe` (жива перевірка налаштованих профілів auth)
- `--probe-provider <name>` (перевірити один провайдер)
- `--probe-profile <id>` (повторювані або перелічені через кому id профілів)
- `--probe-timeout <ms>`
- `--probe-concurrency <n>`
- `--probe-max-tokens <n>`
- `--agent <id>` (id налаштованого агента; перевизначає `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR`)
Категорії станів перевірок:
- `ok`
- `auth`
- `rate_limit`
- `billing`
- `timeout`
- `format`
- `unknown`
- `no_model`
Варіанти detail/reason-code перевірок, яких варто очікувати:
- `excluded_by_auth_order`: збережений профіль існує, але явний
`auth.order.<provider>` його пропустив, тому перевірка повідомляє про виключення замість
спроби використання.
- `missing_credential`, `invalid_expires`, `expired`, `unresolved_ref`:
профіль наявний, але не є придатним/визначуваним.
- `no_model`: auth провайдера існує, але OpenClaw не зміг визначити придатний
кандидат моделі для перевірки для цього провайдера.
## Псевдоніми + резервні варіанти
```bash
openclaw models aliases list
openclaw models fallbacks list
```
## Профілі auth
```bash
openclaw models auth add
openclaw models auth login --provider <id>
openclaw models auth setup-token --provider <id>
openclaw models auth paste-token
```
`models auth add` — це інтерактивний помічник auth. Він може запускати потік auth провайдера
(OAuth/API key) або провести вас через ручне вставлення токена, залежно від
обраного провайдера.
`models auth login` запускає потік auth plugin провайдера (OAuth/API key). Використовуйте
`openclaw plugins list`, щоб побачити, які провайдери встановлено.
Приклади:
```bash
openclaw models auth login --provider openai-codex --set-default
```
Примітки:
- `setup-token` і `paste-token` залишаються загальними командами для токенів для провайдерів,
які надають методи auth через токен.
- `setup-token` потребує інтерактивного TTY і запускає метод токен-auth провайдера
(типово — метод `setup-token` цього провайдера, якщо він його надає).
- `paste-token` приймає рядок токена, створений деінде або автоматизацією.
- `paste-token` вимагає `--provider`, запитує значення токена та записує
його до типового id профілю `<provider>:manual`, якщо ви не передали
`--profile-id`.
- `paste-token --expires-in <duration>` зберігає абсолютний час завершення дії токена з
відносної тривалості, наприклад `365d` або `12h`.
- Примітка щодо Anthropic: співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw вважає повторне використання Claude CLI та використання `claude -p` дозволеними для цієї інтеграції, якщо Anthropic не опублікує нову політику.
- `setup-token` / `paste-token` для Anthropic залишаються доступними як підтримуваний шлях токена OpenClaw, але тепер OpenClaw віддає перевагу повторному використанню Claude CLI і `claude -p`, коли це можливо.

135
docs/uk/cli/node.md Normal file
View File

@ -0,0 +1,135 @@
---
read_when:
- Запуск headless-хоста node
- Сполучення node не на macOS для system.run
summary: Довідка CLI для `openclaw node` (headless-хост node)
title: node
x-i18n:
generated_at: "2026-04-23T06:18:36Z"
model: gpt-5.4
provider: openai
source_hash: 6123b33ec46f2b85f2c815947435ac91bbe84456165ff0e504453356da55b46d
source_path: cli/node.md
workflow: 15
---
# `openclaw node`
Запустити **headless-хост node**, який підключається до WebSocket Gateway і надає
`system.run` / `system.which` на цій машині.
## Навіщо використовувати хост node?
Використовуйте хост node, коли хочете, щоб агенти **виконували команди на інших машинах** у вашій мережі без установлення повноцінного допоміжного застосунку macOS на цих машинах.
Поширені сценарії використання:
- Виконання команд на віддалених Linux/Windows-машинах (сервери збірки, лабораторні машини, NAS).
- Залишити exec **ізольованим** на gateway, але делегувати дозволені запуски іншим хостам.
- Надати легку, headless-ціль виконання для автоматизації або CI-вузлів.
Виконання, як і раніше, захищене **погодженнями exec** та списками дозволів для кожного агента на хості node, тож ви можете зберігати доступ до команд обмеженим і явним.
## Проксі браузера (нульова конфігурація)
Хости node автоматично оголошують проксі браузера, якщо `browser.enabled` не вимкнено на node. Це дає змогу агенту використовувати автоматизацію браузера на цій node без додаткового налаштування.
Типово проксі надає звичайну поверхню профілів браузера цієї node. Якщо ви встановите `nodeHost.browserProxy.allowProfiles`, проксі стане обмежувальним:
звернення до профілів, яких немає в allowlist, буде відхилено, а маршрути створення/видалення постійних профілів через проксі буде заблоковано.
За потреби вимкніть його на node:
```json5
{
nodeHost: {
browserProxy: {
enabled: false,
},
},
}
```
## Запуск (передній план)
```bash
openclaw node run --host <gateway-host> --port 18789
```
Параметри:
- `--host <host>`: хост WebSocket Gateway (типово: `127.0.0.1`)
- `--port <port>`: порт WebSocket Gateway (типово: `18789`)
- `--tls`: використовувати TLS для з’єднання з gateway
- `--tls-fingerprint <sha256>`: очікуваний відбиток сертифіката TLS (sha256)
- `--node-id <id>`: перевизначити id node (очищає токен pairing)
- `--display-name <name>`: перевизначити відображуване ім’я node
## Автентифікація Gateway для хоста node
`openclaw node run` і `openclaw node install` визначають автентифікацію gateway із config/env (у командах node немає прапорців `--token`/`--password`):
- Спочатку перевіряються `OPENCLAW_GATEWAY_TOKEN` / `OPENCLAW_GATEWAY_PASSWORD`.
- Потім використовується резервний варіант із локальної конфігурації: `gateway.auth.token` / `gateway.auth.password`.
- У локальному режимі хост node навмисно не успадковує `gateway.remote.token` / `gateway.remote.password`.
- Якщо `gateway.auth.token` / `gateway.auth.password` явно налаштовано через SecretRef і не розв’язано, визначення автентифікації node завершується за принципом fail closed (без маскування резервним віддаленим варіантом).
- У `gateway.mode=remote` поля віддаленого клієнта (`gateway.remote.token` / `gateway.remote.password`) також можуть використовуватися відповідно до правил пріоритету для віддаленого режиму.
- Визначення автентифікації хоста node враховує лише змінні середовища `OPENCLAW_GATEWAY_*`.
## Сервіс (фоновий режим)
Установити headless-хост node як сервіс користувача.
```bash
openclaw node install --host <gateway-host> --port 18789
```
Параметри:
- `--host <host>`: хост WebSocket Gateway (типово: `127.0.0.1`)
- `--port <port>`: порт WebSocket Gateway (типово: `18789`)
- `--tls`: використовувати TLS для з’єднання з gateway
- `--tls-fingerprint <sha256>`: очікуваний відбиток сертифіката TLS (sha256)
- `--node-id <id>`: перевизначити id node (очищає токен pairing)
- `--display-name <name>`: перевизначити відображуване ім’я node
- `--runtime <runtime>`: runtime сервісу (`node` або `bun`)
- `--force`: перевстановити/перезаписати, якщо вже встановлено
Керування сервісом:
```bash
openclaw node status
openclaw node stop
openclaw node restart
openclaw node uninstall
```
Використовуйте `openclaw node run` для хоста node в передньому плані (без сервісу).
Команди сервісу приймають `--json` для машинозчитуваного виводу.
## Pairing
Перше підключення створює запит на pairing пристрою в стані очікування (`role: node`) на Gateway.
Погодьте його через:
```bash
openclaw devices list
openclaw devices approve <requestId>
```
Якщо node повторює спробу pairing зі зміненими даними автентифікації (role/scopes/public key),
попередній запит у стані очікування замінюється, і створюється новий `requestId`.
Перед погодженням знову виконайте `openclaw devices list`.
Хост node зберігає id node, токен, відображуване ім’я та інформацію про з’єднання з gateway у
`~/.openclaw/node.json`.
## Погодження exec
`system.run` обмежується локальними погодженнями exec:
- `~/.openclaw/exec-approvals.json`
- [Погодження exec](/uk/tools/exec-approvals)
- `openclaw approvals --node <id|name|ip>` (редагування з Gateway)
Для дозволеного асинхронного exec на node OpenClaw готує канонічний `systemRunPlan` перед запитом погодження. Пізніше переспрямування погодженого `system.run` повторно використовує цей збережений план, тому зміни до полів command/cwd/session після створення запиту на погодження відхиляються замість того, щоб змінювати те, що виконує node.

73
docs/uk/cli/nodes.md Normal file
View File

@ -0,0 +1,73 @@
---
read_when:
- Ви керуєте сполученими вузлами (cameras, screen, canvas)
- Вам потрібно схвалити запити або викликати команди вузла
summary: Довідка CLI для `openclaw nodes` (статус, сполучення, виклик, camera/canvas/screen)
title: вузли
x-i18n:
generated_at: "2026-04-23T06:18:48Z"
model: gpt-5.4
provider: openai
source_hash: 1ce3095591c4623ad18e3eca8d8083e5c10266fbf94afea2d025f0ba8093a175
source_path: cli/nodes.md
workflow: 15
---
# `openclaw nodes`
Керуйте сполученими вузлами (пристроями) і викликайте можливості вузлів.
Пов’язане:
- Огляд вузлів: [Вузли](/uk/nodes)
- Камера: [Вузли камери](/uk/nodes/camera)
- Зображення: [Вузли зображень](/uk/nodes/images)
Поширені параметри:
- `--url`, `--token`, `--timeout`, `--json`
## Поширені команди
```bash
openclaw nodes list
openclaw nodes list --connected
openclaw nodes list --last-connected 24h
openclaw nodes pending
openclaw nodes approve <requestId>
openclaw nodes reject <requestId>
openclaw nodes rename --node <id|name|ip> --name <displayName>
openclaw nodes status
openclaw nodes status --connected
openclaw nodes status --last-connected 24h
```
`nodes list` виводить таблиці очікуваних запитів і сполучених вузлів. Рядки сполучених вузлів містять час від останнього підключення (Last Connect).
Використовуйте `--connected`, щоб показувати лише вузли, підключені зараз. Використовуйте `--last-connected <duration>`, щоб
відфільтрувати вузли, які підключалися протягом заданого проміжку часу (наприклад, `24h`, `7d`).
Примітка щодо схвалення:
- `openclaw nodes pending` потребує лише області дії сполучення.
- `openclaw nodes approve <requestId>` успадковує додаткові вимоги до областей дії з
очікуваного запиту:
- запит без команд: лише сполучення
- команди вузла без exec: сполучення + запис
- `system.run` / `system.run.prepare` / `system.which`: сполучення + адміністрування
## Виклик
```bash
openclaw nodes invoke --node <id|name|ip> --command <command> --params <json>
```
Прапорці виклику:
- `--params <json>`: рядок об’єкта JSON (за замовчуванням `{}`).
- `--invoke-timeout <ms>`: тайм-аут виклику вузла (за замовчуванням `15000`).
- `--idempotency-key <key>`: необов’язковий ключ ідемпотентності.
- `system.run` і `system.run.prepare` тут заблоковані; для виконання в оболонці використовуйте інструмент `exec` з `host=node`.
Для виконання команд оболонки на вузлі використовуйте інструмент `exec` з `host=node` замість `openclaw nodes run`.
CLI `nodes` тепер зосереджений на можливостях: прямий RPC через `nodes invoke`, а також сполучення, camera,
screen, location, canvas і сповіщення.

189
docs/uk/cli/onboard.md Normal file
View File

@ -0,0 +1,189 @@
---
read_when:
- Ви хочете кероване налаштування Gateway, робочого простору, автентифікації, каналів і Skills
summary: Довідник CLI для `openclaw onboard` (інтерактивне початкове налаштування)
title: початкове налаштування
x-i18n:
generated_at: "2026-04-23T06:18:45Z"
model: gpt-5.4
provider: openai
source_hash: 348ee9cbc14ff78b588f10297e728473668a72f9f16be385f25022bf5108340c
source_path: cli/onboard.md
workflow: 15
---
# `openclaw onboard`
Інтерактивне початкове налаштування для локального або віддаленого налаштування Gateway.
## Пов’язані посібники
- Центр початкового налаштування CLI: [Onboarding (CLI)](/uk/start/wizard)
- Огляд початкового налаштування: [Onboarding Overview](/uk/start/onboarding-overview)
- Довідник CLI початкового налаштування: [CLI Setup Reference](/uk/start/wizard-cli-reference)
- Автоматизація CLI: [CLI Automation](/uk/start/wizard-cli-automation)
- Початкове налаштування macOS: [Onboarding (macOS App)](/uk/start/onboarding)
## Приклади
```bash
openclaw onboard
openclaw onboard --flow quickstart
openclaw onboard --flow manual
openclaw onboard --mode remote --remote-url wss://gateway-host:18789
```
Для plaintext-цілей `ws://` у приватній мережі (лише для довірених мереж) установіть
`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` у середовищі процесу початкового налаштування.
Неінтерактивний custom provider:
```bash
openclaw onboard --non-interactive \
--auth-choice custom-api-key \
--custom-base-url "https://llm.example.com/v1" \
--custom-model-id "foo-large" \
--custom-api-key "$CUSTOM_API_KEY" \
--secret-input-mode plaintext \
--custom-compatibility openai
```
`--custom-api-key` є необов’язковим у неінтерактивному режимі. Якщо його не вказано, початкове налаштування перевіряє `CUSTOM_API_KEY`.
LM Studio також підтримує прапорець ключа, специфічний для провайдера, у неінтерактивному режимі:
```bash
openclaw onboard --non-interactive \
--auth-choice lmstudio \
--custom-base-url "http://localhost:1234/v1" \
--custom-model-id "qwen/qwen3.5-9b" \
--lmstudio-api-key "$LM_API_TOKEN" \
--accept-risk
```
Неінтерактивний Ollama:
```bash
openclaw onboard --non-interactive \
--auth-choice ollama \
--custom-base-url "http://ollama-host:11434" \
--custom-model-id "qwen3.5:27b" \
--accept-risk
```
`--custom-base-url` типово дорівнює `http://127.0.0.1:11434`. `--custom-model-id` є необов’язковим; якщо його не вказано, початкове налаштування використовує типові значення, запропоновані Ollama. Cloud model ID, такі як `kimi-k2.5:cloud`, також тут працюють.
Зберігайте ключі провайдерів як refs замість plaintext:
```bash
openclaw onboard --non-interactive \
--auth-choice openai-api-key \
--secret-input-mode ref \
--accept-risk
```
З `--secret-input-mode ref` початкове налаштування записує refs, підкріплені env, замість plaintext-значень ключів.
Для провайдерів, що використовують auth-profile, це записує записи `keyRef`; для custom providers це записує `models.providers.<id>.apiKey` як env ref (наприклад `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`).
Контракт неінтерактивного режиму `ref`:
- Установіть env var провайдера в середовищі процесу початкового налаштування (наприклад, `OPENAI_API_KEY`).
- Не передавайте inline-прапорці ключів (наприклад, `--openai-api-key`), якщо цей env var також не встановлено.
- Якщо inline-прапорець ключа передано без потрібного env var, початкове налаштування одразу завершується з помилкою та підказками.
Параметри токена Gateway у неінтерактивному режимі:
- `--gateway-auth token --gateway-token <token>` зберігає plaintext-токен.
- `--gateway-auth token --gateway-token-ref-env <name>` зберігає `gateway.auth.token` як env SecretRef.
- `--gateway-token` і `--gateway-token-ref-env` є взаємовиключними.
- `--gateway-token-ref-env` потребує непорожній env var у середовищі процесу початкового налаштування.
- З `--install-daemon`, коли автентифікація токеном потребує токена, токени Gateway, якими керує SecretRef, перевіряються, але не зберігаються як визначений plaintext у метаданих середовища сервісу supervisor.
- З `--install-daemon`, якщо режим токена потребує токена, а налаштований token SecretRef не визначено, початкове налаштування завершується з відмовою за замовчуванням і підказками щодо виправлення.
- З `--install-daemon`, якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не встановлено, початкове налаштування блокує встановлення, доки режим не буде явно задано.
- Локальне початкове налаштування записує `gateway.mode="local"` у конфігурацію. Якщо в пізнішому файлі конфігурації бракує `gateway.mode`, вважайте це пошкодженням конфігурації або неповним ручним редагуванням, а не допустимим скороченням для локального режиму.
- `--allow-unconfigured` — це окремий аварійний механізм runtime Gateway. Він не означає, що початкове налаштування може пропустити `gateway.mode`.
Приклад:
```bash
export OPENCLAW_GATEWAY_TOKEN="your-token"
openclaw onboard --non-interactive \
--mode local \
--auth-choice skip \
--gateway-auth token \
--gateway-token-ref-env OPENCLAW_GATEWAY_TOKEN \
--accept-risk
```
Стан локального Gateway у неінтерактивному режимі:
- Якщо ви не передасте `--skip-health`, початкове налаштування чекає на доступний локальний Gateway, перш ніж успішно завершитися.
- `--install-daemon` спочатку запускає керований шлях встановлення Gateway. Без нього у вас уже має працювати локальний Gateway, наприклад `openclaw gateway run`.
- Якщо в автоматизації вам потрібні лише записи конфігурації/робочого простору/bootstrap, використовуйте `--skip-health`.
- У native Windows `--install-daemon` спочатку пробує Scheduled Tasks і повертається до елемента входу в папці Startup для конкретного користувача, якщо створення завдання заборонено.
Поведінка інтерактивного початкового налаштування в режимі reference:
- Виберіть **Use secret reference**, коли з’явиться відповідний запит.
- Потім виберіть один із варіантів:
- Змінна середовища
- Налаштований secret provider (`file` або `exec`)
- Перед збереженням ref початкове налаштування виконує швидку попередню перевірку.
- Якщо перевірка не пройде, початкове налаштування покаже помилку й дозволить повторити спробу.
Неінтерактивні варіанти endpoint для Z.AI:
Примітка: `--auth-choice zai-api-key` тепер автоматично визначає найкращий endpoint Z.AI для вашого ключа (надає перевагу загальному API з `zai/glm-5.1`).
Якщо вам потрібні саме endpoint GLM Coding Plan, виберіть `zai-coding-global` або `zai-coding-cn`.
```bash
# Вибір endpoint без запитів
openclaw onboard --non-interactive \
--auth-choice zai-coding-global \
--zai-api-key "$ZAI_API_KEY"
# Інші варіанти endpoint Z.AI:
# --auth-choice zai-coding-cn
# --auth-choice zai-global
# --auth-choice zai-cn
```
Неінтерактивний приклад Mistral:
```bash
openclaw onboard --non-interactive \
--auth-choice mistral-api-key \
--mistral-api-key "$MISTRAL_API_KEY"
```
Примітки щодо flow:
- `quickstart`: мінімум запитів, автоматично генерує токен Gateway.
- `manual`: повні запити для порту/прив’язки/автентифікації (псевдонім `advanced`).
- Коли вибір автентифікації передбачає preferred provider, початкове налаштування попередньо фільтрує
засоби вибору моделі за замовчуванням і allowlist за цим провайдером. Для Volcengine і
BytePlus це також відповідає варіантам coding-plan
(`volcengine-plan/*`, `byteplus-plan/*`).
- Якщо фільтр preferred-provider поки що не дає жодних завантажених моделей, початкове налаштування
повертається до нефільтрованого каталогу замість того, щоб залишати засіб вибору порожнім.
- На кроці вебпошуку деякі провайдери можуть запускати
додаткові запити, специфічні для провайдера:
- **Grok** може запропонувати необов’язкове налаштування `x_search` з тим самим `XAI_API_KEY`
і вибором моделі `x_search`.
- **Kimi** може запитати регіон API Moonshot (`api.moonshot.ai` чи
`api.moonshot.cn`) і типову модель вебпошуку Kimi.
- Поведінка області DM під час локального початкового налаштування: [CLI Setup Reference](/uk/start/wizard-cli-reference#outputs-and-internals).
- Найшвидший перший чат: `openclaw dashboard` (Control UI, без налаштування каналів).
- Custom Provider: підключіть будь-який endpoint, сумісний з OpenAI або Anthropic,
включно з хостованими провайдерами, яких немає в списку. Використовуйте Unknown для автовизначення.
## Типові наступні команди
```bash
openclaw configure
openclaw agents add <name>
```
<Note>
`--json` не означає неінтерактивний режим. Для скриптів використовуйте `--non-interactive`.
</Note>

72
docs/uk/cli/pairing.md Normal file
View File

@ -0,0 +1,72 @@
---
read_when:
- Ви використовуєте DM у режимі сполучення й вам потрібно підтверджувати відправників
summary: Довідка CLI для `openclaw pairing` (підтвердження/перегляд запитів на сполучення)
title: сполучення
x-i18n:
generated_at: "2026-04-23T06:18:54Z"
model: gpt-5.4
provider: openai
source_hash: 122a608ef83ec2b1011fdfd1b59b94950a4dcc8b598335b0956e2eedece4958f
source_path: cli/pairing.md
workflow: 15
---
# `openclaw pairing`
Підтверджуйте або переглядайте запити на DM-сполучення (для каналів, що підтримують сполучення).
Пов’язано:
- Потік сполучення: [Сполучення](/uk/channels/pairing)
## Команди
```bash
openclaw pairing list telegram
openclaw pairing list --channel telegram --account work
openclaw pairing list telegram --json
openclaw pairing approve <code>
openclaw pairing approve telegram <code>
openclaw pairing approve --channel telegram --account work <code> --notify
```
## `pairing list`
Показати список очікуваних запитів на сполучення для одного каналу.
Параметри:
- `[channel]`: позиційний id каналу
- `--channel <channel>`: явний id каналу
- `--account <accountId>`: id облікового запису для каналів із кількома обліковими записами
- `--json`: машинозчитуваний вивід
Примітки:
- Якщо налаштовано кілька каналів, що підтримують сполучення, ви маєте вказати канал або позиційно, або через `--channel`.
- Канали extension дозволені, якщо id каналу є коректним.
## `pairing approve`
Підтвердити код очікуваного сполучення і дозволити цього відправника.
Використання:
- `openclaw pairing approve <channel> <code>`
- `openclaw pairing approve --channel <channel> <code>`
- `openclaw pairing approve <code>`, коли налаштовано рівно один канал, що підтримує сполучення
Параметри:
- `--channel <channel>`: явний id каналу
- `--account <accountId>`: id облікового запису для каналів із кількома обліковими записами
- `--notify`: надіслати підтвердження назад запитувачу в тому самому каналі
## Примітки
- Вхідне значення каналу: передавайте його позиційно (`pairing list telegram`) або через `--channel <channel>`.
- `pairing list` підтримує `--account <accountId>` для каналів із кількома обліковими записами.
- `pairing approve` підтримує `--account <accountId>` і `--notify`.
- Якщо налаштовано лише один канал, що підтримує сполучення, дозволено `pairing approve <code>`.

325
docs/uk/cli/plugins.md Normal file
View File

@ -0,0 +1,325 @@
---
read_when:
- Ви хочете встановити або керувати plugin для Gateway чи сумісними пакетами
- Ви хочете налагодити збої завантаження plugin
summary: Довідка CLI для `openclaw plugins` (список, установлення, marketplace, видалення, увімкнення/вимкнення, doctor)
title: plugins
x-i18n:
generated_at: "2026-04-23T06:19:00Z"
model: gpt-5.4
provider: openai
source_hash: ad76a8068054d145db578ed01f1fb0726fff884c48d256ad8c0b708a516cd727
source_path: cli/plugins.md
workflow: 15
---
# `openclaw plugins`
Керуйте plugin для Gateway, пакетами хуків і сумісними пакетами.
Пов’язане:
- Система plugin: [Plugins](/uk/tools/plugin)
- Сумісність пакетів: [Пакети plugin](/uk/plugins/bundles)
- Маніфест plugin + схема: [Маніфест plugin](/uk/plugins/manifest)
- Посилення безпеки: [Безпека](/uk/gateway/security)
## Команди
```bash
openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json
openclaw plugins install <path-or-spec>
openclaw plugins inspect <id>
openclaw plugins inspect <id> --json
openclaw plugins inspect --all
openclaw plugins info <id>
openclaw plugins enable <id>
openclaw plugins disable <id>
openclaw plugins uninstall <id>
openclaw plugins doctor
openclaw plugins update <id-or-npm-spec>
openclaw plugins update --all
openclaw plugins marketplace list <marketplace>
openclaw plugins marketplace list <marketplace> --json
```
Вбудовані plugins постачаються разом з OpenClaw. Деякі з них увімкнені типово (наприклад,
вбудовані провайдери моделей, вбудовані провайдери мовлення та вбудований plugin браузера);
інші потребують `plugins enable`.
Рідні plugins OpenClaw мають постачатися з `openclaw.plugin.json` із вбудованою JSON-схемою
(`configSchema`, навіть якщо вона порожня). Сумісні пакети натомість використовують власні маніфести пакетів.
`plugins list` показує `Format: openclaw` або `Format: bundle`. Докладний вивід list/info
також показує підтип пакета (`codex`, `claude` або `cursor`) плюс виявлені можливості пакета.
### Установлення
```bash
openclaw plugins install <package> # спочатку ClawHub, потім npm
openclaw plugins install clawhub:<package> # лише ClawHub
openclaw plugins install <package> --force # перезаписати наявне встановлення
openclaw plugins install <package> --pin # закріпити версію
openclaw plugins install <package> --dangerously-force-unsafe-install
openclaw plugins install <path> # локальний шлях
openclaw plugins install <plugin>@<marketplace> # marketplace
openclaw plugins install <plugin> --marketplace <name> # marketplace (явно)
openclaw plugins install <plugin> --marketplace https://github.com/<owner>/<repo>
```
Спочатку для простих назв пакетів виконується перевірка у ClawHub, а потім у npm. Примітка щодо безпеки:
ставтеся до встановлення plugin так, ніби ви запускаєте код. Віддавайте перевагу закріпленим версіям.
Якщо конфігурація невалідна, `plugins install` зазвичай завершується за принципом fail closed і повідомляє, що спочатку
потрібно виконати `openclaw doctor --fix`. Єдиний задокументований виняток — вузький шлях
відновлення для вбудованого plugin, який явно ввімкнув
`openclaw.install.allowInvalidConfigRecovery`.
`--force` повторно використовує наявну ціль установлення та перезаписує вже встановлений
plugin або пакет хуків на місці. Використовуйте цей параметр, коли ви навмисно перевстановлюєте
той самий id з нового локального шляху, архіву, пакета ClawHub або артефакту npm.
Для звичайних оновлень уже відстежуваного npm plugin краще використовувати
`openclaw plugins update <id-or-npm-spec>`.
`--pin` застосовується лише до встановлень npm. Він не підтримується з `--marketplace`,
оскільки встановлення через marketplace зберігають метадані джерела marketplace замість
специфікації npm.
`--dangerously-force-unsafe-install` — це аварійний параметр для хибнопозитивних спрацьовувань
вбудованого сканера небезпечного коду. Він дозволяє продовжити встановлення навіть тоді,
коли вбудований сканер повідомляє про результати рівня `critical`, але **не**
обходить блокування політик хука plugin `before_install` і **не** обходить блокування
через збої сканування.
Цей прапорець CLI застосовується до потоків встановлення/оновлення plugin. Установлення
залежностей Skills через Gateway використовують відповідне перевизначення запиту
`dangerouslyForceUnsafeInstall`, тоді як `openclaw skills install` залишається окремим
потоком завантаження/встановлення Skills із ClawHub.
`plugins install` також є поверхнею встановлення для пакетів хуків, які надають
`openclaw.hooks` у `package.json`. Для відфільтрованої видимості хуків і вмикання
окремих хуків використовуйте `openclaw hooks`, а не встановлення пакета.
Специфікації npm є **лише реєстровими** (назва пакета + необов’язкова **точна версія** або
**dist-tag**). Специфікації Git/URL/файлів і діапазони semver відхиляються. Для безпеки
залежності встановлюються з `--ignore-scripts`.
Прості специфікації та `@latest` залишаються на стабільній гілці. Якщо npm розв’язує будь-яку
з них у пререліз, OpenClaw зупиняється й просить вас явно погодитися, указавши
тег пререлізу, наприклад `@beta`/`@rc`, або точну версію пререлізу, наприклад
`@1.2.3-beta.4`.
Якщо проста специфікація встановлення збігається з id вбудованого plugin (наприклад, `diffs`), OpenClaw
встановлює вбудований plugin безпосередньо. Щоб установити npm-пакет із такою самою
назвою, використовуйте явну scoped-специфікацію (наприклад, `@scope/diffs`).
Підтримувані архіви: `.zip`, `.tgz`, `.tar.gz`, `.tar`.
Також підтримуються встановлення з marketplace Claude.
Для встановлень із ClawHub використовується явний локатор `clawhub:<package>`:
```bash
openclaw plugins install clawhub:openclaw-codex-app-server
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
```
Тепер OpenClaw також надає перевагу ClawHub для простих plugin-специфікацій, безпечних для npm. Він переходить
до npm лише тоді, коли у ClawHub немає такого пакета або версії:
```bash
openclaw plugins install openclaw-codex-app-server
```
OpenClaw завантажує архів пакета з ClawHub, перевіряє заявлену
сумісність API plugin / мінімальну сумісність із gateway, а потім установлює його через звичайний
шлях архіву. Записані встановлення зберігають свої метадані джерела ClawHub для подальших
оновлень.
Використовуйте скорочення `plugin@marketplace`, коли назва marketplace існує в локальному
кеші реєстру Claude за адресою `~/.claude/plugins/known_marketplaces.json`:
```bash
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
```
Використовуйте `--marketplace`, якщо хочете передати джерело marketplace явно:
```bash
openclaw plugins install <plugin-name> --marketplace <marketplace-name>
openclaw plugins install <plugin-name> --marketplace <owner/repo>
openclaw plugins install <plugin-name> --marketplace https://github.com/<owner>/<repo>
openclaw plugins install <plugin-name> --marketplace ./my-marketplace
```
Джерелами marketplace можуть бути:
- відома Claude назва marketplace з `~/.claude/plugins/known_marketplaces.json`
- локальний корінь marketplace або шлях `marketplace.json`
- скорочення GitHub-репозиторію на кшталт `owner/repo`
- URL GitHub-репозиторію на кшталт `https://github.com/owner/repo`
- URL git
Для віддалених marketplace, завантажених з GitHub або git, записи plugin мають залишатися
в межах клонованого репозиторію marketplace. OpenClaw приймає джерела відносних шляхів із
цього репозиторію й відхиляє HTTP(S), абсолютні шляхи, git, GitHub та інші джерела plugin,
що не є шляхами, з віддалених маніфестів.
Для локальних шляхів і архівів OpenClaw автоматично виявляє:
- рідні plugins OpenClaw (`openclaw.plugin.json`)
- сумісні пакети Codex (`.codex-plugin/plugin.json`)
- сумісні пакети Claude (`.claude-plugin/plugin.json` або типовий макет компонентів Claude)
- сумісні пакети Cursor (`.cursor-plugin/plugin.json`)
Сумісні пакети встановлюються у звичайний корінь extensions і беруть участь у тому самому потоці
list/info/enable/disable. Наразі підтримуються bundle Skills, command-skills Claude,
типові значення Claude `settings.json`, типові значення Claude `.lsp.json` /
`lspServers`, оголошені в маніфесті, command-skills Cursor та сумісні
каталоги хуків Codex; інші виявлені можливості пакета показуються в diagnostics/info, але
ще не підключені до виконання в runtime.
### Список
```bash
openclaw plugins list
openclaw plugins list --enabled
openclaw plugins list --verbose
openclaw plugins list --json
```
Використовуйте `--enabled`, щоб показати лише завантажені plugins. Використовуйте `--verbose`, щоб перейти
від табличного подання до рядків із докладною інформацією про кожен plugin із метаданими
джерела/походження/версії/активації. Для машинозчитуваного переліку та
діагностики реєстру використовуйте `--json`.
Використовуйте `--link`, щоб не копіювати локальний каталог (додає до `plugins.load.paths`):
```bash
openclaw plugins install -l ./my-plugin
```
`--force` не підтримується з `--link`, оскільки зв’язані встановлення повторно використовують
шлях до джерела замість копіювання у керовану ціль установлення.
Використовуйте `--pin` для встановлень npm, щоб зберегти розв’язану точну специфікацію (`name@version`) у
`plugins.installs`, залишаючи типову поведінку без закріплення.
### Видалення
```bash
openclaw plugins uninstall <id>
openclaw plugins uninstall <id> --dry-run
openclaw plugins uninstall <id> --keep-files
```
`uninstall` видаляє записи plugin з `plugins.entries`, `plugins.installs`,
списку дозволених plugin і зв’язаних записів `plugins.load.paths`, де це застосовується.
Для plugin Active Memory слот пам’яті скидається до `memory-core`.
Типово `uninstall` також видаляє каталог установлення plugin у корені plugin
активного каталогу стану. Використовуйте
`--keep-files`, щоб зберегти файли на диску.
`--keep-config` підтримується як застарілий псевдонім для `--keep-files`.
### Оновлення
```bash
openclaw plugins update <id-or-npm-spec>
openclaw plugins update --all
openclaw plugins update <id-or-npm-spec> --dry-run
openclaw plugins update @openclaw/voice-call@beta
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install
```
Оновлення застосовуються до відстежуваних встановлень у `plugins.installs` і відстежуваних
встановлень пакетів хуків у `hooks.internal.installs`.
Коли ви передаєте id plugin, OpenClaw повторно використовує записану специфікацію встановлення для цього
plugin. Це означає, що раніше збережені dist-tag, наприклад `@beta`, і точні закріплені
версії продовжують використовуватися під час наступних запусків `update <id>`.
Для встановлень npm ви також можете передати явну специфікацію npm-пакета з dist-tag
або точною версією. OpenClaw зіставляє назву цього пакета назад із відстежуваним записом plugin,
оновлює встановлений plugin і записує нову специфікацію npm для майбутніх
оновлень за id.
Передавання назви npm-пакета без версії чи тега також зіставляється назад із
відстежуваним записом plugin. Використовуйте це, коли plugin був закріплений на точній версії й
ви хочете повернути його на типову лінію релізів реєстру.
Перед живим оновленням npm OpenClaw перевіряє встановлену версію пакета за метаданими
реєстру npm. Якщо встановлена версія та ідентичність записаного артефакту вже
збігаються з розв’язаною ціллю, оновлення пропускається без
завантаження, перевстановлення або перезапису `openclaw.json`.
Коли існує збережений хеш цілісності й хеш отриманого артефакту змінюється,
OpenClaw трактує це як дрейф артефакту npm. Інтерактивна команда
`openclaw plugins update` показує очікуваний і фактичний хеші та запитує
підтвердження перед продовженням. Неінтерактивні допоміжні засоби оновлення завершуються за принципом fail closed,
якщо викликач не надає явної політики продовження.
`--dangerously-force-unsafe-install` також доступний у `plugins update` як
аварійне перевизначення для хибнопозитивних спрацьовувань сканування небезпечного коду під час
оновлення plugin. Він, як і раніше, не обходить блокування політики `before_install` plugin
або блокування через збій сканування й застосовується лише до оновлень plugin, а не до
оновлень пакетів хуків.
### Inspect
```bash
openclaw plugins inspect <id>
openclaw plugins inspect <id> --json
```
Глибока інтроспекція для одного plugin. Показує ідентичність, стан завантаження, джерело,
зареєстровані можливості, хуки, інструменти, команди, сервіси, методи gateway,
маршрути HTTP, прапорці політик, diagnostics, метадані встановлення, можливості пакета
та будь-яку виявлену підтримку серверів MCP або LSP.
Кожен plugin класифікується за тим, що він фактично реєструє в runtime:
- **plain-capability** — один тип можливостей (наприклад, plugin лише з провайдером)
- **hybrid-capability** — кілька типів можливостей (наприклад, текст + мовлення + зображення)
- **hook-only** — лише хуки, без можливостей або поверхонь
- **non-capability** — інструменти/команди/сервіси, але без можливостей
Докладніше про модель можливостей див. у [Форми plugin](/uk/plugins/architecture#plugin-shapes).
Прапорець `--json` виводить машинозчитуваний звіт, придатний для скриптів і
аудиту.
`inspect --all` відображає загальносистемну таблицю з колонками форми, типів можливостей,
приміток сумісності, можливостей пакета та зведення хуків.
`info` — це псевдонім для `inspect`.
### Doctor
```bash
openclaw plugins doctor
```
`doctor` повідомляє про помилки завантаження plugin, diagnostics маніфесту/виявлення та
примітки щодо сумісності. Коли все в порядку, виводиться `No plugin issues
detected.`
Для збоїв форми модуля, таких як відсутні експорти `register`/`activate`, повторно запустіть
із `OPENCLAW_PLUGIN_LOAD_DEBUG=1`, щоб включити в діагностичний вивід компактне зведення форми експортів.
### Marketplace
```bash
openclaw plugins marketplace list <source>
openclaw plugins marketplace list <source> --json
```
Список marketplace приймає локальний шлях до marketplace, шлях до `marketplace.json`,
скорочення GitHub на кшталт `owner/repo`, URL репозиторію GitHub або URL git. `--json`
виводить розв’язану мітку джерела, а також розібраний маніфест marketplace і
записи plugin.

59
docs/uk/cli/qr.md Normal file
View File

@ -0,0 +1,59 @@
---
read_when:
- Ви хочете швидко сполучити застосунок мобільного вузла з gateway
- Вам потрібен вивід коду налаштування для віддаленого/ручного поширення
summary: Довідка CLI для `openclaw qr` (генерація QR-коду сполучення для мобільного пристрою + коду налаштування)
title: qr
x-i18n:
generated_at: "2026-04-23T06:19:03Z"
model: gpt-5.4
provider: openai
source_hash: ee6469334ad09037318f938c7ac609b7d5e3385c0988562501bb02a1bfa411ff
source_path: cli/qr.md
workflow: 15
---
# `openclaw qr`
Згенеруйте QR-код сполучення для мобільного пристрою та код налаштування на основі вашої поточної конфігурації Gateway.
## Використання
```bash
openclaw qr
openclaw qr --setup-code-only
openclaw qr --json
openclaw qr --remote
openclaw qr --url wss://gateway.example/ws
```
## Параметри
- `--remote`: віддавати перевагу `gateway.remote.url`; якщо його не задано, `gateway.tailscale.mode=serve|funnel` усе одно може надати віддалений публічний URL
- `--url <url>`: перевизначити URL gateway, що використовується в корисному навантаженні
- `--public-url <url>`: перевизначити публічний URL, що використовується в корисному навантаженні
- `--token <token>`: перевизначити, відносно якого токена gateway автентифікується bootstrap-потік
- `--password <password>`: перевизначити, відносно якого пароля gateway автентифікується bootstrap-потік
- `--setup-code-only`: вивести лише код налаштування
- `--no-ascii`: пропустити ASCII-відтворення QR-коду
- `--json`: вивести JSON (`setupCode`, `gatewayUrl`, `auth`, `urlSource`)
## Примітки
- `--token` і `--password` є взаємовиключними.
- Сам код налаштування тепер містить непрозорий короткоживучий `bootstrapToken`, а не спільний токен/пароль gateway.
- У вбудованому bootstrap-потоці node/operator основний токен Node, як і раніше, потрапляє з `scopes: []`.
- Якщо bootstrap-передача також видає операторський токен, він лишається обмеженим списком дозволів bootstrap: `operator.approvals`, `operator.read`, `operator.talk.secrets`, `operator.write`.
- Перевірки областей дії bootstrap мають префікс ролі. Цей список дозволів оператора задовольняє лише операторські запити; ролям, відмінним від оператора, як і раніше потрібні області дії під префіксом їхньої власної ролі.
- Сполучення мобільного пристрою завершується за принципом fail closed для URL gateway `ws://` через Tailscale/публічні маршрути. Приватний LAN `ws://` і далі підтримується, але для мобільних маршрутів через Tailscale/публічні мережі слід використовувати Tailscale Serve/Funnel або URL gateway `wss://`.
- Із `--remote` OpenClaw вимагає або `gateway.remote.url`, або
`gateway.tailscale.mode=serve|funnel`.
- Із `--remote`, якщо фактично активні віддалені облікові дані налаштовані як SecretRef і ви не передаєте `--token` або `--password`, команда отримує їх з активного знімка gateway. Якщо gateway недоступний, команда завершується помилкою одразу.
- Без `--remote` локальні SecretRef автентифікації gateway розв’язуються, якщо не передано перевизначення автентифікації через CLI:
- `gateway.auth.token` розв’язується, коли може перемогти автентифікація токеном (явний `gateway.auth.mode="token"` або виведений режим, де жодне джерело пароля не перемагає).
- `gateway.auth.password` розв’язується, коли може перемогти автентифікація паролем (явний `gateway.auth.mode="password"` або виведений режим без токена-переможця з auth/env).
- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password` (включно з SecretRef), а `gateway.auth.mode` не задано, розв’язання коду налаштування завершується помилкою, доки режим не буде явно встановлено.
- Примітка про розсинхронізацію версій Gateway: цей шлях команди вимагає gateway, який підтримує `secrets.resolve`; старіші gateway повертають помилку unknown-method.
- Після сканування схваліть сполучення пристрою за допомогою:
- `openclaw devices list`
- `openclaw devices approve <requestId>`

42
docs/uk/cli/reset.md Normal file
View File

@ -0,0 +1,42 @@
---
read_when:
- Ви хочете стерти локальний стан, зберігши встановлений CLI
- Ви хочете пробний запуск, щоб побачити, що буде видалено
summary: Довідка CLI для `openclaw reset` (скидання локального стану/конфігурації)
title: скидання
x-i18n:
generated_at: "2026-04-23T06:19:06Z"
model: gpt-5.4
provider: openai
source_hash: ad464700f948bebe741ec309f25150714f0b280834084d4f531327418a42c79b
source_path: cli/reset.md
workflow: 15
---
# `openclaw reset`
Скидання локальної конфігурації/стану (CLI залишається встановленим).
Параметри:
- `--scope <scope>`: `config`, `config+creds+sessions` або `full`
- `--yes`: пропустити запити на підтвердження
- `--non-interactive`: вимкнути запити; вимагає `--scope` і `--yes`
- `--dry-run`: показати дії без видалення файлів
Приклади:
```bash
openclaw backup create
openclaw reset
openclaw reset --dry-run
openclaw reset --scope config --yes --non-interactive
openclaw reset --scope config+creds+sessions --yes --non-interactive
openclaw reset --scope full --yes --non-interactive
```
Примітки:
- Спочатку виконайте `openclaw backup create`, якщо хочете мати придатний для відновлення знімок перед видаленням локального стану.
- Якщо ви не вказали `--scope`, `openclaw reset` використовує інтерактивний запит, щоб вибрати, що видалити.
- `--non-interactive` є чинним лише тоді, коли задано і `--scope`, і `--yes`.

204
docs/uk/cli/sandbox.md Normal file
View File

@ -0,0 +1,204 @@
---
read_when: You are managing sandbox runtimes or debugging sandbox/tool-policy behavior.
status: active
summary: Керуйте середовищами виконання sandbox і переглядайте ефективну політику sandbox
title: CLI sandbox
x-i18n:
generated_at: "2026-04-23T06:19:11Z"
model: gpt-5.4
provider: openai
source_hash: fa2783037da2901316108d35e04bb319d5d57963c2764b9146786b3c6474b48a
source_path: cli/sandbox.md
workflow: 15
---
# CLI sandbox
Керуйте середовищами виконання sandbox для ізольованого виконання агентів.
## Огляд
OpenClaw може запускати агентів в ізольованих середовищах виконання sandbox для безпеки. Команди `sandbox` допомагають переглядати та перевідтворювати ці середовища після оновлень або змін конфігурації.
Сьогодні це зазвичай означає:
- Docker-контейнери sandbox
- середовища виконання SSH sandbox, коли `agents.defaults.sandbox.backend = "ssh"`
- середовища виконання OpenShell sandbox, коли `agents.defaults.sandbox.backend = "openshell"`
Для `ssh` і `remote` OpenShell перевідтворення важливіше, ніж для Docker:
- віддалений робочий простір є канонічним після початкового заповнення
- `openclaw sandbox recreate` видаляє цей канонічний віддалений робочий простір для вибраної області
- наступне використання знову заповнює його з поточного локального робочого простору
## Команди
### `openclaw sandbox explain`
Перегляньте **ефективний** режим/область/доступ до робочого простору sandbox, політику інструментів sandbox і підвищені шлюзи доступу (із шляхами до ключів конфігурації для виправлення).
```bash
openclaw sandbox explain
openclaw sandbox explain --session agent:main:main
openclaw sandbox explain --agent work
openclaw sandbox explain --json
```
### `openclaw sandbox list`
Перелічіть усі середовища виконання sandbox з їхнім станом і конфігурацією.
```bash
openclaw sandbox list
openclaw sandbox list --browser # Перелічити лише контейнері браузера
openclaw sandbox list --json # Вивід JSON
```
**Вивід містить:**
- Назву й стан середовища виконання
- Backend (`docker`, `openshell` тощо)
- Мітку конфігурації та чи відповідає вона поточній конфігурації
- Вік (час від створення)
- Час простою (час від останнього використання)
- Пов’язану сесію/агента
### `openclaw sandbox recreate`
Видаліть середовища виконання sandbox, щоб примусово перевідтворити їх з оновленою конфігурацією.
```bash
openclaw sandbox recreate --all # Перевідтворити всі контейнери
openclaw sandbox recreate --session main # Конкретна сесія
openclaw sandbox recreate --agent mybot # Конкретний агент
openclaw sandbox recreate --browser # Лише контейнері браузера
openclaw sandbox recreate --all --force # Пропустити підтвердження
```
**Параметри:**
- `--all`: перевідтворити всі контейнери sandbox
- `--session <key>`: перевідтворити контейнер для конкретної сесії
- `--agent <id>`: перевідтворити контейнери для конкретного агента
- `--browser`: перевідтворити лише контейнері браузера
- `--force`: пропустити запит підтвердження
**Важливо:** середовища виконання автоматично перевідтворюються під час наступного використання агента.
## Варіанти використання
### Після оновлення образу Docker
```bash
# Pull new image
docker pull openclaw-sandbox:latest
docker tag openclaw-sandbox:latest openclaw-sandbox:bookworm-slim
# Update config to use new image
# Edit config: agents.defaults.sandbox.docker.image (or agents.list[].sandbox.docker.image)
# Recreate containers
openclaw sandbox recreate --all
```
### Після зміни конфігурації sandbox
```bash
# Edit config: agents.defaults.sandbox.* (or agents.list[].sandbox.*)
# Recreate to apply new config
openclaw sandbox recreate --all
```
### Після зміни SSH-цілі або матеріалів автентифікації SSH
```bash
# Edit config:
# - agents.defaults.sandbox.backend
# - agents.defaults.sandbox.ssh.target
# - agents.defaults.sandbox.ssh.workspaceRoot
# - agents.defaults.sandbox.ssh.identityFile / certificateFile / knownHostsFile
# - agents.defaults.sandbox.ssh.identityData / certificateData / knownHostsData
openclaw sandbox recreate --all
```
Для базового backend `ssh` команда recreate видаляє корінь віддаленого робочого простору для кожної області
на SSH-цілі. Наступний запуск знову заповнює його з локального робочого простору.
### Після зміни джерела, політики або режиму OpenShell
```bash
# Edit config:
# - agents.defaults.sandbox.backend
# - plugins.entries.openshell.config.from
# - plugins.entries.openshell.config.mode
# - plugins.entries.openshell.config.policy
openclaw sandbox recreate --all
```
Для режиму OpenShell `remote` команда recreate видаляє канонічний віддалений робочий простір
для цієї області. Наступний запуск знову заповнює його з локального робочого простору.
### Після зміни setupCommand
```bash
openclaw sandbox recreate --all
# or just one agent:
openclaw sandbox recreate --agent family
```
### Лише для конкретного агента
```bash
# Update only one agent's containers
openclaw sandbox recreate --agent alfred
```
## Чому це потрібно?
**Проблема:** коли ви оновлюєте конфігурацію sandbox:
- наявні середовища виконання продовжують працювати зі старими налаштуваннями
- середовища виконання очищаються лише після 24 годин неактивності
- агенти, які регулярно використовуються, можуть нескінченно довго зберігати старі середовища виконання
**Рішення:** використовуйте `openclaw sandbox recreate`, щоб примусово видалити старі середовища виконання. Вони будуть автоматично перевідтворені з поточними налаштуваннями, коли знову знадобляться.
Порада: віддавайте перевагу `openclaw sandbox recreate` замість ручного очищення, специфічного для backend.
Вона використовує реєстр середовищ виконання Gateway і допомагає уникнути невідповідностей, коли змінюються ключі області/сесії.
## Конфігурація
Налаштування sandbox розташовані в `~/.openclaw/openclaw.json` у розділі `agents.defaults.sandbox` (перевизначення для окремих агентів — у `agents.list[].sandbox`):
```jsonc
{
"agents": {
"defaults": {
"sandbox": {
"mode": "all", // off, non-main, all
"backend": "docker", // docker, ssh, openshell
"scope": "agent", // session, agent, shared
"docker": {
"image": "openclaw-sandbox:bookworm-slim",
"containerPrefix": "openclaw-sbx-",
// ... more Docker options
},
"prune": {
"idleHours": 24, // Auto-prune after 24h idle
"maxAgeDays": 7, // Auto-prune after 7 days
},
},
},
},
}
```
## Див. також
- [Документація sandbox](/uk/gateway/sandboxing)
- [Конфігурація агента](/uk/concepts/agent-workspace)
- [Команда doctor](/uk/gateway/doctor) - перевірка налаштування sandbox

204
docs/uk/cli/secrets.md Normal file
View File

@ -0,0 +1,204 @@
---
read_when:
- Повторне розв’язання посилань SecretRef під час виконання
- Аудит залишків plaintext і нерозв’язаних ref
- Налаштування SecretRef і застосування односпрямованих змін очищення
summary: Довідка CLI для `openclaw secrets` (перезавантаження, аудит, налаштування, застосування)
title: секрети
x-i18n:
generated_at: "2026-04-23T06:19:18Z"
model: gpt-5.4
provider: openai
source_hash: f436ba089d752edb766c0a3ce746ee6bca1097b22c9b30e3d9715cb0bb50bf47
source_path: cli/secrets.md
workflow: 15
---
# `openclaw secrets`
Використовуйте `openclaw secrets` для керування SecretRef і підтримання активного знімка runtime у здоровому стані.
Ролі команд:
- `reload`: gateway RPC (`secrets.reload`), який повторно розв’язує ref і замінює знімок runtime лише за повного успіху (без запису конфігурації).
- `audit`: сканування лише для читання конфігурації/auth/згенерованих сховищ моделей і застарілих залишків на наявність plaintext, нерозв’язаних ref та дрейфу пріоритетів (exec ref пропускаються, якщо не встановлено `--allow-exec`).
- `configure`: інтерактивний планувальник для налаштування provider, зіставлення цілей і preflight (потрібен TTY).
- `apply`: виконати збережений план (`--dry-run` лише для валідації; сухий запуск типово пропускає перевірки exec, а режим запису відхиляє плани з exec, якщо не встановлено `--allow-exec`), а потім очистити цільові залишки plaintext.
Рекомендований цикл оператора:
```bash
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets audit --check
openclaw secrets reload
```
Якщо ваш план містить `exec` SecretRef/provider, передавайте `--allow-exec` і в командах dry-run, і в командах apply із записом.
Примітка про коди виходу для CI/перевірок:
- `audit --check` повертає `1`, якщо є знахідки.
- нерозв’язані ref повертають `2`.
Пов’язане:
- Посібник із секретів: [Керування секретами](/uk/gateway/secrets)
- Поверхня облікових даних: [Поверхня облікових даних SecretRef](/uk/reference/secretref-credential-surface)
- Посібник із безпеки: [Безпека](/uk/gateway/security)
## Перезавантажити знімок runtime
Повторно розв’язати посилання secret ref і атомарно замінити знімок runtime.
```bash
openclaw secrets reload
openclaw secrets reload --json
openclaw secrets reload --url ws://127.0.0.1:18789 --token <token>
```
Примітки:
- Використовує gateway RPC-метод `secrets.reload`.
- Якщо розв’язання завершується помилкою, gateway зберігає знімок останнього відомого коректного стану та повертає помилку (без часткової активації).
- Відповідь JSON містить `warningCount`.
Параметри:
- `--url <url>`
- `--token <token>`
- `--timeout <ms>`
- `--json`
## Аудит
Сканувати стан OpenClaw на наявність:
- зберігання секретів у plaintext
- нерозв’язаних ref
- дрейфу пріоритетів (облікові дані в `auth-profiles.json`, що затіняють ref у `openclaw.json`)
- залишків у згенерованому `agents/*/agent/models.json` (значення provider `apiKey` і чутливі заголовки provider)
- застарілих залишків (записи в застарілому сховищі auth, нагадування OAuth)
Примітка про залишки в заголовках:
- Виявлення чутливих заголовків provider базується на евристиці назв (поширені назви та фрагменти заголовків auth/облікових даних, як-от `authorization`, `x-api-key`, `token`, `secret`, `password` і `credential`).
```bash
openclaw secrets audit
openclaw secrets audit --check
openclaw secrets audit --json
openclaw secrets audit --allow-exec
```
Поведінка виходу:
- `--check` завершується з ненульовим кодом, якщо є знахідки.
- нерозв’язані ref завершуються ненульовим кодом із вищим пріоритетом.
Ключові елементи форми звіту:
- `status`: `clean | findings | unresolved`
- `resolution`: `refsChecked`, `skippedExecRefs`, `resolvabilityComplete`
- `summary`: `plaintextCount`, `unresolvedRefCount`, `shadowedRefCount`, `legacyResidueCount`
- коди знахідок:
- `PLAINTEXT_FOUND`
- `REF_UNRESOLVED`
- `REF_SHADOWED`
- `LEGACY_RESIDUE`
## Configure (інтерактивний помічник)
Інтерактивно створити зміни provider і SecretRef, виконати preflight і, за бажання, застосувати:
```bash
openclaw secrets configure
openclaw secrets configure --plan-out /tmp/openclaw-secrets-plan.json
openclaw secrets configure --apply --yes
openclaw secrets configure --providers-only
openclaw secrets configure --skip-provider-setup
openclaw secrets configure --agent ops
openclaw secrets configure --json
```
Потік:
- Спочатку налаштування provider (`add/edit/remove` для псевдонімів `secrets.providers`).
- Далі зіставлення облікових даних (вибір полів і призначення ref `{source, provider, id}`).
- Наприкінці preflight і, за бажання, apply.
Прапорці:
- `--providers-only`: налаштувати лише `secrets.providers`, пропустити зіставлення облікових даних.
- `--skip-provider-setup`: пропустити налаштування provider і зіставити облікові дані з наявними provider.
- `--agent <id>`: обмежити виявлення цілей і записи в `auth-profiles.json` одним сховищем агента.
- `--allow-exec`: дозволити перевірки exec SecretRef під час preflight/apply (може виконувати команди provider).
Примітки:
- Потрібен інтерактивний TTY.
- Не можна поєднувати `--providers-only` із `--skip-provider-setup`.
- `configure` націлюється на поля, що містять секрети, у `openclaw.json`, а також на `auth-profiles.json` для вибраної області агента.
- `configure` підтримує створення нових зіставлень `auth-profiles.json` безпосередньо в потоці вибору.
- Канонічна підтримувана поверхня: [Поверхня облікових даних SecretRef](/uk/reference/secretref-credential-surface).
- Перед apply виконується preflight-розв’язання.
- Якщо preflight/apply містить exec ref, залишайте `--allow-exec` увімкненим для обох кроків.
- Згенеровані плани типово вмикають параметри очищення (`scrubEnv`, `scrubAuthProfilesForProviderTargets`, `scrubLegacyAuthJson` усі ввімкнені).
- Шлях apply є односпрямованим для очищених значень plaintext.
- Без `--apply` CLI все одно ставить запитання `Apply this plan now?` після preflight.
- Із `--apply` (і без `--yes`) CLI запитує додаткове незворотне підтвердження.
- `--json` виводить план + звіт preflight, але команда все одно потребує інтерактивного TTY.
Примітка про безпеку exec provider:
- Установлення через Homebrew часто відкривають доступ до символьних посилань на бінарні файли в `/opt/homebrew/bin/*`.
- Встановлюйте `allowSymlinkCommand: true` лише за потреби для довірених шляхів менеджера пакетів і поєднуйте це з `trustedDirs` (наприклад `["/opt/homebrew"]`).
- У Windows, якщо перевірка ACL недоступна для шляху provider, OpenClaw завершується за принципом fail closed. Лише для довірених шляхів установіть `allowInsecurePath: true` для цього provider, щоб обійти перевірки безпеки шляху.
## Застосувати збережений план
Застосувати або виконати preflight для раніше згенерованого плану:
```bash
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --json
```
Поведінка exec:
- `--dry-run` валідує preflight без запису файлів.
- Перевірки exec SecretRef типово пропускаються під час dry-run.
- Режим запису відхиляє плани, що містять exec SecretRef/provider, якщо не встановлено `--allow-exec`.
- Використовуйте `--allow-exec`, щоб увімкнути перевірки/виконання exec provider у будь-якому режимі.
Деталі контракту плану (дозволені цільові шляхи, правила валідації та семантика збоїв):
- [Контракт плану застосування Secrets](/uk/gateway/secrets-plan-contract)
Що може оновити `apply`:
- `openclaw.json` (цілі SecretRef + upsert/delete provider)
- `auth-profiles.json` (очищення цілей provider)
- залишки застарілого `auth.json`
- відомі секретні ключі в `~/.openclaw/.env`, значення яких було мігровано
## Чому немає резервних копій для відкату
`secrets apply` навмисно не записує резервні копії для відкату, що містять старі значення plaintext.
Безпека забезпечується суворим preflight + майже атомарним apply із best-effort відновленням у пам’яті в разі збою.
## Приклад
```bash
openclaw secrets audit --check
openclaw secrets configure
openclaw secrets audit --check
```
Якщо `audit --check` і далі повідомляє про знахідки plaintext, оновіть решту вказаних цільових шляхів і повторно запустіть аудит.

93
docs/uk/cli/security.md Normal file
View File

@ -0,0 +1,93 @@
---
read_when:
- Ви хочете виконати швидкий аудит безпеки для конфігурації/стану
- Ви хочете застосувати безпечні пропозиції «fix» (права доступу, посилення типових налаштувань)
summary: Довідка CLI для `openclaw security` (аудит і виправлення поширених помилок безпеки)
title: безпека
x-i18n:
generated_at: "2026-04-23T06:19:16Z"
model: gpt-5.4
provider: openai
source_hash: e5a3e4ab8e0dfb6c10763097cb4483be2431985f16de877523eb53e2122239ae
source_path: cli/security.md
workflow: 15
---
# `openclaw security`
Інструменти безпеки (аудит + необов’язкові виправлення).
Пов’язано:
- Посібник із безпеки: [Безпека](/uk/gateway/security)
## Аудит
```bash
openclaw security audit
openclaw security audit --deep
openclaw security audit --deep --password <password>
openclaw security audit --deep --token <token>
openclaw security audit --fix
openclaw security audit --json
```
Аудит попереджає, коли кілька відправників DM ділять основну сесію, і рекомендує **безпечний режим DM**: `session.dmScope="per-channel-peer"` (або `per-account-channel-peer` для каналів із кількома обліковими записами) для спільних вхідних.
Це призначено для посилення безпеки кооперативних/спільних вхідних. Один Gateway, спільний для операторів, які не довіряють одне одному або діють зловмисно, не є рекомендованим налаштуванням; розділяйте межі довіри за допомогою окремих gateway (або окремих користувачів ОС/хостів).
Він також генерує `security.trust_model.multi_user_heuristic`, коли конфігурація вказує на ймовірний спільний користувацький вхідний потік (наприклад, відкрита політика DM/груп, налаштовані групові цілі або правила відправників із шаблоном `*`), і нагадує, що за замовчуванням OpenClaw має модель довіри персонального асистента.
Для навмисних конфігурацій зі спільними користувачами рекомендація аудиту полягає в тому, щоб ізолювати всі сесії в пісочниці, обмежити доступ до файлової системи областю workspace та не тримати особисті/приватні ідентичності або облікові дані в цьому середовищі виконання.
Він також попереджає, коли малі моделі (`<=300B`) використовуються без пісочниці та з увімкненими інструментами web/browser.
Для вхідних Webhook він попереджає, коли `hooks.token` повторно використовує токен Gateway, коли `hooks.token` закороткий, коли `hooks.path="/"`, коли `hooks.defaultSessionKey` не задано, коли `hooks.allowedAgentIds` не обмежено, коли дозволено перевизначення `sessionKey` у запиті, а також коли перевизначення дозволені без `hooks.allowedSessionKeyPrefixes`.
Він також попереджає, коли параметри Docker пісочниці налаштовані, але режим пісочниці вимкнений, коли `gateway.nodes.denyCommands` використовує неефективні шаблоноподібні/невідомі записи (лише точне зіставлення імен команд node, а не фільтрація тексту shell), коли `gateway.nodes.allowCommands` явно вмикає небезпечні команди node, коли глобальний `tools.profile="minimal"` перевизначається профілями інструментів агента, коли відкриті групи надають доступ до інструментів runtime/filesystem без захисту пісочницею/workspace, а також коли інструменти встановлених extension plugins можуть бути досяжні за надто дозволяючої політики інструментів.
Він також позначає `gateway.allowRealIpFallback=true` (ризик підміни заголовків, якщо проксі налаштовано неправильно) і `discovery.mdns.mode="full"` (витік метаданих через записи mDNS TXT).
Він також попереджає, коли браузер пісочниці використовує мережу Docker `bridge` без `sandbox.browser.cdpSourceRange`.
Він також позначає небезпечні режими мережі Docker для пісочниці (включно з `host` і приєднанням до простору імен `container:*`).
Він також попереджає, коли наявні Docker-контейнери браузера пісочниці мають відсутні/застарілі хеш-мітки (наприклад, доміграційні контейнери без `openclaw.browserConfigEpoch`) і рекомендує `openclaw sandbox recreate --browser --all`.
Він також попереджає, коли записи про встановлення plugin/hook на базі npm не закріплені, не мають метаданих цілісності або розходяться з версіями пакетів, установлених зараз.
Він попереджає, коли allowlists каналів спираються на змінні names/emails/tags замість стабільних ID (Discord, Slack, Google Chat, Microsoft Teams, Mattermost, IRC-області, де застосовно).
Він попереджає, коли `gateway.auth.mode="none"` залишає HTTP API Gateway доступними без спільного секрету (`/tools/invoke` плюс будь-яка увімкнена кінцева точка `/v1/*`).
Параметри з префіксами `dangerous`/`dangerously` є явними аварійними перевизначеннями для операторів; увімкнення одного з них саме по собі не є звітом про вразливість безпеки.
Повний перелік небезпечних параметрів див. у розділі «Insecure or dangerous flags summary» у [Безпека](/uk/gateway/security).
Поведінка SecretRef:
- `security audit` визначає підтримувані SecretRef у режимі лише для читання для цільових шляхів.
- Якщо SecretRef недоступний у поточному шляху команди, аудит продовжується і повідомляє `secretDiagnostics` (замість аварійного завершення).
- `--token` і `--password` лише перевизначають auth для глибокої перевірки в межах цього виклику команди; вони не переписують config або зіставлення SecretRef.
## Вивід JSON
Використовуйте `--json` для перевірок CI/політик:
```bash
openclaw security audit --json | jq '.summary'
openclaw security audit --deep --json | jq '.findings[] | select(.severity=="critical") | .checkId'
```
Якщо поєднати `--fix` і `--json`, вивід міститиме і дії виправлення, і фінальний звіт:
```bash
openclaw security audit --fix --json | jq '{fix: .fix.ok, summary: .report.summary}'
```
## Що змінює `--fix`
`--fix` застосовує безпечні, детерміновані виправлення:
- перемикає поширене `groupPolicy="open"` на `groupPolicy="allowlist"` (включно з варіантами для облікових записів у підтримуваних каналах)
- коли політика груп WhatsApp перемикається на `allowlist`, заповнює `groupAllowFrom` зі
збереженого файла `allowFrom`, якщо такий список існує, а config ще не
визначає `allowFrom`
- встановлює `logging.redactSensitive` з `"off"` на `"tools"`
- посилює права доступу для state/config і поширених чутливих файлів
(`credentials/*.json`, `auth-profiles.json`, `sessions.json`, session
`*.jsonl`)
- також посилює права для файлів include конфігурації, на які посилається `openclaw.json`
- використовує `chmod` на POSIX-хостах і скидання `icacls` на Windows
`--fix` **не** робить такого:
- не ротує токени/паролі/API key
- не вимикає інструменти (`gateway`, `cron`, `exec` тощо)
- не змінює вибір прив’язки/автентифікації/мережевої доступності gateway
- не видаляє й не переписує plugins/Skills

120
docs/uk/cli/sessions.md Normal file
View File

@ -0,0 +1,120 @@
---
read_when:
- Ви хочете переглянути список збережених сесій і побачити нещодавню активність
summary: Довідник CLI для `openclaw sessions` (список збережених сесій + використання)
title: сесії
x-i18n:
generated_at: "2026-04-23T06:19:16Z"
model: gpt-5.4
provider: openai
source_hash: 47eb55d90bd0681676283310cfa50dcacc95dff7d9a39bf2bb188788c6e5e5ba
source_path: cli/sessions.md
workflow: 15
---
# `openclaw sessions`
Перегляд списку збережених сесій розмов.
```bash
openclaw sessions
openclaw sessions --agent work
openclaw sessions --all-agents
openclaw sessions --active 120
openclaw sessions --verbose
openclaw sessions --json
```
Вибір області:
- типово: сховище типового агента, налаштоване в конфігурації
- `--verbose`: докладне журналювання
- `--agent <id>`: одне сховище налаштованого агента
- `--all-agents`: агрегувати всі сховища налаштованих агентів
- `--store <path>`: явний шлях до сховища (не можна поєднувати з `--agent` або `--all-agents`)
`openclaw sessions --all-agents` читає сховища налаштованих агентів. Виявлення сесій Gateway і ACP
має ширшу область: воно також включає сховища лише на диску, знайдені під
типовим коренем `agents/` або шаблонізованим коренем `session.store`. Ці
виявлені сховища мають визначатися як звичайні файли `sessions.json` усередині
кореня агента; symlink і шляхи поза коренем пропускаються.
Приклади JSON:
`openclaw sessions --all-agents --json`:
```json
{
"path": null,
"stores": [
{ "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" },
{ "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" }
],
"allAgents": true,
"count": 2,
"activeMinutes": null,
"sessions": [
{ "agentId": "main", "key": "agent:main:main", "model": "gpt-5" },
{ "agentId": "work", "key": "agent:work:main", "model": "claude-opus-4-6" }
]
}
```
## Обслуговування очищення
Запустіть обслуговування зараз (замість очікування наступного циклу запису):
```bash
openclaw sessions cleanup --dry-run
openclaw sessions cleanup --agent work --dry-run
openclaw sessions cleanup --all-agents --dry-run
openclaw sessions cleanup --enforce
openclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"
openclaw sessions cleanup --json
```
`openclaw sessions cleanup` використовує параметри `session.maintenance` з конфігурації:
- Примітка щодо області: `openclaw sessions cleanup` обслуговує лише сховища сесій/transcript. Воно не очищує журнали запусків cron (`cron/runs/<jobId>.jsonl`), якими керують `cron.runLog.maxBytes` і `cron.runLog.keepLines` у [Cron configuration](/uk/automation/cron-jobs#configuration) і які пояснюються в [Cron maintenance](/uk/automation/cron-jobs#maintenance).
- `--dry-run`: попередньо показати, скільки записів буде очищено/обмежено без запису.
- У текстовому режимі dry-run виводить таблицю дій для кожної сесії (`Action`, `Key`, `Age`, `Model`, `Flags`), щоб ви могли побачити, що буде збережено, а що видалено.
- `--enforce`: застосувати обслуговування, навіть коли `session.maintenance.mode` має значення `warn`.
- `--fix-missing`: видалити записи, файли transcript яких відсутні, навіть якщо зазвичай вони ще не підлягали б очищенню через вік/кількість.
- `--active-key <key>`: захистити конкретний активний ключ від витіснення через бюджет диска.
- `--agent <id>`: запустити очищення для одного сховища налаштованого агента.
- `--all-agents`: запустити очищення для всіх сховищ налаштованих агентів.
- `--store <path>`: запустити для конкретного файла `sessions.json`.
- `--json`: вивести зведення JSON. Із `--all-agents` вивід містить одне зведення для кожного сховища.
`openclaw sessions cleanup --all-agents --dry-run --json`:
```json
{
"allAgents": true,
"mode": "warn",
"dryRun": true,
"stores": [
{
"agentId": "main",
"storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json",
"beforeCount": 120,
"afterCount": 80,
"pruned": 40,
"capped": 0
},
{
"agentId": "work",
"storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json",
"beforeCount": 18,
"afterCount": 18,
"pruned": 0,
"capped": 0
}
]
}
```
Пов’язане:
- Конфігурація сесій: [Configuration reference](/uk/gateway/configuration-reference#session)

52
docs/uk/cli/setup.md Normal file
View File

@ -0,0 +1,52 @@
---
read_when:
- Ви виконуєте початкове налаштування без повного онбордингу CLI
- Ви хочете встановити типовий шлях до workspace
summary: Довідник CLI для `openclaw setup` (ініціалізація конфігурації та workspace)
title: setup
x-i18n:
generated_at: "2026-04-23T06:19:18Z"
model: gpt-5.4
provider: openai
source_hash: f538aac341c749043ad959e35f2ed99c844ab8c3500ff59aa159d940bd301792
source_path: cli/setup.md
workflow: 15
---
# `openclaw setup`
Ініціалізуйте `~/.openclaw/openclaw.json` і workspace агента.
Пов’язане:
- Початок роботи: [Початок роботи](/uk/start/getting-started)
- Онбординг CLI: [Онбординг (CLI)](/uk/start/wizard)
## Приклади
```bash
openclaw setup
openclaw setup --workspace ~/.openclaw/workspace
openclaw setup --wizard
openclaw setup --non-interactive --mode remote --remote-url wss://gateway-host:18789 --remote-token <token>
```
## Параметри
- `--workspace <dir>`: каталог workspace агента (зберігається як `agents.defaults.workspace`)
- `--wizard`: запустити онбординг
- `--non-interactive`: запустити онбординг без запитів
- `--mode <local|remote>`: режим онбордингу
- `--remote-url <url>`: URL WebSocket віддаленого Gateway
- `--remote-token <token>`: токен віддаленого Gateway
Щоб запустити онбординг через setup:
```bash
openclaw setup --wizard
```
Примітки:
- Звичайна команда `openclaw setup` ініціалізує конфігурацію + workspace без повного потоку онбордингу.
- Онбординг запускається автоматично, якщо присутні будь-які прапорці онбордингу (`--wizard`, `--non-interactive`, `--mode`, `--remote-url`, `--remote-token`).

66
docs/uk/cli/skills.md Normal file
View File

@ -0,0 +1,66 @@
---
read_when:
- Ви хочете побачити, які Skills доступні та готові до запуску
- Ви хочете шукати, встановлювати або оновлювати Skills із ClawHub
- Ви хочете налагодити відсутні бінарні файли/змінні середовища/конфігурацію для Skills
summary: Довідка CLI для `openclaw skills` (пошук/встановлення/оновлення/список/інформація/перевірка)
title: Skills
x-i18n:
generated_at: "2026-04-23T06:19:25Z"
model: gpt-5.4
provider: openai
source_hash: 11af59b1b6bff19cc043acd8d67bdd4303201d3f75f23c948b83bf14882c7bb1
source_path: cli/skills.md
workflow: 15
---
# `openclaw skills`
Перевіряйте локальні Skills і встановлюйте/оновлюйте Skills із ClawHub.
Пов’язане:
- Система Skills: [Skills](/uk/tools/skills)
- Конфігурація Skills: [Конфігурація Skills](/uk/tools/skills-config)
- Встановлення з ClawHub: [ClawHub](/uk/tools/clawhub)
## Команди
```bash
openclaw skills search "calendar"
openclaw skills search --limit 20 --json
openclaw skills install <slug>
openclaw skills install <slug> --version <version>
openclaw skills install <slug> --force
openclaw skills update <slug>
openclaw skills update --all
openclaw skills list
openclaw skills list --eligible
openclaw skills list --json
openclaw skills list --verbose
openclaw skills info <name>
openclaw skills info <name> --json
openclaw skills check
openclaw skills check --json
```
`search`/`install`/`update` використовують ClawHub безпосередньо й установлюють у активний
каталог робочого простору `skills/`. `list`/`info`/`check` і далі перевіряють локальні
Skills, видимі для поточного робочого простору та конфігурації.
Ця команда CLI `install` завантажує теки Skills із ClawHub. Установлення залежностей skill через gateway,
які запускаються з onboarding або налаштувань Skills, натомість використовують окремий
шлях запиту `skills.install`.
Примітки:
- `search [query...]` приймає необов’язковий пошуковий запит; не вказуйте його, щоб переглянути стандартну
стрічку пошуку ClawHub.
- `search --limit <n>` обмежує кількість повернених результатів.
- `install --force` перезаписує наявну теку workspace skill для того самого
slug.
- `update --all` оновлює лише відстежувані встановлення з ClawHub в активному workspace.
- `list` є дією за замовчуванням, якщо підкоманду не вказано.
- `list`, `info` і `check` записують свій відрендерений вивід у stdout. З
`--json` це означає, що машинозчитуване корисне навантаження лишається в stdout для конвеєрів
і скриптів.

42
docs/uk/cli/status.md Normal file
View File

@ -0,0 +1,42 @@
---
read_when:
- Вам потрібна швидка діагностика стану каналу + нещодавніх одержувачів сеансу
- Вам потрібен придатний для вставлення статус “all” для налагодження
summary: Довідник CLI для `openclaw status` (діагностика, проби, знімки використання)
title: status
x-i18n:
generated_at: "2026-04-23T06:19:26Z"
model: gpt-5.4
provider: openai
source_hash: fbe9d94fbe9938cd946ee6f293b5bd3b464b75e1ade2eacdd851788c3bffe94e
source_path: cli/status.md
workflow: 15
---
# `openclaw status`
Діагностика для каналів і сеансів.
```bash
openclaw status
openclaw status --all
openclaw status --deep
openclaw status --usage
```
Примітки:
- `--deep` запускає живі проби (WhatsApp Web + Telegram + Discord + Slack + Signal).
- `--usage` виводить нормалізовані вікна використання провайдера як `X% left`.
- Необроблені поля `usage_percent` / `usagePercent` у MiniMax означають залишок квоти, тому OpenClaw інвертує їх перед відображенням; за наявності пріоритет мають поля на основі лічильників. Відповіді `model_remains` віддають перевагу запису chat-model, за потреби виводять мітку вікна з часових позначок і включають назву моделі в мітку плану.
- Коли поточний знімок сеансу містить мало даних, `/status` може добирати лічильники токенів і кешу з найновішого журналу використання transcript. Наявні ненульові live-значення все одно мають пріоритет над резервними значеннями з transcript.
- Резервні дані з transcript також можуть відновити мітку активної runtime-моделі, якщо її немає в live-записі сеансу. Якщо ця модель із transcript відрізняється від вибраної моделі, status визначає context window за відновленою runtime-моделлю, а не за вибраною.
- Для обліку розміру prompt резервні дані з transcript віддають перевагу більшому загальному значенню, орієнтованому на prompt, коли метадані сеансу відсутні або менші, щоб сеанси custom-provider не зводилися до відображення `0` токенів.
- Вивід включає сховища сеансів для кожного агента, якщо налаштовано кілька агентів.
- Огляд включає стан встановлення/виконання Gateway і служби вузла хоста, якщо доступно.
- Огляд включає канал оновлення та git SHA (для source checkout).
- Інформація про оновлення відображається в огляді; якщо оновлення доступне, status показує підказку виконати `openclaw update` (див. [Оновлення](/uk/install/updating)).
- Поверхні status лише для читання (`status`, `status --json`, `status --all`) за можливості визначають підтримувані SecretRef для цільових шляхів конфігурації.
- Якщо підтримуваний SecretRef каналу налаштований, але недоступний у поточному шляху команди, status залишається лише для читання і повідомляє про деградований вивід замість аварійного завершення. Людинозрозумілий вивід показує попередження на кшталт “configured token unavailable in this command path”, а JSON-вивід включає `secretDiagnostics`.
- Коли локальне для команди визначення SecretRef успішне, status віддає перевагу визначеному знімку і прибирає тимчасові маркери каналу “secret unavailable” з фінального виводу.
- `status --all` включає рядок огляду Secrets і розділ діагностики, який підсумовує діагностику секретів (усічено для зручності читання) без зупинки генерації звіту.

78
docs/uk/cli/system.md Normal file
View File

@ -0,0 +1,78 @@
---
read_when:
- Ви хочете поставити системну подію в чергу без створення завдання Cron
- Вам потрібно ввімкнути або вимкнути Heartbeat
- Ви хочете переглянути записи системної присутності
summary: Довідник CLI для `openclaw system` (системні події, Heartbeat, присутність)
title: система
x-i18n:
generated_at: "2026-04-23T06:19:35Z"
model: gpt-5.4
provider: openai
source_hash: a7d19afde9d9cde8a79b0bb8cec6e5673466f4cb9b575fb40111fc32f4eee5d7
source_path: cli/system.md
workflow: 15
---
# `openclaw system`
Допоміжні засоби рівня системи для Gateway: постановка системних подій у чергу, керування Heartbeat
і перегляд присутності.
Усі підкоманди `system` використовують Gateway RPC і приймають спільні прапорці клієнта:
- `--url <url>`
- `--token <token>`
- `--timeout <ms>`
- `--expect-final`
## Поширені команди
```bash
openclaw system event --text "Check for urgent follow-ups" --mode now
openclaw system event --text "Check for urgent follow-ups" --url ws://127.0.0.1:18789 --token "$OPENCLAW_GATEWAY_TOKEN"
openclaw system heartbeat enable
openclaw system heartbeat last
openclaw system presence
```
## `system event`
Поставити системну подію в чергу в **main**-сесії. Наступний Heartbeat вставить
її як рядок `System:` у prompt. Використовуйте `--mode now`, щоб негайно запустити Heartbeat;
`next-heartbeat` чекає наступного запланованого тіку.
Прапорці:
- `--text <text>`: обов’язковий текст системної події.
- `--mode <mode>`: `now` або `next-heartbeat` (типово).
- `--json`: машиночитаний вивід.
- `--url`, `--token`, `--timeout`, `--expect-final`: спільні прапорці Gateway RPC.
## `system heartbeat last|enable|disable`
Керування Heartbeat:
- `last`: показати останню подію Heartbeat.
- `enable`: знову ввімкнути Heartbeat (використовуйте це, якщо його було вимкнено).
- `disable`: призупинити Heartbeat.
Прапорці:
- `--json`: машиночитаний вивід.
- `--url`, `--token`, `--timeout`, `--expect-final`: спільні прапорці Gateway RPC.
## `system presence`
Показати список поточних записів системної присутності, про які знає Gateway (nodes,
instances та подібні рядки стану).
Прапорці:
- `--json`: машиночитаний вивід.
- `--url`, `--token`, `--timeout`, `--expect-final`: спільні прапорці Gateway RPC.
## Примітки
- Потребує запущеного Gateway, доступного через вашу поточну конфігурацію (локальну або віддалену).
- Системні події є ефемерними й не зберігаються між перезапусками.

105
docs/uk/cli/tasks.md Normal file
View File

@ -0,0 +1,105 @@
---
read_when:
- Ви хочете переглянути, перевірити або скасувати записи фонових завдань
- Ви документуєте команди TaskFlow у розділі `openclaw tasks flow`
summary: Довідка CLI для `openclaw tasks` (реєстр фонових завдань і стан TaskFlow)
title: '`openclaw tasks`'
x-i18n:
generated_at: "2026-04-23T06:19:42Z"
model: gpt-5.4
provider: openai
source_hash: 549e07c8a576cb4c5bd48874f16b0daa4a34facb53b102e12d358bdad2191628
source_path: cli/tasks.md
workflow: 15
---
# `openclaw tasks`
Переглядайте довготривалі фонові завдання й стан TaskFlow. Без підкоманди
`openclaw tasks` еквівалентна `openclaw tasks list`.
Див. [Фонові завдання](/uk/automation/tasks) для життєвого циклу та моделі доставки.
## Використання
```bash
openclaw tasks
openclaw tasks list
openclaw tasks list --runtime acp
openclaw tasks list --status running
openclaw tasks show <lookup>
openclaw tasks notify <lookup> state_changes
openclaw tasks cancel <lookup>
openclaw tasks audit
openclaw tasks maintenance
openclaw tasks maintenance --apply
openclaw tasks flow list
openclaw tasks flow show <lookup>
openclaw tasks flow cancel <lookup>
```
## Кореневі параметри
- `--json`: виводити JSON.
- `--runtime <name>`: фільтрувати за типом: `subagent`, `acp`, `cron` або `cli`.
- `--status <name>`: фільтрувати за статусом: `queued`, `running`, `succeeded`, `failed`, `timed_out`, `cancelled` або `lost`.
## Підкоманди
### `list`
```bash
openclaw tasks list [--runtime <name>] [--status <name>] [--json]
```
Показує відстежувані фонові завдання, починаючи з найновіших.
### `show`
```bash
openclaw tasks show <lookup> [--json]
```
Показує одне завдання за ID завдання, ID запуску або ключем сеансу.
### `notify`
```bash
openclaw tasks notify <lookup> <done_only|state_changes|silent>
```
Змінює політику сповіщень для фонового завдання, що виконується.
### `cancel`
```bash
openclaw tasks cancel <lookup>
```
Скасовує фонове завдання, що виконується.
### `audit`
```bash
openclaw tasks audit [--severity <warn|error>] [--code <name>] [--limit <n>] [--json]
```
Виявляє застарілі, втрачені, з невдалою доставкою або іншим чином неузгоджені записи завдань і TaskFlow.
### `maintenance`
```bash
openclaw tasks maintenance [--apply] [--json]
```
Попередньо переглядає або застосовує звіряння завдань і TaskFlow, позначення очищення та обрізання.
### `flow`
```bash
openclaw tasks flow list [--status <name>] [--json]
openclaw tasks flow show <lookup> [--json]
openclaw tasks flow cancel <lookup>
```
Переглядає або скасовує довготривалий стан TaskFlow у реєстрі завдань.

73
docs/uk/cli/tui.md Normal file
View File

@ -0,0 +1,73 @@
---
read_when:
- Ви хочете TUI для Gateway (зручно для віддаленої роботи)
- Ви хочете передавати url/token/session зі скриптів
- Ви хочете запускати TUI у локальному вбудованому режимі без Gateway
- Ви хочете використовувати openclaw chat або openclaw tui --local
summary: Довідка CLI для `openclaw tui` (TUI на основі Gateway або локально вбудований)
title: TUI
x-i18n:
generated_at: "2026-04-23T06:19:44Z"
model: gpt-5.4
provider: openai
source_hash: 5f4b7cf2468779e0711f38a2cc304d783bb115fd5c5e573c9d1bc982da6e2905
source_path: cli/tui.md
workflow: 15
---
# `openclaw tui`
Відкрийте TUI термінала, підключений до Gateway, або запустіть його в локальному вбудованому
режимі.
Пов’язано:
- Посібник з TUI: [TUI](/uk/web/tui)
Примітки:
- `chat` і `terminal` — це псевдоніми для `openclaw tui --local`.
- `--local` не можна поєднувати з `--url`, `--token` або `--password`.
- `tui` визначає налаштовані auth SecretRef Gateway для автентифікації токеном/паролем, коли це можливо (`env`/`file`/`exec` providers).
- Якщо запуск відбувається зсередини каталогу налаштованого робочого простору агента, TUI автоматично вибирає цього агента як типове значення ключа сесії (якщо тільки `--session` не задано явно як `agent:<id>:...`).
- Локальний режим використовує вбудоване середовище виконання агента безпосередньо. Більшість локальних інструментів працює, але функції лише Gateway недоступні.
- У локальному режимі до поверхні команд TUI додається `/auth [provider]`.
## Приклади
```bash
openclaw chat
openclaw tui --local
openclaw tui
openclaw tui --url ws://127.0.0.1:18789 --token <token>
openclaw tui --session main --deliver
openclaw chat --message "Compare my config to the docs and tell me what to fix"
# when run inside an agent workspace, infers that agent automatically
openclaw tui --session bugfix
```
## Цикл виправлення конфігурації
Використовуйте локальний режим, коли поточна конфігурація вже проходить
перевірку і ви хочете, щоб вбудований агент проаналізував її, порівняв із документацією та допоміг виправити
з того самого термінала:
Якщо `openclaw config validate` уже завершується помилкою, спочатку використайте `openclaw configure` або
`openclaw doctor --fix`. `openclaw chat` не обходить захист від недійсної
конфігурації.
```bash
openclaw chat
```
Потім усередині TUI:
```text
!openclaw config file
!openclaw docs gateway auth token secretref
!openclaw config validate
!openclaw doctor
```
Застосовуйте точкові виправлення за допомогою `openclaw config set` або `openclaw configure`, а потім
повторно запускайте `openclaw config validate`. Див. [TUI](/uk/web/tui) і [Config](/uk/cli/config).

46
docs/uk/cli/uninstall.md Normal file
View File

@ -0,0 +1,46 @@
---
read_when:
- Ви хочете видалити службу Gateway та/або локальний стан
- Ви спочатку хочете dry-run
summary: Довідник CLI для `openclaw uninstall` (видалення служби Gateway і локальних даних)
title: uninstall
x-i18n:
generated_at: "2026-04-23T06:19:41Z"
model: gpt-5.4
provider: openai
source_hash: 2123a4f9c7a070ef7e13c60dafc189053ef61ce189fa4f29449dd50987c1894c
source_path: cli/uninstall.md
workflow: 15
---
# `openclaw uninstall`
Видалення служби Gateway + локальних даних (CLI залишається).
Параметри:
- `--service`: видалити службу Gateway
- `--state`: видалити стан і конфігурацію
- `--workspace`: видалити каталоги workspace
- `--app`: видалити застосунок macOS
- `--all`: видалити службу, стан, workspace і застосунок
- `--yes`: пропустити запити на підтвердження
- `--non-interactive`: вимкнути запити; потребує `--yes`
- `--dry-run`: показати дії без видалення файлів
Приклади:
```bash
openclaw backup create
openclaw uninstall
openclaw uninstall --service --yes --non-interactive
openclaw uninstall --state --workspace --yes --non-interactive
openclaw uninstall --all --yes
openclaw uninstall --dry-run
```
Примітки:
- Спочатку виконайте `openclaw backup create`, якщо хочете мати відновлюваний знімок перед видаленням стану або workspace.
- `--all` — це скорочення для одночасного видалення служби, стану, workspace і застосунку.
- `--non-interactive` потребує `--yes`.

135
docs/uk/cli/update.md Normal file
View File

@ -0,0 +1,135 @@
---
read_when:
- Ви хочете безпечно оновити checkout із вихідним кодом
- Вам потрібно зрозуміти скорочену поведінку `--update`
summary: Довідка CLI для `openclaw update` (відносно безпечне оновлення вихідного коду + автоматичний перезапуск gateway)
title: оновлення
x-i18n:
generated_at: "2026-04-23T06:19:50Z"
model: gpt-5.4
provider: openai
source_hash: dc049ecf3d35fe276a1e5962bb8e5316dbbc3219ef0b91ee64d41cbbea20f9ae
source_path: cli/update.md
workflow: 15
---
# `openclaw update`
Безпечно оновлюйте OpenClaw і перемикайтеся між каналами stable/beta/dev.
Якщо ви встановили через **npm/pnpm/bun** (глобальне встановлення без метаданих git),
оновлення виконуються через потік менеджера пакетів у [Оновлення](/uk/install/updating).
## Використання
```bash
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --tag main
openclaw update --dry-run
openclaw update --no-restart
openclaw update --yes
openclaw update --json
openclaw --update
```
## Параметри
- `--no-restart`: пропустити перезапуск служби Gateway після успішного оновлення.
- `--channel <stable|beta|dev>`: установити канал оновлення (git + npm; зберігається в config).
- `--tag <dist-tag|version|spec>`: перевизначити ціль пакета лише для цього оновлення. Для встановлень через пакети `main` зіставляється з `github:openclaw/openclaw#main`.
- `--dry-run`: попередньо показати заплановані дії оновлення (канал/tag/ціль/потік перезапуску) без запису config, встановлення, синхронізації plugins або перезапуску.
- `--json`: вивести машинозчитуваний JSON `UpdateRunResult`, включно з
`postUpdate.plugins.integrityDrifts`, коли під час післяоновлювальної синхронізації plugins виявлено
розходження артефактів npm plugin.
- `--timeout <seconds>`: тайм-аут для кожного кроку (типово 1200 с).
- `--yes`: пропустити запити на підтвердження (наприклад підтвердження зниження версії)
Примітка: зниження версії вимагає підтвердження, оскільки старіші версії можуть зламати конфігурацію.
## `update status`
Показати активний канал оновлення + git tag/branch/SHA (для checkout із вихідним кодом), а також доступність оновлень.
```bash
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
```
Параметри:
- `--json`: вивести машинозчитуваний JSON стану.
- `--timeout <seconds>`: тайм-аут для перевірок (типово 3 с).
## `update wizard`
Інтерактивний потік для вибору каналу оновлення та підтвердження, чи слід перезапустити Gateway
після оновлення (типово — перезапуск). Якщо ви виберете `dev` без checkout git, він
запропонує створити його.
Параметри:
- `--timeout <seconds>`: тайм-аут для кожного кроку оновлення (типово `1200`)
## Що це робить
Коли ви явно перемикаєте канали (`--channel ...`), OpenClaw також підтримує
узгодженість зі способом встановлення:
- `dev` → забезпечує наявність checkout git (типово: `~/openclaw`, можна перевизначити через `OPENCLAW_GIT_DIR`),
оновлює його та встановлює глобальний CLI з цього checkout.
- `stable` → встановлює з npm, використовуючи `latest`.
- `beta` → надає перевагу npm dist-tag `beta`, але повертається до `latest`, якщо beta
відсутня або старіша за поточний стабільний випуск.
Автооновлювач ядра Gateway (коли його ввімкнено через config) повторно використовує цей самий шлях оновлення.
Для встановлень через менеджер пакетів `openclaw update` визначає цільову версію пакета
перед викликом менеджера пакетів. Якщо встановлена версія точно
збігається з цільовою і не потрібно зберігати жодну зміну каналу оновлення, команда
завершується як пропущена ще до встановлення пакета, синхронізації plugins, оновлення completion
або перезапуску gateway.
## Потік checkout git
Канали:
- `stable`: checkout останнього non-beta tag, потім build + doctor.
- `beta`: надає перевагу останньому tag `-beta`, але повертається до останнього stable tag,
якщо beta відсутній або старіший.
- `dev`: checkout `main`, потім fetch + rebase.
На високому рівні:
1. Потрібен чистий worktree (без незакомічених змін).
2. Перемикається на вибраний канал (tag або branch).
3. Отримує зміни з upstream (лише dev).
4. Лише для dev: виконує попередню перевірку lint + збірку TypeScript у тимчасовому worktree; якщо вершина не проходить перевірку, відступає до 10 комітів назад, щоб знайти найновішу чисту збірку.
5. Виконує rebase на вибраний коміт (лише dev).
6. Встановлює залежності за допомогою менеджера пакетів репозиторію. Для checkout із pnpm засіб оновлення за потреби ініціалізує `pnpm` (спочатку через `corepack`, потім через тимчасовий резервний `npm install pnpm@10`) замість виконання `npm run build` усередині workspace pnpm.
7. Виконує build + build Control UI.
8. Запускає `openclaw doctor` як фінальну перевірку «безпечного оновлення».
9. Синхронізує plugins з активним каналом (dev використовує bundled extensions; stable/beta використовують npm) і оновлює plugins, установлені через npm.
Якщо оновлення точно закріпленого npm plugin визначається до артефакту, чия цілісність
відрізняється від збереженого запису встановлення, `openclaw update` перериває це оновлення
артефакту plugin замість його встановлення. Перевстановлюйте або оновлюйте plugin
явно лише після перевірки, що ви довіряєте новому артефакту.
Якщо ініціалізація pnpm усе ще завершується невдачею, засіб оновлення тепер рано зупиняється з помилкою, специфічною для менеджера пакетів, замість спроби виконати `npm run build` усередині checkout.
## Скорочення `--update`
`openclaw --update` переписується в `openclaw update` (корисно для shell і launcher-скриптів).
## Див. також
- `openclaw doctor` (пропонує спочатку запустити оновлення для checkout git)
- [Канали розробки](/uk/install/development-channels)
- [Оновлення](/uk/install/updating)
- [Довідка CLI](/uk/cli)

41
docs/uk/cli/voicecall.md Normal file
View File

@ -0,0 +1,41 @@
---
read_when:
- Ви використовуєте voice-call plugin і хочете отримати точки входу CLI
- Ви хочете отримати швидкі приклади для `voicecall call|continue|status|tail|expose`
summary: Довідник CLI для `openclaw voicecall` (поверхня команд voice-call plugin)
title: голосовий виклик
x-i18n:
generated_at: "2026-04-23T06:19:47Z"
model: gpt-5.4
provider: openai
source_hash: 2c99e7a3d256e1c74a0f07faba9675cc5a88b1eb2fc6e22993caf3874d4f340a
source_path: cli/voicecall.md
workflow: 15
---
# `openclaw voicecall`
`voicecall` — це команда, яку надає plugin. Вона з’являється лише тоді, коли plugin voice-call установлено та ввімкнено.
Основна документація:
- Plugin voice-call: [Voice Call](/uk/plugins/voice-call)
## Поширені команди
```bash
openclaw voicecall status --call-id <id>
openclaw voicecall call --to "+15555550123" --message "Hello" --mode notify
openclaw voicecall continue --call-id <id> --message "Any questions?"
openclaw voicecall end --call-id <id>
```
## Відкриття Webhook назовні (Tailscale)
```bash
openclaw voicecall expose --mode serve
openclaw voicecall expose --mode funnel
openclaw voicecall expose --mode off
```
Примітка щодо безпеки: відкривайте endpoint Webhook лише для мереж, яким ви довіряєте. Якщо можливо, надавайте перевагу Tailscale Serve замість Funnel.

98
docs/uk/cli/webhooks.md Normal file
View File

@ -0,0 +1,98 @@
---
read_when:
- Ви хочете підключити події Gmail Pub/Sub до OpenClaw
- Вам потрібні допоміжні команди Webhook
summary: Довідник CLI для `openclaw webhooks` (допоміжні засоби Webhook + Gmail Pub/Sub)
title: webhooks
x-i18n:
generated_at: "2026-04-23T06:19:50Z"
model: gpt-5.4
provider: openai
source_hash: 2b22ce879c3a94557be57919b4d2b3e92ff4d41fbae7bc88d2ab07cd4bbeac83
source_path: cli/webhooks.md
workflow: 15
---
# `openclaw webhooks`
Допоміжні засоби Webhook та інтеграції (Gmail Pub/Sub, допоміжні засоби webhook).
Пов’язане:
- Webhooks: [Webhooks](/uk/automation/cron-jobs#webhooks)
- Gmail Pub/Sub: [Gmail Pub/Sub](/uk/automation/cron-jobs#gmail-pubsub-integration)
## Gmail
```bash
openclaw webhooks gmail setup --account you@example.com
openclaw webhooks gmail run
```
### `webhooks gmail setup`
Налаштування Gmail watch, Pub/Sub і доставки Webhook OpenClaw.
Обов’язково:
- `--account <email>`
Параметри:
- `--project <id>`
- `--topic <name>`
- `--subscription <name>`
- `--label <label>`
- `--hook-url <url>`
- `--hook-token <token>`
- `--push-token <token>`
- `--bind <host>`
- `--port <port>`
- `--path <path>`
- `--include-body`
- `--max-bytes <n>`
- `--renew-minutes <n>`
- `--tailscale <funnel|serve|off>`
- `--tailscale-path <path>`
- `--tailscale-target <target>`
- `--push-endpoint <url>`
- `--json`
Приклади:
```bash
openclaw webhooks gmail setup --account you@example.com
openclaw webhooks gmail setup --account you@example.com --project my-gcp-project --json
openclaw webhooks gmail setup --account you@example.com --hook-url https://gateway.example.com/hooks/gmail
```
### `webhooks gmail run`
Запуск `gog watch serve` разом із циклом автоматичного поновлення watch.
Параметри:
- `--account <email>`
- `--topic <topic>`
- `--subscription <name>`
- `--label <label>`
- `--hook-url <url>`
- `--hook-token <token>`
- `--push-token <token>`
- `--bind <host>`
- `--port <port>`
- `--path <path>`
- `--include-body`
- `--max-bytes <n>`
- `--renew-minutes <n>`
- `--tailscale <funnel|serve|off>`
- `--tailscale-path <path>`
- `--tailscale-target <target>`
Приклад:
```bash
openclaw webhooks gmail run --account you@example.com
```
Див. [документацію Gmail Pub/Sub](/uk/automation/cron-jobs#gmail-pubsub-integration) для наскрізного процесу налаштування та операційних деталей.

220
docs/uk/cli/wiki.md Normal file
View File

@ -0,0 +1,220 @@
---
read_when:
- Ви хочете використовувати CLI memory-wiki
- Ви документуєте або змінюєте `openclaw wiki`
summary: Довідка CLI для `openclaw wiki` (стан сховища memory-wiki, пошук, компіляція, lint, застосування, міст і допоміжні засоби Obsidian)
title: вікі
x-i18n:
generated_at: "2026-04-23T06:19:51Z"
model: gpt-5.4
provider: openai
source_hash: e94908532c35da4edf488266ddc6eee06e8f7833eeba5f2b5c0c7d5d45b65eef
source_path: cli/wiki.md
workflow: 15
---
# `openclaw wiki`
Перегляд і підтримка сховища `memory-wiki`.
Надається вбудованим Plugin `memory-wiki`.
Пов’язане:
- [Plugin Memory Wiki](/uk/plugins/memory-wiki)
- [Огляд пам’яті](/uk/concepts/memory)
- [CLI: memory](/uk/cli/memory)
## Для чого це потрібно
Використовуйте `openclaw wiki`, коли вам потрібне скомпільоване сховище знань із:
- пошуком і читанням сторінок, нативними для вікі
- синтезами з багатим походженням даних
- звітами про суперечності та актуальність
- імпортом через міст з активного Plugin пам’яті
- необов’язковими допоміжними засобами CLI для Obsidian
## Поширені команди
```bash
openclaw wiki status
openclaw wiki doctor
openclaw wiki init
openclaw wiki ingest ./notes/alpha.md
openclaw wiki compile
openclaw wiki lint
openclaw wiki search "alpha"
openclaw wiki get entity.alpha --from 1 --lines 80
openclaw wiki apply synthesis "Alpha Summary" \
--body "Short synthesis body" \
--source-id source.alpha
openclaw wiki apply metadata entity.alpha \
--source-id source.alpha \
--status review \
--question "Still active?"
openclaw wiki bridge import
openclaw wiki unsafe-local import
openclaw wiki obsidian status
openclaw wiki obsidian search "alpha"
openclaw wiki obsidian open syntheses/alpha-summary.md
openclaw wiki obsidian command workspace:quick-switcher
openclaw wiki obsidian daily
```
## Команди
### `wiki status`
Переглянути поточний режим сховища, його стан і доступність CLI Obsidian.
Спочатку використовуйте це, якщо ви не впевнені, чи сховище ініціалізовано, чи режим bridge
працює коректно, або чи доступна інтеграція з Obsidian.
### `wiki doctor`
Запустити перевірки стану вікі й показати проблеми конфігурації або сховища.
Типові проблеми включають:
- увімкнений режим bridge без публічних артефактів пам’яті
- невалідний або відсутній макет сховища
- відсутній зовнішній CLI Obsidian, коли очікується режим Obsidian
### `wiki init`
Створити макет сховища вікі та стартові сторінки.
Це ініціалізує кореневу структуру, включно з індексами верхнього рівня та каталогами
кешу.
### `wiki ingest <path-or-url>`
Імпортувати вміст до шару джерел вікі.
Примітки:
- імпорт URL контролюється `ingest.allowUrlIngest`
- імпортовані сторінки джерел зберігають походження даних у frontmatter
- за наявності відповідного налаштування після імпорту може запускатися автокомпіляція
### `wiki compile`
Перебудувати індекси, пов’язані блоки, dashboard і скомпільовані дайджести.
Це записує стабільні машинно-орієнтовані артефакти до:
- `.openclaw-wiki/cache/agent-digest.json`
- `.openclaw-wiki/cache/claims.jsonl`
Якщо ввімкнено `render.createDashboards`, compile також оновлює сторінки звітів.
### `wiki lint`
Перевірити сховище та повідомити про:
- структурні проблеми
- прогалини в походженні даних
- суперечності
- відкриті питання
- сторінки/твердження з низькою впевненістю
- застарілі сторінки/твердження
Запускайте це після суттєвих оновлень вікі.
### `wiki search <query>`
Шукати вміст вікі.
Поведінка залежить від конфігурації:
- `search.backend`: `shared` або `local`
- `search.corpus`: `wiki`, `memory` або `all`
Використовуйте `wiki search`, коли вам потрібні ранжування, специфічне для вікі, або деталі походження даних.
Для одного широкого проходу спільного пошуку віддавайте перевагу `openclaw memory search`, коли
активний Plugin пам’яті надає спільний пошук.
### `wiki get <lookup>`
Прочитати сторінку вікі за id або відносним шляхом.
Приклади:
```bash
openclaw wiki get entity.alpha
openclaw wiki get syntheses/alpha-summary.md --from 1 --lines 80
```
### `wiki apply`
Застосувати вузькі зміни без довільного редагування сторінок.
Підтримувані сценарії включають:
- створення/оновлення сторінки синтезу
- оновлення метаданих сторінки
- приєднання id джерел
- додавання питань
- додавання суперечностей
- оновлення впевненості/статусу
- запис структурованих тверджень
Ця команда існує для того, щоб вікі могла безпечно розвиватися без ручного редагування
керованих блоків.
### `wiki bridge import`
Імпортувати публічні артефакти пам’яті з активного Plugin пам’яті до сторінок джерел,
що підтримуються bridge.
Використовуйте це в режимі `bridge`, коли хочете, щоб до сховища вікі було підтягнуто
останні експортовані артефакти пам’яті.
### `wiki unsafe-local import`
Імпортувати з явно налаштованих локальних шляхів у режимі `unsafe-local`.
Це навмисно експериментальна функція й працює лише в межах тієї самої машини.
### `wiki obsidian ...`
Допоміжні команди Obsidian для сховищ, що працюють у режимі, дружньому до Obsidian.
Підкоманди:
- `status`
- `search`
- `open`
- `command`
- `daily`
Для них потрібен офіційний CLI `obsidian` у `PATH`, коли
увімкнено `obsidian.useOfficialCli`.
## Практичні поради щодо використання
- Використовуйте `wiki search` + `wiki get`, коли важливі походження даних і ідентичність сторінки.
- Використовуйте `wiki apply` замість ручного редагування керованих згенерованих розділів.
- Використовуйте `wiki lint`, перш ніж довіряти суперечливому вмісту або вмісту з низькою впевненістю.
- Використовуйте `wiki compile` після масових імпортів або змін у джерелах, коли вам одразу потрібні свіжі
dashboard і скомпільовані дайджести.
- Використовуйте `wiki bridge import`, коли режим bridge залежить від нових експортованих артефактів пам’яті.
## Пов’язані налаштування конфігурації
Поведінка `openclaw wiki` визначається такими параметрами:
- `plugins.entries.memory-wiki.config.vaultMode`
- `plugins.entries.memory-wiki.config.search.backend`
- `plugins.entries.memory-wiki.config.search.corpus`
- `plugins.entries.memory-wiki.config.bridge.*`
- `plugins.entries.memory-wiki.config.obsidian.*`
- `plugins.entries.memory-wiki.config.render.*`
- `plugins.entries.memory-wiki.config.context.includeCompiledDigestPrompt`
Повну модель конфігурації див. у [Plugin Memory Wiki](/uk/plugins/memory-wiki).

385
docs/uk/web/control-ui.md Normal file
View File

@ -0,0 +1,385 @@
---
read_when:
- Ви хочете керувати Gateway з браузера
- Ви хочете доступ Tailnet без SSH-тунелів
summary: Браузерний Control UI для Gateway (чат, вузли, конфігурація)
title: Control UI
x-i18n:
generated_at: "2026-04-23T06:19:53Z"
model: gpt-5.4
provider: openai
source_hash: 63e3dbba6b05a5e00499fbe75e6a66a89e0b6b3d9d66e69143068e087f517b8a
source_path: web/control-ui.md
workflow: 15
---
# Control UI (браузер)
Control UI — це невеликий односторінковий застосунок **Vite + Lit**, який обслуговується Gateway:
- за замовчуванням: `http://<host>:18789/`
- необов’язковий префікс: задайте `gateway.controlUi.basePath` (наприклад, `/openclaw`)
Він **безпосередньо підключається до WebSocket Gateway** на тому самому порту.
## Швидке відкриття (локально)
Якщо Gateway запущено на тому самому комп’ютері, відкрийте:
- [http://127.0.0.1:18789/](http://127.0.0.1:18789/) (або [http://localhost:18789/](http://localhost:18789/))
Якщо сторінка не завантажується, спочатку запустіть Gateway: `openclaw gateway`.
Автентифікація передається під час handshake WebSocket через:
- `connect.params.auth.token`
- `connect.params.auth.password`
- заголовки ідентичності Tailscale Serve, коли `gateway.auth.allowTailscale: true`
- заголовки ідентичності trusted-proxy, коли `gateway.auth.mode: "trusted-proxy"`
Панель налаштувань dashboard зберігає токен для поточної сесії вкладки браузера
та вибраного URL gateway; паролі не зберігаються. Onboarding зазвичай
генерує токен gateway для автентифікації за спільним секретом під час першого підключення, але
автентифікація паролем теж працює, коли `gateway.auth.mode` дорівнює `"password"`.
## Сполучення пристрою (перше підключення)
Коли ви підключаєтеся до Control UI з нового браузера або пристрою, Gateway
вимагає **одноразового схвалення сполучення** — навіть якщо ви в тому самому Tailnet
із `gateway.auth.allowTailscale: true`. Це захід безпеки для запобігання
несанкціонованому доступу.
**Що ви побачите:** "disconnected (1008): pairing required"
**Щоб схвалити пристрій:**
```bash
# Показати очікувані запити
openclaw devices list
# Схвалити за ID запиту
openclaw devices approve <requestId>
```
Якщо браузер повторює спробу сполучення зі зміненими даними автентифікації (роль/області дії/публічний
ключ), попередній очікуваний запит замінюється, і створюється новий
`requestId`. Перед схваленням знову виконайте `openclaw devices list`.
Якщо браузер уже сполучений і ви змінюєте йому доступ із читання на
доступ запису/адміністрування, це вважається оновленням схвалення, а не тихим
повторним підключенням. OpenClaw залишає старе схвалення активним, блокує ширше повторне підключення
і просить вас явно схвалити новий набір областей дії.
Після схвалення пристрій запам’ятовується і не потребуватиме повторного схвалення, якщо
ви не відкличете його через `openclaw devices revoke --device <id> --role <role>`. Див.
[CLI Devices](/uk/cli/devices) для ротації й відкликання токенів.
**Примітки:**
- Прямі локальні браузерні підключення через loopback (`127.0.0.1` / `localhost`)
схвалюються автоматично.
- Підключення браузера через Tailnet і LAN усе одно вимагають явного схвалення, навіть якщо
вони походять з тієї самої машини.
- Кожен профіль браузера генерує унікальний ID пристрою, тому зміна браузера або
очищення даних браузера вимагатиме повторного сполучення.
## Підтримка мов
Control UI може локалізувати себе під час першого завантаження на основі локалі вашого браузера.
Щоб перевизначити це пізніше, відкрийте **Overview -> Gateway Access -> Language**. Перемикач
локалі розташований у картці Gateway Access, а не в розділі Appearance.
- Підтримувані локалі: `en`, `zh-CN`, `zh-TW`, `pt-BR`, `de`, `es`, `ja-JP`, `ko`, `fr`, `tr`, `uk`, `id`, `pl`
- Переклади, відмінні від англійської, ліниво завантажуються в браузері.
- Вибрана локаль зберігається в сховищі браузера й повторно використовується під час наступних візитів.
- Відсутні ключі перекладу повертаються до англійської.
## Що він уміє (сьогодні)
- Чат із моделлю через Gateway WS (`chat.history`, `chat.send`, `chat.abort`, `chat.inject`)
- Потокове передавання викликів інструментів + картки з живим виводом інструментів у Chat (події агента)
- Канали: вбудовані, а також bundled/external plugin channels status, QR login і конфігурація для кожного каналу (`channels.status`, `web.login.*`, `config.patch`)
- Інстанси: список присутності + оновлення (`system-presence`)
- Сеанси: список + перевизначення model/thinking/fast/verbose/trace/reasoning для кожного сеансу (`sessions.list`, `sessions.patch`)
- Dreams: статус dreaming, перемикач увімкнення/вимкнення та читач Dream Diary (`doctor.memory.status`, `doctor.memory.dreamDiary`, `config.patch`)
- Завдання Cron: список/додавання/редагування/запуск/увімкнення/вимкнення + історія запусків (`cron.*`)
- Skills: статус, увімкнення/вимкнення, встановлення, оновлення API-ключів (`skills.*`)
- Вузли: список + можливості (`node.list`)
- Схвалення exec: редагування allowlist для gateway або node + політика запитів для `exec host=gateway/node` (`exec.approvals.*`)
- Конфігурація: перегляд/редагування `~/.openclaw/openclaw.json` (`config.get`, `config.set`)
- Конфігурація: застосування + перезапуск із валідацією (`config.apply`) і пробудження останнього активного сеансу
- Записи конфігурації містять захист base-hash, щоб запобігти перезапису конкурентних змін
- Записи конфігурації (`config.set`/`config.apply`/`config.patch`) також виконують попередню перевірку активного розв’язання SecretRef для посилань у надісланому корисному навантаженні конфігурації; нерозв’язані активні надіслані посилання відхиляються до запису
- Схема конфігурації + рендеринг форми (`config.schema` / `config.schema.lookup`,
включно з полями `title` / `description`, відповідними підказками UI, короткими описами
безпосередніх дочірніх елементів, метаданими docs на вузлах nested object/wildcard/array/composition,
а також схемами plugin і channel, коли вони доступні); редактор Raw JSON
доступний лише тоді, коли знімок має безпечне raw round-trip
- Якщо знімок не може безпечно виконати round-trip сирого тексту, Control UI примусово використовує режим Form і вимикає режим Raw для цього знімка
- Значення структурованих об’єктів SecretRef відображаються в текстових полях форми лише для читання, щоб запобігти випадковому пошкодженню object-to-string
- Налагодження: знімки status/health/models + журнал подій + ручні RPC-виклики (`status`, `health`, `models.list`)
- Журнали: живе відстеження журналів файлів gateway з фільтрацією/експортом (`logs.tail`)
- Оновлення: запуск package/git update + restart (`update.run`) зі звітом про перезапуск
Примітки до панелі завдань Cron:
- Для ізольованих завдань доставка за замовчуванням оголошує підсумок. Ви можете перемкнути на none, якщо хочете лише внутрішні запуски.
- Поля channel/target з’являються, коли вибрано announce.
- Режим Webhook використовує `delivery.mode = "webhook"` з `delivery.to`, встановленим у дійсний URL HTTP(S) Webhook.
- Для завдань головного сеансу доступні режими доставки webhook і none.
- Розширені елементи редагування включають delete-after-run, clear agent override, точні/зі зсувом параметри cron,
перевизначення agent model/thinking і перемикачі best-effort delivery.
- Валідація форми вбудована, з помилками на рівні полів; недійсні значення вимикають кнопку збереження, доки їх не буде виправлено.
- Установіть `cron.webhookToken`, щоб надсилати окремий bearer token; якщо його не задано, webhook надсилається без заголовка auth.
- Застарілий резервний варіант: збережені застарілі завдання з `notify: true` усе ще можуть використовувати `cron.webhook`, доки їх не буде мігровано.
## Поведінка чату
- `chat.send` є **неблокуючим**: він одразу підтверджує запитом `{ runId, status: "started" }`, а відповідь передається потоком через події `chat`.
- Повторне надсилання з тим самим `idempotencyKey` повертає `{ status: "in_flight" }` під час виконання і `{ status: "ok" }` після завершення.
- Відповіді `chat.history` обмежені за розміром для безпеки UI. Коли записи транскрипту завеликі, Gateway може обрізати довгі текстові поля, опускати великі блоки метаданих і замінювати надмірно великі повідомлення заповнювачем (`[chat.history omitted: message too large]`).
- `chat.history` також прибирає inline directive tags лише для відображення з видимого тексту помічника (наприклад, `[[reply_to_*]]` і `[[audio_as_voice]]`), plain-text payload XML викликів інструментів (включно з `<tool_call>...</tool_call>`, `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`, `<function_calls>...</function_calls>` і обрізаними блоками викликів інструментів), а також leaked ASCII/full-width токени керування моделі, і опускає записи помічника, у яких увесь видимий текст є лише точним тихим токеном `NO_REPLY` / `no_reply`.
- `chat.inject` додає примітку помічника до транскрипту сеансу й транслює подію `chat` для оновлень лише UI (без запуску агента, без доставки каналом).
- Перемикачі model і thinking в заголовку чату негайно змінюють активний сеанс через `sessions.patch`; це сталі перевизначення сеансу, а не параметри надсилання лише на один хід.
- Stop:
- Натисніть **Stop** (викликає `chat.abort`)
- Введіть `/stop` (або окремі фрази переривання, як-от `stop`, `stop action`, `stop run`, `stop openclaw`, `please stop`) для переривання поза смугою
- `chat.abort` підтримує `{ sessionKey }` (без `runId`) для переривання всіх активних запусків цього сеансу
- Збереження часткового виводу після переривання:
- Коли запуск переривається, частковий текст помічника все одно може показуватися в UI
- Gateway зберігає частковий текст помічника після переривання в історію транскрипту, коли існує буферизований вивід
- Збережені записи містять метадані про переривання, щоб споживачі транскрипту могли відрізнити частковий вивід після переривання від звичайного завершеного виводу
## Hosted embeds
Повідомлення помічника можуть вбудовано відображати hosted web content за допомогою
shortcode `[embed ...]`. Політика iframe sandbox контролюється
`gateway.controlUi.embedSandbox`:
- `strict`: вимикає виконання скриптів у hosted embeds
- `scripts`: дозволяє інтерактивні embeds, зберігаючи ізоляцію походження; це
значення за замовчуванням, і його зазвичай достатньо для самодостатніх браузерних ігор/віджетів
- `trusted`: додає `allow-same-origin` поверх `allow-scripts` для документів того самого сайту,
яким навмисно потрібні розширені привілеї
Приклад:
```json5
{
gateway: {
controlUi: {
embedSandbox: "scripts",
},
},
}
```
Використовуйте `trusted` лише тоді, коли вбудованому документу справді потрібна
поведінка same-origin. Для більшості згенерованих агентом ігор та інтерактивних canvas
безпечнішим вибором є `scripts`.
Абсолютні зовнішні URL вбудовування `http(s)` за замовчуванням і далі блокуються. Якщо ви
навмисно хочете, щоб `[embed url="https://..."]` завантажував сторонні сторінки, установіть
`gateway.controlUi.allowExternalEmbedUrls: true`.
## Доступ Tailnet (рекомендовано)
### Інтегрований Tailscale Serve (рекомендовано)
Тримайте Gateway на loopback і дозвольте Tailscale Serve проксувати його через HTTPS:
```bash
openclaw gateway --tailscale serve
```
Відкрийте:
- `https://<magicdns>/` (або ваш налаштований `gateway.controlUi.basePath`)
За замовчуванням запити Control UI/WebSocket Serve можуть автентифікуватися через заголовки ідентичності Tailscale
(`tailscale-user-login`), коли `gateway.auth.allowTailscale` має значення `true`. OpenClaw
перевіряє ідентичність, розв’язуючи адресу `x-forwarded-for` за допомогою
`tailscale whois` і звіряючи її із заголовком, і приймає ці заголовки лише тоді, коли
запит потрапляє на loopback із заголовками Tailscale `x-forwarded-*`. Установіть
`gateway.auth.allowTailscale: false`, якщо хочете вимагати явні облікові дані зі спільним секретом
навіть для трафіку Serve. Тоді використовуйте `gateway.auth.mode: "token"` або
`"password"`.
Для цього асинхронного шляху ідентичності Serve невдалі спроби автентифікації для того самого IP клієнта
та області дії auth серіалізуються перед записами rate-limit. Тому одночасні хибні повторні спроби
з того самого браузера можуть показувати `retry later` у другому запиті замість двох звичайних невідповідностей, що змагаються паралельно.
Автентифікація Serve без токена припускає, що хост gateway є довіреним. Якщо на цьому хості
може виконуватися недовірений локальний код, вимагайте автентифікацію token/password.
### Прив’язка до tailnet + token
```bash
openclaw gateway --bind tailnet --token "$(openssl rand -hex 32)"
```
Потім відкрийте:
- `http://<tailscale-ip>:18789/` (або ваш налаштований `gateway.controlUi.basePath`)
Вставте відповідний спільний секрет у налаштування UI (він надсилається як
`connect.params.auth.token` або `connect.params.auth.password`).
## Небезпечний HTTP
Якщо ви відкриваєте dashboard через звичайний HTTP (`http://<lan-ip>` або `http://<tailscale-ip>`),
браузер працює в **незахищеному контексті** і блокує WebCrypto. За замовчуванням
OpenClaw **блокує** підключення Control UI без ідентичності пристрою.
Задокументовані винятки:
- сумісність localhost-only insecure HTTP з `gateway.controlUi.allowInsecureAuth=true`
- успішна операторська автентифікація Control UI через `gateway.auth.mode: "trusted-proxy"`
- аварійний варіант `gateway.controlUi.dangerouslyDisableDeviceAuth=true`
**Рекомендоване виправлення:** використовуйте HTTPS (Tailscale Serve) або відкривайте UI локально:
- `https://<magicdns>/` (Serve)
- `http://127.0.0.1:18789/` (на хості gateway)
**Поведінка перемикача insecure-auth:**
```json5
{
gateway: {
controlUi: { allowInsecureAuth: true },
bind: "tailnet",
auth: { mode: "token", token: "replace-me" },
},
}
```
`allowInsecureAuth` — це лише локальний перемикач сумісності:
- Вона дозволяє сеансам Control UI на localhost продовжувати роботу без ідентичності пристрою в
незахищених HTTP-контекстах.
- Вона не обходить перевірки сполучення.
- Вона не послаблює вимоги до ідентичності віддалених (не localhost) пристроїв.
**Лише для аварійного використання:**
```json5
{
gateway: {
controlUi: { dangerouslyDisableDeviceAuth: true },
bind: "tailnet",
auth: { mode: "token", token: "replace-me" },
},
}
```
`dangerouslyDisableDeviceAuth` вимикає перевірки ідентичності пристрою в Control UI і є
серйозним погіршенням безпеки. Поверніть налаштування назад якомога швидше після аварійного використання.
Примітка щодо trusted-proxy:
- успішна автентифікація trusted-proxy може допускати сеанси **operator** у Control UI без
ідентичності пристрою
- це **не** поширюється на сеанси Control UI з роллю node
- reverse proxy на тому самому хості через loopback усе одно не задовольняють trusted-proxy auth; див.
[Автентифікація Trusted Proxy](/uk/gateway/trusted-proxy-auth)
Див. [Tailscale](/uk/gateway/tailscale) для вказівок щодо налаштування HTTPS.
## Політика безпеки вмісту
Control UI постачається з жорсткою політикою `img-src`: дозволені лише ресурси **того самого походження** та URL `data:`. Віддалені URL з `http(s)` і відносні до протоколу URL зображень відхиляються браузером і не ініціюють мережеві запити.
Що це означає на практиці:
- Аватари та зображення, що обслуговуються за відносними шляхами (наприклад, `/avatars/<id>`), як і раніше відображаються.
- Вбудовані URL `data:image/...` як і раніше відображаються (це корисно для корисних навантажень усередині протоколу).
- Віддалені URL аватарів, які надходять із метаданих каналу, прибираються в допоміжних засобах аватарів Control UI і замінюються вбудованим логотипом/бейджем, тож скомпрометований або зловмисний канал не може примусити браузер оператора виконувати довільні віддалені запити за зображеннями.
Щоб отримати цю поведінку, вам нічого не потрібно змінювати — вона завжди ввімкнена й не налаштовується.
## Автентифікація маршруту аватара
Коли налаштовано автентифікацію gateway, endpoint аватарів Control UI вимагає той самий токен gateway, що й решта API:
- `GET /avatar/<agentId>` повертає зображення аватара лише автентифікованим викликачам. `GET /avatar/<agentId>?meta=1` повертає метадані аватара за тим самим правилом.
- Неавтентифіковані запити до будь-якого з цих маршрутів відхиляються (узгоджено з сусіднім маршрутом assistant-media). Це запобігає витоку ідентичності агента через маршрут аватара на хостах, які в іншому захищені.
- Сам Control UI пересилає токен gateway як bearer-заголовок під час отримання аватарів і використовує автентифіковані blob URL, щоб зображення все одно відображалося в dashboard.
Якщо ви вимикаєте автентифікацію gateway (не рекомендується на спільних хостах), маршрут аватара також стає неавтентифікованим — узгоджено з рештою gateway.
## Збирання UI
Gateway обслуговує статичні файли з `dist/control-ui`. Зберіть їх за допомогою:
```bash
pnpm ui:build
```
Необов’язкова абсолютна база (коли потрібні фіксовані URL ресурсів):
```bash
OPENCLAW_CONTROL_UI_BASE_PATH=/openclaw/ pnpm ui:build
```
Для локальної розробки (окремий dev server):
```bash
pnpm ui:dev
```
Потім спрямуйте UI на ваш URL Gateway WS (наприклад, `ws://127.0.0.1:18789`).
## Налагодження/тестування: dev server + віддалений Gateway
Control UI — це статичні файли; ціль WebSocket налаштовується і може
відрізнятися від походження HTTP. Це зручно, коли ви хочете локальний Vite dev server,
але Gateway працює в іншому місці.
1. Запустіть dev server UI: `pnpm ui:dev`
2. Відкрийте URL на кшталт:
```text
http://localhost:5173/?gatewayUrl=ws://<gateway-host>:18789
```
Необов’язкова одноразова автентифікація (за потреби):
```text
http://localhost:5173/?gatewayUrl=wss://<gateway-host>:18789#token=<gateway-token>
```
Примітки:
- `gatewayUrl` зберігається в localStorage після завантаження й видаляється з URL.
- `token` слід передавати через фрагмент URL (`#token=...`) щоразу, коли це можливо. Фрагменти не надсилаються на сервер, що запобігає витоку в журналах запитів і через Referer. Застарілі параметри запиту `?token=` усе ще одноразово імпортуються для сумісності, але лише як резервний варіант і відразу прибираються після bootstrap.
- `password` зберігається лише в пам’яті.
- Коли встановлено `gatewayUrl`, UI не повертається до облікових даних із конфігурації або змінних середовища.
Явно передайте `token` (або `password`). Відсутність явно переданих облікових даних є помилкою.
- Використовуйте `wss://`, коли Gateway стоїть за TLS (Tailscale Serve, HTTPS proxy тощо).
- `gatewayUrl` приймається лише у вікні верхнього рівня (не у вбудованому режимі), щоб запобігти clickjacking.
- Розгортання Control UI поза loopback повинні явно задавати `gateway.controlUi.allowedOrigins`
(повні походження). Це стосується і віддалених dev-налаштувань.
- Не використовуйте `gateway.controlUi.allowedOrigins: ["*"]`, окрім суворо контрольованого
локального тестування. Це означає дозволити будь-яке походження браузера, а не «відповідати будь-якому хосту, який я використовую».
- `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true` вмикає
режим резервного походження через заголовок Host, але це небезпечний режим безпеки.
Приклад:
```json5
{
gateway: {
controlUi: {
allowedOrigins: ["http://localhost:5173"],
},
},
}
```
Деталі налаштування віддаленого доступу: [Віддалений доступ](/uk/gateway/remote).
## Пов’язане
- [Dashboard](/uk/web/dashboard) — dashboard gateway
- [WebChat](/uk/web/webchat) — браузерний інтерфейс чату
- [TUI](/uk/web/tui) — термінальний інтерфейс користувача
- [Перевірки стану](/uk/gateway/health) — моніторинг стану gateway

102
docs/uk/web/dashboard.md Normal file
View File

@ -0,0 +1,102 @@
---
read_when:
- Зміна режимів автентифікації або доступності dashboard
summary: Доступ і автентифікація Gateway dashboard (Control UI)
title: Dashboard
x-i18n:
generated_at: "2026-04-23T06:19:53Z"
model: gpt-5.4
provider: openai
source_hash: d5b50d711711f70c51d65f3908b7a8c1e0e978ed46a853f0ab48c13dfe0348ff
source_path: web/dashboard.md
workflow: 15
---
# Dashboard (Control UI)
Gateway dashboard — це браузерний Control UI, який типово віддається за адресою `/`
(перевизначається через `gateway.controlUi.basePath`).
Швидке відкриття (локальний Gateway):
- [http://127.0.0.1:18789/](http://127.0.0.1:18789/) (або [http://localhost:18789/](http://localhost:18789/))
Ключові посилання:
- [Control UI](/uk/web/control-ui) для використання та можливостей UI.
- [Tailscale](/uk/gateway/tailscale) для автоматизації Serve/Funnel.
- [Web surfaces](/uk/web) для режимів прив’язки та приміток щодо безпеки.
Автентифікація застосовується на етапі WebSocket handshake через налаштований шлях
автентифікації gateway:
- `connect.params.auth.token`
- `connect.params.auth.password`
- заголовки ідентичності Tailscale Serve, коли `gateway.auth.allowTailscale: true`
- заголовки ідентичності trusted-proxy, коли `gateway.auth.mode: "trusted-proxy"`
Див. `gateway.auth` у [Gateway configuration](/uk/gateway/configuration).
Примітка щодо безпеки: Control UI — це **поверхня адміністрування** (чат, конфігурація, погодження exec).
Не відкривайте її публічно. UI зберігає URL-токени dashboard у sessionStorage
для поточної сесії вкладки браузера та вибраної URL-адреси gateway і видаляє їх з URL після завантаження.
Надавайте перевагу localhost, Tailscale Serve або SSH-тунелю.
## Швидкий шлях (рекомендовано)
- Після початкового налаштування CLI автоматично відкриває dashboard і виводить чисте посилання (без токена).
- Відкрити знову будь-коли: `openclaw dashboard` (копіює посилання, відкриває браузер за можливості, показує підказку SSH, якщо середовище безголове).
- Якщо UI запитує автентифікацію за спільним секретом, вставте налаштований токен або
пароль у налаштуваннях Control UI.
## Основи автентифікації (локально чи віддалено)
- **Localhost**: відкрийте `http://127.0.0.1:18789/`.
- **Джерело токена зі спільним секретом**: `gateway.auth.token` (або
`OPENCLAW_GATEWAY_TOKEN`); `openclaw dashboard` може передати його через URL-фрагмент
для одноразового bootstrap, а Control UI зберігає його в sessionStorage для
поточної сесії вкладки браузера та вибраної URL-адреси gateway замість localStorage.
- Якщо `gateway.auth.token` керується через SecretRef, `openclaw dashboard`
навмисно виводить/копіює/відкриває URL без токена. Це дозволяє уникнути розкриття
токенів, якими керують зовнішні системи, у shell-логах, історії буфера обміну або аргументах
запуску браузера.
- Якщо `gateway.auth.token` налаштовано як SecretRef і його не вдається визначити у вашій
поточній shell, `openclaw dashboard` усе одно виводить URL без токена та
надає дієві підказки щодо налаштування автентифікації.
- **Пароль зі спільним секретом**: використовуйте налаштований `gateway.auth.password` (або
`OPENCLAW_GATEWAY_PASSWORD`). Dashboard не зберігає паролі між
перезавантаженнями.
- **Режими з передаванням ідентичності**: Tailscale Serve може задовольняти автентифікацію
Control UI/WebSocket через заголовки ідентичності, коли `gateway.auth.allowTailscale: true`, а
reverse proxy з урахуванням ідентичності поза loopback може задовольняти
`gateway.auth.mode: "trusted-proxy"`. У цих режимах dashboard не
потребує вставленого спільного секрету для WebSocket.
- **Не localhost**: використовуйте Tailscale Serve, прив’язку зі спільним секретом поза loopback,
reverse proxy з урахуванням ідентичності поза loopback із
`gateway.auth.mode: "trusted-proxy"` або SSH-тунель. HTTP API, як і раніше, використовують
автентифікацію зі спільним секретом, якщо ви навмисно не використовуєте приватний ingress
`gateway.auth.mode: "none"` або HTTP-автентифікацію trusted-proxy. Див.
[Web surfaces](/uk/web).
<a id="if-you-see-unauthorized-1008"></a>
## Якщо ви бачите "unauthorized" / 1008
- Переконайтеся, що gateway доступний (локально: `openclaw status`; віддалено: SSH-тунель `ssh -N -L 18789:127.0.0.1:18789 user@host`, потім відкрийте `http://127.0.0.1:18789/`).
- Для `AUTH_TOKEN_MISMATCH` клієнти можуть виконати одну довірену повторну спробу з кешованим токеном пристрою, коли gateway повертає підказки для повтору. Ця повторна спроба з кешованим токеном повторно використовує кешований набір схвалених scopes цього токена; виклики з явним `deviceToken` / явними `scopes` зберігають запитаний ними набір scopes. Якщо після цього повтору автентифікація все ще не вдається, усуньте розсинхронізацію токена вручну.
- Поза цим шляхом повтору пріоритет автентифікації під час підключення такий: спочатку явний спільний токен/пароль, потім явний `deviceToken`, потім збережений токен пристрою, потім bootstrap-токен.
- На асинхронному шляху Tailscale Serve Control UI невдалі спроби для тієї самої
пари `{scope, ip}` серіалізуються до того, як обмежувач невдалої автентифікації їх зафіксує, тому
уже друга одночасна хибна повторна спроба може показати `retry later`.
- Для кроків відновлення при розсинхронізації токена дотримуйтеся [Token drift recovery checklist](/uk/cli/devices#token-drift-recovery-checklist).
- Отримайте або надайте спільний секрет із хоста gateway:
- Токен: `openclaw config get gateway.auth.token`
- Пароль: визначте налаштований `gateway.auth.password` або
`OPENCLAW_GATEWAY_PASSWORD`
- Токен, керований через SecretRef: визначте його через зовнішній secret provider або експортуйте
`OPENCLAW_GATEWAY_TOKEN` у цій shell, а потім повторно запустіть `openclaw dashboard`
- Спільний секрет не налаштовано: `openclaw doctor --generate-gateway-token`
- У налаштуваннях dashboard вставте токен або пароль у поле автентифікації,
а потім підключіться.
- Перемикач мови UI розташовано в **Overview -> Gateway Access -> Language**.
Це частина картки доступу, а не розділу Appearance.

133
docs/uk/web/index.md Normal file
View File

@ -0,0 +1,133 @@
---
read_when:
- Ви хочете отримати доступ до Gateway через Tailscale
- Ви хочете браузерний Control UI і редагування конфігурації
summary: 'Вебповерхні Gateway: Control UI, режими прив’язки та безпека'
title: Веб
x-i18n:
generated_at: "2026-04-23T06:20:07Z"
model: gpt-5.4
provider: openai
source_hash: cf1a173143782557ecd2e79b28694308709dc945700a509148856255d5cef773
source_path: web/index.md
workflow: 15
---
# Веб (Gateway)
Gateway віддає невеликий **браузерний Control UI** (Vite + Lit) з того самого порту, що й WebSocket Gateway:
- типово: `http://<host>:18789/`
- необов’язковий префікс: задайте `gateway.controlUi.basePath` (наприклад, `/openclaw`)
Можливості описані в [Control UI](/uk/web/control-ui).
Ця сторінка зосереджена на режимах прив’язки, безпеці та вебповерхнях.
## Webhook
Коли `hooks.enabled=true`, Gateway також надає невеликий ендпойнт webhook на тому самому HTTP-сервері.
Див. [Конфігурація Gateway](/uk/gateway/configuration) → `hooks` щодо автентифікації та навантажень.
## Конфігурація (увімкнено за замовчуванням)
Control UI **увімкнено за замовчуванням**, коли наявні ресурси (`dist/control-ui`).
Ви можете керувати ним через конфігурацію:
```json5
{
gateway: {
controlUi: { enabled: true, basePath: "/openclaw" }, // basePath optional
},
}
```
## Доступ через Tailscale
### Інтегрований Serve (рекомендовано)
Тримайте Gateway на loopback і дозвольте Tailscale Serve проксувати його:
```json5
{
gateway: {
bind: "loopback",
tailscale: { mode: "serve" },
},
}
```
Потім запустіть gateway:
```bash
openclaw gateway
```
Відкрийте:
- `https://<magicdns>/` (або ваш налаштований `gateway.controlUi.basePath`)
### Прив’язка до tailnet + токен
```json5
{
gateway: {
bind: "tailnet",
controlUi: { enabled: true },
auth: { mode: "token", token: "your-token" },
},
}
```
Потім запустіть gateway (цей приклад не-loopback використовує автентифікацію
токеном зі спільним секретом):
```bash
openclaw gateway
```
Відкрийте:
- `http://<tailscale-ip>:18789/` (або ваш налаштований `gateway.controlUi.basePath`)
### Публічний інтернет (Funnel)
```json5
{
gateway: {
bind: "loopback",
tailscale: { mode: "funnel" },
auth: { mode: "password" }, // or OPENCLAW_GATEWAY_PASSWORD
},
}
```
## Примітки щодо безпеки
- Автентифікація Gateway потрібна за замовчуванням (токен, пароль, trusted-proxy або заголовки ідентичності Tailscale Serve, якщо ввімкнено).
- Прив’язки не до loopback все одно **потребують** автентифікації gateway. На практиці це означає автентифікацію токеном/паролем або reverse proxy з awareness ідентичності з `gateway.auth.mode: "trusted-proxy"`.
- Майстер за замовчуванням створює автентифікацію зі спільним секретом і зазвичай генерує
токен gateway (навіть на loopback).
- У режимі спільного секрету UI надсилає `connect.params.auth.token` або
`connect.params.auth.password`.
- У режимах із передаванням ідентичності, таких як Tailscale Serve або `trusted-proxy`, перевірка автентифікації
WebSocket натомість задовольняється з заголовків запиту.
- Для розгортань Control UI не на loopback задайте `gateway.controlUi.allowedOrigins`
явно (повні origins). Без цього запуск gateway за замовчуванням буде відхилено.
- `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true` вмикає
резервний режим origin через заголовок Host, але це небезпечне зниження рівня безпеки.
- З Serve заголовки ідентичності Tailscale можуть задовольнити автентифікацію Control UI/WebSocket,
коли `gateway.auth.allowTailscale` має значення `true` (токен/пароль не потрібні).
Ендпойнти HTTP API не використовують ці заголовки ідентичності Tailscale; вони дотримуються
звичайного режиму HTTP-автентифікації gateway. Установіть
`gateway.auth.allowTailscale: false`, щоб вимагати явні облікові дані. Див.
[Tailscale](/uk/gateway/tailscale) і [Безпека](/uk/gateway/security). Цей
безтокенний потік передбачає, що хост gateway є довіреним.
- `gateway.tailscale.mode: "funnel"` вимагає `gateway.auth.mode: "password"` (спільний пароль).
## Збирання UI
Gateway віддає статичні файли з `dist/control-ui`. Зберіть їх за допомогою:
```bash
pnpm ui:build
```

252
docs/uk/web/tui.md Normal file
View File

@ -0,0 +1,252 @@
---
read_when:
- Ви хочете дружнє до початківців покрокове пояснення TUI
- Вам потрібен повний список можливостей, команд і клавіатурних скорочень TUI
summary: 'Terminal UI (TUI): підключення до Gateway або локальний запуск у вбудованому режимі'
title: TUI
x-i18n:
generated_at: "2026-04-23T06:20:07Z"
model: gpt-5.4
provider: openai
source_hash: df3ddbe41cb7d92b9cde09a4d1443d26579b4e1cfc92dce6bbc37eed4d8af8fa
source_path: web/tui.md
workflow: 15
---
# TUI (Terminal UI)
## Швидкий старт
### Режим Gateway
1. Запустіть Gateway.
```bash
openclaw gateway
```
2. Відкрийте TUI.
```bash
openclaw tui
```
3. Введіть повідомлення й натисніть Enter.
Віддалений Gateway:
```bash
openclaw tui --url ws://<host>:<port> --token <gateway-token>
```
Використовуйте `--password`, якщо ваш Gateway використовує автентифікацію за паролем.
### Локальний режим
Запустіть TUI без Gateway:
```bash
openclaw chat
# or
openclaw tui --local
```
Примітки:
- `openclaw chat` і `openclaw terminal` — це псевдоніми для `openclaw tui --local`.
- `--local` не можна поєднувати з `--url`, `--token` або `--password`.
- Локальний режим напряму використовує вбудований runtime агента. Більшість локальних інструментів працює, але функції лише для Gateway недоступні.
## Що ви бачите
- Заголовок: URL з’єднання, поточний агент, поточна сесія.
- Журнал чату: повідомлення користувача, відповіді асистента, системні сповіщення, картки інструментів.
- Рядок стану: стан з’єднання/виконання (підключення, виконання, потокова передача, бездіяльність, помилка).
- Нижній колонтитул: стан з’єднання + агент + сесія + модель + think/fast/verbose/trace/reasoning + кількість токенів + deliver.
- Ввід: текстовий редактор з автодоповненням.
## Ментальна модель: агенти + сесії
- Агенти — це унікальні slug (наприклад, `main`, `research`). Gateway надає їхній список.
- Сесії належать поточному агенту.
- Ключі сесій зберігаються як `agent:<agentId>:<sessionKey>`.
- Якщо ви введете `/session main`, TUI розгорне це в `agent:<currentAgent>:main`.
- Якщо ви введете `/session agent:other:main`, ви явно перемкнетеся на сесію цього агента.
- Область сесії:
- `per-sender` (типово): кожен агент має багато сесій.
- `global`: TUI завжди використовує сесію `global` (список вибору може бути порожнім).
- Поточний агент + сесія завжди видимі в нижньому колонтитулі.
## Надсилання + доставка
- Повідомлення надсилаються до Gateway; доставка провайдерам типово вимкнена.
- Увімкніть доставку:
- `/deliver on`
- або на панелі Settings
- або запускайте з `openclaw tui --deliver`
## Засоби вибору + накладки
- Засіб вибору моделі: список доступних моделей і встановлення перевизначення для сесії.
- Засіб вибору агента: вибір іншого агента.
- Засіб вибору сесії: показує лише сесії для поточного агента.
- Settings: перемикання deliver, розгортання виводу інструментів і видимості thinking.
## Клавіатурні скорочення
- Enter: надіслати повідомлення
- Esc: перервати активне виконання
- Ctrl+C: очистити ввід (натисніть двічі, щоб вийти)
- Ctrl+D: вийти
- Ctrl+L: засіб вибору моделі
- Ctrl+G: засіб вибору агента
- Ctrl+P: засіб вибору сесії
- Ctrl+O: перемкнути розгортання виводу інструментів
- Ctrl+T: перемкнути видимість thinking (перезавантажує історію)
## Slash commands
Основні:
- `/help`
- `/status`
- `/agent <id>` (або `/agents`)
- `/session <key>` (або `/sessions`)
- `/model <provider/model>` (або `/models`)
Керування сесією:
- `/think <off|minimal|low|medium|high>`
- `/fast <status|on|off>`
- `/verbose <on|full|off>`
- `/trace <on|off>`
- `/reasoning <on|off|stream>`
- `/usage <off|tokens|full>`
- `/elevated <on|off|ask|full>` (псевдонім: `/elev`)
- `/activation <mention|always>`
- `/deliver <on|off>`
Життєвий цикл сесії:
- `/new` або `/reset` (скинути сесію)
- `/abort` (перервати активне виконання)
- `/settings`
- `/exit`
Лише для локального режиму:
- `/auth [provider]` відкриває потік автентифікації/входу провайдера всередині TUI.
Інші slash commands Gateway (наприклад, `/context`) пересилаються до Gateway і показуються як системний вивід. Див. [Slash commands](/uk/tools/slash-commands).
## Локальні команди оболонки
- Додайте на початку рядка `!`, щоб виконати локальну команду оболонки на хості TUI.
- TUI один раз за сесію запитує дозвіл на локальне виконання; якщо відмовити, `!` залишиться вимкненим для цієї сесії.
- Команди виконуються в новій неінтерактивній оболонці в робочому каталозі TUI (без постійного `cd`/env).
- Локальні команди оболонки отримують `OPENCLAW_SHELL=tui-local` у своєму середовищі.
- Окремий `!` надсилається як звичайне повідомлення; початкові пробіли не запускають локальне exec.
## Відновлення конфігурацій із локального TUI
Використовуйте локальний режим, коли поточна конфігурація вже проходить валідацію і ви хочете, щоб
вбудований агент перевірив її на цій самій машині, порівняв із документацією
й допоміг виправити дрейф без залежності від запущеного Gateway.
Якщо `openclaw config validate` уже завершується помилкою, спочатку запустіть `openclaw configure`
або `openclaw doctor --fix`. `openclaw chat` не обходить захист від невалідної
конфігурації.
Типовий цикл:
1. Запустіть локальний режим:
```bash
openclaw chat
```
2. Попросіть агента перевірити те, що вам потрібно, наприклад:
```text
Compare my gateway auth config with the docs and suggest the smallest fix.
```
3. Використовуйте локальні команди оболонки для точних доказів і валідації:
```text
!openclaw config file
!openclaw docs gateway auth token secretref
!openclaw config validate
!openclaw doctor
```
4. Застосуйте точкові зміни за допомогою `openclaw config set` або `openclaw configure`, потім знову виконайте `!openclaw config validate`.
5. Якщо Doctor рекомендує автоматичну міграцію або відновлення, перегляньте це й виконайте `!openclaw doctor --fix`.
Поради:
- Віддавайте перевагу `openclaw config set` або `openclaw configure` замість ручного редагування `openclaw.json`.
- `openclaw docs "<query>"` шукає в живому індексі документації з цієї самої машини.
- `openclaw config validate --json` корисний, коли вам потрібні структуровані помилки схеми та SecretRef/можливості розв’язання.
## Вивід інструментів
- Виклики інструментів показуються як картки з аргументами + результатами.
- Ctrl+O перемикає між згорнутим/розгорнутим поданням.
- Поки інструменти працюють, часткові оновлення потоково надходять у ту саму картку.
## Кольори термінала
- TUI зберігає текст основного вмісту асистента у типовому кольорі переднього плану вашого термінала, щоб і темні, і світлі термінали залишалися читабельними.
- Якщо ваш термінал використовує світле тло й авто-визначення помиляється, установіть `OPENCLAW_THEME=light` перед запуском `openclaw tui`.
- Щоб натомість примусово використати початкову темну палітру, установіть `OPENCLAW_THEME=dark`.
## Історія + потокова передача
- Під час підключення TUI завантажує останню історію (типово 200 повідомлень).
- Відповіді у потоковому режимі оновлюються на місці до фіналізації.
- TUI також прослуховує події інструментів агента для багатших карток інструментів.
## Деталі з’єднання
- TUI реєструється в Gateway як `mode: "tui"`.
- Повторні підключення показуються як системне повідомлення; прогалини в подіях відображаються в журналі.
## Параметри
- `--local`: запускати з локальним вбудованим runtime агента
- `--url <url>`: URL WebSocket Gateway (типово з конфігурації або `ws://127.0.0.1:<port>`)
- `--token <token>`: токен Gateway (за потреби)
- `--password <password>`: пароль Gateway (за потреби)
- `--session <key>`: ключ сесії (типово: `main`, або `global`, якщо область глобальна)
- `--deliver`: доставляти відповіді асистента провайдеру (типово вимкнено)
- `--thinking <level>`: перевизначити рівень thinking для надсилань
- `--message <text>`: надіслати початкове повідомлення після підключення
- `--timeout-ms <ms>`: тайм-аут агента в мс (типово `agents.defaults.timeoutSeconds`)
- `--history-limit <n>`: кількість записів історії для завантаження (типово `200`)
Примітка: коли ви встановлюєте `--url`, TUI не використовує резервно облікові дані з конфігурації або середовища.
Явно передавайте `--token` або `--password`. Відсутність явно заданих облікових даних є помилкою.
У локальному режимі не передавайте `--url`, `--token` або `--password`.
## Усунення несправностей
Немає виводу після надсилання повідомлення:
- Виконайте `/status` у TUI, щоб підтвердити, що Gateway підключений і перебуває у стані idle/busy.
- Перевірте журнали Gateway: `openclaw logs --follow`.
- Підтвердьте, що агент може виконуватися: `openclaw status` і `openclaw models status`.
- Якщо ви очікуєте повідомлення в чат-каналі, увімкніть доставку (`/deliver on` або `--deliver`).
## Усунення несправностей з’єднання
- `disconnected`: переконайтеся, що Gateway запущений і що ваші `--url/--token/--password` правильні.
- Немає агентів у засобі вибору: перевірте `openclaw agents list` і вашу конфігурацію маршрутизації.
- Порожній засіб вибору сесії: можливо, ви перебуваєте в глобальній області або ще не маєте сесій.
## Пов’язане
- [Control UI](/uk/web/control-ui) — вебінтерфейс керування
- [Config](/uk/cli/config) — перегляд, валідація та редагування `openclaw.json`
- [Doctor](/uk/cli/doctor) — перевірки відновлення й міграції з підказками
- [Довідка CLI](/uk/cli) — повна довідка за командами CLI

84
docs/uk/web/webchat.md Normal file
View File

@ -0,0 +1,84 @@
---
read_when:
- Налагодження або налаштування доступу до WebChat
summary: Статичний хост WebChat для loopback і використання Gateway WS для інтерфейсу чату
title: WebChat
x-i18n:
generated_at: "2026-04-23T06:20:01Z"
model: gpt-5.4
provider: openai
source_hash: 2588be04e9ae38149bdf284bf4d75b6784d63899026d2351c4e0e7efdf05ff39
source_path: web/webchat.md
workflow: 15
---
# WebChat (інтерфейс Gateway WebSocket)
Статус: чат-інтерфейс SwiftUI для macOS/iOS напряму взаємодіє з Gateway WebSocket.
## Що це таке
- Нативний чат-інтерфейс для gateway (без вбудованого браузера і без локального статичного сервера).
- Використовує ті самі сеанси та правила маршрутизації, що й інші канали.
- Детермінована маршрутизація: відповіді завжди повертаються до WebChat.
## Швидкий старт
1. Запустіть gateway.
2. Відкрийте інтерфейс WebChat (застосунок macOS/iOS) або вкладку чату в Control UI.
3. Переконайтеся, що налаштовано дійсний шлях автентифікації gateway (типово shared-secret,
навіть для loopback).
## Як це працює (поведінка)
- Інтерфейс підключається до Gateway WebSocket і використовує `chat.history`, `chat.send` та `chat.inject`.
- `chat.history` обмежений для стабільності: Gateway може обрізати довгі текстові поля, пропускати важкі метадані та замінювати надто великі записи на `[chat.history omitted: message too large]`.
- `chat.history` також нормалізується для відображення: вбудовані теги директив доставки,
такі як `[[reply_to_*]]` і `[[audio_as_voice]]`, текстові XML-payload викликів інструментів
(включно з `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>` і обрізаними блоками викликів інструментів), а також
витоки ASCII/повноширинних керівних токенів моделі прибираються з видимого тексту,
а записи асистента, у яких увесь видимий текст складається лише з точного
тихого токена `NO_REPLY` / `no_reply`, пропускаються.
- `chat.inject` безпосередньо додає примітку асистента до transcript і транслює її в UI (без запуску агента).
- Перервані запуски можуть залишати частковий вивід асистента видимим в UI.
- Gateway зберігає частковий текст асистента від перерваних запусків в історії transcript, коли існує буферизований вивід, і позначає такі записи метаданими переривання.
- Історія завжди отримується з gateway (без локального відстеження файлів).
- Якщо gateway недоступний, WebChat доступний лише для читання.
## Панель інструментів агентів у Control UI
- Панель Tools у `/agents` в Control UI має два окремі подання:
- **Доступно зараз** використовує `tools.effective(sessionKey=...)` і показує, що поточний
сеанс реально може використовувати під час виконання, включно з інструментами core, Plugin і каналів.
- **Конфігурація інструментів** використовує `tools.catalog` і залишається зосередженою на профілях, перевизначеннях і
семантиці каталогу.
- Доступність під час виконання прив’язана до сеансу. Перемикання сеансів того самого агента може змінити
список **Доступно зараз**.
- Редактор конфігурації не означає доступність під час виконання; фактичний доступ і далі підпорядковується
пріоритету політик (`allow`/`deny`, перевизначення для окремого агента та провайдера/каналу).
## Віддалене використання
- Віддалений режим тунелює Gateway WebSocket через SSH/Tailscale.
- Вам не потрібно запускати окремий сервер WebChat.
## Довідник із конфігурації (WebChat)
Повна конфігурація: [Конфігурація](/uk/gateway/configuration)
Параметри WebChat:
- `gateway.webchat.chatHistoryMaxChars`: максимальна кількість символів для текстових полів у відповідях `chat.history`. Коли запис transcript перевищує це обмеження, Gateway обрізає довгі текстові поля й може замінювати надто великі повідомлення заповнювачем. Клієнт також може надсилати `maxChars` на рівні запиту, щоб перевизначити це типове значення для одного виклику `chat.history`.
Пов’язані глобальні параметри:
- `gateway.port`, `gateway.bind`: хост/порт WebSocket.
- `gateway.auth.mode`, `gateway.auth.token`, `gateway.auth.password`:
автентифікація WebSocket через shared-secret.
- `gateway.auth.allowTailscale`: вкладка чату browser Control UI може використовувати заголовки ідентичності Tailscale
Serve, якщо це ввімкнено.
- `gateway.auth.mode: "trusted-proxy"`: автентифікація через reverse proxy для browser-клієнтів за identity-aware **non-loopback** проксі-джерелом (див. [Trusted Proxy Auth](/uk/gateway/trusted-proxy-auth)).
- `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: ціль віддаленого gateway.
- `session.*`: сховище сеансів і типові значення основного ключа.