Technical reference

تاریخ و زمان

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

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

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

Code
[WhatsApp +1555 Mon 2026-01-05 16:26:34 PST] متن پیام

مُهر زمانی پوشش، صرف‌نظر از منطقه زمانی ارائه‌دهنده، به‌طور پیش‌فرض محلیِ میزبان است. آن را در 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] سلام

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

Code
[WhatsApp +1555 Sun 2026-01-18 00:19:42 CST] سلام

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

Code
[WhatsApp +1555 +30s Sun 2026-01-18T05:19:00Z] پیگیری

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

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

Code
منطقه زمانی: America/Chicago

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

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

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

Code
سیستم: [2026-01-12 12:19:17 PST] مدل تغییر کرد.

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

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