Дата и время
OpenClaw по умолчанию использует локальное время хоста для транспортных временных меток и часовой пояс пользователя только в системном промпте. Временные метки провайдера сохраняются, чтобы инструменты сохраняли свою нативную семантику (текущее время доступно через session_status).
Конверты сообщений (по умолчанию локальные)
Входящие сообщения оборачиваются временной меткой (с точностью до минуты):
[Provider ... 2026-01-05 16:26 PST] текст сообщения
Эта временная метка конверта по умолчанию является локальной для хоста, независимо от часового пояса провайдера. Вы можете переопределить это поведение:
{
agents: {
defaults: {
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA часовой пояс
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 2026-01-18 00:19 PST] привет
Часовой пояс пользователя:
[WhatsApp +1555 2026-01-18 00:19 CST] привет
Включено прошедшее время:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] продолжение
Системный промпт: Текущая дата и время
Если часовой пояс пользователя известен, системный промпт включает специальный раздел Текущая дата и время с указанием только часового пояса (без формата часов/времени), чтобы обеспечить стабильность кэширования промпта:
Часовой пояс: America/Chicago
Когда агенту требуется текущее время, используйте инструмент session_status; карточка статуса включает строку с временной меткой.
Строки системных событий (по умолчанию локальные)
Системные события, поставленные в очередь и вставленные в контекст агента, имеют префикс с временной меткой, использующей тот же выбор часового пояса, что и конверты сообщений (по умолчанию: локальный для хоста).
System: [2026-01-12 12:19:17 PST] Модель переключена.
Настройка часового пояса пользователя + формата
{
agents: {
defaults: {
userTimezone: "America/Chicago",
timeFormat: "auto", // auto | 12 | 24
},
},
}
userTimezoneустанавливает локальный часовой пояс пользователя для контекста промпта.timeFormatуправляет отображением 12ч/24ч в промпте.autoследует настройкам ОС.
Определение формата времени (авто)
Когда timeFormat: "auto", OpenClaw проверяет предпочтения ОС (macOS/Windows) и возвращается к форматированию по локали. Определенное значение кэшируется для каждого процесса, чтобы избежать повторных системных вызовов.
Полезные данные инструментов + коннекторы (сырое время провайдера + нормализованные поля)
Инструменты каналов возвращают нативные временные метки провайдера и добавляют нормализованные поля для согласованности:
timestampMs: эпоха в миллисекундах (UTC)timestampUtc: строка ISO 8601 UTC
Сырые поля провайдера сохраняются, так что ничего не теряется.
- Slack: строки, похожие на эпоху, из API
- Discord: временные метки UTC в формате ISO
- Telegram/WhatsApp: специфичные для провайдера числовые/ISO временные метки
Если вам нужно локальное время, преобразуйте его ниже по потоку, используя известный часовой пояс.