# đŸ€– RPA Vision V2 - MVP SystĂšme d'automatisation robotique Ă  apprentissage progressif utilisant la vision par ordinateur et l'IA. ## 🎯 Vue d'Ensemble RPA Vision V2 **observe, apprend et rejoue** les interactions avec les interfaces utilisateur de maniĂšre intelligente. ### FonctionnalitĂ©s MVP - ✅ **Capture d'Ă©vĂ©nements** : Enregistre les actions clavier/souris avec screenshots - ✅ **DĂ©tection de patterns** : Identifie les sĂ©quences rĂ©pĂ©titives (3+ fois) - ✅ **Analyse visuelle** : Utilise CLIP, OWL-v2, DINO, YOLO pour comprendre l'interface - ✅ **Signatures visuelles** : CrĂ©e des embeddings pour chaque action - ✅ **Descriptions intelligentes** : GĂ©nĂšre des descriptions avec Gemma3 - ✅ **Rejeu intelligent** : Rejoue les tĂąches en localisant visuellement les Ă©lĂ©ments - ✅ **Adaptation automatique** : S'adapte aux variations d'interface ## 🚀 Installation Rapide ### 1. PrĂ©requis - Python 3.8+ - Ollama installĂ© - 8 GB RAM minimum - Linux (testĂ© sur Ubuntu) ### 2. Installation ```bash # Cloner le repo git clone cd Geniusia_v2 # Installation complĂšte cd geniusia2 ./setup.sh # Installer FAISS (CRITIQUE) ./install_faiss.sh # Reconstruire l'index FAISS (si des tĂąches existent) cd .. python3 rebuild_faiss_simple.py ``` ### 3. Lancement ```bash cd geniusia2 ./run.sh ``` ## 📖 Guide d'Utilisation ### Workflow Complet ```bash # DĂ©monstration complĂšte : Capture → Apprentissage → Rejeu python3 example_complete_workflow.py ``` ### Mode Capture (Apprentissage) 1. Lancer l'application : `cd geniusia2 && ./run.sh` 2. Cliquer sur "Start" 3. Effectuer des actions rĂ©pĂ©titives (3x minimum) 4. Le systĂšme dĂ©tecte les patterns et crĂ©e des tĂąches automatiquement ### Mode Rejeu ```bash # Lister les tĂąches disponibles python3 read_pkl.py --list # Rejouer une tĂąche python3 test_task_replay.py ``` Le systĂšme va : 1. Charger la tĂąche 2. Pour chaque action : - Capturer l'Ă©cran actuel - Rechercher l'Ă©lĂ©ment visuellement (grille 4x4 + CLIP) - ExĂ©cuter l'action Ă  la position trouvĂ©e 3. Afficher les rĂ©sultats ## đŸ—ïž Architecture ``` geniusia2/ ├── core/ # Logique centrale │ ├── task_replay.py # ✹ Moteur de rejeu intelligent │ ├── event_capture.py # Capture d'Ă©vĂ©nements │ ├── learning_manager.py # Apprentissage de tĂąches │ ├── embeddings_manager.py # Gestion FAISS │ ├── logger.py # Logs (JSON simple pour MVP) │ └── utils/ │ ├── vision_utils.py # Analyse visuelle (CLIP, OWL-v2, etc.) │ └── input_utils.py # ContrĂŽle souris/clavier ├── gui/ # Interface PyQt5 ├── data/ │ ├── user_profiles/ # TĂąches apprises │ │ └── task_XXXXX/ │ │ ├── metadata.json # Infos de la tĂąche │ │ └── signatures.pkl # Actions + embeddings │ ├── faiss_index/ # Index de recherche │ │ ├── embeddings.index # Index FAISS │ │ └── metadata.pkl # MĂ©tadonnĂ©es │ └── logs/ # Logs JSON └── main.py # Point d'entrĂ©e Scripts utilitaires (racine) : ├── test_task_replay.py # Test de rejeu ├── example_complete_workflow.py # Workflow complet ├── read_pkl.py # Lecture des .pkl ├── rebuild_faiss_simple.py # Reconstruction index └── diagnostic_data.py # Diagnostic ``` ## 🔧 Scripts Utilitaires ### Diagnostic ```bash python3 diagnostic_data.py ``` Affiche : - État de l'index FAISS - Nombre de tĂąches - État des logs ### Lecture de TĂąches ```bash # Lister toutes les tĂąches python3 read_pkl.py --list # Lire une tĂąche spĂ©cifique python3 read_pkl.py task_fc1d3e52 ``` ### Reconstruction de l'Index FAISS ```bash python3 rebuild_faiss_simple.py ``` Extrait les embeddings de toutes les tĂąches et crĂ©e l'index FAISS. ## 🎼 Modes OpĂ©rationnels ### 👀 Mode Shadow (Actuel) **FonctionnalitĂ©s** : - Capture des Ă©vĂ©nements utilisateur - DĂ©tection de patterns rĂ©pĂ©titifs - CrĂ©ation automatique de tĂąches - GĂ©nĂ©ration de signatures visuelles **Utilisation** : 1. Lancer l'app : `./run.sh` 2. Cliquer "Start" 3. Effectuer des actions rĂ©pĂ©titives 4. Les tĂąches sont créées automatiquement ### 🎼 Mode Rejeu (Nouveau !) **FonctionnalitĂ©s** : - Chargement de tĂąches apprises - Recherche visuelle d'Ă©lĂ©ments (CLIP) - ExĂ©cution adaptative d'actions - Monitoring en temps rĂ©el **Utilisation** : ```bash python3 test_task_replay.py ``` ### đŸ€ Mode AssistĂ© (À venir) - Suggestions d'actions - Validation utilisateur - Superposition visuelle ### đŸ€– Mode Autopilot (À venir) - ExĂ©cution automatique - Transitions de mode - Dashboard de mĂ©triques ## 📊 DonnĂ©es ### Structure d'une TĂąche ``` data/user_profiles/task_fc1d3e52/ ├── metadata.json # Infos gĂ©nĂ©rales └── signatures.pkl # Actions + embeddings ``` **metadata.json** : ```json { "task_id": "task_fc1d3e52", "task_name": "DĂ©filement rapide", "window_whitelist": ["Firefox"], "observation_count": 3, "mode": "shadow", "confidence_score": 0.0 } ``` **signatures.pkl** (binaire) : - Liste d'actions - Chaque action contient : - `embedding` : numpy array (512,) float32 - `action_type` : "mouse_click", "scroll", etc. - `position` : (x, y) - `element_type` : "icon", "button", etc. - `window` : Titre de la fenĂȘtre ### Logs Format JSON simple (pas de chiffrement pour MVP) : ```bash cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json | jq . ``` ## 🔍 DĂ©pendances Critiques ### FAISS (CRITIQUE) **Pourquoi** : Recherche de similaritĂ© pour localiser les Ă©lĂ©ments **Installation** : ```bash cd geniusia2 ./install_faiss.sh ``` Ou manuellement : ```bash pip install faiss-cpu ``` ### Ollama + Gemma3 **Pourquoi** : GĂ©nĂ©ration de descriptions intelligentes **Installation** : ```bash # Installer Ollama curl -fsSL https://ollama.com/install.sh | sh # TĂ©lĂ©charger Gemma3 ollama pull gemma2:2b # DĂ©marrer Ollama ollama serve ``` ## ⚠ ProblĂšmes Courants ### FAISS non installĂ© **SymptĂŽme** : `ModuleNotFoundError: No module named 'faiss'` **Solution** : ```bash cd geniusia2 ./install_faiss.sh ``` ### Index FAISS manquant **SymptĂŽme** : Pas de fichiers dans `data/faiss_index/` **Solution** : ```bash python3 rebuild_faiss_simple.py ``` ### Ollama non dĂ©marrĂ© **SymptĂŽme** : Erreurs de connexion au LLM **Solution** : ```bash ollama serve ``` ## 📈 Avancement **Version actuelle** : MVP 0.6 | FonctionnalitĂ© | Avancement | Statut | |----------------|------------|--------| | Capture d'Ă©vĂ©nements | 90% | ✅ Fonctionnel | | Analyse visuelle | 85% | ✅ Fonctionnel | | MĂ©moire FAISS | 80% | ✅ OpĂ©rationnel | | Apprentissage | 85% | ✅ Fonctionnel | | **Rejeu intelligent** | **90%** | **✅ Fonctionnel** | | Mode AssistĂ© | 5% | ❌ À faire | | Mode Autopilot | 50% | ⚠ Partiel | | Transitions | 10% | ❌ À faire | | Dashboard | 20% | ⚠ Basique | **Avancement global** : ~60% ## 📚 Documentation - **`DEMARRAGE_RAPIDE_MVP.md`** : Guide de dĂ©marrage complet - **`MODIFICATIONS_MVP.md`** : Changements rĂ©cents - **`CHANGELOG_MVP.md`** : Historique des versions - **`Ă©tat_avancement_18_11.md`** : État dĂ©taillĂ© du projet - **`MVP_COMPLET_REJEU.md`** : Documentation du systĂšme de rejeu - **`geniusia2/core/TASK_REPLAY_README.md`** : API de rejeu ## đŸ€ Contribution Le projet est en phase MVP. Les contributions sont bienvenues pour : - AmĂ©liorer la recherche visuelle (multi-Ă©chelle) - ImplĂ©menter le mode AssistĂ© - Ajouter des tests - Optimiser les performances ## 📝 Licence [À dĂ©finir] ## 🆘 Support En cas de problĂšme : 1. VĂ©rifier les logs : `cat geniusia2/data/logs/logs_$(date +%Y-%m-%d).json` 2. Diagnostic : `python3 diagnostic_data.py` 3. VĂ©rifier FAISS : `python -c "import faiss; print('OK')"` ## ✅ Checklist de DĂ©marrage - [ ] Python 3.8+ installĂ© - [ ] Ollama installĂ© et dĂ©marrĂ© - [ ] ModĂšle Gemma3 tĂ©lĂ©chargĂ© - [ ] Environnement virtuel créé (`./setup.sh`) - [ ] FAISS installĂ© (`./install_faiss.sh`) - [ ] Index FAISS créé (`python3 rebuild_faiss_simple.py`) - [ ] Application testĂ©e (`./run.sh`) **PrĂȘt Ă  l'emploi ! 🎉**