Skip to content

时区(Timezones)

Moltbot 会对时间戳做标准化,让模型看到的是单一的参考时间

消息 envelope(默认使用本地时间)

入站消息会被包装成类似这样的 envelope:

[Provider ... 2026-01-05 16:26 PST] message text

envelope 里的时间戳默认是主机本地时区,精度到分钟。

你可以通过以下配置覆盖:

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.readMessageschannels.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-hour24-hour

你可以用 agents.defaults.timeFormatauto | 12 | 24)控制 prompt 的时间格式。

完整行为与示例参见 Date & Time