From 0a1dd69c4fb6ea1704ea666d1b071c612d4f3c29 Mon Sep 17 00:00:00 2001 From: Porfiry Date: Sat, 19 Sep 2026 00:45:15 +0300 Subject: [PATCH] =?UTF-8?q?README=20=D0=BF=D1=80=D0=B8=D0=B2=D0=B5=D0=B4?= =?UTF-8?q?=D1=91=D0=BD=20=D0=B2=20=D1=81=D0=BE=D0=BE=D1=82=D0=B2=D0=B5?= =?UTF-8?q?=D1=82=D1=81=D1=82=D0=B2=D0=B8=D0=B5:=20=D0=B2=D1=8B=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=BD=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0=D0=BD=D1=82?= =?UTF-8?q?=201,=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20004=20=D0=B8=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 74 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index ed79c50..4d1c623 100644 --- a/README.md +++ b/README.md @@ -4,49 +4,53 @@ через опубликованную библиотеку `pw.binom.agentik:client` — она даёт готовые `Agent` / `Conversation`, живой поток событий и `interrupt()` для кнопки «Стоп». -Это пока **только дизайн**, не код приложения. Три варианта лежат рядом, чтобы -сравнить и выбрать один; после выбора лишние удаляются. +Это пока **только дизайн**, не код приложения. + +## Что где лежит + +``` +sketches/001-sidebar-utility/index.html # привычный мессенджер — ВЫБРАН +sketches/002-rail-voice-first/index.html # голос — главное действие +sketches/003-three-pane-command/index.html # три панели + состояние агента +sketches/004-settings-agents/index.html # настройки: добавление агентов +``` + +`REQUIREMENTS.md` — требования. Статус: накидываем, ни один пункт не обязателен +к исполнению в том виде, как записан. + +## Что решено + +- **Основа — вариант 1** (`001-sidebar-utility`). Остальные остаются рядом как + источник идей. +- Стиль — тёмный, из уже принятой темы клиента assistent: фон `#121218`, + панели `#17212B`, акцент `#6AB2F2`, текст `#EBEBEB`. +- **Узкое окно** — на экране что-то одно: либо список диалогов, либо чат. + Переключение кнопкой «Назад», как в Телеграме. Широкое — обе части сразу. +- **Подсказка о горячих клавишах** под полем ввода убрана. +- **Счётчиков токенов и кольца заполнения не будет.** В библиотеке `client` + таких данных нет вообще: ни модели, ни отправлено/получено, ни предела + контекста. Правило: нет данных — нет цифры. +- **Несколько агентов** — предусмотреть. Различение: цвет (полоска у диалога, + точка у группы, цвет аватара), возможно плюс метка. +- **Markdown** — показывать разметкой, а не сырыми символами. Готовая + библиотека уже используется в клиенте assistent, писать свою не надо. ## Как смотреть -Открыть в браузере любой из трёх файлов — каждый самодостаточный, без сборки: - -``` -sketches/001-sidebar-utility/index.html # привычный мессенджер -sketches/002-rail-voice-first/index.html # голос — главное действие -sketches/003-three-pane-command/index.html # три панели + состояние агента -``` - -Кнопка микрофона работает: клик — запись, идёт волна и живая расшифровка, -«Остановить и отправить» кладёт текст в поле. Так видно, как это будет ощущаться. - -## Чем отличаются - -| | 1. Sidebar | 2. Voice-first | 3. Command center | -|---|---|---|---| -| Экран | список + чат | рейка + список + чат | три панели | -| Голос | круглая кнопка у поля | большая кнопка, живая расшифровка | компактная, строка записи снизу | -| Работа агента | видна в переписке | в переписке | отдельные сворачиваемые шаги | -| Кому | просто чат | кто диктует | кто следит за расходом | - -## Общее для всех (решено и не обсуждается) - -- Стиль — тёмный, из уже принятой темы клиента assistent: фон `#121218`, - панели `#17212B`, акцент `#6AB2F2`, текст `#EBEBEB`. -- Слева — список диалогов; выбран один; открывается конкретный чат. -- Внизу — поле ввода, кнопка «Отправить» и отдельная кнопка записи микрофона. -- Голос расшифровывается в текст **до** отправки — ошибку видно сразу. -- Для агента важны прерывание ответа («Стоп») и показ хода работы. +Открыть в браузере любой из файлов — каждый самодостаточный, без сборки. +В четвёртом сверху переключатель состояний: список агентов, форма, проверка +связи (успех и ошибка), список диалогов с двумя агентами. ## Что предстоит решить -1. **Какой вариант берём** — 1, 2 или 3 (или собрать гибрид). -2. **Запись на удержание** (говоришь, пока держишь) или **по нажатию** (нажал — - говоришь — нажал). В варианте 2 работает удержание пробела. -3. **Нужны ли папки** для диалогов, как в мобильном клиенте, или хватит поиска. +1. **Запись** — по нажатию (нажал — говоришь — нажал) или на удержание. +2. Форма показа хода работы агента в свёрнутом виде. +3. Различение агентов: одного цвета может оказаться мало. +4. Где хранится список агентов. +5. Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска. ## Что сознательно не решается здесь -- **Откуда берётся распознавание речи.** Это отдельная тема и к интерфейсу не +- **Откуда берётся распознавание речи.** Отдельная тема, к интерфейсу не относится: в дизайне показано только место кнопки и что происходит на экране во время записи. Кто именно превращает голос в текст — решается потом.