メインコンテンツへスキップ
OpenClaw はタイムスタンプを標準化し、モデルがプロバイダー ローカルの時計の混在ではなく、単一の基準時刻を見るようにします。タイムゾーンを表示するサーフェスは 3 つあり、それぞれ目的が異なります。

3 つのタイムゾーン サーフェス

サーフェス表示内容デフォルト設定方法
メッセージ エンベロープ受信チャンネル メッセージをラップします: [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.timeFormatauto | 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 式はスケジューリングにタイムゾーンを使用します。