[Coding, AI, LLMGui, Python, GTK, AI-Assisted]

Das LLMGui Control Center: Wenn das Terminal an seine Grenzen stößt

2026-02-24 10:00:00 +0100 // Marco Frischkorn

So... es gibt mal wieder ein größeres Update in meinem Tool-Stack.

Es gibt Momente im Leben eines Entwicklers, da merkt man:
Das Terminal ist zwar extrem effizient, aber für komplexe, fortlaufende Status-Überwachungen brauche ich einfach eine saubere GUI.
Yep... ich rede von meinem derzeitigen Hauptprojekt, dem LLMGui.

Die dazugehörige VSCode Extension macht ihren Job hervorragend, das Python-Backend läuft im Hintergrund stabil, und DANA (meine dedizierte Inference Node) steht im Keller im Rack und liefert zuverlässig GPU-Leistung.
Dennoch fehlt in bestimmten Situationen der schnelle, visuelle Überblick über das gesamte System. Man möchte nicht ständig Befehle tippen, nur um zu sehen, ob der VRAM vollläuft.

AI Generated

(Kurzer Hinweis zum Stempel dort drüben: "KI generiert", aber natürlich human edited. Ich nutze KI als Werkzeug, nicht als Ersatzspieler ;)

Und was macht man dann, wenn einem das optimale Visualisierungs-Tool fehlt? Richtig. Man feuert Python an, nutzt GTK und baut sich kurzerhand sein eigenes LLMGui Control Center.


Warum eine dedizierte Desktop-App?

Main View

Ganz einfach: DANA fungiert als mein primäres Gehirn im Netzwerk. Da läuft Ollama, da werden die großen Sprachmodelle in den VRAM der Grafikkarte geladen. Wenn mal etwas hängt oder ich schlichtweg den aktuellen Hardware-Status checken will, musste ich bisher immer per SSH auf die Kiste springen.

Befehle wie systemctl restart ollama oder watch -n 1 nvidia-smi gehen zwar leicht von der Hand, aber auf Dauer unterbricht das einfach den Flow und ist ineffizient.
Also habe ich eine native GTK Desktop-App (llmgui-control.py) geschrieben.

Und das absolut Beste daran? Ich habe das komplette Tool mit Hilfe von Vibecoding erstellt. Die KI hat den Großteil der stupiden Tipparbeit übernommen, die Framework-Boilerplate generiert und UI-Layout-Anpassungen vorgenommen, während ich mich voll und ganz auf die Architektur, die Logik der Backend-Anbindung und das abschließende Fine-Tuning konzentrieren konnte. Eine unfassbare Zeitersparnis, die genau solche Projekte erst an einem Wochenende möglich macht.


Die wichtigsten Features im Überblick

Logs & Terminal

Die App löst genau meine Pain Points und bietet zum Beispiel ein VRAM Live-Monitoring. Kein manuelles Überprüfen mehr! Die GTK-App zieht sich live im Hintergrund die Metriken von DANA und visualisiert die GPU-Auslastung. So sehe ich sofort, ab wann ein neues, größeres Modell den VRAM sprengen würde.

Ebenso wichtig war mir praktisches Service Management: Ollama verschluckt sich z.B. an einem riesigen Context Window? Ein Klick in der GUI und der Remote-Service bootet neu. Bequem, schnell und völlig ohne Terminal-Wechsel.

Dazu gibt es den DANA Spinner & Status: Er liefert direktes visuelles Feedback. Wenn der Spinner dreht, verarbeitet DANA gerade Requests. Wenn nicht, oder wenn der Status auf 'Offline' springt, sehe ich sofort, dass die Netzwerkverbindung oder der Service im Keller ein Problem hat.
Für den Fall der Fälle gibt es außerdem ein Integrated Terminal: Wenn doch mal schnelle, direkte manuelle Eingriffe oder autonome Wartungs-Workflows nötig sind, ist direkt ein voll funktionsfähiges Terminal fest in die GUI integriert.


Under the Hood: GTK meets Python

Benchmark Tab

Technisch gesehen stützt sich die App auf Python und steuert die GTK3 Libraries an. Unter Linux Mint läuft das extrem performant, speichereffizient und nahtlos. Absichtlich habe ich mich gegen schwerfälliges Electron entschieden – ich setze hier lieber auf eine echte, native UI-Lösung.

Die Oberfläche ist über verschiedene Tabs logisch strukturiert: Main, Build, Benchmark, Logs und About.
Besonders stolz bin ich auf den Benchmark-Tab. Hier kann man direkt die Performance der verschiedenen Modelle evaluieren lassen. Das Control Center schickt definierte Prompts ab, misst die Tokens per Second (TPS) und stellt die Ergebnisse übersichtlich dar. So habe ich immer direkt im Blick, welches Modell gerade den besten Kompromiss aus Geschwindigkeit und Output für meinen Workflow bietet.


Transparenz und Verwaltung

About Tab

Damit bei der ständigen Weiterentwicklung des gesamten LLMGui-Ökosystems nicht der Überblick verloren geht, sorgt der About-Tab für maximale Transparenz bei den Software-Versionen.
Die GTK-App iteriert durch die Dateien und zieht sich lokal die Daten direkt aus den Changelogs und den package.json-Files der VSCode Extension. So sehe ich auf einen einzigen Blick, ob Client, Extension und das Control Center auf dem gleichen Stand sind.

Tja... wer hätte gedacht, dass ich mal wieder bei GTK-Programmierung lande? Aber hey... genau das macht unseren Job ja aus: Wenn das vorhandene Toolset nicht ausreicht oder den Flow behindert, baut man sich eben eine passgenaue Lösung, die exakt das tut, was man braucht.


In diesem Sinne: Stay secure, nutzt intelligente neue Tools und lasst eure GPUs glühen!



Transparency Note: Einige Inhalte, Code-Snippets und Beschreibungen in diesem Post wurden mittels KI (LLMs / Vibecoding) erstellt oder unterstützt, jedoch von mir persönlich kuratiert, überarbeitet und geprüft.