test: verify and document desktop ui
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user