日期與時間
OpenClaw 預設使用主機本地時間作為傳輸時間戳記,使用者時區僅出現在系統提示詞中。供應商時間戳記原樣保留,讓工具維持其原生語意(目前時間可透過 session_status 取得)。
訊息信封(預設使用本地時間)
收到的訊息會加上時間戳記(精確到分鐘):
[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: "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
當 Agent 需要取得目前時間時,使用 session_status 工具;其狀態卡片中包含時間戳記。
系統事件行(預設使用本地時間)
插入 Agent 上下文的排隊系統事件,會以與訊息信封相同的時區選擇規則加上時間戳記前綴(預設:主機本地時間)。
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),退回語系格式。偵測結果按程序快取,避免重複呼叫系統 API。
工具酬載與連接器(原始供應商時間 + 正規化欄位)
頻道工具回傳供應商原生時間戳記,並額外附加正規化欄位以確保一致性:
timestampMs:UTC 紀元毫秒timestampUtc:ISO 8601 UTC 字串
原始供應商欄位原樣保留,不會遺失資料。
- Slack:來自 API 的類紀元字串
- Discord:UTC ISO 時間戳記
- Telegram/WhatsApp:供應商專屬的數值或 ISO 時間戳記
如需本地時間,請在下游使用已知時區進行轉換。