Technical reference
تاریخ و زمان
OpenClaw بهطور پیشفرض از زمان محلی میزبان برای مهرهای زمانی انتقال و منطقه زمانی کاربر فقط در پرامپت سیستم استفاده میکند.
مهرهای زمانی ارائهدهنده حفظ میشوند تا ابزارها معنای بومی خود را نگه دارند (زمان فعلی از طریق session_status در دسترس است).
پوششهای پیام (بهطور پیشفرض محلی)
پیامهای ورودی با یک مهر زمانی (با دقت دقیقه) پوشش داده میشوند:
[Provider ... 2026-01-05 16:26 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 2026-01-18 00:19 PST] hello
منطقه زمانی کاربر:
[WhatsApp +1555 2026-01-18 00:19 CST] hello
زمان سپریشده فعال:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] 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نمایش 12 ساعته/24 ساعته را در پرامپت کنترل میکند.autoاز ترجیحات سیستمعامل پیروی میکند.
تشخیص قالب زمان (خودکار)
وقتی timeFormat: "auto" باشد، OpenClaw ترجیح سیستمعامل (macOS/Windows)
را بررسی میکند و در صورت نبود، به قالببندی locale برمیگردد. مقدار تشخیصدادهشده برای هر فرایند کش میشود
تا از فراخوانیهای تکراری سیستم جلوگیری شود.
محمولههای ابزار + رابطها (زمان خام ارائهدهنده + فیلدهای نرمالشده)
ابزارهای کانال مهرهای زمانی بومی ارائهدهنده را برمیگردانند و برای یکدستی، فیلدهای نرمالشده اضافه میکنند:
timestampMs: میلیثانیههای epoch (UTC)timestampUtc: رشته UTC با قالب ISO 8601
فیلدهای خام ارائهدهنده حفظ میشوند تا چیزی از دست نرود.
- Slack: رشتههای شبیه epoch از API
- Discord: مهرهای زمانی ISO با UTC
- Telegram/WhatsApp: مهرهای زمانی عددی/ISO ویژه ارائهدهنده
اگر به زمان محلی نیاز دارید، آن را در پاییندست با استفاده از منطقه زمانی شناختهشده تبدیل کنید.