Files
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

128 lines
4.0 KiB
Batchfile

@echo off
chcp 65001 >nul 2>&1
title Lea - Installation
echo.
echo ============================================================
echo Lea - Installation
echo ============================================================
echo.
echo Cette installation prend 2-3 minutes.
echo Ne fermez pas cette fenetre.
echo.
echo ============================================================
echo.
:: ---------------------------------------------------------------
:: 0. Verifier que Python est installe
:: ---------------------------------------------------------------
echo [1/5] Verification de Python...
python --version >nul 2>&1
if errorlevel 1 (
echo.
echo ERREUR : Python n'est pas installe sur cet ordinateur.
echo.
echo Pour installer Python :
echo 1. Allez sur https://python.org
echo 2. Cliquez "Download Python 3.12"
echo 3. IMPORTANT : cochez "Add Python to PATH" pendant l'installation
echo 4. Relancez install.bat apres l'installation de Python
echo.
pause
exit /b 1
)
:: Afficher la version Python detectee
for /f "tokens=*" %%v in ('python --version 2^>^&1') do echo %%v detecte - OK
echo.
:: ---------------------------------------------------------------
:: 1. Creer l'environnement virtuel
:: ---------------------------------------------------------------
if not exist ".venv" (
echo [2/5] Creation de l'environnement isole...
python -m venv .venv
if errorlevel 1 (
echo ERREUR : Impossible de creer l'environnement virtuel.
echo Verifiez que Python est correctement installe.
pause
exit /b 1
)
echo Environnement cree - OK
) else (
echo [2/5] Environnement existant detecte - OK
)
echo.
:: ---------------------------------------------------------------
:: 2. Activer l'environnement
:: ---------------------------------------------------------------
echo [3/5] Activation de l'environnement...
call .venv\Scripts\activate.bat
echo Active - OK
echo.
:: ---------------------------------------------------------------
:: 3. Installer les dependances
:: ---------------------------------------------------------------
echo [4/5] Installation des composants (cela peut prendre 1-2 min)...
python -m pip install --upgrade pip --quiet 2>nul
pip install -r requirements_agent.txt --quiet 2>nul
if errorlevel 1 (
echo.
echo ATTENTION : Certains composants n'ont pas pu etre installes.
echo Nouvelle tentative avec affichage des details...
echo.
pip install -r requirements_agent.txt
if errorlevel 1 (
echo.
echo ERREUR : L'installation a echoue.
echo Verifiez votre connexion internet et reessayez.
pause
exit /b 1
)
)
echo Composants installes - OK
echo.
:: ---------------------------------------------------------------
:: 4. Post-installation Windows (pywin32)
:: ---------------------------------------------------------------
echo [5/5] Configuration Windows...
python -c "import win32api" >nul 2>&1
if errorlevel 1 (
python .venv\Scripts\pywin32_postinstall.py -install >nul 2>&1
)
echo Configuration terminee - OK
echo.
:: ---------------------------------------------------------------
:: 5. Verification finale
:: ---------------------------------------------------------------
echo ============================================================
echo Verification finale...
echo ============================================================
echo.
python -c "import mss; import pynput; import pystray; import plyer; import requests; import PIL; print(' Tous les composants sont OK !')"
if errorlevel 1 (
echo.
echo ATTENTION : Certains composants manquent.
echo Essayez de relancer install.bat.
echo Si le probleme persiste, contactez votre administrateur.
pause
exit /b 1
)
echo.
echo ============================================================
echo.
echo Installation terminee !
echo.
echo Pour lancer Lea, double-cliquez sur "Lea.bat"
echo.
echo ============================================================
echo.
pause