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