เอนจินในตัวคือแบ็กเอนด์หน่วยความจำค่าเริ่มต้น ซึ่งจัดเก็บดัชนีหน่วยความจำของคุณไว้ใน ฐานข้อมูล SQLite แยกตามเอเจนต์ และไม่ต้องมีการพึ่งพาเพิ่มเติมเพื่อเริ่มต้นใช้งาน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.
สิ่งที่มีให้
- การค้นหาด้วยคีย์เวิร์ด ผ่านดัชนีข้อความเต็ม FTS5 (การให้คะแนน BM25)
- การค้นหาแบบเวกเตอร์ ผ่าน embeddings จากผู้ให้บริการที่รองรับใดก็ได้
- การค้นหาแบบไฮบริด ที่รวมทั้งสองแบบเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
- การรองรับ CJK ผ่านการตัดคำแบบ trigram สำหรับภาษาจีน ญี่ปุ่น และเกาหลี
- การเร่งความเร็วด้วย sqlite-vec สำหรับคิวรีเวกเตอร์ภายในฐานข้อมูล (ไม่บังคับ)
เริ่มต้นใช้งาน
หากคุณมีคีย์ API สำหรับ OpenAI, Gemini, Voyage, Mistral หรือ DeepInfra เอนจินในตัว จะตรวจพบโดยอัตโนมัติและเปิดใช้การค้นหาแบบเวกเตอร์ ไม่ต้องตั้งค่าใดๆ หากต้องการตั้งค่าผู้ให้บริการอย่างชัดเจน:node-llama-cpp แบบไม่บังคับไว้ข้าง OpenClaw จากนั้นชี้ local.modelPath
ไปยังไฟล์ GGUF:
ผู้ให้บริการ embedding ที่รองรับ
| ผู้ให้บริการ | ID | ตรวจพบอัตโนมัติ | หมายเหตุ |
|---|---|---|---|
| OpenAI | openai | ใช่ | ค่าเริ่มต้น: text-embedding-3-small |
| Gemini | gemini | ใช่ | รองรับมัลติโหมด (ภาพ + เสียง) |
| Voyage | voyage | ใช่ | |
| Mistral | mistral | ใช่ | |
| DeepInfra | deepinfra | ใช่ | ค่าเริ่มต้น: BAAI/bge-m3 |
| Ollama | ollama | ไม่ใช่ | ในเครื่อง ตั้งค่าอย่างชัดเจน |
| Local | local | ใช่ (เป็นอันดับแรก) | รันไทม์ node-llama-cpp แบบไม่บังคับ |
memorySearch.provider เพื่อแทนที่
การจัดทำดัชนีทำงานอย่างไร
OpenClaw จัดทำดัชนีMEMORY.md และ memory/*.md เป็นชังก์ (~400 โทเค็นพร้อม
ส่วนทับซ้อน 80 โทเค็น) และจัดเก็บไว้ในฐานข้อมูล SQLite แยกตามเอเจนต์
- ตำแหน่งดัชนี:
~/.openclaw/memory/<agentId>.sqlite - การบำรุงรักษาพื้นที่จัดเก็บ: ไฟล์เสริม SQLite WAL ถูกจำกัดขนาดด้วย checkpoint เป็นระยะและ ตอนปิดระบบ
- การเฝ้าดูไฟล์: การเปลี่ยนแปลงไฟล์หน่วยความจำจะทริกเกอร์การจัดทำดัชนีใหม่แบบ debounce (1.5 วินาที)
- การจัดทำดัชนีใหม่อัตโนมัติ: เมื่อผู้ให้บริการ embedding, โมเดล หรือค่าการตั้งค่าการแบ่งชังก์ เปลี่ยนแปลง ดัชนีทั้งหมดจะถูกสร้างใหม่โดยอัตโนมัติ
- จัดทำดัชนีใหม่ตามต้องการ:
openclaw memory index --force
คุณยังสามารถจัดทำดัชนีไฟล์ Markdown นอกพื้นที่ทำงานด้วย
memorySearch.extraPaths ได้ ดู
ข้อมูลอ้างอิงการตั้งค่าควรใช้เมื่อใด
เอนจินในตัวเป็นตัวเลือกที่เหมาะสำหรับผู้ใช้ส่วนใหญ่:- ใช้งานได้ทันทีโดยไม่ต้องมีการพึ่งพาเพิ่มเติม
- จัดการการค้นหาด้วยคีย์เวิร์ดและแบบเวกเตอร์ได้ดี
- รองรับผู้ให้บริการ embedding ทั้งหมด
- การค้นหาแบบไฮบริดรวมข้อดีที่สุดของทั้งสองแนวทางการดึงข้อมูล
การแก้ไขปัญหา
การค้นหาหน่วยความจำถูกปิดใช้อยู่หรือไม่ ตรวจสอบopenclaw memory status หากไม่พบผู้ให้บริการ
ให้ตั้งค่ารายหนึ่งอย่างชัดเจนหรือเพิ่มคีย์ API
ตรวจไม่พบผู้ให้บริการในเครื่องหรือไม่ ยืนยันว่าเส้นทางในเครื่องมีอยู่และเรียกใช้:
local เดียวกัน
หากตั้งค่าผู้ให้บริการเป็น auto embeddings ในเครื่องจะถูกพิจารณาเป็นอันดับแรกเฉพาะเมื่อ
memorySearch.local.modelPath ชี้ไปยังไฟล์ในเครื่องที่มีอยู่
ผลลัพธ์เก่าหรือไม่ เรียกใช้ openclaw memory index --force เพื่อสร้างใหม่ ตัวเฝ้าดู
อาจพลาดการเปลี่ยนแปลงในกรณีพิเศษที่พบได้ยาก
sqlite-vec ไม่โหลดหรือไม่ OpenClaw จะถอยกลับไปใช้ cosine similarity ภายในโปรเซส
โดยอัตโนมัติ openclaw memory status --deep รายงานที่เก็บเวกเตอร์ในเครื่อง
แยกจากผู้ให้บริการ embedding ดังนั้น Vector store: unavailable ชี้
ไปที่การโหลด sqlite-vec ขณะที่ Embeddings: unavailable ชี้ไปที่ provider/auth
หรือความพร้อมของโมเดล ตรวจสอบบันทึกเพื่อดูข้อผิดพลาดการโหลดที่เฉพาะเจาะจง