Saltar al contenido principal
OpenClaw usa la hora local del host para las marcas de tiempo de transporte y coloca solo la zona horaria en el prompt del sistema. Las marcas de tiempo del proveedor se conservan para que las herramientas mantengan su semántica nativa. Cuando el agente necesita la hora actual, ejecuta la herramienta session_status.

Envoltorios de mensajes (locales de forma predeterminada)

Los mensajes entrantes se envuelven con un día de la semana y una marca de tiempo con precisión de segundos:
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] message text
La marca de tiempo del envoltorio es local del host de forma predeterminada, independientemente de la zona horaria del proveedor. Sobrescríbela en agents.defaults:
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
ClaveValoresComportamiento
envelopeTimezonelocal (predeterminado), utc, user, nombre IANA explícitouser usa agents.defaults.userTimezone (zona horaria del host cuando no está configurada). Un nombre IANA explícito (por ejemplo, "America/Chicago") fija una zona; los nombres no reconocidos vuelven a UTC.
envelopeTimestampon (predeterminado), offoff elimina las marcas de tiempo absolutas de los encabezados de envoltorio, los prefijos directos del prompt del agente y los prefijos incrustados de entrada del modelo.
envelopeElapsedon (predeterminado), offoff elimina el sufijo de tiempo transcurrido (el estilo +30s / +2m) mostrado desde el mensaje anterior de la sesión.

Ejemplos

Local (predeterminado):
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] hello
Zona horaria del usuario:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello
Tiempo transcurrido con envelopeTimezone: "utc":
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up

Prompt del sistema: fecha y hora actuales

El prompt del sistema incluye una sección Fecha y hora actuales con solo la zona horaria (sin reloj ni formato de hora) para que el almacenamiento en caché del prompt se mantenga estable:
Time zone: America/Chicago
La zona es agents.defaults.userTimezone cuando está configurada; de lo contrario, es la zona horaria del host. El prompt también indica al agente que ejecute la herramienta session_status siempre que necesite la fecha actual, la hora actual o el día de la semana.

Líneas de eventos del sistema (locales de forma predeterminada)

Los eventos del sistema en cola insertados en el contexto del agente llevan como prefijo una marca de tiempo que usa la misma selección de envelopeTimezone que los envoltorios de mensajes (predeterminado: local del host).
System: [2026-01-12 12:19:17 PST] Model switched.

Configurar zona horaria del usuario + formato

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone establece la zona horaria local del usuario para el contexto del prompt (y para envelopeTimezone: "user").
  • timeFormat controla la visualización en 12 h/24 h en las horas orientadas al prompt. auto sigue las preferencias del sistema operativo.

Detección del formato de hora (auto)

Cuando timeFormat: "auto", OpenClaw inspecciona la preferencia del sistema operativo (macOS y Windows) y vuelve al formato de configuración regional como alternativa. El valor detectado se almacena en caché por proceso para evitar llamadas repetidas al sistema.

Cargas útiles de herramientas + conectores (hora sin procesar del proveedor + campos normalizados)

Las herramientas de canal devuelven marcas de tiempo nativas del proveedor y añaden campos normalizados para mantener la coherencia:
  • timestampMs: milisegundos desde epoch (UTC)
  • timestampUtc: cadena UTC ISO 8601
Los campos sin procesar del proveedor se conservan para que no se pierda nada.
  • Discord: marcas de tiempo ISO UTC
  • Slack: cadenas similares a epoch de la API
  • Telegram/WhatsApp: marcas de tiempo numéricas/ISO específicas del proveedor
Si necesitas la hora local, conviértela en una fase posterior usando la zona horaria conocida.

Documentos relacionados