---
read_when:
    - می‌خواهید ارتقای حافظه به‌صورت خودکار اجرا شود
    - می‌خواهید بدانید هر فاز Dreaming چه کاری انجام می‌دهد
    - می‌خواهید تجمیع را بدون آلوده کردن MEMORY.md تنظیم کنید
sidebarTitle: Dreaming
summary: تثبیت حافظه در پس‌زمینه با مرحله‌های سبک، عمیق و REM، به‌همراه دفترچه رؤیا
title: Dreaming
x-i18n:
    generated_at: "2026-05-02T22:18:47Z"
    model: gpt-5.5
    provider: openai
    source_hash: b56f93c68f53178e0998b9809ff358910956260f72ff7213b7d0dd92300f5d24
    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 از سه فاز همکار استفاده می‌کند:

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

این فازها جزئیات پیاده‌سازی داخلی هستند، نه «حالت‌های» جداگانه‌ای که کاربر پیکربندی می‌کند.

<AccordionGroup>
  <Accordion title="Light phase">
    فاز Light سیگنال‌های حافظهٔ روزانهٔ اخیر و ردپاهای یادآوری را دریافت می‌کند، موارد تکراری را حذف می‌کند و خط‌های نامزد را آماده می‌کند.

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

  </Accordion>
  <Accordion title="Deep phase">
    فاز Deep تصمیم می‌گیرد چه چیزی به حافظهٔ بلندمدت تبدیل شود.

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

  </Accordion>
  <Accordion title="REM phase">
    فاز REM الگوها و سیگنال‌های تأملی را استخراج می‌کند.

    - خلاصه‌های تم و تأمل را از ردپاهای کوتاه‌مدت اخیر می‌سازد.
    - وقتی ذخیره‌سازی شامل خروجی درون‌خطی باشد، یک بلوک مدیریت‌شدهٔ `## REM Sleep` می‌نویسد.
    - سیگنال‌های تقویتی REM را که در رتبه‌بندی Deep استفاده می‌شوند ثبت می‌کند.
    - هرگز در `MEMORY.md` نمی‌نویسد.

  </Accordion>
</AccordionGroup>

## دریافت رونوشت نشست

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

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

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

<Note>
این دفترچه برای خواندن انسان در UI رویاهاست، نه منبع ارتقا. مصنوعات دفترچه/گزارش تولیدشده توسط Dreaming از ارتقای کوتاه‌مدت مستثنا هستند. فقط قطعه‌های حافظهٔ مبتنی بر شواهد واجد شرایط ارتقا به `MEMORY.md` هستند.
</Note>

همچنین یک مسیر پرکردن تاریخی مبتنی بر شواهد برای کارهای بازبینی و بازیابی وجود دارد:

<AccordionGroup>
  <Accordion title="Backfill commands">
    - `memory rem-harness --path ... --grounded` خروجی دفترچهٔ مبتنی بر شواهد را از یادداشت‌های تاریخی `YYYY-MM-DD.md` پیش‌نمایش می‌کند.
    - `memory rem-backfill --path ...` مدخل‌های دفترچهٔ مبتنی بر شواهد و برگشت‌پذیر را در `DREAMS.md` می‌نویسد.
    - `memory rem-backfill --path ... --stage-short-term` نامزدهای پایدار مبتنی بر شواهد را در همان فروشگاه شواهد کوتاه‌مدتی آماده می‌کند که فاز Deep عادی از قبل استفاده می‌کند.
    - `memory rem-backfill --rollback` و `--rollback-short-term` آن مصنوعات آماده‌شدهٔ backfill را بدون دست زدن به مدخل‌های عادی دفترچه یا یادآوری کوتاه‌مدت زنده حذف می‌کنند.

  </Accordion>
</AccordionGroup>

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

## سیگنال‌های رتبه‌بندی Deep

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

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

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

## زمان‌بندی

