Files
Geniusia_v2/geniusia2/setup.sh
2026-03-05 00:20:25 +01:00

206 lines
5.8 KiB
Bash
Executable File

#!/bin/bash
# Script d'installation pour RPA Vision V2
# Ce script installe toutes les dépendances et configure l'environnement
set -e # Arrêter en cas d'erreur
echo "=================================================="
echo "🚀 Installation de RPA Vision V2"
echo "=================================================="
echo ""
# Couleurs pour l'affichage
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# Fonction pour afficher les messages
print_step() {
echo -e "${BLUE}$1${NC}"
}
print_success() {
echo -e "${GREEN}$1${NC}"
}
print_warning() {
echo -e "${YELLOW}$1${NC}"
}
print_error() {
echo -e "${RED}$1${NC}"
}
# Vérifier Python
print_step "Vérification de Python..."
if ! command -v python3 &> /dev/null; then
print_error "Python 3 n'est pas installé. Veuillez l'installer d'abord."
exit 1
fi
PYTHON_VERSION=$(python3 --version | cut -d' ' -f2)
print_success "Python $PYTHON_VERSION trouvé"
# Créer un environnement virtuel
print_step "Création de l'environnement virtuel..."
if [ ! -d "venv" ]; then
python3 -m venv venv
print_success "Environnement virtuel créé"
else
print_warning "Environnement virtuel existe déjà"
fi
# Activer l'environnement virtuel
print_step "Activation de l'environnement virtuel..."
source venv/bin/activate
print_success "Environnement virtuel activé"
# Mettre à jour pip
print_step "Mise à jour de pip..."
pip install --upgrade pip > /dev/null 2>&1
print_success "pip mis à jour"
# Installer les dépendances Python
print_step "Installation des dépendances Python..."
if [ -f "requirements.txt" ]; then
pip install -r requirements.txt
print_success "Dépendances Python installées"
else
print_error "requirements.txt introuvable"
exit 1
fi
# Vérifier Ollama
print_step "Vérification d'Ollama..."
if ! command -v ollama &> /dev/null; then
print_warning "Ollama n'est pas installé"
echo ""
echo "Pour installer Ollama:"
echo " curl -fsSL https://ollama.com/install.sh | sh"
echo ""
read -p "Voulez-vous installer Ollama maintenant? (o/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Oo]$ ]]; then
curl -fsSL https://ollama.com/install.sh | sh
print_success "Ollama installé"
else
print_warning "Installation d'Ollama ignorée. Vous devrez l'installer manuellement."
fi
else
print_success "Ollama est déjà installé"
fi
# Télécharger le modèle Qwen 2.5-VL
if command -v ollama &> /dev/null; then
print_step "Téléchargement du modèle Qwen 2.5-VL..."
# Vérifier si le modèle existe déjà
if ollama list | grep -q "qwen2.5-vl"; then
print_warning "Le modèle qwen2.5-vl est déjà téléchargé"
else
echo "⏳ Téléchargement en cours (cela peut prendre plusieurs minutes)..."
ollama pull qwen2.5-vl:7b
print_success "Modèle Qwen 2.5-VL téléchargé"
fi
fi
# Créer les répertoires de données
print_step "Création des répertoires de données..."
mkdir -p data/user_profiles
mkdir -p data/logs
mkdir -p data/faiss_index
mkdir -p data/whitelist
mkdir -p models
print_success "Répertoires créés"
# Générer les clés de chiffrement
print_step "Génération des clés de chiffrement..."
python3 << EOF
from cryptography.fernet import Fernet
import os
key_file = "data/.encryption_key"
if not os.path.exists(key_file):
key = Fernet.generate_key()
with open(key_file, "wb") as f:
f.write(key)
print("Clé de chiffrement générée")
else:
print("Clé de chiffrement existe déjà")
EOF
print_success "Clés de chiffrement prêtes"
# Télécharger les modèles de vision (optionnel)
print_step "Configuration des modèles de vision..."
echo ""
echo "Les modèles de vision seront téléchargés automatiquement au premier lancement."
echo "Modèles supportés:"
echo " - OWL-ViT v2 (Google)"
echo " - Grounding DINO (IDEA Research)"
echo " - YOLO-World (Tencent)"
echo ""
print_success "Configuration des modèles prête"
# Créer un fichier de configuration par défaut
print_step "Création de la configuration par défaut..."
if [ ! -f "core/config.py" ]; then
print_warning "core/config.py introuvable"
else
print_success "Configuration par défaut prête"
fi
# Vérifier les dépendances système
print_step "Vérification des dépendances système..."
# Vérifier xdotool (pour Linux)
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
if ! command -v xdotool &> /dev/null; then
print_warning "xdotool n'est pas installé (recommandé pour Linux)"
echo " Installation: sudo apt-get install xdotool"
else
print_success "xdotool trouvé"
fi
fi
# Résumé de l'installation
echo ""
echo "=================================================="
echo "✅ Installation terminée!"
echo "=================================================="
echo ""
echo "📋 Prochaines étapes:"
echo ""
echo "1. Activer l'environnement virtuel:"
echo " source venv/bin/activate"
echo ""
echo "2. Lancer l'application:"
echo " python3 main.py"
echo ""
echo "3. Configuration:"
echo " - Modifiez core/config.py pour personnaliser"
echo " - Ajoutez des fenêtres à la liste blanche via l'interface"
echo ""
echo "📚 Documentation:"
echo " - README.md : Guide complet"
echo " - core/*/README.md : Documentation des modules"
echo ""
echo "🎯 Modes disponibles:"
echo " - 👀 Shadow : Observation et apprentissage"
echo " - 🤝 Assisté : Suggestions avec validation"
echo " - 🤖 Autopilot : Exécution automatique"
echo ""
echo "=================================================="
echo ""
# Demander si l'utilisateur veut lancer l'application
read -p "Voulez-vous lancer l'application maintenant? (o/n) " -n 1 -r
echo
if [[ $REPLY =~ ^[Oo]$ ]]; then
echo ""
echo "🚀 Lancement de RPA Vision V2..."
python3 main.py
fi