Files
sql-ai-gui/README.md

74 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)