Ngày & Giờ

OpenClaw mặc định dùng giờ local của host cho timestamp truyền tảitimezone của người dùng chỉ trong system prompt. Timestamp từ Provider được giữ nguyên để các tool giữ nguyên ngữ nghĩa gốc (thời gian hiện tại có sẵn qua session_status).

Message envelopes (mặc định dùng giờ local)

Các tin nhắn đến được bọc với timestamp (độ chính xác đến phút):

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

Timestamp trong envelope này mặc định là giờ local của host, bất kể timezone của Provider là gì.

Các bạn có thể thay đổi hành vi này:

{
  agents: {
    defaults: {
      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone
      envelopeTimestamp: "on", // "on" | "off"
      envelopeElapsed: "on", // "on" | "off"
    },
  },
}
  • envelopeTimezone: "utc" dùng UTC.
  • envelopeTimezone: "local" dùng timezone của host.
  • envelopeTimezone: "user" dùng agents.defaults.userTimezone (fallback về timezone của host).
  • Dùng IANA timezone cụ thể (ví dụ: "America/Chicago") để fix cứng một múi giờ.
  • envelopeTimestamp: "off" bỏ timestamp tuyệt đối khỏi envelope headers.
  • envelopeElapsed: "off" bỏ hậu tố thời gian đã trôi qua (kiểu +2m).

Ví dụ

Local (mặc định):

[WhatsApp +1555 2026-01-18 00:19 PST] hello

User timezone:

[WhatsApp +1555 2026-01-18 00:19 CST] hello

Elapsed time enabled:

[WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up

System prompt: Ngày & Giờ hiện tại

Nếu biết timezone của người dùng, system prompt sẽ có một phần riêng Current Date & Time với chỉ time zone thôi (không có định dạng đồng hồ/giờ) để giữ prompt caching ổn định:

Time zone: America/Chicago

Khi Agent cần biết thời gian hiện tại, dùng tool session_status; status card sẽ có dòng timestamp.

System event lines (mặc định dùng giờ local)

Các system events trong hàng đợi được chèn vào Agent context sẽ có prefix timestamp dùng cùng cách chọn timezone như message envelopes (mặc định: host-local).

System: [2026-01-12 12:19:17 PST] Model switched.

Cấu hình user timezone + format

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
      timeFormat: "auto", // auto | 12 | 24
    },
  },
}
  • userTimezone đặt timezone local của người dùng cho prompt context.
  • timeFormat điều khiển hiển thị 12h/24h trong prompt. auto theo cài đặt của hệ điều hành.

Time format detection (auto)

Khi timeFormat: "auto", OpenClaw sẽ kiểm tra cài đặt của hệ điều hành (macOS/Windows) và fallback về định dạng locale. Giá trị phát hiện được sẽ được cache theo process để tránh gọi system nhiều lần.

Tool payloads + connectors (giờ gốc từ provider + các trường chuẩn hóa)

Các Channel tools trả về timestamp gốc từ provider và thêm các trường chuẩn hóa để đồng nhất:

  • timestampMs: epoch milliseconds (UTC)
  • timestampUtc: ISO 8601 UTC string

Các trường gốc từ Provider được giữ nguyên nên không mất thông tin gì.

  • Slack: chuỗi kiểu epoch từ API
  • Discord: timestamp ISO UTC
  • Telegram/WhatsApp: timestamp số/ISO đặc thù của provider

Nếu các bạn cần giờ local, convert nó ở downstream dùng timezone đã biết.

Tài liệu liên quan