Notificaciones push
Las notificaciones push te avisan cuando un agente te necesita o ha terminado, mientras no tienes OAR abierto delante: una pregunta espera, un turn ha terminado, un plan está listo. Están desactivadas por defecto y se activan por separado en cada dispositivo.
Tu propio relay las envía a tus dispositivos a través del servicio push del fabricante de tu navegador, con la biblioteca estándar de web push y sus propias claves VAPID. No interviene ningún servidor de OAR. El relay crea las claves la primera vez que arranca y las guarda en su base de datos, así que sobreviven a los reinicios. El texto de una notificación es solo lo que permites en Lo que muestra una notificación: por defecto, una línea genérica sin ningún texto de la conversación.
Lo que necesitas #
- Una página segura. Abre OAR por HTTPS o en
localhost. En cualquier otra dirección el navegador no ofrece push, y los ajustes de notificaciones dicen «Push requires a secure context. Open the app over HTTPS (or localhost) to enable notifications on this device.» Consulta Instalar como app para la misma regla. - Un navegador con web push. Necesita service workers, la Push API y la Notification API. Si no, los ajustes dicen «This browser does not support Web Push notifications.» (o «...service workers, which push notifications require.»).
- Lo mismo en todos los sistemas. OAR comprueba estas funciones del navegador y nada más; no tiene ninguna regla aparte para iOS. Si el navegador de tu iPhone o iPad no las ofrece, los ajustes de notificaciones lo indican.
Activarlo #
Hazlo en cada dispositivo que deba recibir notificaciones. El ajuste se guarda por dispositivo, así que activarlo en el navegador de tu portátil no hace nada en tu teléfono.
- Abre Settings → Notifications (Ajustes → Notificaciones).
- Activa Enable push notifications on this device (Activar las notificaciones push en este dispositivo).
- Permite las notificaciones cuando el navegador lo pregunte. El aviso solo aparece después de que hagas clic en el interruptor, nunca al cargar la página.
- La línea de estado dice «Push notifications are enabled on this device. They are only sent while no device has the app open.» y los demás controles se desbloquean. (La regla exacta es que ningún dispositivo tenga OAR visible en primer plano; consulta Cuándo no se envía ninguna notificación.)
- Elige los eventos y lo que muestran las notificaciones (abajo).
No hay ningún botón de notificación de prueba. Para comprobar que funciona, deja OAR en segundo plano (o cierra su pestaña) y deja que termine un turn corto.
Al desactivar de nuevo el interruptor, el dispositivo se queda en la lista, marcado como disabled (desactivado), y se deja de enviarle notificaciones. Volver a activarlo es instantáneo.
La lista de dispositivos #
Al final de la pestaña, Devices (Dispositivos) enumera todos los dispositivos suscritos en este relay, con el cambio más reciente primero. Una fila muestra:
- el nombre del dispositivo, elegido a partir del navegador y del sistema (por
ejemplo
Android Chrome) o Unnamed device (Dispositivo sin nombre), con (this device) (este dispositivo) en el tuyo y disabled donde está desactivado; - Last delivery (Última entrega): cuándo le llegó la última notificación, o never (nunca), más el último error si el último intento falló.
Rename (Renombrar) pide un nombre nuevo (hasta 80 caracteres). Revoke (Revocar) pide confirmación, quita el dispositivo del relay y, en el dispositivo que estás usando, también quita su suscripción del navegador. Otro dispositivo que revoques desde aquí deja de recibir al instante, pero a su navegador no se le puede avisar desde aquí: el navegador conserva su propia suscripción hasta que la quites allí. En ese dispositivo, abre Settings → Notifications; el interruptor aparece desactivado. Actívalo de nuevo para recibir notificaciones, o quita el permiso de notificaciones del sitio en los ajustes de sitios de ese navegador para eliminar la suscripción definitivamente.
Los eventos #
Cada evento tiene su propio interruptor en Notify about (Notificar sobre). Los interruptores pertenecen al dispositivo, así que tu teléfono y tu portátil pueden ser distintos.
| Interruptor | Predeterminado | Título de la notificación | Se envía cuando |
|---|---|---|---|
| Questions from the agent (Preguntas del agente) | Activado | Copilot needs your input | Un agente te hace una pregunta y una tarjeta de pregunta espera una respuesta. |
| Turn completed (Turn completado) | Activado | Turn completed | Un turn termina (un mensaje integrado en un turn que ya está en curso no envía ninguna propia). Consulta Mientras corre un turn. |
| Turn failed (Turn fallido) | Activado | Turn failed | Un turn falla. Un turn que detuviste cuenta como fallido. |
| Boards (plan reviews) (Tableros, revisiones de plan) | Activado | Plan ready for review | Un agente publica un tablero del plan para revisar. |
| CLI went offline (La CLI se desconectó) | Desactivado | CLI offline | El relay pierde su conexión con el host de la CLI. |
| Host suspend fired or was dropped (Suspensión del host ejecutada o descartada) | Activado | Host suspend | Una suspensión del host en cola se ejecuta, o se descarta porque el relay se apaga o se reinicia. |
| Queued relay restart waited its maximum time (El reinicio del relay en cola esperó el tiempo máximo) Nuevo en 0.9.13 | Activado | Relay restart waiting | Un reinicio del relay en cola ha esperado su tiempo máximo y pregunta si reiniciar ahora, seguir esperando o cancelar. |
El título de las notificaciones de preguntas
Las notificaciones de preguntas se titulan «Copilot needs your input» con todos los proveedores, incluidos los agentes que no son Copilot.
Cuándo no se envía ninguna notificación #
- Mientras un dispositivo tiene OAR en primer plano. Si alguno de tus dispositivos muestra OAR en pantalla, no se envía nada a ningún dispositivo. Una página visible se lo comunica al relay cada 30 segundos, y el relay cuenta un dispositivo como activo durante 90 segundos después de su último aviso. Una página que se oculta lo comunica al instante. Si el relay no puede saberlo, no envía.
- Para un turn que inició otro agente. Cuando un agente de otro relay (o una sesión iniciada por un agente) envía un prompt a una sesión, ese turn no envía ni Turn completed ni Turn failed: el agente es quien espera y te informa él mismo. Consulta notas de agentes. Las preguntas te siguen llegando.
- Para un turn que responde a eventos del relay. Un turn iniciado por un evento del relay no envía ninguna de las dos, por el mismo motivo; un agente que vigila y responde a eventos envía sus propias notificaciones cuando algo importa. Las preguntas no cambian.
- Eventos que desactivaste en ese dispositivo, o un dispositivo desactivado.
Una notificación que no se puede entregar en el momento la guarda el servicio push hasta 12 horas.
Lo que muestra una notificación #
Tres ajustes, también por dispositivo, deciden cuánto de la conversación sale del relay.
| Ajuste | Predeterminado | Opciones |
|---|---|---|
| Include conversation title (Incluir el título de la conversación) | Desactivado | Si está activado, el título dice «Turn completed — título de la conversación», con el título entero cortado a 120 caracteres. |
| Message preview (Vista previa del mensaje) | None (generic text) | None (generic text) (Ninguna, texto genérico), Truncated (Truncado), Full text (Texto completo). |
| Preview length (characters) (Longitud de la vista previa, caracteres) | 80 | De 20 a 500. Solo se usa con Truncated, que añade «…» cuando corta. |
Con Message preview en None (generic text), el cuerpo es una línea fija:
| Evento | Cuerpo sin vista previa |
|---|---|
| Question | The agent asked a question. |
| Turn completed | The agent finished its turn. |
| Turn failed | The agent turn failed. |
| Plan ready | The agent posted a board for review. |
| CLI offline | The relay lost its connection to the CLI host. |
| Host suspend | The queued host suspend changed state. |
| Relay restart waiting | The queued relay restart has waited its maximum time. |
Con vista previa, el cuerpo es el texto de la pregunta, la respuesta (o el texto de error de un turn fallido) o el título del tablero del plan. Full text se corta a 2000 caracteres.
La notificación también lleva algunos identificadores que la app necesita para abrir la conversación correcta (la conversación, la pregunta, el tablero o el mensaje). Las opciones cortas de una pregunta viajan también con ella, sea cual sea el ajuste de vista previa, porque se convierten en los botones (consulta Responder desde la notificación).
Tres eventos ignoran el ajuste de vista previa. CLI went offline siempre muestra su línea fija. Host suspend fired or was dropped siempre muestra su propio mensaje («All agents finished; the host is suspending now.» o «Queued host suspend dropped: relay ...»). Queued relay restart waited its maximum time también muestra siempre su propio mensaje, como «The queued relay restart has waited 30 min for 2 sessions. Restart now, keep waiting or cancel it.».
Para más privacidad, deja desactivados el título y la vista previa: así no hay nada de tus conversaciones en la notificación.
Tocar una notificación #
Al tocar una notificación se abre OAR en esa conversación; una notificación sin conversación, como CLI offline (CLI sin conexión), abre OAR sin más. Si OAR ya está abierto en una ventana, esa ventana pasa al frente y muestra la conversación; si no, se abre una ventana nueva. Cada evento tiene su propia notificación: se apilan y no se sustituyen entre sí.
Responder desde la notificación #
Una notificación de pregunta puede llevar botones para las opciones de la pregunta:
- hasta tres opciones, y no más botones de los que muestra tu dispositivo;
- una opción de más de 120 caracteres no recibe botón, y la etiqueta de un botón se acorta a 40 caracteres (la respuesta enviada es la opción completa);
- tocar un botón envía esa respuesta al relay sin abrir OAR, siempre que la pregunta siga esperando y el navegador tenga la sesión iniciada en el relay.
Si la respuesta no llega (la pregunta se respondió en otro sitio, ha caducado o no tienes conexión), el toque abre la conversación en su lugar, para que veas por qué. Consulta tarjetas de pregunta.
Varios dispositivos, suscripciones caducadas, una dirección nueva #
- Varios dispositivos. Cada dispositivo que activaste recibe cada notificación cuyo evento tiene activado. La regla del primer plano se aplica a todos ellos a la vez.
- Una suscripción caducada. Cuando el servicio push informa de que una suscripción ya no existe, el relay quita el dispositivo de la lista por sí solo. Un dispositivo que sigue fallando por otro motivo se quita tras 8 envíos fallidos seguidos. Vuelve a activar el ajuste en ese dispositivo para suscribirlo de nuevo.
- Después de que cambie la dirección del relay. Una suscripción pertenece a la página desde la que la activaste. Abre OAR en la dirección nueva en cada dispositivo y mira Settings → Notifications: un dispositivo que no está suscrito allí muestra el interruptor desactivado. La entrada antigua se queda en la lista hasta que la revocas con Revoke o el servicio push informa de que ya no existe. El relay conserva sus claves push entre reinicios, así que un reinicio en la misma dirección no requiere volver a configurar nada.
Solución de problemas #
| Problema | Causa y solución |
|---|---|
| El interruptor aparece en gris y el estado dice que push necesita un contexto seguro | La página no está en HTTPS ni en localhost. Abre el relay por HTTPS, por ejemplo a través de un proxy inverso o un túnel. |
| El estado dice que el navegador no admite web push o service workers | Usa un navegador que los admita. Hasta entonces el interruptor se queda desactivado. |
| No aparece ningún aviso de permiso | El aviso solo aparece después de que hagas clic en el interruptor. Si el estado dice «Notifications are blocked for this site», permite las notificaciones para el sitio en los ajustes de sitios del navegador y vuelve a abrir el cuadro de diálogo de Settings. |
| Las notificaciones han dejado de llegar | Comprueba Last delivery y el último error en la lista de dispositivos. Asegúrate de que el dispositivo no esté marcado como disabled, de que el interruptor del evento esté activado y de que el navegador siga permitiendo las notificaciones. Si el dispositivo ha desaparecido de la lista, vuelve a activar el ajuste. |
| No llega nada aunque el ajuste está activado | Puede que otro dispositivo tenga OAR abierto delante de ti; eso suprime todos los dispositivos. Ciérralo u ocúltalo y espera un momento. |
| Llegan notificaciones aunque OAR está abierto en otro dispositivo | El relay solo cuenta un dispositivo como activo mientras su página está visible y ha informado en los últimos 90 segundos. Una pestaña abierta pero oculta, un teléfono bloqueado o una conexión caída no cuentan. |
| La notificación no tiene texto de la conversación | Message preview está en None (generic text), que es el valor predeterminado. Elige Truncated o Full text. |
| Un turn terminó y no llegó ningún Turn completed | El turn lo inició otro agente o respondía a un evento del relay, o Turn completed está desactivado en ese dispositivo. |
| Faltan los botones de respuesta | La pregunta no tiene opciones, tienen más de 120 caracteres o tu dispositivo muestra menos botones. Toca la notificación y responde en OAR. |
Consulta también Ajustes para la lista de controles, y pausa por límite de uso para saber cómo notifica un turn en pausa.