394edc17092b8eac2b00d54e7daa103a5946e61f
jr-sql-ai (Terminal-first SQL Server Expert KI, lokal)
Ziel: Lokale Expert-KI für SQL Server 2022 (T-SQL, Views, Stored Procedures, Execution Plans, UTF-8 Migration), aufrufbar vom Terminal, ohne direkte DB-Verbindung (nur Copy & Paste / Dateien).
Features
- Einfacher Tech-Stack: Docker + Ollama + Bash + curl + python
- Host Networking: nutzt den Host-Netzwerkstack (Routing/DNS wie Host; ideal wenn nur
br0zuverlässig ist) - Auto-Updates: Runtime + Models via
systemd --userTimer - Viele Logs: jede Ausführung schreibt detaillierte Logs unter
./logs/
Voraussetzungen (Arch Linux)
- docker + docker compose
- curl
- python (für JSON-Quoting/Parsing)
Quickstart
cp .env.example .env
./scripts/bootstrap.sh
echo "SELECT 1;" | ./bin/sqlai analyze-tsql
Verwendung (Copy & Paste)
T-SQL
cat query.sql | ./bin/sqlai analyze-tsql
Stored Procedure
cat dbo.usp_Something.sql | ./bin/sqlai analyze-proc
View
cat dbo.vw_Something.sql | ./bin/sqlai analyze-view
Execution Plan
- Unterstützt Showplan XML oder Text.
./bin/sqlai analyze-plan --file showplan.xml
UTF-8 Migration Plan
cat schema_snippet.sql | ./bin/sqlai utf8-migration
Prompt Library (Templates)
Unter ./prompts/ findest du Copy&Paste-Templates:
prompts/tsql_review.mdprompts/plan_review.mdprompts/utf8_migration_runbook.mdprompts/indexing_checklist.mdprompts/sniffing_stats_playbook.mdprompts/proc_refactor_template.mdprompts/view_analysis_template.md
Logs
- CLI Logs:
./logs/sqlai-YYYY-MM-DD.log - Bootstrap Logs:
./logs/bootstrap-YYYY-MM-DDTHH:MM:SS.log - Update Logs:
./logs/update-YYYY-MM-DDTHH:MM:SS.log
Die Logs enthalten:
- Input-Bytes, Mode, Model
- Roh-Metriken aus Ollama (Token Counts, Durations)
- Fehler inkl. curl exit codes
Auto-Updates aktivieren (systemd --user)
mkdir -p ~/.config/systemd/user
cp systemd/user/* ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now jr-sql-ai-update.timer
systemctl --user list-timers | grep jr-sql-ai
Troubleshooting
- API nicht erreichbar: Prüfe
docker psund ob Port 11434 lokal erreichbar ist (Host-Netz). - Langsam/OOM: setze
BASE_MODELkleiner (z.B. 7b) und re-run./scripts/update.sh. - Model fehlt:
./scripts/update.shausführen und prüfen obollama listim Container das Model zeigt:docker exec -it ollama ollama list
Description
Eine lokale AI Anwendung, welche die Unterstützung eines SQL Entwicklers oder Architekten in einem Projekt erlaubt.
Languages
Shell
100%