---
read_when:
    - تريد تشغيل ترقية الذاكرة تلقائيًا
    - تريد فهم ما تفعله كل مرحلة من مراحل Dreaming
    - تريد ضبط الدمج دون تلويث MEMORY.md
sidebarTitle: Dreaming
summary: ترسيخ الذاكرة في الخلفية بمراحل خفيفة وعميقة وREM بالإضافة إلى مذكّرة الأحلام
title: Dreaming
x-i18n:
    generated_at: "2026-06-30T14:05:09Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 1b636df63cdc5b60758f9600af695b3b6453122a03b0cc6fdc69d3c9259d1e61
    source_path: concepts/dreaming.md
    workflow: 16
---

Dreaming هو نظام دمج الذاكرة في الخلفية ضمن `memory-core`. يساعد OpenClaw على نقل الإشارات القصيرة الأمد القوية إلى ذاكرة متينة مع إبقاء العملية قابلة للتفسير والمراجعة.

<Note>
Dreaming **اختياري** ومعطّل افتراضيًا.
</Note>

## ما يكتبه Dreaming

يحتفظ Dreaming بنوعين من المخرجات:

- **حالة الآلة** في `memory/.dreams/` (مخزن الاستدعاء، إشارات المراحل، نقاط تحقق الاستيعاب، الأقفال).
- **مخرجات قابلة للقراءة البشرية** في `DREAMS.md` (أو `dreams.md` الموجود) وملفات تقارير مراحل اختيارية تحت `memory/dreaming/<phase>/YYYY-MM-DD.md`.

لا تزال الترقية طويلة الأمد تكتب فقط إلى `MEMORY.md`.

## نموذج المراحل

يستخدم Dreaming ثلاث مراحل تعاونية:

| المرحلة | الغرض | الكتابة المتينة |
| ----- | ----------------------------------------- | ----------------- |
| خفيفة | فرز المواد الحديثة القصيرة الأمد وتجهيزها | لا |
| عميقة  | تقييم المرشحين المتينين وترقيتهم      | نعم (`MEMORY.md`) |
| REM   | التأمل في السمات والأفكار المتكررة     | لا                |

هذه المراحل تفاصيل تنفيذ داخلية، وليست "أوضاعًا" منفصلة يضبطها المستخدم.

<AccordionGroup>
  <Accordion title="المرحلة الخفيفة">
    تستوعب المرحلة الخفيفة إشارات الذاكرة اليومية الحديثة وآثار الاستدعاء، وتزيل تكرارها، وتجهز الأسطر المرشحة.

    - تقرأ من حالة الاستدعاء القصيرة الأمد، وملفات الذاكرة اليومية الحديثة، ونصوص جلسات منقحة عند توفرها.
    - تكتب كتلة `## Light Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمنة.
    - تسجل إشارات التعزيز لاستخدامها لاحقًا في الترتيب العميق.
    - لا تكتب أبدًا إلى `MEMORY.md`.

  </Accordion>
  <Accordion title="المرحلة العميقة">
    تقرر المرحلة العميقة ما يصبح ذاكرة طويلة الأمد.

    - ترتب المرشحين باستخدام تقييم موزون وبوابات عتبات.
    - تتطلب اجتياز `minScore` و`minRecallCount` و`minUniqueQueries`.
    - تعيد ترطيب المقاطع من الملفات اليومية الحية قبل الكتابة، بحيث يتم تخطي المقاطع القديمة/المحذوفة.
    - تلحق الإدخالات التي تمت ترقيتها بـ `MEMORY.md`.
    - تكتب ملخص `## Deep Sleep` في `DREAMS.md` وتكتب اختياريًا `memory/dreaming/deep/YYYY-MM-DD.md`.

  </Accordion>
  <Accordion title="مرحلة REM">
    تستخرج مرحلة REM الأنماط والإشارات التأملية.

    - تبني ملخصات السمات والتأملات من الآثار القصيرة الأمد الحديثة.
    - تكتب كتلة `## REM Sleep` مُدارة عندما يتضمن التخزين مخرجات مضمنة.
    - تسجل إشارات تعزيز REM المستخدمة في الترتيب العميق.
    - لا تكتب أبدًا إلى `MEMORY.md`.

  </Accordion>
