Skip to main content

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 เป็นแบบ opt-in และปิดใช้งานโดยค่าเริ่มต้น

สิ่งที่ Dreaming เขียน

Dreaming เก็บเอาต์พุตสองชนิด:
  • สถานะเครื่อง ใน memory/.dreams/ (ที่เก็บการเรียกคืน, สัญญาณเฟส, จุดตรวจการนำเข้า, ล็อก)
  • เอาต์พุตที่มนุษย์อ่านได้ ใน DREAMS.md (หรือ dreams.md ที่มีอยู่แล้ว) และไฟล์รายงานเฟสเสริมภายใต้ memory/dreaming/<phase>/YYYY-MM-DD.md
การเลื่อนขั้นเป็นระยะยาวยังคงเขียนเฉพาะไปยัง MEMORY.md

โมเดลเฟส

Dreaming ใช้สามเฟสที่ทำงานร่วมกัน:
เฟสวัตถุประสงค์การเขียนแบบคงทน
Lightจัดเรียงและเตรียมวัสดุระยะสั้นล่าสุดไม่
Deepให้คะแนนและเลื่อนขั้นตัวเลือกที่คงทนใช่ (MEMORY.md)
REMสะท้อนธีมและแนวคิดที่เกิดซ้ำไม่
เฟสเหล่านี้เป็นรายละเอียดการทำงานภายใน ไม่ใช่ “โหมด” แยกต่างหากที่ผู้ใช้กำหนดค่าได้
เฟส Light นำเข้าสัญญาณความจำรายวันล่าสุดและร่องรอยการเรียกคืน ขจัดข้อมูลซ้ำ และเตรียมบรรทัดตัวเลือก
  • อ่านจากสถานะการเรียกคืนระยะสั้น, ไฟล์ความจำรายวันล่าสุด, และทรานสคริปต์เซสชันที่ปกปิดข้อมูลแล้วเมื่อมี
  • เขียนบล็อก ## Light Sleep ที่มีการจัดการเมื่อพื้นที่จัดเก็บรวมเอาต์พุตแบบอินไลน์
  • บันทึกสัญญาณเสริมแรงสำหรับการจัดอันดับ Deep ภายหลัง
  • ไม่เขียนไปยัง MEMORY.md
เฟส Deep ตัดสินว่าสิ่งใดจะกลายเป็นความจำระยะยาว
  • จัดอันดับตัวเลือกโดยใช้การให้คะแนนแบบถ่วงน้ำหนักและเกณฑ์ผ่าน
  • ต้องผ่าน minScore, minRecallCount, และ minUniqueQueries
  • เติมข้อมูลส่วนย่อยกลับจากไฟล์รายวันสดก่อนเขียน เพื่อข้ามส่วนย่อยที่ล้าสมัยหรือถูกลบ
  • เพิ่มรายการที่เลื่อนขั้นแล้วไปยัง MEMORY.md
  • เขียนสรุป ## Deep Sleep ลงใน DREAMS.md และอาจเขียน memory/dreaming/deep/YYYY-MM-DD.md
เฟส REM แยกรูปแบบและสัญญาณเชิงสะท้อน
  • สร้างสรุปธีมและการสะท้อนจากร่องรอยระยะสั้นล่าสุด
  • เขียนบล็อก ## REM Sleep ที่มีการจัดการเมื่อพื้นที่จัดเก็บรวมเอาต์พุตแบบอินไลน์
  • บันทึกสัญญาณเสริมแรง REM ที่ใช้โดยการจัดอันดับ Deep
  • ไม่เขียนไปยัง MEMORY.md

การนำเข้าทรานสคริปต์เซสชัน

Dreaming สามารถนำเข้าทรานสคริปต์เซสชันที่ปกปิดข้อมูลแล้วเข้าสู่คลัง Dreaming ได้ เมื่อมีทรานสคริปต์ ทรานสคริปต์จะถูกป้อนเข้าเฟส Light พร้อมกับสัญญาณความจำรายวันและร่องรอยการเรียกคืน เนื้อหาส่วนบุคคลและละเอียดอ่อนจะถูกปกปิดก่อนนำเข้า

Dream Diary

Dreaming ยังเก็บ Dream Diary แบบบรรยายไว้ใน DREAMS.md ด้วย หลังจากแต่ละเฟสมีเนื้อหาเพียงพอ memory-core จะรันรอบ subagent เบื้องหลังแบบพยายามให้ดีที่สุด และเพิ่มรายการไดอารีสั้น ๆ ระบบใช้โมเดลรันไทม์เริ่มต้น เว้นแต่จะกำหนดค่า dreaming.model หากโมเดลที่กำหนดค่าไว้ใช้งานไม่ได้ Dream Diary จะลองใหม่หนึ่งครั้งด้วยโมเดลเริ่มต้นของเซสชัน
ไดอารีนี้มีไว้ให้มนุษย์อ่านใน UI Dreams ไม่ใช่แหล่งสำหรับการเลื่อนขั้น อาร์ติแฟกต์ไดอารี/รายงานที่ 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 เตรียมตัวเลือกที่คงทนและมีหลักฐานรองรับเข้าสู่ที่เก็บหลักฐานระยะสั้นเดียวกับที่เฟส Deep ปกติใช้อยู่แล้ว
  • memory rem-backfill --rollback และ --rollback-short-term ลบอาร์ติแฟกต์ backfill ที่เตรียมไว้เหล่านั้นโดยไม่แตะรายการไดอารีปกติหรือการเรียกคืนระยะสั้นสด
