Fecha y Hora

Mayros usa de forma predeterminada hora local del host para marcas de tiempo de transporte y zona horaria del usuario solo en el prompt del sistema. Las marcas de tiempo del proveedor se preservan para que las herramientas mantengan su semántica nativa (la hora actual está disponible a través de session_status).

Envelopes de mensajes (local por defecto)

Los mensajes entrantes se envuelven con una marca de tiempo (precisión de minutos):

[Provider ... 2026-01-05 16:26 PST] texto del mensaje

Esta marca de tiempo del envelope es local del host por defecto, independientemente de la zona horaria del proveedor.

Puedes anular este comportamiento:

json5
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | zona horaria IANA
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc" usa UTC.
  • envelopeTimezone: "local" usa la zona horaria del host.
  • envelopeTimezone: "user" usa agents.defaults.userTimezone (vuelve a la zona horaria del host).
  • Usa una zona horaria IANA explícita (p.ej., "America/Chicago") para una zona fija.
  • envelopeTimestamp: "off" elimina las marcas de tiempo absolutas de los encabezados del envelope.
  • envelopeElapsed: "off" elimina los sufijos de tiempo transcurrido (estilo +2m).

Ejemplos

Local (predeterminado):

[WhatsApp +1555 2026-01-18 00:19 PST] hola

Zona horaria del usuario:

[WhatsApp +1555 2026-01-18 00:19 CST] hola

Tiempo transcurrido habilitado:

[WhatsApp +1555 +30s 2026-01-18T05:19Z] seguimiento

Prompt del sistema: Fecha y Hora Actual

Si se conoce la zona horaria del usuario, el prompt del sistema incluye una sección dedicada Fecha y Hora Actual con la zona horaria solamente (sin formato de reloj/hora) para mantener estable el caché del prompt:

Time zone: America/Chicago

Cuando el agente necesita la hora actual, usa la herramienta session_status; la tarjeta de estado incluye una línea de marca de tiempo.

Líneas de eventos del sistema (local por defecto)

Los eventos del sistema en cola insertados en el contexto del agente tienen un prefijo con una marca de tiempo usando la misma selección de zona horaria que los envelopes de mensajes (predeterminado: local del host).

System: [2026-01-12 12:19:17 PST] Modelo cambiado.

Configurar zona horaria del usuario + formato

json5
{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone establece la zona horaria local del usuario para el contexto del prompt.
  • timeFormat controla la visualización 12h/24h en el prompt. auto sigue las preferencias del SO.

Detección de formato de hora (auto)

Cuando timeFormat: "auto", Mayros inspecciona la preferencia del SO (macOS/Windows) y vuelve al formato de locale. El valor detectado está en caché por proceso para evitar llamadas repetidas al sistema.

Payloads de herramientas + conectores (hora del proveedor sin procesar + campos normalizados)

Las herramientas de canal devuelven marcas de tiempo nativas del proveedor y añaden campos normalizados para consistencia:

  • timestampMs: milisegundos epoch (UTC)
  • timestampUtc: cadena ISO 8601 UTC

Los campos sin procesar del proveedor se preservan para que no se pierda nada.

  • Slack: cadenas tipo epoch de la API
  • Discord: marcas de tiempo ISO UTC
  • Telegram/WhatsApp: marcas de tiempo numéricas/ISO específicas del proveedor

Si necesitas hora local, conviértela aguas abajo usando la zona horaria conocida.

Documentación relacionada