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 # настройки агентов + проверка связи
BORROW-FROM-ASSISTENT.md — что берём из ai/assistent (приёмы, плагины, версии),
а что не берём (архитектура, экраны, дизайн — своё).
MARKDOWN-SOURCE.md — откуда брать готовую отрисовку Markdown (файлы и адреса).
REQUIREMENTS.md — требования. Статус: накидываем, ни один пункт не обязателен
к исполнению в том виде, как записан.
Что решено
- Основа — вариант 1 (
001-sidebar-utility). Остальные остаются рядом как источник идей. - Стиль — тёмный, из уже принятой темы клиента assistent: фон
#121218, панели#17212B, акцент#6AB2F2, текст#EBEBEB. - Узкое окно — на экране что-то одно: либо список диалогов, либо чат. Переключение кнопкой «Назад», как в Телеграме. Широкое — обе части сразу.
- Подсказка о горячих клавишах под полем ввода убрана.
- Счётчиков токенов и кольца заполнения не будет. В библиотеке
clientтаких данных нет вообще: ни модели, ни отправлено/получено, ни предела контекста. Правило: нет данных — нет цифры. - Несколько агентов — предусмотреть. Различение: цвет или картинка на выбор. Цвет помечает диалоги агента (полоска у строки, точка у группы); картинка показывается кружком вместо цвета. Картинку клиент копирует себе, а не берёт по исходному адресу — иначе значок пропадёт вместе с файлом.
- Markdown — показывать разметкой, а не сырыми символами. Готовый рендер
лежит в репозитории
ai/assistent— писать свой не надо, брать оттуда. Точные координаты файлов — вMARKDOWN-SOURCE.md. - Папки над списком диалогов («Все чаты», «Работа», «Дом») — часть выбранного варианта 1, не терять их при доработках.
- Проверка связи с агентом — в отдельном окне поверх настроек: идёт → отвечает → не отвечает, с подробностями и подсказкой. Добавить агента можно только после успешной проверки.
Заимствования: только приёмы, не архитектура
Из репозитория ai/assistent берём приёмы отрисовки, плагины и версии.
Архитектуру, слои, готовые экраны и окна — не берём: дизайн у нас свой,
нарисованный (см. sketches/). Разбор по пунктам — в BORROW-FROM-ASSISTENT.md,
там же таблица «берём / не берём».
Как смотреть
Открыть в браузере любой из файлов — каждый самодостаточный, без сборки. В четвёртом сверху переключатель состояний: список агентов, форма, проверка связи (успех и ошибка), список диалогов с двумя агентами.
Что предстоит решить
- Запись — по нажатию (нажал — говоришь — нажал) или на удержание.
- Форма показа хода работы агента в свёрнутом виде.
- Различение агентов: одного цвета может оказаться мало.
- Где хранится список агентов.
- Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска.
Что сознательно не решается здесь
- Откуда берётся распознавание речи. Отдельная тема, к интерфейсу не относится: в дизайне показано только место кнопки и что происходит на экране во время записи. Кто именно превращает голос в текст — решается потом.