Show GN: Threadlens - 로컬 AI 세션을 검색하고 분석·백업·정리하는 오픈소스 도구
(github.com/hanityx)안녕하세요. 여러 AI 도구를 같이 쓰면서 불편했던 부분을 풀어보려고 ThreadLens라는 오픈소스 도구를 만들고 있습니다.
처음 계기는 Codex 스레드 정리였습니다. UI에서는 archive만 되고, 정말 지우려면 로컬 파일을 직접 찾아야 하는 상황이 있었거든요. 나중에 보니 openai/codex에도 "archive 말고 delete가 필요하다"는 비슷한 요청이 올라와 있어서, 저만 겪는 불편은 아니겠다고 생각했습니다.
그 뒤로 Codex, Claude같은 여러 AI를 번갈아 쓰다 보니 또 다른 문제가 생겼습니다. "그때 AI랑 나눈 대화가 어디 있지?" 하고 각 도구의 숨김 폴더를 뒤지거나 rg로 transcript를 찾는 일이 자주 생겼고, 로컬 세션 로그도 계속 쌓여서 용량 정리와 외장 백업을 매번 직접 챙기기 번거롭더라고요.
이런 흐름을 한곳에서 처리하려고 합니다.
- Codex, Claude, Gemini, Copilot의 로컬 세션을 한곳에서 검색하기
- 세션별 transcript, 작업 경로, 파일 크기, 수정 시각을 한 화면에서 보기
- 묶음 백업과 영향 분석을 거쳐 정리하기 (영향 분석은 아직 Codex 중심)
- provider별 세션 구조가 어디서 어떻게 읽히는지 routing/parser로 확인하기
Local-First로 계정이나 클라우드 업로드는 없습니다. 이미 내 컴퓨터에 있는 세션 파일을 읽어서 로컬 API, 웹 UI, 데스크톱 앱, TUI에서 보여주는 구조입니다.
만들다 보니 단순히 "삭제 버튼"만 있는 건 별로라고 느꼈습니다. 특히 Codex 스레드는 지우기 전에 "이걸 지워도 괜찮은가?"를 먼저 보고 싶었습니다. 그래서 영향 분석은 OpenAI/Claude 쪽 문서와 실제 이슈에서 참고할 수 있는 신호를 가져오고, 점수 가중치는 제품 안에서 보수적으로 잡았습니다.
긴 context, tool-heavy history, cwd 유무, 오래된 세션뿐 아니라, 다른 세션이 이 스레드를 부모/자식/포크 관계로 직접 참조하는지나 로그 안에서 언급하는지도 같이 봅니다. 그래서 삭제 전에 고아 후보인지, 다른 세션과 이어져 있는지, 지워도 괜찮아 보이는지 먼저 확인할 수 있게 했습니다.
현재는 macOS DMG, Windows exe, Linux AppImage를 올려두었고, 소스로도 실행할 수 있습니다.
아직 데스크톱 빌드는 unsigned라 OS 경고가 뜰 수 있습니다. Provider별 탐색 로직과 전반적인 UX는 계속 보완 중입니다.
피드백이나 기여 응원 모두 환영합니다!! 다른 로컬 AI 세션 포맷을 쓰고 있다면 그것도 알려주세요. 우선순위를 잡는 데 도움이 될 것 같습니다:)