</AccordionGroup>

## استيعاب نصوص الجلسات

يمكن لـ Dreaming استيعاب نصوص جلسات منقحة في متن Dreaming. عند توفر النصوص، تُغذّى في المرحلة الخفيفة إلى جانب إشارات الذاكرة اليومية وآثار الاستدعاء. يتم تنقيح المحتوى الشخصي والحساس قبل الاستيعاب.

## يوميات الأحلام

يحتفظ Dreaming أيضًا بسرد **يوميات الأحلام** في `DREAMS.md`. بعد أن تحتوي كل مرحلة على مادة كافية، يشغّل `memory-core` دورة subagent في الخلفية على أساس أفضل جهد ويلحق إدخال يوميات قصيرًا. يستخدم نموذج وقت التشغيل الافتراضي ما لم يتم تكوين `dreaming.model`. إذا لم يكن النموذج المكوّن متاحًا، تعيد يوميات الأحلام المحاولة مرة واحدة باستخدام نموذج الجلسة الافتراضي.

<Note>
هذه اليوميات مخصصة للقراءة البشرية في واجهة مستخدم Dreams، وليست مصدر ترقية. تُستبعد آثار اليوميات/التقارير المُنشأة بواسطة Dreaming من الترقية القصيرة الأمد. وحدها مقاطع الذاكرة المؤسَّسة مؤهلة للترقية إلى `MEMORY.md`.
</Note>

توجد أيضًا مسار ملء خلفي تاريخي مؤسَّس لأعمال المراجعة والاسترداد:

<AccordionGroup>
  <Accordion title="أوامر الملء الخلفي">
    - `memory rem-harness --path ... --grounded` يعاين مخرجات يوميات مؤسَّسة من ملاحظات `YYYY-MM-DD.md` التاريخية.
    - `memory rem-backfill --path ...` يكتب إدخالات يوميات مؤسَّسة قابلة للعكس في `DREAMS.md`.
    - `memory rem-backfill --path ... --stage-short-term` يجهز مرشحين متينين مؤسَّسين في مخزن الأدلة القصيرة الأمد نفسه الذي تستخدمه المرحلة العميقة العادية بالفعل.
    - `memory rem-backfill --rollback` و`--rollback-short-term` يزيلان آثار الملء الخلفي المجهزة تلك دون لمس إدخالات اليوميات العادية أو الاستدعاء القصير الأمد الحي.

  </Accordion>
</AccordionGroup>

تعرض واجهة التحكم نفس تدفق الملء الخلفي/إعادة الضبط لليوميات، بحيث يمكنك فحص النتائج في مشهد Dreams قبل تقرير ما إذا كان المرشحون المؤسَّسون يستحقون الترقية. يعرض المشهد أيضًا مسارًا مؤسَّسًا مميزًا بحيث يمكنك رؤية أي إدخالات قصيرة الأمد مجهزة جاءت من إعادة تشغيل تاريخية، وأي عناصر تمت ترقيتها كانت بقيادة مؤسَّسة، ومسح الإدخالات المجهزة المؤسَّسة فقط دون لمس حالة الذاكرة القصيرة الأمد الحية العادية.

## إشارات الترتيب العميق

يستخدم الترتيب العميق ست إشارات أساسية موزونة بالإضافة إلى تعزيز المرحلة:

| الإشارة              | الوزن | الوصف                                       |
| ------------------- | ------ | ------------------------------------------------- |
| التكرار           | 0.24   | عدد الإشارات القصيرة الأمد التي راكمها الإدخال |
| الصلة           | 0.30   | متوسط جودة الاسترجاع للإدخال           |
| تنوع الاستعلامات     | 0.15   | سياقات الاستعلام/اليوم المميزة التي أظهرته      |
| الحداثة             | 0.15   | درجة حداثة متناقصة زمنيًا                      |
| الدمج       | 0.10   | قوة التكرار عبر عدة أيام                     |
| الثراء المفاهيمي | 0.06   | كثافة وسوم المفاهيم من المقطع/المسار             |

