三个时区位置
系统提示词特意省略实时时钟,以保持各轮次间的提示词缓存稳定。当智能体需要当前时间时,它会调用
session_status。
设置用户时区
userTimezone,OpenClaw 会在运行时通过 Intl.DateTimeFormat().resolvedOptions().timeZone 解析主机时区(不会写入配置)。agents.defaults.timeFormat(auto | 12 | 24)控制消息信封和下游位置采用 12 小时制还是 24 小时制,不影响系统提示词部分。
消息信封时区值
agents.defaults.envelopeTimezone 接受:
"local"(默认)或"host"——主机的时区。"utc"或"gmt"——UTC。"user"——解析后的agents.defaults.userTimezone(未设置时回退到主机时区)。- 任意明确的 IANA 时区字符串,例如
"Europe/Vienna"。
何时覆盖
- 当不同地区的主机需要使用一致的时间戳,或需要与采用 UTC 的诊断/日志输出保持一致时,使用
"utc"。 - 若要使消息信封始终与已配置的用户时区保持一致,而不受 Gateway 网关主机所在时区影响,使用
"user"。 - 当 Gateway 网关主机位于一个时区,但无论主机如何迁移,消息信封都应始终显示另一个时区时,使用固定的 IANA 时区。
- 当时间戳上下文对对话没有帮助时,设置
envelopeTimestamp: "off"。这会从消息信封、直接智能体提示词前缀和嵌入的模型输入前缀中移除绝对时间戳。