Перейти до основного вмісту

Канали

Канали додають до Libre WebUI публічні й приватні кімнати та особисті повідомлення з гілками, реакціями, закріпленнями, непрочитаним, вкладеннями й відповідями @model на довговічній зашифрованій основі чату.

Типи й участь​

ТипХто бачитьХто приєднується
publicУсіСамостійно
privateЛише учасникиЗапрошує власник
dmДвоєАвтоматично

Доступ визначає лише участь: усі читання, записи, завантаження й події перевіряють її; сторонні отримують 404 без розкриття існування. Глобальний адміністратор не має доступу до вмісту.

Власник перейменовує, архівує, запрошує, вилучає, модерує й видаляє. Він виходить лише видаленням каналу. DM дедуплікується для пари.

Хронологія​

Довговічна впорядкована шкала з keyset-курсорами created_at та ID.

  • Ідемпотентні дописи за ID клієнта.
  • Видалення з надгробком очищає вміст, але зберігає позицію.
  • Редагування лише автором з editedAt.
  • Гілки одного рівня.
  • Реакції унікальні для пари користувача й емодзі.
  • Закріплення керуються учасниками.

Назви, описи й повідомлення шифруються.

Непрочитане​

Кожна участь має монотонний курсор. Сервер рахує окремо для каналу; власні повідомлення не непрочитані. POST /api/channels/:channelId/read рухається лише вперед.

Реальний час​

Зміни додаються до channel:<id> і SSE GET /api/channels/:channelId/events. Участь перевіряється перед кожною доставкою. SQL — джерело істини; пропущені події відновлюються перечитуванням.

Вкладення​

POST /api/channels/:channelId/attachments, одноразова заявка на 15 хвилин. Байти належать завантажувачу, скачування щоразу перевіряє участь.

Відповіді @model​

Відповідь одразу з’являється як очікувана й завершується довговічним завданням лише від імені учасника, що викликав: його доступ, credentials і routing. Перед генерацією участь перевіряється; помилки видимі.

Згадка також надходить згаданому учаснику поштою, якщо той увімкнув Згадки в каналі в Settings → Notifications, а адміністратор налаштував сервер вихідної пошти (див. Сповіщення).

Контекст — до 30 повідомлень.

Інструменти чату під’єднано: коли учасник, що згадав модель, проходить перевірку функції інструментів і має непорожній каталог, відповідь запускає той самий багатораундовий цикл інструментів, що й хід чату, проти власних видимих серверів інструментів і вбудованих інструментів цього учасника. Канал не прив’язує персону, тож жодна прив’язка інструментів персони не звужує каталог.

За згадкою ніхто не спостерігає так, як спостерігають за чатом, тож інструмент із побічним ефектом відхиляється одразу, якщо учасник уже не має для нього постійного схвалення. Відповідь повідомляє про це й радить моделі запустити його з чату. Інструменти лише для читання працюють без запитань, точно як у чаті. Постійні схвалення обмежені окремим каналом: рішення «дозволити для цього чату» ніколи не переноситься в канал, а схвалення для одного каналу ніколи не просочується в інший канал чи в чат. Оскільки без нагляду може виконуватися лише робота лише для читання, повторний запуск завдання згадки безпечно повторити.

Відповідь несе обмежений підсумок зроблених викликів (не більше 12, з обрізаними аргументами й попереднім переглядом результатів), показаний як розкривний блок «Використані інструменти» під повідомленням. Отримання знань і веб-пошук усе ще не під’єднані до згадок у каналах.

Ліміти​

50 каналів на користувача, 200 учасників, 50 000 повідомлень, 8 000 символів, 5 × 10 MB вкладень, 200 реакцій.

Межі​

Немає presence/typing, окремого експорту каналу або окремих налаштувань сповіщень, крім виходу.