# 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 # три панели + состояние агента sketches/004-settings-agents/index.html # настройки: добавление агентов ``` `REQUIREMENTS.md` — требования. Статус: накидываем, ни один пункт не обязателен к исполнению в том виде, как записан. ## Что решено - **Основа — вариант 1** (`001-sidebar-utility`). Остальные остаются рядом как источник идей. - Стиль — тёмный, из уже принятой темы клиента assistent: фон `#121218`, панели `#17212B`, акцент `#6AB2F2`, текст `#EBEBEB`. - **Узкое окно** — на экране что-то одно: либо список диалогов, либо чат. Переключение кнопкой «Назад», как в Телеграме. Широкое — обе части сразу. - **Подсказка о горячих клавишах** под полем ввода убрана. - **Счётчиков токенов и кольца заполнения не будет.** В библиотеке `client` таких данных нет вообще: ни модели, ни отправлено/получено, ни предела контекста. Правило: нет данных — нет цифры. - **Несколько агентов** — предусмотреть. Различение: цвет (полоска у диалога, точка у группы, цвет аватара), возможно плюс метка. - **Markdown** — показывать разметкой, а не сырыми символами. Готовая библиотека уже используется в клиенте assistent, писать свою не надо. ## Как смотреть Открыть в браузере любой из файлов — каждый самодостаточный, без сборки. В четвёртом сверху переключатель состояний: список агентов, форма, проверка связи (успех и ошибка), список диалогов с двумя агентами. ## Что предстоит решить 1. **Запись** — по нажатию (нажал — говоришь — нажал) или на удержание. 2. Форма показа хода работы агента в свёрнутом виде. 3. Различение агентов: одного цвета может оказаться мало. 4. Где хранится список агентов. 5. Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска. ## Что сознательно не решается здесь - **Откуда берётся распознавание речи.** Отдельная тема, к интерфейсу не относится: в дизайне показано только место кнопки и что происходит на экране во время записи. Кто именно превращает голос в текст — решается потом.