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.

OpenClaw จดจำสิ่งต่าง ๆ โดยเขียน ไฟล์ Markdown แบบธรรมดา ใน workspace ของ agent ของคุณ โมเดลจะ “จำ” เฉพาะสิ่งที่ถูกบันทึกลงดิสก์เท่านั้น — ไม่มี สถานะที่ซ่อนอยู่

วิธีการทำงาน

agent ของคุณมีไฟล์ที่เกี่ยวข้องกับหน่วยความจำสามไฟล์:
  • MEMORY.md — หน่วยความจำระยะยาว ข้อเท็จจริง การตั้งค่า และ การตัดสินใจที่คงทน โหลดเมื่อเริ่มต้นทุกเซสชัน DM
  • memory/YYYY-MM-DD.md — บันทึกรายวัน บริบทและข้อสังเกตที่ดำเนินอยู่ บันทึกของวันนี้และเมื่อวานจะถูกโหลดโดยอัตโนมัติ
  • DREAMS.md (ไม่บังคับ) — ไดอารี่ Dream และสรุปการกวาด Dreaming สำหรับให้มนุษย์ตรวจทาน รวมถึงรายการเติมย้อนหลังทางประวัติศาสตร์ที่มีหลักฐานรองรับ
ไฟล์เหล่านี้อยู่ใน workspace ของ agent (ค่าเริ่มต้น ~/.openclaw/workspace)

อะไรควรอยู่ที่ไหน

