Tema
Agentes
Un agente de ur es una conversación con memoria: mantiene el hilo con cada usuario, puede consultar tus documentos y ejecutar tools, y responde en streaming token a token.
Esta sección cubre las dos mitades del trabajo: configurarlo en el panel y integrarlo en tu producto.
Elegir la vía de integración
| Vía | Escribes UI | Streaming | Dónde corre | Guía |
|---|---|---|---|---|
| Widget | No | Sí | Navegador | Widget embebible |
| SDK | Sí, la tuya | Sí | Navegador | SDK — quickstart |
| HTTP | N/A | No | Tu backend | HTTP sin streaming |
En la práctica:
- Empieza por el widget. Es una etiqueta
<script>, coge los colores que hayas configurado en el panel y no tienes que mantener nada. Si encaja, has terminado. - Pasa al SDK cuando el widget no dé: necesitas tu propio diseño, integrarlo en una pantalla que ya existe, o controlar el ciclo de vida de la conversación.
@nykk/ur-agent-clientno renderiza nada — habla con el backend y te da los eventos. - Usa HTTP cuando quien pregunta no es un navegador: un proceso batch, un webhook de otro sistema, un bot de mensajería. Devuelve la respuesta completa de una vez.
El widget usa el SDK por debajo: son dos niveles de abstracción sobre el mismo canal, no dos canales distintos.
Lo que hay que configurar antes
- El agente: prompt, modelo, documentos y tools → Configurar el agente.
- El canal por el que vas a entrar (
widgetojs_sdk): habilitarlo y decidir desde qué dominios se acepta → Canales. - Opcionalmente, los límites y filtros de contenido → Seguridad y límites.
Antes de integrar, dos avisos
El canal público no tiene autenticación
/embed/* no lleva token de ningún tipo, a propósito: un <script> en el navegador no puede guardar un secreto. La identidad de conversación la genera el propio navegador, y la lista de orígenes permitidos no es autenticación — evita el copia-pega en un sitio ajeno, pero un cliente que no sea un navegador puede omitir o falsificar la cabecera Origin. El freno real al abuso es el rate limit por IP y los límites por agente.
El contexto de cliente no autoriza nada
Si vas a pasarle datos de tu aplicación al agente (contexto de cliente), sirven para decir qué mirar, nunca qué puede ver quien pregunta. Cualquiera puede falsificarlos con un curl.