sessionhub는 Claude Code와 Codex가 이미 디스크에 남긴 세션 로그를 검색 가능한 로컬 아카이브로 바꾸는 도구다. 원본 JSONL 전체를 복사하지 않고, 실제 대화 부분만 digest로 압축해 SQLite 색인을 만들기 때문에 지난번에 이 버그를 어떻게 고쳤는지를 빠르게 찾는 데 초점을 둔다.
deja-vu와의 차이
deja-vu와 문제의식은 비슷하다. 둘 다 에이전트 세션 로그를 사후 메모리로 바꾼다. sessionhub의 특징은 여러 머신 동기화와 저장 공간 절감 모델을 더 전면에 둔다는 점이다. README는 raw transcript의 대부분이 도구 호출·스트리밍 프레임 같은 기계적 데이터이고, 실제 대화는 약 0.3%라고 설명한다. sessionhub는 이 작은 대화 digest와 검색 색인만 보관한다.
GitHub 기준 ★5, MIT 라이선스다.
핵심 구조
MIRROR 원본 로그는 ~/.claude/projects, ~/.codex/sessions에 그대로 둠
-> DIGEST 실제 대화만 잘라 gzip으로 보관
-> INDEX 세션 제목, 프로젝트, 파일, full-text search용 SQLite rowsessionhub search와 sessionhub recent는 INDEX를 읽고, sessionhub raw는 digest를 출력한다. raw --full은 필요할 때만 원본 로그 위치로 돌아가 전체 기록을 연다.
주요 기능
| 기능 | 설명 |
|---|---|
| 전체 검색 | 모든 Claude Code·Codex 세션을 텍스트, 프로젝트, 파일 기준으로 검색 |
| 멀티 머신 | 한 머신을 archive hub로 두고 다른 머신은 SSH로 질의 |
| 작은 저장소 | 수십 GB 원본 로그를 수백 MB 수준 digest와 색인으로 줄임 |
| 에이전트 스킬 | Claude Code와 Codex가 과거 세션을 직접 검색하는 skill 설치 |
| 로컬 우선 | telemetry나 외부 서비스 없이 원본 로그를 각 머신에 유지 |
사용 예시
uv tool install git+https://github.com/esc5221/sessionhub
sessionhub setup
sessionhub recent -d 3
sessionhub search "connection pool"
sessionhub search --file src/auth.py
sessionhub show 2c24cdad
sessionhub raw 2c24cdad에이전트 안에서는 설치된 스킬을 통해 과거 작업을 찾게 할 수 있다.
$sessionhub find the session where we fixed the pgbouncer timeout언제 쓰면 좋은가
- Claude Code와 Codex를 여러 프로젝트·머신에서 오래 사용해 세션 로그가 흩어져 있다.
- 에이전트가 과거 설계 결정과 디버깅 기록을 스스로 검색하게 하고 싶다.
- 원본 로그 전체를 중앙 서버로 복사하지 않고, digest만 모아 검색하고 싶다.
- 벡터 DB보다 단순한 full-text search가 문제에 충분하다.
관련 문서
- deja-vu — Claude Code·Codex·opencode 세션 로그를 로컬 메모리로 바꾸는 검색 도구
- tencentdb-agent-memory — 로컬 장기 기억과 심볼릭 단기 기억을 결합한 메모리
- claude-code — Anthropic Claude Code
- codex — OpenAI Codex
참고 자료
- esc5221/sessionhub — GitHub 공식 저장소