OpenClaw は既定で、トランスポートタイムスタンプにホストローカル時刻を使用し、system prompt 内でのみユーザーのタイムゾーンを使用します。 Provider のタイムスタンプは保持されるため、tools はネイティブなセマンティクスを維持します(現在時刻はDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
session_status で利用できます)。
メッセージエンベロープ(既定ではローカル)
受信メッセージはタイムスタンプ(分単位の精度)でラップされます。envelopeTimezone: "utc"は UTC を使用します。envelopeTimezone: "local"はホストのタイムゾーンを使用します。envelopeTimezone: "user"はagents.defaults.userTimezoneを使用します(ホストのタイムゾーンにフォールバックします)。- 固定ゾーンには明示的な IANA タイムゾーン(例:
"America/Chicago")を使用します。 envelopeTimestamp: "off"はエンベロープヘッダーから絶対タイムスタンプを削除します。envelopeElapsed: "off"は経過時間のサフィックス(+2m形式)を削除します。
例
ローカル(既定):System prompt: 現在の日付と時刻
ユーザーのタイムゾーンが既知の場合、system prompt には専用の 現在の日付と時刻セクションが含まれ、prompt caching を安定させるためにタイムゾーンのみ(時計/時刻形式なし)が含まれます。session_status tool を使用します。ステータス
カードにはタイムスタンプ行が含まれます。
システムイベント行(既定ではローカル)
agent context に挿入されるキュー済みシステムイベントには、メッセージエンベロープと同じタイムゾーン選択(既定: ホストローカル)を使用したタイムスタンプがプレフィックスとして付けられます。ユーザーのタイムゾーンと形式を設定する
userTimezoneは prompt context 用のユーザーローカルのタイムゾーンを設定します。timeFormatは prompt 内の12 時間/24 時間表示を制御します。autoは OS 設定に従います。
時刻形式の検出(auto)
timeFormat: "auto" の場合、OpenClaw は OS 設定(macOS/Windows)を検査し、ロケール形式にフォールバックします。検出された値は、システムコールの繰り返しを避けるため、プロセスごとにキャッシュされます。
Tool ペイロード + コネクタ(生の Provider 時刻 + 正規化フィールド)
Channel tools はProvider ネイティブのタイムスタンプを返し、一貫性のために正規化フィールドを追加します。timestampMs: エポックミリ秒(UTC)timestampUtc: ISO 8601 UTC 文字列
- Slack: API からのエポック風の文字列
- Discord: UTC ISO タイムスタンプ
- Telegram/WhatsApp: Provider 固有の数値/ISO タイムスタンプ