# JR SQL AI GUI (Ollama) Schlanke, stabile GUI für **Arch Linux / Hyprland (Wayland)**, um ein Ollama-Modell (z.B. `jr-sql-expert:latest`) bequem zu nutzen. ## Features - Zwei Bereiche: - **Prompt/Kontext** (links) - **Antwort** (rechts) inkl. **Markdown Rendering** - **Streaming** (Antwort läuft live ein) - Buttons: - **An AI senden** - **Antwort kopieren** (Markdown) - **Copy SQL only** (extrahiert SQL aus ```sql```-Blöcken bzw. SQL-ähnlichen Code-Fences) - **Modell aktualisieren (pull)** über Ollama API - **Ollama Runtime updaten** (optional) via Docker (`docker pull` + `docker restart`) ## Voraussetzungen - Ein laufender Ollama Server (bei dir z.B. Docker Container auf `127.0.0.1:11434`) - Python 3.11+ empfohlen ## Installation (Arch Linux) ### Systempakete (minimal) ```bash sudo pacman -S pyside6 python-requests ``` ### Optional: venv (isoliert) ```bash python -m venv .venv source .venv/bin/activate pip install PySide6 requests ``` ## Start ```bash python sql_ai_gui.py ``` Falls Qt/Wayland zickt (selten), erzwingen: ```bash QT_QPA_PLATFORM=wayland python sql_ai_gui.py ``` ## Konfiguration Per Environment Variablen (optional): - `OLLAMA_BASE_URL` (Default: `http://127.0.0.1:11434`) - `OLLAMA_MODEL` (Default: `jr-sql-expert:latest`) - `OLLAMA_DOCKER_CONTAINER` (Default: `ollama`) Beispiel: ```bash OLLAMA_MODEL="jr-sql-expert:latest" OLLAMA_BASE_URL="http://127.0.0.1:11434" python sql_ai_gui.py ``` ## Sicherheit - Standardmäßig wird nur auf `127.0.0.1` gearbeitet. - Runtime-Update nutzt `docker`. Wenn dein User keine Docker-Rechte hat, wird das fehlschlagen. ## Repo Layout - `sql_ai_gui.py` – die App (single-file) - `docs/` – kurze Doku (Markdown) - `requirements.txt` – falls du lieber via pip installierst ## License MIT (siehe LICENSE)