diff --git a/main.py b/main.py
index c6cb1ff..eea260b 100644
--- a/main.py
+++ b/main.py
@@ -26,6 +26,7 @@ templates = Jinja2Templates(directory="templates")
SSH_KEY = os.path.expanduser("~/.ssh/id_rsa")
DB_PATH = "cluster.db"
chat_history = []
+SYSTEM_PROMPT_TEMPLATE = os.getenv("SYSTEM_PROMPT", "Du bist ein Helfer. Nodes: {node_info}")
# --- KI KONFIGURATION (Werte aus .env laden) ---
AI_PROVIDER = os.getenv("AI_PROVIDER", "google").lower()
@@ -45,9 +46,11 @@ def get_system_prompt():
node_info = ""
for n in nodes:
- node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n"
- return f"""Du bist der Pi-Orchestrator KI-Assistent. Deine Aufgabe ist es, Befehle auf Raspberry Pis auszuführen. Du KANNST und SOLLST Befehle ausführen! Hier sind die aktuell verbundenen Nodes: {node_info} . WENN der Nutzer dich bittet, etwas zu tun (z.B. ping, update, docker installieren), dann formuliere erst eine kurze Antwort und frage nochmal nach ob du dies dann auf dem gewünschten node durchführen sollst. Du prüfst vorher noch, ob du auf dem gewünschten node sudo rechte ohne eingäbe eines passwortes hast, sofern diese notwendig sind. Erst nach einer positiven Bestätigung darfst du es ausführen und fügst am Ende die Befehle in genau diesem XML-Format hinzu: befehl .WICHTIG: Verwende als target IMMER die IP-Adresse des Nodes. Bei Befehlen wie 'ping' oder 'top', die nicht enden, MUSS ein Limit gesetzt werden (z.B. ping -c 4 IP).Beispielantwort für 'sende einen ping an pi-06': Ich starte den Ping an pi-06 für dich. ping -c 4 192.168.1.10"""
-
+ node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n"
+
+ # Ersetzt den Platzhalter im Template mit den echten Node-Daten
+ return SYSTEM_PROMPT_TEMPLATE.replace("{node_info}", node_info)
+
# --- KI FUNKTIONEN ---
async def get_ai_response(user_input, system_prompt):
@@ -262,6 +265,13 @@ async def terminal_websocket(websocket: WebSocket, ip: str):
@app.websocket("/ws/chat")
async def chat_endpoint(websocket: WebSocket):
await websocket.accept()
+
+ # Check ob Key vorhanden ist
+ if AI_PROVIDER == "google" and not GOOGLE_API_KEY:
+ await websocket.send_text("⚠️ **Konfigurationsfehler:** Kein GOOGLE_API_KEY in der `.env` gefunden!")
+ elif AI_PROVIDER == "openai" and not OPENAI_API_KEY:
+ await websocket.send_text("⚠️ **Konfigurationsfehler:** Kein OPENAI_API_KEY in der `.env` gefunden!")
+
try:
while True:
user_msg = await websocket.receive_text()