test: verify and document desktop ui

This commit is contained in:
2026-07-30 20:26:03 +02:00
parent cf35148576
commit 571969b69b
15 changed files with 369 additions and 28 deletions
+87
View File
@@ -0,0 +1,87 @@
# 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.