mempalace

AI MemoryCLIPython

★ 59,033주당 +167조회 4

무엇인가

MemPalace는 AI 에이전트와 코딩 도구에 장기 기억을 붙이는 계층으로, 검색 증강에 쓰이는 메모리 저장소 계열에 속한다. 대화 기록을 요약·추출·의역하지 않고 원문 텍스트 그대로 보관하고 의미 검색으로 다시 꺼낸다. 모든 처리는 로컬에서 끝나며 외부 API 호출이 발생하지 않는다.

어떻게 동작하나

저장 구조는 평면이 아니다. 사람과 프로젝트가 윙(wings), 주제가 룸(rooms), 원문 콘텐츠가 서랍(drawers)이 된다. 검색은 전체 코퍼스가 아니라 이 계층 안에서 범위를 좁혀 실행된다. 검색 계층은 교체 가능하며 기본 백엔드는 ChromaDB이고 인터페이스는 mempalace/backends/base.py에 정의된다. 임베딩 모델은 로컬에 캐시되며 기본 minilm은 약 80MB, embeddinggemma는 약 300MB다.

무엇과 다른가

요약 기반 메모리 시스템과 달리 원문을 보존하므로 나중에 원래 표현을 그대로 인용할 수 있다. 검색도 평면 코퍼스 전체를 대상으로 돌지 않고 윙·룸 단위로 좁혀진다. 백엔드 계약이 분리돼 있어 ChromaDB를 다른 벡터 저장소로 바꿔도 나머지 코드는 손대지 않는다.

어떻게 쓰나

CLI는 uv tool install mempalace 또는 pipx install mempalace로 격리 환경에 설치한다. Docker 이미지도 제공되며 amd64와 arm64를 지원한다. MCP 클라이언트에는 stdio 서버로 연결하고 마이닝할 디렉터리를 마운트한다. 저장소는 mempalace, mempalace-recall, mempalace-task 세 가지 스킬을 노출하며, 스킬 설치는 CLI나 MCP 서버 설치와 별개다.

전제와 한계

Termux 네이티브 설치는 지원되지 않는다. ChromaDB와 ONNX Runtime이 Android용 휠을 배포하지 않기 때문이며 Debian PRoot 컨테이너로 우회한다. GPU 이미지는 x86_64 전용이다. Docker 이미지는 uid 1000으로 실행되므로 Linux 바인드 마운트는 해당 uid가 읽을 수 있어야 하고, 팰리스·설정·임베딩 모델은 /data 아래에 쌓이므로 볼륨을 붙여야 유지된다. 임베딩이 필요한 첫 호출은 모델 다운로드를 위해 네트워크가 필요하다.

관련 논문 2

유사 도구