跳轉到主要內容
OpenClaw 會標準化時間戳記,讓模型看到的是單一參考時間,而不是混雜的提供者本地時鐘。三個介面會顯示時區,各自有不同用途:

三個時區介面

介面顯示內容預設值設定方式
訊息封套包裝傳入的通道訊息:[Signal +1555 Sun 2026-01-18 00:19:42 PST] hello主機本地agents.defaults.envelopeTimezone
工具承載資料通道的 readMessages 類工具會回傳原始提供者時間,以及正規化的 timestampMs / timestampUtcUTC 欄位一律存在無法設定;保留提供者原生時間戳記
系統提示詞一小段 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",讓封套無論閘道主機在哪個時區執行,都與設定的使用者時區保持一致。
  • 使用固定的 IANA 時區,當閘道主機位於某個時區,但封套無論主機遷移與否都應一律以另一個時區顯示時。
  • 設定 envelopeTimestamp: "off",當時間戳記脈絡對對話沒有幫助時使用。這會從封套、直接代理提示詞前綴,以及內嵌模型輸入前綴中移除絕對時間戳記。
如需完整行為參考、各提供者範例,以及經過時間格式,請參閱日期與時間

相關