Show HN: Retain – 모든 AI 코딩 대화를 위한 통합 지식 베이스
요약
Retain은 사용자가 사용하는 모든 AI 코딩 대화(Claude Code, ChatGPT, Cursor 등)를 단일 검색 가능한 지식 베이스로 통합하는 네이티브 macOS 애플리케이션입니다. 이 앱은 다양한 CLI 도구와 웹 기반 서비스에서 발생하는 대화를 자동으로 동기화하고, 사용자 선호도나 수정 사항 같은 학습 내용을 추출하여 'CLAUDE.md' 파일 형태로 내보낼 수 있게 합니다. 모든 데이터는 로컬에 저장되며, 개인정보 보호를 최우선으로 설계되었습니다.
핵심 포인트
- 다중 소스 동기화를 통해 Claude Code, ChatGPT 등 여러 AI 도구의 대화 기록을 한 곳에 모읍니다.
- 사용자의 선호도나 수정 사항 같은 학습 내용을 자동으로 추출하여 컨텍스트 구축을 돕습니다.
- 모든 데이터는 로컬 SQLite 데이터베이스에 저장되며, 개인정보 보호를 위해 외부 전송이나 추적이 없습니다.
- FTS5 기반의 즉시 검색 기능을 제공하여 방대한 대화 기록에서 필요한 정보를 빠르게 찾을 수 있습니다.
- macOS 네이티브 앱으로 개발되어 안정적인 사용자 경험과 자동 업데이트 기능을 제공합니다.
Retain
<p align="center"> <img src="docs/screenshots/conversations.png" width="800" alt="Conversation Browser"> </p> <p align="center"> <img src="docs/screenshots/analytics.png" width="800" alt="Analytics Dashboard"> </p>당신의 AI 대화를 위한 통합 지식 베이스. Claude Code, Cursor, Codex, claude.ai, ChatGPT 등에서 검색하고, 학습하고, 되돌아보세요.
claude-reflect (별 300개 이상) 제작자가 만든 진화된 형태입니다: 모든 AI 대화를 집계하고, 학습 내용을 추출하며, 지속적인 컨텍스트 (Context)를 구축할 수 있도록 돕는 네이티브 macOS 앱입니다.
기능
문제점: 당신은 Claude Code, claude.ai, ChatGPT 및 기타 AI 도구들을 매일 사용합니다. 컨텍스트 (Context)가 여기저기 흩어져 있습니다. 한 도구에서 선호도를 발견하더라도 다른 도구에서는 그것을 잃어버립니다. 당신은 똑같은 내용을 계속해서 다시 설명해야 합니다.
해결책: Retain은 모든 AI 대화를 단일 검색 가능한 지식 베이스로 집계합니다. 수정 사항과 선호도를 자동으로 추출한 다음, 이를 CLAUDE.md로 내보내어 Claude가 당신이 가르친 내용을 기억할 수 있게 합니다.
주요 기능
- 다중 소스 동기화 (Multi-source sync): CLI 도구 (Claude Code, Codex, Cursor, Gemini CLI, OpenCode, GitHub Copilot CLI)로부터 자동 동기화, claude.ai 및 ChatGPT (쿠키 기반)로부터 수동 동기화
- 즉시 검색 (Instant search): FTS5를 통한 1만 개 이상의 대화에 대한 전체 텍스트 검색
- 학습 추출 (Learning extraction): 수정 사항 ("아니요, 대신 X를 사용하세요") 및 선호도 자동 감지
- CLAUDE.md 내보내기 (CLAUDE.md export): 승인된 학습 내용을 내보내어 Claude가 당신의 선호도를 기억하도록 함
- 자동 업데이트 (Auto-updates): Sparkle 프레임워크를 통한 자동 업데이트 알림
- 로컬 우선 (Local-first): 모든 데이터는 로컬에 저장됩니다. 선택적인 클라우드 기능 (웹 동기화, AI 분석)은 활성화 시에만 외부 서비스에 연결됩니다.
베타 상태
안정적인 기능 (Stable Features):
- ✅ 대화 동기화 (Conversation sync) (Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode, GitHub Copilot CLI, claude.ai, ChatGPT)
- ✅ 모든 대화에 대한 전체 텍스트 검색 (Full-text search)
- ✅ 대화 브라우저 및 상세 보기
- ✅ 메뉴 바 통합
- ✅ Sparkle을 통한 자동 업데이트
개발 진행 중 (Work in Progress):
- 🚧 학습 내용 추출 (Learnings extraction) - 기능은 작동하지만 활발히 개발 중입니다.
- 🚧 자동화 (Automations) - 실험적 단계이며, API가 크게 변경될 수 있습니다.
- 🚧 CLAUDE.md 내보내기 (CLAUDE.md export) - 작동하지만 포맷팅 개선이 계획되어 있습니다.
설치 (Installation)
요구 사항 (Requirements)
- macOS 14.0 (Sonoma) 이상
- 웹 동기화의 경우: 세션이 활성화된 Safari, Chrome 또는 Firefox
다운로드 (Download)
Releases에서 최신 공증된 DMG (notarized DMG) (권장) 또는 zip 파일을 다운로드하세요.
설치 (Install)
DMG (권장):
- DMG 파일을 엽니다.
- Retain을 Applications(응용 프로그램) 폴더로 드래그합니다.
- Applications에서 Retain을 실행합니다.
- 향후 업데이트는 Sparkle을 통해 자동으로 이루어집니다.
Zip (고급 사용자):
- 압축을 풀고 Retain.app을 Applications(응용 프로그램) 폴더로 이동합니다.
- Applications에서 Retain을 실행합니다.
업데이트 (Updates)
Retain은 자동으로 업데이트를 확인하며 새 버전이 사용 가능할 때 알림을 보냅니다. 앱 메뉴를 통해 수동으로 확인할 수도 있습니다.
지원되는 소스 (Supported Sources)
| 소스 (Source) | 유형 (Type) | 동기화 방식 (Sync Method) | 상태 (Status) |
|---|---|---|---|
| Claude Code | CLI | 자동 (파일 감시) | ✅ 안정적 |
| ... |
개인정보 보호 및 보안 (Privacy & Security)
이 내용은 중요합니다. 반드시 읽어주세요.
로컬에 유지되는 항목
- 모든 대화는 로컬 SQLite 데이터베이스(
~/Library/Application Support/Retain/)에 저장됩니다. - 데이터는 Retain 서버로 전송되지 않습니다 (서버 자체가 존재하지 않습니다).
- 텔레메트리 (Telemetry), 분석 (Analytics), 추적 (Tracking)이 없습니다.
알아두어야 할 사항
-
웹 동기화는 브라우저 쿠키를 읽습니다: claude.ai/ChatGPT로부터 동기화하기 위해, 앱은 브라우저에서 세션 쿠키를 읽습니다. 이를 위해서는 전체 디스크 접근 권한 (Full Disk Access permission)이 필요합니다. 쿠키는 API 요청을 인증하는 용도로만 사용됩니다.
-
Gemini 통합 (선택 사항): Gemini를 통해 AI 기능을 활성화하는 경우:
- API 키는 macOS Keychain에 안전하게 저장됩니다.
- 학습 추출 (Learning extraction): 마지막 10개의 메시지(각 최대 500자)를 Google의 Gemini API로 전송합니다.
- 워크플로 분류 (Workflow classification): 자동화 후보를 분류하기 위해 대화 제목, 미리보기 및 첫 번째 메시지를 전송합니다.
- 이 기능은 선택 사항(opt-in)이며 기본적으로 비활성화되어 있습니다.
-
Claude Code CLI 분석 (선택 사항): CLI 기반 분석을 활성화하는 경우:
- 사용자의 로컬 Claude Code CLI 설치본을 사용합니다.
- CLI를 통해 Anthropic의 API로 대화 데이터를 전송합니다.
- 데이터가 전송되기 전에 설정(Settings)에서 동의가 필요합니다.
- 보안상의 이유로 Codex CLI는 비활성화되어 있습니다 (hard no-tools 플래그가 부족함).
-
웹 세션 만료: claude.ai 및 ChatGPT 세션은 일반적으로 약 30일 후에 만료됩니다. 다시 연결해야 합니다.
알려진 제한 사항 (Beta)
본 소프트웨어는 베타 버전입니다. 핵심 기능은 안정적이지만, 다소 미흡한 부분이 있을 수 있습니다.
- macOS 전용 - v1 버전에서는 Windows/Linux 지원 계획이 없습니다.
- 웹 동기화의 취약성 - claude.ai/ChatGPT가 API를 변경할 경우 쿠키 기반 인증이 깨질 수 있습니다.
- 내보내기 파일로부터의 가져오기 불가 - ChatGPT/Claude 설정에서 생성된 JSON 내보내기 파일을 아직 가져올 수 없습니다.
- 웹 세션 만료 - claude.ai/ChatGPT의 쿠키 기반 세션은 주기적인 재연결이 필요합니다.
- 충돌 해결 불가 - 여러 대의 Mac에서 동기화할 경우 대화가 중복될 수 있습니다.
지원
최선을 다해 지원합니다. 명확한 재현 단계와 민감 정보가 삭제된(redacted) 로그를 포함하여 이슈(issue)를 생성해 주세요.
소스 빌드
# Clone
git clone https://github.com/BayramAnnakov/retain.git
cd retain
...
로드맵
장기적인 비전은 PHASED_VISION.md를 참조하세요:
- Phase 1 (현재): 개인 메모리 OS (Personal Memory OS) - 통합 수집, 학습 추출
- Phase 2: 개인 자동화 (Personal Automation) - 반복되는 워크플로를 플레이북(playbooks)으로 전환
- Phase 3: 기록 시스템 (System of Record) - 버전 관리, 거버넌스, 팀 단위 지원
From claude-reflect
만약 claude-reflect를 사용해 보셨다면, Retain은 그 정신적 계승작입니다:
- claude-reflect: Claude Code 세션에서 학습 내용(learnings)을 추출하는 CLI 도구
- Retain: 적절한 UI를 갖추고 모든 AI 도구에 걸쳐 동일한 작업을 수행하는 네이티브 앱 (Native app)
학습 추출 로직은 유사하지만, Retain은 다중 소스 집계 (multi-source aggregation), 검색, 그리고 네이티브 인터페이스 (native interface) 기능을 추가했습니다.
기여하기 (Contributing)
이 프로젝트는 초기 베타 단계입니다. 현재 기여할 수 있는 가장 좋은 방법은 다음과 같습니다:
- 직접 사용해 보고 Issues를 통해 버그를 보고해 주세요.
- 다음에 어떤 소스(Aider? Windsurf? API 로그?)를 지원하길 원하는지 피드백을 공유해 주세요.
- 유용하다고 생각된다면 리포지토리에 Star를 눌러 주세요.
개발 환경 설정 및 PR (Pull Request) 가이드라인은 CONTRIBUTING.md를 참조하세요.
보안 및 개인정보 보호 (Security & Privacy)
- 보안 정책 (Security policy): SECURITY.md
- 개인정보 보호 상세 내용 (Privacy details): PRIVACY.md
라이선스 (License)
MIT License - 자세한 내용은 LICENSE를 참조하세요.
질문이 있으신가요? 이슈(issue)를 생성하거나 Twitter/X를 통해 문의해 주세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Claude Code Search의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기