# agentik-desktop — дизайн десктопного клиента Десктопный клиент агента **agentik** (Jetpack Compose Desktop). UI общается с агентом через опубликованную библиотеку `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 # три панели + состояние агента ``` Кнопка микрофона работает: клик — запись, идёт волна и живая расшифровка, «Остановить и отправить» кладёт текст в поле. Так видно, как это будет ощущаться. ## Чем отличаются | | 1. Sidebar | 2. Voice-first | 3. Command center | |---|---|---|---| | Экран | список + чат | рейка + список + чат | три панели | | Голос | круглая кнопка у поля | большая кнопка, живая расшифровка | компактная, строка записи снизу | | Работа агента | видна в переписке | в переписке | отдельные сворачиваемые шаги | | Кому | просто чат | кто диктует | кто следит за расходом | ## Общее для всех (решено и не обсуждается) - Стиль — тёмный, из уже принятой темы клиента assistent: фон `#121218`, панели `#17212B`, акцент `#6AB2F2`, текст `#EBEBEB`. - Слева — список диалогов; выбран один; открывается конкретный чат. - Внизу — поле ввода, кнопка «Отправить» и отдельная кнопка записи микрофона. - Голос расшифровывается в текст **до** отправки — ошибку видно сразу. - Для агента важны прерывание ответа («Стоп») и показ хода работы. ## Что предстоит решить 1. **Какой вариант берём** — 1, 2 или 3 (или собрать гибрид). 2. **Запись на удержание** (говоришь, пока держишь) или **по нажатию** (нажал — говоришь — нажал). В варианте 2 работает удержание пробела. 3. **Нужны ли папки** для диалогов, как в мобильном клиенте, или хватит поиска. ## Что сознательно не решается здесь - **Откуда берётся распознавание речи.** Это отдельная тема и к интерфейсу не относится: в дизайне показано только место кнопки и что происходит на экране во время записи. Кто именно превращает голос в текст — решается потом.