日期与时间
OpenClaw 使用配置的 用户时区 来生成消息信封、系统事件和系统提示。当 agents.defaults.userTimezone 未设置时,这些位置使用主机时区。提供方时间戳会被保留,因此工具保持其原生语义。当代理需要精确的当前时间且 session_status 可用时,它会运行该工具。
消息信封(默认本地时间)¶
入站消息会被包装在一个包含星期和秒级精度时间戳的信封中:
信封时间戳使用 agents.defaults.userTimezone(若已配置),否则使用主机时区。内置绝对时间戳和经过时间后缀。
示例¶
本地(默认):
用户时区:
经过时间:
系统提示:时间上下文¶
系统提示包含一个动态的 时间上下文(Temporal Context) 部分,其中包含本地日历日期和时区,但没有实时时钟:
时区为 agents.defaults.userTimezone(若已配置),否则使用主机时区。该部分位于提示缓存边界之下,因此日期翻转和时区更改不会使稳定前缀失效。当 session_status 可用时,它仍然是获取精确当前时间的来源。
系统事件行(默认本地时间)¶
插入到代理上下文中的排队系统事件使用 agents.defaults.userTimezone(若已配置),否则使用主机时区。
配置用户时区¶
userTimezone设置消息信封、系统事件和提示上下文的用户本地时区。- 使用 IANA 时区,例如
America/Chicago、Europe/Vienna或Asia/Tokyo。
时间格式检测¶
渲染的时钟值遵循操作系统和区域设置偏好。OpenClaw 在 macOS 和 Windows 上检测 12 小时制或 24 小时制显示,然后回退到区域设置格式。检测到的值按进程缓存。
工具负载与连接器(原始提供方时间 + 规范化字段)¶
渠道工具返回 提供方原生时间戳,并添加规范化字段以保持一致性:
timestampMs:纪元毫秒(UTC)timestampUtc:ISO 8601 UTC 字符串
原始提供方字段会被保留,因此不会丢失任何信息。
- Discord:UTC ISO 时间戳
- Slack:来自 API 的类似 Epoch 的字符串
- Telegram/WhatsApp:提供方特定的数字/ISO 时间戳
如果需要本地时间,请使用已知时区在下游进行转换。
相关文档¶
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw