Una tarea agent no lleva código tuyo. Nuestro bucle de agente maneja el navegador hacia un objetivo que escribes tú, con el modelo que elijas, llamado a través de OpenWAF Egress. Igual que un script, puede leer libremente y solo puede proponer escrituras.
Antes de empezar
- Acceso a OpenWAF Tasks y una clave de navegador. Mira pedir acceso.
- OpenWAF Egress activado, con una credencial del proveedor en el destino que vayas a usar, por ejemplo
openai. Mira destinos y claves. - Un
adminde toda la organización.
1. Crea la tarea
| Campo | Significado |
|---|---|
agent.goal | Qué hacer, hasta 4000 caracteres. Di qué leer, qué informar y qué proponer, si algo. |
agent.egress_target | El destino de Egress al que van las llamadas al modelo; debe tener credencial |
agent.model | El nombre del modelo en ese destino |
agent.max_steps | Llamadas a herramientas del agente por ejecución, de 1 a 50 (25 por defecto) |
allow | Dominios que puede visitar el navegador |
curl -sS -X POST "https://dash.openwaf.dev/v1/orgs/$ORG/tasks" \
-H "Authorization: Bearer $OPENWAF_TOKEN" -H "Content-Type: application/json" \
-H "X-Change-Reason: Weekly docs review" \
-d '{"name": "docs-review", "kind": "agent",
"schedule": {"cron": "0 8 * * 1", "timezone": "Europe/Madrid"},
"browser": {"key_id": "'$KEY_ID'", "profile": "", "recording": true},
"allow": ["example.com", "*.example.com"],
"agent": {"goal": "Open https://example.com/docs/ and its linked pages. Report broken links and pages that contradict each other as the output. Do not propose any action.",
"egress_target": "openai", "model": "gpt-4.1-mini", "max_steps": 30},
"max_run_minutes": 15}'OpenWAF crea un agente de Egress para la tarea, llamado task- y 8 dígitos hexadecimales (egress_agent en la tarea). Sus llamadas aparecen en los eventos de Egress como las de cualquier otro agente.
2. Qué puede hacer el agente
El agente ve la página como texto y capturas y usa estas herramientas: navegar, hacer clic, escribir, leer, hacer una captura, registrar, fijar la salida y propose_action. propose_action recibe los mismos summary, target y steps que task.approve de un script. Puede proponer hasta 5 acciones por ejecución.
El contenido de las páginas llega al modelo marcado como dato no fiable, y al modelo se le indica que nunca siga instrucciones de las páginas. Aunque lo hiciera, no puede escribir: mira inyección de prompts.
3. Ejecútala y revisa
Ejecútala ahora (POST /v1/orgs/{org}/tasks/{task}/run) y abre la ejecución: registros, capturas, output, model_calls, prompt_tokens y completion_tokens. Si propuso una acción, revísala en Tareas → Aprobaciones como en el inicio rápido del script.
Una ejecución se para cuando el agente termina, tras max_steps llamadas a herramientas o tras max_run_minutes, lo que llegue antes (timed_out en el último caso).