Tu agente maneja el navegador. OpenMasu (enlace externo) guarda lo que decide: qué buscó, los posts que encontró, la puntuación y el motivo de cada uno, sus borradores y lo que publicó. Cuando la organización enlaza su espacio de OpenMasu, la página de cada sesión del panel tiene dos mitades:
- Izquierda: la vista en directo del navegador, solo para mirar.
- Derecha: la base del agente, incrustada y en directo. Los administradores pueden editarla, por ejemplo para aprobar un borrador. El resto solo puede verla.
En pantallas estrechas, las dos mitades van una debajo de otra.
Enlazar OpenMasu
Necesitas el rol admin de toda la organización y un token personal de OpenMasu (bpat_…) limitado a un espacio. Para ver basta con lectura; para que los administradores editen la base, dale permiso de escritura.
- En el panel, abre Navegadores › Ajustes › OpenMasu.
- Deja el servidor
https://platform.openmasu.com, pega el token y pulsa Enlazar OpenMasu. Si el token llega a más de un espacio, escribe también el id del espacio. - Pulsa Crear base del agente. Crea en ese espacio la base «Agente de redes» desde la plantilla de OpenMasu. Sus tablas son Sesiones, Búsquedas, Candidatos, Puntuaciones, Borradores, Revisiones, Publicaciones, Eventos y Config. La base se crea en el idioma del panel: en inglés es «Social media agent», con Sessions, Searches, Candidates y demás. Tu agente entiende los dos. Para incrustar una base que ya tienes, escribe su id en Id de la base.
OpenWAF comprueba el token con OpenMasu antes de guardarlo. Después lo guarda cifrado. No se vuelve a mostrar, tampoco a los administradores: los ajustes y la API solo enseñan una huella de 8 caracteres. Enlazar, quitar el enlace y crear la base quedan en el registro de auditoría con esa huella.
La página de la sesión
Abre Navegadores › Sesiones y pulsa Abrir junto a una sesión en marcha, o su id.
- La vista en directo es el mismo enlace firmado de solo ver que Vista en directo. Caduca en 1 hora. Abrir en otra pestaña la enseña a tamaño completo.
- Tomar el control (solo administradores) pide confirmación y abre en otra pestaña la vista en directo con teclado y ratón, para terminar por el agente un inicio de sesión, un segundo factor o un captcha. El enlace dura 10 minutos, queda en la auditoría y se queda en la página como Abrir el control hasta que caduca. Mira tomar el control.
- La base se carga con un enlace hecho para ti:
editorsi eres administrador yviewersi no. El enlace dura 15 minutos. Cuando caduca, OpenMasu avisa a la página y esta carga otro sin recargarse.
Seguridad
- El navegador nunca ve el token de integración. Nuestro servidor pide a OpenMasu un enlace de incrustación corto para cada persona y solo devuelve ese enlace. El token de incrustación va en el fragmento de la URL, así que no llega a los registros de los servidores ni a la cabecera
Referer. - Solo servidores conocidos. El panel solo incrusta
https://browsers.openwaf.devyhttps://platform.openmasu.com, y nuestro servidor solo habla con los servidores de OpenMasu que admite. Cualquier otro se rechaza al enlazarlo. - Marcos aislados. Los dos marcos van con
sandboxy sin referrer. La página solo acepta el aviso de caducidad desde el origen de OpenMasu enlazado y desde ese marco. - Quitar el enlace borra el token en nuestro lado. La base y el token siguen en OpenMasu: revoca el token allí para cortar el acceso.
API
Todas las rutas van bajo https://dash.openwaf.dev/v1/orgs/{org}. Enlazar, quitar el enlace y crear la base piden admin; leer el enlace y pedir un enlace de incrustación, cualquier rol de toda la organización.
| Ruta | Qué hace |
|---|---|
GET /browsers/openmasu | El enlace: linked, server_url, workspace_id, base_id y, para administradores, token_fingerprint, updated_by y updated_at. Nunca el token. |
PUT /browsers/openmasu | Enlazar o cambiar: {"server_url", "token", "workspace_id"?, "base_id"?}. token es obligatorio la primera vez y al cambiar de servidor. Sin él se mantiene el guardado. base_id: "" quita la base. |
DELETE /browsers/openmasu | Quitar el enlace y borrar el token (204) |
POST /browsers/openmasu/base | Crear la base del agente desde la plantilla (201); cuerpo {"lang": "es"} o "en", inglés si no se indica |
POST /browsers/openmasu/embed | Un enlace de incrustación: {"url", "expires_at", "role", "base_id", "origin"}. Cuerpo opcional {"view_id", "ttl_s"} (de 60 a 900 s, 900 por defecto). Cache-Control: no-store. |
printf '%s' "$OPENMASU_TOKEN" | jq -Rs '{server_url: "https://platform.openmasu.com", token: .}' |
curl -sS -X PUT "https://dash.openwaf.dev/v1/orgs/$OPENWAF_ORG/browsers/openmasu" \
-H "Authorization: Bearer $OPENWAF_TOKEN" -H "X-Change-Reason: enlazar la base del agente" \
-H "Content-Type: application/json" --data-binary @-| Estado | code | Cuándo |
|---|---|---|
| 409 | openmasu_not_linked | La organización no ha enlazado OpenMasu |
| 409 | openmasu_no_base | Enlazado, pero aún sin base |
| 409 | openmasu_base_exists | La base ya se creó |
| 422 | invalid | Servidor no admitido, token rechazado por OpenMasu, o espacio o base fuera del alcance del token; field dice cuál |
| 502 | openmasu_error | OpenMasu no respondió, o rechazó el token guardado (revocado o caducado): enlaza otra vez con uno nuevo |
| 503 | unavailable | Ahora mismo el servicio no puede guardar tokens |
CLI
El token se lee de la entrada estándar, nunca de un argumento:
printf '%s' "$OPENMASU_TOKEN" | openwaf-cloud ctl browsers openmasu link \
--server https://platform.openmasu.com --token-stdin --reason "enlazar la base del agente" --yes
openwaf-cloud ctl browsers openmasu create-base --lang es --reason "base del agente" --yes
openwaf-cloud ctl browsers openmasu status
openwaf-cloud ctl browsers openmasu unlink --reason "…" --yesNo hay herramientas MCP para el enlace: el token es un secreto, como las credenciales de proveedor de Egress.