وقتی فعال باشد، `memory-core` یک job کرون را برای یک پیمایش کامل Dreaming به‌صورت خودکار مدیریت می‌کند. هر پیمایش فازها را به‌ترتیب اجرا می‌کند: Light → REM → Deep.

پیمایش شامل workspace اصلی runtime و هر workspace پیکربندی‌شدهٔ agent است، با حذف موارد تکراری بر اساس مسیر، بنابراین fan-out کردن workspaceهای subagent باعث کنار گذاشته شدن `DREAMS.md` و وضعیت حافظهٔ agent اصلی نمی‌شود.

رفتار cadence پیش‌فرض:

| تنظیم              | پیش‌فرض       |
| -------------------- | ------------- |
| `dreaming.frequency` | `0 3 * * *`   |
| `dreaming.model`     | مدل پیش‌فرض |

## شروع سریع

<Tabs>
  <Tab title="Enable dreaming">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
  <Tab title="Custom sweep cadence">
    ```json
    {
      "plugins": {
        "entries": {
          "memory-core": {
            "config": {
              "dreaming": {
                "enabled": true,
                "timezone": "America/Los_Angeles",
                "frequency": "0 */6 * * *"
              }
            }
          }
        }
      }
    }
    ```
  </Tab>
</Tabs>

## دستور اسلش

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

## گردش کار CLI

<Tabs>
  <Tab title="Promotion preview / apply">
    ```bash
    openclaw memory promote
    openclaw memory promote --apply
    openclaw memory promote --limit 5
    openclaw memory status --deep
    ```

    `memory promote` دستی به‌صورت پیش‌فرض از آستانه‌های فاز Deep استفاده می‌کند، مگر اینکه با flagهای CLI بازنویسی شود.

  </Tab>
  <Tab title="Explain promotion">
    توضیح دهید چرا یک نامزد مشخص ارتقا می‌یابد یا نمی‌یابد:

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

  </Tab>
  <Tab title="REM harness preview">
    تأملات REM، حقیقت‌های نامزد و خروجی ارتقای Deep را بدون نوشتن چیزی پیش‌نمایش کنید:

    ```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 * * *">
  cadence کرون برای پیمایش کامل Dreaming.
</ParamField>
<ParamField path="model" type="string">
  بازنویسی اختیاری مدل subagent دفترچهٔ رویا. هنگام تنظیم allowlist برای `allowedModels` یک subagent، از مقدار canonical `provider/model` استفاده کنید.
</ParamField>

<Warning>
`dreaming.model` به `plugins.entries.memory-core.subagent.allowModelOverride: true` نیاز دارد. برای محدود کردن آن، `plugins.entries.memory-core.subagent.allowedModels` را نیز تنظیم کنید. خطاهای trust یا allowlist به‌جای fallback بی‌صدا، قابل مشاهده باقی می‌مانند؛ تلاش دوباره فقط خطاهای در دسترس نبودن مدل را پوشش می‌دهد.
</Warning>

<Note>
سیاست فاز، آستانه‌ها و رفتار ذخیره‌سازی جزئیات پیاده‌سازی داخلی هستند (نه پیکربندی روبه‌روی کاربر). برای فهرست کامل کلیدها، [مرجع پیکربندی حافظه](/fa/reference/memory-config#dreaming) را ببینید.
</Note>

## UI رویاها

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

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

## Dreaming هرگز اجرا نمی‌شود: وضعیت blocked نشان می‌دهد

اگر `openclaw memory status` گزارش دهد `Dreaming status: blocked`، کرون مدیریت‌شده وجود دارد اما Heartbeat پیش‌فرض agent اجرا نمی‌شود. بررسی کنید که Heartbeat برای agent پیش‌فرض فعال باشد و target آن `none` نباشد، سپس پس از بازهٔ Heartbeat بعدی دوباره `openclaw memory status --deep` را اجرا کنید.

## مرتبط

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