7cc03f6f1079ed6e9e15fae803a5283f098b70f2
Rectification de la branche C introduite dansa21f1ea9f. ## Ce qui était fauxa21f1ea9ffaisait : strict + no_screen_change → retry × 3 → status=error → queue vidée C'est le réflexe d'un RPA classique qui se casse la figure quand ça rate. Ce n'est PAS la philosophie Léa. Dom m'a rappelé que j'avais oublié ma propre vision documentée dans project_lea_apprentissage_plan.md et feedback_not_a_click_box.md : *"Quand elle dit qu'elle n'a pas trouvé X, elle demande montre-moi. C'est à ce moment qu'il faudrait passer en mode apprentissage."* ## Ce qui est correct maintenant strict + no_screen_change → status = "paused_need_help" → failed_action stocké (target, screenshot, method, score, reason) → pause_message demandant l'intervention humaine → queue intacte (l'action reste en tête, prête à être relancée) → log_replay_failure pour l'apprentissage futur → l'agent reçoit replay_paused=True dans /replay/next et s'arrête → l'humain corrige physiquement sur la machine cible → le replay reprend via /replay/{replay_id}/resume Redirection vers le mécanisme paused_need_help qui existe déjà pour le cas target_not_found. Zéro nouveau code de pause, juste une 2ème entrée dans ce mécanisme. Le comportement legacy (success_strict=False) reste inchangé : on log un warning et on continue, comportement tolérant pour les actions non-critiques. ## Lesson apprises 1. Toujours relire les fichiers mémoire pertinents AVANT d'implémenter une branche de gestion d'erreur (nouvelle règle dans feedback_reread_before_code.md) 2. Un échec Léa n'est jamais un "stop avec error" — c'est un moment pédagogique (nouvelle règle dans feedback_failure_is_learning.md) 3. Ne pas s'auto-presser quand Dom n'a jamais demandé d'aller vite ## Tests - 56 tests E2E + Phase0 passent, 0 régression - Comportement vérifié par inspection du code : pause_message formé correctement, queue préservée, log_replay_failure appelé Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
RPA Vision V3 - 100% Vision-Based Workflow Automation
📊 Status
🚀 PRODUCTION-READY - Phase 12 Complete (77% System Completion) ✅
Latest Update: 14 Décembre 2024
- ✅ 10/13 Phases Complétées - Système mature et fonctionnel
- ✅ Performance Exceptionnelle - 500-6250x plus rapide que requis
- ✅ Architecture Entreprise - 148k+ lignes, 19 modules, 6 specs complètes
- ✅ Innovations Techniques - Self-healing, Multi-modal, GPU management
- 📊 Audit Complet - Rapport détaillé
Quick Test: bash test_clip.sh
🎯 Vision
RPA basé sur la compréhension sémantique des interfaces, pas sur des coordonnées de clics.
Le système apprend des workflows en observant l'utilisateur et les automatise de manière robuste grâce à une architecture en 5 couches.
🏗️ Architecture en 5 Couches
RawSession (Couche 0)
↓
ScreenState (Couche 1) - 4 niveaux d'abstraction
↓
UIElement Detection (Couche 2) - Types + Rôles sémantiques
↓
State Embedding (Couche 3) - Fusion multi-modale
↓
Workflow Graph (Couche 4) - Nodes + Edges + Learning States
📁 Structure
rpa_vision_v3/
├── core/
│ ├── models/ # Couches 0-4 : Structures de données
│ ├── capture/ # Couche 0 : Capture événements + screenshots
│ ├── detection/ # Couche 2 : Détection UI sémantique
│ ├── embedding/ # Couche 3 : Fusion multi-modale + FAISS
│ ├── graph/ # Couche 4 : Construction + Matching + Exécution
│ └── persistence/ # Sauvegarde/Chargement
├── data/
│ ├── sessions/ # RawSessions
│ ├── screen_states/ # ScreenStates
│ ├── embeddings/ # Vecteurs .npy
│ ├── faiss_index/ # Index FAISS
│ └── workflows/ # Workflow Graphs
└── tests/ # Tests unitaires + intégration
🚀 Démarrage Rapide
Installation
# 1. Installer Ollama
curl -fsSL https://ollama.ai/install.sh | sh # Linux
# ou
brew install ollama # macOS
# 2. Démarrer Ollama
ollama serve
# 3. Télécharger le modèle VLM
ollama pull qwen3-vl:8b
# 4. Installer dépendances Python
pip install -r requirements.txt
Test Rapide
# Diagnostic système
python3 rpa_vision_v3/examples/diagnostic_vlm.py
# Test de détection
./rpa_vision_v3/test_quick.sh
Utilisation - Détection UI
from rpa_vision_v3.core.detection import create_detector
# Créer le détecteur
detector = create_detector()
# Détecter les éléments UI
elements = detector.detect("screenshot.png")
# Utiliser les résultats
for elem in elements:
print(f"{elem.type:15s} | {elem.role:20s} | {elem.label}")
Utilisation - Workflow (Phase 4 - À venir)
from rpa_vision_v3.core.models import RawSession, ScreenState, Workflow
from rpa_vision_v3.core.graph import GraphBuilder, NodeMatcher
# 1. Capturer une session
session = RawSession(...)
# ... capturer événements et screenshots
# 2. Construire workflow automatiquement
builder = GraphBuilder(...)
workflow = builder.build_from_session(session)
# 3. Matcher état actuel
matcher = NodeMatcher(...)
current_state = ScreenState(...)
match = matcher.match(current_state, workflow)
# 4. Exécuter action
if match:
edge = workflow.get_outgoing_edges(match.node.node_id)[0]
executor.execute_edge(edge, current_state)
📚 Documentation
Guides Principaux
- Quick Start :
QUICK_START.md- Démarrage rapide - Prochaines Étapes :
NEXT_STEPS.md- Roadmap et Phase 4 - Phase 3 Complète :
PHASE3_COMPLETE.md- Résumé Phase 3
Documentation Technique
- Spec complète :
.kiro/specs/workflow-graph-implementation/ - Architecture :
docs/reference/ARCHITECTURE_VISION_COMPLETE.md - Détection Hybride :
HYBRID_DETECTION_SUMMARY.md - Intégration Ollama :
docs/OLLAMA_INTEGRATION.md
🎓 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
Apprentissage Progressif
OBSERVATION (5+ exécutions)
↓
COACHING (10+ assistances, succès >90%)
↓
AUTO_CANDIDATE (20+ exécutions, succès >95%)
↓
AUTO_CONFIRMÉ (validation utilisateur)
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)
🧪 Tests
# Tests unitaires
pytest tests/unit/
# Tests d'intégration
pytest tests/integration/
# Tests de performance
pytest tests/performance/ --benchmark-only
📈 Roadmap - 77% Complété (10/13 Phases)
✅ Phases Complétées
- Phase 1-2 : Fondations + Embeddings FAISS ✅
- Phase 4-6 : Détection UI + Workflow Graphs + Action Execution ✅
- Phase 7-8 : Learning System + Training System ✅
- Phase 10-12 : GPU Management + Performance + Monitoring ✅
🎯 Phases Restantes
- Phase 3 : Checkpoint Final (tests storage)
- Phase 9 : Visual Workflow Builder (90% → 100%)
- Phase 13 : Tests End-to-End + Documentation finale
🚀 Composants Production-Ready
- Agent V0 : Capture cross-platform + Encryption ✅
- Server API : Processing pipeline + Web dashboard ✅
- Analytics System : Monitoring + Insights + Reporting ✅
- Self-Healing : Automatic adaptation + Recovery ✅
🤝 Contribution
Voir .kiro/specs/workflow-graph-implementation/tasks.md pour les tâches en cours.
📄 Licence
Propriétaire - Tous droits réservés
Description
Languages
Python
82.6%
TypeScript
11.8%
HTML
2.7%
Shell
1.2%
CSS
1.1%
Other
0.4%