EliaAlberti/cpr-compress-preserve-resume

Persistent memory for Claude Code, packaged as a plugin. Save, search, and restore conversation context across sessions.

해결하는 문제

Claude Code는 세션 간에 지속적인 메모리를 제공하지 않아 사용자가 세션을 다시 시작할 때마다 프로젝트의 맥락을 다시 설명하고, 파일 경로를 다시 찾으며, 결정 사항을 다시 도출해야 합니다. 또한 기본적으로 제공되는 자동 압축 기능은 사용자가 저장하기 전에 대화 기록에서 중요한 정보를 조용히 삭제할 수 있습니다.

작동 방식

CPR는 Claude Code용 사용자 정의 슬래시 명령어(스킬) 3가지를 제공하여 사용자가 세션 컨텍스트를 명시적으로 관리할 수 있도록 합니다.

  • /preserve: 현재 세션에서 얻은 핵심 학습 내용과 결정 사항을 CLAUDE.md 파일에 업데이트합니다. 이 파일은 오래된 콘텐츠를 자동으로 아카이브함으로써 가볍게 유지됩니다.
  • /compress: CC-Session-Logs/ 디렉터리에 구조화되고 검색 가능한 세션 로그를 생성합니다. dump_transcript.py라는 Python 스크립트를 사용하여 디스크에 저장된 원시 대화 트랜스크립트를 로그에 추가함으로써, 비용이 큰 모델 출력 토큰을 피합니다.
  • /resume: 최근 세션 로그에서 CLAUDE.md 파일과 요약을 로드하여 컨텍스트를 복원합니다. 또한 주제별로 과거 세션을 검색하는 기능도 지원합니다.

데이터 손실을 방지하기 위해, 이 프로젝트는 Claude Code의 Auto-Compact 설정을 비활성화해야 하며, 컨텍스트 압축의 제어 권한을 사용자에게 넘깁니다. /compact 명령어는 세션을 보존하고 압축한 후에만 실행해야 합니다.

대상 사용자

다중 세션 프로젝트를 수행하는 Claude Code CLI 사용자로서, 토큰 비용을 줄이고 컨텍스트 재설정이라는 반복 작업을 피하고자 하는 개발자들입니다.

주요 특징

  • 토큰 효율성: 전체 컨텍스트 재구성 대신 컴팩트한 요약을 사용함으로써 세션 재시작 시 토큰 비용을 약 24%에서 68%까지 절감합니다.
  • 하이브리드 저장: 고수준 프로젝트 상태를 유지하는 가벼운 지속적 CLAUDE.md와 역사적 기록을 위한 상세한 세션 로그를 결합합니다.
  • 저오버헤드 로깅: 원시 트랜스크립트를 로컬 스크립트로 추가하므로, 원시 로그 내용은 모델 출력으로 생성되지 않습니다.
  • 검색 가능한 기록: /resume [topic] 명령어를 사용하여 과거 세션 로그를 주제별로 검색할 수 있습니다.

관련

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