Technical reference
Дата й час
OpenClaw використовує локальний час хоста для часових міток транспорту та додає до системного промпту лише часовий пояс.
Часові мітки провайдера зберігаються, щоб інструменти не втрачали властиву їм семантику. Коли агенту потрібен поточний
час, він запускає інструмент session_status.
Конверти повідомлень (за замовчуванням — локальний час)
Вхідні повідомлення обгортаються конвертом із днем тижня та часовою міткою з точністю до секунди:
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] message textЧасова мітка конверта за замовчуванням відповідає локальному часу хоста, незалежно від часового поясу провайдера.
Змініть це в 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] helloЧасовий пояс користувача:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] helloТривалість із envelopeTimezone: "utc":
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-upСистемний промпт: поточна дата й час
Системний промпт містить розділ Поточна дата й час із лише часовим поясом (без показу часу чи формату часу), щоб кешування промпту залишалося стабільним:
Time zone: America/ChicagoЯкщо налаштовано agents.defaults.userTimezone, використовується цей часовий пояс; інакше — часовий пояс хоста.
Промпт також вказує агенту запускати інструмент session_status, коли йому потрібні
поточна дата, час або день тижня.
Рядки системних подій (за замовчуванням — локальний час)
Системні події з черги, вставлені в контекст агента, отримують префікс із часовою міткою, що використовує
той самий вибір envelopeTimezone, що й конверти повідомлень (типово: локальний час хоста).
System: [2026-01-12 12:19:17 PST] Model switched.Налаштування часового поясу користувача та формату
{ agents: { defaults: { userTimezone: "America/Chicago", timeFormat: "auto", // auto | 12 | 24 }, },}userTimezoneзадає локальний часовий пояс користувача для контексту промпту (і дляenvelopeTimezone: "user").timeFormatкерує 12- або 24-годинним відображенням часу в промпті.autoвикористовує налаштування ОС.
Визначення формату часу (auto)
Коли задано timeFormat: "auto", OpenClaw перевіряє налаштування ОС (macOS і Windows)
та, якщо їх не вдається визначити, використовує форматування відповідно до локалі. Визначене значення кешується для кожного процесу,
щоб уникнути повторних системних викликів.
Дані інструментів і конектори (необроблений час провайдера та нормалізовані поля)
Інструменти каналів повертають властиві провайдеру часові мітки та додають нормалізовані поля для узгодженості:
timestampMs: мілісекунди від початку епохи (UTC)timestampUtc: рядок UTC у форматі ISO 8601
Необроблені поля провайдера зберігаються, щоб не втратити жодних даних.
- Discord: часові мітки ISO у UTC
- Slack: рядки у форматі часу епохи з API
- Telegram/WhatsApp: числові часові мітки або часові мітки ISO у форматі провайдера
Якщо потрібен локальний час, перетворіть його на наступному етапі обробки, використовуючи відомий часовий пояс.