Technical reference

تاریخ و زمان

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

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

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

Code
[Provider ... 2026-01-05 16:26 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 2026-01-18 00:19 PST] hello

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

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

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

Code
[WhatsApp +1555 +30s 2026-01-18T05:19Z] 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 نمایش 12 ساعته/24 ساعته را در پرامپت کنترل می‌کند. auto از ترجیحات سیستم‌عامل پیروی می‌کند.

تشخیص قالب زمان (خودکار)

وقتی timeFormat: "auto" باشد، OmeniaClaw ترجیح سیستم‌عامل (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