跳轉到主要內容

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Dreaming 是 memory-core 中的背景記憶整合系統。它協助 OpenClaw 將強烈的短期訊號移入持久記憶,同時讓流程保持可解釋且可審查。
Dreaming 是選擇啟用,預設為停用。

Dreaming 寫入什麼

Dreaming 會保留兩種輸出:
  • 機器狀態memory/.dreams/(回憶儲存、階段訊號、擷取檢查點、鎖定)。
  • 人類可讀輸出DREAMS.md(或既有的 dreams.md),以及 memory/dreaming/<phase>/YYYY-MM-DD.md 下的選用階段報告檔案。
長期提升仍只會寫入 MEMORY.md

階段模型

Dreaming 使用三個協作階段:
階段用途持久寫入
淺層分類並暫存近期短期素材
深層評分並提升持久候選項是(MEMORY.md
REM反思主題與反覆出現的想法
這些階段是內部實作細節,不是分開由使用者設定的「模式」。
淺層階段會擷取近期每日記憶訊號與回憶軌跡,將其去重,並暫存候選行。
  • 從短期回憶狀態、近期每日記憶檔案,以及可用時已遮蔽的工作階段逐字稿讀取。
  • 當儲存包含行內輸出時,寫入受管理的 ## Light Sleep 區塊。
  • 記錄強化訊號,供之後的深層排序使用。
  • 絕不寫入 MEMORY.md
深層階段會決定哪些內容成為長期記憶。
  • 使用加權評分與門檻關卡排序候選項。
  • 需要通過 minScoreminRecallCountminUniqueQueries
  • 在寫入前從即時每日檔案重新補水片段,因此會跳過過時或已刪除的片段。
  • 將提升的項目附加到 MEMORY.md
  • ## Deep Sleep 摘要寫入 DREAMS.md,並可選擇寫入 memory/dreaming/deep/YYYY-MM-DD.md
REM 階段會萃取模式與反思訊號。
  • 從近期短期軌跡建立主題與反思摘要。
  • 當儲存包含行內輸出時,寫入受管理的 ## REM Sleep 區塊。
  • 記錄深層排序使用的 REM 強化訊號。
  • 絕不寫入 MEMORY.md

工作階段逐字稿擷取

Dreaming 可以將已遮蔽的工作階段逐字稿擷取到 dreaming 語料庫中。當逐字稿可用時,它們會與每日記憶訊號和回憶軌跡一起送入淺層階段。個人與敏感內容會在擷取前先被遮蔽。

夢境日誌

Dreaming 也會在 DREAMS.md 中保留敘事式的夢境日誌。每個階段累積足夠素材後,memory-core 會以最大努力方式執行一次背景子代理回合,並附加一則短日誌項目。除非設定了 dreaming.model,否則它會使用預設執行階段模型。如果設定的模型無法使用,夢境日誌會使用工作階段預設模型重試一次。
此日誌是供人類在 Dreams UI 中閱讀,不是提升來源。Dreaming 產生的日誌/報告成品會從短期提升中排除。只有有根據的記憶片段才有資格提升到 MEMORY.md
另有一條有根據的歷史回填路徑,供審查與復原工作使用:
  • 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 會移除這些已暫存的回填成品,而不碰觸一般日誌項目或即時短期回憶。
Control UI 會公開相同的日誌回填/重設流程,讓你可以先在 Dreams 場景中檢查結果,再決定有根據的候選項是否值得提升。場景也會顯示獨立的有根據路徑,讓你看出哪些已暫存短期項目來自歷史重播、哪些已提升項目由有根據內容引導,並且只清除僅限有根據的已暫存項目,而不碰觸一般即時短期狀態。

深層排序訊號

深層排序使用六個加權基礎訊號加上階段強化:
訊號權重說明
頻率0.24該項目累積了多少短期訊號
相關性0.30該項目的平均擷取品質
查詢多樣性0.15讓它浮現的不同查詢/日期情境
新近性0.15經時間衰減的新鮮度分數
整合0.10多日重複出現強度
概念豐富度0.06來自片段/路徑的概念標籤密度
淺層與 REM 階段命中會從 memory/.dreams/phase-signals.json 加上一個小型、經新近性衰減的提升。

排程

啟用時,memory-core 會自動管理一個 cron 作業,用於完整的 Dreaming 掃描。每次掃描會依序執行階段:淺層 → REM → 深層。 預設節奏行為:
設定預設
dreaming.frequency0 3 * * *
dreaming.model預設模型

快速開始

{
  "plugins": {
    "entries": {
      "memory-core": {
        "config": {
          "dreaming": {
            "enabled": true
          }
        }
      }
    }
  }
}

斜線指令

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

CLI 工作流程

openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
手動 memory promote 預設會使用深層階段門檻,除非以 CLI 旗標覆寫。

主要預設值

所有設定都位於 plugins.entries.memory-core.config.dreaming 之下。
enabled
boolean
預設值:"false"
啟用或停用 Dreaming 掃描。
frequency
string
預設值:"0 3 * * *"
完整 Dreaming 掃描的 Cron 節奏。
model
string
選用的夢境日誌子代理模型覆寫。若也設定子代理 allowedModels 允許清單,請使用標準 provider/model 值。
dreaming.model 需要 plugins.entries.memory-core.subagent.allowModelOverride: true。若要限制它,也請設定 plugins.entries.memory-core.subagent.allowedModels。信任或允許清單失敗會保持可見,而不是靜默退回;重試只涵蓋模型無法使用的錯誤。
階段政策、門檻與儲存行為都是內部實作細節(不是面向使用者的設定)。完整鍵清單請參閱記憶設定參考

Dreams UI

啟用時,Gateway Dreams 分頁會顯示:
  • 目前 Dreaming 啟用狀態
  • 階段層級狀態與受管理掃描是否存在
  • 短期、有根據、訊號,以及今日已提升的數量
  • 下一次排程執行時間
  • 用於已暫存歷史重播項目的獨立有根據場景路徑
  • doctor.memory.dreamDiary 支援的可展開夢境日誌閱讀器

相關