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.
memory_search ค้นหาโน้ตที่เกี่ยวข้องจากไฟล์หน่วยความจำของคุณ แม้เมื่อถ้อยคำแตกต่างจากข้อความต้นฉบับ โดยทำงานด้วยการทำดัชนีหน่วยความจำเป็นชิ้นเล็กๆ แล้วค้นหาด้วย embeddings, คำสำคัญ หรือทั้งสองแบบ
เริ่มต้นอย่างรวดเร็ว
หากคุณมีการสมัครสมาชิก GitHub Copilot หรือกำหนดค่า API key ของ OpenAI, Gemini, Voyage หรือ Mistral ไว้ การค้นหาหน่วยความจำจะทำงานโดยอัตโนมัติ หากต้องการกำหนดผู้ให้บริการอย่างชัดเจน:provider ยังสามารถเป็นรายการ models.providers.<id> แบบกำหนดเองได้ เช่น ollama-5080 เมื่อผู้ให้บริการนั้นตั้งค่า api: "ollama" หรือเจ้าของอะแดปเตอร์ embedding อื่น
สำหรับ embeddings แบบ local ที่ไม่มี API key ให้ตั้งค่า provider: "local" เช็กเอาต์ซอร์สอาจยังต้องการการอนุมัติ native build: pnpm approve-builds แล้วจึง pnpm rebuild node-llama-cpp
endpoint embedding ที่เข้ากันได้กับ OpenAI บางรายการต้องใช้ป้ายกำกับแบบอสมมาตร เช่น input_type: "query" สำหรับการค้นหา และ input_type: "document" หรือ "passage" สำหรับชิ้นข้อมูลที่ทำดัชนีไว้ กำหนดค่าด้วย memorySearch.queryInputType และ memorySearch.documentInputType; ดู เอกสารอ้างอิงการกำหนดค่าหน่วยความจำ
ผู้ให้บริการที่รองรับ
| ผู้ให้บริการ | ID | ต้องใช้ API key | หมายเหตุ |
|---|---|---|---|
| Bedrock | bedrock | ไม่ | ตรวจพบอัตโนมัติเมื่อเชนข้อมูลรับรอง AWS resolved |
| Gemini | gemini | ใช่ | รองรับการทำดัชนีรูปภาพ/เสียง |
| GitHub Copilot | github-copilot | ไม่ | ตรวจพบอัตโนมัติ ใช้การสมัครสมาชิก Copilot |
| Local | local | ไม่ | โมเดล GGUF, ดาวน์โหลด ~0.6 GB |
| Mistral | mistral | ใช่ | ตรวจพบอัตโนมัติ |
| Ollama | ollama | ไม่ | Local, ต้องตั้งค่าอย่างชัดเจน |
| OpenAI | openai | ใช่ | ตรวจพบอัตโนมัติ รวดเร็ว |
| Voyage | voyage | ใช่ | ตรวจพบอัตโนมัติ |
การค้นหาทำงานอย่างไร
OpenClaw เรียกใช้เส้นทางการดึงข้อมูลสองแบบพร้อมกันและรวมผลลัพธ์:- การค้นหาแบบเวกเตอร์ ค้นหาโน้ตที่มีความหมายคล้ายกัน (“gateway host” ตรงกับ “เครื่องที่กำลังรัน OpenClaw”)
- การค้นหาคำสำคัญ BM25 ค้นหารายการที่ตรงกันแบบเป๊ะๆ (ID, สตริงข้อผิดพลาด, คีย์การกำหนดค่า)
sqlite-vec หรือผู้ให้บริการ embedding
การปรับปรุงคุณภาพการค้นหา
ฟีเจอร์เสริมสองอย่างช่วยได้เมื่อคุณมีประวัติโน้ตขนาดใหญ่:การลดน้ำหนักตามเวลา
โน้ตเก่าจะค่อยๆ ลดน้ำหนักในการจัดอันดับ เพื่อให้ข้อมูลล่าสุดปรากฏก่อน ด้วยค่า half-life เริ่มต้น 30 วัน โน้ตจากเดือนที่แล้วจะได้คะแนน 50% ของน้ำหนักเดิม ไฟล์ที่ใช้ได้ตลอดเวลา เช่นMEMORY.md จะไม่ถูกลดน้ำหนัก
MMR (ความหลากหลาย)
ลดผลลัพธ์ที่ซ้ำซ้อน หากโน้ตห้ารายการทั้งหมดกล่าวถึงการกำหนดค่าเราเตอร์เดียวกัน MMR จะทำให้ผลลัพธ์อันดับต้นๆ ครอบคลุมหัวข้อที่แตกต่างกันแทนการแสดงซ้ำเปิดใช้ทั้งสองอย่าง
หน่วยความจำหลายรูปแบบ
ด้วย Gemini Embedding 2 คุณสามารถทำดัชนีรูปภาพและไฟล์เสียงควบคู่ไปกับ Markdown ได้ คำค้นหายังคงเป็นข้อความ แต่จะจับคู่กับเนื้อหาภาพและเสียง ดู เอกสารอ้างอิงการกำหนดค่าหน่วยความจำ สำหรับการตั้งค่าการค้นหาหน่วยความจำของเซสชัน
คุณสามารถเลือกทำดัชนีทรานสคริปต์ของเซสชัน เพื่อให้memory_search เรียกคืนบทสนทนาก่อนหน้าได้ ฟีเจอร์นี้ต้องเลือกเปิดผ่าน memorySearch.experimental.sessionMemory ดู เอกสารอ้างอิงการกำหนดค่า สำหรับรายละเอียด
การแก้ไขปัญหา
ไม่มีผลลัพธ์? รันopenclaw memory status เพื่อตรวจสอบดัชนี หากว่าง ให้รัน openclaw memory index --force
มีเฉพาะการจับคู่คำสำคัญ? ผู้ให้บริการ embedding ของคุณอาจยังไม่ได้กำหนดค่า ตรวจสอบ openclaw memory status --deep
embeddings แบบ Local หมดเวลา? ollama, lmstudio และ local ใช้ค่า timeout ของ inline batch ที่ยาวกว่าโดยค่าเริ่มต้น หากโฮสต์ช้าเพียงอย่างเดียว ให้ตั้งค่า agents.defaults.memorySearch.sync.embeddingBatchTimeoutSeconds แล้วรัน openclaw memory index --force อีกครั้ง
ไม่พบข้อความ CJK? สร้างดัชนี FTS ใหม่ด้วย openclaw memory index --force
อ่านเพิ่มเติม
- Active Memory — หน่วยความจำของ sub-agent สำหรับเซสชันแชตแบบโต้ตอบ
- หน่วยความจำ — เค้าโครงไฟล์, backend, เครื่องมือ
- เอกสารอ้างอิงการกำหนดค่าหน่วยความจำ — ปุ่มปรับแต่งการกำหนดค่าทั้งหมด