---
read_when:
    - می‌خواهید ارتقای حافظه به‌طور خودکار اجرا شود
    - می‌خواهید بدانید هر مرحلهٔ Dreaming چه کاری انجام می‌دهد
    - می‌خواهید یکپارچه‌سازی را بدون شلوغ‌کردن MEMORY.md تنظیم کنید
sidebarTitle: Dreaming
summary: تثبیت حافظه در پس‌زمینه با مراحل سبک، عمیق و REM به‌همراه دفترچه رؤیاها
title: Dreaming
x-i18n:
    generated_at: "2026-07-16T16:02:28Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 501ab42cfdfa0216c308896aa8c1719b06b49d64a62afdb004e097102a376eac
    source_path: concepts/dreaming.md
    workflow: 16
---

Dreaming سامانهٔ یکپارچه‌سازی حافظه در پس‌زمینه در `memory-core` است. این سامانه سیگنال‌های قوی کوتاه‌مدت را به حافظهٔ پایدار منتقل می‌کند و در عین حال فرایند را توضیح‌پذیر و قابل‌بازبینی نگه می‌دارد.

<Note>
Dreaming **اختیاری** است و به‌طور پیش‌فرض غیرفعال است.
</Note>

## آنچه Dreaming می‌نویسد

- **وضعیت ماشین** در `memory/.dreams/` (مخزن بازیابی، سیگنال‌های فاز، نقاط بررسی ورود داده و قفل‌ها).
- **خروجی خوانا برای انسان** در `DREAMS.md` (یا یک `dreams.md` موجود) و فایل‌های اختیاری گزارش فاز در `memory/dreaming/<phase>/YYYY-MM-DD.md`.

ارتقای بلندمدت همچنان فقط در `MEMORY.md` می‌نویسد.

## مدل فازها

Dreaming در هر پیمایش، سه فاز هماهنگ را به‌ترتیب اجرا می‌کند: سبک -> REM -> عمیق. این‌ها فازهای پیاده‌سازی داخلی هستند، نه حالت‌های جداگانه‌ای که کاربر پیکربندی می‌کند.

| فاز | هدف                                   | نوشتن پایدار     |
| ----- | ----------------------------------------- | ----------------- |
| سبک | مرتب‌سازی و آماده‌سازی مطالب کوتاه‌مدت اخیر | خیر                |
| REM   | تأمل دربارهٔ مضمون‌ها و ایده‌های تکرارشونده     | خیر                |
| عمیق  | امتیازدهی و ارتقای نامزدهای پایدار      | بله (`MEMORY.md`) |

<AccordionGroup>
  <Accordion title="فاز سبک">
    - در صورت وجود، وضعیت اخیر بازیابی کوتاه‌مدت، فایل‌های روزانهٔ حافظه و رونوشت‌های پالایش‌شدهٔ نشست را می‌خواند.
    - سیگنال‌های تکراری را حذف و سطرهای نامزد را آماده می‌کند.
    - وقتی فضای ذخیره‌سازی شامل خروجی درون‌خطی باشد، یک بلوک مدیریت‌شدهٔ `## Light Sleep` می‌نویسد.
    - سیگنال‌های تقویتی را برای رتبه‌بندی عمیق بعدی ثبت می‌کند.
    - هرگز در `MEMORY.md` نمی‌نویسد.

  </Accordion>
  <Accordion title="فاز REM">
    - خلاصه‌های مضمونی و تأملی را از ردپاهای کوتاه‌مدت اخیر می‌سازد.
    - وقتی فضای ذخیره‌سازی شامل خروجی درون‌خطی باشد، یک بلوک مدیریت‌شدهٔ `## REM Sleep` می‌نویسد.
    - سیگنال‌های تقویتی REM را که رتبه‌بندی عمیق استفاده می‌کند ثبت می‌کند.
    - هرگز در `MEMORY.md` نمی‌نویسد.

  </Accordion>
  <Accordion title="فاز عمیق">
    - نامزدها را با امتیازدهی وزن‌دار و آستانه‌ها رتبه‌بندی می‌کند (`minScore`، `minRecallCount` و `minUniqueQueries` همگی باید پذیرفته شوند).
    - پیش از نوشتن، قطعه‌ها را از فایل‌های روزانهٔ زنده دوباره بارگذاری می‌کند تا قطعه‌های منقضی یا حذف‌شده نادیده گرفته شوند.
    - ورودی‌های ارتقایافته را به `MEMORY.md` می‌افزاید.
    - یک خلاصهٔ `## Deep Sleep` را در `DREAMS.md` و در صورت نیاز `memory/dreaming/deep/YYYY-MM-DD.md` می‌نویسد.

  </Accordion>
