时区
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
Tool 返回数据(原始 Provider 数据 + 标准化字段)
Tool 调用(如 channels.discord.readMessages、channels.slack.readMessages 等)会返回 Provider 的原始时间戳。
我们还会附加标准化字段以保持一致性:
timestampMs(UTC 纪元毫秒数)timestampUtc(ISO 8601 UTC 字符串)
原始 Provider 字段会被保留。
系统 Prompt 的用户时区
设置 agents.defaults.userTimezone 来告诉模型用户的本地时区。如果未设置,
OpenClaw 会在运行时解析主机时区(不会写入配置文件)。
{
agents: { defaults: { userTimezone: "America/Chicago" } },
}
系统 Prompt 会包含:
Current Date & Time部分,显示本地时间和时区Time format: 12-hour或24-hour
你可以通过 agents.defaults.timeFormat 控制 Prompt 格式(auto | 12 | 24)。
查看日期与时间了解完整行为和示例。