004: проверка связи отдельным окном поверх настроек; в фон вернуты папки

This commit is contained in:
Porfiry
2026-09-19 01:06:51 +03:00
parent 0a1dd69c4f
commit 25588621e9
4 changed files with 310 additions and 157 deletions
+50 -29
View File
@@ -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.
Это позволяет не путать, кто из агентов что сказал, даже в длинном списке.
## Плюс: список диалогов с двумя агентами
Диалоги сгруппированы по агентам, у группы цветная точка, у каждой строки цветная
полоска, цвет аватара совпадает с цветом агента из настроек.
## Что слабо / открытые вопросы
- Одного цвета для различения может оказаться мало — возможно, понадобится
подпись агента прямо в строке диалога.
- Где хранится список агентов (в файле на диске или на сервере) — не решено.
- Нужен ли пароль/ключ доступа к агенту — у библиотеки такого поля нет.
- Одного цвета для различения может оказаться мало.
- Где хранится список агентов — не решено.
- Пароля/ключа доступа у библиотеки нет — поля для него нет.