</AccordionGroup>

## ورود رونوشت نشست

Dreaming می‌تواند رونوشت‌های پالایش‌شدهٔ نشست را وارد پیکرهٔ Dreaming کند. در صورت وجود، رونوشت‌ها در کنار سیگنال‌های روزانهٔ حافظه و ردپاهای بازیابی، ورودی فاز سبک را تأمین می‌کنند. محتوای شخصی و حساس پیش از ورود پالایش می‌شود.

## دفترچهٔ رؤیا

Dreaming یک **دفترچهٔ رؤیا**ی روایی را در `DREAMS.md` نگه می‌دارد. پس از آنکه هر فاز مطالب کافی داشت، `memory-core` یک نوبت پس‌زمینه‌ای subagent را به‌صورت بهترین تلاش اجرا می‌کند و ورودی کوتاهی به دفترچه می‌افزاید؛ مگر اینکه `dreaming.model` پیکربندی شده باشد، از مدل پیش‌فرض زمان اجرا استفاده می‌شود. اگر مدل پیکربندی‌شده در دسترس نباشد، اجرای دفترچه یک‌بار با مدل پیش‌فرض نشست تکرار می‌شود؛ خطاهای اعتماد یا فهرست مجاز دوباره امتحان نمی‌شوند و به‌جای بازگشت خاموش به یک ورودی عمومی دفترچه، در گزارش‌ها قابل‌مشاهده باقی می‌مانند.

<Note>
دفترچه برای مطالعهٔ انسان در رابط کاربری رؤیاها است، نه منبع ارتقا. مصنوعات دفترچه/گزارش از ارتقای کوتاه‌مدت کنار گذاشته می‌شوند؛ فقط قطعه‌های حافظهٔ مستند واجد شرایط ارتقا به `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>

رابط کاربری Control همین جریان بازپُرکنی/بازنشانی دفترچه را در زبانهٔ حافظهٔ عامل (صفحهٔ عامل‌ها) ارائه می‌کند تا بتوان نتایج را پیش از تصمیم‌گیری دربارهٔ شایستگی نامزدهای مستند برای ارتقا، در صحنهٔ رؤیا بررسی کرد. یک مسیر مستند و متمایز در صحنه نشان می‌دهد کدام ورودی‌های کوتاه‌مدت آماده‌شده از بازپخش تاریخی آمده‌اند و کدام موارد ارتقایافته با هدایت شواهد مستند بوده‌اند؛ همچنین امکان می‌دهد فقط ورودی‌های آماده‌شدهٔ صرفاً مستند را بدون دست‌زدن به وضعیت کوتاه‌مدت زنده پاک کنید.

## سیگنال‌های رتبه‌بندی عمیق

رتبه‌بندی عمیق از شش سیگنال پایهٔ وزن‌دار به‌اضافهٔ تقویت فاز استفاده می‌کند:

| سیگنال              | وزن | توضیحات                                       |
| ------------------- | ------ | ------------------------------------------------- |
| ارتباط           | 0.30   | میانگین کیفیت بازیابی ورودی           |
| فراوانی           | 0.24   | تعداد سیگنال‌های کوتاه‌مدتی که ورودی انباشته است |
| تنوع پرس‌وجو     | 0.15   | زمینه‌های متمایز پرس‌وجو/روز که آن را نمایان کرده‌اند      |
| تازگی             | 0.15   | امتیاز تازگی با کاهش زمانی                      |
| یکپارچه‌سازی       | 0.10   | قدرت تکرار در چند روز                     |
| غنای مفهومی | 0.06   | تراکم برچسب مفهومی از قطعه/مسیر             |

موارد منطبق در فازهای سبک و REM، یک افزایش کوچک با کاهش زمانی بر اساس تازگی از `memory/.dreams/phase-signals.json` اضافه می‌کنند.

نتایج آزمون سایه می‌توانند پیش از هرگونه نوشتن پایدار، به‌عنوان سیگنال بازبینی روی امتیاز پایه قرار گیرند: یک آزمون مفید افزایش کوچک و محدودی به نامزد می‌دهد، آزمون خنثی آن را در حالت تعویق نگه می‌دارد و آزمون زیان‌بار آن را برای همان نوبت امتیازدهی ردشده علامت‌گذاری می‌کند. این سیگنال فقط گزارشی است - می‌تواند ترتیب نامزدها یا فرادادهٔ بازبینی را تغییر دهد، اما هرگز در `MEMORY.md` نمی‌نویسد و به‌تنهایی نامزدی را ارتقا نمی‌دهد.

### پوشش گزارش آزمون سایه در QA

آزمایشگاه QA شامل سناریویی صرفاً گزارشی برای بررسی این است که یک آزمون سایهٔ احتمالی Dreaming در آینده چگونه می‌تواند حافظه‌ای نامزد را پیش از ارتقا بازبینی کند: یک عامل پاسخ پایه را با پاسخی که می‌تواند از حافظهٔ نامزد استفاده کند مقایسه می‌کند، سپس گزارشی محلی شامل حکم، دلیل و پرچم‌های خطر می‌نویسد. دامنهٔ این پوشش به QA محدود است - تأیید می‌کند که مصنوع گزارش از `MEMORY.md` جدا می‌ماند و عامل هرگز ادعا نمی‌کند نامزد ارتقا یافته است. این پوشش رفتار آزمون سایه را به محیط عملیاتی اضافه نمی‌کند و موتور ارتقای فاز عمیق را تغییر نمی‌دهد.

اجراکنندهٔ آزمون سایهٔ `memory-core` برای مسیرهای کدی که به مصنوعی پایدار نیاز دارند، همان قرارداد صرفاً گزارشی را حفظ می‌کند. این اجراکننده نامزد، اعلان آزمون، نتیجهٔ پایه، نتیجهٔ نامزد، حکم، دلیل، پرچم‌های خطر و ارجاعات شواهد را می‌پذیرد و سپس گزارشی با `promotion action: report-only` می‌نویسد. حکم‌های مفید به توصیهٔ `promote`، حکم‌های خنثی به `defer` و حکم‌های زیان‌بار به `reject` نگاشت می‌شوند - هیچ‌کدام در `MEMORY.md` نمی‌نویسند یا ارتقای فاز عمیق را اعمال نمی‌کنند.

## زمان‌بندی

هنگام فعال‌بودن، `memory-core` یک کار Cron را برای پیمایش کامل Dreaming به‌طور خودکار مدیریت می‌کند؛ این کار در فضای کاری اصلی زمان اجرا و همهٔ فضاهای کاری پیکربندی‌شدهٔ عامل از تکرار پاک می‌شود تا گسترش فضاهای کاری subagent باعث کنارگذاشته‌شدن `DREAMS.md` و وضعیت حافظهٔ عامل اصلی نشود.

| تنظیم              | پیش‌فرض       |
| -------------------- | ------------- |
| `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>

