WhosServer

Een beheeromgeving waar AI naast de gebruiker staat: status lezen, risico’s signaleren en acties voorbereiden zonder handmatig commands te typen.

Periode
2025
Gebouwd
AI product / Server dashboard / Command assist / Monitoring
WhosServer met AI-assistent en terminal op een laptop

De vraag

Linux servers beheren met AI die meekijkt en direct kan helpen.

Dagelijks serverbeheer vraagt veel context: op welke machine werk je, welke services draaien, wat zeggen de logs en welk commando past precies bij die situatie? Commando’s uit documentatie kopiëren zonder die context kost tijd en vergroot de kans op fouten.

De vraag was een beheeromgeving waarin AI naast de echte terminal werkt, zonder de eindcontrole bij de gebruiker weg te halen.

Hoe we het bouwden

Van productkeuzes tot techniek: dit zijn de onderdelen die het project als één geheel laten werken.

  1. Clerk beschermt REST en realtime verkeer

    De React-app stuurt een Clerk JWT mee naar de API. Dezelfde identiteit beveiligt via een access token de SignalR-hub, terwijl plan- en creditdata in de eigen database blijven.

  2. SSH-credentials blijven op de backend

    Nieuwe 4096-bits sleutelparen worden tijdelijk in Redis gehouden. Private keys, wachtwoorden en passphrases gaan met AES-256-GCM versleuteld naar PostgreSQL, pas nadat een echte SSH-test slaagt.

  3. SignalR koppelt xterm aan een echte shell

    Elke browserverbinding krijgt een geïsoleerde SSH.NET-sessie op connection-id. Toetsen en commando’s gaan naar de shell; output streamt alleen terug naar die gebruiker.

  4. Begrensde context voor de AI

    ANSI-ruis wordt verwijderd en maximaal honderd recente regels plus OS- en kernelinformatie gaan tijdelijk in Redis. OpenAI stelt een aanpak voor; pas een klik op Run stuurt een commando naar SSH.

  5. Persistente en tijdelijke state gescheiden

    De Vite-SPA en .NET 9-API draaien in aparte Docker-images. PostgreSQL bewaart accounts en serverconfiguratie; Redis is alleen voor tijdelijke keys, terminaltail, systeeminfo en chatcontext.

Van login naar een bewust uitgevoerd commando

De browser krijgt een echte terminalervaring zonder ooit opgeslagen servercredentials te zien. Context wordt tijdelijk en gebruikersgebonden opgebouwd; uitvoering blijft een aparte menselijke handeling.

  1. Clerk en serverkeuze

    Een JWT beschermt API en SignalR; de gebruiker kiest een server uit het eigen account.

  2. Ontsleutelen en SSH

    De backend ontsleutelt de opgeslagen credentials en opent SSH.NET; sleutels blijven uit de browser.

  3. SignalR en xterm

    Een connection-id koppelt de browser aan één realtime SSH.NET ShellStream.

  4. Redis-context

    Gefilterde terminaltail en gedetecteerde Linux-systeeminfo blijven maximaal 24 uur beschikbaar.

  5. AI-voorstel en Run

    OpenAI streamt uitleg en commando’s; alleen een expliciete gebruikersklik voert iets uit.

Het resultaat

Minder command-line frictie bij dagelijks serverbeheer

WhosServer brengt serveroverzicht, live terminal en AI-assistent samen in één sessie. De gebruiker kan een probleem in gewone taal beschrijven, de uitleg en het voorgestelde commando beoordelen en daarna zelf bepalen wat er draait.

Dat vermindert het wisselen tussen terminal, documentatie en losse AI-chat. Terugkerende beheertaken, deployments en foutanalyse krijgen meer context, terwijl de uiteindelijke actie bewust bij de gebruiker blijft.

Bekijk het live project whosserver.com