diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md index ba2909f..82229cf 100644 --- a/REQUIREMENTS.md +++ b/REQUIREMENTS.md @@ -73,6 +73,20 @@ - **R23.** У библиотеки уже есть всё для этого: агент создаётся вызовом с двумя значениями — имя и адрес. Имя клиент знает сам, сервер его не хранит. Каждому агенту — своё имя и адрес. +- **R23.1.** Экран настроек агентов (`sketches/004-settings-agents`) — **окно поверх + чата**, не отдельная страница. Два состояния: список агентов и форма нового. +- **R23.2.** В строке агента видно: имя, адрес, состояние («на связи» / «не отвечает»), + кнопки изменить и удалить. +- **R23.3.** Форма нового агента: название, адрес сервера, цвет для различения. + Под каждым полем — пояснение простым языком. +- **R23.4.** **Проверка связи до сохранения.** Кнопка спрашивает агента и показывает + ответ, адрес и число диалогов. Три состояния: спрашиваю → отвечает → не отвечает. + Основа: агент отвечает на запрос состояния и отдаёт список диалогов; оба запроса + ничего не меняют. +- **R23.5.** Цвет агента работает не только в настройках: тем же цветом помечаются + его диалоги в списке (полоска у строки, точка у группы). +- **R23.6.** Список агентов сохраняется между запусками. Где именно — не решено. +- **R23.7.** Доступа по паролю/ключу у библиотеки нет — поля для него не делать. ## 7. Состояние агента: что показывать @@ -114,7 +128,8 @@ - Запись: по нажатию или на удержание. - Нужны ли вложения (картинки) в этом клиенте. -- Как именно различать агентов (см. R21–R22). +- Как именно различать агентов (см. R21–R22): одного цвета может быть мало. +- Где хранится список агентов — в файле на диске или спрашивать сервер. - Как выглядит показ хода работы агента в свёрнутом виде. ## 10. Как проверяем diff --git a/sketches/004-settings-agents/README.md b/sketches/004-settings-agents/README.md new file mode 100644 index 0000000..93bd546 --- /dev/null +++ b/sketches/004-settings-agents/README.md @@ -0,0 +1,40 @@ +# Вариант 4 — Настройки: агенты + +## Суть +Модальное окно, где заводятся агенты: имя, адрес сервера, цвет. Список уже +добавленных и форма нового — два состояния одного окна. + +## Ключевые решения +- **Окно, а не отдельная страница.** Настройки агентов открываются поверх чата — + не теряешь, где был. +- **Состояние агента видно сразу:** «на связи» зелёным, «не отвечает» серым. + В списке, а не спрятано в глубине. +- **Проверка связи до сохранения.** Кнопка «Проверить связь» спрашивает агента + и показывает, что ответил: ответ на запрос, адрес, сколько у него диалогов. + Три состояния: спрашиваю (крутится) → отвечает (зелёное) → не отвечает (красное). +- **Цвет — для различения.** Пять вариантов. Тот же цвет потом работает в списке + диалогов: полоска у строки и точка у группы. +- **Пояснения под полями** — простым языком, зачем это поле и что писать. + +## Проверка связи — на чём основана +У сервера агента есть ответ на `GET /agentik/health` (отдаёт «ok») и список +диалогов. Оба запроса безопасные: ничего не меняют. Если агент лежит — +«не отвечает», и это видно до добавления, а не после. + +⚠️ **Живого агента сейчас не поднято** — на порту 8080 отвечает чужой сервер (404). +Поэтому в макете проверка показана в трёх состояниях, но на живом агенте она +ещё не проверялась. Это не выдумка: адреса запросов взяты из исходников. + +## Второе состояние: список диалогов с двумя агентами +Показано, как различать агентов, когда их несколько: +- **Заголовок группы** с цветной точкой и числом диалогов; +- **Цветная полоска** слева у каждого диалога; +- **Цвет аватара** совпадает с цветом агента. + +Это позволяет не путать, кто из агентов что сказал, даже в длинном списке. + +## Что слабо / открытые вопросы +- Одного цвета для различения может оказаться мало — возможно, понадобится + подпись агента прямо в строке диалога. +- Где хранится список агентов (в файле на диске или на сервере) — не решено. +- Нужен ли пароль/ключ доступа к агенту — у библиотеки такого поля нет. diff --git a/sketches/004-settings-agents/index.html b/sketches/004-settings-agents/index.html new file mode 100644 index 0000000..ae61d76 --- /dev/null +++ b/sketches/004-settings-agents/index.html @@ -0,0 +1,424 @@ + + + + +Настройки: агенты + + + + +
+ + + + + +
+ +
+ + + +
+
+
АГ
+
+
agentik · рабочий
+
на связи
+
+
+
+
Проверь, почему падает CI
+
Нашёл: длинное тире в именах тестов ломает сборку. Починил, CI зелёный.
+
+
+ + +
+
+
+

Агенты

+ +
+ + +
+
+
АГ
+
+
agentik · рабочий
+
http://192.168.88.135:8080/agentik
+
+
на связи
+
+ + +
+
+ +
+
ДМ
+
+
домашний
+
http://192.168.76.199:8080/agentik
+
+
не отвечает
+
+ + +
+
+ + +
+ + + + +
+ +
+ +
+
+
+ + + +