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 ใช้เขตเวลาสำหรับการตั้งเวลา