Show GN: CTX: Claude Code 세션 간 메모리 — pip install 또는 /plugin install 로 설치
(github.com/jaytoone)Claude Code는 세션을 닫으면 모든 컨텍스트를 잃습니다. CTX는 이 문제를 Claude Code 훅으로 해결합니다.
동작 방식: UserPromptSubmit 이벤트에서 1ms 이내로 3가지 컨텍스트를 자동 주입합니다.
- G1: git log 기반 의사결정 타임라인 (어제 왜 그 결정을 했는지)
- G2: BM25 코드/문서 검색 (관련 파일 자동 주입)
- CM: 과거 대화 vault (SQLite FTS5 + 선택적 벡터)
실측 수치:
- 메모리 회상 정확도: 0.880 [0.762, 0.944] (MAB N=50, Wilson CI)
- 베이스라인(없음): 0.00
- 실제 10,000+ 턴 기준 활용률: 39.6%
LLM 호출 없음. 클라우드 없음. 완전 로컬.
설치:
pip install ctx-retriever && ctx-install
또는 Claude Code 내에서: /plugin install ctx@jaytoone
댓글과 토론
흥미로운 접근 잘 봤습니다. trigger 분류로 라우팅하는 발상은 아주 좋은 아이디어같습니다.
한 가지 궁금한 점: BM25 레이어의 토크나이저가 README에 명시 안 된 것 같은데 한국어 처리는 어떻게 가시나요? 기본 공백 토크나이저면 "검색하다"/"검색하는"이 별도 토큰이 되어서 한국어 주석·docstring 검색에서 recall이 많이 떨어질 텐데요.
multilingual-e5-small fallback이 있긴 하지만 BM25 레이어 자체의 한국어(cjk포함)처리 계획이 궁금합니다. (저도 seCall이라고 llm wiki앱을 만들면서 CJK 검색에 문제가 있어 Lindera ko-dic + Kiwi-rs 붙여 해결했는데, CTX는 trigger 라우팅
구조라 다른 접근 가능할 것 같아서요.)
정확히 짚어주셨습니다. 현재 BM25 레이어 tokenize()는 공백+구두점 분리 후 한글/CJK 문자를 개별 문자 단위로 추가 분해합니다. '검색하다' → ['검','색','하','다'] + '검색하다' 전체 토큰 형태입니다. 부분 매칭은 되지만 형태소 의미 단위가 뭉개지는 건 맞습니다.
Kiwi/Lindera 연동은 다음 단계 후보로 보고 있습니다. CTX는 쿼리가 trigger 라우팅 전에 언어 감지를 하고 있어서 한국어 감지 → 형태소 분석기 분기가 상대적으로 깔끔하게 들어갈 것 같습니다.
seCall에서 Lindera ko-dic + Kiwi-rs 조합으로 해결하셨다니 흥미롭네요. 혹시 CJK 혼합 텍스트(한글+영문 코드 주석) 처리는 어떻게 하셨는지 공유 부탁드려도 될까요?
v0.3.19 업데이트 — 세션 종료 시 자동 전송:
가장 크게 바뀌 점: 이제 ctx-install 후 아무 명령없이 정상 사용만 해도 세션 종료 시 통계가 자동으로 Turso에 전송됩니다.
스키마 v1.7 추가 필드:
- project_type_id: 테크 스택 피언프린트 (python_ml/nextjs_react 등) — 크로스유저 개선의 핵심
- ctx_version: 버전별 개선 추적
- utility_by_qtype: KEYWORD 16% vs SEMANTIC 42% 차이를 세션 단위로 충정
옵아웃: ~/.claude/ctx-telemetry-revoke 파일 생성 시 전송 중지
v0.3.16 업데이트 및 라이브 데모 추가:
라이브 대시보드 (HF Space): https://be2jay-ctx-dashboard-demo.hf.space
- 실시간 세션 통계, utility_rate 차트, knowledge graph 시각화
주요 변경사항 (v0.3.16):
- 상태: Alpha → Beta
- Stage 2 업로드 파이프라인 활성화 (k-익명성 session_aggregate 업로드)
- ctx-install 실행 시 opt-in 안내 표시 쫐가
- BM25 CJK 토크나이저 주석 추가 (README 반영 예정)
활용률 실측 (n=1054 세션):
- 전체 평균 utility_rate: 39.6%
- CM 블록: 52.6% (가장 높음)
- SEMANTIC 쿼리: 42.0% vs KEYWORD: 16.0% (42pp 차)
업데이트 공지 (v0.3.13):
설치 방법 우선순위:
[권장] Claude Code 플러그인 (1단계):
/plugin install ctx@jaytoone
[대안] pip:
pip install ctx-retriever && ctx-install
v0.3.13 변경사항: vec-daemon 격리 venv (numpy/ABI 충돌 방지), BGE 리랭커 opt-in (CTX_BGE_ENABLE=1)
대시보드 동작 영상 (39초): https://drive.google.com/file/d/…
v0.3.28 업데이트 (2026-05-20): GitHub 6 ⭐ 달성, PyPI 월 2,726 다운로드. 이번 릴리즈에서 개인정보 투명성 강화 — PRIVACY.md 추가 (해시 역추적 불가 증명, GDPR/CCPA/PIPA 근거), 최초 실행 시 1회 텔레메트리 알림, ctx-telemetry disable/enable 명령어 추가. 구 버전(v0.3.25 이하) 사용자는 pip install --upgrade ctx-retriever 권장.