From 902e2a5577478f67373a62f4e04a3fb9514f2a9c Mon Sep 17 00:00:00 2001 From: "info@pi-farm.de" Date: Thu, 5 Mar 2026 11:23:43 +0000 Subject: [PATCH] main.py aktualisiert --- main.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/main.py b/main.py index 72792df..53a6cdd 100644 --- a/main.py +++ b/main.py @@ -26,13 +26,7 @@ templates = Jinja2Templates(directory="templates") SSH_KEY = os.path.expanduser("~/.ssh/id_rsa") DB_PATH = "cluster.db" chat_history = [] - -# Debug: Teste beim Start, ob der Prompt geladen wurde -RAW_PROMPT = os.getenv("SYSTEM_PROMPT") -if not RAW_PROMPT: - print("❌ FEHLER: SYSTEM_PROMPT konnte nicht aus .env geladen werden!") -else: - print("✅ SYSTEM_PROMPT erfolgreich geladen.") +PROMPT_FILE = "system_prompt.txt" # --- KI KONFIGURATION (Werte aus .env laden) --- AI_PROVIDER = os.getenv("AI_PROVIDER", "google").lower() @@ -46,6 +40,7 @@ OPENAI_MODEL = os.getenv("OPENAI_MODEL", "gpt-4o") OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "llama3") def get_system_prompt(): + # 1. Node Info aus DB holen conn = get_db() nodes = conn.execute('SELECT * FROM nodes').fetchall() conn.close() @@ -54,8 +49,15 @@ def get_system_prompt(): for n in nodes: node_info += f"- Name: {n['name']}, IP: {n['ip']}, User: {n['user']}\n" - # Falls RAW_PROMPT leer ist, nutzen wir einen Sicherheits-Fallback - template = RAW_PROMPT if RAW_PROMPT else "Du bist ein Assistent. Nodes: {node_info}. Nutze cmd" + # 2. Versuche den Prompt aus der Datei zu laden + if os.path.exists(PROMPT_FILE): + with open(PROMPT_FILE, "r", encoding="utf-8") as f: + template = f.read() + else: + # Fallback falls Datei fehlt + template = "Du bist ein Helfer. Nodes:\n{node_info}\nNutze cmd" + print(f"⚠️ Warnung: {PROMPT_FILE} nicht gefunden. Nutze Fallback.") + return template.replace("{node_info}", node_info) # --- KI FUNKTIONEN ---