Chuyển đến nội dung chính

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 tìm các ghi chú liên quan từ các tệp bộ nhớ của bạn, ngay cả khi cách diễn đạt khác với văn bản gốc. Công cụ này hoạt động bằng cách lập chỉ mục bộ nhớ thành các đoạn nhỏ và tìm kiếm chúng bằng embeddings, từ khóa hoặc cả hai.

Bắt đầu nhanh

Nếu bạn có gói đăng ký GitHub Copilot, hoặc đã cấu hình khóa API OpenAI, Gemini, Voyage hoặc Mistral, tính năng tìm kiếm bộ nhớ sẽ tự động hoạt động. Để đặt nhà cung cấp một cách rõ ràng:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai", // or "gemini", "local", "ollama", etc.
      },
    },
  },
}
Với các thiết lập nhiều endpoint, provider cũng có thể là một mục tùy chỉnh models.providers.<id>, chẳng hạn như ollama-5080, khi nhà cung cấp đó đặt api: "ollama" hoặc một chủ sở hữu adapter embedding khác. Để dùng embeddings cục bộ không cần khóa API, hãy cài đặt gói runtime tùy chọn node-llama-cpp cạnh OpenClaw và dùng provider: "local". Một số endpoint embedding tương thích với OpenAI yêu cầu nhãn bất đối xứng như input_type: "query" cho tìm kiếm và input_type: "document" hoặc "passage" cho các đoạn đã lập chỉ mục. Cấu hình các giá trị đó bằng memorySearch.queryInputTypememorySearch.documentInputType; xem tham chiếu cấu hình bộ nhớ.

Nhà cung cấp được hỗ trợ

Nhà cung cấpIDCần khóa APIGhi chú
BedrockbedrockKhôngTự động phát hiện khi chuỗi thông tin xác thực AWS phân giải được
GeminigeminiHỗ trợ lập chỉ mục hình ảnh/âm thanh
GitHub Copilotgithub-copilotKhôngTự động phát hiện, dùng gói đăng ký Copilot
Cục bộlocalKhôngMô hình GGUF, tải xuống ~0,6 GB
MistralmistralTự động phát hiện
OllamaollamaKhôngCục bộ, phải đặt rõ ràng
OpenAIopenaiTự động phát hiện, nhanh
VoyagevoyageTự động phát hiện

Cách tìm kiếm hoạt động

OpenClaw chạy song song hai luồng truy xuất và hợp nhất kết quả:
  • Tìm kiếm vector tìm các ghi chú có ý nghĩa tương tự (“gateway host” khớp với “máy đang chạy OpenClaw”).
  • Tìm kiếm từ khóa BM25 tìm các kết quả khớp chính xác (ID, chuỗi lỗi, khóa cấu hình).
Nếu chỉ có một luồng khả dụng (không có embeddings hoặc không có FTS), luồng còn lại sẽ chạy riêng. Khi embeddings không khả dụng, OpenClaw vẫn dùng xếp hạng từ vựng trên kết quả FTS thay vì chỉ quay về thứ tự khớp chính xác thô. Chế độ suy giảm này tăng hạng các đoạn có mức độ bao phủ thuật ngữ truy vấn mạnh hơn và đường dẫn tệp liên quan, nhờ đó khả năng truy hồi vẫn hữu ích ngay cả khi không có sqlite-vec hoặc nhà cung cấp embedding.

Cải thiện chất lượng tìm kiếm

Hai tính năng tùy chọn giúp ích khi bạn có lịch sử ghi chú lớn:

Suy giảm theo thời gian

Ghi chú cũ dần giảm trọng số xếp hạng để thông tin gần đây xuất hiện trước. Với chu kỳ bán rã mặc định là 30 ngày, một ghi chú từ tháng trước đạt 50% trọng số ban đầu. Các tệp luôn có giá trị như MEMORY.md sẽ không bao giờ bị suy giảm.
Bật suy giảm theo thời gian nếu agent của bạn có nhiều tháng ghi chú hằng ngày và thông tin đã cũ thường xuyên xếp hạng cao hơn ngữ cảnh gần đây.

MMR (đa dạng)

Giảm các kết quả trùng lặp. Nếu năm ghi chú đều nhắc đến cùng một cấu hình router, MMR đảm bảo các kết quả hàng đầu bao phủ những chủ đề khác nhau thay vì lặp lại.
Bật MMR nếu memory_search liên tục trả về các đoạn gần trùng lặp từ những ghi chú hằng ngày khác nhau.

Bật cả hai

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            mmr: { enabled: true },
            temporalDecay: { enabled: true },
          },
        },
      },
    },
  },
}

Bộ nhớ đa phương thức

Với Gemini Embedding 2, bạn có thể lập chỉ mục hình ảnh và tệp âm thanh cùng với Markdown. Truy vấn tìm kiếm vẫn là văn bản, nhưng sẽ khớp với nội dung hình ảnh và âm thanh. Xem tham chiếu cấu hình bộ nhớ để thiết lập.

Tìm kiếm bộ nhớ phiên

Bạn có thể tùy chọn lập chỉ mục bản ghi phiên để memory_search có thể nhớ lại các cuộc trò chuyện trước đó. Tính năng này cần chọn bật qua memorySearch.experimental.sessionMemory. Xem tham chiếu cấu hình để biết chi tiết.

Khắc phục sự cố

Không có kết quả? Chạy openclaw memory status để kiểm tra chỉ mục. Nếu trống, chạy openclaw memory index --force. Chỉ có kết quả khớp từ khóa? Nhà cung cấp embedding của bạn có thể chưa được cấu hình. Kiểm tra openclaw memory status --deep. Embeddings cục bộ bị hết thời gian chờ? ollama, lmstudiolocal mặc định dùng thời gian chờ lô inline dài hơn. Nếu máy chủ chỉ đơn giản là chậm, đặt agents.defaults.memorySearch.sync.embeddingBatchTimeoutSeconds rồi chạy lại openclaw memory index --force. Không tìm thấy văn bản CJK? Xây dựng lại chỉ mục FTS bằng openclaw memory index --force.

Đọc thêm

Liên quan