diff --git a/README.md b/README.md
index a59c727..0f2e6cf 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,7 @@
```
approved/001-sidebar-utility.html # ОСНОВА: привычный мессенджер
+approved/004-settings-agents.html # настройки агентов + проверка связи
approved/005-new-chat-picker.html # модалка «Новый диалог»
approved/README.md # что одобрено и когда
```
@@ -21,7 +22,7 @@ approved/README.md # что одобрено и ког
```
sketches/002-rail-voice-first/index.html # голос — главное действие
sketches/003-three-pane-command/index.html # три панели + состояние агента
-sketches/004-settings-agents/index.html # настройки агентов + проверка связи
+sketches/004-settings-agents/index.html # черновик настроек агентов
sketches/005-new-chat-picker/index.html # черновик модалки нового диалога
```
@@ -44,6 +45,8 @@ sketches/005-new-chat-picker/index.html # черновик модалки
- **`001-sidebar-utility.html`** — **основа дизайна**: привычный мессенджер,
список диалогов + чат, папки («Все чаты / Работа / Дом»). Выбран как основа.
+- **`004-settings-agents.html`** — настройки агентов: список, форма нового,
+ проверка связи отдельным окном поверх. Одобрена 2026-09-19.
- **`005-new-chat-picker.html`** — модалка «Новый диалог» при нескольких
ассистентах. Одобрена 2026-09-19. Пояснительной панели над окном в ней нет
(в `sketches/005` была — это была заметка для проверки, не часть интерфейса).
diff --git a/REQUIREMENTS.md b/REQUIREMENTS.md
index a7ff597..becd527 100644
--- a/REQUIREMENTS.md
+++ b/REQUIREMENTS.md
@@ -106,8 +106,10 @@
- **R23.** У библиотеки уже есть всё для этого: агент создаётся вызовом с двумя
значениями — имя и адрес. Имя клиент знает сам, сервер его не хранит. Каждому
агенту — своё имя и адрес.
-- **R23.1.** Экран настроек агентов (`sketches/004-settings-agents`) — **окно поверх
- чата**, не отдельная страница. Два состояния: список агентов и форма нового.
+- **R23.1.** Экран настроек агентов — **МАКЕТ ОДОБРЕН**, лежит в
+ `approved/004-settings-agents.html` (черновик — `sketches/004-settings-agents`).
+ **Окно поверх чата**, не отдельная страница. Два состояния: список агентов
+ и форма нового.
- **R23.2.** В строке агента видно: имя, адрес, состояние («на связи» / «не отвечает»),
кнопки изменить и удалить.
- **R23.3.** Форма нового агента: название, адрес сервера, и **чем отличать в списке —
diff --git a/approved/004-settings-agents.html b/approved/004-settings-agents.html
new file mode 100644
index 0000000..7e9b35c
--- /dev/null
+++ b/approved/004-settings-agents.html
@@ -0,0 +1,404 @@
+
+
+
Как называть этого агента в списке. Придумываете сами — сервер своего имени не сообщает.
+
+
+
+
+
+
+
+
+
Адрес целиком, вместе с путём /agentik. Если агент
+ на этой же машине — http://localhost:8080/agentik.
+
+
+
+
+
+
Цвет
+
Картинка
+
+
+
+
+
+
+
+
+
+
+
Цветом помечаются диалоги агента в списке — полоска у строки
+ и точка у группы.
+
+
+
+
+
🖼
+
+
+
+
+
+
Картинка копируется внутрь клиента — по исходному адресу
+ не подтягивается. Иначе значок пропадёт, если файл удалят, флешку вынут
+ или папку переименуют.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Проверка связи
+
+
+
+
+
+
+
+
Спрашиваю агента…
+
http://192.168.88.135:8080/agentik
+
+
+
+
+
Ответ на запрос—
+
Отвечает по адресу—
+
Диалогов у агента—
+
Отклик—
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/approved/README.md b/approved/README.md
index 493416c..5f201e6 100644
--- a/approved/README.md
+++ b/approved/README.md
@@ -7,6 +7,7 @@
| Файл | Что это | Одобрено |
|---|---|---|
| `001-sidebar-utility.html` | **Основа дизайна**: привычный мессенджер | 2026-09-18 |
+| `004-settings-agents.html` | Настройки агентов: список, форма, проверка связи | 2026-09-19 |
| `005-new-chat-picker.html` | Модалка «Новый диалог»: выбор ассистента | 2026-09-19 |
`sketches/` — предложения: `002-rail-voice-first`, `003-three-pane-command`,
@@ -66,6 +67,39 @@
---
+## 004-settings-agents.html — Настройки агентов
+
+**Два окна друг над другом.** Первое — настройки (620 px): список агентов и форма
+нового. Второе, поверх — проверка связи (480 px).
+
+**Окно 1, список агентов.** У каждого: знак (цвет или картинка), имя, адрес,
+состояние — «на связи» зелёным, «не отвечает» красным, «не проверялся» серым.
+Кнопки в строке: **проверить связь (⇄)**, **изменить (✎)**, **удалить (🗑)**.
+Внизу пунктирная «+ Добавить агента».
+
+**Окно 1, форма нового** — три поля:
+- **Название.** Пояснение: имя придумывает пользователь, сервер своего имени
+ не сообщает (это из исходников, не догадка).
+- **Адрес сервера** — целиком, вместе с путём `/agentik`. Прямо в строке адреса
+ кнопка «Проверить связь».
+- **Как отличать в списке** — вкладки **Цвет / Картинка**, выбирается что-то одно.
+ Цвет — из пяти. Картинка — файл с диска, круглый превью, «Выбрать файл…» и «Убрать».
+ ⚠️ Картинка **копируется внутрь клиента**, не берётся по исходному адресу.
+
+**Окно 2, проверка связи — отдельное окно поверх настроек**, три состояния
+в одном окне: идёт (крутится кольцо) → отвечает (зелёная галочка, подробности:
+ответ, адрес, число диалогов, отклик) → не отвечает (красный крестик, подсказка
+что проверить). Внизу всегда «Проверить снова». Кнопка «Добавить агента»
+доступна только при успехе. Работает и для добавленных агентов — кнопкой «⇄».
+
+**Почему проверка отдельным окном:** места больше, основную форму не дёргает,
+одно окно годится и для новой формы, и для уже добавленного агента.
+
+**Честно о непроверенном:** живого агента на момент макета не поднято — на порту
+8080 отвечал чужой сервер. Адреса запросов взяты из исходников (`GET /agentik/health`
+и список диалогов, оба ничего не меняют), но замеры времени и число диалогов
+в макете условные. На настоящем агенте проверка ещё не гонялась.
+
## Про цвета в макетах
Цвета в макетах стоят числами — так и надо, иначе макет не будет выглядеть
@@ -77,4 +111,6 @@
Открыть файл в браузере — самодостаточный, без сборки и без зависимостей.
- в `001` переключается узкий/широкий вид и видны состояния сообщений;
+- в `004` переключаются список/форма, вкладки Цвет/Картинка; кнопкой «⇄» или
+ «Проверить связь» открывается окно проверки (оба состояния — успех и отказ);
- в `005` кликом по карточке меняется выбор и появляется предупреждение.
diff --git a/sketches/004-settings-agents/README.md b/sketches/004-settings-agents/README.md
index c5c5163..ec00c34 100644
--- a/sketches/004-settings-agents/README.md
+++ b/sketches/004-settings-agents/README.md
@@ -1,5 +1,9 @@
# Вариант 4 — Настройки: агенты
+> **МАКЕТ ОДОБРЕН 2026-09-19.** Одобренная версия — `approved/004-settings-agents.html`
+> (без панели-переключателя и без фона основного окна). Этот файл — черновик
+> со всеми состояниями и заметками.
+
## Суть
Два окна друг над другом. Первое — настройки: список агентов и форма нового.
Второе, поверх — **проверка связи**: нажал «Проверить связь» и она идёт
diff --git a/sketches/005-new-chat-picker/README.md b/sketches/005-new-chat-picker/README.md
index cc3c141..e957306 100644
--- a/sketches/005-new-chat-picker/README.md
+++ b/sketches/005-new-chat-picker/README.md
@@ -1,5 +1,8 @@
# Вариант 5 — Новый диалог: выбор ассистента
+> **МАКЕТ ОДОБРЕН 2026-09-19.** Одобренная версия — `approved/005-new-chat-picker.html`.
+> Этот файл — черновик со всеми состояниями.
+
## Суть
Окно, которое появляется при нажатии «+» (новый диалог), **когда ассистентов