chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-03 04:34:04 +00:00
parent 1a0371551e
commit aed8dbb276

View File

@ -4,68 +4,69 @@ read_when:
summary: Статичний хост Loopback WebChat і використання Gateway WS для інтерфейсу чату
title: Вебчат
x-i18n:
generated_at: "2026-05-02T23:43:16Z"
generated_at: "2026-05-03T04:33:34Z"
model: gpt-5.5
provider: openai
source_hash: fe6d3cb30ed18d651b0d0ca8fd188b47c5f1d186410ee340deb79315f194ed8d
source_hash: 48024e58259901c6feb67168c5c1ce32f46b8ad9b6f4511e56d2000478a3ed60
source_path: web/webchat.md
workflow: 16
---
Статус: macOS/iOS SwiftUI UI чату напряму взаємодіє з Gateway WebSocket.
Стан: чат-інтерфейс SwiftUI для macOS/iOS напряму взаємодіє з Gateway WebSocket.
## Що це таке
- Нативний UI чату для Gateway (без вбудованого браузера й без локального статичного сервера).
- Використовує ті самі сеанси та правила маршрутизації, що й інші канали.
- Нативний чат-інтерфейс для шлюзу (без вбудованого браузера і без локального статичного сервера).
- Використовує ті самі сесії та правила маршрутизації, що й інші канали.
- Детермінована маршрутизація: відповіді завжди повертаються до WebChat.
## Швидкий старт
1. Запустіть Gateway.
2. Відкрийте UI WebChat (застосунок macOS/iOS) або вкладку чату Control UI.
3. Переконайтеся, що налаштовано дійсний шлях автентифікації Gateway (типово shared-secret,
1. Запустіть шлюз.
2. Відкрийте інтерфейс WebChat (застосунок macOS/iOS) або вкладку чату Control UI.
3. Переконайтеся, що налаштовано чинний шлях автентифікації шлюзу (`shared-secret` за замовчуванням,
навіть на loopback).
## Як це працює (поведінка)
- UI підключається до Gateway WebSocket і використовує `chat.history`, `chat.send` та `chat.inject`.
- `chat.history` обмежено для стабільності: Gateway може обрізати довгі текстові поля, пропускати важкі метадані та замінювати надмірно великі записи на `[chat.history omitted: message too large]`.
- `chat.history` слідує активній гілці транскрипту для сучасних append-only файлів сеансів, тому покинуті гілки перезапису та замінені копії промптів не відображаються у WebChat.
- Control UI запам’ятовує базовий `sessionId` Gateway, повернений `chat.history`, і додає його до наступних викликів `chat.send`, тому повторні підключення та оновлення сторінки продовжують ту саму збережену розмову, якщо користувач не почне або не скине сеанс.
- Control UI об’єднує дублікати поточних надсилань для того самого сеансу, повідомлення та вкладень перед створенням нового ідентифікатора запуску `chat.send`; Gateway усе одно дедуплікує повторні запити, які повторно використовують той самий ключ ідемпотентності.
- `chat.history` обмежено для стабільності: Gateway може обрізати довгі текстові поля, пропускати важкі метадані та замінювати завеликі записи на `[chat.history omitted: message too large]`.
- `chat.history` дотримується активної гілки транскрипту для сучасних append-only файлів сесій, тому покинуті гілки перезапису та замінені копії промптів не відображаються у WebChat.
- Записи Compaction відображаються як явний розділювач ущільненої історії. Розділювач пояснює, що попередні ходи збережено в контрольній точці, і посилається на елементи керування контрольними точками сесій, де оператори можуть створити гілку або відновити подання до Compaction, якщо їхні дозволи це допускають.
- Control UI запам’ятовує базовий `sessionId` Gateway, повернений `chat.history`, і додає його до наступних викликів `chat.send`, тому повторні підключення та оновлення сторінки продовжують ту саму збережену розмову, якщо користувач не запускає або не скидає сесію.
- Control UI об’єднує дублікати відправлень у польоті для тієї самої сесії, повідомлення та вкладень перед створенням нового ідентифікатора запуску `chat.send`; Gateway усе одно дедуплікує повторні запити, які повторно використовують той самий ключ ідемпотентності.
- `chat.history` також нормалізується для відображення: контекст OpenClaw лише часу виконання,
обгортки вхідних конвертів, вбудовані теги директив доставки,
як-от `[[reply_to_*]]` і `[[audio_as_voice]]`, XML-навантаження викликів інструментів у звичайному тексті
обгортки вхідних конвертів, вбудовані теги директив доставлення
на кшталт `[[reply_to_*]]` і `[[audio_as_voice]]`, plain-text XML-навантаження викликів інструментів
(зокрема `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>` та обрізані блоки викликів інструментів), а також
витоки ASCII/повноширинних токенів керування моделлю вилучаються з видимого тексту,
а записи асистента, увесь видимий текст яких є лише точним тихим
витеклі ASCII/повноширинні токени керування моделлю вилучаються з видимого тексту,
а записи асистента, увесь видимий текст яких є лише точним silent
токеном `NO_REPLY` / `no_reply`, пропускаються.
- Навантаження відповідей із прапорцем reasoning (`isReasoning: true`) виключаються з вмісту асистента у WebChat, тексту повторного відтворення транскрипту та блоків аудіовмісту, тому навантаження лише для міркування не з’являються як видимі повідомлення асистента або відтворюване аудіо.
- `chat.inject` додає нотатку асистента безпосередньо до транскрипту й транслює її в UI (без запуску агента).
- Перервані запуски можуть зберігати частковий вивід асистента видимим в UI.
- Навантаження відповідей, позначені як міркування (`isReasoning: true`), виключаються з вмісту асистента WebChat, тексту повторного відтворення транскрипту та аудіоблоків, тому навантаження лише для мислення не з’являються як видимі повідомлення асистента або відтворюване аудіо.
- `chat.inject` додає нотатку асистента безпосередньо до транскрипту та транслює її в UI (без запуску агента).
- Перервані запуски можуть залишати частковий вивід асистента видимим в UI.
- Gateway зберігає перерваний частковий текст асистента в історії транскрипту, коли існує буферизований вивід, і позначає ці записи метаданими переривання.
- Історія завжди отримується з Gateway (без локального відстеження файлів).
- Якщо Gateway недоступний, WebChat працює лише для читання.
- Історія завжди отримується зі шлюзу (без локального спостереження за файлами).
- Якщо шлюз недоступний, WebChat доступний лише для читання.
## Панель інструментів агентів Control UI
- Панель Tools у Control UI `/agents` має два окремі подання:
- **Доступно просто зараз** використовує `tools.effective(sessionKey=...)` і показує, що поточний
сеанс фактично може використовувати під час виконання, зокрема інструменти ядра, plugin і каналу.
- Панель інструментів Control UI `/agents` має два окремі подання:
- **Доступні прямо зараз** використовує `tools.effective(sessionKey=...)` і показує, що поточна
сесія фактично може використовувати під час виконання, зокрема інструменти ядра, Plugin і каналу.
- **Конфігурація інструментів** використовує `tools.catalog` і зосереджується на профілях, перевизначеннях і
семантиці каталогу.
- Доступність під час виконання обмежена сеансом. Перемикання сеансів на тому самому агенті може змінити
список **Доступно просто зараз**.
- Доступність під час виконання прив’язана до сесії. Перемикання сесій для того самого агента може змінити
список **Доступні прямо зараз**.
- Редактор конфігурації не означає доступність під час виконання; ефективний доступ усе одно дотримується пріоритету політик
(`allow`/`deny`, перевизначення для окремих агентів і provider/каналів).
(`allow`/`deny`, перевизначення для окремих агентів і провайдерів/каналів).
## Віддалене використання
- Віддалений режим тунелює Gateway WebSocket через SSH/Tailscale.
- Не потрібно запускати окремий сервер WebChat.
- Вам не потрібно запускати окремий сервер WebChat.
## Довідник конфігурації (WebChat)
@ -73,20 +74,20 @@ x-i18n:
Параметри WebChat:
- `gateway.webchat.chatHistoryMaxChars`: максимальна кількість символів для текстових полів у відповідях `chat.history`. Коли запис транскрипту перевищує цей ліміт, Gateway обрізає довгі текстові поля та може замінювати надмірно великі повідомлення заповнювачем. Клієнт також може надіслати `maxChars` для окремого запиту, щоб перевизначити це типове значення для одного виклику `chat.history`.
- `gateway.webchat.chatHistoryMaxChars`: максимальна кількість символів для текстових полів у відповідях `chat.history`. Коли запис транскрипту перевищує це обмеження, Gateway обрізає довгі текстові поля та може замінити завеликі повідомлення заповнювачем. Клієнт також може надіслати `maxChars` для окремого запиту, щоб перевизначити це значення за замовчуванням для одного виклику `chat.history`.
Пов’язані глобальні параметри:
- `gateway.port`, `gateway.bind`: хост/порт WebSocket.
- `gateway.auth.mode`, `gateway.auth.token`, `gateway.auth.password`:
автентифікація WebSocket за shared-secret.
автентифікація WebSocket зі спільним секретом.
- `gateway.auth.allowTailscale`: вкладка чату браузерного Control UI може використовувати заголовки ідентичності Tailscale
Serve, коли це ввімкнено.
- `gateway.auth.mode: "trusted-proxy"`: автентифікація через зворотний проксі для браузерних клієнтів за identity-aware джерелом проксі **не-loopback** (див. [Автентифікація довіреного проксі](/uk/gateway/trusted-proxy-auth)).
- `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: ціль віддаленого Gateway.
- `session.*`: сховище сеансів і типові значення основного ключа.
- `gateway.auth.mode: "trusted-proxy"`: автентифікація через зворотний проксі для браузерних клієнтів за identity-aware **non-loopback** джерелом проксі (див. [автентифікація довіреного проксі](/uk/gateway/trusted-proxy-auth)).
- `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: ціль віддаленого шлюзу.
- `session.*`: сховище сесій і типові значення основного ключа.
## Пов’язане
- [Control UI](/uk/web/control-ui)
- [Панель керування](/uk/web/dashboard)
- [Панель моніторингу](/uk/web/dashboard)