Technical reference

Дата й час

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

Конверти повідомлень (локальні за замовчуванням)

Вхідні повідомлення обгортаються часовою позначкою (точність до хвилини):

[Provider ... 2026-01-05 16:26 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 2026-01-18 00:19 PST] hello

Часовий пояс користувача:

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

Увімкнений час, що минув:

[WhatsApp +1555 +30s 2026-01-18T05:19Z] 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: схожі на epoch рядки з API
  • Discord: часові позначки UTC ISO
  • Telegram/WhatsApp: числові/ISO часові позначки, специфічні для провайдера

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

Пов’язана документація