الانتقال إلى المحتوى الرئيسي

إدارة الجلسات

ينظّم OpenClaw المحادثات في جلسات. تُوجَّه كل رسالة إلى جلسة بناءً على مصدرها — الرسائل الخاصة، ودردشات المجموعات، ومهام cron، وما إلى ذلك.

كيف تُوجَّه الرسائل

المصدرالسلوك
الرسائل الخاصةجلسة مشتركة افتراضيًا
دردشات المجموعاتمعزولة لكل مجموعة
الغرف/القنواتمعزولة لكل غرفة
مهام Cronجلسة جديدة لكل تشغيل
Webhooksمعزولة لكل hook

عزل الرسائل الخاصة

افتراضيًا، تشترك جميع الرسائل الخاصة في جلسة واحدة للاستمرارية. وهذا مناسب لبيئات الإعداد ذات المستخدم الواحد.
إذا كان بإمكان عدة أشخاص مراسلة وكيلك، فقم بتمكين عزل الرسائل الخاصة. من دون ذلك، يشترك جميع المستخدمين في سياق المحادثة نفسه — وستكون رسائل Alice الخاصة مرئية لـ Bob.
الحل:
{
  session: {
    dmScope: "per-channel-peer", // عزل حسب القناة + المرسل
  },
}
خيارات أخرى:
  • main (الافتراضي) — تشترك جميع الرسائل الخاصة في جلسة واحدة.
  • per-peer — عزل حسب المرسل (عبر القنوات).
  • per-channel-peer — عزل حسب القناة + المرسل (موصى به).
  • per-account-channel-peer — عزل حسب الحساب + القناة + المرسل.
إذا تواصل معك الشخص نفسه من قنوات متعددة، فاستخدم session.identityLinks لربط هوياته حتى يشترك في جلسة واحدة.
تحقق من إعدادك باستخدام openclaw security audit.

دورة حياة الجلسة

تُعاد استخدام الجلسات حتى تنتهي صلاحيتها:
  • إعادة تعيين يومية (الافتراضي) — جلسة جديدة عند الساعة 4:00 صباحًا بالتوقيت المحلي على مضيف البوابة.
  • إعادة تعيين عند الخمول (اختياري) — جلسة جديدة بعد فترة من عدم النشاط. اضبط session.reset.idleMinutes.
  • إعادة تعيين يدوية — اكتب /new أو /reset في الدردشة. كما يبدّل /new <model> النموذج أيضًا.
عند تكوين كل من إعادة التعيين اليومية وإعادة التعيين عند الخمول، يفوز أيهما تنتهي صلاحيته أولًا.

أين توجد الحالة

تعود ملكية كل حالة الجلسة إلى البوابة. تستعلم عملاء واجهة المستخدم من البوابة عن بيانات الجلسة.
  • المخزن: ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • النصوص: ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

صيانة الجلسات

يقيد OpenClaw تلقائيًا تخزين الجلسات مع مرور الوقت. افتراضيًا، يعمل في وضع warn (يبلغ عما سيتم تنظيفه). اضبط session.maintenance.mode على "enforce" للتنظيف التلقائي:
{
  session: {
    maintenance: {
      mode: "enforce",
      pruneAfter: "30d",
      maxEntries: 500,
    },
  },
}
عاين النتيجة باستخدام openclaw sessions cleanup --dry-run.

فحص الجلسات

  • openclaw status — مسار مخزن الجلسة والنشاط الأخير.
  • openclaw sessions --json — جميع الجلسات (صفِّها باستخدام --active <minutes>).
  • /status في الدردشة — استخدام السياق، والنموذج، ومفاتيح التبديل.
  • /context list — ما الموجود في system prompt.

قراءة إضافية