제공 기능
- FTS5 전문 색인(BM25 점수)을 통한 키워드 검색.
- 지원되는 모든 공급자의 임베딩을 통한 벡터 검색.
- 최상의 결과를 위해 둘을 결합하는 하이브리드 검색.
- 중국어, 일본어, 한국어용 트라이그램 토큰화를 통한 CJK 지원.
- 데이터베이스 내 벡터 쿼리를 위한 sqlite-vec 가속(선택 사항).
시작하기
기본적으로 내장 엔진은 OpenAI 임베딩을 사용합니다. 이미OPENAI_API_KEY 또는 models.providers.openai.apiKey를 구성했다면, 추가
메모리 구성 없이 벡터 검색이 작동합니다.
공급자를 명시적으로 설정하려면:
local.modelPath가 GGUF 파일을 가리키도록 설정합니다.
지원되는 임베딩 공급자
| 공급자 | ID | 참고 사항 |
|---|---|---|
| Bedrock | bedrock | AWS 자격 증명 체인을 사용 |
| DeepInfra | deepinfra | 기본값: BAAI/bge-m3 |
| Gemini | gemini | 멀티모달(이미지 + 오디오) 지원 |
| GitHub Copilot | github-copilot | Copilot 구독 사용 |
| 로컬 | local | @openclaw/llama-cpp-provider |
| Mistral | mistral | |
| Ollama | ollama | 로컬/자체 호스팅 |
| OpenAI | openai | 기본값: text-embedding-3-small |
| OpenAI 호환 | openai-compatible | 일반 /v1/embeddings 엔드포인트 |
| Voyage | voyage |
memorySearch.provider를 설정합니다.
색인 작동 방식
OpenClaw는MEMORY.md와 memory/*.md를 청크(약 400토큰, 80토큰 중첩)로
나누어 색인하고 에이전트별 SQLite 데이터베이스에 저장합니다.
- 인덱스 위치: 소유 에이전트 데이터베이스
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite - 저장소 유지 관리: SQLite WAL 사이드카는 주기적 체크포인트와 종료 시 체크포인트로 제한됩니다.
- 파일 감시: 메모리 파일 변경은 디바운스된 재색인(1.5초)을 트리거합니다.
- 자동 재색인: 임베딩 공급자, 모델 또는 청크 구성 변경 시 전체 인덱스가 자동으로 다시 빌드됩니다.
- 요청 시 재색인:
openclaw memory index --force
memorySearch.extraPaths를 사용해 작업 공간 밖의 Markdown 파일도 색인할 수
있습니다. 구성 참조를
참고하세요.사용 시점
내장 엔진은 대부분의 사용자에게 적합한 선택입니다.- 추가 의존성 없이 바로 작동합니다.
- 키워드 검색과 벡터 검색을 잘 처리합니다.
- 모든 임베딩 공급자를 지원합니다.
- 하이브리드 검색은 두 검색 방식의 장점을 결합합니다.
문제 해결
메모리 검색이 비활성화되었나요?openclaw memory status를 확인하세요.
공급자가 감지되지 않으면 하나를 명시적으로 설정하거나 API 키를 추가하세요.
로컬 공급자가 감지되지 않나요? 로컬 경로가 존재하는지 확인하고 다음을
실행하세요.
local 공급자 ID를 사용합니다.
로컬 임베딩을 원할 때는 memorySearch.provider: "local"을 설정하세요.
결과가 오래되었나요? 다시 빌드하려면 openclaw memory index --force를
실행하세요. 드문 엣지 케이스에서는 감시자가 변경 사항을 놓칠 수 있습니다.
sqlite-vec가 로드되지 않나요? OpenClaw는 자동으로 프로세스 내 코사인
유사도로 대체합니다. openclaw memory status --deep은 로컬 벡터 저장소를
임베딩 공급자와 별도로 보고하므로, Vector store: unavailable은 sqlite-vec
로드 문제를 가리키고 Embeddings: unavailable은 공급자/인증 또는 모델
준비 상태를 가리킵니다. 구체적인 로드 오류는 로그를 확인하세요.