Pipeline replay visuel : - VLM-first : l'agent appelle Ollama directement pour trouver les éléments - Template matching en fallback (seuil strict 0.90) - Stop immédiat si élément non trouvé (pas de clic blind) - Replay depuis session brute (/replay-session) sans attendre le VLM - Vérification post-action (screenshot hash avant/après) - Gestion des popups (Enter/Escape/Tab+Enter) Worker VLM séparé : - run_worker.py : process distinct du serveur HTTP - Communication par fichiers (_worker_queue.txt + _replay_active.lock) - Le serveur HTTP ne fait plus jamais de VLM → toujours réactif - Service systemd rpa-worker.service Capture clavier : - raw_keys (vk + press/release) pour replay exact indépendant du layout - Fix AZERTY : ToUnicodeEx + AltGr detection - Enter capturé comme \n, Tab comme \t - Filtrage modificateurs seuls (Ctrl/Alt/Shift parasites) - Fusion text_input consécutifs, dédup key_combo Sécurité & Internet : - HTTPS Let's Encrypt (lea.labs + vwb.labs.laurinebazin.design) - Token API fixe dans .env.local - HTTP Basic Auth sur VWB - Security headers (HSTS, CSP, nosniff) - CORS domaines publics, plus de wildcard Infrastructure : - DPI awareness (SetProcessDpiAwareness) Python + Rust - Métadonnées système (dpi_scale, window_bounds, monitors, os_theme) - Template matching multi-scale [0.5, 2.0] - Résolution dynamique (plus de hardcode 1920x1080) - VLM prefill fix (47x speedup, 3.5s au lieu de 180s) Modules : - core/auth/ : credential vault (Fernet AES), TOTP (RFC 6238), auth handler - core/federation/ : LearningPack export/import anonymisé, FAISS global - deploy/ : package Léa (config.txt, Lea.bat, install.bat, LISEZMOI.txt) UX : - Filtrage OS (VWB + Chat montrent que les workflows de l'OS courant) - Bibliothèque persistante (cache local + SQLite) - Clustering hybride (titre fenêtre + DBSCAN) - EdgeConstraints + PostConditions peuplés - GraphBuilder compound actions (toutes les frappes) Agent Rust : - Token Bearer auth (network.rs) - sysinfo.rs (DPI, résolution, window bounds via Win32 API) - config.txt lu automatiquement - Support Chrome/Brave/Firefox (pas que Edge) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Documentation RPA Vision V3
📚 Organisation
reference/ - Documents de Référence Architecture
Documents techniques décrivant l'architecture complète du système :
ARCHITECTURE_VISION_COMPLETE.md- Architecture complète en 5 couches (ESSENTIEL)ARCHITECTURE_ENRICHISSEMENTS.md- 8 enrichissements production-readyARCHITECTURE_INDEX.md- Index de navigationENRICHISSEMENTS_RESUME.md- Résumé des enrichissementsSTART_HERE.md- Point de départ pour comprendre l'architectureQUICK_SUMMARY.txt- Résumé rapideSESSION_COMPLETE_22_NOV.md- Session de travail complèteRESUME_CREATION_DOCS.md- Historique de créationCHANGELOG_MVP.md- Changelog du MVP
specs/ - Spécification d'Implémentation
Spécification complète pour l'implémentation :
requirements.md- 15 requirements avec 89 critères d'acceptationdesign.md- Design détaillé avec 20 correctness propertiestasks.md- Plan d'implémentation en 13 phases avec 60+ tâches
Autres Documents
ROADMAP_RPA_100_VISION.md- Vision et roadmap du projet
🎯 Par Où Commencer ?
Pour Comprendre l'Architecture
- Lire :
reference/START_HERE.md - Approfondir :
reference/ARCHITECTURE_VISION_COMPLETE.md - Enrichissements :
reference/ARCHITECTURE_ENRICHISSEMENTS.md
Pour Implémenter
- Requirements :
specs/requirements.md - Design :
specs/design.md - Tasks :
specs/tasks.md
Pour la Vision Globale
- Roadmap :
ROADMAP_RPA_100_VISION.md
🏗️ Architecture en 5 Couches
Couche 0: RawSession
↓
Couche 1: ScreenState (4 niveaux)
↓
Couche 2: UIElement Detection
↓
Couche 3: State Embedding
↓
Couche 4: Workflow Graph
📖 Concepts Clés
RPA 100% Vision
- Pas de coordonnées (x, y) fixes
- Rôles sémantiques (primary_action, form_input, etc.)
- Matching par similarité visuelle et textuelle
- Robuste aux changements d'UI
Workflow Graph
- WorkflowNode : Template d'état d'écran
- WorkflowEdge : Transition (action) entre nodes
- Learning States : OBSERVATION → COACHING → AUTO_CANDIDATE → AUTO_CONFIRMÉ
State Embedding
Fusion multi-modale :
- 50% Image (screenshot complet)
- 30% Texte (texte détecté)
- 10% Titre (fenêtre)
- 10% UI (éléments détectés)
🔗 Liens Utiles
- Code source :
../core/ - Tests :
../tests/ - Données :
../data/ - README principal :
../README.md