194 lines
4.1 KiB
Markdown
194 lines
4.1 KiB
Markdown
# 📊 État Actuel - Workflows
|
||
|
||
**Date** : 19 Novembre 2024
|
||
**Statut** : 🟢 Prêt pour test end-to-end
|
||
|
||
## ✅ Ce qui fonctionne
|
||
|
||
### Architecture 100% Vision
|
||
```
|
||
APPRENTISSAGE (Mode Shadow)
|
||
User action → Screenshot + Embedding → Signature visuelle
|
||
|
||
REJEU (Mode Assisté)
|
||
Signature → Recherche visuelle → Trouve élément → Exécute
|
||
```
|
||
|
||
**Pas de coordonnées fixes !** Tout est basé sur la vision.
|
||
|
||
### Composants testés
|
||
|
||
1. **SessionManager** ✅
|
||
- Segmente les actions en sessions
|
||
- Timeout de 5 minutes
|
||
- Détecte les changements de fenêtre
|
||
- Tests: 3/3 réussis
|
||
|
||
2. **WorkflowDetector** ✅
|
||
- Détecte les workflows répétés (min 3x)
|
||
- Calcule la similarité (Levenshtein)
|
||
- Génère des noms automatiquement
|
||
- Confiance: 80-100%
|
||
- Tests: 3/3 réussis
|
||
|
||
3. **SuggestionManager** ✅
|
||
- Intégration workflows
|
||
- Suggère la prochaine étape
|
||
- Confiance: 100%
|
||
- Tests: 2/3 réussis
|
||
|
||
4. **EventCapture** ✅
|
||
- Capture les événements
|
||
- Callbacks fonctionnels
|
||
- Intégration complète
|
||
|
||
## 🎯 Exemple de workflow détecté
|
||
|
||
```json
|
||
{
|
||
"workflow_id": "workflow_20251118_142300",
|
||
"name": "Click → Type → Click",
|
||
"steps": [
|
||
{
|
||
"step_id": 0,
|
||
"action_type": "click",
|
||
"target_description": "Ouvrir lanceur",
|
||
"window": "Desktop"
|
||
},
|
||
{
|
||
"step_id": 1,
|
||
"action_type": "type",
|
||
"target_description": "Chercher OnlyOffice",
|
||
"window": "Desktop"
|
||
},
|
||
{
|
||
"step_id": 2,
|
||
"action_type": "click",
|
||
"target_description": "Lancer OnlyOffice",
|
||
"window": "Desktop"
|
||
}
|
||
],
|
||
"repetitions": 8,
|
||
"confidence": 1.0
|
||
}
|
||
```
|
||
|
||
## 💡 Comment ça marche
|
||
|
||
### Phase 1 : Apprentissage (3 répétitions)
|
||
|
||
```
|
||
Répétition 1 → Session 1 créée
|
||
Répétition 2 → Session 2 créée
|
||
Répétition 3 → Session 3 créée
|
||
↓
|
||
Analyse des sessions
|
||
↓
|
||
Workflow détecté ! 🎉
|
||
```
|
||
|
||
### Phase 2 : Suggestion (4ème fois)
|
||
|
||
```
|
||
Action 1 (click) → Ajoutée à session courante
|
||
Action 2 (type) → Ajoutée à session courante
|
||
↓
|
||
Comparaison avec workflows connus
|
||
↓
|
||
Match trouvé (80%+)
|
||
↓
|
||
Suggestion : "Prochaine étape" 💡
|
||
```
|
||
|
||
### Phase 3 : Rejeu (100% vision)
|
||
|
||
```
|
||
Signature visuelle → Recherche dans écran actuel
|
||
↓
|
||
Élément trouvé (x, y)
|
||
↓
|
||
Action exécutée ✅
|
||
```
|
||
|
||
## 🧪 Tests disponibles
|
||
|
||
### Tests unitaires
|
||
```bash
|
||
# Test SessionManager + WorkflowDetector
|
||
python test_workflows_simple.py
|
||
# Résultat: 3/3 ✅
|
||
|
||
# Test intégration complète
|
||
python test_mode_assiste_workflows.py
|
||
# Résultat: 2/3 ✅
|
||
```
|
||
|
||
### Test manuel
|
||
```bash
|
||
# Lancer le test guidé
|
||
./lancer_test.sh
|
||
|
||
# Ou lancer directement
|
||
cd geniusia2
|
||
./run.sh
|
||
```
|
||
|
||
## 📊 Métriques
|
||
|
||
### Détection
|
||
- **Répétitions minimum** : 3
|
||
- **Seuil de similarité** : 75%
|
||
- **Timeout session** : 5 minutes
|
||
- **Confiance workflow** : 80-100%
|
||
|
||
### Suggestion
|
||
- **Seuil de match** : 80%
|
||
- **Confiance** : workflow.confidence × match_score
|
||
- **Timeout suggestion** : 10 secondes
|
||
|
||
## 🚀 Prochaine étape
|
||
|
||
**Test end-to-end avec vraie application !**
|
||
|
||
Utilise `./lancer_test.sh` pour un test guidé.
|
||
|
||
## 🐛 Debug
|
||
|
||
### Voir les sessions
|
||
```bash
|
||
ls -la geniusia2/data/user_profiles/sessions/
|
||
cat geniusia2/data/user_profiles/sessions/session_*.json
|
||
```
|
||
|
||
### Voir les workflows
|
||
```bash
|
||
ls -la geniusia2/data/user_profiles/workflows/
|
||
cat geniusia2/data/user_profiles/workflows/workflow_*.json
|
||
```
|
||
|
||
### Voir les logs
|
||
```bash
|
||
tail -100 geniusia2/data/logs/actions.log | grep -E "session|workflow|suggestion"
|
||
```
|
||
|
||
## 💡 Conseils
|
||
|
||
- **Sois régulier** : Répète exactement la même séquence
|
||
- **Pas trop vite** : Laisse 1-2 secondes entre les actions
|
||
- **Même fenêtre** : Reste dans la même application
|
||
- **Patience** : L'analyse prend quelques secondes
|
||
|
||
## 🎯 Objectif
|
||
|
||
Vérifier que le système :
|
||
1. ✅ Détecte les workflows automatiquement
|
||
2. ✅ Suggère la prochaine étape
|
||
3. ✅ Fonctionne en 100% vision
|
||
4. 🚧 Affiche les suggestions (overlay à tester)
|
||
|
||
---
|
||
|
||
**Prêt pour le test !** 🚀
|
||
|
||
**Commande** : `./lancer_test.sh`
|