CLI commands

หน่วยความจำ

openclaw memory

จัดการการทำดัชนีหน่วยความจำเชิงความหมาย การค้นหา และการเลื่อนระดับเข้าสู่ MEMORY.md ให้บริการโดย Plugin memory-core ที่รวมมาให้ และพร้อมใช้งานเมื่อ plugins.slots.memory เลือก memory-core (ค่าเริ่มต้น) Plugin หน่วยความจำอื่น จะมีเนมสเปซ CLI ของตนเอง

เนื้อหาที่เกี่ยวข้อง: แนวคิดเรื่องหน่วยความจำ, Dreaming, ข้อมูลอ้างอิงการกำหนดค่าหน่วยความจำ, วิกิหน่วยความจำ, วิกิ, Plugin

memory status

bash
openclaw memory status [--agent <id>] [--deep] [--index] [--fix] [--json] [--verbose]

หากไม่มี --agent คำสั่งจะทำงานกับเอเจนต์ทุกตัวใน agents.list แต่หากไม่ได้ กำหนดค่ารายการเอเจนต์ไว้ จะใช้เอเจนต์เริ่มต้นแทน

แฟล็ก ผล
--deep ตรวจสอบความพร้อมของที่เก็บเวกเตอร์ ผู้ให้บริการ embedding และการค้นหาเชิงความหมาย (ทำให้มีการเรียกผู้ให้บริการเพิ่มเติม) memory status แบบปกติจะยังคงทำงานรวดเร็วและข้ามขั้นตอนนี้ สถานะเวกเตอร์/เชิงความหมายที่ไม่ทราบหมายความว่ายังไม่ได้ตรวจสอบ searchMode: "search" สำหรับการค้นหาเชิงคำของ QMD จะข้ามการตรวจสอบเวกเตอร์เชิงความหมายเสมอ แม้ใช้ --deep
--index ทำดัชนีใหม่หากที่เก็บอยู่ในสถานะไม่สะอาด มีผลให้ใช้ --deep ด้วย
--fix ซ่อมแซมล็อกการเรียกคืนที่ค้างอยู่และปรับข้อมูลเมตาการเลื่อนระดับให้เป็นมาตรฐาน
--json พิมพ์ JSON
--verbose แสดงบันทึกรายละเอียดของแต่ละระยะ

หากบรรทัด Dreaming ยังคงเป็น off แม้ตั้งค่า dreaming.enabled: true แล้ว หรือ ดูเหมือนว่าการกวาดตามกำหนดเวลาไม่เคยทำงาน Cron สำหรับ Dreaming ที่ระบบจัดการจะ อาศัยการทำงานของ Heartbeat ของเอเจนต์เริ่มต้นเพื่อเรียกการปรับให้สอดคล้องกัน ดูรายละเอียด การจัดกำหนดเวลาได้ที่ Dreaming

สถานะยังแสดงพาธการค้นหาเพิ่มเติมทั้งหมดจาก agents.defaults.memorySearch.extraPaths

memory index

bash
openclaw memory index [--agent <id>] [--force] [--verbose]

มีขอบเขตต่อเอเจนต์เช่นเดียวกับ status --force จะทำดัชนีใหม่ทั้งหมดแทนการ ทำแบบเพิ่มเฉพาะส่วน --verbose จะแสดงผู้ให้บริการ โมเดล แหล่งข้อมูล และ รายละเอียดพาธเพิ่มเติมของแต่ละเอเจนต์ ก่อนแสดงความคืบหน้าการทำดัชนี

bash
openclaw memory search [query] [--query <text>] [--agent <id>] [--max-results <n>] [--min-score <n>] [--json]
  • คำค้น: ระบุตามตำแหน่งด้วย [query] หรือใช้ --query <text> หากตั้งค่าทั้งคู่ --query จะมีผลเหนือกว่า หากไม่ตั้งค่าเลย คำสั่งจะแสดงข้อผิดพลาด
  • --agent <id>: ค่าเริ่มต้นคือเอเจนต์เริ่มต้น (ไม่ใช่รายการเอเจนต์ทั้งหมด)
  • --max-results <n>: จำกัดจำนวนผลลัพธ์ (จำนวนเต็มบวก)
  • --min-score <n>: กรองผลลัพธ์ที่มีคะแนนต่ำกว่าค่านี้ออก

