97 lines
2.5 KiB
Markdown
97 lines
2.5 KiB
Markdown
|
|
---
|
|||
|
|
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)的完整行为和示例。
|