Technical reference

วันที่และเวลา

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

ซองข้อความ (ค่าเริ่มต้นเป็นเวลาท้องถิ่น)

ข้อความขาเข้าจะถูกครอบด้วยวันในสัปดาห์และการประทับเวลาที่มีความละเอียดถึงวินาที:

Code
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] message text

โดยค่าเริ่มต้น การประทับเวลาของซองจะเป็น เวลาท้องถิ่นของโฮสต์ ไม่ว่าเขตเวลาของผู้ให้บริการจะเป็นเขตเวลาใด กำหนดค่าทับได้ภายใต้ agents.defaults:

json5
{  agents: {    defaults: {      envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone      envelopeTimestamp: "on", // "on" | "off"      envelopeElapsed: "on", // "on" | "off"    },  },}
คีย์ ค่า ลักษณะการทำงาน
envelopeTimezone local (ค่าเริ่มต้น), utc, user, ชื่อ IANA ที่ระบุโดยตรง user ใช้ agents.defaults.userTimezone (ใช้เขตเวลาของโฮสต์เมื่อไม่ได้ตั้งค่า) ชื่อ IANA ที่ระบุโดยตรง (เช่น "America/Chicago") จะกำหนดเขตเวลาคงที่ ส่วนชื่อที่ไม่รู้จักจะย้อนกลับไปใช้ UTC
envelopeTimestamp on (ค่าเริ่มต้น), off off จะนำการประทับเวลาแบบสัมบูรณ์ออกจากส่วนหัวของซอง คำนำหน้าพรอมต์ที่ส่งตรงถึงเอเจนต์ และคำนำหน้าที่ฝังอยู่ในอินพุตของโมเดล
envelopeElapsed on (ค่าเริ่มต้น), off off จะนำส่วนต่อท้ายแสดงเวลาที่ผ่านไป (รูปแบบ +30s / +2m) นับจากข้อความก่อนหน้าในเซสชันออก

ตัวอย่าง

เวลาท้องถิ่น (ค่าเริ่มต้น):

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

เขตเวลาของผู้ใช้:

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

เวลาที่ผ่านไปเมื่อใช้ envelopeTimezone: "utc":

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

พรอมต์ระบบ: วันที่และเวลาปัจจุบัน

พรอมต์ระบบมีส่วน วันที่และเวลาปัจจุบัน ซึ่งระบุ เฉพาะเขตเวลา (ไม่มีนาฬิกาหรือรูปแบบเวลา) เพื่อให้แคชพรอมต์คงที่:

Code
Time zone: America/Chicago

เขตเวลาจะใช้ agents.defaults.userTimezone เมื่อตั้งค่าไว้ มิฉะนั้นจะใช้เขตเวลาของโฮสต์ พรอมต์ยังสั่งให้เอเจนต์เรียกใช้เครื่องมือ session_status เมื่อใดก็ตามที่ต้องการทราบ วันที่ เวลา หรือวันในสัปดาห์ปัจจุบัน

บรรทัดเหตุการณ์ระบบ (ค่าเริ่มต้นเป็นเวลาท้องถิ่น)

เหตุการณ์ระบบที่อยู่ในคิวและแทรกเข้าในบริบทของเอเจนต์จะมีคำนำหน้าเป็นการประทับเวลา โดยใช้การเลือก envelopeTimezone แบบเดียวกับซองข้อความ (ค่าเริ่มต้น: เวลาท้องถิ่นของโฮสต์)

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

กำหนดเขตเวลาของผู้ใช้และรูปแบบ

json5
{  agents: {    defaults: {      userTimezone: "America/Chicago",      timeFormat: "auto", // auto | 12 | 24    },  },}
  • userTimezone กำหนด เขตเวลาท้องถิ่นของผู้ใช้ สำหรับบริบทของพรอมต์ (และสำหรับ envelopeTimezone: "user")
  • timeFormat ควบคุม การแสดงผลแบบ 12/24 ชั่วโมง สำหรับเวลาที่แสดงในพรอมต์ auto จะใช้ค่ากำหนดของระบบปฏิบัติการ

การตรวจหารูปแบบเวลา (อัตโนมัติ)

เมื่อใช้ timeFormat: "auto" OpenClaw จะตรวจสอบค่ากำหนดของระบบปฏิบัติการ (macOS และ Windows) และย้อนกลับไปใช้การจัดรูปแบบตามโลแคล ค่าที่ตรวจพบจะถูก แคชแยกตามแต่ละโพรเซส เพื่อหลีกเลี่ยงการเรียกระบบซ้ำ

เพย์โหลดของเครื่องมือและตัวเชื่อมต่อ (เวลาดิบจากผู้ให้บริการและฟิลด์ที่ปรับให้เป็นมาตรฐาน)

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

  • timestampMs: มิลลิวินาทีนับจากยุคเริ่มต้น (UTC)
  • timestampUtc: สตริง UTC รูปแบบ ISO 8601

ฟิลด์ดิบจากผู้ให้บริการจะถูกเก็บไว้เพื่อไม่ให้ข้อมูลสูญหาย

  • Discord: การประทับเวลา ISO แบบ UTC
  • Slack: สตริงลักษณะคล้ายเวลานับจากยุคเริ่มต้นจาก API
  • Telegram/WhatsApp: การประทับเวลาแบบตัวเลข/ISO ที่เฉพาะเจาะจงกับผู้ให้บริการ

หากต้องการเวลาท้องถิ่น ให้แปลงในขั้นตอนปลายทางโดยใช้เขตเวลาที่ทราบ

เอกสารที่เกี่ยวข้อง

Was this useful?
On this page

On this page