main.py aktualisiert

This commit is contained in:
2026-03-05 11:23:43 +00:00
parent 12f967f201
commit 902e2a5577

20
main.py
View File

@@ -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 <EXECUTE target=\"IP\">cmd</EXECUTE>"
# 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 <EXECUTE target=\"IP\">cmd</EXECUTE>"
print(f"⚠️ Warnung: {PROMPT_FILE} nicht gefunden. Nutze Fallback.")
return template.replace("{node_info}", node_info)
# --- KI FUNKTIONEN ---