Inicio rápidoBeta

Ver en Markdown

Crea una clave de navegador, arranca un Chrome en browsers.openwaf.dev y manéjalo con curl, Playwright, Puppeteer o el servidor MCP de Playwright.

En esta página

Esta guía crea una clave de navegador, arranca un navegador, lo maneja desde tu código y lo para. Son unos cinco minutos.

Antes de empezar

  • Acceso. OpenWAF Browsers tiene que estar activado para tu organización. Mientras no lo esté, las escrituras responden 403 feature_disabled. Mira pedir acceso.
  • Un admin de toda la organización para crear claves. Para ver el uso y las sesiones basta readonly.
  • Node.js 18 o posterior para los ejemplos de Playwright, Puppeteer y MCP.

1. Crea una clave

Una clave de navegador (bdk_…) autentica a tu agente en https://browsers.openwaf.dev. Una organización tiene hasta 5 claves. Cada clave corre hasta 2 navegadores a la vez. El secreto se enseña una sola vez; después el panel y la API solo muestran su prefijo (bdk_ y 4 caracteres).

  1. Abre Navegadores en el menú de la organización y después la pestaña Claves.
  2. Elige Crear clave y ponle un nombre, por ejemplo ci-agent (minúsculas, dígitos y guiones).
  3. Copia el secreto ahora. No lo volverás a ver.

Guarda el secreto donde tu agente lee sus secretos. Los ejemplos de abajo lo leen de OPENWAF_BROWSERS_KEY:

read -rs OPENWAF_BROWSERS_KEY && export OPENWAF_BROWSERS_KEY   # pega bdk_…

2. Arranca un navegador

curl -sS -X POST https://browsers.openwaf.dev/v1/browsers \
  -H "X-API-Key: $OPENWAF_BROWSERS_KEY" -H "Content-Type: application/json" \
  -d '{"metadata": {"task": "quickstart"}}'

Todos los campos del cuerpo son opcionales. La respuesta:

{"id": "bs_…", "status": "running",
 "cdpUrl": "wss://browsers.openwaf.dev/cdp/…", "cdpHttpUrl": "https://browsers.openwaf.dev/…",
 "liveUrl": "https://browsers.openwaf.dev/…", "urlsExpireAt": "2026-10-29T11:00:00Z", …}

Abre liveUrl en tu navegador para mirar. cdpUrl y liveUrl llevan un token válido 1 hora; GET /v1/browsers/{id} devuelve otros nuevos.

Si todos los huecos de la beta están ocupados recibes 429 con {"code": "capacity_busy"} y Retry-After: 30. Si esta clave ya tiene 2 navegadores en marcha recibes 429 con {"code": "key_concurrency"}. Mira errores.

3. Manéjalo

agent.mjs
import { chromium } from "playwright";

const api = "https://browsers.openwaf.dev/v1/browsers";
const headers = { "X-API-Key": process.env.OPENWAF_BROWSERS_KEY, "Content-Type": "application/json" };

const b = await (await fetch(api, { method: "POST", headers, body: "{}" })).json();
const browser = await chromium.connectOverCDP(b.cdpUrl);
const page = await browser.contexts()[0].newPage();
await page.goto("https://example.com");
console.log(await page.title());
await browser.close(); // desconecta; el navegador sigue en marcha hasta que se para o queda inactivo

await fetch(`${api}/${b.id}`, { method: "PATCH", headers, body: JSON.stringify({ action: "stop" }) });

4. Para el navegador

Cerrar la conexión CDP no para el navegador: sigue sumando tiempo hasta que pasa 120 segundos sin ningún cliente CDP ni de vista en directo. Páralo cuando acabe la tarea:

curl -sS -X PATCH "https://browsers.openwaf.dev/v1/browsers/$ID" \
  -H "X-API-Key: $OPENWAF_BROWSERS_KEY" -H "Content-Type: application/json" \
  -d '{"action": "stop"}'

Después consulta lo que ha dejado: la grabación (si la pediste) y las descargas, con enlaces que caducan.

curl -sS "https://browsers.openwaf.dev/v1/browsers/$ID/files" -H "X-API-Key: $OPENWAF_BROWSERS_KEY"

Un miembro con rol tech o superior también puede parar cualquier navegador en marcha de la organización: Navegadores → Sesiones → Parar, openwaf-cloud ctl browsers sessions stop ID --reason "…" o la herramienta MCP browser_sessions_stop.

Siguientes pasos

Última actualización:

↑↓ para moverte↵ para abriresc para cerrar