memory promote

จัดอันดับรายการระยะสั้นจาก memory/YYYY-MM-DD.md และเลือกผนวก รายการอันดับสูงเข้าสู่ MEMORY.md

bash
openclaw memory promote [--agent <id>] [--limit <n>] [--min-score <n>] \  [--min-recall-count <n>] [--min-unique-queries <n>] [--apply] [--include-promoted] [--json]
แฟล็ก ค่าเริ่มต้น ผล
--limit <n> จำนวนรายการสูงสุดที่จะส่งคืน/นำไปใช้
--min-score <n> 0.75 คะแนนถ่วงน้ำหนักขั้นต่ำสำหรับการเลื่อนระดับ
--min-recall-count <n> 3 จำนวนการเรียกคืนขั้นต่ำที่กำหนด
--min-unique-queries <n> 2 จำนวนคำค้นที่แตกต่างกันขั้นต่ำที่กำหนด
--apply แสดงตัวอย่างเท่านั้น ผนวกรายการที่เลือกเข้าสู่ MEMORY.md และทำเครื่องหมายว่าเลื่อนระดับแล้ว
--include-promoted รวมรายการที่เลื่อนระดับแล้วในรอบก่อนหน้า
--json พิมพ์ JSON

ค่าเริ่มต้นของ CLI เหล่านี้แตกต่างจากเกณฑ์ระยะลึกของการกวาด Dreaming ตามกำหนดเวลา (ดู Dreaming ด้านล่าง) ให้ส่งแฟล็กอย่างชัดเจนเพื่อให้พฤติกรรม ตรงกับการกวาดสำหรับการเรียกใช้ด้วยตนเองครั้งเดียว

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

memory promote-explain

อธิบายรายละเอียดองค์ประกอบคะแนนของรายการสำหรับเลื่อนระดับหนึ่งรายการ

bash
openclaw memory promote-explain <selector> [--agent <id>] [--include-promoted] [--json]

<selector> จะจับคู่กับคีย์ของรายการ (ตรงทั้งหมดหรือบางส่วน) พาธ หรือข้อความ ส่วนย่อย

memory rem-harness

แสดงตัวอย่างข้อสะท้อนคิด REM ข้อเท็จจริงที่เป็นรายการคัดเลือก และผลลัพธ์การเลื่อนระดับในระยะลึก โดยไม่เขียนสิ่งใด

bash
openclaw memory rem-harness [--agent <id>] [--path <file-or-dir>] [--grounded] [--include-promoted] [--json]
  • --path <file-or-dir>: ตั้งต้นชุดทดสอบจากไฟล์รายวัน YYYY-MM-DD.md ในอดีตแทนพื้นที่ทำงานปัจจุบัน
  • --grounded: แสดงตัวอย่าง สิ่งที่เกิดขึ้น / ข้อสะท้อนคิด / การปรับปรุงที่อาจคงอยู่ ซึ่งยึดโยงกับบันทึกในอดีตด้วย

memory rem-backfill

เขียนสรุป REM ในอดีตที่ยึดโยงกับข้อมูลลงใน DREAMS.md เพื่อให้ตรวจสอบผ่าน UI สามารถย้อนกลับได้

bash
openclaw memory rem-backfill --path <file-or-dir> [--agent <id>] [--stage-short-term] [--json]openclaw memory rem-backfill --rollback [--rollback-short-term] [--json]
  • --path <file-or-dir>: จำเป็น เว้นแต่จะตั้งค่า --rollback/--rollback-short-term ไฟล์หน่วยความจำรายวันในอดีตหรือไดเรกทอรีที่จะใช้เติมข้อมูลย้อนหลัง
  • --stage-short-term: ตั้งต้นรายการข้อมูลคงทนที่ยึดโยงกับข้อมูลลงในที่เก็บการเลื่อนระดับ ระยะสั้นปัจจุบันด้วย เพื่อให้ระยะลึกตามปกติสามารถจัดอันดับรายการเหล่านั้นได้
  • --rollback: ลบรายการบันทึกประจำวันที่ยึดโยงกับข้อมูลซึ่งเคยเขียนไว้จาก DREAMS.md
  • --rollback-short-term: ลบรายการระยะสั้นที่ยึดโยงกับข้อมูลซึ่งเคยจัดเตรียมไว้

