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      # настройки агентов + проверка связи

MARKDOWN-SOURCE.md — откуда брать готовую отрисовку Markdown (файлы и адреса). REQUIREMENTS.md — требования. Статус: накидываем, ни один пункт не обязателен к исполнению в том виде, как записан.

Что решено

  • Основа — вариант 1 (001-sidebar-utility). Остальные остаются рядом как источник идей.
  • Стиль — тёмный, из уже принятой темы клиента assistent: фон #121218, панели #17212B, акцент #6AB2F2, текст #EBEBEB.
  • Узкое окно — на экране что-то одно: либо список диалогов, либо чат. Переключение кнопкой «Назад», как в Телеграме. Широкое — обе части сразу.
  • Подсказка о горячих клавишах под полем ввода убрана.
  • Счётчиков токенов и кольца заполнения не будет. В библиотеке client таких данных нет вообще: ни модели, ни отправлено/получено, ни предела контекста. Правило: нет данных — нет цифры.
  • Несколько агентов — предусмотреть. Различение: цвет или картинка на выбор. Цвет помечает диалоги агента (полоска у строки, точка у группы); картинка показывается кружком вместо цвета. Картинку клиент копирует себе, а не берёт по исходному адресу — иначе значок пропадёт вместе с файлом.
  • Markdown — показывать разметкой, а не сырыми символами. Готовый рендер лежит в репозитории ai/assistent — писать свой не надо, брать оттуда. Точные координаты файлов — в MARKDOWN-SOURCE.md.
  • Папки над списком диалогов («Все чаты», «Работа», «Дом») — часть выбранного варианта 1, не терять их при доработках.
  • Проверка связи с агентом — в отдельном окне поверх настроек: идёт → отвечает → не отвечает, с подробностями и подсказкой. Добавить агента можно только после успешной проверки.

Как смотреть

Открыть в браузере любой из файлов — каждый самодостаточный, без сборки. В четвёртом сверху переключатель состояний: список агентов, форма, проверка связи (успех и ошибка), список диалогов с двумя агентами.

Что предстоит решить

  1. Запись — по нажатию (нажал — говоришь — нажал) или на удержание.
  2. Форма показа хода работы агента в свёрнутом виде.
  3. Различение агентов: одного цвета может оказаться мало.
  4. Где хранится список агентов.
  5. Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска.

Что сознательно не решается здесь

  • Откуда берётся распознавание речи. Отдельная тема, к интерфейсу не относится: в дизайне показано только место кнопки и что происходит на экране во время записи. Кто именно превращает голос в текст — решается потом.
S
Description
Десктопный клиент агента agentik (Jetpack Compose Desktop). Ходит в :client-библиотеку. Голосовое управление.
Readme 1.1 MiB
Languages
Kotlin 78.6%
HTML 15.3%
CSS 6.1%