From 77293f6546342a21d9d6dd668b12367c5cb67806 Mon Sep 17 00:00:00 2001 From: bilal Date: Wed, 24 Jun 2026 14:58:43 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20Promt.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Promt.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Promt.md b/Promt.md index 846b1e3..d3873d5 100644 --- a/Promt.md +++ b/Promt.md @@ -1,7 +1,7 @@ Контекст и задача: Мне нужно разработать self-hosted веб-приложение для мониторинга и динамической визуализации топологии домашней сети и устройств умного дома. Сеть состоит из разнородного оборудования (гетерогенная среда): роутер Asus, точки доступа MikroTik и Ubiquiti, домашний Linux-сервер с Docker-контейнерами, NAS Synology, а также IoT-устройства (Zigbee и Matter), заведенные в Home Assistant. -Главная цель приложения — опрашивать все эти системы, приводить данные к единому формату "Узлы (Nodes)" и "Связи (Edges)" и отрисовывать интерактивную живую карту сети, где толщина линий зависит от текущей скорости сетевого интерфейса, а цвет линка нагрузку. Тап по элементу Node отображает его состояние и сервисы с вложениями (Node > docker > continer list, node > vm list ), тап по линку отображает график нагрузки. +Главная цель приложения — опрашивать все эти системы, приводить данные к единому формату "Узлы (Nodes)" и "Связи (Edges)" и отрисовывать интерактивную живую карту сети, где толщина линий зависит от текущей скорости сетевого интерфейса, а цвет линка нагрузку. Тап по элементу Node отображает его состояние и сервисы с вложениями (Node > docker > continer list, node > vm list ), тап по линку отображает график нагрузки. Отрисовка линка между узлами как по автоматичекому сопастовлению мак адресов устройств(например switch port 1 arp mac list есть мак сервера - рисуем линию в соответствии со скоростью линка 10g/1g/100m ) так и ручное редактирование на карте. Архитектура системы: 1. Backend (Python / FastAPI): Скрипт-коллектор, который по расписанию (раз в 30-60 секунд) собирает данные из источников. Должен иметь эндпоинт `/api/topology`, отдающий JSON для фронтенда. @@ -20,7 +20,7 @@ {"id": "уникальный_ключ", "label": "Имя устройства (или IP/MAC)", "group": "категория_для_стилей", "status": "online/offline"} ], "edges": [ - {"from": "id_источника", "to": "id_приемника", "label": "Метрика трафика (например, 45 Mbps)", "value": "число_для_толщины_линии"} + {"from": "id_источника", "to": "id_приемника", "label": "Метрика трафика (например, 45 Mbps)", "value": "число_для_цвета_линии"} ] }