Technical reference

تاریخ و زمان

OpenClaw برای مُهرهای زمانی انتقال از زمان محلی میزبان استفاده می‌کند و فقط منطقهٔ زمانی را در اعلان سیستم قرار می‌دهد. مُهرهای زمانی ارائه‌دهنده حفظ می‌شوند تا ابزارها معناشناسی بومی خود را حفظ کنند. هرگاه عامل به زمان کنونی نیاز داشته باشد، ابزار session_status را اجرا می‌کند.

پوش پیام‌ها (به‌طور پیش‌فرض محلی)

پیام‌های ورودی با روز هفته و مُهر زمانی با دقت ثانیه پوشانده می‌شوند:

Code
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] message text

مُهر زمانی پوش، صرف‌نظر از منطقهٔ زمانی ارائه‌دهنده، به‌طور پیش‌فرض بر اساس زمان محلی میزبان است. برای بازنویسی این رفتار، زیر agents.defaults تنظیم کنید:

json5
{  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) را که از زمان پیام پیشین در نشست نشان داده می‌شود، حذف می‌کند.

نمونه‌ها

محلی (پیش‌فرض):

Code
[WhatsApp +1555 Sun 2026-01-18 00:19:42 PST] hello

منطقهٔ زمانی کاربر:

Code
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] hello

زمان سپری‌شده با envelopeTimezone: "utc":

Code
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] follow-up

اعلان سیستم: تاریخ و زمان کنونی

اعلان سیستم شامل بخشی با عنوان تاریخ و زمان کنونی است که فقط منطقهٔ زمانی را در بر دارد (بدون ساعت یا قالب زمان) تا حافظهٔ نهان اعلان پایدار بماند:

Code
Time zone: America/Chicago

در صورت پیکربندی، منطقه از agents.defaults.userTimezone گرفته می‌شود؛ در غیر این صورت، منطقهٔ زمانی میزبان استفاده می‌شود. اعلان همچنین به عامل دستور می‌دهد هرگاه به تاریخ، زمان یا روز هفتهٔ کنونی نیاز داشت، ابزار session_status را اجرا کند.

خطوط رویداد سیستم (به‌طور پیش‌فرض محلی)

رویدادهای سیستمی صف‌شده که در زمینهٔ عامل درج می‌شوند، با مُهر زمانی‌ای پیشوند می‌گیرند که از همان انتخاب envelopeTimezone پوش‌های پیام استفاده می‌کند (پیش‌فرض: زمان محلی میزبان).

Code
System: [2026-01-12 12:19:17 PST] Model switched.

پیکربندی منطقهٔ زمانی کاربر و قالب

json5
{  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 ویژهٔ ارائه‌دهنده

اگر به زمان محلی نیاز دارید، آن را در مراحل پایین‌دست با استفاده از منطقهٔ زمانی شناخته‌شده تبدیل کنید.

مستندات مرتبط

Was this useful?
On this page

On this page