Initial commit
This commit is contained in:
134
archive/old_docs/MODE_ASSISTE_AVANCEMENT.md
Normal file
134
archive/old_docs/MODE_ASSISTE_AVANCEMENT.md
Normal file
@@ -0,0 +1,134 @@
|
||||
# 🤝 Mode Assisté - Avancement
|
||||
|
||||
## ✅ Ce qui vient d'être créé
|
||||
|
||||
### 1. Documentation
|
||||
|
||||
**`MODE_ASSISTE_CONCEPTION.md`** - Conception complète du Mode Assisté
|
||||
- Flux détaillé
|
||||
- Architecture
|
||||
- Implémentation
|
||||
- Interface utilisateur
|
||||
- Tests
|
||||
|
||||
### 2. Code
|
||||
|
||||
**`geniusia2/core/suggestion_manager.py`** (300 lignes)
|
||||
|
||||
Fonctionnalités :
|
||||
- ✅ Recherche de suggestions basée sur FAISS
|
||||
- ✅ Calcul de scores de confiance
|
||||
- ✅ Gestion des timeouts (10s par défaut)
|
||||
- ✅ Callbacks pour événements
|
||||
- ✅ Thread-safe avec locks
|
||||
- ✅ Logging complet
|
||||
|
||||
Méthodes principales :
|
||||
- `find_suggestion()` - Recherche dans FAISS
|
||||
- `create_suggestion()` - Crée une suggestion
|
||||
- `accept_suggestion()` - Accepte et met à jour stats
|
||||
- `reject_suggestion()` - Rejette et met à jour stats
|
||||
- `check_timeout()` - Vérifie l'expiration
|
||||
|
||||
## 🔄 Ce qu'il reste à faire
|
||||
|
||||
### Étape 1 : Intégrer dans l'Orchestrator ⭐
|
||||
|
||||
**Fichier** : `geniusia2/core/orchestrator.py`
|
||||
|
||||
**Modifications** :
|
||||
```python
|
||||
from .suggestion_manager import SuggestionManager
|
||||
from .task_replay import TaskReplayEngine
|
||||
|
||||
class Orchestrator:
|
||||
def __init__(self, ...):
|
||||
# Ajouter
|
||||
self.suggestion_manager = SuggestionManager(...)
|
||||
self.replay_engine = TaskReplayEngine(...)
|
||||
|
||||
def _on_user_action(self, action):
|
||||
# Capturer contexte
|
||||
context = self._capture_context()
|
||||
|
||||
# Créer suggestion si applicable
|
||||
if self.learning_manager.get_mode() == "assist":
|
||||
self.suggestion_manager.create_suggestion(context)
|
||||
```
|
||||
|
||||
### Étape 2 : Ajouter Overlay dans la GUI ⭐
|
||||
|
||||
**Fichier** : `geniusia2/gui/minimal_gui.py`
|
||||
|
||||
**Modifications** :
|
||||
- Ajouter widget de suggestion (overlay)
|
||||
- Gérer les touches Entrée/Échap/Alt+C
|
||||
- Afficher confiance et description
|
||||
|
||||
### Étape 3 : Connecter les Callbacks
|
||||
|
||||
**Dans Orchestrator** :
|
||||
```python
|
||||
self.suggestion_manager.on_suggestion_created = self._on_suggestion_created
|
||||
self.suggestion_manager.on_suggestion_accepted = self._on_suggestion_accepted
|
||||
self.suggestion_manager.on_suggestion_rejected = self._on_suggestion_rejected
|
||||
```
|
||||
|
||||
### Étape 4 : Implémenter l'Exécution
|
||||
|
||||
**Méthode à ajouter** :
|
||||
```python
|
||||
def _execute_suggestion(self, suggestion):
|
||||
"""Exécute une suggestion acceptée."""
|
||||
task_id = suggestion["task_id"]
|
||||
|
||||
# Utiliser le replay engine
|
||||
result = await self.replay_engine.replay_task(task_id)
|
||||
|
||||
# Logger le résultat
|
||||
self.logger.log_action({
|
||||
"action": "suggestion_executed",
|
||||
"task_id": task_id,
|
||||
"success": result["success"]
|
||||
})
|
||||
```
|
||||
|
||||
### Étape 5 : Tester
|
||||
|
||||
**Tests à faire** :
|
||||
1. Créer une tâche (3x clic)
|
||||
2. Refaire l'action une fois
|
||||
3. Vérifier qu'une suggestion apparaît
|
||||
4. Tester Entrée (accepter)
|
||||
5. Tester Échap (refuser)
|
||||
|
||||
## 📊 Estimation
|
||||
|
||||
| Étape | Temps | Complexité |
|
||||
|-------|-------|------------|
|
||||
| Intégration Orchestrator | 30 min | Moyenne |
|
||||
| Overlay GUI | 45 min | Moyenne |
|
||||
| Callbacks | 15 min | Facile |
|
||||
| Exécution | 20 min | Facile |
|
||||
| Tests | 30 min | Facile |
|
||||
| **Total** | **~2h30** | **Moyenne** |
|
||||
|
||||
## 🎯 Prochaine Action
|
||||
|
||||
**Option 1** : Continuer maintenant
|
||||
- Je peux implémenter l'intégration dans l'Orchestrator
|
||||
- Puis l'overlay dans la GUI
|
||||
- Et tester le tout
|
||||
|
||||
**Option 2** : Faire une pause
|
||||
- Tu as déjà le `SuggestionManager` fonctionnel
|
||||
- Tu peux tester le reste plus tard
|
||||
- La documentation est complète
|
||||
|
||||
**Qu'est-ce que tu préfères ?** 🤔
|
||||
|
||||
1. **Continuer** : On implémente l'intégration maintenant
|
||||
2. **Pause** : On s'arrête là pour aujourd'hui
|
||||
3. **Tester d'abord** : On teste ce qui existe déjà
|
||||
|
||||
**Dis-moi ! 😊**
|
||||
Reference in New Issue
Block a user