195 lines
8.3 KiB
Markdown
195 lines
8.3 KiB
Markdown
# 🌳 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
|
|
```bash
|
|
./geniusia2/run.sh # Lancer avec GUI
|
|
./geniusia2/run_headless.sh # Lancer sans GUI
|
|
```
|
|
|
|
### Tests
|
|
```bash
|
|
./lancer_test.sh # Tests généraux
|
|
./lancer_test_mode_assiste.sh # Tests mode assisté
|
|
./monitor_workflows.sh # Monitorer workflows
|
|
```
|
|
|
|
### Installation
|
|
```bash
|
|
./installer_dependances_completes.sh # Installer toutes les dépendances
|
|
./install_pix2struct.sh # Installer Pix2Struct
|
|
```
|
|
|
|
### Diagnostic
|
|
```bash
|
|
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 `*.pyc` et `__pycache__/` sont générés automatiquement
|
|
|
|
---
|
|
|
|
**Pour créer une archive : `./create_backup.sh`**
|