Initial commit

This commit is contained in:
Dom
2026-03-05 00:20:25 +01:00
commit dcd4de9945
1954 changed files with 669380 additions and 0 deletions

View File

@@ -0,0 +1,129 @@
#!/usr/bin/env python3
"""
Test manuel du Mode Assisté - Workflow complet
"""
import sys
import time
from pathlib import Path
sys.path.insert(0, str(Path(__file__).parent / "geniusia2"))
from core.orchestrator import Orchestrator
from core.learning_manager import LearningManager
from core.embeddings_manager import EmbeddingsManager
from core.llm_manager import LLMManager
from core.utils.vision_utils import VisionUtils
from core.utils.input_utils import InputUtils
from core.logger import Logger
from core.config import get_config
def main():
"""Test manuel du Mode Assisté."""
print("\n" + "="*60)
print(" 🧪 TEST MANUEL DU MODE ASSISTÉ")
print("="*60 + "\n")
# Initialiser les composants
print("📋 Initialisation des composants...")
config = get_config()
logger = Logger()
embeddings_manager = EmbeddingsManager(logger=logger)
learning_manager = LearningManager(
embeddings_manager,
logger,
config,
profiles_path="geniusia2/data/user_profiles"
)
vision_utils = VisionUtils(config)
input_utils = InputUtils(logger, config)
llm_manager = LLMManager(config, logger)
orchestrator = Orchestrator(
learning_manager=learning_manager,
vision_utils=vision_utils,
llm_manager=llm_manager,
input_utils=input_utils,
logger=logger,
config=config
)
print("✅ Orchestrator créé\n")
# Vérifier les tâches existantes
print("📊 Vérification des tâches apprises...")
# Utiliser get_all_tasks() qui retourne une liste de dicts avec métriques
task_metrics = learning_manager.get_all_tasks()
if not task_metrics:
print("❌ Aucune tâche apprise trouvée !\n")
print("💡 Pour tester le Mode Assisté, tu dois d'abord :")
print(" 1. Lancer l'application : cd geniusia2 && ./run.sh")
print(" 2. Cliquer sur 'Start'")
print(" 3. Effectuer 3 fois la même action (ex: 3 clics)")
print(" 4. Attendre la notification 'Tâche apprise'")
print(" 5. Relancer ce script\n")
return
print(f"{len(task_metrics)} tâche(s) trouvée(s) :\n")
for i, task_info in enumerate(task_metrics, 1):
print(f" {i}. {task_info['task_name']}")
print(f" ID: {task_info['task_id']}")
print(f" Observations: {task_info['observation_count']}")
print(f" Confiance: {task_info['confidence_score']:.2%}")
print()
# Tester la vérification de suggestions
print("🔍 Test de vérification de suggestions...")
print(" (Ceci simule ce qui se passerait après une action utilisateur)\n")
# Appeler check_for_suggestions
orchestrator.check_for_suggestions()
# Vérifier s'il y a une suggestion
current = orchestrator.suggestion_manager.get_current_suggestion()
if current:
print("✅ Suggestion créée !")
print(f" Tâche: {current['task_name']}")
print(f" Confiance: {current['confidence']:.2%}")
print(f" Similarité: {current['similarity']:.2%}\n")
print("💡 Dans l'application, un overlay apparaîtrait maintenant")
print(" avec les options : [Entrée] Accepter | [Échap] Refuser\n")
else:
print(" Aucune suggestion créée")
print(" Raisons possibles :")
print(" - Le contexte actuel ne correspond à aucune tâche")
print(" - La similarité est < 75%")
print(" - Pas d'action utilisateur récente\n")
print("="*60)
print(" 📝 RÉSUMÉ")
print("="*60 + "\n")
print("Le Mode Assisté fonctionne en 2 phases :\n")
print("1⃣ APPRENTISSAGE (Mode Shadow)")
print(" - Effectue 3x la même action")
print(" - Le système crée une tâche\n")
print("2⃣ SUGGESTIONS (Mode Assisté)")
print(" - Refais une action similaire")
print(" - Le système suggère la tâche apprise")
print(" - Un overlay apparaît avec [Entrée] / [Échap]\n")
print("⚠️ IMPORTANT :")
print(" Le Mode Assisté n'est PAS automatique dans la version actuelle.")
print(" Il faut que l'Orchestrator appelle check_for_suggestions()")
print(" après chaque action utilisateur.\n")
print("🔧 SOLUTION :")
print(" Ajouter un appel périodique à check_for_suggestions()")
print(" dans la boucle principale de l'Orchestrator.\n")
if __name__ == "__main__":
main()