Concept internals

เขตเวลา

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

ส่วนแสดงเขตเวลาสามส่วน

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

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

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

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

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

ค่าของเขตเวลาซองข้อความ

agents.defaults.envelopeTimezone ยอมรับค่าต่อไปนี้:

  • "local" (ค่าเริ่มต้น) หรือ "host" - เขตเวลาของเครื่องโฮสต์
  • "utc" หรือ "gmt" - UTC
  • "user" - ค่า agents.defaults.userTimezone ที่ตรวจหาแล้ว (หากไม่ได้ตั้งไว้ จะใช้เขตเวลาของโฮสต์แทน)
  • สตริงเขตเวลา IANA ที่ระบุอย่างชัดเจน เช่น "Europe/Vienna"

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

  • ใช้ "utc" เพื่อให้การประทับเวลาคงที่ระหว่างโฮสต์ในภูมิภาคต่าง ๆ หรือเพื่อให้ตรงกับผลลัพธ์การวินิจฉัย/บันทึกที่อิง UTC
  • ใช้ "user" เพื่อให้ซองข้อความตรงกับเขตเวลาของผู้ใช้ที่กำหนดไว้ ไม่ว่าโฮสต์ Gateway จะทำงานอยู่ในเขตเวลาใด
  • ใช้เขตเวลา IANA แบบคงที่ เมื่อโฮสต์ Gateway อยู่ในเขตเวลาหนึ่ง แต่ต้องการให้ซองข้อความแสดงเวลาในอีกเขตเวลาหนึ่งเสมอ โดยไม่ขึ้นกับการย้ายโฮสต์
  • ตั้ง envelopeTimestamp: "off" เมื่อบริบทการประทับเวลาไม่มีประโยชน์ต่อการสนทนา การตั้งค่านี้จะลบการประทับเวลาแบบสัมบูรณ์ออกจากซองข้อความ คำนำหน้าพรอมต์โดยตรงของตัวแทน และคำนำหน้าอินพุตโมเดลที่ฝังอยู่

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

เนื้อหาที่เกี่ยวข้อง

  • วันที่และเวลา - พฤติกรรมและตัวอย่างทั้งหมดของซองข้อความ/เครื่องมือ/พรอมต์
  • Heartbeat - ช่วงเวลาทำงานใช้เขตเวลาในการจัดกำหนดการ
  • งาน Cron - นิพจน์ cron ใช้เขตเวลาในการจัดกำหนดการ
Was this useful?
On this page

On this page