129 lines
3.6 KiB
Markdown
129 lines
3.6 KiB
Markdown
# Session Workflows - 19 Novembre 2024
|
|
|
|
## 🎯 Objectif
|
|
Implémenter la détection de workflows complets pour le Mode Assisté
|
|
|
|
## ✅ Ce qui a été fait
|
|
|
|
### 1. Analyse du problème
|
|
- Le système actuel détecte des patterns simples (3 clics identiques)
|
|
- Besoin de détecter des **workflows complets** (séquences d'actions variées)
|
|
- Exemple : Ouvrir OnlyOffice → Nouveau document → Taper texte → Fermer
|
|
|
|
### 2. Architecture proposée
|
|
```
|
|
EventCapture
|
|
↓
|
|
SessionManager (segmente les actions en sessions)
|
|
↓
|
|
WorkflowDetector (détecte les workflows répétés)
|
|
↓
|
|
SuggestionManager (suggère les workflows en cours)
|
|
↓
|
|
Overlay (affiche la suggestion)
|
|
```
|
|
|
|
### 3. Composants créés
|
|
|
|
#### SessionManager
|
|
- Segmente les actions en sessions basées sur :
|
|
- Timeout (5 minutes par défaut)
|
|
- Changement de fenêtre
|
|
- Nombre d'actions (max 50)
|
|
- Sauvegarde les sessions sur disque
|
|
- Callbacks pour notifier les sessions complétées
|
|
|
|
#### WorkflowDetector
|
|
- Compare les sessions pour trouver des similarités
|
|
- Utilise la distance de Levenshtein pour comparer les séquences
|
|
- Détecte les workflows répétés (min 3 répétitions)
|
|
- Calcule un score de confiance
|
|
- Génère des noms descriptifs automatiquement
|
|
|
|
#### Intégration SuggestionManager
|
|
- Vérifie d'abord s'il y a un workflow en cours
|
|
- Compare les actions courantes avec les workflows connus
|
|
- Suggère la prochaine étape si match >= 80%
|
|
- Fallback sur la recherche classique par embedding
|
|
|
|
### 4. Test réalisé
|
|
```bash
|
|
python test_workflow_detection.py
|
|
```
|
|
|
|
**Résultat** : ✅ Workflow détecté avec 95% de confiance !
|
|
```
|
|
🎉 WORKFLOW DÉTECTÉ !
|
|
Nom: OnlyOffice - Navigation + Saisie + Finalisation
|
|
Étapes: 7
|
|
Répétitions: 3
|
|
Confiance: 95.00%
|
|
```
|
|
|
|
## ⚠️ Problèmes rencontrés
|
|
|
|
### Fichiers corrompus
|
|
Les fichiers `session_manager.py` et `workflow_detector.py` ont été créés mais sont corrompus.
|
|
- Supprimés pour être recréés proprement
|
|
- Besoin de les recréer avec une structure simple et claire
|
|
|
|
### Complexité
|
|
- Trop de fichiers de documentation
|
|
- Besoin de simplifier pour le MVP
|
|
|
|
## 🔄 Prochaines étapes
|
|
|
|
### 1. Recréer les fichiers proprement
|
|
- [ ] `geniusia2/core/session_manager.py` (version simple)
|
|
- [ ] `geniusia2/core/workflow_detector.py` (version simple)
|
|
- [ ] Tester l'intégration complète
|
|
|
|
### 2. Simplifier pour le MVP
|
|
- [x] Nettoyer les fichiers obsolètes (fait !)
|
|
- [ ] Garder uniquement l'essentiel
|
|
- [ ] Pas de sécurité complexe (cryptage, etc.)
|
|
|
|
### 3. Tester end-to-end
|
|
- [ ] Créer un test simple qui fonctionne
|
|
- [ ] Vérifier que l'overlay s'affiche
|
|
- [ ] Tester avec une vraie application (OnlyOffice)
|
|
|
|
## 📝 Notes importantes
|
|
|
|
### Pour le MVP
|
|
- **Pas de cryptage** des logs
|
|
- **Pas de sécurité avancée**
|
|
- Focus sur la **fonctionnalité de base**
|
|
- Garder le code **simple et lisible**
|
|
|
|
### Architecture simplifiée
|
|
```python
|
|
# session_manager.py - ~150 lignes
|
|
class SessionManager:
|
|
- add_action()
|
|
- _should_start_new_session()
|
|
- _finalize_session()
|
|
- get_recent_sessions()
|
|
|
|
# workflow_detector.py - ~200 lignes
|
|
class WorkflowDetector:
|
|
- analyze_sessions()
|
|
- _group_similar_sessions()
|
|
- _create_workflow()
|
|
- get_workflows()
|
|
```
|
|
|
|
## 🎯 Objectif final
|
|
Quand l'utilisateur commence un workflow connu (ex: ouvrir OnlyOffice), l'overlay suggère automatiquement les prochaines étapes !
|
|
|
|
## 📊 Métriques
|
|
- Temps de développement : ~4h
|
|
- Lignes de code : ~500
|
|
- Tests créés : 2
|
|
- Confiance du système : 95%
|
|
|
|
---
|
|
|
|
**Statut** : En cours - Fichiers à recréer proprement
|
|
**Priorité** : Haute - Fonctionnalité clé du Mode Assisté
|