このページの内容
このページの内容
Technical reference
日付と時刻
OpenClaw は、トランスポートのタイムスタンプにホストのローカル時刻を使用し、システムプロンプトにはタイムゾーンのみを含めます。
プロバイダーのタイムスタンプは保持されるため、ツールはネイティブのセマンティクスを維持します。エージェントが現在時刻を必要とする場合は、
session_status ツールを実行します。
メッセージエンベロープ(デフォルトではローカル)
受信メッセージは、曜日と秒精度のタイムスタンプでラップされます。
エンベロープのタイムスタンプは、プロバイダーのタイムゾーンに関係なく、デフォルトではホストのローカル時刻です。
agents.defaults で上書きできます。
| キー | 値 | 動作 |
|---|---|---|
envelopeTimezone |
local(デフォルト)、utc、user、明示的な IANA 名 |
user は agents.defaults.userTimezone を使用します(未設定時はホストのタイムゾーン)。明示的な IANA 名(例: "America/Chicago")を指定すると固定タイムゾーンに設定されます。認識されない名前は UTC にフォールバックします。 |
envelopeTimestamp |
on(デフォルト)、off |
off は、エンベロープヘッダー、エージェントへの直接プロンプトのプレフィックス、埋め込まれたモデル入力のプレフィックスから絶対タイムスタンプを削除します。 |
envelopeElapsed |
on(デフォルト)、off |
off は、セッション内の前のメッセージからの経過時間を示すサフィックス(+30s / +2m 形式)を削除します。 |
例
ローカル(デフォルト):
ユーザーのタイムゾーン:
envelopeTimezone: "utc" を使用した経過時間:
システムプロンプト: 現在の日付と時刻
プロンプトキャッシュを安定させるため、システムプロンプトにはタイムゾーンのみを含む 現在の日付と時刻セクションが含まれます(時計や時刻形式は含まれません)。
設定されている場合、タイムゾーンは agents.defaults.userTimezone です。それ以外の場合はホストのタイムゾーンです。
またプロンプトは、現在の日付、時刻、または曜日が必要な場合に session_status ツールを実行するよう
エージェントに指示します。
システムイベント行(デフォルトではローカル)
エージェントのコンテキストに挿入されるキュー内のシステムイベントには、メッセージエンベロープと
同じ envelopeTimezone の選択を使用したタイムスタンプがプレフィックスとして付加されます(デフォルト: ホストのローカル時刻)。
ユーザーのタイムゾーンと形式を設定する
userTimezoneは、プロンプトコンテキスト(およびenvelopeTimezone: "user")のユーザーのローカルタイムゾーンを設定します。timeFormatは、プロンプトに表示される時刻の 12 時間制/24 時間制表示を制御します。autoは OS の設定に従います。
時刻形式の検出(自動)
timeFormat: "auto" の場合、OpenClaw は OS の設定(macOS および Windows)を調べ、
ロケール形式にフォールバックします。検出された値は、システム呼び出しの繰り返しを避けるため、
プロセスごとにキャッシュされます。
ツールペイロードとコネクター(プロバイダーの未加工時刻と正規化フィールド)
チャンネルツールはプロバイダーネイティブのタイムスタンプを返し、一貫性を確保するために正規化されたフィールドを追加します。
timestampMs: エポックミリ秒(UTC)timestampUtc: ISO 8601 UTC 文字列
情報が失われないように、プロバイダーの未加工フィールドは保持されます。
- Discord: UTC ISO タイムスタンプ
- Slack: API からのエポック形式の文字列
- Telegram/WhatsApp: プロバイダー固有の数値/ISO タイムスタンプ
ローカル時刻が必要な場合は、既知のタイムゾーンを使用して後続処理で変換してください。