Commit Graph

21 Commits

Author SHA1 Message Date
Dom
f04f156144 fix(vision): Corriger les seuils CLIP/Template pour éviter les clics erronés
Problème résolu:
- Le workflow cliquait au mauvais endroit (200-500px de distance)
- Les seuils de matching étaient trop permissifs

Corrections apportées:
- CLIP: MAX_DISTANCE=120px, MIN_SCORE=0.55, MIN_COMBINED=0.5
- Template zonée: MAX_DISTANCE=150px
- Template global: MAX_DISTANCE=150px (était 500px)
- Ajout de logs détaillés pour debug des candidats rejetés
- Désactivation de l'overlay debug (polling intensif inutile)

Fichiers modifiés:
- intelligent_executor.py: Seuils stricts + logs
- execute.py: Logique d'exécution modes basic/intelligent/debug
- ui_detection_service.py: Backend UI-DETR-1
- App.tsx: Overlay désactivé
- ExecutionOverlay.tsx: URLs API corrigées

Documentation:
- docs/REFERENCE_VISION_RPA.md: Guide complet de référence

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 02:15:04 +01:00
Dom
d8d086dac5 feat(vwb): Intégration UI-DETR-1 + Toggle mode Basique/Intelligent/Debug
- Toggle 3 modes dans le header: Basique (coords fixes), Intelligent (vision IA), Debug (overlay)
- Service UI-DETR-1 pour détection d'éléments UI (510MB model, ~800ms/image)
- API endpoints: /api/ui-detection/detect, /preload, /status, /find-element
- Overlay des bboxes détectées en mode Debug (miniature + plein écran)
- Clic sur élément détecté pour le sélectionner comme ancre
- Document de vision produit: docs/VISION_RPA_INTELLIGENT.md
- Configuration CORS étendue pour ports locaux

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 14:13:32 +01:00
Dom
483653a0b4 feat(vwb-v4): Frontend React Flow avec palette d'outils complète
- Interface style n8n avec React Flow pour le canvas
- 22 actions organisées en 7 catégories (souris, clavier, attente, données, logique, IA, validation)
- 4 points d'accroche par nœud (haut, bas, droite, gauche) pour workflows complexes
- Panel de propriétés complet avec tous les paramètres pour chaque type d'action
- Capture d'écran plein écran avec sélection d'ancre
- Thème sombre professionnel

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:54:08 +01:00
Dom
858e6007f9 feat(vwb-v3): Architecture Thin Client fonctionnelle
API = Source de vérité unique (SQLite + Flask)
- Backend: API v3 avec session, workflow, capture, execute
- Frontend: Vanilla TypeScript, pas de state local
- Contrats stricts pour les actions RPA
- Drag & drop pour réorganiser les étapes
- Insertion d'étapes entre deux existantes
- Bibliothèque de captures (sessionStorage)
- Exécution avec coordonnées statiques (pyautogui)

Fonctionne mais fragile (coordonnées fixes, pas de détection visuelle)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:07:13 +01:00
Dom
a9a53991bc fix(vwb): Corriger auto-save et coordonnées miniature
- Ajouter méthode updateWorkflow (PUT) dans apiClient pour les
  workflows existants
- Utiliser PUT au lieu de POST pour l'auto-sauvegarde des workflows
- Ajouter tracking du scale dans VisualSelector pour convertir les
  coordonnées du canvas vers l'image originale
- Corriger le bounding_box pour correspondre aux dimensions réelles
  de l'image capturée

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 21:38:47 +01:00
Dom
d2955ec1a1 fix(vwb): Corriger l'exécution VWB pour toutes les étapes
- Ajouter liste des 20 types d'actions VWB connus pour détection fiable
- Corriger isVWBStep() pour vérifier step.type en priorité
- Corriger extraction actionId (step.type au lieu de "unknown")
- Résoudre problème stale closure en passant steps en paramètre
- Ajouter logs de débogage détaillés pour suivi exécution

