Dom
4f61741420
feat: journée 17 avril — tests E2E validés, dashboard fleet+audit, VWB bridge, cleaner C2
...
security-audit / Bandit (scan statique) (push) Successful in 14s
security-audit / pip-audit (CVE dépendances) (push) Successful in 10s
security-audit / Scan secrets (grep) (push) Successful in 8s
tests / Lint (ruff + black) (push) Successful in 13s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped
Pipeline E2E complet validé :
Capture VM → streaming → serveur → cleaner → replay → audit trail
Mode apprentissage supervisé fonctionne (Léa échoue → humain → reprise)
Dashboard :
- Cleanup 14→10 onglets (RCE supprimée)
- Fleet : enregistrer/révoquer agents, tokens, ZIP pré-configuré téléchargeable
- Audit trail MVP (/audit) : filtres, tableau, export CSV, conformité AI Act/RGPD
- Formulaire Fleet simplifié (nom + email, machine_id auto)
VWB bridge Léa→VWB :
- Compound décomposés en N steps (saisie + raccourci visibles)
- Layout serpentin 3 colonnes (plus colonne verticale)
- Badge OS 🪟 /🐧 , filtre OS retiré (admin Linux voit Windows)
- Fix import SQLite readonly
Cleaner intelligent :
- Descriptions lisibles (UIA/C2) + détection doublons
- Logique C2 : UIElement identifié = jamais parasite
- Patterns parasites resserrés
- Message Léa : "Je n'y arrive pas, montrez-moi comment faire"
Config agent (INC-1 à INC-7) :
- SERVER_URL + SERVER_BASE unifiés
- RPA_OLLAMA_HOST séparé
- allow_redirects=False sur POST
- Middleware réécriture URL serveur
CI Gitea : fix token + Flask-SocketIO + ruff propre
Fleet endpoints : /agents/enroll|uninstall|fleet + agent_registry SQLite
Backup : script quotidien workflows.db + audit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-17 17:46:40 +02:00
Dom
6937b94f2a
fix: 3 corrections — crop 80px, email AZERTY (@), icônes anchor match
...
1. Crop réduit de 150x150 à 80x80 (config + fallback serveur)
Plus discriminant pour les icônes de barre de titre
2. Email AZERTY : supprimer raw_keys quand le texte contient des
chars fusionnés depuis key_combos (@ de AltGr) → copier-coller
Le @ était perdu car absent des raw_keys individuels
3. Anchor match : template matching sur screenshot entier puis
élément SomEngine le plus proche (max 100px)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-31 16:21:02 +02:00
Dom
d5deac3029
feat: replay visuel VLM-first, worker séparé, package Léa, AZERTY, sécurité HTTPS
...
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 >
2026-03-26 10:19:18 +01:00
Dom
fe5e0ba83d
feat: sécurité HIGH — token Bearer, validation, rate limiting, headers
...
- Token Bearer auth sur le streaming server (auto-généré ou env var)
- Validation actions replay (types, longueurs, coordonnées 0-1)
- Rate limiting in-memory (10 replays/min, 200 images/min)
- Security headers Flask (nosniff, SAMEORIGIN, XSS)
- Validation uploads (50MB max, MIME type)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-19 00:29:54 +01:00
Dom
f340eab628
feat: conformité AI Act — divulgation IA, consentement, rétention, arrêt urgence
...
- Léa se présente comme "assistante basée sur l'intelligence artificielle"
- Dialog consentement avant enregistrement (capture écran/clavier)
- Rétention logs 180 jours (Article 12 + 26(6))
- Bouton ARRÊT D'URGENCE toujours visible (Article 14)
- Transparence mode autonome explicite (Article 50)
- Rapport conformité AI Act en français (docs/CONFORMITE_AI_ACT.md)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 16:57:43 +01:00
Dom
353c2a347e
feat: floutage auto champs sensibles + fix routing actions fichiers
...
Floutage (conformité AI Act) :
- Détection OpenCV des champs de saisie (rectangles clairs avec texte)
- Flou gaussien avant stockage/envoi
- Activé par défaut (RPA_BLUR_SENSITIVE=true)
- <200ms par screenshot, 12 tests
Fix actions fichiers VWB :
- Pas de wait 5s pour les actions fichiers (inutile)
- Routing direct vers agent port 5006
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 16:24:01 +01:00
Dom
ae65be2555
chore: ajouter agent_v0/ au tracking git (était un repo embarqué)
...
Suppression du .git embarqué dans agent_v0/ — le code est maintenant
tracké normalement dans le repo principal.
Inclut : agent_v1 (client), server_v1 (streaming), lea_ui (chat client)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-18 11:12:23 +01:00