@echo off
setlocal enabledelayedexpansion
title KI-Werkstatt

echo.
echo  ============================================
echo       KI-Werkstatt starten
echo  ============================================
echo.

:: ── Ins eigene Verzeichnis wechseln ──
cd /d "%~dp0"

:: ── Pruefe ob llama-server.exe vorhanden ──
if not exist "server\llama-server.exe" (
    echo  FEHLER: llama-server.exe nicht gefunden!
    echo.
    echo  Bitte den GESAMTEN Inhalt des llama.cpp-Release-ZIPs
    echo  in diesen Ordner entpacken, nicht nur die .exe-Datei.
    echo.
    echo  Benoetigte Dateien:
    echo    - llama-server.exe
    echo    - llama.dll
    echo    - ggml.dll
    echo    - ggml-base.dll
    echo    - ggml-cpu.dll
    echo.
    echo  Download: https://github.com/ggerganov/llama.cpp/releases
    echo  Datei:    llama-*-bin-win-cpu-x64.zip
    echo.
    pause
    exit /b 1
)

:: ── Pruefe ob DLLs vorhanden sind ──
set "DLL_MISSING=0"
for %%d in (server\llama.dll server\ggml-base.dll) do (
    if not exist "%%d" (
        echo  FEHLER: %%d fehlt!
        set "DLL_MISSING=1"
    )
)

if "!DLL_MISSING!"=="1" (
    echo.
    echo  Es fehlen DLL-Dateien. Bitte den GESAMTEN Inhalt
    echo  des llama.cpp-Release-ZIPs hierher entpacken.
    echo.
    pause
    exit /b 1
)

:: ── Finde die .gguf-Modelldatei ──
set "MODEL_FILE="
for %%f in (*.gguf) do (
    set "MODEL_FILE=%%f"
)

if "!MODEL_FILE!"=="" (
    echo  FEHLER: Keine .gguf-Modelldatei gefunden!
    echo.
    echo  Bitte eine GGUF-Datei in diesen Ordner kopieren.
    echo  Empfehlung: gemma-3-4b-it-Q4_K_M.gguf
    echo  Download:   https://huggingface.co/bartowski/google_gemma-3-4b-it-GGUF
    echo.
    pause
    exit /b 1
)

echo  Modell:  !MODEL_FILE!
echo  Server:  http://127.0.0.1:8080
echo.

:: ── Alten Server beenden falls noch aktiv ──
taskkill /im llama-server.exe /f >nul 2>&1
timeout /t 1 >nul

:: ── Server starten (eigenes minimiertes Fenster) ──
echo  Server wird gestartet... bitte warten.
echo.

start "KI-Server" /min server\llama-server.exe ^
  -m "%~dp0!MODEL_FILE!" ^
  --host 127.0.0.1 ^
  --port 8080 ^
  -ngl 0 ^
  -c 8192 ^
  --threads 4

:: ── Warte bis der Server hochgefahren ist ──
timeout /t 6 >nul

:: ── Chat-Interface oeffnen ──
echo  Oeffne KI-Werkstatt im Browser...
start "" "%~dp0chat.html"

echo.
echo  ============================================
echo.
echo   Die KI-Werkstatt ist bereit!
echo.
echo   DIESES FENSTER NICHT SCHLIESSEN!
echo   Es haelt den KI-Server am Laufen.
echo.
echo   Zum Beenden: stop.bat ausfuehren
echo   oder dieses Fenster schliessen.
echo.
echo  ============================================
echo.
echo  Druecke eine Taste um den Server zu beenden...
pause >nul
echo.
echo  Server wird beendet...
taskkill /im llama-server.exe /f >nul 2>&1
echo  Fertig.
timeout /t 2 >nul
