Technical reference

Дата и время

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

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

Входящие сообщения оборачиваются временной меткой (с точностью до секунды):

Code
[Provider ... Mon 2026-01-05 16:26:34 PST] message text

Эта временная метка конверта по умолчанию использует локальное время хоста, независимо от часового пояса провайдера.

Это поведение можно переопределить:

json5
{  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).

Примеры

Локально (по умолчанию):

Code
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] hello

Часовой пояс пользователя:

Code
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello

Прошедшее время включено:

Code
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up

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

Если часовой пояс пользователя известен, системный промпт включает отдельный раздел Текущие дата и время с только часовым поясом (без часов/формата времени), чтобы кэширование промптов оставалось стабильным:

Code
Time zone: America/Chicago

Когда агенту нужно текущее время, используйте инструмент session_status; карточка статуса включает строку с временной меткой.

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

Системные события в очереди, вставленные в контекст агента, получают префикс с временной меткой с использованием того же выбора часового пояса, что и конверты сообщений (по умолчанию: локальное время хоста).

Code
System: [2026-01-12 12:19:17 PST] Model switched.

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

json5
{  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-временные метки, специфичные для провайдера

Если нужно локальное время, преобразуйте его ниже по цепочке, используя известный часовой пояс.

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

Was this useful?
On this page

On this page