Technical reference

تاریخ و زمان

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

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

پیام‌های ورودی با یک مهر زمانی (با دقت ثانیه) بسته‌بندی می‌شوند:

Code
[Provider ... Mon 2026-01-05 16:26:34 PST] message text

این مهر زمانیِ پوشش، صرف‌نظر از منطقه زمانی ارائه‌دهنده، به‌طور پیش‌فرض محلیِ میزبان است.

می‌توانید این رفتار را بازنویسی کنید:

json5
{  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) را حذف می‌کند.

مثال‌ها

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

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

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

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

زمان سپری‌شده فعال:

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

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

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

Code
Time zone: America/Chicago

وقتی عامل به زمان فعلی نیاز دارد، از ابزار session_status استفاده کنید؛ کارت وضعیت شامل یک خط مهر زمانی است.

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

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

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

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

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

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

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

Was this useful?
On this page

On this page