---
read_when:
    - تريد فهم توجيه الجلسات وعزلها
    - تريد تكوين نطاق الرسائل المباشرة لإعدادات متعددة المستخدمين
    - أنت تستكشف أخطاء عمليات إعادة تعيين الجلسات اليومية أو الخاملة وتصلحها
summary: كيف يدير OpenClaw جلسات المحادثة
title: إدارة الجلسات
x-i18n:
    generated_at: "2026-06-27T17:32:46Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: f65249b17c8b45f569531134471683e9f458015b02af29ddf4aa6e1e5c2eac05
    source_path: concepts/session.md
    workflow: 16
---

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

## كيفية توجيه الرسائل

| المصدر          | السلوك                  |
| --------------- | ------------------------- |
| الرسائل المباشرة | جلسة مشتركة افتراضيًا |
| محادثات المجموعات     | معزولة لكل مجموعة        |
| الغرف/القنوات  | معزولة لكل غرفة         |
| مهام Cron       | جلسة جديدة لكل تشغيل     |
| Webhooks        | معزولة لكل Hook         |

## عزل الرسائل المباشرة

افتراضيًا، تشارك كل الرسائل المباشرة جلسة واحدة للحفاظ على الاستمرارية. هذا مناسب
لإعدادات المستخدم الواحد.

<Warning>
إذا كان بإمكان عدة أشخاص مراسلة وكيلك، ففعّل عزل الرسائل المباشرة. من دونه، سيشارك كل
المستخدمين سياق المحادثة نفسه -- ستكون رسائل Alice الخاصة
مرئية لـ Bob.
</Warning>

**الإصلاح:**

```json5
{
  session: {
    dmScope: "per-channel-peer", // isolate by channel + sender
  },
}
```

خيارات أخرى:

- `main` (افتراضي) -- تشارك كل الرسائل المباشرة جلسة واحدة.
- `per-peer` -- العزل حسب المرسل (عبر القنوات).
- `per-channel-peer` -- العزل حسب القناة + المرسل (موصى به).
- `per-account-channel-peer` -- العزل حسب الحساب + القناة + المرسل.

<Tip>
إذا تواصل معك الشخص نفسه من قنوات متعددة، فاستخدم
`session.identityLinks` لربط هوياته بحيث يشارك جلسة واحدة.
</Tip>

### إرساء القنوات المرتبطة

تتيح أوامر الإرساء للمستخدم نقل مسار الرد الخاص بجلسة الدردشة المباشرة الحالية إلى
قناة مرتبطة أخرى من دون بدء جلسة جديدة. راجع
[إرساء القنوات](/ar/concepts/channel-docking) للاطلاع على أمثلة، والإعدادات، و
استكشاف الأخطاء وإصلاحها.

تحقق من إعدادك باستخدام `openclaw security audit`.

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

تُعاد استخدام الجلسات حتى تنتهي صلاحيتها:

- **إعادة تعيين يومية** (افتراضي) -- جلسة جديدة عند الساعة 4:00 صباحًا بالتوقيت المحلي على مضيف
  Gateway. تعتمد النضارة اليومية على وقت بدء `sessionId` الحالي، وليس
  على عمليات كتابة البيانات الوصفية اللاحقة.
- **إعادة تعيين عند الخمول** (اختياري) -- جلسة جديدة بعد فترة من عدم النشاط. اضبط
  `session.reset.idleMinutes`. تعتمد نضارة الخمول على آخر تفاعل حقيقي
  للمستخدم/القناة، لذلك لا تُبقي أحداث النظام مثل Heartbeat وCron وexec
  الجلسة نشطة.
- **إعادة تعيين يدوية** -- اكتب `/new` أو `/reset` في الدردشة. كما أن `/new <model>`
  يبدّل النموذج.

عند ضبط إعادة التعيين اليومية وإعادة التعيين عند الخمول معًا، تسري التي تنتهي أولًا.
قد تكتب أدوار أحداث النظام مثل Heartbeat وCron وexec وغيرها بيانات وصفية للجلسة،
لكن هذه الكتابات لا تمدد نضارة إعادة التعيين اليومية أو إعادة التعيين عند الخمول. عندما تؤدي إعادة التعيين
إلى تدوير الجلسة، تُهمَل إشعارات أحداث النظام الموضوعة في قائمة الانتظار للجلسة القديمة
حتى لا تُضاف تحديثات الخلفية القديمة قبل أول موجه في
الجلسة الجديدة.

لا تُقطع الجلسات التي لديها جلسة CLI نشطة يملكها المزوّد بواسطة الإعداد اليومي الافتراضي
الضمني. استخدم `/reset` أو اضبط `session.reset` صراحةً عندما ينبغي أن
تنتهي صلاحية تلك الجلسات وفق مؤقت.

## مكان حفظ الحالة

كل حالة الجلسة مملوكة لـ **Gateway**. يستعلم عملاء واجهة المستخدم من Gateway عن
بيانات الجلسة.

- **المخزن:** `~/.openclaw/agents/<agentId>/sessions/sessions.json`
- **النصوص:** `~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl`

