Diwall

Español
Descargar 1.24.4

Guía rápida

Cada comando, acción y código de salida en una sola página — la guía rápida del repositorio, copiada tal cual.

Versión 1.24.4 — Septiembre de 2026

Todo en una página. Referencia completa: docs/MANUEL.md.


Tres comandos

# Ver una página: PNG + elementos numerados + árbol de accesibilidad.
/opt/diwall/venv/bin/python3 /opt/diwall/shot.py --url URL --som --a11y

# Leer sin captura (~2 segundos más rápido, sin archivos PNG).
/opt/diwall/venv/bin/python3 /opt/diwall/shot.py --url URL --mode fast

# Ejecutar un escenario.
/opt/diwall/venv/bin/python3 /opt/diwall/rpa.py --scenario FILE.json

¿Instalado desde el .deb? Use diwall-shot y diwall-rpa en lugar de las rutas completas. La primera llamada en una máquina necesita --guide-version X.Y, que se lee con grep notice-version /opt/diwall/docs/GUIDE_LLM.md.


El bucle

        you decide what to do next
                  │
                  ▼
   ┌──────────────────────────────┐
   │  shot.py / rpa.py            │   one process, one JSON on stdout
   │    ├─ Chromium (headless)    │
   │    ├─ SoM: numbers elements  │
   │    ├─ A11y: page structure   │
   │    └─ secrets: fills credentials│   never in the shell, never in a log
   └──────────────┬───────────────┘
                  │  PNG + JSON
                  ▼
        you read the same state
        the operator can see too

El estado de la sesión se guarda en un archivo, no en el proceso: una segunda llamada con --reprendre-session reutiliza las cookies; nunca el estado del DOM.


Leer la salida en este orden

LeerQué indica
successi la ejecución llegó a término
boussole.url_courantedónde se terminó realmente
boussole.dernier_code_httpcódigo de la última navegación
etat.pret_a_agir + etat.raisonsfricciones percibidas — un informe, nunca una barrera
capture_som / elements_somqué pulsar, y con qué número
respectla propia huella: páginas, acciones, duración

Si boussole no coincide con lo esperado, deténgase antes de cualquier acción que modifique algo.


Cada acción

type siempre es obligatorio. Las claves siguientes son las adicionales.

AcciónRequeridoOpcional
naviguerurl—
cliquerselecteurforce, repli_js
cliquer_somid—
cliquer_visueldescription—
cliquer_iframeiframe_selecteur | iframe_chemin, selecteurforce
remplirselecteur, valeursecret_cle
remplir_somid, valeursecret_cle
remplir_iframeiframe_selecteur | iframe_chemin, selecteur, valeursecret_cle
capturernomsom
evaluerscriptattendu | contient | motif
defilerpx | selecteur—
pausemsinterval_capture
attendreselecteurinterval_capture
attendre_selecteur_presentselecteur—
attendre_absenceselecteurdelai_initial_ms
attendre_navigation——
attendre_urlmotifattendre_changement
attendre_reseau_calme—timeout_ms
attendre_mfa_ntfyid_somtimeout
nettoyer_overlayselecteur—
declencher_scenarioscenario—

Credenciales: la única forma correcta

{"type": "remplir_som", "id": 3, "valeur": "depuis_secrets", "secret_cle": "password"}

Nunca extraiga un secreto al shell. lib/repertoire_chiffre.py lo resuelve dentro del proceso de Playwright; el valor nunca llega a su línea de órdenes, a su historial ni a ningún registro. depuis_secrets_totp hace lo mismo con un código TOTP.


Cuando algo se resiste

SíntomaIntente
El tiempo de espera se agota al hacer clic, el elemento está visualmente oculto"force": true, luego "repli_js": true
El elemento no está numerado por SoM--shadow-dom (habilitar Shadow Roots)
Elemento que está fuera de la pantalla visibledefiler primero; verifique boussole.som_hors_viewport
La página nunca termina de cargar--wait-until load
El botón “Enviar” no hace nada, sin errorvalidación HTML nativa; envíe el formulario a través de evaluer
exit 42directorio cifrado no montado: diwall-monter-secrets
exit 43no hay diwall.conf — copie la muestra que está al lado
guide_non_lupase --guide-version una vez
403 / 429lea respect.waf_bloquants — es una señal, no una excepción

Códigos de salida

0 éxito · 1 error de Playwright o aserción fallida · 2 viewport no coincidente (watch.py) · 3 intérprete incorrecto, use el venv · 42 directorio cifrado cerrado o suma de control incorrecta · 43 falta diwall.conf.