Technical reference
日期和時間
OpenClaw 預設對傳輸時間戳記使用主機本地時間,並且僅在系統提示中使用使用者時區。
系統會保留提供者時間戳記,讓工具維持其原生語意(目前時間可透過 session_status 取得)。
訊息封套(預設為本地)
傳入訊息會以時間戳記包裝(精確到分鐘):
[Provider ... 2026-01-05 16:26 PST] message text
無論提供者時區為何,這個封套時間戳記預設為主機本地時間。
你可以覆寫此行為:
{
agents: {
defaults: {
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
envelopeTimestamp: "on", // "on" | "off"
envelopeElapsed: "on", // "on" | "off"
},
},
}
envelopeTimezone: "utc"使用 UTC。envelopeTimezone: "local"使用主機時區。envelopeTimezone: "user"使用agents.defaults.userTimezone(退回使用主機時區)。- 使用明確的 IANA 時區(例如
"America/Chicago")來指定固定時區。 envelopeTimestamp: "off"會從封套標頭移除絕對時間戳記。envelopeElapsed: "off"會移除經過時間後綴(+2m樣式)。
範例
本地(預設):
[WhatsApp +1555 2026-01-18 00:19 PST] hello
使用者時區:
[WhatsApp +1555 2026-01-18 00:19 CST] hello
已啟用經過時間:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up
系統提示:目前日期與時間
如果已知使用者時區,系統提示會包含專用的 目前日期與時間區段,且僅包含時區(不包含時鐘/時間格式), 以保持提示快取穩定:
Time zone: America/Chicago
當代理需要目前時間時,請使用 session_status 工具;狀態
卡片會包含一行時間戳記。
系統事件行(預設為本地)
插入代理內容中的佇列系統事件會加上時間戳記前綴,並使用與訊息封套 相同的時區選擇(預設:主機本地)。
System: [2026-01-12 12:19:17 PST] Model switched.
設定使用者時區 + 格式
{
agents: {
defaults: {
userTimezone: "America/Chicago",
timeFormat: "auto", // auto | 12 | 24
},
},
}
userTimezone會設定提示內容中的使用者本地時區。timeFormat控制提示中的 12 小時/24 小時顯示。auto會遵循作業系統偏好設定。
時間格式偵測(auto)
當 timeFormat: "auto" 時,OpenClaw 會檢查作業系統偏好設定(macOS/Windows),
並退回使用地區格式。偵測到的值會依處理程序快取,
以避免重複系統呼叫。
工具酬載 + 連接器(原始提供者時間 + 正規化欄位)
通道工具會傳回提供者原生時間戳記,並加入正規化欄位以保持一致性:
timestampMs:epoch 毫秒(UTC)timestampUtc:ISO 8601 UTC 字串
系統會保留原始提供者欄位,因此不會遺失任何內容。
- Slack:來自 API 的類 epoch 字串
- Discord:UTC ISO 時間戳記
- Telegram/WhatsApp:提供者特定的數值/ISO 時間戳記
如果你需要本地時間,請使用已知時區在下游進行轉換。