يحافظ `sessions.json` على طوابع زمنية منفصلة لدورة الحياة:

- `sessionStartedAt`: وقت بدء `sessionId` الحالي؛ تستخدم إعادة التعيين اليومية هذا.
- `lastInteractionAt`: آخر تفاعل مستخدم/قناة يمدد عمر الخمول.
- `updatedAt`: آخر تعديل لصف المخزن؛ مفيد للعرض والتقليم، لكنه ليس
  مرجعًا حاسمًا لنضارة إعادة التعيين اليومية/عند الخمول.

تُحل الصفوف الأقدم التي لا تحتوي على `sessionStartedAt` من ترويسة جلسة JSONL
للنص عند توفرها. إذا كان صف أقدم يفتقر أيضًا إلى `lastInteractionAt`،
فتعود نضارة الخمول إلى وقت بدء تلك الجلسة، وليس إلى عمليات كتابة
مسك الدفاتر اللاحقة.

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

يضبط OpenClaw حدود تخزين الجلسات تلقائيًا بمرور الوقت. افتراضيًا، يعمل
بوضع `enforce` ويطبّق التنظيف أثناء الصيانة. اضبط
`session.maintenance.mode` على `"warn"` للإبلاغ عما كان سيُنظَّف من دون تعديل المخزن/الملفات:

```json5
{
  session: {
    maintenance: {
      mode: "enforce",
      pruneAfter: "30d",
      maxEntries: 500,
    },
  },
}
```

بالنسبة لحدود `maxEntries` بحجم الإنتاج، تستخدم كتابات وقت تشغيل Gateway مخزنًا مؤقتًا صغيرًا للحد الأعلى وتنظف على دفعات حتى تعود إلى الحد المضبوط. لا تقلّم قراءات مخزن الجلسات الإدخالات أو تحدّها أثناء بدء تشغيل Gateway. يتجنب هذا تشغيل تنظيف كامل للمخزن عند كل بدء تشغيل أو جلسة Cron معزولة. يطبّق `openclaw sessions cleanup --enforce` الحد فورًا.

تكون جلسات فحص تشغيل نموذج Gateway قصيرة العمر افتراضيًا. تستخدم الصفوف المطابقة ذات
المفاتيح الصريحة الصارمة مثل `agent:*:explicit:model-run-<uuid>` احتفاظًا ثابتًا لمدة `24h`،
لكن التنظيف مشروط بالضغط: لا يزيل صفوف الفحص القديمة إلا عندما
يُبلَغ ضغط صيانة/حد إدخالات الجلسة. عند تشغيل تنظيف تشغيل النموذج،
يعمل قبل حد عمر الإدخالات القديمة الأوسع وحد الإدخالات. لا ترث جلسات direct
وgroup وthread وcron وhook وheartbeat وACP والوكلاء الفرعيين العادية
هذا الاحتفاظ لمدة 24 ساعة.

تحافظ الصيانة على مؤشرات المحادثات الخارجية الدائمة، بما في ذلك جلسات المجموعات
وجلسات الدردشة المحصورة بالخيط، مع استمرار السماح لإدخالات Cron وhook وHeartbeat وACP
والوكلاء الفرعيين الاصطناعية بالتقادم والخروج.

إذا كنت قد استخدمت سابقًا عزل الرسائل المباشرة ثم أعدت لاحقًا
`session.dmScope` إلى `main`، فاستعرض صفوف الرسائل المباشرة القديمة ذات مفاتيح النظراء باستخدام
`openclaw sessions cleanup --dry-run --fix-dm-scope`. يؤدي تطبيق العلم نفسه
إلى إيقاف صفوف الرسائل المباشرة القديمة تلك مع إبقاء نصوصها كأرشيفات
محذوفة.

استعرض باستخدام `openclaw sessions cleanup --dry-run`.

## فحص الجلسات

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

## قراءة إضافية

- [تقليم الجلسات](/ar/concepts/session-pruning) -- تقليص نتائج الأدوات
- [Compaction](/ar/concepts/compaction) -- تلخيص المحادثات الطويلة
- [أدوات الجلسات](/ar/concepts/session-tool) -- أدوات الوكيل للعمل عبر الجلسات
- [نظرة معمقة على إدارة الجلسات](/ar/reference/session-management-compaction) --
  مخطط المخزن، والنصوص، وسياسة الإرسال، وبيانات الأصل الوصفية، والإعدادات المتقدمة
- [الوكلاء المتعددون](/ar/concepts/multi-agent) — التوجيه وعزل الجلسات عبر الوكلاء
- [مهام الخلفية](/ar/automation/tasks) — كيف ينشئ العمل المنفصل سجلات مهام مع مراجع جلسات
- [توجيه القنوات](/ar/channels/channel-routing) — كيف تُوجَّه الرسائل الواردة إلى الجلسات

## ذو صلة

- [تقليم الجلسات](/ar/concepts/session-pruning)
- [أدوات الجلسات](/ar/concepts/session-tool)
- [قائمة انتظار الأوامر](/ar/concepts/queue)
