タイムゾーン

OpenClawはタイムスタンプを標準化し、モデルが単一の基準時刻を参照できるようにします。

メッセージエンベロープ(デフォルトはローカル時刻)

受信メッセージは以下のようなエンベロープで囲まれます:

[Provider ... 2026-01-05 16:26 PST] message text

エンベロープ内のタイムスタンプはデフォルトでホストローカルで、分単位の精度です。

以下の設定でオーバーライドできます:

{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANAタイムゾーン
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc"でUTCを使用。
  • envelopeTimezone: "user"agents.defaults.userTimezoneを使用(ホストタイムゾーンにフォールバック)。
  • 明示的なIANAタイムゾーン(例:"Europe/Vienna")で固定オフセット。
  • envelopeTimestamp: "off"でエンベロープヘッダーから絶対タイムスタンプを除去。
  • envelopeElapsed: "off"で経過時間サフィックス(+2m形式)を除去。

表示例

ローカル(デフォルト):

[Signal Alice +1555 2026-01-18 00:19 PST] hello

固定タイムゾーン:

[Signal Alice +1555 2026-01-18 06:19 GMT+1] hello

経過時間:

[Signal Alice +1555 +2m 2026-01-18T05:19Z] follow-up

ツールペイロード(生プロバイダデータ+正規化フィールド)

ツール呼び出し(channels.discord.readMessageschannels.slack.readMessages等)はプロバイダの生タイムスタンプを返します。 一貫性のために正規化フィールドも付加されます:

  • timestampMs(UTCエポックミリ秒)
  • timestampUtc(ISO 8601 UTC文字列)

プロバイダの生フィールドはそのまま保持されます。

システムプロンプトにおけるユーザータイムゾーン

agents.defaults.userTimezoneを設定すると、モデルにユーザーのローカルタイムゾーンを伝えます。未設定の場合、OpenClawはランタイムでホストタイムゾーンを解決します(設定への書き込みは行いません)。

{
  agents: { defaults: { userTimezone: "America/Chicago" } },
}

システムプロンプトには以下が含まれます:

  • ローカル時刻とタイムゾーンを含むCurrent Date & Timeセクション
  • Time format: 12-hourまたは24-hour

プロンプトのフォーマットはagents.defaults.timeFormatauto | 12 | 24)で制御できます。

動作の詳細と例はDate & Timeを参照。