HTML y JavaScript
Instala, configura, verifica y elimina el agente flotante con un único script público.
Instala, configura, verifica y elimina el agente flotante con un único script público.
Prepara el sitio#
En la página Agente de tu agente, abre Publícalo → Widget para sitio web, activa Mostrarlo en mi sitio web y añade el origen final de la página anfitriona en Direcciones de sitio web permitidas. Añade desarrollo y producción por separado; http://localhost:3000, https://example.com y https://www.example.com no coinciden entre sí.
Instala el script#
Pega el cargador justo antes de la etiqueta de cierre </body> en cada página que deba mostrar el lanzador. Sustituye únicamente el slug público del sitio y los valores opcionales de presentación.
<script
src="https://makeagent.fast/embed.js?v=20261022-open"
data-agent="YOUR_SITE_SLUG"
data-position="right"
async
></script>data-agent es obligatorio. El slug es público; en esta etiqueta no debe ir ninguna clave de API. Conserva el parámetro ?v= del fragmento del panel. Los atributos opcionales data-label, data-accent (#RGB / #RRGGBB), data-locale (en | ko | uz | ru) y data-theme (light | dark) están documentados en Resumen del embed. Omítelos para heredar los ajustes guardados en Apariencia y el comportamiento automático del tema.
Elige entre colocación en todo el sitio o en páginas específicas#
Si usas una plantilla compartida del lado del servidor, coloca el script en el diseño o pie de página global. Para páginas concretas, inclúyelo solo en esas plantillas. Carga el mismo slug una sola vez por documento; las etiquetas duplicadas con el mismo slug se ignoran, pero eliminarlas hace que la propiedad y el desmontaje sean más predecibles.
No pegues el fragmento en un sanitizador de HTML ni en un campo de texto enriquecido que elimine <script>. Comprueba que el código fuente de la página renderizada o el panel Elements sigan conteniendo la etiqueta.
Elimina o vuelve a montar en una SPA#
Eliminar el script después de que se ejecute no elimina el lanzador que ya creó. Una aplicación cliente específica de una ruta debe eliminar tanto el script como la raíz propia del slug antes de volver a montarlo:
const slug = "YOUR_SITE_SLUG";
document.getElementById("maf-agent")?.remove();
document.getElementById(`maf-embed-root-${slug}`)?.remove();Es preferible mantener una única raíz global montada durante la navegación del lado del cliente para que la conversación activa no se pierda. Si eliminas la raíz, añade un nuevo script embed.js para crearla de nuevo.
Verifica en el navegador#
- Abre la página desplegada en una ventana privada.
- Confirma que
embed.jsdevuelve200y que no lo bloquean la CSP ni el consentimiento. - Confirma que existe una sola raíz
[data-maf-embed="YOUR_SITE_SLUG"]. - Abre el lanzador y confirma que el iframe
/embed/YOUR_SITE_SLUGse carga. - Envía una pregunta y confirma la conversación en Conversaciones.
- Prueba el ancho móvil y el permiso del micrófono cuando la voz esté activada.
Solución de problemas#
| Síntoma | Solución |
|---|---|
La consola advierte de que falta data-agent | Coloca el atributo en la etiqueta exacta de embed.js |
| El script existe, pero el lanzador no aparece | Revisa el interruptor del embed, el origen exacto, la CSP y el estado del consentimiento |
| Funciona solo en un nombre de host | Añade cada esquema/host/puerto real a la lista de permitidos |
| El estilo no es el esperado | Revisa data-accent, data-theme y la apariencia del sitio guardada |
| La voz falla dentro del iframe | Permite el micrófono en el navegador y en la Permissions Policy del sitio anfitrión |
Nunca uses un proxy ni copies el cargador en una bifurcación local sin revisar; usa el script alojado para que la validación de origen y las correcciones se mantengan al día.