diff --git a/docs/uk/reference/rich-output-protocol.md b/docs/uk/reference/rich-output-protocol.md index f3bcca46d..ea8e4d82e 100644 --- a/docs/uk/reference/rich-output-protocol.md +++ b/docs/uk/reference/rich-output-protocol.md @@ -1,46 +1,50 @@ --- read_when: - - Зміна рендерингу виводу помічника в Control UI - - Налагодження директив представлення `[embed ...]`, `MEDIA:`, reply або audio -summary: Протокол shortcode для rich output для вбудовувань, медіа, аудіопідказок і відповідей -title: Протокол rich output + - Зміна відображення виводу асистента в інтерфейсі керування + - Налагодження `[embed ...]`, `MEDIA:`, директив відповіді або аудіопрезентації +summary: Протокол шорткодів розширеного виводу для вбудованих елементів, медіа, аудіопідказок і відповідей +title: Протокол розширеного виводу x-i18n: - generated_at: "2026-04-27T11:04:11Z" - model: gpt-5.4 + generated_at: "2026-05-02T21:28:25Z" + model: gpt-5.5 provider: openai - source_hash: 7c52a2f3a37e7a8d1237046edafc3e80c3199c01f890a1ef39662436590ef55d + source_hash: 8e0c365029c26d198090e1f181703e3979394afb0dfa1742f9c088885650de8b source_path: reference/rich-output-protocol.md - workflow: 15 + workflow: 16 --- -Вивід помічника може містити невеликий набір директив доставки/рендерингу: +Вивід асистента може містити невеликий набір директив доставки/рендерингу: - `MEDIA:` для доставки вкладень -- `[[audio_as_voice]]` для підказок представлення аудіо +- `[[audio_as_voice]]` для підказок щодо подання аудіо - `[[reply_to_current]]` / `[[reply_to:]]` для метаданих відповіді -- `[embed ...]` для rich-рендерингу в Control UI +- `[embed ...]` для розширеного рендерингу Control UI -Віддалені вкладення `MEDIA:` мають бути публічними URL `https:`. Звичайні `http:`, -loopback, link-local, private та internal hostnames ігноруються як директиви -вкладень; серверні засоби отримання медіа все одно застосовують власні мережеві guard. +Віддалені вкладення `MEDIA:` мають бути публічними URL-адресами `https:`. Звичайні `http:`, +loopback, link-local, приватні та внутрішні імена хостів ігноруються як директиви +вкладень; серверні завантажувачі медіа все одно застосовують власні мережеві захисти. -Звичайний синтаксис зображень Markdown типово залишається текстом. Канали, які навмисно -зіставляють відповіді із зображеннями Markdown з медіавкладеннями, вмикають це у своєму outbound -adapter; Telegram робить саме так, щоб `![alt](url)` усе ще міг ставати медіавідповіддю. +Локальні вкладення `MEDIA:` можуть використовувати абсолютні шляхи, шляхи відносно робочої області або +шляхи `~/`, відносні до домашнього каталогу. Перед доставкою вони все одно проходять політику читання файлів агентом і +перевірки типу медіа. -Ці директиви є окремими. `MEDIA:` і теги reply/voice залишаються метаданими доставки; `[embed ...]` — це лише вебшлях rich-рендерингу. -Медіа довірених результатів інструментів використовує той самий парсер `MEDIA:` / `[[audio_as_voice]]` перед доставкою, тож текстові виводи інструментів усе ще можуть позначати аудіовкладення як голосову нотатку. +Звичайний синтаксис зображень Markdown за замовчуванням лишається текстом. Канали, які навмисно +зіставляють відповіді із зображеннями Markdown із медіавкладеннями, вмикають це у своєму вихідному +адаптері; Telegram робить це, щоб `![alt](url)` усе ще могло стати медіавідповіддю. -Коли ввімкнено block streaming, `MEDIA:` залишається метаданими одноразової доставки для -ходу. Якщо той самий URL медіа надсилається в streamed block і повторюється у фінальному -payload помічника, OpenClaw доставляє вкладення один раз і прибирає дублікат +Ці директиви окремі. `MEDIA:` і теги відповіді/голосу лишаються метаданими доставки; `[embed ...]` є веб-орієнтованим шляхом розширеного рендерингу. +Медіа з довірених результатів інструментів використовує той самий парсер `MEDIA:` / `[[audio_as_voice]]` перед доставкою, тому текстовий вивід інструментів усе ще може позначити аудіовкладення як голосову нотатку. + +Коли ввімкнено потокове передавання блоків, `MEDIA:` лишається метаданими одноразової доставки для +ходу. Якщо ту саму URL-адресу медіа надіслано у потоковому блоці й повторено у фінальному +payload асистента, OpenClaw доставляє вкладення один раз і вилучає дублікат із фінального payload. ## `[embed ...]` -`[embed ...]` — це єдиний agent-facing синтаксис rich-рендерингу для Control UI. +`[embed ...]` є єдиним агент-орієнтованим синтаксисом розширеного рендерингу для Control UI. -Приклад самозакривного запису: +Приклад із самозакриттям: ```text [embed ref="cv_123" title="Status" /] @@ -48,16 +52,16 @@ payload помічника, OpenClaw доставляє вкладення од Правила: -- `[view ...]` більше не є валідним для нового виводу. -- Shortcode embed рендеряться лише в поверхні повідомлень помічника. -- Рендеряться лише embed-и з URL-підтримкою. Використовуйте `ref="..."` або `url="..."`. -- Shortcode embed у block-form inline HTML не рендеряться. -- Web UI прибирає shortcode з видимого тексту та рендерить embed inline. -- `MEDIA:` не є псевдонімом embed і не має використовуватися для rich-рендерингу embed. +- `[view ...]` більше не є допустимим для нового виводу. +- Embed-shortcode рендеряться лише на поверхні повідомлення асистента. +- Рендеряться лише embed, підкріплені URL. Використовуйте `ref="..."` або `url="..."`. +- Блокові inline HTML embed-shortcode не рендеряться. +- Веб-UI прибирає shortcode з видимого тексту й рендерить embed inline. +- `MEDIA:` не є псевдонімом embed і не має використовуватися для розширеного embed-рендерингу. ## Збережена форма рендерингу -Нормалізований/збережений блок вмісту помічника — це структурований елемент `canvas`: +Нормалізований/збережений блок вмісту асистента є структурованим елементом `canvas`: ```json { @@ -74,7 +78,7 @@ payload помічника, OpenClaw доставляє вкладення од } ``` -Збережені/відрендерені rich-блоки безпосередньо використовують цю форму `canvas`. `present_view` не розпізнається. +Збережені/відрендерені розширені блоки використовують цю форму `canvas` напряму. `present_view` не розпізнається. ## Пов’язане diff --git a/docs/uk/start/openclaw.md b/docs/uk/start/openclaw.md index 2a6bd93af..b8a9f7758 100644 --- a/docs/uk/start/openclaw.md +++ b/docs/uk/start/openclaw.md @@ -1,44 +1,44 @@ --- read_when: - Початкове налаштування нового екземпляра асистента - - Оцінювання наслідків для безпеки та дозволів + - Аналіз наслідків для безпеки та дозволів summary: Повний посібник із запуску OpenClaw як персонального асистента із застереженнями щодо безпеки title: Налаштування персонального асистента x-i18n: - generated_at: "2026-04-28T11:25:52Z" + generated_at: "2026-05-02T21:28:14Z" model: gpt-5.5 provider: openai - source_hash: b0614272f9a2b30e0900c55b39a8bd6a2b71b9f5d5fbf0fe00c534b91193e6a0 + source_hash: 9f6087d0756c98741166135df8b915eb5a0803b23e68e486d2d25ec98d4dca79 source_path: start/openclaw.md workflow: 16 --- -# Створення персонального помічника з OpenClaw +# Створення персонального асистента з OpenClaw -OpenClaw — це самостійно розгорнутий шлюз, який підключає Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo та інші канали до ШІ-агентів. У цьому посібнику описано налаштування «персонального помічника»: окремий номер WhatsApp, який поводиться як ваш постійно доступний ШІ-помічник. +OpenClaw — це самостійно розгорнутий Gateway, який підключає Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo та інші сервіси до AI-агентів. У цьому посібнику описано налаштування «персонального асистента»: окремий номер WhatsApp, який працює як ваш постійно доступний AI-асистент. ## ⚠️ Спершу безпека -Ви надаєте агенту можливість: +Ви розміщуєте агента в позиції, де він може: - виконувати команди на вашій машині (залежно від вашої політики інструментів) -- читати й записувати файли у вашому робочому просторі +- читати/записувати файли у вашому робочому просторі - надсилати повідомлення назовні через WhatsApp/Telegram/Discord/Mattermost та інші вбудовані канали -Починайте обережно: +Починайте консервативно: -- Завжди задавайте `channels.whatsapp.allowFrom` (ніколи не запускайте відкритий для всього світу режим на вашому особистому Mac). -- Використовуйте окремий номер WhatsApp для помічника. -- Heartbeat-и тепер за замовчуванням виконуються кожні 30 хвилин. Вимкніть їх, доки не довірятимете налаштуванню, задавши `agents.defaults.heartbeat.every: "0m"`. +- Завжди задавайте `channels.whatsapp.allowFrom` (ніколи не запускайте доступ «для всього світу» на своєму персональному Mac). +- Використовуйте окремий номер WhatsApp для асистента. +- Heartbeat тепер за замовчуванням запускається кожні 30 хвилин. Вимкніть його, доки не довірятимете налаштуванню, встановивши `agents.defaults.heartbeat.every: "0m"`. ## Передумови -- OpenClaw встановлено й виконано початкове налаштування — див. [Початок роботи](/uk/start/getting-started), якщо ви ще цього не зробили -- Другий номер телефону (SIM/eSIM/передплачений) для помічника +- OpenClaw встановлено й початково налаштовано — див. [Початок роботи](/uk/start/getting-started), якщо ви ще цього не зробили +- Другий номер телефону (SIM/eSIM/передплачений) для асистента ## Налаштування з двома телефонами (рекомендовано) -Вам потрібна така схема: +Вам потрібно ось це: ```mermaid flowchart TB @@ -46,11 +46,11 @@ flowchart TB B -- linked via QR --> C["Your Mac (openclaw)

