Technical reference
Дата и время
OpenClaw использует локальное время хоста для временных меток транспорта и помещает в системный промпт только часовой пояс.
Временные метки провайдера сохраняются, чтобы инструменты сохраняли свою исходную семантику. Когда агенту требуется текущее
время, он запускает инструмент session_status.
Конверты сообщений (по умолчанию локальное время)
Входящие сообщения помещаются в конверт с днём недели и временной меткой с точностью до секунды:
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] текст сообщенияВременная метка конверта по умолчанию использует локальное время хоста, независимо от часового пояса провайдера.
Переопределение настраивается в agents.defaults:
{ agents: { defaults: { envelopeTimezone: "local", // "utc" | "local" | "user" | часовой пояс IANA envelopeTimestamp: "on", // "on" | "off" envelopeElapsed: "on", // "on" | "off" }, },}| Ключ | Значения | Поведение |
|---|---|---|
envelopeTimezone |
local (по умолчанию), utc, user, явное имя IANA |
user использует agents.defaults.userTimezone (часовой пояс хоста, если значение не задано). Явное имя IANA (например, "America/Chicago") закрепляет фиксированный часовой пояс; нераспознанные имена заменяются на UTC. |
envelopeTimestamp |
on (по умолчанию), off |
off удаляет абсолютные временные метки из заголовков конвертов, непосредственных префиксов промпта агента и встроенных префиксов входных данных модели. |
envelopeElapsed |
on (по умолчанию), off |
off удаляет суффикс прошедшего времени (в формате +30s / +2m), отображаемый с момента предыдущего сообщения в сеансе. |
Примеры
Локальное время (по умолчанию):
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] приветЧасовой пояс пользователя:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] приветПрошедшее время с envelopeTimezone: "utc":
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] продолжениеСистемный промпт: текущая дата и время
Системный промпт содержит раздел Текущая дата и время с только часовым поясом (без времени или формата времени), чтобы кэширование промпта оставалось стабильным:
Часовой пояс: America/ChicagoЕсли настроен agents.defaults.userTimezone, используется этот часовой пояс, иначе — часовой пояс хоста.
Промпт также предписывает агенту запускать инструмент session_status всякий раз, когда ему требуются
текущая дата, время или день недели.
Строки системных событий (по умолчанию локальное время)
Системные события из очереди, вставляемые в контекст агента, получают префикс с временной меткой, использующий
тот же выбор envelopeTimezone, что и конверты сообщений (по умолчанию — локальное время хоста).
Система: [2026-01-12 12:19:17 PST] Модель переключена.Настройка часового пояса пользователя и формата
{ agents: { defaults: { userTimezone: "America/Chicago", timeFormat: "auto", // auto | 12 | 24 }, },}userTimezoneзадаёт локальный часовой пояс пользователя для контекста промпта (и дляenvelopeTimezone: "user").timeFormatуправляет 12-часовым/24-часовым отображением времени в промпте.autoследует настройкам ОС.
Определение формата времени (автоматически)
При timeFormat: "auto" OpenClaw проверяет настройки ОС (macOS и Windows),
а при невозможности использует форматирование локали. Определённое значение кэшируется для каждого процесса,
чтобы избежать повторных системных вызовов.
Полезные нагрузки инструментов и коннекторы (исходное время провайдера и нормализованные поля)
Инструменты каналов возвращают временные метки в исходном формате провайдера и для единообразия добавляют нормализованные поля:
timestampMs: миллисекунды с начала эпохи (UTC)timestampUtc: строка UTC в формате ISO 8601
Исходные поля провайдера сохраняются, поэтому данные не теряются.
- Discord: временные метки ISO в UTC
- Slack: строки в формате, подобном времени эпохи, из API
- Telegram/WhatsApp: числовые временные метки или временные метки ISO в формате провайдера
Если требуется локальное время, преобразуйте его на последующих этапах, используя известный часовой пояс.