Create MGMT_CLIENT_PROMPT.md

This commit is contained in:
UNITRONIX
2026-04-01 23:45:58 +02:00
parent 9c3631c1e8
commit 76e65a808e
+211
View File
@@ -0,0 +1,211 @@
# Prompt: BetterDesk MGMT Client
## Cel
Na bazie istniejącego projektu `UNITRONIX/BetterDesk` utwórz nowy, wydzielony typ klienta o nazwie **BetterDesk MGMT Client** (klient administracyjno-operatorski), którego zadaniem jest zapewnienie administratorom i operatorom centrum wsparcia zdalnego pełnego, bezpiecznego i wysokowydajnego dostępu do urządzeń podłączonych do serwera BetterDesk.
Klient MGMT ma być aplikacją typu **standalone**, zoptymalizowaną pod kątem:
- maksymalnej jakości obrazu,
- niskich opóźnień,
- szerokiego wsparcia kodeków,
- stabilności połączeń,
- zgodności z różnymi systemami operacyjnymi,
- bezpieczeństwa operacyjnego i kryptograficznego,
- centralnego zarządzania infrastrukturą BetterDesk.
## Główna rola klienta MGMT
Klient MGMT to narzędzie dla administratorów, helpdesku, operatorów i personelu wsparcia technicznego. Ma umożliwiać:
1. zdalne łączenie się do klientów typu Agent,
2. wyświetlanie listy urządzeń zarejestrowanych nie tylko w BetterDesk, ale również jeśli architektura projektu na to pozwala urządzeń pochodzących z integracji z RustDesk,
3. zarządzanie serwerem BetterDesk z poziomu aplikacji,
4. prowadzenie czatu z użytkownikami i agentami podłączonymi do serwera,
5. odbieranie powiadomień o prośbach o pomoc,
6. nadzorowanie i obsługę scenariuszy CDAP (narzędzie operatora do zdalnej pomocy i zarządzania),
7. zapewnienie maksymalnej jakości i płynności transmisji obrazu dzięki pełnemu wykorzystaniu dostępnych technologii projektu.
## Wymagania architektoniczne
Przeanalizuj aktualną architekturę repozytorium `BetterDesk` i zaprojektuj klienta MGMT tak, aby:
- wykorzystywał maksymalnie istniejące komponenty i protokoły projektu,
- nie dublował logiki już obecnej w backendzie i usługach serwera,
- wydzielał warstwę GUI od warstwy komunikacyjnej,
- wspierał modularność,
- umożliwiał dalszą rozbudowę o dodatkowe kodeki, integracje i mechanizmy polityk bezpieczeństwa.
Zaproponuj architekturę, która może wykorzystywać:
- frontend oparty o obecne zasoby JavaScript/HTML/CSS,
- wydajny backend/bridge lokalny w Go tam, gdzie wymagana jest wydajność, natywna integracja systemowa, streaming, zarządzanie procesami i funkcje bezpieczeństwa,
- skrypty Shell/PowerShell do instalacji, detekcji środowiska i działań administracyjnych per system operacyjny.
## Kluczowe funkcje klienta MGMT
### 1. Panel urządzeń
Klient MGMT ma prezentować zunifikowaną listę urządzeń:
- online/offline,
- typ urządzenia,
- system operacyjny,
- wersja klienta,
- nazwa hosta,
- adresy sieciowe,
- status bezpieczeństwa,
- ostatnie połączenie,
- tagi, grupy, lokalizacje, właściciel urządzenia,
- źródło urządzenia: BetterDesk / integracja RustDesk / inne przyszłe źródła.
Lista ma wspierać:
- wyszukiwanie,
- filtrowanie,
- sortowanie,
- grupowanie,
- widoki administracyjne,
- szybkie akcje masowe.
### 2. Zdalna sesja premium
Połączenie z klientem Agent ma oferować:
- maksymalną jakość obrazu,
- adaptacyjny bitrate,
- dynamiczne dopasowanie rozdzielczości,
- szerokie wsparcie kodeków zależnie od możliwości systemu i sprzętu,
- preferowanie sprzętowej akceleracji, jeśli jest dostępna,
- automatyczny fallback do bezpiecznych i kompatybilnych trybów software,
- przesyłanie dźwięku, jeśli projekt to umożliwia,
- tryb wielu monitorów,
- wybór monitora,
- kopiuj/wklej, schowek,
- transfer plików,
- opcjonalny zdalny terminal / shell administracyjny, jeśli architektura to wspiera,
- nagrywanie sesji zgodnie z polityką uprawnień i audytu,
- mechanizmy rekonfiguracji jakości w trakcie sesji.
### 3. Czat i komunikacja
Klient MGMT ma umożliwiać:
- czat 1:1 z użytkownikiem końcowym,
- czat operator ↔ agent,
- czat grupowy dla kontekstu incydentu lub zgłoszenia,
- gotowe odpowiedzi,
- historię konwersacji,
- powiadomienia push/in-app,
- eskalację zgłoszeń,
- oznaczanie sesji jako wymagającej pilnej pomocy.
### 4. Zarządzanie serwerem BetterDesk
Klient MGMT ma zawierać panel administracyjny pozwalający zależnie od uprawnień na:
- przegląd stanu serwera,
- przegląd podłączonych klientów,
- zarządzanie operatorami i rolami,
- konfigurację polityk bezpieczeństwa,
- podgląd logów i zdarzeń,
- zarządzanie kluczami, tokenami i rejestracją klientów,
- zarządzanie integracjami,
- zarządzanie kolejką powiadomień o pomocy,
- zarządzanie grupami urządzeń i regułami przypisania.
### 5. Tryb CDAP / operator
Klient MGMT ma być głównym narzędziem operatora. Powinien:
- obsługiwać wiele równoczesnych sesji,
- oferować kolejkę zgłoszeń,
- priorytety incydentów,
- dashboard aktywnych połączeń,
- monitoring jakości sesji,
- wskaźniki wykorzystania pasma, kodeka, FPS, opóźnienia,
- podgląd alertów i problemów z agentami,
- możliwość przejmowania, przekazywania i kończenia sesji zgodnie z uprawnieniami.
## Bezpieczeństwo — wymagania krytyczne
To jest priorytet najwyższy. Implementacja ma być projektowana zgodnie z zasadą secure-by-design.
Wymagania:
- silna wzajemna autoryzacja klient ↔ serwer,
- TLS/mTLS tam, gdzie możliwe,
- rotacja tokenów sesyjnych,
- krótko żyjące tokeny dostępu,
- role i uprawnienia RBAC,
- opcjonalnie wsparcie MFA dla operatorów,
- pinning certyfikatów lub bezpieczny trust model,
- pełen audyt zdarzeń administracyjnych,
- podpisywanie lub weryfikacja integralności aktualizacji,
- minimalizacja powierzchni ataku,
- bezpieczne przechowywanie sekretów lokalnie z użyciem systemowych magazynów poświadczeń jeśli możliwe,
- ograniczenie wykonywania działań wysokiego ryzyka,
- jawna zgoda użytkownika tam, gdzie polityka firmy lub tryb pracy tego wymaga,
- rozdzielenie funkcji operatora i superadministratora,
- ścisła walidacja komunikatów przychodzących,
- odporność na replay attack, downgrade attack i nieautoryzowane przejęcie sesji.
## Kompatybilność systemowa
Klient MGMT musi być zaprojektowany z myślą o:
- Windows,
- Linux,
- macOS.
Uwzględnij:
- różnice w przechwytywaniu obrazu,
- różnice w modelu uprawnień,
- różnice w przechowywaniu sekretów,
- różnice w instalacji i aktualizacji,
- różnice w akceleracji sprzętowej i dostępności kodeków,
- różnice w działaniu usług/system tray/notyfikacji.
## UX/UI
Interfejs ma być:
- nowoczesny,
- czytelny,
- szybki,
- zoptymalizowany dla operatora pracującego pod obciążeniem,
- wspierać motyw ciemny i jasny,
- mieć priorytet na ergonomię, gęstość informacji i szybkość działania.
Widoki minimalne:
- logowanie,
- dashboard,
- lista urządzeń,
- szczegóły urządzenia,
- okno zdalnej sesji,
- panel czatu,
- centrum powiadomień,
- panel zarządzania serwerem,
- panel ustawień,
- panel audytu/logów.
## Integracja z RustDesk
Jeśli repozytorium BetterDesk technicznie umożliwia integrację z RustDesk, zaprojektuj warstwę integracyjną tak, aby:
- nie łamać obecnej architektury,
- oddzielać źródła urządzeń logicznie,
- normalizować metadane urządzeń,
- zachować spójny model uprawnień,
- zapewniać bezpieczne mapowanie sesji, statusów i identyfikatorów.
Jeśli pełna integracja nie jest możliwa bez dużych zmian, zaproponuj:
- etapowy plan integracji,
- warstwę kompatybilności,
- adapter źródeł urządzeń.
## Wymagania implementacyjne
Na bazie istniejącego projektu:
1. przeanalizuj strukturę repozytorium i wskaż, które moduły można ponownie wykorzystać,
2. zaproponuj docelową strukturę kodu klienta MGMT,
3. wskaź, które części napisać w Go, a które w JavaScript,
4. uwzględnij budowanie aplikacji wieloplatformowej,
5. uwzględnij instalatory i aktualizacje,
6. zaproponuj warstwę konfiguracji i polityk,
7. zaproponuj testy:
- jednostkowe,
- integracyjne,
- e2e,
- testy bezpieczeństwa,
- testy wydajności streamingu,
- testy kompatybilności systemowej.
## Oczekiwany rezultat
Wygeneruj kompletny plan i implementację klienta **BetterDesk MGMT Client**, obejmującą:
- architekturę,
- strukturę katalogów,
- komponenty GUI,
- warstwę komunikacji,
- obsługę zdalnych sesji,
- panel serwera,
- czat,
- powiadomienia,
- model bezpieczeństwa,
- integrację z istniejącym backendem BetterDesk,
- plan integracji z RustDesk,
- strategię wdrożenia cross-platform.