- Bouton "Parcourir..." ouvre l'explorateur natif du navigateur
- Upload vers /api/v3/upload-excel, sauvegarde dans data/uploads/
- Nom de table auto-suggéré depuis le nom du fichier
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- ExcelImporter : import .xlsx → SQLite auto (détection types, batch insert)
- DBIterator : lecture ligne par ligne avec filtre/tri/limite
- VWB actions : "Importer Excel" + "Pour chaque ligne" dans la palette
- DAG executor : pré-exécution import, boucle foreach avec injection
${current_row.colonne} dans les étapes dépendantes
- 36 tests unitaires Excel/DB (tous passent)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Refonte majeure du système Agent Chat et ajout de nombreux modules :
- Chat unifié : suppression du dual Workflows/Agent Libre, tout passe par /api/chat
avec résolution en 3 niveaux (workflow → geste → "montre-moi")
- GestureCatalog : 38 raccourcis clavier universels Windows avec matching sémantique,
substitution automatique dans les replays, et endpoint /api/gestures
- Mode Copilot : exécution pas-à-pas des workflows avec validation humaine via WebSocket
(approve/skip/abort) avant chaque action
- Léa UI (agent_v0/lea_ui/) : interface PyQt5 pour Windows avec overlay transparent
pour feedback visuel pendant le replay
- Data Extraction (core/extraction/) : moteur d'extraction visuelle de données
(OCR + VLM → SQLite), avec schémas YAML et export CSV/Excel
- ReplayVerifier (agent_v0/server_v1/) : vérification post-action par comparaison
de screenshots, avec logique de retry (max 3)
- IntentParser durci : meilleur fallback regex, type GREETING, patterns améliorés
- Dashboard : nouvelles pages gestures, streaming, extractions
- Tests : 63 tests GestureCatalog, 47 tests extraction, corrections tests existants
- Dépréciation : /api/agent/plan et /api/agent/execute retournent HTTP 410,
suppression du code hardcodé _plan_to_replay_actions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Suppression de 472 fichiers temporaires, scripts de test one-shot,
fichiers de status/progress, et documentation auto-générée qui
n'auraient jamais dû être commités.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
docTR est plus performant et mieux maintenu. Crée un service OCR
partagé (singleton paresseux) utilisé par verify_text_content et
extraire_tableau, avec les mêmes signatures et fallbacks.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Supprimer le bloc debug qui écrivait dans /tmp/vwb_debug.log
- Corriger l'import UIElement (core.models.ui_element au lieu de
screen_state) — supprime le warning au démarrage
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Nouveaux composants:
- AIModelSelector: sélection du modèle Ollama avec détection auto
- WorkflowValidation: validation des étapes avant exécution
- ollamaService: service de communication avec Ollama (liste modèles)
Améliorations:
- PropertiesPanel: intégration sélecteur IA, champs prompt/température
- VariableManager: support variables runtime et substitution {{var}}
- ConfidenceDashboard: refactoring et simplification
- App.tsx: routing et intégration des nouveaux composants
- api.ts: endpoints validate et export-training
- types.ts: types pour modèles IA et validation
- styles.css: styles pour les nouveaux composants
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Backend:
- analyser_avec_ia.py: centraliser URL Ollama via os.environ.get()
- action_contracts.py: assouplir le contrat ai_analyze_text (mode texte
sans ancre visuelle, accepter prompt ou analysis_prompt)
- intelligent_executor.py: supprimer le fallback coordonnées statiques
quand la vision échoue — renvoyer not_found pour self-healing
- workflow.py: ajouter endpoints validate et export-training
run.sh:
- Corriger les ports (3000 → 3002) et le venv (venv_v3 → .venv)
- Lancer run_v4.sh au lieu de l'ancien run.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1 — Code mort et duplication :
- Supprimer catalog_routes.py (-1832 lignes, doublon de v2_vlm)
- Mettre à jour app.py et app_lightweight.py vers catalog_routes_v2_vlm
- Nettoyer 9 imports inutilisés dans catalog_routes_v2_vlm.py
- Supprimer get_required_params inutilisé dans execute.py
Phase 2 — Centraliser la configuration :
- Ollama URL via os.environ.get() dans verify_text_content.py et extraire_tableau.py
- MODEL_PATH relatif au projet + var env UI_DETR_MODEL_PATH dans ui_detection_service.py
Phase 3 — Thread-safety de l'exécution :
- Ajouter _execution_lock (RLock) pour protéger _execution_state
- Remplacer le polling self-healing par threading.Event
- Initialiser 'variables' dans le dict initial (plus de création dynamique)
- Corriger bare except → except Exception as db_err avec message
Phase 4 — Logging minimal :
- Ajouter logger dans execute.py, remplacer print() critiques par logger
- Configurer RotatingFileHandler (5MB, 3 backups) dans app.py
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
## Nouvelles fonctionnalités
### 1. SeeClick Adapter (visual grounding fallback)
- Nouvel adapter pour le modèle SeeClick (HuggingFace)
- Intégré dans la chaîne de fallback: CLIP → Template → SeeClick → Static
- Localise les éléments GUI à partir de descriptions textuelles
### 2. Self-Healing Interactif
- Dialogue qui propose des alternatives quand l'ancre n'est pas trouvée
- L'utilisateur peut choisir: candidat alternatif, coords statiques, ou sauter
- Nouveaux endpoints: /healing/status, /healing/choose, /healing/candidates
- État "waiting_for_choice" pour mettre l'exécution en pause
### 3. Dashboard Confiance (temps réel)
- Affiche les scores de confiance pendant l'exécution
- Montre: méthode utilisée, distance, taux de succès
- Interface pliable en bas à droite
- Visible uniquement en mode intelligent/debug
## Fichiers ajoutés
- core/detection/seeclick_adapter.py
- frontend_v4/src/components/SelfHealingDialog.tsx
- frontend_v4/src/components/ConfidenceDashboard.tsx
## Fichiers modifiés
- core/detection/__init__.py
- backend/services/intelligent_executor.py
- backend/api_v3/execute.py
- frontend_v4/src/App.tsx
- frontend_v4/src/services/api.ts
- docs/VISION_RPA_INTELLIGENT.md
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 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>
- 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>
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>
- 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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- 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>
- 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>
- 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>
- 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>
- 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>