Concept internals
Часовые пояса
OpenClaw стандартизирует временные метки, чтобы модель видела единое опорное время, а не смесь локальных часов разных провайдеров. Часовые пояса отображаются на трех поверхностях, у каждой своя цель:
Три поверхности часовых поясов
| Поверхность | Что она показывает | По умолчанию | Настраивается через |
|---|---|---|---|
| Оболочки сообщений | Оборачивают входящие сообщения каналов: [Signal +1555 Sun 2026-01-18 00:19:42 PST] hello |
Локальный часовой пояс хоста | agents.defaults.envelopeTimezone |
| Полезные нагрузки инструментов | Инструменты каналов в стиле readMessages возвращают исходное время провайдера + нормализованные timestampMs / timestampUtc |
Поля UTC всегда присутствуют | Не настраивается — сохраняет временные метки в родном формате провайдера |
| Системный промпт | Небольшой блок Current Date & Time с только часовым поясом (без значения времени, для стабильности кеша) |
Часовой пояс хоста, если userTimezone не задан |
agents.defaults.userTimezone |
Системный промпт намеренно не включает текущее время, чтобы кеширование промптов оставалось стабильным между ходами. Когда агенту нужно текущее время, он вызывает session_status.
Настройка часового пояса пользователя
{ agents: { defaults: { userTimezone: "America/Chicago", }, },}Если userTimezone не задан, OpenClaw определяет часовой пояс хоста во время выполнения (без записи в конфигурацию). agents.defaults.timeFormat (auto | 12 | 24) управляет отображением 12- или 24-часового формата в оболочках и последующих поверхностях, но не в разделе системного промпта.
Когда переопределять
- Используйте оболочки UTC (
envelopeTimezone: "utc"), если нужны стабильные временные метки на хостах в разных регионах или если нужно, чтобы журналы, выровненные по UTC, совпадали с диагностическим выводом. - Используйте фиксированную зону IANA (например,
"Europe/Vienna"), если хост Gateway находится в одном часовом поясе, а пользователь — в другом, и вы хотите, чтобы оболочки отображались в часовом поясе пользователя независимо от миграции хоста. - Задайте
envelopeTimestamp: "off", если временной контекст не полезен для разговора. Это удаляет абсолютные временные метки из оболочек, префиксов прямых промптов агента и встроенных префиксов входных данных модели.
Полное справочное описание поведения, примеры по провайдерам и форматирование прошедшего времени см. в Дата и время.
Связанные материалы
- Дата и время — полное поведение оболочек, инструментов и промптов, а также примеры.
- Heartbeat — активные часы используют часовой пояс для планирования.
- Задания Cron — выражения cron используют часовой пояс для планирования.