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 را فراخوانی میکند.
تنظیم منطقه زمانی کاربر
{ agents: { defaults: { userTimezone: "America/Chicago", }, },}اگر userTimezone تنظیم نشده باشد، OpenClaw منطقه زمانی میزبان را هنگام اجرا از طریق Intl.DateTimeFormat().resolvedOptions().timeZone تشخیص میدهد (بدون نوشتن در پیکربندی). agents.defaults.timeFormat (auto | 12 | 24) نمایش ۱۲/۲۴ ساعته را در پوششها و سطوح پاییندستی کنترل میکند، نه در بخش پرامپت سیستم.
مقادیر منطقه زمانی پوشش
agents.defaults.envelopeTimezone موارد زیر را میپذیرد:
"local"(پیشفرض) یا"host"- منطقه زمانی دستگاه میزبان."utc"یا"gmt"- UTC."user"- مقدار تشخیصدادهشدهagents.defaults.userTimezone(اگر تنظیم نشده باشد، به منطقه زمانی میزبان برمیگردد).- هر رشته صریح منطقه IANA، برای مثال
"Europe/Vienna".
زمان مناسب برای بازنویسی
- برای برچسبهای زمانی پایدار میان میزبانهای واقع در مناطق مختلف یا هماهنگی با خروجی عیبیابی/گزارش همتراز با UTC، از
"utc"استفاده کنید. - برای همتراز نگهداشتن پوششها با منطقه زمانی پیکربندیشده کاربر، مستقل از منطقهای که میزبان Gateway در آن اجرا میشود، از
"user"استفاده کنید. - وقتی میزبان Gateway در یک منطقه است اما پوشش باید مستقل از انتقال میزبان همیشه منطقه دیگری را نمایش دهد، از یک منطقه ثابت IANA استفاده کنید.
- وقتی بافت برچسب زمانی برای مکالمه مفید نیست،
envelopeTimestamp: "off"را تنظیم کنید. این کار برچسبهای زمانی مطلق را از پوششها، پیشوندهای مستقیم پرامپت عامل و پیشوندهای تعبیهشده ورودی مدل حذف میکند.
برای مرجع کامل رفتار، نمونههای مختص هر ارائهدهنده و قالببندی زمان سپریشده، به تاریخ و زمان مراجعه کنید.
مرتبط
- تاریخ و زمان - رفتار کامل پوشش/ابزار/پرامپت و نمونهها.
- Heartbeat - ساعات فعال برای زمانبندی از منطقه زمانی استفاده میکنند.
- کارهای Cron - عبارتهای cron برای زمانبندی از منطقه زمانی استفاده میکنند.