#!/usr/bin/env bash # Wechselt den Haupt-Agenten der AGI-Station (Standard-Modell in Open WebUI). # Aufruf: bash scripts/set-main-agent.sh z.B. kato, seneca, cicero, marcus set -euo pipefail log() { printf '\033[1;33m[LX0]\033[0m %s\n' "$*"; } fail() { printf '\033[1;31m[FEHLER]\033[0m %s\n' "$*"; exit 1; } available() { for mf in agents/modelfiles/*.Modelfile; do [ -e "$mf" ] || continue basename "$mf" .Modelfile | tr '[:upper:]' '[:lower:]' done } agent="$(printf '%s' "${1:-}" | tr '[:upper:]' '[:lower:]')" if [ -z "$agent" ]; then printf 'Verfügbare Agenten:\n' available | sed 's/^/ - /' fail "Bitte einen Agenten angeben, z.B.: bash scripts/set-main-agent.sh kato" fi if ! available | grep -qx "$agent"; then printf 'Verfügbare Agenten:\n' available | sed 's/^/ - /' fail "Unbekannter Agent: $agent" fi [ -f .env ] || cp .env.example .env if grep -q '^MAIN_AGENT=' .env; then sed -i "s/^MAIN_AGENT=.*/MAIN_AGENT=$agent/" .env else echo "MAIN_AGENT=$agent" >> .env fi sudo docker compose up -d open-webui log "Haupt-Agent der AGI-Station ist jetzt: $agent"