تضيف إصابات مرحلتي Light وREM دفعة صغيرة متناقصة الحداثة من `memory/.dreams/phase-signals.json`.

يمكن وضع نتائج التجربة الظلية فوق تلك الدرجة الأساسية كإشارة مراجعة قبل أي كتابة متينة. تمنح التجربة المفيدة المرشح دفعة صغيرة محدودة، وتبقي التجربة المحايدة الأمر مؤجلًا، وتعلّم التجربة الضارة المرشح كمرفوض لذلك المرور التقييمي. لا تزال هذه الإشارة تقريرية فقط: يمكنها تغيير ترتيب المرشحين أو بيانات المراجعة الوصفية، لكنها لا تكتب إلى `MEMORY.md` ولا ترقّي المرشح بذاتها.

## تغطية تقرير تجربة الظل في QA

يتضمن QA Lab سيناريو تقريريًا فقط لاستكشاف كيف يمكن لتجربة ظل مستقبلية في Dreaming مراجعة ذاكرة مرشحة قبل الترقية. يطلب السيناريو من agent مقارنة إجابة أساسية بإجابة يمكنها استخدام الذاكرة المرشحة، ثم كتابة تقرير محلي يتضمن حكمًا وسببًا وعلامات مخاطر.

هذه التغطية محددة عمدًا بـ QA. تتحقق من أن أثر التقرير يبقى منفصلًا عن `MEMORY.md` وأن agent لا يدّعي أن المرشح تمت ترقيته. لا تضيف سلوك تجربة ظل في الإنتاج ولا تغير محرك الترقية في المرحلة العميقة.

يحافظ مشغّل تجربة الظل في `memory-core` على عقد التقرير فقط نفسه لمسارات الكود التي تحتاج إلى أثر مستقر. يقبل المرشح، وموجّه التجربة، ونتيجة الأساس، ونتيجة المرشح، والحكم، والسبب، وعلامات المخاطر، ومراجع الأدلة، ثم يكتب تقريرًا يتضمن `promotion action: report-only`. تُطابق الأحكام المفيدة توصية `promote`، وتُطابق الأحكام المحايدة `defer`، وتُطابق الأحكام الضارة `reject`؛ ولا تكتب أي من هذه التوصيات إلى `MEMORY.md` أو تطبق ترقية المرحلة العميقة.

## الجدولة

عند التمكين، يدير `memory-core` تلقائيًا مهمة cron واحدة لمسح Dreaming كامل. يشغّل كل مسح المراحل بالترتيب: خفيفة → REM → عميقة.

يتضمن المسح مساحة عمل وقت التشغيل الأساسية وأي مساحات عمل agent مكوّنة، مع إزالة التكرار حسب المسار، بحيث لا يستبعد تشعب مساحة عمل subagent ملف `DREAMS.md` وحالة الذاكرة الخاصين بالـ agent الرئيسي.

سلوك الوتيرة الافتراضية:

| الإعداد              | الافتراضي       |
| -------------------- | ------------- |
| `dreaming.frequency` | `0 3 * * *`   |
| `dreaming.model`     | النموذج الافتراضي |

## البدء السريع

<Tabs>
  <Tab title="تمكين Dreaming">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
  <Tab title="وتيرة مسح مخصصة">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true,
                "timezone": "America/Los_Angeles",
                "frequency": "0 */6 * * *"
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

## أمر Slash

```
/dreaming status
/dreaming on
/dreaming off
/dreaming help
```

يغير `/dreaming on` و`/dreaming off` التكوين على مستوى Gateway. يجب أن يكون مستدعو القناة مالكين، ويجب أن يمتلك عملاء Gateway الصلاحية `operator.admin`.
يبقى `/dreaming status` و`/dreaming help` للقراءة فقط.

## سير عمل CLI