Dreaming

Dreaming คือระบบรวมหน่วยความจำเบื้องหลังที่มีสามระยะทำงานร่วมกัน ตามลำดับภายในกำหนดเวลาเดียว ได้แก่ light (จัดเรียง/จัดเตรียมข้อมูลระยะสั้น) REM (สะท้อนคิดและนำเสนอประเด็นสำคัญ) และ deep (เลื่อนระดับข้อเท็จจริงที่คงทน เข้าสู่ MEMORY.md) เฉพาะระยะ deep เท่านั้นที่เขียนลง MEMORY.md

  • เปิดใช้งานด้วย plugins.entries.memory-core.config.dreaming.enabled: true (ค่าเริ่มต้นคือ false) memory-core จะจัดการงาน Cron สำหรับการกวาดโดยอัตโนมัติ ไม่จำเป็นต้องใช้ openclaw cron add ด้วยตนเอง
  • เปิดหรือปิดจากแชตด้วย /dreaming on|off ตรวจสอบด้วย /dreaming status (หรือ /dreaming//dreaming help) การใช้ on/off ต้องมีสถานะเจ้าของช่องทาง หรือสิทธิ์ operator.admin ของ Gateway ส่วน status และความช่วยเหลือยังคงพร้อมใช้งาน สำหรับทุกคนที่สามารถเรียกคำสั่งได้
  • ผลลัพธ์แต่ละระยะในรูปแบบที่มนุษย์อ่านได้จะเขียนลง DREAMS.md (หรือ dreams.md ที่มีอยู่) ตามค่าเริ่มต้น (dreaming.storage.mode: "separate") แต่ละระยะจะเขียนรายงาน แยกต่างหากลงใน memory/dreaming/<phase>/YYYY-MM-DD.md ด้วย ตั้งค่า mode: "inline" เพื่อรวมรายงานไว้ในไฟล์หน่วยความจำรายวันแทน หรือใช้ "both" เพื่อทำทั้งสองแบบ
  • การเรียกใช้ memory promote ตามกำหนดเวลาและด้วยตนเองใช้สัญญาณการจัดอันดับ ในระยะลึกชุดเดียวกัน มีเพียงเกณฑ์เริ่มต้นที่แตกต่างกัน (ดูตารางด้านบนเทียบกับ ค่าเริ่มต้นตามกำหนดเวลาด้านล่าง)
  • การเรียกใช้ตามกำหนดเวลาจะกระจายงานไปยังพื้นที่ทำงานหน่วยความจำของเอเจนต์ที่กำหนดค่าไว้ทุกตัว

ค่าเริ่มต้นตามกำหนดเวลา (plugins.entries.memory-core.config.dreaming):

คีย์ ค่าเริ่มต้น
frequency 0 3 * * *
phases.deep.minScore 0.8
phases.deep.minRecallCount 3
phases.deep.minUniqueQueries 3
phases.deep.recencyHalfLifeDays 14
phases.deep.maxAgeDays 30
phases.deep.maxPromotedSnippetTokens 160
json
{  "plugins": {    "entries": {      "memory-core": {        "config": {          "dreaming": {            "enabled": true          }        }      }    }  }}

รายการคีย์ทั้งหมดและรายละเอียดแต่ละระยะ: Dreaming, ข้อมูลอ้างอิงการกำหนดค่าหน่วยความจำ

การพึ่งพา Gateway ของ SecretRef

หากฟิลด์คีย์ API ระยะไกลของ Active Memory ได้รับการกำหนดค่าเป็น SecretRef คำสั่ง memory จะดึงค่าจากสแนปช็อตของ Gateway ที่กำลังใช้งาน หาก Gateway ไม่พร้อมใช้งาน คำสั่งจะ ล้มเหลวทันที การทำงานนี้ต้องใช้ Gateway ที่รองรับเมธอด secrets.resolve Gateway รุ่นเก่าจะส่งคืนข้อผิดพลาดว่าไม่รู้จักเมธอด

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

Was this useful?
On this page

On this page