时区(Timezones)
Moltbot 会对时间戳做标准化,让模型看到的是单一的参考时间。
消息 envelope(默认使用本地时间)
入站消息会被包装成类似这样的 envelope:
[Provider ... 2026-01-05 16:26 PST] message textenvelope 里的时间戳默认是主机本地时区,精度到分钟。
你可以通过以下配置覆盖:
json5
{
agents: {
defaults: {
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
envelopeTimestamp: "on", // "on" | "off"
envelopeElapsed: "on" // "on" | "off"
}
}
}envelopeTimezone: "utc"使用 UTC。envelopeTimezone: "user"使用agents.defaults.userTimezone(未设置时回退到主机时区)。- 也可以使用明确的 IANA 时区(例如
"Europe/Vienna")来获得固定偏移。 envelopeTimestamp: "off"会从 envelope header 移除绝对时间戳。envelopeElapsed: "off"会移除“耗时/经过时间”后缀(形如+2m)。
示例
本地(默认):
[Signal Alice +1555 2026-01-18 00:19 PST] hello固定时区:
[Signal Alice +1555 2026-01-18 06:19 GMT+1] hello经过时间(elapsed time):
[Signal Alice +1555 +2m 2026-01-18T05:19Z] follow-up工具 payload(raw provider 数据 + 规范化字段)
工具调用(channels.discord.readMessages、channels.slack.readMessages 等)会返回 raw provider timestamps。 为了保证一致性,我们也会附带规范化字段:
timestampMs(UTC epoch 毫秒)timestampUtc(ISO 8601 UTC 字符串)
raw provider 字段会原样保留。
system prompt 的用户时区
设置 agents.defaults.userTimezone 可告诉模型用户的本地时区。如果未设置,Moltbot 会在运行时解析主机时区(不会写回配置)。
json5
{
agents: { defaults: { userTimezone: "America/Chicago" } }
}system prompt 会包含:
Current Date & Time区块:本地时间与时区Time format: 12-hour或24-hour
你可以用 agents.defaults.timeFormat(auto | 12 | 24)控制 prompt 的时间格式。
完整行为与示例参见 Date & Time。