mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-09-10 01:27:11 +00:00
Create MGMT_CLIENT_PROMPT.md
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user