AI agent"] ``` -Якщо ви підключите свій особистий WhatsApp до OpenClaw, кожне повідомлення до вас стане «вхідними даними агента». Це рідко саме те, що потрібно. +Якщо ви прив’яжете свій персональний WhatsApp до OpenClaw, кожне повідомлення для вас стане «вхідними даними агента». Це рідко саме те, що вам потрібно. ## Швидкий старт за 5 хвилин -1. Під’єднайте WhatsApp Web (покаже QR; відскануйте його телефоном помічника): +1. З’єднайте WhatsApp Web (покаже QR; відскануйте його телефоном асистента): ```bash openclaw channels login @@ -71,28 +71,28 @@ openclaw gateway --port 18789 } ``` -Тепер напишіть на номер помічника з телефону, внесеного до списку дозволених. +Тепер надішліть повідомлення на номер асистента зі свого телефону зі списку дозволених. -Коли початкове налаштування завершиться, OpenClaw автоматично відкриє панель керування й виведе чисте посилання (без токена). Якщо панель керування запитає автентифікацію, вставте налаштований спільний секрет у налаштування Control UI. Початкове налаштування за замовчуванням використовує токен (`gateway.auth.token`), але автентифікація паролем також працює, якщо ви перемкнули `gateway.auth.mode` на `password`. Щоб відкрити її пізніше: `openclaw dashboard`. +Коли початкове налаштування завершиться, OpenClaw автоматично відкриє панель керування й виведе чисте посилання (без токена). Якщо панель керування попросить автентифікацію, вставте налаштований спільний секрет у налаштування Control UI. Початкове налаштування за замовчуванням використовує токен (`gateway.auth.token`), але автентифікація паролем теж працює, якщо ви перемкнули `gateway.auth.mode` на `password`. Щоб відкрити пізніше: `openclaw dashboard`. ## Надайте агенту робочий простір (AGENTS) -OpenClaw читає операційні інструкції та «пам’ять» зі свого каталогу робочого простору. +OpenClaw читає робочі інструкції та «пам’ять» зі свого каталогу робочого простору. -За замовчуванням OpenClaw використовує `~/.openclaw/workspace` як робочий простір агента й автоматично створить його (разом зі стартовими `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`) під час налаштування або першого запуску агента. `BOOTSTRAP.md` створюється лише тоді, коли робочий простір зовсім новий (він не має з’являтися знову після видалення). `MEMORY.md` необов’язковий (не створюється автоматично); якщо він існує, його буде завантажено для звичайних сеансів. Сеанси підагентів додають лише `AGENTS.md` і `TOOLS.md`. +За замовчуванням OpenClaw використовує `~/.openclaw/workspace` як робочий простір агента й автоматично створить його (разом зі стартовими `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`) під час налаштування або першого запуску агента. `BOOTSTRAP.md` створюється лише тоді, коли робочий простір абсолютно новий (він не має з’являтися знову після видалення). `MEMORY.md` необов’язковий (не створюється автоматично); якщо він присутній, його завантажують для звичайних сесій. Сесії підагентів додають лише `AGENTS.md` і `TOOLS.md`. -Ставтеся до цієї папки як до пам’яті OpenClaw і зробіть її git-репозиторієм (бажано приватним), щоб ваші `AGENTS.md` і файли пам’яті мали резервні копії. Якщо git встановлено, нові робочі простори автоматично ініціалізуються. +Ставтеся до цієї папки як до пам’яті OpenClaw і зробіть її git-репозиторієм (бажано приватним), щоб ваші `AGENTS.md` і файли пам’яті мали резервну копію. Якщо git встановлено, абсолютно нові робочі простори ініціалізуються автоматично. ```bash openclaw setup ``` -Повна структура робочого простору + посібник із резервного копіювання: [Робочий простір агента](/uk/concepts/agent-workspace) -Процес роботи з пам’яттю: [Пам’ять](/uk/concepts/memory) +Повна схема робочого простору + посібник із резервного копіювання: [Робочий простір агента](/uk/concepts/agent-workspace) +Робочий процес пам’яті: [Пам’ять](/uk/concepts/memory) -Необов’язково: виберіть інший робочий простір через `agents.defaults.workspace` (підтримує `~`). +Необов’язково: виберіть інший робочий простір за допомогою `agents.defaults.workspace` (підтримує `~`). ```json5 { @@ -116,13 +116,13 @@ openclaw setup } ``` -## Конфігурація, яка перетворює це на «помічника» +## Конфігурація, яка перетворює це на «асистента» -OpenClaw за замовчуванням має гарне налаштування для помічника, але зазвичай варто підлаштувати: +OpenClaw за замовчуванням має хороше налаштування асистента, але зазвичай варто підлаштувати: - персону/інструкції в [`SOUL.md`](/uk/concepts/soul) -- типові параметри мислення (за потреби) -- Heartbeat-и (коли довірятимете налаштуванню) +- стандартні параметри мислення (за потреби) +- Heartbeat (коли ви почнете йому довіряти) Приклад: @@ -162,24 +162,24 @@ OpenClaw за замовчуванням має гарне налаштуван } ``` -## Сеанси та пам’ять +## Сесії та пам’ять -- Файли сеансів: `~/.openclaw/agents//sessions/{{SessionId}}.jsonl` -- Метадані сеансів (використання токенів, останній маршрут тощо): `~/.openclaw/agents//sessions/sessions.json` (застарілий шлях: `~/.openclaw/sessions/sessions.json`) -- `/new` або `/reset` запускає новий сеанс для цього чату (налаштовується через `resetTriggers`). Якщо надіслати окремо, OpenClaw підтвердить скидання без виклику моделі. -- `/compact [instructions]` стискає контекст сеансу й повідомляє залишковий бюджет контексту. +- Файли сесій: `~/.openclaw/agents//sessions/{{SessionId}}.jsonl` +- Метадані сесій (використання токенів, останній маршрут тощо): `~/.openclaw/agents//sessions/sessions.json` (застаріле: `~/.openclaw/sessions/sessions.json`) +- `/new` або `/reset` запускає нову сесію для цього чату (налаштовується через `resetTriggers`). Якщо надіслати окремо, OpenClaw підтвердить скидання без виклику моделі. +- `/compact [instructions]` стискає контекст сесії та повідомляє про залишковий бюджет контексту. -## Heartbeat-и (проактивний режим) +## Heartbeat (проактивний режим) -За замовчуванням OpenClaw запускає Heartbeat кожні 30 хвилин із промптом: +За замовчуванням OpenClaw запускає Heartbeat кожні 30 хвилин із підказкою: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.` -Щоб вимкнути, задайте `agents.defaults.heartbeat.every: "0m"`. +Встановіть `agents.defaults.heartbeat.every: "0m"`, щоб вимкнути. -- Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та Markdown-заголовки на кшталт `# Heading`), OpenClaw пропускає запуск Heartbeat, щоб заощадити API-виклики. +- Якщо `HEARTBEAT.md` існує, але фактично порожній (лише порожні рядки та markdown-заголовки на кшталт `# Heading`), OpenClaw пропускає запуск Heartbeat, щоб заощадити виклики API. - Якщо файл відсутній, Heartbeat усе одно запускається, а модель вирішує, що робити. - Якщо агент відповідає `HEARTBEAT_OK` (необов’язково з коротким доповненням; див. `agents.defaults.heartbeat.ackMaxChars`), OpenClaw пригнічує вихідну доставку для цього Heartbeat. -- За замовчуванням доставку Heartbeat до цілей у стилі приватних повідомлень `user:` дозволено. Задайте `agents.defaults.heartbeat.directPolicy: "block"`, щоб приглушити доставку до прямих цілей, залишивши запуски Heartbeat активними. -- Heartbeat-и виконують повні ходи агента — коротші інтервали витрачають більше токенів. +- За замовчуванням доставку Heartbeat до цілей у стилі DM `user:` дозволено. Встановіть `agents.defaults.heartbeat.directPolicy: "block"`, щоб пригнітити доставку до прямих цілей, залишивши запуски Heartbeat активними. +- Heartbeat запускає повні ходи агента — коротші інтервали витрачають більше токенів. ```json5 { @@ -191,11 +191,11 @@ OpenClaw за замовчуванням має гарне налаштуван ## Медіа на вході й виході -Вхідні вкладення (зображення/аудіо/документи) можна передавати вашій команді через шаблони: +Вхідні вкладення (зображення/аудіо/документи) можна передати вашій команді через шаблони: -- `{{MediaPath}}` (шлях до локального тимчасового файлу) +- `{{MediaPath}}` (локальний шлях до тимчасового файла) - `{{MediaUrl}}` (псевдо-URL) -- `{{Transcript}}` (якщо ввімкнено транскрибування аудіо) +- `{{Transcript}}` (якщо транскрибування аудіо ввімкнено) Вихідні вкладення від агента: додайте `MEDIA:` в окремому рядку (без пробілів). Приклад: @@ -206,15 +206,16 @@ MEDIA:https://example.com/screenshot.png OpenClaw витягує їх і надсилає як медіа разом із текстом. -Поведінка локальних шляхів відповідає тій самій моделі довіри для читання файлів, що й агент: +Поведінка локальних шляхів дотримується тієї самої моделі довіри для читання файлів, що й агент: -- Якщо `tools.fs.workspaceOnly` дорівнює `true`, вихідні локальні шляхи `MEDIA:` залишаються обмеженими тимчасовим коренем OpenClaw, кешем медіа, шляхами робочого простору агента та файлами, згенерованими в sandbox. -- Якщо `tools.fs.workspaceOnly` дорівнює `false`, вихідні `MEDIA:` можуть використовувати локальні файли хоста, які агенту вже дозволено читати. -- Надсилання локальних файлів хоста все одно дозволяє лише медіа та безпечні типи документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, не вважаються медіа, які можна надсилати. +- Якщо `tools.fs.workspaceOnly` має значення `true`, вихідні локальні шляхи `MEDIA:` залишаються обмеженими тимчасовим коренем OpenClaw, кешем медіа, шляхами робочого простору агента та файлами, згенерованими в пісочниці. +- Якщо `tools.fs.workspaceOnly` має значення `false`, вихідні `MEDIA:` можуть використовувати локальні файли хоста, які агенту вже дозволено читати. +- Локальні шляхи можуть бути абсолютними, відносними до робочого простору або відносними до домашнього каталогу з `~/`. +- Надсилання локальних файлів хоста все одно дозволяє лише медіа та безпечні типи документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, не вважаються медіа, придатними для надсилання. -Це означає, що згенеровані зображення/файли поза робочим простором тепер можна надсилати, якщо ваша політика fs уже дозволяє ці читання, без повторного відкриття довільного витоку вкладень із текстових файлів хоста. +Це означає, що згенеровані зображення/файли поза робочим простором тепер можуть надсилатися, коли ваша політика fs уже дозволяє таке читання, без повторного відкриття довільної ексфільтрації текстових вкладень із хоста. -## Операційний контрольний список +## Контрольний список операцій ```bash openclaw status # local status (creds, sessions, queued events) @@ -223,18 +224,18 @@ openclaw status --deep # asks the gateway for a live health probe with channel openclaw health --json # gateway health snapshot (WS; default can return a fresh cached snapshot) ``` -Журнали розміщуються в `/tmp/openclaw/` (за замовчуванням: `openclaw-YYYY-MM-DD.log`). +Журнали розташовані в `/tmp/openclaw/` (за замовчуванням: `openclaw-YYYY-MM-DD.log`). ## Наступні кроки - WebChat: [WebChat](/uk/web/webchat) - Операції Gateway: [Runbook Gateway](/uk/gateway) - Cron + пробудження: [Завдання Cron](/uk/automation/cron-jobs) -- Супутній застосунок у рядку меню macOS: [Застосунок OpenClaw для macOS](/uk/platforms/macos) -- Застосунок вузла iOS: [Застосунок iOS](/uk/platforms/ios) -- Застосунок вузла Android: [Застосунок Android](/uk/platforms/android) +- Компаньйон у рядку меню macOS: [Застосунок OpenClaw для macOS](/uk/platforms/macos) +- Застосунок вузла для iOS: [Застосунок для iOS](/uk/platforms/ios) +- Застосунок вузла для Android: [Застосунок для Android](/uk/platforms/android) - Стан Windows: [Windows (WSL2)](/uk/platforms/windows) -- Стан Linux: [Застосунок Linux](/uk/platforms/linux) +- Стан Linux: [Застосунок для Linux](/uk/platforms/linux) - Безпека: [Безпека](/uk/gateway/security) ## Пов’язане