Files
jarvis-ai/setup.sh
2026-05-22 19:25:28 +00:00

77 lines
2.6 KiB
Bash

#!/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 <<EOF > "$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":
<EXECUTE target="localhost">befehl</EXECUTE>
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:
<EXECUTE target="IP_ODER_LOCALHOST">befehl</EXECUTE>
Bekannte Nodes:
{node_info}
EOF
echo "✅ system_prompt.txt erstellt."
fi
echo "=========================================="
echo "✅ Setup abgeschlossen! Start mit: ./start.sh"
echo "=========================================="