Control UI เปิดเผยโฟลว์ backfill/reset ของไดอารีแบบเดียวกัน เพื่อให้คุณตรวจสอบผลลัพธ์ในฉาก Dreams ก่อนตัดสินใจว่าตัวเลือกที่มีหลักฐานรองรับสมควรได้รับการเลื่อนขั้นหรือไม่ Scene ยังแสดงเลนที่มีหลักฐานรองรับแยกต่างหาก เพื่อให้คุณเห็นว่ารายการระยะสั้นที่เตรียมไว้ใดมาจากการเล่นซ้ำประวัติ รายการที่เลื่อนขั้นใดนำโดยหลักฐานรองรับ และล้างเฉพาะรายการที่เตรียมไว้แบบมีหลักฐานรองรับเท่านั้นโดยไม่แตะสถานะระยะสั้นสดปกติ

สัญญาณการจัดอันดับ Deep

การจัดอันดับ Deep ใช้สัญญาณฐานถ่วงน้ำหนักหกชนิดพร้อมการเสริมแรงตามเฟส:
สัญญาณน้ำหนักคำอธิบาย
ความถี่0.24จำนวนสัญญาณระยะสั้นที่รายการสะสมได้
ความเกี่ยวข้อง0.30คุณภาพการดึงข้อมูลเฉลี่ยสำหรับรายการ
ความหลากหลายของคำค้น0.15บริบทคำค้น/วันที่แตกต่างกันที่ทำให้รายการปรากฏ
ความใหม่0.15คะแนนความสดใหม่ที่ลดค่าตามเวลา
การรวมความจำ0.10ความแข็งแรงของการเกิดซ้ำหลายวัน
ความสมบูรณ์เชิงแนวคิด0.06ความหนาแน่นของแท็กแนวคิดจากส่วนย่อย/พาธ
การพบในเฟส Light และ REM จะเพิ่มบูสต์เล็กน้อยที่ลดค่าตามความใหม่จาก memory/.dreams/phase-signals.json

การกำหนดเวลา

เมื่อเปิดใช้งาน memory-core จะจัดการงาน cron หนึ่งงานโดยอัตโนมัติสำหรับการกวาด Dreaming แบบเต็ม แต่ละการกวาดจะรันเฟสตามลำดับ: light → REM → deep การกวาดรวม workspace รันไทม์หลักและ agent workspaces ที่กำหนดค่าไว้ โดยขจัดรายการซ้ำตามพาธ ดังนั้นการกระจาย workspace ของ subagent จะไม่ตัด DREAMS.md และสถานะความจำของ agent หลักออก พฤติกรรมจังหวะเริ่มต้น:
การตั้งค่าค่าเริ่มต้น
dreaming.frequency0 3 * * *
dreaming.modelโมเดลเริ่มต้น

เริ่มต้นอย่างรวดเร็ว

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

คำสั่ง Slash

/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 แบบแมนนวลใช้เกณฑ์ของเฟส Deep โดยค่าเริ่มต้น เว้นแต่จะถูกแทนที่ด้วยแฟล็ก CLI

ค่าเริ่มต้นสำคัญ

การตั้งค่าทั้งหมดอยู่ภายใต้ plugins.entries.memory-core.config.dreaming
enabled
boolean
default:"false"
เปิดหรือปิดการกวาด Dreaming
frequency
string
default:"0 3 * * *"
จังหวะ Cron สำหรับการกวาด Dreaming แบบเต็ม
model
string
การแทนที่โมเดล subagent ของ Dream Diary แบบเสริม ใช้ค่า provider/model มาตรฐานเมื่อกำหนดรายการอนุญาต allowedModels ของ subagent ด้วย
dreaming.model ต้องใช้ plugins.entries.memory-core.subagent.allowModelOverride: true หากต้องการจำกัด ให้ตั้งค่า plugins.entries.memory-core.subagent.allowedModels ด้วย ความล้มเหลวด้านความเชื่อถือหรือรายการอนุญาตจะยังคงมองเห็นได้แทนที่จะ fallback เงียบ ๆ; การลองใหม่ครอบคลุมเฉพาะข้อผิดพลาดโมเดลใช้งานไม่ได้เท่านั้น
นโยบายเฟส เกณฑ์ และพฤติกรรมพื้นที่จัดเก็บเป็นรายละเอียดการทำงานภายใน (ไม่ใช่ config ที่เปิดให้ผู้ใช้ตั้งค่า) ดู ข้อมูลอ้างอิงการกำหนดค่าความจำ สำหรับรายการคีย์ทั้งหมด

UI Dreams

เมื่อเปิดใช้งาน แท็บ Dreams ของ Gateway จะแสดง:
  • สถานะเปิดใช้งาน Dreaming ปัจจุบัน
  • สถานะระดับเฟสและการมีอยู่ของ managed-sweep
  • จำนวนระยะสั้น, มีหลักฐานรองรับ, สัญญาณ, และที่เลื่อนขั้นวันนี้
  • เวลาของการรันตามกำหนดครั้งถัดไป
  • เลน Scene ที่มีหลักฐานรองรับแยกต่างหากสำหรับรายการ replay ประวัติที่เตรียมไว้
  • ตัวอ่าน Dream Diary ที่ขยายได้ ซึ่งรองรับโดย doctor.memory.dreamDiary

Dreaming ไม่เคยรัน: สถานะแสดงว่าถูกบล็อก

หาก openclaw memory status รายงาน Dreaming status: blocked แสดงว่า cron ที่มีการจัดการมีอยู่ แต่ Heartbeat ของ agent เริ่มต้นไม่ทำงาน ตรวจสอบว่าเปิดใช้งาน Heartbeat สำหรับ agent เริ่มต้นแล้ว และ target ไม่ใช่ none จากนั้นรัน openclaw memory status --deep อีกครั้งหลังช่วง Heartbeat ถัดไป

ที่เกี่ยวข้อง