Recordatorios
La característica de Recordatorios te permite establecer recordatorios temporizados que se disparan como notificaciones toast en tu navegador. Programa un recordatorio y la plataforma te notificará cuando llegue la hora.
Crear un Recordatorio
Usa el comando /remind en cualquier chat:
/remind 30m revisar el estado del build
La plataforma analiza el tiempo y mensaje, programa el recordatorio y lo confirma en el chat:
Recordatorio establecido para 30m: revisar el estado del build
Sintaxis del Comando
/remind [tiempo] [mensaje]
Las palabras "me" e "in" son opcionales y serán ignoradas:
/remind me in 30 minutos revisar el build
/remind 2h revisar el PR
/remind 1d desplegar a producción
Formatos de Tiempo
| Formato | Unidad | Ejemplo |
|---|---|---|
30s, 30sec, 30seconds | Segundos | /remind 30s revisar el temporizador |
5m, 5min, 5minutes | Minutos | /remind 5m tomar un descanso |
2h, 2hrs, 2hours | Horas | /remind 2h revisar PR |
1d, 1day, 1days | Días | /remind 1d dar seguimiento al email |
El valor de tiempo debe ser un número seguido de una unidad. Solo se soportan tiempos relativos ("en X minutos/horas").
Puedes usar la palabra "to" entre el tiempo y el mensaje para frases naturales:
/remind 1h to revisar el despliegue
Cómo Funcionan los Recordatorios
- Cuando creas un recordatorio, se almacena en IndexedDB bajo la clave
ais-reminders - Un
setTimeoutde JavaScript se programa para la duración especificada - Cuando el temporizador se dispara, aparece una notificación toast con tu mensaje
- El recordatorio se elimina automáticamente del almacenamiento después de dispararse
Verificación de Visibilidad de Página
Los recordatorios también verifican elementos vencidos cada vez que tu pestaña del navegador se vuelve visible (usando la API de Visibilidad de Página). Esto maneja el caso donde tu computadora estaba dormida o la pestaña estaba en segundo plano cuando el recordatorio venció.
Los recordatorios requieren que la pestaña del navegador esté abierta. No son notificaciones push del lado del servidor. Si cierras la pestaña o el navegador, los recordatorios se dispararán la próxima vez que abras la aplicación (si ya vencieron), pero no despertarán tu dispositivo.
Ver Recordatorios Activos
Los recordatorios activos (aún no disparados) se almacenan en IndexedDB. Actualmente, puedes verlos vía el mensaje de confirmación en el chat. Una UI dedicada de gestión de recordatorios está planificada para un lanzamiento futuro.
Cancelar Recordatorios
Los recordatorios se disparan una vez y se eliminan automáticamente. Actualmente no hay comando para cancelar un recordatorio pendiente antes de que se dispare. Para evitar un recordatorio no deseado, puedes limpiar el chat o recargar la página (los recordatorios se reprograman desde el almacenamiento al cargar, así que esto solo no los cancelará).
Persistencia
Los recordatorios sobreviven recargas de página. Cuando la aplicación se inicializa:
- Todos los recordatorios guardados se cargan desde IndexedDB
- El timeout de cada recordatorio se reprograma basado en su tiempo de vencimiento almacenado
- Si un recordatorio ya está vencido, se dispara inmediatamente
Limitaciones
| Limitación | Detalle |
|---|---|
| Pestaña de navegador requerida | Los recordatorios son solo del lado del cliente -- necesitan que la pestaña esté abierta |
| Solo tiempo relativo | Sin "a las 3pm" o "mañana a las 9am" -- solo "en X minutos/horas/días" |
| Sin recordatorios recurrentes | Cada recordatorio se dispara una vez |
| Dispositivo único | Los recordatorios se almacenan en el navegador y no se sincronizan entre dispositivos |
| Timeout máximo | setTimeout de JavaScript tiene un máximo de ~24.8 días (2^31 ms). Los recordatorios más allá de esto pueden no dispararse con precisión |
Los recordatorios están asociados con un bot específico. El recordatorio se almacena con el ID del bot, así que está vinculado a la conversación donde lo creaste.