004: проверка связи отдельным окном поверх настроек; в фон вернуты папки
This commit is contained in:
@@ -1,40 +1,61 @@
|
||||
# Вариант 4 — Настройки: агенты
|
||||
|
||||
## Суть
|
||||
Модальное окно, где заводятся агенты: имя, адрес сервера, цвет. Список уже
|
||||
добавленных и форма нового — два состояния одного окна.
|
||||
Два окна друг над другом. Первое — настройки: список агентов и форма нового.
|
||||
Второе, поверх — **проверка связи**: нажал «Проверить связь» и она идёт
|
||||
в отдельном окне, а не строкой внутри формы.
|
||||
|
||||
## Ключевые решения
|
||||
- **Окно, а не отдельная страница.** Настройки агентов открываются поверх чата —
|
||||
не теряешь, где был.
|
||||
- **Состояние агента видно сразу:** «на связи» зелёным, «не отвечает» серым.
|
||||
В списке, а не спрятано в глубине.
|
||||
- **Проверка связи до сохранения.** Кнопка «Проверить связь» спрашивает агента
|
||||
и показывает, что ответил: ответ на запрос, адрес, сколько у него диалогов.
|
||||
Три состояния: спрашиваю (крутится) → отвечает (зелёное) → не отвечает (красное).
|
||||
- **Цвет — для различения.** Пять вариантов. Тот же цвет потом работает в списке
|
||||
диалогов: полоска у строки и точка у группы.
|
||||
- **Пояснения под полями** — простым языком, зачем это поле и что писать.
|
||||
## Окно 1: список агентов
|
||||
- У каждого агента: имя, адрес, состояние — «на связи» зелёным, «не отвечает» серым,
|
||||
ошибка красным. Видно сразу, а не спрятано в глубине.
|
||||
- Кнопки в строке: **проверить связь** (⇄), **изменить** (✎), **удалить** (🗑).
|
||||
Проверка доступна и для уже добавленного агента — из этого же списка.
|
||||
- Внизу пунктирная «+ Добавить агента».
|
||||
|
||||
## Проверка связи — на чём основана
|
||||
У сервера агента есть ответ на `GET /agentik/health` (отдаёт «ok») и список
|
||||
диалогов. Оба запроса безопасные: ничего не меняют. Если агент лежит —
|
||||
«не отвечает», и это видно до добавления, а не после.
|
||||
## Окно 1, вид 2: форма нового агента
|
||||
- **Название** — с пояснением, что имя придумывает пользователь: сервер своего
|
||||
имени не сообщает (это из исходников, не догадка).
|
||||
- **Адрес сервера** — целиком, вместе с путём `/agentik`. Прямо в строке адреса
|
||||
кнопка **«Проверить связь»**.
|
||||
- **Цвет** для различения, пять вариантов.
|
||||
|
||||
## Окно 2: проверка связи (отдельное, поверх настроек)
|
||||
Три состояния, сменяются в одном окне:
|
||||
|
||||
1. **Идёт** — крутящееся кольцо, «Спрашиваю агента…», под ним адрес.
|
||||
2. **Отвечает** — зелёная галочка, «Агент отвечает». Подробности: ответ на запрос,
|
||||
адрес, число диалогов, отклик в миллисекундах. Подсказка «Адрес рабочий».
|
||||
Кнопка внизу — «Добавить агента» (доступна).
|
||||
3. **Не отвечает** — красный крестик. Подробности: нет ответа, отклик истёк.
|
||||
Подсказка: проверить адрес, что агент запущен, что порт открыт и путь `/agentik`
|
||||
указан целиком. Кнопка внизу заблокирована — добавить нельзя.
|
||||
|
||||
Внизу окна всегда есть **«Проверить снова»**. Закрытие окна возвращает к настройкам,
|
||||
а не выбрасывает из них.
|
||||
|
||||
## Почему проверка отдельным окном — лучше
|
||||
- Места больше: видно и результат, и подробности, и объяснение, что делать дальше.
|
||||
- Основную форму не дёргает: пока проверяешь — поля на месте, ничего не сбилось.
|
||||
- Одно и то же окно годится и для формы, и для уже добавленного агента.
|
||||
|
||||
## На чём основана проверка (не выдумка)
|
||||
У сервера агента есть ответ на `GET /agentik/health` (отдаёт «ok») и запрос
|
||||
списка диалогов. Оба безопасные — ничего не меняют. Адреса взяты из исходников.
|
||||
|
||||
⚠️ **Живого агента сейчас не поднято** — на порту 8080 отвечает чужой сервер (404).
|
||||
Поэтому в макете проверка показана в трёх состояниях, но на живом агенте она
|
||||
ещё не проверялась. Это не выдумка: адреса запросов взяты из исходников.
|
||||
Поэтому на настоящем агенте проверка ещё не гонялась: в макете показаны все три
|
||||
состояния, но замеры времени и число диалогов — условные.
|
||||
|
||||
## Второе состояние: список диалогов с двумя агентами
|
||||
Показано, как различать агентов, когда их несколько:
|
||||
- **Заголовок группы** с цветной точкой и числом диалогов;
|
||||
- **Цветная полоска** слева у каждого диалога;
|
||||
- **Цвет аватара** совпадает с цветом агента.
|
||||
## Фон: папки вернулись
|
||||
В первом варианте над списком диалогов есть **папки** — «Все чаты», «Работа», «Дом»,
|
||||
«+». В прошлой версии этого макета я их потерял. Теперь на фоне видны и папки,
|
||||
и поиск, и значок непрочитанных — как в одобренном варианте 1.
|
||||
|
||||
Это позволяет не путать, кто из агентов что сказал, даже в длинном списке.
|
||||
## Плюс: список диалогов с двумя агентами
|
||||
Диалоги сгруппированы по агентам, у группы цветная точка, у каждой строки цветная
|
||||
полоска, цвет аватара совпадает с цветом агента из настроек.
|
||||
|
||||
## Что слабо / открытые вопросы
|
||||
- Одного цвета для различения может оказаться мало — возможно, понадобится
|
||||
подпись агента прямо в строке диалога.
|
||||
- Где хранится список агентов (в файле на диске или на сервере) — не решено.
|
||||
- Нужен ли пароль/ключ доступа к агенту — у библиотеки такого поля нет.
|
||||
- Одного цвета для различения может оказаться мало.
|
||||
- Где хранится список агентов — не решено.
|
||||
- Пароля/ключа доступа у библиотеки нет — поля для него нет.
|
||||
|
||||
Reference in New Issue
Block a user