Les étapes type_text sont maintenant correctement exécutées au lieu
d'être simulées.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 17:35:24 +01:00
Dom
38a1a5ddd8 feat(coaching): Implement complete COACHING mode infrastructure
Add comprehensive COACHING mode system with:

Backend:
- core/coaching module with session persistence and metrics
- CoachingSessionPersistence for pause/resume sessions
- CoachingMetricsCollector with learning progress tracking
- REST API blueprint for coaching sessions management
- Execution integration with COACHING mode support

Frontend:
- CoachingPanel component with keyboard shortcuts
- Decision buttons (accept/reject/correct/manual/skip)
- Real-time stats display and correction editor
- CorrectionPacksDashboard for pack visualization
- WebSocket hooks for real-time COACHING events

Metrics & Monitoring:
- WorkflowLearningMetrics with confidence scoring
- GlobalCoachingMetrics for system-wide analytics
- AUTO mode readiness detection (85% acceptance threshold)
- Learning progress levels (OBSERVATION → COACHING → AUTO)

Tests:
- E2E tests for complete OBSERVATION → AUTO journey
- Session persistence and recovery tests
- Metrics threshold validation tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 08:40:54 +01:00
Dom
d8756883c5 feat(corrections): Add Correction Packs system for cross-workflow learning
Implement a complete system for capitalizing user corrections across multiple
workflows and sessions. This enables automatic application of learned fixes
when similar failures occur in different contexts.

New components:
- core/corrections/models.py: CorrectionKey, Correction, CorrectionPack models
- core/corrections/correction_repository.py: JSON storage with atomic writes
- core/corrections/aggregator.py: Aggregation by hash and quality filtering
- core/corrections/correction_pack_service.py: CRUD, export/import, versioning
- backend/api/correction_packs.py: REST API with 15 endpoints

Features:
- MD5-based key hashing for correction deduplication
- Export/import in JSON and YAML formats
- Version history with rollback support
- Cross-workflow pattern detection
- Integration with SelfHealingEngine for automatic application
- 29 unit tests (all passing)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 18:48:35 +01:00
Dom
360c336608 Fix: Ajout de toutes les actions VWB à la liste de détection
Mise à jour KNOWN_VWB_ACTIONS pour inclure:
- double_click_anchor, right_click_anchor, hover_anchor, drag_drop_anchor
- keyboard_shortcut
- ai_analyze_text
- extract_table, download_to_folder
- db_save_data, db_read_data
- visual_condition, loop_visual

Corrige le problème "Type d'étape non reconnu" pour ces actions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:40:55 +01:00
Dom
48a883d1e7 Fix: Mise à jour catalogue frontend pour actions database
Synchronisation des paramètres frontend avec le backend:
- db_save_data: modes cle_valeur, collection, sql
- db_read_data: modes cle_valeur, collection, sql, lister

Paramètres alignés avec l'implémentation SQLite.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:33:18 +01:00
Dom
473ca84be5 Feat: Actions database sauvegarder/charger_donnees
Module complet de persistance SQLite pour VWB:

GestionnaireDB:
- Interface clé-valeur avec typage auto (string, number, bool, json)
- Collections pour données structurées avec historique
- Requêtes SQL personnalisées (SELECT/modifications)
- Thread-safe, singleton par chemin de DB
- Statistiques et nettoyage

Actions:
- sauvegarder_donnees: 3 modes (cle_valeur, collection, sql)
- charger_donnees: 4 modes (cle_valeur, collection, sql, lister)

Base par défaut: ~/.vwb/data.db

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:30:31 +01:00
Dom
f62e8e7852 Feat: Action telecharger_vers_dossier
Gestion complète des téléchargements de fichiers:
- Surveillance du dossier source pour nouveaux fichiers
- Attente fin de téléchargement (fichier stable)
- Validation: taille min, extensions autorisées
- Déplacement/renommage avec templates:
  {original}, {date}, {datetime}, {annee}, etc.
