Trang này liệt kê mọi núm cấu hình cho tìm kiếm bộ nhớ của OpenClaw. Để xem tổng quan khái niệm, hãy xem: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.
Tổng quan về bộ nhớ
Cách bộ nhớ hoạt động.
Công cụ tích hợp sẵn
Backend SQLite mặc định.
Công cụ QMD
Sidecar ưu tiên cục bộ.
Tìm kiếm bộ nhớ
Quy trình tìm kiếm và tinh chỉnh.
Active Memory
Sub-agent bộ nhớ cho phiên tương tác.
agents.defaults.memorySearch ở openclaw.json trừ khi có ghi chú khác.
Nếu bạn đang tìm công tắc tính năng Active Memory và cấu hình sub-agent, phần đó nằm trong
plugins.entries.active-memory thay vì memorySearch.Active Memory dùng mô hình hai cổng:- Plugin phải được bật và nhắm tới id agent hiện tại
- yêu cầu phải là một phiên trò chuyện liên tục, tương tác, đủ điều kiện
Chọn nhà cung cấp
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
provider | string | tự động phát hiện | ID adapter embedding như bedrock, deepinfra, gemini, github-copilot, local, mistral, ollama, openai, hoặc voyage; cũng có thể là models.providers.<id> đã cấu hình mà api trỏ tới một trong các adapter đó |
model | string | mặc định của nhà cung cấp | Tên mô hình embedding |
fallback | string | "none" | ID adapter dự phòng khi adapter chính thất bại |
enabled | boolean | true | Bật hoặc tắt tìm kiếm bộ nhớ |
Thứ tự tự động phát hiện
Khiprovider không được đặt, OpenClaw chọn mục khả dụng đầu tiên:
github-copilot
Được chọn nếu có thể phân giải token GitHub Copilot (biến môi trường hoặc hồ sơ xác thực).
ollama được hỗ trợ nhưng không được tự động phát hiện (hãy đặt rõ ràng).
ID nhà cung cấp tùy chỉnh
memorySearch.provider có thể trỏ tới một mục models.providers.<id> tùy chỉnh. OpenClaw phân giải chủ sở hữu api của nhà cung cấp đó cho adapter embedding trong khi vẫn giữ ID nhà cung cấp tùy chỉnh để xử lý endpoint, xác thực, và tiền tố mô hình. Điều này cho phép các thiết lập nhiều GPU hoặc nhiều host dành riêng embedding bộ nhớ cho một endpoint cục bộ cụ thể:
Phân giải khóa API
Embedding từ xa yêu cầu khóa API. Thay vào đó, Bedrock dùng chuỗi thông tin xác thực mặc định của AWS SDK (vai trò instance, SSO, khóa truy cập).| Nhà cung cấp | Biến môi trường | Khóa cấu hình |
|---|---|---|
| Bedrock | Chuỗi thông tin xác thực AWS | Không cần khóa API |
| DeepInfra | DEEPINFRA_API_KEY | models.providers.deepinfra.apiKey |
| Gemini | GEMINI_API_KEY | models.providers.google.apiKey |
| GitHub Copilot | COPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKEN | Hồ sơ xác thực qua đăng nhập thiết bị |
| Mistral | MISTRAL_API_KEY | models.providers.mistral.apiKey |
| Ollama | OLLAMA_API_KEY (phần giữ chỗ) | — |
| OpenAI | OPENAI_API_KEY | models.providers.openai.apiKey |
| Voyage | VOYAGE_API_KEY | models.providers.voyage.apiKey |
Codex OAuth chỉ bao phủ chat/completions và không đáp ứng yêu cầu embedding.
Cấu hình endpoint từ xa
Dành cho endpoint tùy chỉnh tương thích OpenAI hoặc ghi đè mặc định của nhà cung cấp:URL cơ sở API tùy chỉnh.
Ghi đè khóa API.
Header HTTP bổ sung (được hợp nhất với mặc định của nhà cung cấp).
Cấu hình theo nhà cung cấp
Gemini
Gemini
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
model | string | gemini-embedding-001 | Cũng hỗ trợ gemini-embedding-2-preview |
outputDimensionality | number | 3072 | Với Embedding 2: 768, 1536, hoặc 3072 |
Kiểu đầu vào tương thích OpenAI
Kiểu đầu vào tương thích OpenAI
Endpoint embedding tương thích OpenAI có thể chọn dùng các trường yêu cầu
Việc thay đổi các giá trị này ảnh hưởng tới danh tính cache embedding cho lập chỉ mục theo lô của nhà cung cấp và nên được theo sau bằng việc lập chỉ mục lại bộ nhớ khi mô hình upstream xử lý các nhãn khác nhau.
input_type theo nhà cung cấp. Điều này hữu ích cho các mô hình embedding bất đối xứng yêu cầu nhãn khác nhau cho embedding truy vấn và tài liệu.| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
inputType | string | chưa đặt | input_type dùng chung cho embedding truy vấn và tài liệu |
queryInputType | string | chưa đặt | input_type tại thời điểm truy vấn; ghi đè inputType |
documentInputType | string | chưa đặt | input_type chỉ mục/tài liệu; ghi đè inputType |
Bedrock
Bedrock
Cấu hình embedding Bedrock
Bedrock dùng chuỗi thông tin xác thực mặc định của AWS SDK — không cần khóa API. Nếu OpenClaw chạy trên EC2 với vai trò instance đã bật Bedrock, chỉ cần đặt nhà cung cấp và mô hình:| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
model | string | amazon.titan-embed-text-v2:0 | Bất kỳ ID mô hình embedding Bedrock nào |
outputDimensionality | number | mặc định của mô hình | Với Titan V2: 256, 512, hoặc 1024 |
| ID mô hình | Nhà cung cấp | Số chiều mặc định | Số chiều có thể cấu hình |
|---|---|---|---|
amazon.titan-embed-text-v2:0 | Amazon | 1024 | 256, 512, 1024 |
amazon.titan-embed-text-v1 | Amazon | 1536 | — |
amazon.titan-embed-g1-text-02 | Amazon | 1536 | — |
amazon.titan-embed-image-v1 | Amazon | 1024 | — |
amazon.nova-2-multimodal-embeddings-v1:0 | Amazon | 1024 | 256, 384, 1024, 3072 |
cohere.embed-english-v3 | Cohere | 1024 | — |
cohere.embed-multilingual-v3 | Cohere | 1024 | — |
cohere.embed-v4:0 | Cohere | 1536 | 256-1536 |
twelvelabs.marengo-embed-3-0-v1:0 | TwelveLabs | 512 | — |
twelvelabs.marengo-embed-2-7-v1:0 | TwelveLabs | 1024 | — |
amazon.titan-embed-text-v1:2:8k) kế thừa cấu hình của mô hình cơ sở.Xác thực: xác thực Bedrock dùng thứ tự phân giải thông tin xác thực AWS SDK tiêu chuẩn:- Biến môi trường (
AWS_ACCESS_KEY_ID+AWS_SECRET_ACCESS_KEY) - Cache token SSO
- Thông tin xác thực token web identity
- Tệp thông tin xác thực và cấu hình dùng chung
- Thông tin xác thực metadata ECS hoặc EC2
AWS_REGION, AWS_DEFAULT_REGION, baseUrl của nhà cung cấp amazon-bedrock, hoặc mặc định là us-east-1.Quyền IAM: vai trò hoặc người dùng IAM cần:InvokeModel cho mô hình cụ thể:Cục bộ (GGUF + node-llama-cpp)
Cục bộ (GGUF + node-llama-cpp)
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
local.modelPath | string | tự động tải xuống | Đường dẫn đến tệp mô hình GGUF |
local.modelCacheDir | string | mặc định node-llama-cpp | Thư mục bộ nhớ đệm cho các mô hình đã tải xuống |
local.contextSize | number | "auto" | 4096 | Kích thước cửa sổ ngữ cảnh cho ngữ cảnh embedding. 4096 bao phủ các đoạn điển hình (128–512 token) đồng thời giới hạn VRAM không phải trọng số. Giảm xuống 1024–2048 trên các máy chủ bị hạn chế tài nguyên. "auto" dùng mức tối đa đã huấn luyện của mô hình — không khuyến nghị cho mô hình 8B+ (Qwen3-Embedding-8B: 40 960 token → ~32 GB VRAM so với ~8.8 GB ở 4096). |
embeddinggemma-300m-qat-Q8_0.gguf (~0.6 GB, tự động tải xuống). Các bản checkout từ mã nguồn vẫn yêu cầu phê duyệt bản dựng native: pnpm approve-builds, sau đó pnpm rebuild node-llama-cpp.Dùng CLI độc lập để xác minh cùng đường dẫn provider mà Gateway sử dụng:provider là auto, local chỉ được chọn khi local.modelPath trỏ đến một tệp cục bộ hiện có. Các tham chiếu mô hình hf: và HTTP(S) vẫn có thể được dùng rõ ràng với provider: "local", nhưng chúng không khiến auto chọn local trước khi mô hình có sẵn trên đĩa.Thời gian chờ embedding nội tuyến
Ghi đè thời gian chờ cho các lô embedding nội tuyến trong quá trình lập chỉ mục bộ nhớ.Khi chưa đặt, giá trị mặc định của provider được dùng: 600 giây cho các provider cục bộ/tự lưu trữ như
local, ollama, và lmstudio, và 120 giây cho các provider được lưu trữ. Tăng giá trị này khi các lô embedding chạy bằng CPU cục bộ hoạt động bình thường nhưng chậm.Cấu hình tìm kiếm lai
Tất cả nằm dướimemorySearch.query.hybrid:
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
enabled | boolean | true | Bật tìm kiếm lai BM25 + vector |
vectorWeight | number | 0.7 | Trọng số cho điểm vector (0-1) |
textWeight | number | 0.3 | Trọng số cho điểm BM25 (0-1) |
candidateMultiplier | number | 4 | Hệ số nhân kích thước nhóm ứng viên |
- MMR (đa dạng)
- Suy giảm theo thời gian (gần đây)
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
mmr.enabled | boolean | false | Bật xếp hạng lại bằng MMR |
mmr.lambda | number | 0.7 | 0 = đa dạng tối đa, 1 = liên quan tối đa |
Ví dụ đầy đủ
Đường dẫn bộ nhớ bổ sung
| Khóa | Loại | Mô tả |
|---|---|---|
extraPaths | string[] | Các thư mục hoặc tệp bổ sung để lập chỉ mục |
.md. Cách xử lý symlink phụ thuộc vào backend đang hoạt động: engine tích hợp bỏ qua symlink, còn QMD tuân theo hành vi của trình quét QMD bên dưới.
Đối với tìm kiếm bản ghi xuyên tác tử trong phạm vi tác tử, hãy dùng agents.list[].memorySearch.qmd.extraCollections thay vì memory.qmd.paths. Các bộ sưu tập bổ sung đó có cùng dạng { path, name, pattern? }, nhưng được hợp nhất theo từng tác tử và có thể giữ lại tên chia sẻ rõ ràng khi đường dẫn trỏ ra ngoài workspace hiện tại. Nếu cùng một đường dẫn đã phân giải xuất hiện trong cả memory.qmd.paths và memorySearch.qmd.extraCollections, QMD giữ mục đầu tiên và bỏ qua mục trùng lặp.
Bộ nhớ đa phương thức (Gemini)
Lập chỉ mục hình ảnh và âm thanh cùng với Markdown bằng Gemini Embedding 2:| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
multimodal.enabled | boolean | false | Bật lập chỉ mục đa phương thức |
multimodal.modalities | string[] | — | ["image"], ["audio"], hoặc ["all"] |
multimodal.maxFileBytes | number | 10000000 | Kích thước tệp tối đa để lập chỉ mục |
Chỉ áp dụng cho các tệp trong
extraPaths. Các gốc bộ nhớ mặc định vẫn chỉ dùng Markdown. Yêu cầu gemini-embedding-2-preview. fallback phải là "none"..jpg, .jpeg, .png, .webp, .gif, .heic, .heif (hình ảnh); .mp3, .wav, .ogg, .opus, .m4a, .aac, .flac (âm thanh).
Bộ nhớ đệm embedding
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
cache.enabled | boolean | false | Lưu embedding của chunk vào SQLite |
cache.maxEntries | number | 50000 | Số embedding được lưu tối đa |
Lập chỉ mục theo lô
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
remote.nonBatchConcurrency | number | 4 | Embedding nội tuyến song song |
remote.batch.enabled | boolean | false | Bật API embedding theo lô |
remote.batch.concurrency | number | 2 | Tác vụ theo lô song song |
remote.batch.wait | boolean | true | Chờ hoàn tất lô |
remote.batch.pollIntervalMs | number | — | Khoảng thời gian thăm dò |
remote.batch.timeoutMinutes | number | — | Thời gian chờ tối đa của lô |
openai, gemini và voyage. Lô OpenAI thường nhanh nhất và rẻ nhất cho các lần điền ngược dữ liệu lớn.
remote.nonBatchConcurrency kiểm soát các lệnh gọi embedding nội tuyến được dùng bởi nhà cung cấp cục bộ/tự lưu trữ và nhà cung cấp được lưu trữ khi API theo lô của nhà cung cấp không hoạt động. Ollama mặc định là 1 cho lập chỉ mục không theo lô để tránh làm quá tải các máy chủ cục bộ nhỏ hơn; đặt giá trị cao hơn trên máy mạnh hơn.
Thiết lập này tách biệt với sync.embeddingBatchTimeoutSeconds, vốn kiểm soát thời gian chờ cho các lệnh gọi embedding nội tuyến.
Tìm kiếm bộ nhớ phiên (thử nghiệm)
Lập chỉ mục bản ghi phiên và hiển thị chúng quamemory_search:
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
experimental.sessionMemory | boolean | false | Bật lập chỉ mục phiên |
sources | string[] | ["memory"] | Thêm "sessions" để bao gồm bản ghi phiên |
sync.sessions.deltaBytes | number | 100000 | Ngưỡng byte để lập chỉ mục lại |
sync.sessions.deltaMessages | number | 50 | Ngưỡng tin nhắn để lập chỉ mục lại |
Tăng tốc vector SQLite (sqlite-vec)
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
store.vector.enabled | boolean | true | Dùng sqlite-vec cho truy vấn vector |
store.vector.extensionPath | string | đi kèm | Ghi đè đường dẫn sqlite-vec |
Lưu trữ chỉ mục
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
store.path | string | ~/.openclaw/memory/{agentId}.sqlite | Vị trí chỉ mục (hỗ trợ token {agentId}) |
store.fts.tokenizer | string | unicode61 | Bộ tách token FTS5 (unicode61 hoặc trigram) |
Cấu hình backend QMD
Đặtmemory.backend = "qmd" để bật. Tất cả thiết lập QMD nằm dưới memory.qmd:
| Khóa | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
command | string | qmd | Đường dẫn tệp thực thi QMD; đặt đường dẫn tuyệt đối khi PATH của dịch vụ khác shell của bạn |
searchMode | string | search | Lệnh tìm kiếm: search, vsearch, query |
includeDefaultMemory | boolean | true | Tự động lập chỉ mục MEMORY.md + memory/**/*.md |
paths[] | array | — | Đường dẫn bổ sung: { name, path, pattern? } |
sessions.enabled | boolean | false | Lập chỉ mục bản ghi phiên |
sessions.retentionDays | number | — | Thời gian lưu giữ bản ghi |
sessions.exportDir | string | — | Thư mục xuất |
searchMode: "search" chỉ dùng lexical/BM25. OpenClaw không chạy các probe sẵn sàng vector ngữ nghĩa hoặc bảo trì embedding QMD cho chế độ đó, kể cả trong memory status --deep; vsearch và query vẫn tiếp tục yêu cầu QMD vector readiness và embeddings.
OpenClaw ưu tiên collection QMD hiện tại và các dạng truy vấn MCP, nhưng vẫn giữ cho các bản phát hành QMD cũ hoạt động bằng cách thử các cờ mẫu collection tương thích và tên công cụ MCP cũ hơn khi cần. Khi QMD cho biết có hỗ trợ nhiều bộ lọc collection, các collection cùng nguồn được tìm kiếm bằng một tiến trình QMD; các bản dựng QMD cũ hơn giữ đường dẫn tương thích theo từng collection. Cùng nguồn nghĩa là các collection bộ nhớ bền vững được nhóm lại với nhau, trong khi các collection bản ghi phiên vẫn là một nhóm riêng để đa dạng hóa nguồn vẫn có cả hai đầu vào.
Các ghi đè mô hình QMD nằm ở phía QMD, không phải cấu hình OpenClaw. Nếu bạn cần ghi đè toàn cục các mô hình của QMD, hãy đặt các biến môi trường như
QMD_EMBED_MODEL, QMD_RERANK_MODEL và QMD_GENERATE_MODEL trong môi trường runtime của gateway.Lịch cập nhật
Lịch cập nhật
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
update.interval | string | 5m | Khoảng thời gian làm mới |
update.debounceMs | number | 15000 | Debounce thay đổi tệp |
update.onBoot | boolean | true | Làm mới khi trình quản lý QMD chạy lâu dài mở; cũng kiểm soát làm mới khi khởi động theo cơ chế opt-in |
update.startup | string | off | Làm mới tùy chọn khi gateway khởi động: off, idle hoặc immediate |
update.startupDelayMs | number | 120000 | Độ trễ trước khi làm mới startup: "idle" chạy |
update.waitForBootSync | boolean | false | Chặn việc mở trình quản lý cho đến khi lần làm mới ban đầu hoàn tất |
update.embedInterval | string | — | Nhịp embed riêng |
update.commandTimeoutMs | number | — | Thời gian chờ cho các lệnh QMD |
update.updateTimeoutMs | number | — | Thời gian chờ cho các thao tác cập nhật QMD |
update.embedTimeoutMs | number | — | Thời gian chờ cho các thao tác embed QMD |
Giới hạn
Giới hạn
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
limits.maxResults | number | 6 | Số kết quả tìm kiếm tối đa |
limits.maxSnippetChars | number | — | Giới hạn độ dài snippet |
limits.maxInjectedChars | number | — | Giới hạn tổng số ký tự được chèn |
limits.timeoutMs | number | 4000 | Thời gian chờ tìm kiếm |
Phạm vi
Phạm vi
Kiểm soát những phiên nào có thể nhận kết quả tìm kiếm QMD. Cùng schema với Mặc định được phát hành cho phép phiên trực tiếp và phiên kênh, trong khi vẫn từ chối nhóm.Mặc định chỉ DM.
session.sendPolicy:match.keyPrefix khớp với khóa phiên đã chuẩn hóa; match.rawKeyPrefix khớp với khóa thô bao gồm agent:<id>:.Trích dẫn
Trích dẫn
memory.citations áp dụng cho mọi backend:| Giá trị | Hành vi |
|---|---|
auto (mặc định) | Bao gồm footer Source: <path#line> trong snippet |
on | Luôn bao gồm footer |
off | Bỏ qua footer (đường dẫn vẫn được truyền nội bộ cho agent) |
Ví dụ QMD đầy đủ
Dreaming
Dreaming được cấu hình dướiplugins.entries.memory-core.config.dreaming, không phải dưới agents.defaults.memorySearch.
Dreaming chạy như một lượt quét được lập lịch và sử dụng các pha light/deep/REM nội bộ như một chi tiết triển khai.
Để biết hành vi khái niệm và các lệnh slash, hãy xem Dreaming.
Cài đặt người dùng
| Khóa | Loại | Mặc định | Mô tả |
|---|---|---|---|
enabled | boolean | false | Bật hoặc tắt hoàn toàn Dreaming |
frequency | string | 0 3 * * * | Nhịp cron tùy chọn cho toàn bộ lượt quét Dreaming |
model | string | mô hình mặc định | Ghi đè mô hình subagent Dream Diary tùy chọn |
Ví dụ
- Dreaming ghi trạng thái máy vào
memory/.dreams/. - Dreaming ghi đầu ra tường thuật dễ đọc cho con người vào
DREAMS.md(hoặcdreams.mdhiện có). dreaming.modeldùng cổng tin cậy subagent hiện có của Plugin; đặtplugins.entries.memory-core.subagent.allowModelOverride: truetrước khi bật nó.- Dream Diary thử lại một lần với mô hình mặc định của phiên khi mô hình đã cấu hình không khả dụng. Các lỗi tin cậy hoặc allowlist được ghi log và không được âm thầm thử lại.
- Chính sách và ngưỡng của các pha light/deep/REM là hành vi nội bộ, không phải cấu hình hướng tới người dùng.