# Javis Desktop ## Installation und Start Die Desktopoberfläche verwendet PySide6 und denselben Python-Kern wie der CLI-Chat. ```powershell & 'D:\Javis-Tools\uv\uv.exe' sync --dev & 'D:\Javis-Tools\uv\uv.exe' run javis gui ``` Der empfohlene Windows-Start prüft zusätzlich Repository, lokale Werkzeuge und Ollama und setzt ausschließlich Prozessvariablen: ```powershell .\scripts\start-javis-gui.ps1 ``` Falls Windows den direkten Skriptaufruf per Richtlinie blockiert, funktioniert ohne systemweite Änderung der prozesslokale Start: ```powershell powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\start-javis-gui.ps1 ``` Der bisherige Start über `.\scripts\start-javis.ps1` beziehungsweise `uv run javis chat` bleibt unverändert verfügbar. ## Bedienung - `Enter`: Nachricht senden - `Shift+Enter`: neue Zeile - `Ctrl+N`: neue Sitzung - `Ctrl+K`: Sitzungssuche fokussieren - `Esc`: laufende Antwort abbrechen - Doppelklick: Sitzung laden - Kontextmenü einer Sitzung: umbenennen Die linke Spalte verwaltet Sitzungen. In der Mitte erscheinen Verlauf, Markdownantwort und Eingabe. Rechts stehen nur bereinigte technische Metadaten: Zustand, Modus, Provider, Ollama-Erreichbarkeit, Modell, Datenschutzentscheidung, Cloudzähler, Fallback und Datenverzeichnis. ## Provider und Datenschutz `Hybrid/Auto` verwendet weiterhin den vorhandenen lokalen Datenschutzrouter. `Lokal` verhindert Cloudnutzung. Bei `ask` stehen drei Entscheidungen bereit: - `Einmal erlauben`: minimierten notwendigen Kontext einmalig an Gemini senden - `Lokal beantworten`: ohne Cloud mit Ollama antworten - `Abbrechen`: Anfrage ohne Speicherung beenden `never` wird ausschließlich lokal verarbeitet und zeigt keinen Freigabedialog. Der Gemini-Key bleibt im Betriebssystem-Keyring und wird in der Oberfläche weder ausgegeben noch dokumentiert. ## Streaming und Abbruch Die Modellgenerierung läuft in einem Qt-Worker. Es kann nur eine Antwort gleichzeitig laufen. `Stoppen`, `Esc` oder kontrolliertes Schließen fordern den Abbruch an. Ein unvollständiges Benutzer-/Assistentenpaar wird nicht gespeichert. ## Bekannte Grenzen - keine Sprache, kein Mikrofon und kein Wakeword - keine Betriebssystem-, App-, Obsidian-, Server- oder Laptopsteuerung - keine autonomen Aktionen und keine neuen Cloudanbieter - Schließen kann kurz warten, bis der lokale Netzwerkstream kontrolliert reagiert - medizinische Antwortqualität ist ein späteres Sicherheits-/Systemprompt-Thema ## Manueller Abnahmetest für Pascal 1. `.\scripts\start-javis-gui.ps1` 2. Prüfen, dass sich das Fenster öffnet. 3. Eine lokale Frage stellen. 4. Die gestreamte Antwort prüfen. 5. Eine neue Sitzung anlegen. 6. Die alte Sitzung laden. 7. Eine Antwort mit `Esc` oder `Stoppen` abbrechen. 8. Den Modus `Lokal` testen. 9. Eine öffentliche Technikfrage im Hybridmodus testen. 10. Eine `ask`-Anfrage lokal beantworten lassen. 11. Anwendung schließen und neu starten. 12. Die gespeicherte Sitzung erneut laden. Abnahmestatus: automatisierte Tests und echter lokaler GUI-Smoke durch Codex bestanden; manuelle Abnahme durch Pascal steht noch aus.