Files
Moltbot/docs/zh-CN/concepts/timezone.md
2026-02-02 16:38:25 +01:00

97 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
read_when:
- 需要了解时间戳如何为模型进行规范化
- 为系统提示词配置用户时区
summary: 智能体、信封和提示词的时区处理
title: 时区
x-i18n:
generated_at: "2026-02-01T20:24:13Z"
model: claude-opus-4-5
provider: pi
source_hash: 9ee809c96897db1126c7efcaa5bf48a63cdcb2092abd4b3205af224ebd882766
source_path: concepts/timezone.md
workflow: 14
---
# 时区
OpenClaw 对时间戳进行标准化,使模型看到**单一的参考时间**。
## 消息信封(默认为本地时间)
入站消息被包装在如下信封中:
```
[Provider ... 2026-01-05 16:26 PST] message text
```
信封中的时间戳**默认为主机本地时间**,精确到分钟。
你可以通过以下配置进行覆盖:
```json5
{
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
```
## 工具负载(原始提供商数据 + 规范化字段)
工具调用(`channels.discord.readMessages``channels.slack.readMessages` 等)返回**原始提供商时间戳**。我们还附加规范化字段以保持一致性:
- `timestampMs`UTC 纪元毫秒数)
- `timestampUtc`ISO 8601 UTC 字符串)
原始提供商字段保持不变。
## 系统提示词的用户时区
设置 `agents.defaults.userTimezone` 来告知模型用户的本地时区。如果未设置OpenClaw 会在运行时**解析主机时区**(无需写入配置)。
```json5
{
agents: { defaults: { userTimezone: "America/Chicago" } },
}
```
系统提示词包含:
- `Current Date & Time` 部分,显示本地时间和时区
- `Time format: 12-hour``24-hour`
你可以通过 `agents.defaults.timeFormat``auto` | `12` | `24`)控制提示词格式。
详情参见[日期与时间](/date-time)的完整行为和示例。