Concept internals
مناطق زمانی
OpenClaw مُهرهای زمانی را استاندارد میکند تا مدل بهجای ترکیبی از ساعتهای محلی ارائهدهندگان، یک زمان مرجع واحد ببیند. سه سطح، منطقههای زمانی را نمایش میدهند که هرکدام هدف خاص خود را دارند:
سه سطح منطقه زمانی
| سطح | آنچه نمایش میدهد | پیشفرض | پیکربندی از طریق |
|---|---|---|---|
| پوششهای پیام | پیامهای ورودی کانال را دربر میگیرد: [Signal +1555 Sun 2026-01-18 00:19:42 PST] hello |
محلیِ میزبان | agents.defaults.envelopeTimezone |
| بارهای ابزار | ابزارهای کانال از نوع readMessages، زمان خام ارائهدهنده را همراه با timestampMs / timestampUtc نرمالشده برمیگردانند |
فیلدهای UTC همیشه موجودند | قابل پیکربندی نیست؛ مُهرهای زمانی بومی ارائهدهنده را حفظ میکند |
| پرامپت سیستم | یک بلوک کوچک تاریخ و زمان فعلی فقط با منطقه زمانی (بدون مقدار ساعت، برای پایداری حافظهٔ نهان) |
اگر 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 برای زمانبندی از منطقه زمانی استفاده میکنند.