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 определяет часовой пояс хоста во время выполнения через Intl.DateTimeFormat().resolvedOptions().timeZone (без записи в конфигурацию). agents.defaults.timeFormat (auto | 12 | 24) управляет отображением времени в 12- или 24-часовом формате в оболочках и последующих местах, но не в разделе системного промпта.
Значения часового пояса оболочки
agents.defaults.envelopeTimezone принимает:
"local"(по умолчанию) или"host"— часовой пояс хост-машины."utc"или"gmt"— UTC."user"— определённыйagents.defaults.userTimezone(если не задан, используется часовой пояс хоста).- Любая явно указанная строка часового пояса IANA, например
"Europe/Vienna".
Когда следует переопределять
- Используйте
"utc"для стабильных временных меток на хостах в разных регионах или для соответствия диагностике и журналам, привязанным к UTC. - Используйте
"user", чтобы оболочки соответствовали настроенному часовому поясу пользователя независимо от часового пояса, в котором работает хост Gateway. - Используйте фиксированный часовой пояс IANA, если хост Gateway находится в одном часовом поясе, но оболочка должна всегда отображать другой независимо от миграции хоста.
- Задайте
envelopeTimestamp: "off", если контекст временных меток не нужен для разговора. Это удаляет абсолютные временные метки из оболочек, префиксов прямых промптов агента и встроенных префиксов входных данных модели.
Полное описание поведения, примеры для каждого провайдера и форматирование прошедшего времени см. в разделе Дата и время.
Связанные материалы
- Дата и время — полное описание поведения оболочек, инструментов и промптов, а также примеры.
- Heartbeat — при планировании активных часов учитывается часовой пояс.
- Задания Cron — выражения Cron используют часовой пояс для планирования.