Files
agentik-desktop/README.md
T

78 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` (приёмы, плагины, версии),
а что не берём (архитектура, экраны, дизайн — своё).
`MIC-ASR-SEARCH.md` — библиотеки для микрофона и распознавания: своё готовое
(`mic-kmp`, `asr-kmp`, `vad-kmp`), вместо копирования кода из 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`,
там же таблица «берём / не берём».
## Как смотреть
Открыть в браузере любой из файлов — каждый самодостаточный, без сборки.
В четвёртом сверху переключатель состояний: список агентов, форма, проверка
связи (успех и ошибка), список диалогов с двумя агентами.
## Что предстоит решить
1. **Запись** — по нажатию (нажал — говоришь — нажал) или на удержание.
2. Форма показа хода работы агента в свёрнутом виде.
3. Различение агентов: одного цвета может оказаться мало.
4. Где хранится список агентов.
5. Нужны ли папки для диалогов, как в мобильном клиенте, или хватит поиска.
## Что сознательно не решается здесь
- **Откуда берётся распознавание речи.** Отдельная тема, к интерфейсу не
относится: в дизайне показано только место кнопки и что происходит на экране
во время записи. Кто именно превращает голос в текст — решается потом.
Готовые библиотеки уже найдены, см. `MIC-ASR-SEARCH.md`.