liliang-cn/cortexdb

AI memory and a knowledge graph in one SQLite file. Pure Go: vectors, RAG, agent memory, RDF/SPARQL, Cypher, 80+ MCP tools. Works without an embedding model.

CortexDB – 단일 SQLite 파일에 AI 증강 메모리 및 지식 그래프 통합

개요 – CortexDB는 AI 에이전트의 '메모리'를 저장하고 검색할 수 있는 순수 Go 라이브러리입니다. 벡터 기반 유사도 검색, 전문(full-text) 검색, 표준 준수 RDF 지식 그래프를 단일 SQLite(또는 PostgreSQL) 데이터베이스에 통합합니다. 필요에 따라 플러그인을 추가하지 않는 한 외부 서비스나 임베딩 모델이 필요 없습니다.

중요성 – 현대 LLM 기반 에이전트는 세션과 머신을 넘어 지속되는 사실, 컨텍스트, 관계를 저장할 공간이 필요합니다. CortexDB는 빠르고, 로컬이며, 자체 포함된 '두뇌'를 제공하며, 경량 gRPC 서버를 통해 공유할 수 있어 별도의 벡터 저장소나 그래프 데이터베이스를 관리하지 않고도 RAG 파이프라인, 범위 지정 에이전트 메모리, 협업 지식 기반을 쉽게 구축할 수 있습니다.

설치 방법

  • Go 라이브러리: go get github.com/liliang-cn/cortexdb/v2
  • CLI 서버(공유 두뇌): go install github.com/liliang-cn/cortexdb/v2/cmd/cortexdb-grpc@latest
  • 언어 바인딩: cargo add cortexdb-client, pip install cortexdb-client, npm install cortexdb-client
  • Claude Code, Codex, DeepSeek Harness용 플러그인도 제공됩니다.

기본 사용법(Go)

db, _ := cortexdb.Open(cortexdb.DefaultConfig("brain.db"))
defer db.Close()
brain := db.KnowledgeMemory()
_, _ = brain.Remember(ctx, cortexdb.KnowledgeMemoryRememberRequest{Content: "Alice prefers tabs.", Scope: "user"})
rec, _ := brain.Recall(ctx, cortexdb.KnowledgeMemoryRecallRequest{Query: "what does Alice prefer?"})
fmt.Println(rec.ContextPack.Text) // → "Alice prefers tabs."

이 예제는 사실을 저장하고 자연어 쿼리로 나중에 검색하는 방법을 보여줍니다.

주요 기능

  • 벡터 인덱스 – HNSW, IVF, 플랫, 바이너리 코드; FTS5 전문 검색을 통한 하이브리드 검색.
  • RDF 1.2 그래프 – SPARQL 1.1/1.2, RDFS + OWL 2 RL 추론, SHACL 검증; 읽기 전용 Cypher 지원도 포함.
  • RAG 및 범위 지정 메모리 – 메모리를 범위(예: 사용자 또는 세션별)로 지정하고 소스 인용과 함께 '컨텍스트 팩'으로 반환합니다.
  • 라이브 3D 그래프 뷰어 – serve_graph_3d는 데스크톱 또는 휴대폰에서 지식 그래프를 시각화합니다.
  • 변경 피드 – 모든 쓰기가 순서대로 기록되어 정확히 한 번의 재생을 보장합니다.
  • 플러그 가능한 임베딩 – 기본적으로 어휘 모드로 작동합니다. CORTEXDB_EMBED_BASE_URL을 설정하여 OpenAI 호환 임베딩 엔드포인트를 지정할 수 있습니다.
  • 휴대용 저장소 – 기본은 SQLite, PostgreSQL + pgvector도 지원합니다.
  • 공유 두뇌 서버 – cortexdb-grpc를 실행하면 여러 에이전트나 머신이 gRPC를 통해 동일한 두뇌에 액세스할 수 있으며, 선택적으로 토큰 인증을 지원합니다.

AI 어시스턴트 통합

  • Claude Code 및 Codex 플러그인은 /remember 및 /recall 명령과 자동 리콜 훅을 제공하여 ~/.cortexdb/cortexdb.db에 저장된 전역 두뇌를 IDE에 제공합니다.
  • 선택적 cortexdb-live 모드는 UI 기능을 추가합니다: 계획된 리콜 미리보기, 두뇌 상태를 보여주는 상태 표시줄, 비활성 기간 후 대화 스니펫을 영구 메모리에 자동 캡처합니다.

설정(환경 변수)

변수 목적
CORTEXDB_PATH 로컬 SQLite 파일의 경로(기본값: ~/.cortexdb/cortexdb.db).
CORTEXDB_REMOTE 로컬 파일 대신 사용할 원격 cortexdb-grpc 서버의 URL.
CORTEXDB_GRPC_TOKEN 원격 서버 인증을 위한 베어러 토큰.
CORTEXDB_EMBED_BASE_URL OpenAI 호환 임베딩 서비스의 기본 URL; 설정하지 않으면 CortexDB는 어휘(키워드) 모드로 폴백합니다.
CORTEXDB_EMBED_MODEL / CORTEXDB_EMBED_DIM 사용자 지정 임베딩을 위한 모델 이름 및 벡터 차원.
CORTEXDB_SLOW_MS 느린 서버 호출을 로그에 기록하기 위한 임계값(ms).
CORTEXDB_TRACE / CORTEXDB_TRACE_FILE 전체 요청 추적을 활성화하고, 선택적으로 JSON Lines를 파일에 기록합니다.

문서 및 커뮤니티

라이선스 – MIT. 무료 사용, 수정, 배포가 허용됩니다.


요약하면, CortexDB는 벡터 유사성, 전문 검색, RDF 그래프 기능을 단일 휴대용 데이터베이스에 통합하고, 인기 있는 LLM 기반 개발 도구용 기성 통합을 제공하는 경량의 임베디드 가능한 AI 메모리 저장소입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트