8.3 KiB
8.3 KiB
🌳 Structure du Projet GeniusIA v2
📁 Structure Principale
Geniusia_v2/
│
├── 📂 geniusia2/ # Code source principal
│ ├── 📄 main.py # Point d'entrée de l'application
│ ├── 📄 run.sh # Script de lancement
│ ├── 📄 run_headless.sh # Lancement sans GUI
│ │
│ ├── 📂 core/ # Composants principaux
│ │ ├── 📄 orchestrator.py # Orchestrateur principal (boucle cognitive)
│ │ ├── 📄 learning_manager.py # Gestion de l'apprentissage
│ │ ├── 📄 suggestion_manager.py # Gestion des suggestions (mode Assist)
│ │ ├── 📄 workflow_detector.py # Détection de workflows
│ │ ├── 📄 workflow_matcher.py # Matching de workflows
│ │ ├── 📄 session_manager.py # Gestion des sessions
│ │ ├── 📄 event_capture.py # Capture d'événements (clavier/souris)
│ │ ├── 📄 vision_analysis.py # Analyse visuelle avec IA
│ │ ├── 📄 vision_search.py # Recherche visuelle
│ │ ├── 📄 llm_manager.py # Gestion du LLM (Ollama)
│ │ ├── 📄 logger.py # Système de logging
│ │ ├── 📄 config.py # Configuration
│ │ ├── 📄 models.py # Modèles de données
│ │ ├── 📄 whitelist_manager.py # Gestion liste blanche
│ │ ├── 📄 task_replay.py # Rejeu de tâches
│ │ ├── 📄 replay_async.py # Rejeu asynchrone
│ │ ├── 📄 metrics_collector.py # Collecte de métriques
│ │ ├── 📄 ui_change_detector.py # Détection changements UI
│ │ │
│ │ ├── 📂 embedders/ # Système d'embeddings
│ │ │ ├── 📄 __init__.py
│ │ │ ├── 📄 base.py # Classe de base
│ │ │ ├── 📄 clip_embedder.py # Embeddings CLIP
│ │ │ ├── 📄 pix2struct_embedder.py # Embeddings Pix2Struct
│ │ │ ├── 📄 embedding_manager.py # Gestionnaire d'embeddings
│ │ │ ├── 📄 faiss_index.py # Index FAISS
│ │ │ └── 📄 fine_tuner.py # Fine-tuning
│ │ │
│ │ └── 📂 utils/ # Utilitaires
│ │ ├── 📄 vision_utils.py # Utilitaires vision
│ │ ├── 📄 image_utils.py # Utilitaires images
│ │ └── 📄 input_utils.py # Utilitaires entrées
│ │
│ ├── 📂 gui/ # Interface graphique
│ │ ├── 📄 __init__.py
│ │ ├── 📄 improved_gui.py # GUI améliorée (principale)
│ │ ├── 📄 minimal_gui.py # GUI minimale (ancienne)
│ │ ├── 📄 demo_gui.py # GUI de démo
│ │ ├── 📄 signals.py # Signaux Qt
│ │ ├── 📄 models.py # Modèles de données GUI
│ │ ├── 📄 logs_panel.py # Panneau de logs
│ │ ├── 📄 human_logger.py # Logger lisible par humains
│ │ ├── 📄 orchestrator_integration.py # Intégration orchestrateur
│ │ ├── 📄 interactive_dialog.py # Dialogues interactifs
│ │ │
│ │ └── 📂 dialogs/ # Dialogues
│ │ ├── 📄 transition_notification.py
│ │ └── 📄 post_action_notification.py
│ │
│ ├── 📂 tests/ # Tests
│ │ └── 📄 test_human_logger.py
│ │
│ └── 📂 data/ # Données
│ ├── 📂 logs/ # Logs d'actions
│ ├── 📂 screenshots/ # Captures d'écran
│ ├── 📂 embeddings/ # Embeddings sauvegardés
│ └── 📂 workflows/ # Workflows appris
│
├── 📂 docs/ # Documentation
│ └── 📂 sessions/ # Documentation de sessions
│
├── 📂 .kiro/ # Spécifications Kiro
│ └── 📂 specs/ # Specs de fonctionnalités
│ ├── 📂 workflow-detection-fix/
│ ├── 📂 assisted-mode-suggestions/
│ ├── 📂 embedding-improvement/
│ └── 📂 gui-logs-improvement/
│
├── 📄 README.md # Documentation principale
├── 📄 GUIDE_INSTALLATION.md # Guide d'installation
├── 📄 GUIDE_MODES.md # Guide des modes
├── 📄 STRUCTURE_PROJET.txt # Liste des fichiers
│
├── 🔧 Scripts de test
│ ├── 📄 test_*.py # Scripts de test Python
│ ├── 📄 lancer_test.sh # Lancer les tests
│ ├── 📄 monitor_workflows.sh # Monitorer les workflows
│ └── 📄 verifier_integration.sh # Vérifier l'intégration
│
├── 🔧 Scripts d'installation
│ ├── 📄 installer_dependances_completes.sh
│ ├── 📄 install_pix2struct.sh
│ └── 📄 VERIFIER_INSTALLATION.sh
│
├── 🔧 Scripts de diagnostic
│ ├── 📄 diagnostic_complet_systeme.py
│ ├── 📄 diagnostic_faiss.py
│ ├── 📄 debug_embeddings.py
│ └── 📄 visualize_embeddings.py
│
└── 📚 Documentation de corrections
├── 📄 LOGS_GUI_CONNECTES.md
├── 📄 CORRECTIONS_ERREURS_GUI.md
├── 📄 FIX_MODE_SUGGESTIONS.md
├── 📄 FIX_CALLBACKS_MANQUANTS.md
└── 📄 INTEGRATION_COMPLETE.md
🎯 Composants Clés
Core (Cœur du Système)
- Orchestrator : Boucle cognitive principale (Observer → Réfléchir → Agir → Apprendre)
- LearningManager : Gestion de l'apprentissage et des modes
- SuggestionManager : Création et gestion des suggestions
- WorkflowDetector : Détection de patterns répétitifs
- EventCapture : Capture des événements clavier/souris
- VisionAnalysis : Analyse visuelle avec Qwen3-VL
GUI (Interface Graphique)
- ImprovedGUI : Interface principale avec logs en temps réel
- LogsPanel : Panneau d'affichage des logs
- HumanLogger : Messages lisibles pour l'utilisateur
- OrchestratorIntegration : Pont entre orchestrateur et GUI
Embeddings (Système d'Embeddings)
- EmbeddingManager : Gestion des embeddings visuels
- CLIPEmbedder : Embeddings avec CLIP
- Pix2StructEmbedder : Embeddings avec Pix2Struct
- FAISSIndex : Index de recherche de similarité
- FineTuner : Fine-tuning des modèles
🚀 Scripts Principaux
Lancement
./geniusia2/run.sh # Lancer avec GUI
./geniusia2/run_headless.sh # Lancer sans GUI
Tests
./lancer_test.sh # Tests généraux
./lancer_test_mode_assiste.sh # Tests mode assisté
./monitor_workflows.sh # Monitorer workflows
Installation
./installer_dependances_completes.sh # Installer toutes les dépendances
./install_pix2struct.sh # Installer Pix2Struct
Diagnostic
python3 diagnostic_complet_systeme.py # Diagnostic complet
python3 diagnostic_faiss.py # Diagnostic FAISS
python3 debug_embeddings.py # Debug embeddings
📊 Statistiques
- Fichiers Python : ~80 fichiers
- Scripts Shell : ~15 scripts
- Documentation : ~50 fichiers MD
- Tests : ~20 fichiers de test
- Lignes de code : ~15,000 lignes
🔧 Technologies Utilisées
- Python 3.10+
- PyQt5 : Interface graphique
- OpenCV : Traitement d'images
- CLIP / Pix2Struct : Embeddings visuels
- FAISS : Recherche de similarité
- Ollama : LLM local (Qwen3-VL)
- pynput : Capture d'événements
- numpy / torch : Calculs numériques
📝 Notes
- Le dossier
venv/contient l'environnement virtuel Python (non inclus dans l'archive) - Le dossier
data/contient les données d'exécution (logs, screenshots, workflows) - Le dossier
.git/contient l'historique Git (non inclus dans l'archive) - Les fichiers
*.pycet__pycache__/sont générés automatiquement
Pour créer une archive : ./create_backup.sh