- Gestion conflits de noms
- Détection fichiers temporaires (.part, .crdownload)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:25:32 +01:00
Dom
ce1a51c314 Feat: Action extraire_tableau (IA + OCR)
Nouvelle action d'extraction de données tabulaires:
- Mode IA: Ollama qwen2.5-vl pour extraction intelligente
- Mode OCR: EasyOCR avec groupement par lignes
- Formats de sortie: JSON, CSV, liste
- Support colonnes attendues pour guider l'IA
- Parsing de texte tabulé (tab, pipe, virgule)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:22:05 +01:00
Dom
38966de0db Feat: Action analyser_avec_ia (Ollama qwen2.5-vl)
Nouvelle action d'intelligence artificielle:
- Analyse de contenu visuel via Ollama
- 8 types d'analyse prédéfinis: general, formulaire, erreur,
  boutons, tableau, menu, validation, extraction
- Prompts personnalisables
- Support température et max_tokens
- Variable de sortie configurable

Modèle par défaut: qwen2.5-vl:7b

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:15:33 +01:00
Dom
ae100d3da8 Feat: Actions double_clic et clic_droit (français)
Nouvelles actions de clic avec nommage français:
- double_clic: Double-clic avec intervalle configurable
- clic_droit: Clic droit pour menus contextuels

Support des profils français: rapide, normal, lent, furtif
Intégration Humanizer anti-détection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:11:42 +01:00
Dom
34f279cbc1 Feat: Actions survol_element et glisser_deposer (français)
Nouvelles actions avec nommage français pour l'interface:
- survol_element: Survol avec durée configurable et humanisation
- glisser_deposer: Drag & drop entre deux ancres visuelles

Support des profils français: rapide, normal, lent, furtif

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 23:02:11 +01:00
Dom
a2aecf4ba3 Feat: Action keyboard_shortcut avec support humanisation
- Touches simples et combinaisons (Ctrl+S, Alt+F4, etc.)
- Mapping complet des touches (F1-F12, flèches, navigation)
- Support répétition avec délai configurable
- Focus optionnel sur ancre visuelle avant raccourci
- Intégration humanizer pour délais naturels

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:55:25 +01:00
Dom
4eb48d10d5 Feat: Humanizer anti-détection pour environnements Citrix/VDI
- Module humanizer.py avec simulation comportement humain
- Courbes de Bézier pour mouvements souris
- Décalage gaussien pour positions de clic
- Frappe avec rythme variable et micro-erreurs
- 4 profils: fast, normal, slow, stealth
- Intégré dans click_anchor et type_text (humanize=True par défaut)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:45:17 +01:00
Dom
728fac3b59 Feat: Actions validation avec OCR Ollama (qwen2.5-vl:7b)
- verify_element_exists: recherche visuelle OpenCV réelle
- verify_text_content: OCR via Ollama (GPU) avec fallback easyocr
- Paramètres ocr_mode et ollama_model dans le catalogue frontend
- Support des modes de matching: exact, contains, regex, starts_with, ends_with

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:35:19 +01:00
Dom
1d2b643aa6 Fix: Navigation Executor + liste scrollable + sauvegarde variables
- Ajout onglets Standard/VWB dans Executor pour permettre la navigation
- Liste d'exécution scrollable (max 300px)
- Synchronisation bidirectionnelle des variables avec le workflow

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 22:02:49 +01:00
Dom
c636f7f163 Feat: Intégration système d'apprentissage VWB
- Création service learning_integration.py (pont VWB <-> LearningManager)
- Enregistrement automatique des workflows à la création
- Enregistrement des résultats d'exécution (succès/échec + confiance)
- Endpoints API: /workflows/<id>/feedback et /workflows/<id>/learning
- Boutons feedback (pouce vert/rouge) dans VWBExecutorExtension
- Fix: VariableAutocomplete inputRef pour setSelectionRange
- Amélioration: Chips cliquables pour insérer les variables

Le système apprend maintenant des exécutions et feedbacks utilisateur.
États: OBSERVATION -> COACHING -> AUTO_CANDIDATE -> AUTO_CONFIRMED

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 21:30:23 +01:00