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.

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

json5
{  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 используют часовой пояс для планирования.
Was this useful?
On this page

On this page