## فرمان اسلش

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

`/dreaming on` و `/dreaming off` برای فراخوان‌های کانال به وضعیت مالک یا برای کلاینت‌های 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 دفترچهٔ رؤیا. هنگام تنظیم فهرست مجاز `allowedModels` برای subagent نیز از یک مقدار معیار `provider/model` استفاده کنید.
</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>
بیشتر خط‌مشی فازها، آستانه‌ها و رفتار ذخیره‌سازی جزئیات داخلی پیاده‌سازی هستند. برای فهرست کامل کلیدها، به [مرجع پیکربندی حافظه](/fa/reference/memory-config#dreaming) مراجعه کنید.
</Note>

## رابط کاربری رؤیاها

هنگام فعال‌بودن، زبانهٔ **رؤیاها** در Gateway موارد زیر را نشان می‌دهد:

- وضعیت فعلی فعال‌بودن Dreaming
- وضعیت هر فاز و وجود پیمایش مدیریت‌شده
- تعداد موارد کوتاه‌مدت، مستند، سیگنال‌ها و موارد ارتقایافتهٔ امروز
- زمان اجرای برنامه‌ریزی‌شدهٔ بعدی
- یک مسیر متمایز مستند در صحنه برای ورودی‌های بازپخش تاریخی آماده‌شده
- یک نمایشگر بازشوندهٔ دفترچهٔ رؤیا با پشتوانهٔ `doctor.memory.dreamDiary`

## مرتبط

- [حافظه](/fa/concepts/memory)
- [CLI حافظه](/fa/cli/memory)
- [مرجع پیکربندی حافظه](/fa/reference/memory-config)
- [جست‌وجوی حافظه](/fa/concepts/memory-search)
