README приведён в соответствие: выбран вариант 1, добавлены 004 и решения

This commit is contained in:
Porfiry
2026-09-19 00:45:15 +03:00
parent 2dca358faa
commit 0a1dd69c4f
+39 -35
View File
@@ -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. Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска.
## Что сознательно не решается здесь
- **Откуда берётся распознавание речи.** Это отдельная тема и к интерфейсу не
- **Откуда берётся распознавание речи.** Отдельная тема, к интерфейсу не
относится: в дизайне показано только место кнопки и что происходит на экране
во время записи. Кто именно превращает голос в текст — решается потом.