소개
카카오톡 챗봇을 만들기를 진행하기 위해서는 개발 환경을 먼저 제대로 구성하고, 데이터가 어떻게 오가는지 이해하는 과정이 필요합니다.
Claude Code 를 활용해 PC에서 작성한 Rhino JavaScript 챗봇 코드를 안드로이드 폰에 설치된 메신저봇R 앱으로 연동하고, 간단한 명령어로 챗봇을 배포/실행할 수 있는 구조를 만들었습니다. 🙌
진행 방법
1. 환경 구성 개요
개발환경 : PC & Claude Code -> Rhino JS 챗봇 코드 작성/편집
배포환경 : 별도의 Android 폰 + '메신저봇R' 앱 -> 챗봇 동작 확인
연결방식 :
Android 버전이 낮아 무선 디버깅이 불가 -> 대신 USB 연결로 문제 해결
클로드코드에서 자동 배포
Android에서 메신저봇R이 코드 컴파일 및 실행
2. 사용한 도구
Claude Code, 메신저봇R, 카카오톡
안드로이드 장치와 PC 간의 연결 다이어그램
3. 핵심 흐름
프로젝트 구조 📁
### PC 코드에디터 디렉토리 구조 ``` search-bots/ ├── .claude/commands/botpush.md # 커스텀 명령어 정의 ├── Bots/ # 봇 소스코드 │ ├── PerBot/ │ │ └── PerBot_js_only_cat.js │ └── HelloBot/ │ └── HelloBot_clean.js ``` ### Android 메신저봇R 구조 ``` /storage/emulated/0/msgbot/Bots/ ├── PerBot/ │ └── PerBot.js # 폴더명과 파일명 일치 필수 └── HelloBot/ └── HelloBot.js ```테스트 봇 🔁
PerplexityBot : 사용자의 질문에 -> Perplexity 를 통해서 답변함
HelloBot : 사용자의 인사에 -> 시간에 따라 다른 인사말로 답변함
확인 항목 :
채팅방 이름 & 챗봇의 트리거 메세지
챗봇의 말 투와 회신내용 (ex. 탐정봇)
실행/로그 파일의 생성 여부
커스텀커맨드 생성 및 사용 ⚙️
배포작업 과정이 있음. 명령어, 파일경로가 길고 + 반복작업이다
ADB (Android Debug Bridge) 연결과 PowerShell 경유해서 권한/경로문제를 해결하는 방안으로 배포 작업이 진행됨
이 과정을 스크립트화하여 자동 배포 흐름 구현
클로드코드에서 botpush.md 커스텀커맨드로 명령어 한 줄로 배포 가능
> /botpush PerBot > /botpush HelloBot기존 배포 봇 (PerBot)과 신규 배포 봇 (HelloBot)에 대해서 배포 및 동작 성공
배포한 챗봇이 각 트리거 메세지에 따라 동작하는 것 확인
단어에 대한 한국어
실행 결과
iPhone의 Hellobot 앱의 스크린 샷
iPhone의 문자 메시지 스크린 샷
추가된 내용 ( DB 연동과 RAG 검색 )
ChatSearchBot : 채팅방 대화내용을 맥락으로 답변함
DifyBot : 지식문서 내용을 맥락으로 답변함
ChatSearchBot - Supabase DB에 대화내용 저장
검은 색 화면의 한국 이름 목록
신규봇 배포 후 컴파일
> /botpush ChatSearchBot > /botpush DifyBot선택한 검색전략으로 맥락을 가져와서 회신
한국인 두 사람 간의 대화의 스크린 샷
4. 기타 이슈 및 해결 방법
사용한 Android 버전 8 기기에서는 무선디버깅 옵션이 없음
-> USB 연결로 해결: 유선 연결 시 바로 인식되어 원활한 개발 가능
대화방을 (사용자 폰)에서 만드는 것 Yes .vs. 메신저봇R이 있는 폰에서 대화방 생성 No
메신저봇R 기기에 있는 대화방이 알람을 받을 수 있는 상태여야 함 (트리거)
[ 해결한 ERROR 메시지 ]
OO 관련 대화를 찾을 수 없습니다.
RAG 데이터에서 내용을 가져오는 경우, 컴파일 후에 약간 의 시간이 소요됨
대화맥락이 짧아서 생략된 경우
Supabase 검색 실패: 404
param 에 정의된 파라미터명 일치, 검색전략 지정
filter_strategy: null // 원래 코드search_strategy: "hybrid_llm" // 수정 코드
결과와 배운 점
(1주차 미션) 환경을 제대로 세팅하면, 챗봇 배포와 테스트가 간편해짐 💡
Claude Code의 custom command 기능은 반복 작업을 줄이는 데 효과적
챗봇의 트리거/응답 흐름을 실제로 테스트하며 작동 구조를 자연스럽게 이해
Android 버전마다 디버깅 지원 기능이 다르므로 기기 확인은 필수!
RAG 데이터에서 가져오는 경우의 테스트 케이스 (임계값, 검색 전략 등)
하이브리드 RAG 데이터를 활용하기
도움 받은 글 (옵션)
스터디장님의 (입문자를 위한) 친절한 자료와 코드 😊
📝 한 줄 메시지: 실습하다 보면 꼬꼬무 질문과 해답을 찾아가면서 배우게 됩니다. 시도해보세요! 💪