Technical reference
Дата и время
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-временные метки, специфичные для провайдера
Если нужно локальное время, преобразуйте его ниже по цепочке, используя известный часовой пояс.