3 つのタイムゾーンサーフェス
システムプロンプトでは、ターン間でプロンプトキャッシュを安定させるため、現在の時計の値を意図的に省略しています。エージェントが現在時刻を必要とする場合は、
session_status を呼び出します。
ユーザータイムゾーンの設定
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"を使用します。 - Gateway ホストがどのタイムゾーンで実行されていても、エンベロープを設定済みのユーザータイムゾーンに合わせる場合は、
"user"を使用します。 - Gateway ホストがあるタイムゾーンに存在していても、ホストの移行にかかわらずエンベロープを常に別のタイムゾーンで表示する必要がある場合は、固定の IANA タイムゾーンを使用します。
- タイムスタンプのコンテキストが会話に不要な場合は、
envelopeTimestamp: "off"を設定します。これにより、エンベロープ、エージェントへの直接プロンプトのプレフィックス、および埋め込まれたモデル入力のプレフィックスから絶対タイムスタンプが削除されます。