BlueStacks 에뮬레이터를 활용한 카카오톡 이미지 자동 분석 아키텍처
클릭하여 각 구성요소의 상세 정보를 확인하세요
이미지 전송부터 분석 결과 수신까지의 7단계 프로세스
사용자가 카카오톡으로 이미지를 전송합니다.
카카오톡이 이미지를 /sdcard/Pictures/KakaoTalk/ 폴더에 저장합니다.
ADB Watcher가 새 이미지를 감지하고 브릿지 서버로 전송합니다.
MessengerBotR이 "사진을 보냈습니다" 알림을 감지합니다.
브릿지 서버가 Gemini API로 이미지를 분석합니다.
MessengerBotR이 브릿지 서버에서 분석 결과를 폴링합니다.
분석 결과가 카카오톡 채팅으로 전달됩니다.
시스템을 구성하는 핵심 컴포넌트들
각 컴포넌트 간의 상세 통신 흐름
사용자 → 카카오톡: 이미지 전송
카카오톡 → 파일시스템: /sdcard/Pictures/KakaoTalk/에 저장
MessengerBotR: "사진을 보냈습니다" 알림 감지 → "분석 중..." 응답
ADB Watcher: 새 파일 감지 → 로컬로 다운로드
ADB Watcher → Bridge: POST /webhook/image (Base64 이미지)
// 이미지 페이로드
{
"type": "image",
"imageBase64": "data:image/png;base64,...",
"filename": "1234567890.png"
}
Bridge → Gemini API: 이미지 분석 요청
Gemini API → Bridge: 분석 결과 (한국어)
Bridge: pendingImageResults Map에 결과 저장 (5분간 유지)
// 결과 캐싱
pendingImageResults.set("default", {
result: "📷 이미지 분석 결과: ...",
timestamp: Date.now()
});
MessengerBotR → Bridge: GET /check-image-result (3초 간격, 최대 30회)
Bridge → MessengerBotR: { hasResult: true, result: "..." }
MessengerBotR → 카카오톡: msg.reply(분석결과)
카카오톡 → 사용자: 이미지 분석 결과 표시