268 lines
7.4 KiB
Markdown
268 lines
7.4 KiB
Markdown
# 🎯 OBJECTIF FINAL DE RPA VISION V2
|
|
|
|
## Vision Globale
|
|
|
|
**RPA Vision V2** est un **assistant d'automatisation intelligent** qui **apprend en observant** tes actions répétitives sur l'ordinateur, puis te propose de les automatiser progressivement.
|
|
|
|
## Le Concept en 3 Phrases
|
|
|
|
1. **Tu travailles normalement**, le système observe en silence
|
|
2. **Il détecte tes habitudes** (ex: "Tu cliques 3 fois sur Rafraîchir chaque matin")
|
|
3. **Il te propose de le faire automatiquement** à ta place, avec ton contrôle
|
|
|
|
---
|
|
|
|
## Les 3 Modes d'Évolution
|
|
|
|
### 👀 Mode Shadow (Observation)
|
|
**"Je regarde et j'apprends"**
|
|
|
|
- Le système observe **tout** ce que tu fais
|
|
- Capture screenshots, positions de clics, fenêtres actives
|
|
- Détecte les **patterns répétitifs** (ex: 3 clics identiques)
|
|
- Crée des "signatures visuelles" avec l'IA
|
|
- **N'exécute RIEN** - juste observation pure
|
|
|
|
**Objectif** : Apprendre tes habitudes sans risque
|
|
|
|
---
|
|
|
|
### 🤝 Mode Assisté (Suggestion)
|
|
**"Je te propose, tu valides"**
|
|
|
|
Après 20 observations d'une même tâche :
|
|
- Le système **suggère** l'action suivante
|
|
- Affiche une **superposition visuelle** sur l'élément à cliquer
|
|
- Tu valides (Entrée) ou refuses (Échap)
|
|
- Si tu corriges (Alt+C), il apprend de son erreur
|
|
|
|
**Objectif** : Gagner du temps tout en gardant le contrôle
|
|
|
|
---
|
|
|
|
### 🤖 Mode Autopilot (Automatique)
|
|
**"Je le fais tout seul"**
|
|
|
|
Après 20 observations + 95% de réussite :
|
|
- Le système **exécute automatiquement** la tâche
|
|
- Affiche une notification de succès/échec
|
|
- Tu peux arrêter d'urgence (Ctrl+Pause)
|
|
- Rollback possible (annule les 3 dernières actions)
|
|
|
|
**Objectif** : Automatisation complète des tâches stables
|
|
|
|
---
|
|
|
|
## La Stack Technologique
|
|
|
|
### 🧠 Intelligence Artificielle
|
|
|
|
1. **Qwen3-VL** (via Ollama)
|
|
- Comprend ce que tu fais visuellement
|
|
- Génère des descriptions intelligentes
|
|
- "Rafraîchir la page" au lieu de "Clic à (42, 1048)"
|
|
|
|
2. **OWL-v2 / DINO / YOLO**
|
|
- Détectent les boutons, icônes, champs
|
|
- "C'est un bouton Rafraîchir" pas juste "un rectangle bleu"
|
|
|
|
3. **OpenCLIP + FAISS**
|
|
- Crée des "empreintes visuelles" des éléments
|
|
- Retrouve le même bouton même si l'UI change légèrement
|
|
- Recherche ultra-rapide dans des milliers d'images
|
|
|
|
4. **OpenCV**
|
|
- Traitement d'images en temps réel
|
|
- Template matching pour retrouver des éléments
|
|
|
|
---
|
|
|
|
## Le Flux Complet
|
|
|
|
```
|
|
1. TU TRAVAILLES
|
|
↓
|
|
2. SYSTÈME OBSERVE (Mode Shadow)
|
|
- Capture screenshots
|
|
- Détecte patterns répétitifs
|
|
- Crée signatures visuelles
|
|
↓
|
|
3. SYSTÈME APPREND
|
|
- Qwen3-VL analyse: "C'est un rafraîchissement de page"
|
|
- OWL-v2 détecte: "Bouton circulaire en haut à gauche"
|
|
- FAISS indexe: Empreinte visuelle stockée
|
|
↓
|
|
4. APRÈS 20 OBSERVATIONS
|
|
- Transition vers Mode Assisté
|
|
- "Je pense que tu veux rafraîchir, je le fais ?"
|
|
↓
|
|
5. TU VALIDES 20 FOIS (95% succès)
|
|
- Transition vers Mode Autopilot
|
|
- "Je le fais automatiquement maintenant"
|
|
↓
|
|
6. AUTOMATISATION COMPLÈTE
|
|
- Le système exécute seul
|
|
- Tu supervises via le dashboard
|
|
- Corrections possibles si erreur
|
|
```
|
|
|
|
---
|
|
|
|
## Sécurité & Contrôle
|
|
|
|
### 🛡️ Liste Blanche
|
|
- Tu choisis les applications autorisées
|
|
- Rien ne s'exécute ailleurs (ex: pas dans ta banque en ligne)
|
|
|
|
### 📝 Logs Chiffrés
|
|
- Tout est enregistré (AES-256)
|
|
- Traçabilité complète pour audit
|
|
- Qui a fait quoi, quand, pourquoi
|
|
|
|
### 🔄 Rollback
|
|
- Annule les 3 dernières actions
|
|
- Restaure l'état précédent
|
|
- Sécurité en cas d'erreur
|
|
|
|
### ⏸️ Arrêt d'Urgence
|
|
- Ctrl+Pause = Stop immédiat
|
|
- Retour au Mode Assisté
|
|
- Contrôle total à tout moment
|
|
|
|
---
|
|
|
|
## Adaptation Continue
|
|
|
|
### 📊 Détection de Changements UI
|
|
- Si l'interface change (mise à jour logiciel)
|
|
- Le système détecte la différence (similarité < 70%)
|
|
- Demande une ré-observation
|
|
- Réapprend automatiquement
|
|
|
|
### 🎯 Scores de Confiance Dynamiques
|
|
- Chaque action a un score 0-100%
|
|
- Formule: 60% vision + 30% LLM + 10% historique
|
|
- Si score < 90% → Retour Mode Assisté
|
|
- Adaptation automatique
|
|
|
|
### 📈 Métriques en Temps Réel
|
|
- Taux de succès par tâche
|
|
- Latence moyenne
|
|
- Nombre de corrections
|
|
- Dashboard live
|
|
|
|
---
|
|
|
|
## Cas d'Usage Concrets
|
|
|
|
### Exemple 1: Rafraîchir une Page Web
|
|
```
|
|
Jour 1-5: Tu rafraîchis manuellement (Mode Shadow observe)
|
|
Jour 6: "Je peux le faire pour toi ?" (Mode Assisté)
|
|
Jour 10: Automatique (Mode Autopilot)
|
|
```
|
|
|
|
### Exemple 2: Remplir un Formulaire
|
|
```
|
|
Observation: Tu remplis le même formulaire chaque jour
|
|
Apprentissage: Nom, prénom, date dans les bons champs
|
|
Suggestion: "Je remplis pour toi ?"
|
|
Automatisation: Formulaire rempli en 2 secondes
|
|
```
|
|
|
|
### Exemple 3: Workflow Multi-Étapes
|
|
```
|
|
1. Ouvrir Excel
|
|
2. Copier données
|
|
3. Ouvrir navigateur
|
|
4. Coller dans formulaire web
|
|
5. Cliquer Enregistrer
|
|
|
|
→ Tout automatisé après apprentissage
|
|
```
|
|
|
|
---
|
|
|
|
## Performance Cible
|
|
|
|
- ⚡ **Latence** : < 400ms observation → suggestion
|
|
- ✅ **Précision** : > 95% de réussite en Autopilot
|
|
- 🔧 **Corrections** : < 3% d'erreurs nécessitant correction
|
|
- 💾 **Mémoire** : ~150 MB RAM pour 50 screenshots
|
|
- 🖥️ **GPU** : 8 GB VRAM pour Qwen3-VL
|
|
|
|
---
|
|
|
|
## L'Innovation Clé
|
|
|
|
**Apprentissage Visuel Pur** : Pas besoin de programmer, pas de sélecteurs CSS, pas de scripts. Le système **voit** comme toi et **apprend** comme toi.
|
|
|
|
C'est comme avoir un assistant qui regarde par-dessus ton épaule, mémorise tes habitudes, et te propose gentiment : *"Je peux faire ça pour toi la prochaine fois ?"*
|
|
|
|
---
|
|
|
|
## Architecture Technique
|
|
|
|
### Composants Principaux
|
|
|
|
1. **EventCapture** : Capture clavier/souris en temps réel
|
|
2. **VisionAnalysis** : Analyse visuelle avec IA
|
|
3. **LearningManager** : Gestion de l'apprentissage et des transitions de mode
|
|
4. **Orchestrator** : Coordination de tous les composants
|
|
5. **EmbeddingsManager** : Gestion FAISS et OpenCLIP
|
|
6. **LLMManager** : Interface avec Qwen3-VL via Ollama
|
|
7. **VisionUtils** : Détection avec OWL-v2/DINO/YOLO
|
|
|
|
### Stockage
|
|
|
|
- **FAISS Index** : `data/faiss_index/` - Embeddings visuels
|
|
- **Tâches Apprises** : `data/user_profiles/` - Signatures + métadonnées
|
|
- **Logs Chiffrés** : `data/logs/` - Historique complet
|
|
- **Screenshots** : En mémoire uniquement (50 derniers)
|
|
|
|
### Technologies
|
|
|
|
- **Python 3.12** : Langage principal
|
|
- **PyQt6** : Interface graphique
|
|
- **PyTorch** : Modèles de vision
|
|
- **Transformers** : OWL-v2, DINO
|
|
- **Ultralytics** : YOLO-World
|
|
- **Ollama** : Qwen3-VL
|
|
- **FAISS** : Recherche de similarité
|
|
- **OpenCV** : Traitement d'images
|
|
- **pynput** : Capture événements système
|
|
|
|
---
|
|
|
|
## État Actuel (MVP Fonctionnel)
|
|
|
|
✅ **Implémenté** :
|
|
- Capture d'événements (clics, touches)
|
|
- Détection de patterns répétitifs
|
|
- Analyse visuelle avec signatures
|
|
- Création de tâches apprises
|
|
- Intégration Qwen3-VL
|
|
- Modèles de détection (OWL-v2, DINO, YOLO)
|
|
- Index FAISS
|
|
- Interface GUI basique
|
|
|
|
🚧 **À Compléter** :
|
|
- Mode Assisté (suggestions avec validation)
|
|
- Mode Autopilot (exécution automatique)
|
|
- Rejeu des tâches apprises
|
|
- Dashboard de métriques
|
|
- Rollback d'actions
|
|
- Détection de changements UI
|
|
- Transitions de mode automatiques
|
|
|
|
---
|
|
|
|
## Prochaines Étapes
|
|
|
|
1. **Implémenter le rejeu** : Exécuter les tâches apprises
|
|
2. **Ajouter les suggestions** : Mode Assisté avec superposition visuelle
|
|
3. **Créer le dashboard** : Métriques en temps réel
|
|
4. **Implémenter les transitions** : Shadow → Assisté → Autopilot
|
|
5. **Ajouter le rollback** : Annulation d'actions
|
|
6. **Tester en conditions réelles** : Workflows utilisateur complets
|