diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..ae01223 --- /dev/null +++ b/setup.sh @@ -0,0 +1,77 @@ +#!/bin/bash +set -e + +echo "==========================================" +echo "🤖 J.A.R.V.I.S. Terminal - Setup" +echo "==========================================" + +# 1. Virtual Environment +echo "--- Richte Python-Umgebung ein..." +if [ ! -d "venv" ]; then + python3 -m venv venv +fi + +./venv/bin/pip install --upgrade pip +if [ -f "requirements.txt" ]; then + ./venv/bin/pip install -r requirements.txt +fi + +# 2. Ordnerstruktur +mkdir -p config data workspace + +# 3. .env Setup +ENV_FILE="config/.env" +if [ ! -f "$ENV_FILE" ]; then + echo "--- Erstelle .env Konfiguration..." + read -p "Dein Name (Standard: Meik): " web_user + read -p "Primäre KI (google, openai, nvidia, ollama) [nvidia]: " ai_prov + read -p "NVIDIA API Key: " nvidia_key + read -p "Google API Key: " google_key + + cat < "$ENV_FILE" +WEB_USER_NAME=${web_user:-Meik} +AI_PROVIDER=${ai_prov:-nvidia} +GOOGLE_API_KEY=$google_key +NVIDIA_API_KEY=$nvidia_key +NVIDIA_MODEL=moonshotai/kimi-k2.5 +GOOGLE_MODEL=gemini-2.5-flash +OLLAMA_BASE_URL=http://127.0.0.1:11434/v1 +OLLAMA_MODEL=llama3 +EOF + echo "✅ .env erstellt." +fi + +# 4. System Prompt kopieren +PROMPT_FILE="config/system_prompt.txt" +if [ ! -f "$PROMPT_FILE" ]; then + echo "--- Erstelle Standard-Prompt..." + cat << 'EOF' > "$PROMPT_FILE" +Dein Name ist JARVIS. +Du bist ein präziser KI-Assistent für die Cluster-Verwaltung. +WICHTIGSTE REGEL: Deine Sprache ist locker, technisch versiert und du verwendest NIEMALS die Höflichkeitsform "Sie". Wir sind per Du. + +DEIN WORKSPACE (GEDÄCHTNIS): +Du hast Zugriff auf ein eigenes Arbeitsverzeichnis auf dem Host-System (localhost), um dir Notizen zu machen oder Todos für {user_name} zu speichern: +- Arbeitsverzeichnis: {workspace_dir} +- Notizen-Datei: {notes_file} +- Todo-Liste: {todo_file} + +Du kannst diese Dateien lesen oder beschreiben. Nutze dazu normale Shell-Befehle (z.B. cat, echo "text" >> datei) mit dem Ziel "localhost": +befehl + +PROTOKOLL FÜR BEFEHLE (2 Phasen): +PHASE 1 (Vorschlag): Wenn {user_name} eine Aktion anfordert, erstelle NUR einen Text-Vorschlag. +- Beschreibe kurz, was du tun würdest. Nenne den Befehl als normalen Text. +- Frage explizit nach Erlaubnis: "Soll ich das ausführen, {user_name}?" +PHASE 2 (Ausführung): NUR wenn {user_name} die Aktion bestätigt, gibst du den Befehl im XML-Format aus: +befehl + +Bekannte Nodes: +{node_info} +EOF + echo "✅ system_prompt.txt erstellt." +fi + +echo "==========================================" +echo "✅ Setup abgeschlossen! Start mit: ./start.sh" +echo "==========================================" \ No newline at end of file