Перейти к основному содержанию
OpenClaw по умолчанию использует локальное время хоста для временных меток транспорта и часовой пояс пользователя только в системном промпте. Временные метки провайдера сохраняются, чтобы инструменты сохраняли свою нативную семантику (текущее время доступно через session_status).

Конверты сообщений (по умолчанию локальные)

Входящие сообщения оборачиваются временной меткой (с точностью до секунды):
[Provider ... Mon 2026-01-05 16:26:34 PST] message text
Эта временная метка конверта по умолчанию использует локальное время хоста, независимо от часового пояса провайдера. Это поведение можно переопределить:
{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc" использует UTC.
  • envelopeTimezone: "local" использует часовой пояс хоста.
  • envelopeTimezone: "user" использует agents.defaults.userTimezone (при отсутствии значения используется часовой пояс хоста).
  • Используйте явный часовой пояс IANA (например, "America/Chicago") для фиксированной зоны.
  • envelopeTimestamp: "off" удаляет абсолютные временные метки из заголовков конвертов, префиксов прямого промпта агента и встроенных префиксов входных данных модели.
  • envelopeElapsed: "off" удаляет суффиксы прошедшего времени (стиль +2m).

Примеры

Локально (по умолчанию):
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] hello
Часовой пояс пользователя:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello
Прошедшее время включено:
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up

Системный промпт: текущие дата и время

Если часовой пояс пользователя известен, системный промпт включает отдельный раздел Текущие дата и время с только часовым поясом (без часов/формата времени), чтобы кэширование промптов оставалось стабильным:
Time zone: America/Chicago
Когда агенту нужно текущее время, используйте инструмент session_status; карточка статуса включает строку с временной меткой.

Строки системных событий (по умолчанию локальные)

Системные события в очереди, вставленные в контекст агента, получают префикс с временной меткой с использованием того же выбора часового пояса, что и конверты сообщений (по умолчанию: локальное время хоста).
System: [2026-01-12 12:19:17 PST] Model switched.

Настройка часового пояса пользователя и формата

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone задает локальный часовой пояс пользователя для контекста промпта.
  • timeFormat управляет отображением 12/24 ч в промпте. auto следует настройкам ОС.

Обнаружение формата времени (auto)

Когда задано timeFormat: "auto", OpenClaw проверяет настройку ОС (macOS/Windows) и при необходимости использует форматирование локали. Обнаруженное значение кэшируется для каждого процесса, чтобы избежать повторных системных вызовов.

Полезные нагрузки инструментов и коннекторы (сырое время провайдера и нормализованные поля)

Инструменты каналов возвращают нативные временные метки провайдера и добавляют нормализованные поля для единообразия:
  • timestampMs: миллисекунды эпохи (UTC)
  • timestampUtc: строка UTC в формате ISO 8601
Сырые поля провайдера сохраняются, чтобы ничего не потерялось.
  • Slack: строки, похожие на эпоху, из API
  • Discord: временные метки ISO в UTC
  • Telegram/WhatsApp: числовые/ISO-временные метки, специфичные для провайдера
Если нужно локальное время, преобразуйте его ниже по цепочке, используя известный часовой пояс.

Связанные документы