- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
236 lines
5.4 KiB
Markdown
236 lines
5.4 KiB
Markdown
# Script de Capture et Test Automatique
|
|
|
|
## 🎯 Objectif
|
|
|
|
Script tout-en-un qui :
|
|
1. ✅ Capture automatiquement l'écran pendant 1 minute
|
|
2. ✅ Enregistre les screenshots dans `data/sessions/`
|
|
3. ✅ Crée une RawSession JSON
|
|
4. ✅ Teste le GraphBuilder avec la session capturée
|
|
|
|
## 🚀 Utilisation
|
|
|
|
### Lancement Simple
|
|
|
|
```bash
|
|
cd rpa_vision_v3
|
|
python examples/capture_and_test.py
|
|
```
|
|
|
|
### Ce qui se passe
|
|
|
|
```
|
|
1. Compte à rebours de 3 secondes
|
|
2. Capture pendant 60 secondes (1 screenshot toutes les 2s)
|
|
3. Sauvegarde dans data/sessions/session_YYYYMMDD_HHMMSS/
|
|
4. Crée session.json
|
|
5. Teste GraphBuilder
|
|
6. Affiche les résultats
|
|
```
|
|
|
|
## 📸 Pendant la Capture
|
|
|
|
**Conseils pour obtenir de bons patterns:**
|
|
|
|
1. **Répétez les mêmes actions 3-4 fois**
|
|
- Ex: Ouvrir/fermer une fenêtre
|
|
- Ex: Cliquer sur le même bouton
|
|
- Ex: Naviguer entre 2-3 écrans
|
|
|
|
2. **Attendez 2-3 secondes entre chaque action**
|
|
- Laisse le temps de capturer l'état stable
|
|
|
|
3. **Utilisez des actions simples**
|
|
- Cliquer sur des boutons
|
|
- Taper du texte
|
|
- Changer de fenêtre
|
|
|
|
## 📊 Sortie Attendue
|
|
|
|
```
|
|
🚀 CAPTURE ET TEST AUTOMATIQUE
|
|
|
|
======================================================================
|
|
CAPTURE DE SESSION
|
|
======================================================================
|
|
Session ID: session_20241123_143022
|
|
Durée: 60s
|
|
Intervalle: 2s
|
|
Screenshots attendus: ~30
|
|
Répertoire: data/sessions/session_20241123_143022
|
|
|
|
🎬 Démarrage de la capture dans 3 secondes...
|
|
Effectuez des actions répétées pour créer des patterns!
|
|
|
|
📸 Screenshot 1 capturé - Reste 58s
|
|
📸 Screenshot 2 capturé - Reste 56s
|
|
...
|
|
📸 Screenshot 30 capturé - Reste 0s
|
|
|
|
✅ Capture terminée: 30 screenshots
|
|
|
|
📝 Création du fichier session.json...
|
|
✅ Session sauvegardée: data/sessions/session_20241123_143022/session.json
|
|
|
|
======================================================================
|
|
TEST CONSTRUCTION DE WORKFLOW
|
|
======================================================================
|
|
|
|
[1/3] Initialisation du GraphBuilder
|
|
✅ GraphBuilder initialisé
|
|
|
|
[2/3] Construction du workflow
|
|
✅ Workflow construit: workflow_session_20241123_143022
|
|
- Nodes: 3
|
|
- Edges: 2
|
|
|
|
[3/3] Analyse des résultats
|
|
|
|
📊 3 patterns détectés:
|
|
• node_000: 10 observations
|
|
• node_001: 12 observations
|
|
• node_002: 8 observations
|
|
|
|
🔗 2 transitions détectées:
|
|
• node_000 → node_001 (5x)
|
|
• node_001 → node_002 (4x)
|
|
|
|
💾 Index FAISS: 30 vecteurs
|
|
📁 Session: data/sessions/session_20241123_143022/session.json
|
|
|
|
======================================================================
|
|
✅ TEST RÉUSSI - Patterns détectés!
|
|
======================================================================
|
|
```
|
|
|
|
## 📁 Structure des Fichiers Créés
|
|
|
|
```
|
|
data/sessions/session_20241123_143022/
|
|
├── session.json # Métadonnées de la session
|
|
└── screenshots/
|
|
├── screen_0000.png
|
|
├── screen_0001.png
|
|
├── screen_0002.png
|
|
└── ...
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
### Modifier la Durée
|
|
|
|
Éditer le fichier `capture_and_test.py` ligne 138:
|
|
|
|
```python
|
|
session_dir, screenshots, session_id = capture_session(
|
|
duration_seconds=120, # 2 minutes au lieu de 1
|
|
interval_seconds=2
|
|
)
|
|
```
|
|
|
|
### Modifier l'Intervalle
|
|
|
|
```python
|
|
session_dir, screenshots, session_id = capture_session(
|
|
duration_seconds=60,
|
|
interval_seconds=1 # 1 screenshot par seconde
|
|
)
|
|
```
|
|
|
|
### Ajuster la Détection de Patterns
|
|
|
|
Éditer ligne 125:
|
|
|
|
```python
|
|
builder = GraphBuilder(
|
|
min_pattern_repetitions=3, # Plus strict (défaut: 2)
|
|
clustering_eps=0.15 # Plus strict (défaut: 0.18)
|
|
)
|
|
```
|
|
|
|
## 🔧 Dépannage
|
|
|
|
### Erreur: "mss n'est pas installé"
|
|
|
|
```bash
|
|
pip install mss
|
|
```
|
|
|
|
### Aucun Pattern Détecté
|
|
|
|
**Causes possibles:**
|
|
- Actions trop variées (pas de répétitions)
|
|
- Intervalle trop court (états pas stables)
|
|
- Clustering trop strict
|
|
|
|
**Solutions:**
|
|
- Répéter les mêmes actions 3-4 fois
|
|
- Augmenter `clustering_eps` à 0.20-0.25
|
|
- Diminuer `min_pattern_repetitions` à 2
|
|
|
|
### Trop de Patterns Détectés
|
|
|
|
**Solution:**
|
|
- Augmenter `min_pattern_repetitions` à 4-5
|
|
- Diminuer `clustering_eps` à 0.12-0.15
|
|
|
|
## 🎯 Cas d'Usage
|
|
|
|
### Test Rapide
|
|
|
|
```bash
|
|
# Capture 30 secondes
|
|
python examples/capture_and_test.py
|
|
# Modifier duration_seconds=30 dans le code
|
|
```
|
|
|
|
### Test Complet
|
|
|
|
```bash
|
|
# Capture 2 minutes
|
|
python examples/capture_and_test.py
|
|
# Modifier duration_seconds=120 dans le code
|
|
```
|
|
|
|
### Test avec Interface GUI
|
|
|
|
Si tu préfères utiliser ton interface GUI:
|
|
|
|
```bash
|
|
# 1. Lance le GUI
|
|
google-chrome http://127.0.0.1:5000
|
|
|
|
# 2. Capture manuellement
|
|
|
|
# 3. Teste avec la session capturée
|
|
python examples/test_workflow_construction.py
|
|
```
|
|
|
|
## 📈 Métriques de Qualité
|
|
|
|
**Bonne session:**
|
|
- 3-5 patterns détectés
|
|
- 2-4 transitions par pattern
|
|
- Chaque pattern avec 3+ observations
|
|
|
|
**Session à améliorer:**
|
|
- 0-1 pattern détecté → Répéter plus d'actions
|
|
- 10+ patterns détectés → Actions trop variées
|
|
|
|
## 🎓 Conseils
|
|
|
|
1. **Pour tester la détection de patterns:**
|
|
- Ouvre/ferme la même application 3-4 fois
|
|
- Clique sur le même bouton plusieurs fois
|
|
- Navigue entre 2-3 écrans répétitivement
|
|
|
|
2. **Pour tester les transitions:**
|
|
- Fais une séquence A → B → C
|
|
- Répète cette séquence 3-4 fois
|
|
- Le GraphBuilder devrait détecter les 3 nodes et 2 edges
|
|
|
|
3. **Pour tester la robustesse:**
|
|
- Mélange actions répétées et actions uniques
|
|
- Change légèrement la position des clics
|
|
- Varie le timing entre actions
|