<Tabs>
  <Tab title="معاينة الترقية / تطبيقها">
    ```bash
    openclaw memory promote
    openclaw memory promote --apply
    openclaw memory promote --limit 5
    openclaw memory status --deep
    ```

    يستخدم `memory promote` اليدوي عتبات المرحلة العميقة افتراضيًا ما لم يتم تجاوزها بعلامات CLI.

  </Tab>
  <Tab title="شرح الترقية">
    اشرح لماذا قد تتم أو لا تتم ترقية مرشح محدد:

    ```bash
    openclaw memory promote-explain "router vlan"
    openclaw memory promote-explain "router vlan" --json
    ```

  </Tab>
  <Tab title="معاينة حزام REM">
    عاين تأملات REM، والحقائق المرشحة، ومخرجات الترقية العميقة دون كتابة أي شيء:

    ```bash
    openclaw memory rem-harness
    openclaw memory rem-harness --json
    ```

  </Tab>
</Tabs>

## الإعدادات الافتراضية الرئيسية

توجد جميع الإعدادات تحت `plugins.entries.memory-core.config.dreaming`.

<ParamField path="enabled" type="boolean" default="false">
  فعّل أو عطّل مسح Dreaming.
</ParamField>
<ParamField path="frequency" type="string" default="0 3 * * *">
  وتيرة Cron لمسح Dreaming الكامل.
</ParamField>
<ParamField path="model" type="string">
  تجاوز اختياري لنموذج subagent في يوميات الأحلام. استخدم قيمة `provider/model` قانونية عند تعيين قائمة سماح `allowedModels` لـ subagent أيضًا.
</ParamField>
<ParamField path="phases.deep.maxPromotedSnippetTokens" type="number" default="160">
  الحد الأقصى المقدر لعدد الرموز المحتفظ بها من كل مقطع استدعاء قصير الأمد تتم ترقيته إلى `MEMORY.md`. يظل مصدر الترتيب مرئيًا.
</ParamField>

<Warning>
يتطلب `dreaming.model` الإعداد `plugins.entries.memory-core.subagent.allowModelOverride: true`. لتقييده، عيّن أيضًا `plugins.entries.memory-core.subagent.allowedModels`. تبقى إخفاقات الثقة أو قائمة السماح مرئية بدل الرجوع بصمت؛ تغطي إعادة المحاولة أخطاء عدم توفر النموذج فقط.
</Warning>

<Note>
معظم سياسات المراحل، والعتبات، وسلوك التخزين هي تفاصيل تنفيذ داخلية. راجع [مرجع تكوين الذاكرة](/ar/reference/memory-config#dreaming) للاطلاع على قائمة المفاتيح الكاملة.
</Note>

## واجهة مستخدم Dreams

عند التمكين، تعرض علامة تبويب **Dreams** في Gateway:

- حالة تمكين Dreaming الحالية
- حالة على مستوى المرحلة ووجود المسح المُدار
- أعداد القصير الأمد، والمؤسَّس، والإشارات، والمروّج اليوم
- توقيت التشغيل المجدول التالي
- مسار مشهد مؤسَّس مميز لإدخالات إعادة التشغيل التاريخية المجهزة
- قارئ يوميات أحلام قابل للتوسيع مدعوم بـ `doctor.memory.dreamDiary`

## لا يعمل Dreaming أبدًا: تعرض الحالة أنه محظور

إذا أبلغ `openclaw memory status` عن `Dreaming status: blocked`، فهذا يعني أن Cron المُدار موجود لكن Heartbeat الافتراضي للـ agent لا يعمل. تحقق من تمكين Heartbeat للـ agent الافتراضي وأن هدفه ليس `none`، ثم شغّل `openclaw memory status --deep` مرة أخرى بعد فترة Heartbeat التالية.

## ذات صلة

- [الذاكرة](/ar/concepts/memory)
- [CLI الذاكرة](/ar/cli/memory)
- [مرجع تكوين الذاكرة](/ar/reference/memory-config)
- [بحث الذاكرة](/ar/concepts/memory-search)
