Technical reference
تاریخ و زمان
OpenClaw بهطور پیشفرض از زمان محلی میزبان برای مهرهای زمانی انتقال و از منطقه زمانی کاربر فقط در پرامپت سیستم استفاده میکند.
مهرهای زمانی ارائهدهنده حفظ میشوند تا ابزارها معنای بومی خود را نگه دارند (زمان فعلی از طریق session_status در دسترس است).
پوششهای پیام (بهطور پیشفرض محلی)
پیامهای ورودی با یک مهر زمانی (با دقت ثانیه) بستهبندی میشوند:
[Provider ... Mon 2026-01-05 16:26:34 PST] message textاین مهر زمانیِ پوشش، صرفنظر از منطقه زمانی ارائهدهنده، بهطور پیشفرض محلیِ میزبان است.
میتوانید این رفتار را بازنویسی کنید:
{ agents: { defaults: { envelopeTimezone: "local", // "utc" | "local" | "user" | IANA timezone envelopeTimestamp: "on", // "on" | "off" envelopeElapsed: "on", // "on" | "off" }, },}envelopeTimezone: "utc"از UTC استفاده میکند.envelopeTimezone: "local"از منطقه زمانی میزبان استفاده میکند.envelopeTimezone: "user"ازagents.defaults.userTimezoneاستفاده میکند (در صورت نبود، به منطقه زمانی میزبان برمیگردد).- برای یک منطقه ثابت، از یک منطقه زمانی صریح IANA استفاده کنید (مثلاً
"America/Chicago"). envelopeTimestamp: "off"مهرهای زمانی مطلق را از سرآیندهای پوشش، پیشوندهای مستقیم پرامپت عامل، و پیشوندهای جاسازیشده ورودی مدل حذف میکند.envelopeElapsed: "off"پسوندهای زمان سپریشده (سبک+2m) را حذف میکند.
مثالها
محلی (پیشفرض):
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] helloمنطقه زمانی کاربر:
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] helloزمان سپریشده فعال:
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-upپرامپت سیستم: تاریخ و زمان فعلی
اگر منطقه زمانی کاربر شناخته شده باشد، پرامپت سیستم یک بخش اختصاصی تاریخ و زمان فعلی با فقط منطقه زمانی (بدون قالب ساعت/زمان) در بر میگیرد تا کش پرامپت پایدار بماند:
Time zone: America/Chicagoوقتی عامل به زمان فعلی نیاز دارد، از ابزار session_status استفاده کنید؛ کارت وضعیت
شامل یک خط مهر زمانی است.
خطهای رویداد سیستم (بهطور پیشفرض محلی)
رویدادهای سیستمِ صفشده که در زمینه عامل درج میشوند، با مهر زمانیای پیشوند میگیرند که از همان انتخاب منطقه زمانیِ پوششهای پیام استفاده میکند (پیشفرض: محلیِ میزبان).
System: [2026-01-12 12:19:17 PST] Model switched.پیکربندی منطقه زمانی کاربر + قالب
{ agents: { defaults: { userTimezone: "America/Chicago", timeFormat: "auto", // auto | 12 | 24 }, },}userTimezoneمنطقه زمانی محلی کاربر را برای زمینه پرامپت تنظیم میکند.timeFormatنمایش ۱۲ساعته/۲۴ساعته را در پرامپت کنترل میکند.autoاز ترجیحات سیستمعامل پیروی میکند.
تشخیص قالب زمان (خودکار)
وقتی timeFormat: "auto" باشد، OpenClaw ترجیح سیستمعامل (macOS/Windows)
را بررسی میکند و در صورت نبود، به قالببندی locale برمیگردد. مقدار تشخیصدادهشده برای جلوگیری از فراخوانیهای تکراری سیستم، برای هر فرایند کش میشود.
بارهای ابزار + اتصالدهندهها (زمان خام ارائهدهنده + فیلدهای نرمالشده)
ابزارهای کانال، مهرهای زمانی بومیِ ارائهدهنده را برمیگردانند و برای سازگاری، فیلدهای نرمالشده اضافه میکنند:
timestampMs: میلیثانیههای epoch (UTC)timestampUtc: رشته UTC در قالب ISO 8601
فیلدهای خام ارائهدهنده حفظ میشوند تا چیزی از دست نرود.
- Slack: رشتههای شبیه epoch از API
- Discord: مهرهای زمانی ISO بر پایه UTC
- Telegram/WhatsApp: مهرهای زمانی عددی/ISO ویژه ارائهدهنده
اگر به زمان محلی نیاز دارید، آن را در مراحل پاییندست با استفاده از منطقه زمانی شناختهشده تبدیل کنید.