diff --git a/docs/uk/channels/matrix.md b/docs/uk/channels/matrix.md
index 249b2f62d..dd994ee73 100644
--- a/docs/uk/channels/matrix.md
+++ b/docs/uk/channels/matrix.md
@@ -1,29 +1,29 @@
---
read_when:
- Налаштування Matrix в OpenClaw
- - Налаштування Matrix E2EE і верифікації
-summary: Стан підтримки Matrix, налаштування та приклади конфігурації
+ - Налаштування Matrix E2EE та верифікації
+summary: Статус підтримки Matrix, налаштування та приклади конфігурації
title: Matrix
x-i18n:
- generated_at: "2026-04-08T18:43:29Z"
+ generated_at: "2026-04-14T21:03:32Z"
model: gpt-5.4
provider: openai
- source_hash: 28fc13c7620c1152200315ae69c94205da6de3180c53c814dd8ce03b5cb1758f
+ source_hash: 631f6fdcfebc23136c1a66b04851a25c047535d13cceba5650b8b421bc3afcf8
source_path: channels/matrix.md
workflow: 15
---
# Matrix
-Matrix — це вбудований плагін каналу для OpenClaw.
-Він використовує офіційний `matrix-js-sdk` і підтримує DM, кімнати, треди, медіа, реакції, опитування, геолокацію та E2EE.
+Matrix — це вбудований Plugin каналу для OpenClaw.
+Він використовує офіційний `matrix-js-sdk` і підтримує особисті повідомлення, кімнати, треди, медіа, реакції, опитування, геолокацію та E2EE.
-## Вбудований плагін
+## Вбудований plugin
-Matrix постачається як вбудований плагін у поточних випусках OpenClaw, тому звичайні
+Matrix постачається як вбудований Plugin у поточних випусках OpenClaw, тому звичайні
пакетні збірки не потребують окремого встановлення.
-Якщо у вас старіша збірка або користувацьке встановлення без Matrix, встановіть
+Якщо ви використовуєте старішу збірку або власне встановлення без Matrix, встановіть
його вручну:
Встановлення з npm:
@@ -38,52 +38,52 @@ openclaw plugins install @openclaw/matrix
openclaw plugins install ./path/to/local/matrix-plugin
```
-Див. [Плагіни](/uk/tools/plugin) щодо поведінки плагінів і правил встановлення.
+Див. [Plugins](/uk/tools/plugin) щодо поведінки plugin та правил встановлення.
## Налаштування
-1. Переконайтеся, що плагін Matrix доступний.
- - Поточні пакетні випуски OpenClaw уже містять його.
- - У старіших/користувацьких встановленнях його можна додати вручну командами вище.
+1. Переконайтеся, що Plugin Matrix доступний.
+ - У поточних пакетних випусках OpenClaw він уже вбудований.
+ - У старіших/власних встановленнях його можна додати вручну за допомогою наведених вище команд.
2. Створіть обліковий запис Matrix на своєму homeserver.
-3. Налаштуйте `channels.matrix` одним із варіантів:
+3. Налаштуйте `channels.matrix` одним із таких способів:
- `homeserver` + `accessToken`, або
- `homeserver` + `userId` + `password`.
-4. Перезапустіть gateway.
-5. Почніть DM із ботом або запросіть його до кімнати.
- - Нові запрошення Matrix працюють лише тоді, коли `channels.matrix.autoJoin` це дозволяє.
+4. Перезапустіть Gateway.
+5. Почніть особисте листування з ботом або запросіть його до кімнати.
+ - Нові запрошення Matrix працюють лише тоді, коли `channels.matrix.autoJoin` дозволяє їх.
-Інтерактивні шляхи налаштування:
+Шляхи інтерактивного налаштування:
```bash
openclaw channels add
openclaw configure --section channels
```
-Майстер Matrix запитує:
+Майстер налаштування Matrix запитує:
- URL homeserver
- метод автентифікації: access token або пароль
-- user ID (лише для автентифікації паролем)
+- ID користувача (лише для автентифікації паролем)
- необов’язкову назву пристрою
-- чи вмикати E2EE
-- чи налаштовувати доступ до кімнат і автоматичне приєднання за запрошенням
+- чи потрібно ввімкнути E2EE
+- чи потрібно налаштувати доступ до кімнат і автоматичне приєднання до запрошень
-Ключова поведінка майстра:
+Основні особливості майстра:
-- Якщо змінні середовища автентифікації Matrix уже існують і для цього облікового запису автентифікацію ще не збережено в конфігурації, майстер запропонує скорочений варіант із env для зберігання автентифікації у змінних середовища.
+- Якщо змінні середовища автентифікації Matrix уже існують, а для цього облікового запису автентифікація ще не збережена в конфігурації, майстер пропонує скористатися змінними середовища, щоб зберегти автентифікацію в них.
- Назви облікових записів нормалізуються до ID облікового запису. Наприклад, `Ops Bot` стає `ops-bot`.
-- Записи allowlist для DM напряму приймають `@user:server`; відображувані імена працюють лише тоді, коли live lookup каталогу знаходить один точний збіг.
-- Записи allowlist для кімнат напряму приймають ID кімнат і псевдоніми. Надавайте перевагу `!room:server` або `#alias:server`; нерозпізнані назви ігноруються під час виконання розв’язання allowlist.
-- У режимі allowlist для автоматичного приєднання за запрошенням використовуйте лише стабільні цілі запрошення: `!roomId:server`, `#alias:server` або `*`. Звичайні назви кімнат відхиляються.
-- Щоб розв’язати назви кімнат перед збереженням, використайте `openclaw channels resolve --channel matrix "Project Room"`.
+- Записи allowlist для особистих повідомлень приймають `@user:server` безпосередньо; відображувані імена працюють лише тоді, коли живий пошук у каталозі знаходить один точний збіг.
+- Записи allowlist для кімнат приймають ID кімнат і псевдоніми безпосередньо. Віддавайте перевагу `!room:server` або `#alias:server`; нерозв’язані назви ігноруються під час виконання механізмом розв’язання allowlist.
+- У режимі allowlist для автоматичного приєднання до запрошень використовуйте лише стабільні цілі запрошень: `!roomId:server`, `#alias:server` або `*`. Звичайні назви кімнат відхиляються.
+- Щоб розв’язати назви кімнат перед збереженням, використовуйте `openclaw channels resolve --channel matrix "Project Room"`.
-`channels.matrix.autoJoin` за замовчуванням має значення `off`.
+Значенням `channels.matrix.autoJoin` за замовчуванням є `off`.
-Якщо залишити його невстановленим, бот не приєднуватиметься до запрошених кімнат або нових запрошень у стилі DM, тому не з’являтиметься в нових групах або запрошених DM, якщо ви спершу не приєднаєте його вручну.
+Якщо залишити його не заданим, бот не приєднуватиметься до запрошених кімнат або нових запрошень у стилі особистих повідомлень, тож він не з’явиться в нових групах або запрошених особистих чатах, якщо ви спочатку не приєднаєте його вручну.
-Установіть `autoJoin: "allowlist"` разом із `autoJoinAllowlist`, щоб обмежити, які запрошення він приймає, або встановіть `autoJoin: "always"`, якщо хочете, щоб він приєднувався до кожного запрошення.
+Установіть `autoJoin: "allowlist"` разом із `autoJoinAllowlist`, щоб обмежити, які запрошення він прийматиме, або встановіть `autoJoin: "always"`, якщо хочете, щоб він приєднувався до кожного запрошення.
У режимі `allowlist` `autoJoinAllowlist` приймає лише `!roomId:server`, `#alias:server` або `*`.
@@ -133,7 +133,7 @@ openclaw configure --section channels
}
```
-Налаштування на основі пароля (токен кешується після входу):
+Налаштування на основі пароля (після входу токен кешується):
```json5
{
@@ -150,10 +150,10 @@ openclaw configure --section channels
```
Matrix зберігає кешовані облікові дані в `~/.openclaw/credentials/matrix/`.
-Обліковий запис за замовчуванням використовує `credentials.json`; іменовані облікові записи використовують `credentials-.json`.
-Коли там існують кешовані облікові дані, OpenClaw вважає Matrix налаштованим для setup, doctor і виявлення стану каналу, навіть якщо поточну автентифікацію не задано безпосередньо в конфігурації.
+Для облікового запису за замовчуванням використовується `credentials.json`; для іменованих облікових записів — `credentials-.json`.
+Якщо там існують кешовані облікові дані, OpenClaw вважає Matrix налаштованим для setup, doctor і виявлення стану каналу, навіть якщо поточна автентифікація не задана безпосередньо в конфігурації.
-Еквіваленти змінних середовища (використовуються, коли ключ конфігурації не задано):
+Відповідні змінні середовища (використовуються, якщо ключ конфігурації не задано):
- `MATRIX_HOMESERVER`
- `MATRIX_ACCESS_TOKEN`
@@ -162,7 +162,7 @@ Matrix зберігає кешовані облікові дані в `~/.opencl
- `MATRIX_DEVICE_ID`
- `MATRIX_DEVICE_NAME`
-Для облікових записів не за замовчуванням використовуйте змінні середовища з областю облікового запису:
+Для облікових записів, відмінних від облікового запису за замовчуванням, використовуйте змінні середовища з областю облікового запису:
- `MATRIX__HOMESERVER`
- `MATRIX__ACCESS_TOKEN`
@@ -184,11 +184,11 @@ Matrix зберігає кешовані облікові дані в `~/.opencl
Matrix екранує розділові знаки в ID облікових записів, щоб уникнути колізій у змінних середовища з областю дії.
Наприклад, `-` стає `_X2D_`, тому `ops-prod` перетворюється на `MATRIX_OPS_X2D_PROD_*`.
-Інтерактивний майстер пропонує скорочений варіант через env vars лише тоді, коли ці змінні середовища автентифікації вже присутні, а для вибраного облікового запису автентифікацію Matrix ще не збережено в конфігурації.
+Інтерактивний майстер пропонує варіант зі змінними середовища лише тоді, коли ці змінні автентифікації вже присутні, а для вибраного облікового запису автентифікація Matrix ще не збережена в конфігурації.
## Приклад конфігурації
-Це практична базова конфігурація з pairing для DM, allowlist для кімнат і ввімкненим E2EE:
+Це практична базова конфігурація з pairing для особистих повідомлень, allowlist для кімнат та увімкненим E2EE:
```json5
{
@@ -223,16 +223,16 @@ Matrix екранує розділові знаки в ID облікових з
}
```
-`autoJoin` застосовується до всіх запрошень Matrix, включно із запрошеннями у стилі DM. OpenClaw не може надійно
-класифікувати запрошену кімнату як DM або групу в момент запрошення, тому всі запрошення спочатку проходять через `autoJoin`.
-`dm.policy` застосовується після того, як бот уже приєднався і кімнату класифіковано як DM.
+`autoJoin` застосовується до всіх запрошень Matrix, включно із запрошеннями в стилі особистих повідомлень. OpenClaw не може надійно
+класифікувати запрошену кімнату як особистий чат або групу в момент запрошення, тому всі запрошення спочатку проходять через `autoJoin`.
+`dm.policy` застосовується після того, як бот приєднався та кімнату класифіковано як особистий чат.
## Попередній перегляд потокових відповідей
-Потокова передача відповідей Matrix є опціональною.
+Потокова передача відповідей у Matrix є опцією.
-Установіть `channels.matrix.streaming` у `"partial"`, якщо хочете, щоб OpenClaw надсилав один live preview
-відповіді, редагував цей preview на місці, поки модель генерує текст, а потім фіналізував його, коли
+Установіть `channels.matrix.streaming` у `"partial"`, якщо хочете, щоб OpenClaw надсилав одну живу
+відповідь із попереднім переглядом, редагував цей попередній перегляд на місці, поки модель генерує текст, а потім завершував її, коли
відповідь буде готова:
```json5
@@ -246,37 +246,37 @@ Matrix екранує розділові знаки в ID облікових з
```
- `streaming: "off"` — значення за замовчуванням. OpenClaw чекає на фінальну відповідь і надсилає її один раз.
-- `streaming: "partial"` створює одне редаговане preview-повідомлення для поточного блоку асистента, використовуючи звичайні текстові повідомлення Matrix. Це зберігає застарілу поведінку Matrix із preview перед фіналом для сповіщень, тому стандартні клієнти можуть сповіщати про перший потоковий preview-текст, а не про завершений блок.
-- `streaming: "quiet"` створює одне редаговане тихе preview-сповіщення для поточного блоку асистента. Використовуйте це лише тоді, коли ви також налаштовуєте push rules одержувача для фіналізованих редагувань preview.
-- `blockStreaming: true` вмикає окремі повідомлення прогресу Matrix. Коли ввімкнено потоковий preview, Matrix зберігає live draft для поточного блоку та залишає завершені блоки як окремі повідомлення.
-- Коли preview streaming увімкнено, а `blockStreaming` вимкнено, Matrix редагує live draft на місці й фіналізує цю саму подію, коли блок або хід завершується.
-- Якщо preview більше не вміщується в одну подію Matrix, OpenClaw зупиняє preview streaming і повертається до звичайної фінальної доставки.
-- Відповіді з медіа все одно надсилають вкладення у звичайному режимі. Якщо застарілий preview більше не можна безпечно повторно використати, OpenClaw редагує його перед надсиланням фінальної медіавідповіді.
-- Редагування preview вимагають додаткових викликів Matrix API. Залишайте streaming вимкненим, якщо хочете максимально консервативну поведінку щодо обмежень швидкості.
+- `streaming: "partial"` створює одне редаговане повідомлення попереднього перегляду для поточного блоку відповіді помічника, використовуючи звичайні текстові повідомлення Matrix. Це зберігає застарілу поведінку Matrix зі сповіщенням на першому попередньому перегляді, тому стандартні клієнти можуть сповіщати про перший текст потокового попереднього перегляду, а не про завершений блок.
+- `streaming: "quiet"` створює одне редаговане тихе повідомлення-попередній перегляд для поточного блоку відповіді помічника. Використовуйте це лише тоді, коли ви також налаштовуєте правила push для одержувачів щодо завершених редагувань попереднього перегляду.
+- `blockStreaming: true` вмикає окремі повідомлення прогресу Matrix. Якщо ввімкнено потоковий попередній перегляд, Matrix зберігає живу чернетку для поточного блоку та залишає завершені блоки як окремі повідомлення.
+- Коли попередній перегляд увімкнено, а `blockStreaming` вимкнено, Matrix редагує живу чернетку на місці та завершує цю саму подію, коли блок або хід завершуються.
+- Якщо попередній перегляд більше не вміщується в одну подію Matrix, OpenClaw припиняє потоковий попередній перегляд і повертається до звичайної фінальної доставки.
+- Відповіді з медіа, як і раніше, надсилають вкладення у звичайному режимі. Якщо застарілий попередній перегляд більше не можна безпечно повторно використати, OpenClaw редагує його перед надсиланням фінальної відповіді з медіа.
+- Редагування попереднього перегляду створюють додаткові виклики Matrix API. Залишайте streaming вимкненим, якщо хочете найобережнішу поведінку щодо обмеження частоти.
-`blockStreaming` сам по собі не вмикає чернеткові preview.
-Використовуйте `streaming: "partial"` або `streaming: "quiet"` для редагувань preview; потім додайте `blockStreaming: true`, лише якщо ви також хочете, щоб завершені блоки асистента залишалися видимими як окремі повідомлення прогресу.
+`blockStreaming` сам по собі не вмикає чернетки попереднього перегляду.
+Використовуйте `streaming: "partial"` або `streaming: "quiet"` для редагування попереднього перегляду; потім додавайте `blockStreaming: true` лише якщо також хочете, щоб завершені блоки відповіді помічника залишалися видимими як окремі повідомлення про прогрес.
-Якщо вам потрібні стандартні сповіщення Matrix без користувацьких push rules, використовуйте `streaming: "partial"` для поведінки preview-first або залиште `streaming` вимкненим для доставки лише фінального варіанта. За `streaming: "off"`:
+Якщо вам потрібні стандартні сповіщення Matrix без власних правил push, використовуйте `streaming: "partial"` для поведінки з попереднім переглядом спочатку або залиште `streaming` вимкненим для доставки лише фінальної відповіді. Якщо `streaming: "off"`:
-- `blockStreaming: true` надсилає кожен завершений блок як звичайне сповіщувальне повідомлення Matrix.
-- `blockStreaming: false` надсилає лише фінальну завершену відповідь як звичайне сповіщувальне повідомлення Matrix.
+- `blockStreaming: true` надсилає кожен завершений блок як звичайне повідомлення Matrix зі сповіщенням.
+- `blockStreaming: false` надсилає лише фінальну завершену відповідь як звичайне повідомлення Matrix зі сповіщенням.
-### Self-hosted push rules для тихих фіналізованих preview
+### Власні push-правила для тихих завершених попередніх переглядів
-Якщо ви запускаєте власну інфраструктуру Matrix і хочете, щоб тихі preview сповіщали лише тоді, коли блок або
-фінальна відповідь завершені, установіть `streaming: "quiet"` і додайте push rule для кожного користувача для фіналізованих редагувань preview.
+Якщо ви запускаєте власну інфраструктуру Matrix і хочете, щоб тихі попередні перегляди надсилали сповіщення лише тоді, коли блок або
+фінальна відповідь завершені, установіть `streaming: "quiet"` і додайте push-правило для кожного користувача-одержувача для завершених редагувань попереднього перегляду.
-Зазвичай це налаштування на рівні користувача-одержувача, а не глобальна зміна конфігурації homeserver:
+Зазвичай це налаштовується на рівні користувача-одержувача, а не як глобальна зміна конфігурації homeserver:
Швидка схема перед початком:
-- recipient user = людина, яка має отримувати сповіщення
-- bot user = обліковий запис Matrix OpenClaw, який надсилає відповідь
+- користувач-одержувач = людина, яка має отримати сповіщення
+- користувач-бот = обліковий запис Matrix OpenClaw, який надсилає відповідь
- для наведених нижче викликів API використовуйте access token користувача-одержувача
-- у push rule звіряйте `sender` із повним MXID користувача-бота
+- у push-правилі значення `sender` має збігатися з повним MXID користувача-бота
-1. Налаштуйте OpenClaw на використання тихих preview:
+1. Налаштуйте OpenClaw на використання тихих попередніх переглядів:
```json5
{
@@ -288,13 +288,13 @@ Matrix екранує розділові знаки в ID облікових з
}
```
-2. Переконайтеся, що обліковий запис одержувача вже отримує звичайні push-сповіщення Matrix. Правила тихих preview
- працюють лише тоді, коли цей користувач уже має робочі pushers/пристрої.
+2. Переконайтеся, що обліковий запис одержувача вже отримує звичайні push-сповіщення Matrix. Правила для тихих попередніх переглядів
+ працюють лише тоді, коли в цього користувача вже є налаштовані pusher-и/пристрої.
3. Отримайте access token користувача-одержувача.
- - Використовуйте токен користувача-одержувача, а не токен бота.
- - Найпростіше зазвичай повторно використати токен наявної сесії клієнта.
- - Якщо потрібно випустити новий токен, ви можете увійти через стандартний Matrix Client-Server API:
+ - Використовуйте токен користувача, який отримує повідомлення, а не токен бота.
+ - Зазвичай найпростіше повторно використати токен наявної сесії клієнта.
+ - Якщо потрібно випустити новий токен, можна увійти через стандартний Matrix Client-Server API:
```bash
curl -sS -X POST \
@@ -310,7 +310,7 @@ curl -sS -X POST \
}'
```
-4. Перевірте, що обліковий запис одержувача вже має pushers:
+4. Переконайтеся, що в облікового запису одержувача вже є pusher-и:
```bash
curl -sS \
@@ -318,10 +318,10 @@ curl -sS \
"https://matrix.example.org/_matrix/client/v3/pushers"
```
-Якщо це повертає нуль активних pushers/пристроїв, спочатку виправте звичайні сповіщення Matrix, а вже потім додавайте
+Якщо тут немає активних pusher-ів/пристроїв, спочатку виправте звичайні сповіщення Matrix, а вже потім додавайте
наведене нижче правило OpenClaw.
-OpenClaw позначає фіналізовані редагування preview лише для тексту таким маркером:
+OpenClaw позначає завершені редагування текстових попередніх переглядів так:
```json
{
@@ -329,7 +329,7 @@ OpenClaw позначає фіналізовані редагування previe
}
```
-5. Створіть override push rule для кожного облікового запису одержувача, який має отримувати ці сповіщення:
+5. Створіть override push-правило для кожного облікового запису одержувача, який має отримувати ці сповіщення:
```bash
curl -sS -X PUT \
@@ -359,7 +359,7 @@ curl -sS -X PUT \
}'
```
-Замініть ці значення перед запуском команди:
+Замініть ці значення перед виконанням команди:
- `https://matrix.example.org`: базовий URL вашого homeserver
- `$USER_ACCESS_TOKEN`: access token користувача-одержувача
@@ -368,16 +368,16 @@ curl -sS -X PUT \
Важливо для конфігурацій із кількома ботами:
-- Push rules прив’язані до `ruleId`. Повторний запуск `PUT` для того самого ID правила оновлює саме це правило.
-- Якщо один користувач-одержувач має отримувати сповіщення від кількох облікових записів Matrix-ботів OpenClaw, створіть по одному правилу на кожного бота з унікальним ID правила для кожного збігу sender.
+- Push-правила визначаються за `ruleId`. Повторний запуск `PUT` з тим самим ID правила оновлює саме це правило.
+- Якщо один користувач-одержувач має отримувати сповіщення від кількох облікових записів Matrix bot у OpenClaw, створіть окреме правило для кожного бота з унікальним ID правила для кожного збігу `sender`.
- Простий шаблон — `openclaw-finalized-preview-`, наприклад `openclaw-finalized-preview-ops` або `openclaw-finalized-preview-support`.
-Правило оцінюється відносно відправника події:
+Правило перевіряється щодо відправника події:
- автентифікуйтеся токеном користувача-одержувача
-- звіряйте `sender` із MXID бота OpenClaw
+- зіставте `sender` з MXID бота OpenClaw
-6. Перевірте, що правило існує:
+6. Переконайтеся, що правило існує:
```bash
curl -sS \
@@ -385,10 +385,10 @@ curl -sS \
"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"
```
-7. Протестуйте потокову відповідь. У тихому режимі в кімнаті має з’явитися тиха чернетка preview, а фінальне
- редагування на місці має надіслати одне сповіщення, коли блок або хід завершиться.
+7. Перевірте потокову відповідь. У тихому режимі в кімнаті має відображатися тиха чернетка попереднього перегляду, а фінальне
+ редагування на місці має надіслати сповіщення після завершення блоку або ходу.
-Якщо згодом потрібно видалити правило, видаліть той самий ID правила токеном користувача-одержувача:
+Якщо вам потрібно видалити правило пізніше, видаліть цей самий ID правила токеном користувача-одержувача:
```bash
curl -sS -X DELETE \
@@ -399,32 +399,32 @@ curl -sS -X DELETE \
Примітки:
- Створюйте правило за допомогою access token користувача-одержувача, а не токена бота.
-- Нові користувацькі правила `override` вставляються перед типовими правилами придушення, тому додатковий параметр порядку не потрібен.
-- Це впливає лише на редагування preview лише з текстом, які OpenClaw може безпечно фіналізувати на місці. Запасні варіанти для медіа та застарілих preview усе одно використовують звичайну доставку Matrix.
-- Якщо `GET /_matrix/client/v3/pushers` показує відсутність pushers, у користувача ще немає робочої доставки push-сповіщень Matrix для цього облікового запису/пристрою.
+- Нові користувацькі правила `override` вставляються перед типовими правилами приглушення, тому додатковий параметр порядку не потрібен.
+- Це впливає лише на редагування текстових попередніх переглядів, які OpenClaw може безпечно завершити на місці. Варіанти з поверненням до медіа та поверненням до застарілого попереднього перегляду, як і раніше, використовують звичайну доставку Matrix.
+- Якщо `GET /_matrix/client/v3/pushers` не показує жодного pusher, користувач ще не має працездатної доставки push-сповіщень Matrix для цього облікового запису/пристрою.
#### Synapse
-Для Synapse зазвичай достатньо наведеного вище налаштування:
+Для Synapse наведеного вище налаштування зазвичай достатньо саме по собі:
-- Жодних спеціальних змін у `homeserver.yaml` для фіналізованих preview-сповіщень OpenClaw не потрібно.
-- Якщо ваш розгорнутий Synapse уже надсилає звичайні push-сповіщення Matrix, токен користувача + виклик `pushrules` вище є основним кроком налаштування.
-- Якщо ви запускаєте Synapse за reverse proxy або workers, переконайтеся, що `/_matrix/client/.../pushrules/` коректно доходить до Synapse.
-- Якщо ви використовуєте Synapse workers, переконайтеся, що pushers працездатні. Доставку push виконує головний процес або `synapse.app.pusher` / налаштовані pusher workers.
+- Жодних спеціальних змін у `homeserver.yaml` для сповіщень про завершені попередні перегляди OpenClaw не потрібно.
+- Якщо ваше розгортання Synapse вже надсилає звичайні push-сповіщення Matrix, токен користувача + виклик `pushrules` вище є основним кроком налаштування.
+- Якщо Synapse працює за reverse proxy або workers, переконайтеся, що `/_matrix/client/.../pushrules/` коректно доходить до Synapse.
+- Якщо ви використовуєте Synapse workers, переконайтеся, що pusher-и справні. Доставка push-сповіщень обробляється основним процесом або `synapse.app.pusher` / налаштованими pusher workers.
#### Tuwunel
-Для Tuwunel використовуйте той самий процес налаштування і виклик API `push-rule`, наведені вище:
+Для Tuwunel використовуйте той самий процес налаштування та той самий виклик API `pushrules`, що наведені вище:
-- Жодної специфічної для Tuwunel конфігурації для самого маркера фіналізованого preview не потрібно.
+- Для самого маркера завершеного попереднього перегляду жодної специфічної конфігурації Tuwunel не потрібно.
- Якщо звичайні сповіщення Matrix для цього користувача вже працюють, токен користувача + виклик `pushrules` вище є основним кроком налаштування.
-- Якщо сповіщення ніби зникають, поки користувач активний на іншому пристрої, перевірте, чи ввімкнено `suppress_push_when_active`. Tuwunel додав цей параметр у Tuwunel 1.4.2 12 вересня 2025 року, і він може навмисно пригнічувати push на інші пристрої, поки один пристрій активний.
+- Якщо здається, що сповіщення зникають, коли користувач активний на іншому пристрої, перевірте, чи ввімкнено `suppress_push_when_active`. Tuwunel додав цю опцію у Tuwunel 1.4.2 12 вересня 2025 року, і вона може навмисно приглушувати push-сповіщення на інших пристроях, поки один пристрій активний.
-## Кімнати бот-до-бота
+## Кімнати bot-to-bot
За замовчуванням повідомлення Matrix від інших налаштованих облікових записів Matrix OpenClaw ігноруються.
-Використовуйте `allowBots`, якщо ви свідомо хочете міжагентний трафік Matrix:
+Використовуйте `allowBots`, якщо ви навмисно хочете дозволити міжагентний трафік Matrix:
```json5
{
@@ -441,17 +441,17 @@ curl -sS -X DELETE \
}
```
-- `allowBots: true` приймає повідомлення від інших налаштованих облікових записів Matrix-ботів у дозволених кімнатах і DM.
-- `allowBots: "mentions"` приймає ці повідомлення лише тоді, коли вони явно згадують цього бота в кімнатах. DM усе одно дозволені.
-- `groups..allowBots` перевизначає параметр рівня облікового запису для однієї кімнати.
-- OpenClaw усе одно ігнорує повідомлення від того самого Matrix user ID, щоб уникнути циклів самовідповідей.
-- Matrix тут не надає вбудованого прапорця бота; OpenClaw трактує «створено ботом» як «надіслано іншим налаштованим обліковим записом Matrix на цьому gateway OpenClaw».
+- `allowBots: true` приймає повідомлення від інших налаштованих облікових записів Matrix bot у дозволених кімнатах і особистих чатах.
+- `allowBots: "mentions"` приймає такі повідомлення лише тоді, коли вони явно згадують цього бота в кімнатах. Особисті чати все одно дозволені.
+- `groups..allowBots` перевизначає налаштування на рівні облікового запису для однієї кімнати.
+- OpenClaw, як і раніше, ігнорує повідомлення від того самого ID користувача Matrix, щоб уникнути циклів самовідповідей.
+- Matrix тут не надає вбудованого прапорця бота; OpenClaw трактує «створено ботом» як «надіслано іншим налаштованим обліковим записом Matrix на цьому Gateway OpenClaw».
-Використовуйте суворі allowlist для кімнат і вимоги до згадувань, коли вмикаєте трафік бот-до-бота у спільних кімнатах.
+Використовуйте суворі allowlist кімнат і вимоги до згадок, коли вмикаєте трафік bot-to-bot у спільних кімнатах.
## Шифрування та верифікація
-У зашифрованих (E2EE) кімнатах вихідні події зображень використовують `thumbnail_file`, тож preview зображень шифруються разом із повним вкладенням. У незашифрованих кімнатах, як і раніше, використовується звичайний `thumbnail_url`. Додаткова конфігурація не потрібна — плагін автоматично визначає стан E2EE.
+У зашифрованих (E2EE) кімнатах вихідні події зображень використовують `thumbnail_file`, тому попередні перегляди зображень шифруються разом із повним вкладенням. Незашифровані кімнати, як і раніше, використовують звичайний `thumbnail_url`. Конфігурація не потрібна — plugin автоматично визначає стан E2EE.
Увімкнення шифрування:
@@ -475,25 +475,25 @@ curl -sS -X DELETE \
openclaw matrix verify status
```
-Розширений стан (повна діагностика):
+Розгорнутий стан (повна діагностика):
```bash
openclaw matrix verify status --verbose
```
-Включити збережений recovery key у машиночитний вивід:
+Включити збережений recovery key у машинозчитуваний вивід:
```bash
openclaw matrix verify status --include-recovery-key --json
```
-Ініціалізація cross-signing і стану верифікації:
+Ініціалізація cross-signing та стану верифікації:
```bash
openclaw matrix verify bootstrap
```
-Розширена діагностика bootstrap:
+Розгорнута діагностика bootstrap:
```bash
openclaw matrix verify bootstrap --verbose
@@ -511,50 +511,50 @@ openclaw matrix verify bootstrap --force-reset-cross-signing
openclaw matrix verify device ""
```
-Розширені подробиці верифікації пристрою:
+Розгорнуті відомості про верифікацію пристрою:
```bash
openclaw matrix verify device "" --verbose
```
-Перевірка стану резервного копіювання ключів кімнат:
+Перевірка стану резервної копії ключів кімнат:
```bash
openclaw matrix verify backup status
```
-Розширена діагностика стану резервного копіювання:
+Розгорнута діагностика стану резервної копії:
```bash
openclaw matrix verify backup status --verbose
```
-Відновити ключі кімнат із резервної копії на сервері:
+Відновити ключі кімнат із серверної резервної копії:
```bash
openclaw matrix verify backup restore
```
-Розширена діагностика відновлення:
+Розгорнута діагностика відновлення:
```bash
openclaw matrix verify backup restore --verbose
```
-Видалити поточну резервну копію на сервері й створити нову базову резервну копію. Якщо збережений
-ключ резервного копіювання не вдається коректно завантажити, це скидання також може повторно створити secret storage, щоб
-майбутні cold start могли завантажувати новий ключ резервного копіювання:
+Видалити поточну серверну резервну копію та створити нову базову резервну копію. Якщо збережений
+ключ резервної копії не вдається коректно завантажити, це скидання також може повторно створити secret storage, щоб
+майбутні cold start могли завантажувати новий ключ резервної копії:
```bash
openclaw matrix verify backup reset --yes
```
Усі команди `verify` за замовчуванням лаконічні (включно з тихим внутрішнім логуванням SDK) і показують детальну діагностику лише з `--verbose`.
-Для повного машиночитного виводу під час скриптування використовуйте `--json`.
+Використовуйте `--json` для повного машинозчитуваного виводу під час автоматизації.
-У конфігураціях із кількома обліковими записами команди Matrix CLI використовують неявний обліковий запис Matrix за замовчуванням, якщо не передати `--account `.
-Якщо ви налаштували кілька іменованих облікових записів, спочатку задайте `channels.matrix.defaultAccount`, інакше такі неявні операції CLI зупиняться й попросять вас явно вибрати обліковий запис.
-Використовуйте `--account` щоразу, коли хочете, щоб операції верифікації або пристроїв явно були націлені на іменований обліковий запис:
+У конфігураціях із кількома обліковими записами команди CLI Matrix використовують неявний обліковий запис Matrix за замовчуванням, якщо ви не передасте `--account `.
+Якщо ви налаштували кілька іменованих облікових записів, спочатку задайте `channels.matrix.defaultAccount`, інакше такі неявні операції CLI зупиняться та попросять вас явно вибрати обліковий запис.
+Використовуйте `--account`, коли хочете, щоб операції верифікації або пристроїв були явно спрямовані на іменований обліковий запис:
```bash
openclaw matrix verify status --account assistant
@@ -562,43 +562,43 @@ openclaw matrix verify backup restore --account assistant
openclaw matrix devices list --account assistant
```
-Коли шифрування вимкнено або недоступне для іменованого облікового запису, попередження Matrix і помилки верифікації вказують на ключ конфігурації цього облікового запису, наприклад `channels.matrix.accounts.assistant.encryption`.
+Коли шифрування вимкнене або недоступне для іменованого облікового запису, попередження Matrix і помилки верифікації вказують на ключ конфігурації цього облікового запису, наприклад `channels.matrix.accounts.assistant.encryption`.
### Що означає «verified»
-OpenClaw вважає цей пристрій Matrix verified лише тоді, коли він верифікований вашою власною cross-signing identity.
+OpenClaw вважає цей пристрій Matrix верифікованим лише тоді, коли його верифіковано вашою власною ідентичністю cross-signing.
На практиці `openclaw matrix verify status --verbose` показує три сигнали довіри:
- `Locally trusted`: цьому пристрою довіряє лише поточний клієнт
- `Cross-signing verified`: SDK повідомляє, що пристрій верифіковано через cross-signing
- `Signed by owner`: пристрій підписано вашим власним self-signing key
-`Verified by owner` стає `yes` лише тоді, коли є верифікація через cross-signing або підпис власника.
-Локальної довіри самої по собі недостатньо, щоб OpenClaw вважав пристрій повністю verified.
+`Verified by owner` стає `yes` лише тоді, коли присутня верифікація через cross-signing або підпис власником.
+Самої локальної довіри недостатньо, щоб OpenClaw вважав пристрій повністю верифікованим.
### Що робить bootstrap
`openclaw matrix verify bootstrap` — це команда відновлення та налаштування для зашифрованих облікових записів Matrix.
-Вона робить усе наведене нижче в такому порядку:
+Вона послідовно робить усе з наведеного нижче:
- ініціалізує secret storage, повторно використовуючи наявний recovery key, коли це можливо
-- ініціалізує cross-signing і завантажує відсутні публічні ключі cross-signing
-- намагається позначити й перехресно підписати поточний пристрій
+- ініціалізує cross-signing і вивантажує відсутні відкриті ключі cross-signing
+- намагається позначити та підписати поточний пристрій через cross-signing
- створює нову серверну резервну копію ключів кімнат, якщо її ще не існує
-Якщо homeserver вимагає інтерактивну автентифікацію для завантаження ключів cross-signing, OpenClaw спочатку пробує завантаження без автентифікації, потім із `m.login.dummy`, а потім із `m.login.password`, коли налаштовано `channels.matrix.password`.
+Якщо homeserver вимагає інтерактивної автентифікації для вивантаження ключів cross-signing, OpenClaw спочатку намагається виконати вивантаження без автентифікації, потім з `m.login.dummy`, а потім з `m.login.password`, якщо налаштовано `channels.matrix.password`.
-Використовуйте `--force-reset-cross-signing` лише тоді, коли свідомо хочете відкинути поточну ідентичність cross-signing і створити нову.
+Використовуйте `--force-reset-cross-signing` лише тоді, коли ви свідомо хочете відкинути поточну ідентичність cross-signing і створити нову.
-Якщо ви свідомо хочете відкинути поточну резервну копію ключів кімнат і почати нову
-базову резервну копію для майбутніх повідомлень, використайте `openclaw matrix verify backup reset --yes`.
-Робіть це лише тоді, коли погоджуєтеся, що невідновлювана стара зашифрована історія залишиться
-недоступною і що OpenClaw може повторно створити secret storage, якщо поточний секрет
-резервного копіювання неможливо безпечно завантажити.
+Якщо ви навмисно хочете відкинути поточну резервну копію ключів кімнат і почати нову
+базову лінію резервного копіювання для майбутніх повідомлень, використовуйте `openclaw matrix verify backup reset --yes`.
+Робіть це лише тоді, коли ви погоджуєтеся, що стару зашифровану історію, яку неможливо відновити, буде
+недоступно й надалі, а також що OpenClaw може повторно створити secret storage, якщо поточний секрет
+резервної копії неможливо безпечно завантажити.
-### Нова базова резервна копія
+### Нова базова лінія резервної копії
-Якщо ви хочете зберегти працездатність майбутніх зашифрованих повідомлень і погоджуєтеся втратити невідновлювану стару історію, виконайте ці команди в такому порядку:
+Якщо ви хочете зберегти працездатність майбутніх зашифрованих повідомлень і згодні втратити стару історію, яку неможливо відновити, виконайте ці команди по черзі:
```bash
openclaw matrix verify backup reset --yes
@@ -611,49 +611,49 @@ openclaw matrix verify status
### Поведінка під час запуску
Коли `encryption: true`, для Matrix значення `startupVerification` за замовчуванням — `"if-unverified"`.
-Під час запуску, якщо цей пристрій усе ще не верифікований, Matrix надішле запит на самоверифікацію в іншому клієнті Matrix,
-пропустить дублікати запитів, якщо один уже очікує, і застосує локальну затримку перед повторною спробою після перезапуску.
-Невдалі спроби запиту за замовчуванням повторюються швидше, ніж успішне створення запиту.
+Під час запуску, якщо цей пристрій усе ще не верифіковано, Matrix надішле запит на самоверифікацію в іншому клієнті Matrix,
+пропустить дублікати запитів, якщо один уже очікує, і застосує локальний cooldown перед повторною спробою після перезапусків.
+Невдалі спроби запиту за замовчуванням повторюються раніше, ніж успішне створення запиту.
Установіть `startupVerification: "off"`, щоб вимкнути автоматичні запити під час запуску, або налаштуйте `startupVerificationCooldownHours`,
-якщо хочете коротше або довше вікно повтору.
+якщо хочете коротше або довше вікно повторної спроби.
-Під час запуску також автоматично виконується консервативний прохід crypto bootstrap.
-Цей прохід спочатку намагається повторно використати поточні secret storage і cross-signing identity і уникає скидання cross-signing, якщо ви не запускаєте явний repair flow bootstrap.
+Під час запуску також автоматично виконується обережний прохід bootstrap для crypto.
+Цей прохід спочатку намагається повторно використати поточні secret storage та ідентичність cross-signing і уникає скидання cross-signing, якщо ви не запускаєте явний процес відновлення bootstrap.
-Якщо під час запуску виявлено пошкоджений стан bootstrap і налаштовано `channels.matrix.password`, OpenClaw може спробувати суворіший шлях відновлення.
-Якщо поточний пристрій уже підписано власником, OpenClaw збереже цю identity замість автоматичного скидання.
+Якщо під час запуску виявлено зламаний стан bootstrap і налаштовано `channels.matrix.password`, OpenClaw може спробувати суворіший шлях відновлення.
+Якщо поточний пристрій уже підписано власником, OpenClaw зберігає цю ідентичність замість автоматичного скидання.
-Див. [Міграція Matrix](/uk/install/migrating-matrix) щодо повного процесу оновлення, обмежень, команд відновлення та поширених повідомлень міграції.
+Див. [Matrix migration](/uk/install/migrating-matrix) для повного процесу оновлення, обмежень, команд відновлення та типових повідомлень міграції.
-### Повідомлення верифікації
+### Сповіщення про верифікацію
-Matrix публікує повідомлення про життєвий цикл верифікації безпосередньо в суворій кімнаті DM для верифікації як повідомлення `m.notice`.
+Matrix публікує повідомлення про життєвий цикл верифікації безпосередньо в строгій DM-кімнаті для верифікації як повідомлення `m.notice`.
До них належать:
- повідомлення про запит верифікації
-- повідомлення про готовність до верифікації (з явною вказівкою «Verify by emoji»)
+- повідомлення про готовність до верифікації (з явною підказкою «Verify by emoji»)
- повідомлення про початок і завершення верифікації
- деталі SAS (emoji і десяткові значення), коли вони доступні
-Вхідні запити на верифікацію від іншого клієнта Matrix відстежуються і автоматично приймаються OpenClaw.
-Для сценаріїв самоверифікації OpenClaw також автоматично запускає SAS flow, коли стає доступною верифікація emoji, і підтверджує свій бік.
-Для запитів на верифікацію від іншого користувача/пристрою Matrix OpenClaw автоматично приймає запит, а потім чекає, поки SAS flow відбудеться у звичайному режимі.
-Вам усе одно потрібно порівняти emoji або десятковий SAS у своєму клієнті Matrix і підтвердити там «They match», щоб завершити верифікацію.
+Вхідні запити на верифікацію з іншого клієнта Matrix відстежуються й автоматично приймаються OpenClaw.
+Для процесів самоверифікації OpenClaw також автоматично запускає SAS-процес, коли стає доступною верифікація за emoji, і підтверджує свій бік.
+Для запитів на верифікацію від іншого користувача/пристрою Matrix OpenClaw автоматично приймає запит, а потім чекає, поки SAS-процес продовжиться у звичайному режимі.
+Щоб завершити верифікацію, вам усе одно потрібно порівняти emoji або десятковий SAS у своєму клієнті Matrix і підтвердити там «They match».
-OpenClaw не приймає сліпо самостійно ініційовані дубльовані flow. Під час запуску пропускається створення нового запиту, якщо запит на самоверифікацію вже очікує.
+OpenClaw не приймає автоматично дубльовані процеси, ініційовані ним самим, бездумно. Під час запуску створення нового запиту пропускається, якщо запит на самоверифікацію вже очікує.
-Повідомлення протоколу/системи верифікації не пересилаються до pipeline чату агента, тому вони не створюють `NO_REPLY`.
+Повідомлення протоколу/системи верифікації не передаються в конвеєр чату агента, тому вони не спричиняють `NO_REPLY`.
### Гігієна пристроїв
-Старі керовані OpenClaw пристрої Matrix можуть накопичуватися в обліковому записі й ускладнювати розуміння довіри в зашифрованих кімнатах.
-Щоб переглянути їх, виконайте:
+Старі пристрої Matrix під керуванням OpenClaw можуть накопичуватися в обліковому записі й ускладнювати розуміння довіри в зашифрованих кімнатах.
+Переглянути їх можна так:
```bash
openclaw matrix devices list
```
-Щоб видалити застарілі керовані OpenClaw пристрої:
+Видалити застарілі пристрої Matrix під керуванням OpenClaw можна так:
```bash
openclaw matrix devices prune-stale
@@ -661,69 +661,69 @@ openclaw matrix devices prune-stale
### Crypto store
-E2EE у Matrix використовує офіційний Rust crypto path з `matrix-js-sdk` у Node, із `fake-indexeddb` як shim для IndexedDB. Crypto state зберігається у файл snapshot (`crypto-idb-snapshot.json`) і відновлюється під час запуску. Файл snapshot є чутливим станом виконання та зберігається з обмежувальними правами доступу до файлу.
+Matrix E2EE використовує офіційний шлях Rust crypto із `matrix-js-sdk` у Node, із `fake-indexeddb` як shim для IndexedDB. Стан crypto зберігається у файл snapshot (`crypto-idb-snapshot.json`) і відновлюється під час запуску. Файл snapshot є чутливим станом середовища виконання та зберігається з обмежувальними правами доступу до файлу.
-Зашифрований стан виконання зберігається в коренях для кожного облікового запису, кожного користувача та кожного хешу токена в
+Зашифрований стан середовища виконання зберігається в кореневих каталогах для кожного облікового запису, користувача та хешу токена в
`~/.openclaw/matrix/accounts//__//`.
Цей каталог містить sync store (`bot-storage.json`), crypto store (`crypto/`),
файл recovery key (`recovery-key.json`), snapshot IndexedDB (`crypto-idb-snapshot.json`),
-прив’язки тредів (`thread-bindings.json`) і стан startup verification (`startup-verification.json`).
+прив’язки thread (`thread-bindings.json`) і стан верифікації під час запуску (`startup-verification.json`).
Коли токен змінюється, але ідентичність облікового запису залишається тією самою, OpenClaw повторно використовує найкращий наявний
-корінь для цього кортежу account/homeserver/user, щоб попередній sync state, crypto state, прив’язки тредів
-і стан startup verification залишалися видимими.
+кореневий каталог для цього кортежу обліковий запис/homeserver/користувач, щоб попередній sync state, crypto state, прив’язки thread
+і стан верифікації під час запуску залишалися доступними.
## Керування профілем
-Оновити self-profile Matrix для вибраного облікового запису можна так:
+Оновити власний профіль Matrix для вибраного облікового запису можна так:
```bash
openclaw matrix profile set --name "OpenClaw Assistant"
openclaw matrix profile set --avatar-url https://cdn.example.org/avatar.png
```
-Додайте `--account `, якщо хочете явно націлити команду на іменований обліковий запис.
+Додайте `--account `, якщо хочете явно націлити команду на іменований обліковий запис Matrix.
-Matrix напряму приймає URL аватара `mxc://`. Коли ви передаєте URL аватара `http://` або `https://`, OpenClaw спочатку завантажує його в Matrix, а потім зберігає розв’язаний URL `mxc://` назад у `channels.matrix.avatarUrl` (або у перевизначення вибраного облікового запису).
+Matrix безпосередньо приймає URL аватарів `mxc://`. Якщо ви передаєте URL аватара `http://` або `https://`, OpenClaw спочатку вивантажує його в Matrix, а потім зберігає отриманий URL `mxc://` назад у `channels.matrix.avatarUrl` (або у перевизначення вибраного облікового запису).
-## Треди
+## Threads
-Matrix підтримує нативні треди Matrix як для автоматичних відповідей, так і для надсилань через message-tool.
+Matrix підтримує вбудовані threads Matrix як для автоматичних відповідей, так і для надсилань через message-tool.
-- `dm.sessionScope: "per-user"` (типово) зберігає маршрутизацію DM Matrix у межах відправника, тому кілька кімнат DM можуть ділити одну сесію, якщо вони розв’язуються до того самого співрозмовника.
-- `dm.sessionScope: "per-room"` ізолює кожну кімнату DM Matrix у власний ключ сесії, при цьому й далі використовуються звичайні перевірки автентифікації DM і allowlist.
-- Явні прив’язки розмов Matrix усе одно мають пріоритет над `dm.sessionScope`, тому прив’язані кімнати й треди зберігають вибрану цільову сесію.
-- `threadReplies: "off"` зберігає відповіді на верхньому рівні й залишає вхідні потокові повідомлення в батьківській сесії.
-- `threadReplies: "inbound"` відповідає всередині треду лише тоді, коли вхідне повідомлення вже було в цьому треді.
-- `threadReplies: "always"` зберігає відповіді в кімнаті в треді, коренем якого є повідомлення-тригер, і маршрутизує цю розмову через відповідну сесію в межах треду від першого повідомлення-тригера.
-- `dm.threadReplies` перевизначає параметр верхнього рівня лише для DM. Наприклад, ви можете зберегти ізоляцію тредів у кімнатах, але лишити DM пласкими.
-- Вхідні повідомлення в тредах включають кореневе повідомлення треду як додатковий контекст агента.
-- Надсилання через message-tool автоматично успадковують поточний тред Matrix, коли ціль — та сама кімната або той самий користувацький DM-таргет, якщо не вказано явний `threadId`.
-- Повторне використання цільового DM користувача в межах тієї самої сесії спрацьовує лише тоді, коли поточні метадані сесії підтверджують того самого DM-співрозмовника в тому самому обліковому записі Matrix; інакше OpenClaw повертається до звичайної маршрутизації в межах користувача.
-- Коли OpenClaw бачить, що кімната DM Matrix конфліктує з іншою кімнатою DM у тій самій спільній сесії DM Matrix, він публікує в цій кімнаті одноразове `m.notice` з запасним варіантом `/focus`, коли прив’язки тредів увімкнено, а також підказкою `dm.sessionScope`.
-- Прив’язки тредів під час виконання підтримуються для Matrix. `/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` і прив’язаний до треду `/acp spawn` працюють у кімнатах і DM Matrix.
-- `/focus` на верхньому рівні в кімнаті/DM Matrix створює новий тред Matrix і прив’язує його до цільової сесії, коли `threadBindings.spawnSubagentSessions=true`.
-- Запуск `/focus` або `/acp spawn --thread here` всередині наявного треду Matrix натомість прив’язує саме цей поточний тред.
+- `dm.sessionScope: "per-user"` (за замовчуванням) зберігає маршрутизацію Matrix DM прив’язаною до відправника, тому кілька DM-кімнат можуть спільно використовувати одну сесію, якщо вони розпізнаються як той самий співрозмовник.
+- `dm.sessionScope: "per-room"` ізолює кожну Matrix DM-кімнату у власний ключ сесії, але при цьому продовжує використовувати звичайні перевірки автентифікації та allowlist для DM.
+- Явні прив’язки розмов Matrix, як і раніше, мають пріоритет над `dm.sessionScope`, тому прив’язані кімнати й threads зберігають вибрану цільову сесію.
+- `threadReplies: "off"` зберігає відповіді на верхньому рівні та залишає вхідні повідомлення в thread на батьківській сесії.
+- `threadReplies: "inbound"` відповідає всередині thread лише тоді, коли вхідне повідомлення вже було в цьому thread.
+- `threadReplies: "always"` зберігає відповіді кімнати в thread, що починається від повідомлення-тригера, і маршрутизує цю розмову через відповідну сесію з областю thread, починаючи з першого повідомлення-тригера.
+- `dm.threadReplies` перевизначає налаштування верхнього рівня лише для DM. Наприклад, ви можете ізолювати threads у кімнатах, але залишити DM пласкими.
+- Вхідні повідомлення в thread включають кореневе повідомлення thread як додатковий контекст агента.
+- Надсилання через message-tool автоматично успадковують поточний thread Matrix, якщо ціллю є та сама кімната або той самий користувач DM, якщо явно не задано `threadId`.
+- Повторне використання цілі користувача DM у межах тієї самої сесії спрацьовує лише тоді, коли метадані поточної сесії підтверджують того самого співрозмовника DM у тому самому обліковому записі Matrix; інакше OpenClaw повертається до звичайної маршрутизації з областю користувача.
+- Коли OpenClaw бачить, що Matrix DM-кімната конфліктує з іншою DM-кімнатою в тій самій спільній Matrix DM-сесії, він публікує в цій кімнаті одноразове `m.notice` з аварійною командою `/focus`, якщо ввімкнено прив’язки thread та підказку `dm.sessionScope`.
+- Прив’язки thread під час виконання підтримуються для Matrix. `/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` і прив’язаний до thread `/acp spawn` працюють у Matrix rooms і DM.
+- Верхньорівневий Matrix room/DM `/focus` створює новий Matrix thread і прив’язує його до цільової сесії, коли `threadBindings.spawnSubagentSessions=true`.
+- Запуск `/focus` або `/acp spawn --thread here` всередині наявного Matrix thread натомість прив’язує саме цей поточний thread.
## Прив’язки розмов ACP
-Кімнати, DM та наявні треди Matrix можна перетворювати на довготривалі робочі простори ACP без зміни поверхні чату.
+Matrix rooms, DM і наявні Matrix threads можна перетворити на довговічні робочі простори ACP без зміни поверхні чату.
-Швидкий операторський сценарій:
+Швидкий процес для оператора:
-- Запустіть `/acp spawn codex --bind here` усередині DM Matrix, кімнати або наявного треду, який хочете й надалі використовувати.
-- На верхньому рівні в DM або кімнаті Matrix поточний DM/кімната залишається поверхнею чату, а майбутні повідомлення маршрутизуються до створеної ACP-сесії.
-- Усередині наявного треду Matrix `--bind here` прив’язує саме цей поточний тред.
+- Запустіть `/acp spawn codex --bind here` усередині Matrix DM, room або наявного thread, який ви хочете й надалі використовувати.
+- У верхньорівневому Matrix DM або room поточний DM/room залишається поверхнею чату, а майбутні повідомлення маршрутизуються до створеної ACP-сесії.
+- Усередині наявного Matrix thread `--bind here` прив’язує цей поточний thread на місці.
- `/new` і `/reset` скидають ту саму прив’язану ACP-сесію на місці.
-- `/acp close` закриває ACP-сесію й видаляє прив’язку.
+- `/acp close` закриває ACP-сесію та видаляє прив’язку.
Примітки:
-- `--bind here` не створює дочірній тред Matrix.
-- `threadBindings.spawnAcpSessions` потрібен лише для `/acp spawn --thread auto|here`, коли OpenClaw має створити або прив’язати дочірній тред Matrix.
+- `--bind here` не створює дочірній Matrix thread.
+- `threadBindings.spawnAcpSessions` потрібен лише для `/acp spawn --thread auto|here`, коли OpenClaw має створити або прив’язати дочірній Matrix thread.
-### Конфігурація прив’язки тредів
+### Конфігурація прив’язки thread
-Matrix успадковує глобальні значення за замовчуванням з `session.threadBindings` і також підтримує перевизначення для каналу:
+Matrix успадковує глобальні значення за замовчуванням із `session.threadBindings`, а також підтримує перевизначення на рівні каналу:
- `threadBindings.enabled`
- `threadBindings.idleHours`
@@ -731,29 +731,29 @@ Matrix успадковує глобальні значення за замов
- `threadBindings.spawnSubagentSessions`
- `threadBindings.spawnAcpSessions`
-Прапорці створення, прив’язаного до тредів Matrix, вмикаються окремо:
+Прапорці створення з прив’язкою до thread для Matrix вмикаються лише за запитом:
-- Установіть `threadBindings.spawnSubagentSessions: true`, щоб дозволити `/focus` верхнього рівня створювати й прив’язувати нові треди Matrix.
-- Установіть `threadBindings.spawnAcpSessions: true`, щоб дозволити `/acp spawn --thread auto|here` прив’язувати ACP-сесії до тредів Matrix.
+- Установіть `threadBindings.spawnSubagentSessions: true`, щоб дозволити верхньорівневому `/focus` створювати та прив’язувати нові Matrix threads.
+- Установіть `threadBindings.spawnAcpSessions: true`, щоб дозволити `/acp spawn --thread auto|here` прив’язувати ACP-сесії до Matrix threads.
## Реакції
-Matrix підтримує вихідні дії реакцій, вхідні сповіщення про реакції та вхідні реакції підтвердження.
+Matrix підтримує вихідні дії реакцій, вхідні сповіщення про реакції та вхідні ack-реакції.
-- Інструментарій вихідних реакцій обмежується `channels["matrix"].actions.reactions`.
+- Інструментарій вихідних реакцій контролюється через `channels["matrix"].actions.reactions`.
- `react` додає реакцію до конкретної події Matrix.
- `reactions` показує поточне зведення реакцій для конкретної події Matrix.
-- `emoji=""` видаляє власні реакції облікового запису бота на цю подію.
-- `remove: true` видаляє лише вказану реакцію emoji від облікового запису бота.
+- `emoji=""` видаляє власні реакції облікового запису бота в цій події.
+- `remove: true` видаляє з облікового запису бота лише реакцію з указаним emoji.
-Область реакцій підтвердження визначається в такому порядку:
+Область ack-реакцій визначається у стандартному порядку OpenClaw:
- `channels["matrix"].accounts..ackReaction`
- `channels["matrix"].ackReaction`
- `messages.ackReaction`
-- запасний варіант emoji ідентичності агента
+- резервний emoji ідентичності агента
-Область дії реакцій підтвердження визначається в такому порядку:
+Область ack-реакцій визначається в такому порядку:
- `channels["matrix"].accounts..ackReactionScope`
- `channels["matrix"].ackReactionScope`
@@ -763,32 +763,32 @@ Matrix підтримує вихідні дії реакцій, вхідні с
- `channels["matrix"].accounts..reactionNotifications`
- `channels["matrix"].reactionNotifications`
-- значення за замовчуванням: `own`
+- за замовчуванням: `own`
Поведінка:
-- `reactionNotifications: "own"` пересилає додані події `m.reaction`, коли вони націлені на створені ботом повідомлення Matrix.
+- `reactionNotifications: "own"` пересилає додані події `m.reaction`, коли вони націлені на повідомлення Matrix, створені ботом.
- `reactionNotifications: "off"` вимикає системні події реакцій.
-- Видалення реакцій не синтезуються в системні події, тому що Matrix відображає їх як редагування, а не як окремі видалення `m.reaction`.
+- Видалення реакцій не синтезуються в системні події, оскільки Matrix подає їх як redaction, а не як окремі видалення `m.reaction`.
## Контекст історії
-- `channels.matrix.historyLimit` визначає, скільки останніх повідомлень кімнати включати як `InboundHistory`, коли повідомлення Matrix у кімнаті запускає агента. Запасний варіант — `messages.groupChat.historyLimit`; якщо не задано обидва, ефективне значення за замовчуванням — `0`. Установіть `0`, щоб вимкнути.
-- Історія кімнати Matrix стосується лише кімнати. DM і далі використовують звичайну історію сесії.
-- Історія кімнати Matrix — лише для pending: OpenClaw буферизує повідомлення кімнати, які ще не викликали відповідь, а потім знімає snapshot цього вікна, коли надходить згадка або інший тригер.
-- Поточне повідомлення-тригер не включається до `InboundHistory`; воно залишається в основному вхідному тілі для цього ходу.
-- Повторні спроби для тієї самої події Matrix повторно використовують початковий snapshot історії замість зсуву вперед до новіших повідомлень кімнати.
+- `channels.matrix.historyLimit` керує тим, скільки недавніх повідомлень кімнати включається як `InboundHistory`, коли повідомлення Matrix room запускає агента. Використовує `messages.groupChat.historyLimit` як резервне значення; якщо обидва не задані, ефективне значення за замовчуванням — `0`. Установіть `0`, щоб вимкнути.
+- Історія Matrix room стосується лише room. DM, як і раніше, використовують звичайну історію сесії.
+- Історія Matrix room охоплює лише очікувані повідомлення: OpenClaw буферизує повідомлення кімнати, які ще не викликали відповідь, а потім знімає snapshot цього вікна, коли надходить згадка або інший тригер.
+- Поточне повідомлення-тригер не включається в `InboundHistory`; воно залишається в основному вхідному тілі для цього ходу.
+- Повторні спроби для тієї самої події Matrix повторно використовують початковий snapshot історії замість зміщення вперед до новіших повідомлень кімнати.
## Видимість контексту
-Matrix підтримує спільний елемент керування `contextVisibility` для додаткового контексту кімнати, такого як отриманий текст відповіді, корені тредів і історія pending.
+Matrix підтримує спільний контроль `contextVisibility` для додаткового контексту кімнати, такого як отриманий текст відповіді, корені thread і очікувана історія.
- `contextVisibility: "all"` — значення за замовчуванням. Додатковий контекст зберігається як отримано.
-- `contextVisibility: "allowlist"` фільтрує додатковий контекст за відправниками, дозволеними активними перевірками allowlist кімнати/користувача.
-- `contextVisibility: "allowlist_quote"` працює як `allowlist`, але все одно зберігає одну явну цитовану відповідь.
+- `contextVisibility: "allowlist"` фільтрує додатковий контекст до відправників, дозволених активними перевірками allowlist кімнати/користувача.
+- `contextVisibility: "allowlist_quote"` поводиться як `allowlist`, але все одно зберігає одну явну цитовану відповідь.
-Цей параметр впливає на видимість додаткового контексту, а не на те, чи може саме вхідне повідомлення запускати відповідь.
-Авторизація тригера, як і раніше, походить із параметрів `groupPolicy`, `groups`, `groupAllowFrom` і DM policy.
+Це налаштування впливає на видимість додаткового контексту, а не на те, чи може саме вхідне повідомлення викликати відповідь.
+Авторизація тригера, як і раніше, визначається через `groupPolicy`, `groups`, `groupAllowFrom` і налаштування політики DM.
## Політика DM і кімнат
@@ -813,28 +813,28 @@ Matrix підтримує спільний елемент керування `co
}
```
-Див. [Групи](/uk/channels/groups) щодо обмеження згадками та поведінки allowlist.
+Див. [Groups](/uk/channels/groups) для правил згадок і поведінки allowlist.
-Приклад pairing для DM Matrix:
+Приклад pairing для Matrix DM:
```bash
openclaw pairing list matrix
openclaw pairing approve matrix
```
-Якщо непідтверджений користувач Matrix продовжує писати вам до схвалення, OpenClaw повторно використовує той самий pending pairing code і може знову надіслати нагадування після короткої затримки замість створення нового коду.
+Якщо непідтверджений користувач Matrix продовжує писати вам до схвалення, OpenClaw повторно використовує той самий код pairing, що очікує, і може знову надіслати відповідь-нагадування після короткого cooldown замість створення нового коду.
-Див. [Pairing](/uk/channels/pairing) щодо спільного процесу pairing для DM та структури зберігання.
+Див. [Pairing](/uk/channels/pairing) для спільного процесу pairing DM і структури зберігання.
## Відновлення direct room
-Якщо стан direct-message розсинхронізується, OpenClaw може отримати застарілі зіставлення `m.direct`, які вказують на старі індивідуальні кімнати замість актуального DM. Щоб переглянути поточне зіставлення для співрозмовника, виконайте:
+Якщо стан direct-message виходить із синхронізації, OpenClaw може отримати застарілі зіставлення `m.direct`, які вказують на старі solo-rooms замість активного DM. Переглянути поточне зіставлення для співрозмовника можна так:
```bash
openclaw matrix direct inspect --user-id @alice:example.org
```
-Щоб виправити його:
+Відновити його можна так:
```bash
openclaw matrix direct repair --user-id @alice:example.org
@@ -842,53 +842,53 @@ openclaw matrix direct repair --user-id @alice:example.org
Процес відновлення:
-- надає перевагу суворому DM 1:1, який уже зіставлено в `m.direct`
-- якщо такого немає, переходить до будь-якого поточного приєднаного суворого DM 1:1 з цим користувачем
-- створює нову direct room і переписує `m.direct`, якщо справного DM не існує
+- надає перевагу строгому 1:1 DM, який уже зіставлено в `m.direct`
+- якщо цього немає, використовує будь-який поточний strict 1:1 DM із цим користувачем, до якого виконано приєднання
+- створює нову direct room і переписує `m.direct`, якщо працездатного DM не існує
-Процес відновлення не видаляє старі кімнати автоматично. Він лише вибирає справний DM і оновлює зіставлення, щоб нові надсилання Matrix, повідомлення верифікації та інші direct-message сценарії знову спрямовувалися в правильну кімнату.
+Процес відновлення не видаляє старі кімнати автоматично. Він лише вибирає працездатний DM і оновлює зіставлення, щоб нові надсилання Matrix, повідомлення про верифікацію та інші direct-message-процеси знову націлювалися на правильну кімнату.
## Підтвердження exec
Matrix може виступати нативним клієнтом підтверджень для облікового запису Matrix. Нативні
-параметри маршрутизації DM/каналу, як і раніше, розташовані в конфігурації підтвердження exec:
+параметри маршрутизації DM/каналу, як і раніше, знаходяться в конфігурації підтверджень exec:
- `channels.matrix.execApprovals.enabled`
-- `channels.matrix.execApprovals.approvers` (необов’язково; запасний варіант — `channels.matrix.dm.allowFrom`)
-- `channels.matrix.execApprovals.target` (`dm` | `channel` | `both`, типово: `dm`)
+- `channels.matrix.execApprovals.approvers` (необов’язково; використовує `channels.matrix.dm.allowFrom` як резервне значення)
+- `channels.matrix.execApprovals.target` (`dm` | `channel` | `both`, за замовчуванням: `dm`)
- `channels.matrix.execApprovals.agentFilter`
- `channels.matrix.execApprovals.sessionFilter`
-Схвалювачами мають бути Matrix user ID на кшталт `@owner:example.org`. Matrix автоматично вмикає нативні підтвердження, коли `enabled` не задано або має значення `"auto"` і можна розв’язати принаймні одного схвалювача. Підтвердження exec спочатку використовують `execApprovals.approvers` і можуть повертатися до `channels.matrix.dm.allowFrom`. Підтвердження плагінів авторизуються через `channels.matrix.dm.allowFrom`. Установіть `enabled: false`, щоб явно вимкнути Matrix як нативний клієнт підтверджень. В іншому разі запити на підтвердження повертаються до інших налаштованих маршрутів підтвердження або політики запасного підтвердження.
+Схвалювачами мають бути ID користувачів Matrix, наприклад `@owner:example.org`. Matrix автоматично вмикає нативні підтвердження, коли `enabled` не задано або має значення `"auto"` і можна визначити принаймні одного схвалювача. Підтвердження exec спочатку використовують `execApprovals.approvers` і можуть використовувати `channels.matrix.dm.allowFrom` як резервне значення. Підтвердження plugin авторизуються через `channels.matrix.dm.allowFrom`. Установіть `enabled: false`, щоб явно вимкнути Matrix як нативний клієнт підтверджень. В іншому разі запити на підтвердження повертаються до інших налаштованих маршрутів підтвердження або до резервної політики підтверджень.
Нативна маршрутизація Matrix підтримує обидва типи підтверджень:
-- `channels.matrix.execApprovals.*` керує нативним режимом fanout DM/каналу для запитів підтвердження Matrix.
-- Підтвердження exec використовують набір схвалювачів exec з `execApprovals.approvers` або `channels.matrix.dm.allowFrom`.
-- Підтвердження плагінів використовують allowlist DM Matrix з `channels.matrix.dm.allowFrom`.
-- Скорочення через реакції Matrix і оновлення повідомлень застосовуються як до підтверджень exec, так і до підтверджень плагінів.
+- `channels.matrix.execApprovals.*` керує нативним режимом fanout DM/каналу для запитів на підтвердження Matrix.
+- Підтвердження exec використовують набір схвалювачів exec із `execApprovals.approvers` або `channels.matrix.dm.allowFrom`.
+- Підтвердження plugin використовують allowlist Matrix DM із `channels.matrix.dm.allowFrom`.
+- Ярлики реакцій Matrix і оновлення повідомлень застосовуються як до exec, так і до plugin-підтверджень.
Правила доставки:
-- `target: "dm"` надсилає запити підтвердження в DM схвалювачів
-- `target: "channel"` надсилає запит назад до початкової кімнати або DM Matrix
-- `target: "both"` надсилає в DM схвалювачів і в початкову кімнату або DM Matrix
+- `target: "dm"` надсилає запити на підтвердження в DM схвалювачів
+- `target: "channel"` надсилає запит назад у вихідну Matrix room або DM
+- `target: "both"` надсилає в DM схвалювачів і у вихідну Matrix room або DM
-Запити підтвердження Matrix додають скорочення через реакції до основного повідомлення підтвердження:
+Запити на підтвердження Matrix додають ярлики реакцій до основного повідомлення підтвердження:
- `✅` = дозволити один раз
- `❌` = відхилити
-- `♾️` = дозволити завжди, коли таке рішення дозволяє ефективна політика exec
+- `♾️` = дозволити завжди, коли таке рішення дозволено ефективною політикою exec
-Схвалювачі можуть реагувати на це повідомлення або скористатися запасними slash-командами: `/approve allow-once`, `/approve allow-always` або `/approve deny`.
+Схвалювачі можуть реагувати на це повідомлення або використовувати резервні slash-команди: `/approve allow-once`, `/approve allow-always` або `/approve deny`.
-Лише розв’язані схвалювачі можуть дозволяти або відхиляти. Для підтверджень exec доставка в канал включає текст команди, тому вмикайте `channel` або `both` лише в довірених кімнатах.
+Лише визначені схвалювачі можуть схвалювати або відхиляти. Для exec-підтверджень доставка в канал включає текст команди, тому вмикайте `channel` або `both` лише в довірених кімнатах.
-Перевизначення для облікового запису:
+Перевизначення для окремого облікового запису:
- `channels.matrix.accounts..execApprovals`
-Пов’язана документація: [Підтвердження exec](/uk/tools/exec-approvals)
+Пов’язана документація: [Exec approvals](/uk/tools/exec-approvals)
## Кілька облікових записів
@@ -920,23 +920,24 @@ Matrix може виступати нативним клієнтом підтв
}
```
-Значення верхнього рівня `channels.matrix` діють як значення за замовчуванням для іменованих облікових записів, якщо обліковий запис не задає перевизначення.
-Ви можете обмежити успадковані записи кімнат одним обліковим записом Matrix через `groups..account`.
+Значення верхнього рівня `channels.matrix` діють як значення за замовчуванням для іменованих облікових записів, якщо конкретний обліковий запис їх не перевизначає.
+Ви можете обмежити успадковані записи кімнат одним обліковим записом Matrix за допомогою `groups..account`.
Записи без `account` залишаються спільними для всіх облікових записів Matrix, а записи з `account: "default"` і далі працюють, коли обліковий запис за замовчуванням налаштовано безпосередньо на верхньому рівні `channels.matrix.*`.
-Часткові спільні значення автентифікації за замовчуванням самі собою не створюють окремий неявний обліковий запис за замовчуванням. OpenClaw синтезує верхньорівневий обліковий запис `default` лише тоді, коли цей обліковий запис за замовчуванням має актуальну автентифікацію (`homeserver` плюс `accessToken`, або `homeserver` плюс `userId` і `password`); іменовані облікові записи можуть і далі лишатися видимими з `homeserver` плюс `userId`, якщо кешовані облікові дані пізніше задовольняють вимоги автентифікації.
-Якщо в Matrix уже є рівно один іменований обліковий запис або `defaultAccount` вказує на наявний ключ іменованого облікового запису, під час repair/setup-просування з одного облікового запису до кількох зберігається цей обліковий запис замість створення нового запису `accounts.default`. У цей підвищений обліковий запис переміщуються лише ключі автентифікації/bootstrap Matrix; спільні ключі політики доставки залишаються на верхньому рівні.
-Установіть `defaultAccount`, якщо хочете, щоб OpenClaw віддавав перевагу одному іменованому обліковому запису Matrix для неявної маршрутизації, probing і операцій CLI.
-Якщо ви налаштовуєте кілька іменованих облікових записів, задайте `defaultAccount` або передавайте `--account ` для команд CLI, які покладаються на неявний вибір облікового запису.
-Передавайте `--account ` до `openclaw matrix verify ...` і `openclaw matrix devices ...`, коли хочете перевизначити цей неявний вибір для однієї команди.
+Часткові спільні значення автентифікації за замовчуванням самі по собі не створюють окремий неявний обліковий запис за замовчуванням. OpenClaw синтезує верхньорівневий обліковий запис `default` лише тоді, коли цей обліковий запис за замовчуванням має актуальну автентифікацію (`homeserver` плюс `accessToken` або `homeserver` плюс `userId` і `password`); іменовані облікові записи все одно можуть залишатися доступними для виявлення на основі `homeserver` плюс `userId`, якщо кешовані облікові дані пізніше задовольнять автентифікацію.
+Якщо Matrix уже має рівно один іменований обліковий запис або `defaultAccount` вказує на наявний ключ іменованого облікового запису, просування з ремонту/налаштування з одного облікового запису до кількох зберігає цей обліковий запис замість створення нового запису `accounts.default`. У цей просунутий обліковий запис переміщуються лише ключі автентифікації/bootstrap Matrix; спільні ключі політики доставки залишаються на верхньому рівні.
+Установіть `defaultAccount`, якщо хочете, щоб OpenClaw віддавав перевагу одному іменованому обліковому запису Matrix для неявної маршрутизації, перевірок і CLI-операцій.
+Якщо налаштовано кілька облікових записів Matrix і один ID облікового запису дорівнює `default`, OpenClaw використовує цей обліковий запис неявно, навіть якщо `defaultAccount` не задано.
+Якщо ви налаштували кілька іменованих облікових записів, задайте `defaultAccount` або передавайте `--account ` для CLI-команд, які покладаються на неявний вибір облікового запису.
+Передавайте `--account ` до `openclaw matrix verify ...` і `openclaw matrix devices ...`, якщо хочете перевизначити цей неявний вибір для однієї команди.
-Див. [Довідник із конфігурації](/uk/gateway/configuration-reference#multi-account-all-channels) щодо спільного шаблону для кількох облікових записів.
+Див. [Configuration reference](/uk/gateway/configuration-reference#multi-account-all-channels) для спільного шаблону з кількома обліковими записами.
## Приватні/LAN homeserver
За замовчуванням OpenClaw блокує приватні/внутрішні homeserver Matrix для захисту від SSRF, якщо ви
явно не ввімкнете це окремо для кожного облікового запису.
-Якщо ваш homeserver працює на localhost, LAN/Tailscale IP або внутрішньому імені хоста, увімкніть
+Якщо ваш homeserver працює на localhost, IP LAN/Tailscale або внутрішньому імені хоста, увімкніть
`network.dangerouslyAllowPrivateNetwork` для цього облікового запису Matrix:
```json5
@@ -963,8 +964,8 @@ openclaw matrix account add \
--access-token syt_ops_xxx
```
-Цей opt-in дозволяє лише довірені приватні/внутрішні цілі. Публічні незашифровані homeserver, такі як
-`http://matrix.example.org:8008`, як і раніше, блокуються. За можливості віддавайте перевагу `https://`.
+Цей режим явного ввімкнення дозволяє лише довірені приватні/внутрішні цілі. Публічні homeserver без шифрування, як-от
+`http://matrix.example.org:8008`, і далі блокуються. За можливості віддавайте перевагу `https://`.
## Проксіювання трафіку Matrix
@@ -982,86 +983,86 @@ openclaw matrix account add \
}
```
-Іменовані облікові записи можуть перевизначати верхньорівневе значення за замовчуванням через `channels.matrix.accounts..proxy`.
-OpenClaw використовує те саме значення проксі як для трафіку Matrix під час виконання, так і для probes стану облікового запису.
+Іменовані облікові записи можуть перевизначати значення верхнього рівня через `channels.matrix.accounts..proxy`.
+OpenClaw використовує те саме налаштування проксі як для трафіку Matrix під час виконання, так і для перевірок стану облікового запису.
-## Розв’язання цілей
+## Визначення цілі
-Matrix приймає такі форми цілей усюди, де OpenClaw просить вас указати ціль кімнати або користувача:
+Matrix приймає такі форми цілі всюди, де OpenClaw просить вказати ціль кімнати або користувача:
- Користувачі: `@user:server`, `user:@user:server` або `matrix:user:@user:server`
- Кімнати: `!room:server`, `room:!room:server` або `matrix:room:!room:server`
- Псевдоніми: `#alias:server`, `channel:#alias:server` або `matrix:channel:#alias:server`
-Live lookup каталогу використовує обліковий запис Matrix, у який виконано вхід:
+Живий пошук у каталозі використовує обліковий запис Matrix, у якому виконано вхід:
-- Пошук користувачів виконує запит до каталогу користувачів Matrix на цьому homeserver.
-- Пошук кімнат напряму приймає явні ID кімнат і псевдоніми, а потім за потреби переходить до пошуку за назвами приєднаних кімнат для цього облікового запису.
-- Пошук за назвами приєднаних кімнат виконується за принципом best-effort. Якщо назву кімнати не вдається розв’язати до ID або псевдоніма, вона ігнорується під час виконання розв’язання allowlist.
+- Пошук користувачів звертається до каталогу користувачів Matrix на цьому homeserver.
+- Пошук кімнат безпосередньо приймає явні ID кімнат і псевдоніми, а потім, якщо потрібно, переходить до пошуку серед назв приєднаних кімнат для цього облікового запису.
+- Пошук за назвою приєднаної кімнати є best-effort. Якщо назву кімнати не вдається зіставити з ID або псевдонімом, під час виконання вона ігнорується механізмом розв’язання allowlist.
-## Довідник із конфігурації
+## Довідник конфігурації
- `enabled`: увімкнути або вимкнути канал.
- `name`: необов’язкова мітка для облікового запису.
- `defaultAccount`: бажаний ID облікового запису, коли налаштовано кілька облікових записів Matrix.
- `homeserver`: URL homeserver, наприклад `https://matrix.example.org`.
-- `network.dangerouslyAllowPrivateNetwork`: дозволити цьому обліковому запису Matrix підключатися до приватних/внутрішніх homeserver. Увімкніть це, коли homeserver розв’язується до `localhost`, LAN/Tailscale IP або внутрішнього хоста, такого як `matrix-synapse`.
-- `proxy`: необов’язковий URL HTTP(S)-проксі для трафіку Matrix. Іменовані облікові записи можуть перевизначати верхньорівневе значення за замовчуванням власним `proxy`.
-- `userId`: повний Matrix user ID, наприклад `@bot:example.org`.
-- `accessToken`: access token для автентифікації на основі токена. Для `channels.matrix.accessToken` і `channels.matrix.accounts..accessToken` у провайдерах env/file/exec підтримуються як відкриті текстові значення, так і значення SecretRef. Див. [Керування секретами](/uk/gateway/secrets).
-- `password`: пароль для входу на основі пароля. Підтримуються значення у відкритому тексті та значення SecretRef.
-- `deviceId`: явний Matrix device ID.
+- `network.dangerouslyAllowPrivateNetwork`: дозволяє цьому обліковому запису Matrix підключатися до приватних/внутрішніх homeserver. Увімкніть це, коли homeserver резолвиться в `localhost`, IP LAN/Tailscale або внутрішній хост на кшталт `matrix-synapse`.
+- `proxy`: необов’язковий URL HTTP(S)-проксі для трафіку Matrix. Іменовані облікові записи можуть перевизначати значення верхнього рівня власним `proxy`.
+- `userId`: повний ID користувача Matrix, наприклад `@bot:example.org`.
+- `accessToken`: access token для автентифікації на основі токена. Для `channels.matrix.accessToken` і `channels.matrix.accounts..accessToken` у постачальниках env/file/exec підтримуються як відкриті значення, так і значення SecretRef. Див. [Secrets Management](/uk/gateway/secrets).
+- `password`: пароль для входу за паролем. Підтримуються як відкриті значення, так і значення SecretRef.
+- `deviceId`: явний ID пристрою Matrix.
- `deviceName`: відображувана назва пристрою для входу за паролем.
- `avatarUrl`: збережений URL власного аватара для синхронізації профілю та оновлень `profile set`.
-- `initialSyncLimit`: максимальна кількість подій, які отримуються під час початкової синхронізації при запуску.
+- `initialSyncLimit`: максимальна кількість подій, що отримуються під час стартової синхронізації.
- `encryption`: увімкнути E2EE.
-- `allowlistOnly`: коли має значення `true`, переводить політику кімнат `open` у `allowlist` і примусово переводить усі активні політики DM, крім `disabled` (включно з `pairing` і `open`), у `allowlist`. Не впливає на політики `disabled`.
-- `allowBots`: дозволити повідомлення від інших налаштованих облікових записів Matrix OpenClaw (`true` або `"mentions"`).
+- `allowlistOnly`: якщо `true`, підвищує політику кімнати `open` до `allowlist` і примусово переводить усі активні політики DM, крім `disabled` (включно з `pairing` і `open`), до `allowlist`. Не впливає на політики `disabled`.
+- `allowBots`: дозволяє повідомлення від інших налаштованих облікових записів Matrix OpenClaw (`true` або `"mentions"`).
- `groupPolicy`: `open`, `allowlist` або `disabled`.
- `contextVisibility`: режим видимості додаткового контексту кімнати (`all`, `allowlist`, `allowlist_quote`).
-- `groupAllowFrom`: allowlist user ID для трафіку кімнат. Записи мають бути повними Matrix user ID; нерозв’язані імена ігноруються під час виконання.
-- `historyLimit`: максимальна кількість повідомлень кімнати, які включаються як контекст історії групи. Запасний варіант — `messages.groupChat.historyLimit`; якщо не задано обидва, ефективне значення за замовчуванням — `0`. Установіть `0`, щоб вимкнути.
+- `groupAllowFrom`: allowlist ID користувачів для трафіку кімнат. Записи мають бути повними ID користувачів Matrix; нерозв’язані імена ігноруються під час виконання.
+- `historyLimit`: максимальна кількість повідомлень кімнати, які включаються як контекст історії групи. Використовує `messages.groupChat.historyLimit` як резервне значення; якщо обидва не задані, ефективне значення за замовчуванням — `0`. Установіть `0`, щоб вимкнути.
- `replyToMode`: `off`, `first`, `all` або `batched`.
- `markdown`: необов’язкова конфігурація рендерингу Markdown для вихідного тексту Matrix.
-- `streaming`: `off` (типово), `"partial"`, `"quiet"`, `true` або `false`. `"partial"` і `true` вмикають оновлення чернеток у режимі preview-first зі звичайними текстовими повідомленнями Matrix. `"quiet"` використовує тихі preview-сповіщення для self-hosted налаштувань push-rule. `false` еквівалентне `"off"`.
-- `blockStreaming`: `true` вмикає окремі повідомлення прогресу для завершених блоків асистента, поки активний потоковий preview чернетки.
+- `streaming`: `off` (за замовчуванням), `"partial"`, `"quiet"`, `true` або `false`. `"partial"` і `true` вмикають попереднє оновлення чернетки з початковим попереднім переглядом через звичайні текстові повідомлення Matrix. `"quiet"` використовує попередні тихі notice-повідомлення для власних конфігурацій push-правил. `false` еквівалентне `"off"`.
+- `blockStreaming`: `true` вмикає окремі повідомлення прогресу для завершених блоків відповіді помічника, поки активне потокове передавання чернетки попереднього перегляду.
- `threadReplies`: `off`, `inbound` або `always`.
-- `threadBindings`: перевизначення для каналу для маршрутизації й життєвого циклу сесій, прив’язаних до тредів.
+- `threadBindings`: перевизначення на рівні каналу для маршрутизації та життєвого циклу сесій, прив’язаних до thread.
- `startupVerification`: режим автоматичного запиту самоверифікації під час запуску (`if-unverified`, `off`).
-- `startupVerificationCooldownHours`: затримка перед повторною спробою автоматичних запитів верифікації під час запуску.
-- `textChunkLimit`: розмір фрагмента вихідного повідомлення в символах (застосовується, коли `chunkMode` дорівнює `length`).
+- `startupVerificationCooldownHours`: cooldown перед повторною спробою автоматичних запитів на верифікацію під час запуску.
+- `textChunkLimit`: розмір частини вихідного повідомлення в символах (застосовується, коли `chunkMode` має значення `length`).
- `chunkMode`: `length` розбиває повідомлення за кількістю символів; `newline` розбиває за межами рядків.
-- `responsePrefix`: необов’язковий рядок, який додається на початок усіх вихідних відповідей для цього каналу.
-- `ackReaction`: необов’язкове перевизначення реакції підтвердження для цього каналу/облікового запису.
-- `ackReactionScope`: необов’язкове перевизначення області дії реакції підтвердження (`group-mentions`, `group-all`, `direct`, `all`, `none`, `off`).
+- `responsePrefix`: необов’язковий рядок, що додається на початок усіх вихідних відповідей для цього каналу.
+- `ackReaction`: необов’язкове перевизначення ack-реакції для цього каналу/облікового запису.
+- `ackReactionScope`: необов’язкове перевизначення області ack-реакції (`group-mentions`, `group-all`, `direct`, `all`, `none`, `off`).
- `reactionNotifications`: режим вхідних сповіщень про реакції (`own`, `off`).
-- `mediaMaxMb`: ліміт розміру медіа в МБ для вихідних надсилань і обробки вхідних медіа.
-- `autoJoin`: політика автоматичного приєднання за запрошенням (`always`, `allowlist`, `off`). Типово: `off`. Застосовується до всіх запрошень Matrix, включно із запрошеннями у стилі DM.
-- `autoJoinAllowlist`: кімнати/псевдоніми, дозволені, коли `autoJoin` має значення `allowlist`. Записи псевдонімів розв’язуються до ID кімнат під час обробки запрошення; OpenClaw не довіряє стану псевдоніма, заявленому запрошеною кімнатою.
+- `mediaMaxMb`: обмеження розміру медіа в МБ для вихідних надсилань і обробки вхідних медіа.
+- `autoJoin`: політика автоматичного приєднання за запрошенням (`always`, `allowlist`, `off`). За замовчуванням: `off`. Застосовується до всіх запрошень Matrix, включно із запрошеннями в стилі DM.
+- `autoJoinAllowlist`: кімнати/псевдоніми, дозволені, коли `autoJoin` має значення `allowlist`. Під час обробки запрошення записи псевдонімів розв’язуються до ID кімнат; OpenClaw не довіряє стану псевдоніма, заявленому запрошеною кімнатою.
- `dm`: блок політики DM (`enabled`, `policy`, `allowFrom`, `sessionScope`, `threadReplies`).
-- `dm.policy`: керує доступом до DM після того, як OpenClaw уже приєднався до кімнати й класифікував її як DM. Це не змінює того, чи буде запрошення автоматично прийняте.
-- `dm.allowFrom`: записи мають бути повними Matrix user ID, якщо ви вже не розв’язали їх через live lookup каталогу.
-- `dm.sessionScope`: `per-user` (типово) або `per-room`. Використовуйте `per-room`, якщо хочете, щоб кожна кімната DM Matrix зберігала окремий контекст, навіть якщо співрозмовник той самий.
-- `dm.threadReplies`: перевизначення політики тредів лише для DM (`off`, `inbound`, `always`). Воно перевизначає параметр верхнього рівня `threadReplies` як для розміщення відповідей, так і для ізоляції сесії в DM.
-- `execApprovals`: нативна доставка підтверджень exec через Matrix (`enabled`, `approvers`, `target`, `agentFilter`, `sessionFilter`).
-- `execApprovals.approvers`: Matrix user ID, яким дозволено схвалювати exec-запити. Необов’язково, якщо `dm.allowFrom` уже визначає схвалювачів.
-- `execApprovals.target`: `dm | channel | both` (типово: `dm`).
-- `accounts`: іменовані перевизначення для окремих облікових записів. Значення верхнього рівня `channels.matrix` діють для них як значення за замовчуванням.
-- `groups`: мапа політик для окремих кімнат. Надавайте перевагу ID кімнат або псевдонімам; нерозв’язані назви кімнат ігноруються під час виконання. Ідентичність сесії/групи використовує стабільний ID кімнати після розв’язання.
-- `groups..account`: обмежити один успадкований запис кімнати конкретним обліковим записом Matrix у конфігураціях із кількома обліковими записами.
+- `dm.policy`: керує доступом до DM після того, як OpenClaw приєднався до кімнати та класифікував її як DM. Це не змінює того, чи буде запрошення прийнято автоматично.
+- `dm.allowFrom`: записи мають бути повними ID користувачів Matrix, якщо тільки ви вже не розв’язали їх через живий пошук у каталозі.
+- `dm.sessionScope`: `per-user` (за замовчуванням) або `per-room`. Використовуйте `per-room`, якщо хочете, щоб кожна Matrix DM-кімната зберігала окремий контекст, навіть якщо співрозмовник той самий.
+- `dm.threadReplies`: перевизначення політики thread лише для DM (`off`, `inbound`, `always`). Воно перевизначає налаштування верхнього рівня `threadReplies` як для розміщення відповідей, так і для ізоляції сесій у DM.
+- `execApprovals`: нативна доставка підтверджень exec у Matrix (`enabled`, `approvers`, `target`, `agentFilter`, `sessionFilter`).
+- `execApprovals.approvers`: ID користувачів Matrix, яким дозволено схвалювати запити exec. Необов’язкове, якщо `dm.allowFrom` уже визначає схвалювачів.
+- `execApprovals.target`: `dm | channel | both` (за замовчуванням: `dm`).
+- `accounts`: іменовані перевизначення для окремих облікових записів. Значення верхнього рівня `channels.matrix` діють як значення за замовчуванням для цих записів.
+- `groups`: карта політик для окремих кімнат. Віддавайте перевагу ID кімнат або псевдонімам; нерозв’язані назви кімнат ігноруються під час виконання. Ідентичність сесії/групи після розв’язання використовує стабільний ID кімнати.
+- `groups..account`: обмежує один успадкований запис кімнати конкретним обліковим записом Matrix у конфігураціях із кількома обліковими записами.
- `groups..allowBots`: перевизначення на рівні кімнати для відправників-ботів із конфігурації (`true` або `"mentions"`).
-- `groups..users`: allowlist відправників для конкретної кімнати.
-- `groups..tools`: перевизначення allow/deny для інструментів у конкретній кімнаті.
-- `groups..autoReply`: перевизначення обмеження згадками на рівні кімнати. `true` вимикає вимогу згадок для цієї кімнати; `false` знову примусово вмикає її.
+- `groups..users`: allowlist відправників для окремої кімнати.
+- `groups..tools`: перевизначення allow/deny для інструментів на рівні кімнати.
+- `groups..autoReply`: перевизначення вимоги згадки на рівні кімнати. `true` вимикає вимоги згадки для цієї кімнати; `false` примусово вмикає їх знову.
- `groups..skills`: необов’язковий фільтр Skills на рівні кімнати.
- `groups..systemPrompt`: необов’язковий фрагмент system prompt на рівні кімнати.
- `rooms`: застарілий псевдонім для `groups`.
-- `actions`: обмеження інструментів за типом дії (`messages`, `reactions`, `pins`, `profile`, `memberInfo`, `channelInfo`, `verification`).
+- `actions`: керування інструментами для окремих дій (`messages`, `reactions`, `pins`, `profile`, `memberInfo`, `channelInfo`, `verification`).
## Пов’язане
-- [Огляд каналів](/uk/channels) — усі підтримувані канали
+- [Channels Overview](/uk/channels) — усі підтримувані канали
- [Pairing](/uk/channels/pairing) — автентифікація DM і процес pairing
-- [Групи](/uk/channels/groups) — поведінка групового чату й обмеження згадками
-- [Маршрутизація каналів](/uk/channels/channel-routing) — маршрутизація сесій для повідомлень
-- [Безпека](/uk/gateway/security) — модель доступу та зміцнення захисту
+- [Groups](/uk/channels/groups) — поведінка групового чату та вимоги до згадок
+- [Channel Routing](/uk/channels/channel-routing) — маршрутизація сесій для повідомлень
+- [Security](/uk/gateway/security) — модель доступу та посилення безпеки