클로드 코드, 모든 세션을 디스크에 기록 — 인덱싱 및 검색 방법

Claude Code는 처음부터 모든 세션의 추가 전용 JSONL 로그를 ~/.claude/projects/에 기록해 왔습니다. 각 줄은 역할, 타임스탬프, 내용, 도구 호출 등 구조화된 JSON 객체로, 첫 세션까지 거슬러 올라가는 완전한 에피소드 기록을 형성합니다. 한 사용자는 총 57MB, 76,000턴에 달하는 1,026개의 세션을 발견했지만, 이를 쿼리할 내장 방법은 없었습니다.
리콜 레이어 구축
해결책은 오픈소스 인덱서(continuity-v2, MIT 라이선스)로, 이 인덱서는 로그를 시간적 엣지와 함께 SQLite+FTS5에 저장하고 MCP 서버를 제공합니다. 이제 Claude Code 세션 내에서 다음 명령을 실행할 수 있습니다:
search_sessions("지난달에 그 인증 버그를 고친 기억이 나?")
recall_session("a8f2c441")
thread_recall(root_id, depth=8)thread_recall 함수는 시간적 엣지 그래프를 BFS로 탐색하여 세션 경계를 넘나드는 스레드를 재구성합니다. 또한 인덱서는 claude.ai 데이터 내보내기의 conversations.json도 가져올 수 있어, 웹 채팅 기록이 CLI 세션과 동일한 인덱스에 저장됩니다.
압축의 하드 리셋 문제 해결
압축은 컨텍스트가 가득 차면 실행되지만, PreCompact 페이로드의 transcript_path가 후크 실행 시점에 항상 채워져 있지는 않습니다. 해결책: 모든 턴마다 체크포인트를 기록(세션 종료 시에만 기록하지 않음)하여 PreCompact가 항상 최신 데이터를 사용할 수 있도록 합니다. 그런 다음 SessionStart가 source 필드를 읽습니다 — "compact"는 압축 실행, "resume"는 앱 재시작, "startup"은 새 세션, "clear"는 의도적 초기화를 의미합니다. 각각 다른 동작을 수행합니다. 결과적으로 압축은 하드 리셋이 아닌 캐시 미스가 됩니다.
상위 논의 및 유사 프로젝트
진행 중인 논의는 anthropics/claude-code#47023에서 확인하세요. 7개의 독립적인 메모리 프로젝트(Bella, NEXO Brain, Cozempic, world-model-mcp 등)가 모두 동일한 요구 사항을 독립적으로 충족했습니다. 공식 후크 사양이 해당 이슈에서 논의되고 있습니다.
후크 설정에는 약 5분이 소요되며, MCP 서버는 단일 Python 파일입니다. 저장소는 MIT 라이선스입니다.
📖 전체 소스 읽기: r/ClaudeAI
👀 See Also
Claudy: macOS용 Claude Code 네이티브 래퍼 - 다중 세션, 자동 계정 전환, 드래프트 커밋 지원
Claudy는 SwiftUI + SwiftData로 구축된 네이티브 macOS 앱으로, Claude Code를 래핑하여 멀티 세션 관리, 속도 제한 시 자동 계정 전환, 작업 중 체크포인트를 위한 드래프트 커밋, Skills/MCPs/Commands 마켓플레이스를 제공합니다.

NexQuant: 엣지 배포를 위한 Rust 네이티브 3비트 KV 캐시 엔진
NexQuant는 소비자용 하드웨어에서 고용량 모델을 실행할 수 있도록 하며, 3-5배의 메모리 감소를 가능하게 하는 프로덕션 준비 완료 Rust 엔진입니다. Metal, CUDA, Vulkan 및 CPU 백엔드를 지원합니다.

nervx: 코드베이스 구조를 분석하여 Claude Code 토큰 사용량을 줄이는 CLI 도구
nervx는 pip로 설치 가능한 CLI 도구로, tree-sitter를 사용하여 저장소를 파싱하고, 함수와 임포트의 SQLite 그래프를 구축하며, NERVX.md 구조 지도를 생성합니다. 이 도구는 Claude가 nervx 탐색을 사용하도록 가르치는 지시사항을 CLAUDE.md에 자동으로 추가하여, 테스트에서 grep 검색을 65% 줄이고 출력 토큰을 48% 감소시킵니다.

품질 게이트가 적용된 Claude 코드용 다중 에이전트 콘텐츠 파이프라인
한 개발자가 Claude Code용 6단계 에이전트 콘텐츠 파이프라인을 구축했습니다. 이 파이프라인은 연구, 작성, 편집, SEO 작업을 분리하고 각 단계 사이에 품질 게이트를 두어, 게시 전 수동 승인을 위해 시스템을 중단시키고 개별 에이전트 재실행을 허용합니다.