Initial commit
This commit is contained in:
193
docs/sessions/ETAT_ACTUEL_WORKFLOWS.md
Normal file
193
docs/sessions/ETAT_ACTUEL_WORKFLOWS.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# 📊 É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`
|
||||
Reference in New Issue
Block a user