MEMORY.md คือเลเยอร์ที่กระชับและคัดสรรแล้ว ใช้สำหรับข้อเท็จจริงที่คงทน การตั้งค่า การตัดสินใจที่ยืนอยู่ และสรุปสั้น ๆ ที่ควรพร้อมใช้งานเมื่อเริ่มต้น เซสชันส่วนตัวหลัก ไม่ได้มีไว้เป็น transcript ดิบ บันทึกรายวัน หรือคลังถาวรแบบครบถ้วน ไฟล์ memory/YYYY-MM-DD.md คือเลเยอร์สำหรับทำงาน ใช้สำหรับบันทึกรายวันแบบละเอียด ข้อสังเกต สรุปเซสชัน และบริบทดิบที่อาจยังมีประโยชน์ในภายหลัง ไฟล์เหล่านี้ถูกทำดัชนีสำหรับ memory_search และ memory_get แต่จะไม่ถูกแทรกเข้าไปในพรอมป์ bootstrap ปกติทุกครั้ง เมื่อเวลาผ่านไป agent ควรกลั่นกรองเนื้อหาที่มีประโยชน์จากบันทึกรายวัน ไปยัง MEMORY.md และลบรายการระยะยาวที่ล้าสมัย คำสั่ง workspace ที่สร้างขึ้นและโฟลว์ Heartbeat สามารถทำสิ่งนี้เป็นระยะได้ คุณไม่จำเป็นต้องแก้ไข MEMORY.md ด้วยตนเองสำหรับทุกรายละเอียดที่ต้องจดจำ หาก MEMORY.md โตเกินงบประมาณไฟล์ bootstrap OpenClaw จะเก็บไฟล์บนดิสก์ไว้ครบถ้วน แต่จะตัดสำเนาที่แทรกเข้าไปในบริบทของโมเดล ให้ถือว่านี่เป็นสัญญาณให้ย้ายเนื้อหาแบบละเอียดกลับไปที่ memory/*.md เก็บเฉพาะสรุปที่คงทนไว้ใน MEMORY.md หรือเพิ่มขีดจำกัด bootstrap หากคุณตั้งใจจะใช้งบพรอมป์มากขึ้น ใช้ /context list, /context detail หรือ openclaw doctor เพื่อดูขนาดดิบเทียบกับขนาดที่ถูกแทรก และสถานะการตัดทอน
ถ้าคุณต้องการให้ agent จำบางอย่าง แค่บอกมันว่า: “จำไว้ว่าฉันชอบ TypeScript” มันจะเขียนสิ่งนั้นลงไฟล์ที่เหมาะสม

ข้อผูกพันที่อนุมานได้

การติดตามผลบางอย่างในอนาคตไม่ใช่ข้อเท็จจริงที่คงทน หากคุณพูดถึงการสัมภาษณ์ พรุ่งนี้ หน่วยความจำที่มีประโยชน์อาจเป็น “เช็กอินหลังการสัมภาษณ์” ไม่ใช่ “เก็บสิ่งนี้ไว้ตลอดไปใน MEMORY.md ข้อผูกพัน เป็นหน่วยความจำติดตามผลระยะสั้นแบบเลือกใช้ สำหรับกรณีนั้น OpenClaw อนุมานสิ่งเหล่านี้ใน pass เบื้องหลังที่ซ่อนอยู่ จำกัดขอบเขตไว้กับ agent และช่องทางเดียวกัน และส่งเช็กอินที่ถึงกำหนดผ่าน Heartbeat การเตือนความจำแบบชัดเจนยังคงใช้ งานที่ตั้งเวลาไว้

เครื่องมือหน่วยความจำ

agent มีเครื่องมือสองตัวสำหรับทำงานกับหน่วยความจำ:
  • memory_search — ค้นหาบันทึกที่เกี่ยวข้องด้วยการค้นหาเชิงความหมาย แม้ถ้อยคำ จะแตกต่างจากต้นฉบับ
  • memory_get — อ่านไฟล์หน่วยความจำเฉพาะหรือช่วงบรรทัด
เครื่องมือทั้งสองจัดเตรียมโดย Plugin หน่วยความจำที่ใช้งานอยู่ (ค่าเริ่มต้น: memory-core)

Plugin คู่หู Memory Wiki

หากคุณต้องการให้หน่วยความจำที่คงทนทำงานเหมือนฐานความรู้ที่ดูแลรักษามากขึ้น แทนที่จะเป็นเพียงบันทึกดิบ ให้ใช้ Plugin memory-wiki ที่รวมมาให้ memory-wiki คอมไพล์ความรู้ที่คงทนให้เป็นคลังวิกิที่มี:
  • โครงสร้างหน้าที่กำหนดแน่นอน
  • การกล่าวอ้างและหลักฐานแบบมีโครงสร้าง
  • การติดตามความขัดแย้งและความสดใหม่
  • dashboard ที่สร้างขึ้น
  • digest ที่คอมไพล์แล้วสำหรับผู้ใช้ฝั่ง agent/runtime
  • เครื่องมือแบบวิกิ เช่น wiki_search, wiki_get, wiki_apply และ wiki_lint
มันไม่ได้แทนที่ Plugin หน่วยความจำที่ใช้งานอยู่ Plugin หน่วยความจำที่ใช้งานอยู่ยังคง เป็นเจ้าของการเรียกคืน การเลื่อนระดับ และ Dreaming memory-wiki เพิ่มเลเยอร์ความรู้ ที่มีแหล่งที่มาชัดเจนไว้ข้าง ๆ ดู Memory Wiki

การค้นหาหน่วยความจำ

เมื่อกำหนดค่า embedding provider แล้ว memory_search จะใช้ การค้นหาแบบไฮบริด — ผสานความคล้ายคลึงแบบเวกเตอร์ (ความหมายเชิงความหมาย) เข้ากับการจับคู่คีย์เวิร์ด (คำตรงตัว เช่น ID และสัญลักษณ์โค้ด) สิ่งนี้ใช้งานได้ทันทีเมื่อคุณมี API key สำหรับ provider ที่รองรับ
OpenClaw ตรวจจับ embedding provider โดยอัตโนมัติจาก API key ที่มีอยู่ หากคุณ กำหนดค่า key ของ OpenAI, Gemini, Voyage หรือ Mistral ไว้ การค้นหาหน่วยความจำจะเปิดใช้งานโดยอัตโนมัติ
สำหรับรายละเอียดเกี่ยวกับวิธีทำงานของการค้นหา ตัวเลือกการปรับแต่ง และการตั้งค่า provider โปรดดู การค้นหาหน่วยความจำ

backend หน่วยความจำ

Builtin (default)

อิง SQLite ใช้งานได้ทันทีพร้อมการค้นหาคีย์เวิร์ด ความคล้ายคลึงแบบเวกเตอร์ และ การค้นหาแบบไฮบริด ไม่มี dependency เพิ่มเติม

QMD

sidecar แบบ local-first พร้อมการจัดอันดับใหม่ การขยาย query และความสามารถในการทำดัชนี ไดเรกทอรีนอก workspace

Honcho

หน่วยความจำข้ามเซสชันแบบ AI-native พร้อมการสร้างโมเดลผู้ใช้ การค้นหาเชิงความหมาย และ การรับรู้หลาย agent ติดตั้งผ่าน Plugin

LanceDB

หน่วยความจำที่รวมมาให้ซึ่งรองรับโดย LanceDB พร้อม embeddings ที่เข้ากันได้กับ OpenAI, auto-recall, auto-capture และการรองรับ embedding ของ Ollama แบบ local

เลเยอร์วิกิความรู้

Memory Wiki

คอมไพล์หน่วยความจำที่คงทนให้เป็นคลังวิกิที่มีแหล่งที่มาชัดเจน พร้อมการกล่าวอ้าง dashboard, bridge mode และเวิร์กโฟลว์ที่เป็นมิตรกับ Obsidian

การ flush หน่วยความจำอัตโนมัติ

ก่อนที่ Compaction จะสรุปบทสนทนาของคุณ OpenClaw จะรัน turn แบบเงียบที่เตือน agent ให้บันทึกบริบทสำคัญลงไฟล์หน่วยความจำ สิ่งนี้เปิดใช้งานเป็นค่าเริ่มต้น — คุณไม่จำเป็นต้องกำหนดค่าอะไร หากต้องการให้ turn ดูแลความเรียบร้อยนั้นใช้โมเดล local ให้ตั้ง override โมเดล memory-flush แบบเจาะจง:
{
  "agents": {
    "defaults": {
      "compaction": {
        "memoryFlush": {
          "model": "ollama/qwen3:8b"
        }
      }
    }
  }
}
override นี้มีผลเฉพาะกับ turn ของ memory-flush และจะไม่สืบทอด fallback chain ของเซสชันที่ใช้งานอยู่
memory flush ป้องกันการสูญเสียบริบทระหว่าง Compaction หาก agent ของคุณมี ข้อเท็จจริงสำคัญในบทสนทนาที่ยังไม่ได้เขียนลงไฟล์ สิ่งเหล่านั้นจะถูกบันทึกโดยอัตโนมัติก่อนการสรุปจะเกิดขึ้น

Dreaming

Dreaming เป็น pass การรวบรวมหน่วยความจำเบื้องหลังแบบไม่บังคับ มันรวบรวม สัญญาณระยะสั้น ให้คะแนนผู้สมัคร และเลื่อนระดับเฉพาะรายการที่ผ่านคุณสมบัติเข้าสู่ หน่วยความจำระยะยาว (MEMORY.md) ออกแบบมาเพื่อให้หน่วยความจำระยะยาวมีสัญญาณคุณภาพสูง:
  • เลือกใช้: ปิดใช้งานเป็นค่าเริ่มต้น
  • ตั้งเวลาไว้: เมื่อเปิดใช้งาน memory-core จะจัดการ cron job แบบเกิดซ้ำหนึ่งงานโดยอัตโนมัติ สำหรับการกวาด Dreaming แบบเต็ม
  • มีเกณฑ์ขั้นต่ำ: การเลื่อนระดับต้องผ่านเกณฑ์คะแนน ความถี่การเรียกคืน และความหลากหลายของ query
  • ตรวจทานได้: สรุป phase และรายการไดอารี่จะถูกเขียนลง DREAMS.md เพื่อให้มนุษย์ตรวจทาน
สำหรับพฤติกรรมของ phase สัญญาณการให้คะแนน และรายละเอียด Dream Diary โปรดดู Dreaming

การเติมย้อนหลังที่มีหลักฐานรองรับและการเลื่อนระดับแบบสด

ตอนนี้ระบบ Dreaming มีเลนตรวจทานสองเลนที่เกี่ยวข้องกันอย่างใกล้ชิด:
  • Live dreaming ทำงานจาก store สำหรับ Dreaming ระยะสั้นภายใต้ memory/.dreams/ และเป็นสิ่งที่ phase ลึกปกติใช้เมื่อตัดสินใจว่าอะไร สามารถเลื่อนระดับเข้า MEMORY.md ได้
  • Grounded backfill อ่านบันทึก memory/YYYY-MM-DD.md ในอดีตเป็น ไฟล์รายวันแบบแยกเดี่ยว และเขียนผลลัพธ์การตรวจทานแบบมีโครงสร้างลงใน DREAMS.md
Grounded backfill มีประโยชน์เมื่อคุณต้องการเล่นซ้ำบันทึกเก่าและตรวจดูว่า ระบบคิดว่าอะไรคงทน โดยไม่ต้องแก้ไข MEMORY.md ด้วยตนเอง เมื่อคุณใช้:
openclaw memory rem-backfill --path ./memory --stage-short-term
ผู้สมัครที่คงทนและมีหลักฐานรองรับจะไม่ถูกเลื่อนระดับโดยตรง แต่จะถูก stage เข้าไปใน store สำหรับ Dreaming ระยะสั้นเดียวกันที่ phase ลึกปกติใช้อยู่แล้ว นั่นหมายความว่า:
  • DREAMS.md ยังคงเป็นพื้นผิวสำหรับมนุษย์ตรวจทาน
  • store ระยะสั้นยังคงเป็นพื้นผิวการจัดอันดับสำหรับเครื่อง
  • MEMORY.md ยังคงถูกเขียนโดยการเลื่อนระดับเชิงลึกเท่านั้น
หากคุณตัดสินใจว่าการเล่นซ้ำไม่มีประโยชน์ คุณสามารถลบ artifact ที่ stage ไว้ โดยไม่แตะรายการไดอารี่ปกติหรือสถานะการเรียกคืนปกติ:
openclaw memory rem-backfill --rollback
openclaw memory rem-backfill --rollback-short-term

CLI

openclaw memory status          # ตรวจสอบสถานะดัชนีและ provider
openclaw memory search "query"  # ค้นหาจากบรรทัดคำสั่ง
openclaw memory index --force   # สร้างดัชนีใหม่

อ่านเพิ่มเติม

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