Concept internals

เขตเวลา

OpenClaw ทำให้ timestamp เป็นมาตรฐาน เพื่อให้โมเดลเห็น เวลาอ้างอิงเดียว แทนการปะปนของนาฬิกาท้องถิ่นจากผู้ให้บริการแต่ละราย มีสามส่วนที่เขตเวลาปรากฏขึ้น โดยแต่ละส่วนมีวัตถุประสงค์ของตัวเอง:

สามส่วนของเขตเวลา

ส่วน สิ่งที่แสดง ค่าเริ่มต้น กำหนดค่าผ่าน
ซองข้อความ ห่อหุ้มข้อความขาเข้าจากช่องทาง: [Signal +1555 2026-01-18 00:19 PST] hello ตามโฮสต์เครื่อง agents.defaults.envelopeTimezone
เพย์โหลดของเครื่องมือ เครื่องมือของช่องทางแบบ readMessages คืนเวลาดิบจากผู้ให้บริการ + timestampMs / timestampUtc ที่ปรับให้อยู่ในรูปแบบมาตรฐาน มีฟิลด์ UTC อยู่เสมอ กำหนดค่าไม่ได้ — รักษา timestamp ดั้งเดิมจากผู้ให้บริการ
พรอมป์ระบบ บล็อก Current Date & Time ขนาดเล็กที่มี เฉพาะเขตเวลา (ไม่มีค่านาฬิกา เพื่อความเสถียรของแคช) เขตเวลาของโฮสต์หากไม่ได้ตั้ง userTimezone agents.defaults.userTimezone

พรอมป์ระบบจงใจละค่านาฬิกาสดไว้เพื่อให้การแคชพรอมป์เสถียรข้ามเทิร์น เมื่อเอเจนต์ต้องการเวลาปัจจุบัน จะเรียก session_status

การตั้งค่าเขตเวลาของผู้ใช้

{
  agents: {
    defaults: {
      userTimezone: "America/Chicago",
    },
  },
}

หากไม่ได้ตั้ง userTimezone OpenClaw จะระบุเขตเวลาของโฮสต์ตอนรันไทม์ (ไม่เขียนค่า config) agents.defaults.timeFormat (auto | 12 | 24) ควบคุมการแสดงผลแบบ 12 ชั่วโมง/24 ชั่วโมงในซองข้อความและส่วนปลายทางถัดไป ไม่ใช่ในส่วนพรอมป์ระบบ

เมื่อใดควรแทนที่ค่า

  • ใช้ซองข้อความแบบ UTC (envelopeTimezone: "utc") เมื่อคุณต้องการ timestamp ที่เสถียรข้ามโฮสต์ในภูมิภาคต่างกัน หรือเมื่อต้องการให้ log ที่อิง UTC ตรงกับเอาต์พุต diagnostics
  • ใช้โซน IANA แบบคงที่ (เช่น "Europe/Vienna") เมื่อโฮสต์ Gateway อยู่ในโซนหนึ่ง แต่ผู้ใช้อยู่ในอีกโซนหนึ่ง และคุณต้องการให้ซองข้อความอ่านตามโซนของผู้ใช้ไม่ว่าโฮสต์จะย้ายไปที่ใด
  • ตั้ง envelopeTimestamp: "off" สำหรับซองข้อความที่ใช้โทเคนน้อย เมื่อบริบท timestamp ไม่เป็นประโยชน์ต่อการสนทนา

สำหรับข้อมูลอ้างอิงพฤติกรรมฉบับเต็ม ตัวอย่างตามผู้ให้บริการ และการจัดรูปแบบเวลาที่ผ่านไป ดู วันที่และเวลา

ที่เกี่ยวข้อง

  • วันที่และเวลา — พฤติกรรมและตัวอย่างทั้งหมดของซองข้อความ/เครื่องมือ/พรอมป์
  • Heartbeat — ชั่วโมงที่ใช้งานใช้เขตเวลาสำหรับการตั้งเวลา
  • Cron Jobs — นิพจน์ Cron ใช้เขตเวลาสำหรับการตั้งเวลา