🛡️ 더치트(THECHEATER) 프로젝트 설명서
중고거래 사기 피해자 지원 AI 챗봇 서비스
📌 1. 프로젝트 개요
더치트는 중고거래 사기 피해자들을 위한 AI 챗봇 서비스입니다. Google Gemini AI를 활용하여 피해자들이 대화할 때 상황에 맞는 답변을 제시해줍니다.
목표
- 중고거래 사기 피해자들 간의 정보 공유 촉진
- AI를 통한 실시간 상담 및 조언 제공
- 사기 피해 대응 방법 자동화
- 피해자 커뮤니티 형성 지원
기술 스택
- BackendGo (Echo Framework)
- FrontendHTML5, CSS3, JavaScript
- DatabaseSQLite3
- AIGoogle Gemini API
- DeploySystemd Service
⭐ 2. 주요 기능
💬 실시간 챗 인터페이스
두 사용자(A, B) 간의 대화 시뮬레이션 및 AI 추천 답변 제공
🔄 적응형 모드
대화 내용의 키워드를 감지하여 자동으로 프롬프트 변경
🤖 다중 AI 모델
Gemini Flash Lite/Flash/Pro/3 Pro Preview 중 선택 가능
📝 프롬프트 관리
9개의 사전 설정 프롬프트 + 커스텀 프롬프트 생성
🧪 API 테스트
헬스 체크, 커스텀 요청 등 API 직접 테스트
📊 샘플 시나리오
10개의 중고거래 사기 샘플 + 5개의 적응형 모드 샘플
🚀 3. 사용 방법
3.1 채팅 테스트 페이지 (/ )
- 프롬프트 선택: 상단 드롭다운에서 사용할 프롬프트 선택
- 적응형 모드: 체크박스로 활성화 (대화 내용으로 프롬프트 자동 변경)
- AI 모델 선택: 원하는 모델 카드 선택
- 샘플 로드: 아래 샘플 버튼으로 미리 작성된 대화 로드
- 메시지 입력: 사용자 A, B가 각각 메시지 입력
- AI 추천: 🤖 AI 버튼 클릭하여 다음 답변 제시받기
3.2 프롬프트 관리 페이지 (/prompts)
- 목록 조회: 등록된 모든 프롬프트 확인
- 필터링: 전체/일반/적응형 필터로 분류
- 프롬프트 수정: 기존 프롬프트 수정 (기본 프롬프트 제외)
- 프롬프트 추가: 새로운 커스텀 프롬프트 생성
- 프롬프트 삭제: 불필요한 프롬프트 제거
3.3 API 테스트 페이지 (/api-test)
- 헬스 체크: 서버 상태 확인
- 초기 메시지: 메시지 0개 상태에서 AI 응답
- 간단한 추천: 기본 대화로 AI 추천 받기
- 커스텀 요청: JSON 형식으로 직접 요청 전송
📝 4. 프롬프트 시스템
4.1 사전 설정 프롬프트 (일반)
- default: 일반 대화용 프롬프트 - 중고거래 사기 의심 상황
- victim_support: 피해자 지원용 프롬프트 - 신고, 법적 대응, 환불 등
- online_fraud_victims_meeting: 온라인 사기 피해자 모임
- offline_fraud_victims_meeting: 오프라인 사기 피해자 모임
4.2 사전 설정 프롬프트 (적응형)
- fraud_immediately_after: 사기 직후 피해자 - 초기 대응 및 긴급 조치
- fraud_investigation: 사기 조사 진행 중 피해자 - 증거 수집 및 신고 전략
- fraud_legal_action: 법적 조치 진행 중 피해자 - 소송 절차 및 법률 상담
- fraud_recovery: 피해 회복 단계 피해자 - 환불/배상 절차 및 심리 회복
- platform_specific_fraud: 플랫폼별 사기 피해 - 당근마켓/번개장터/중고나라 특화
4.3 프롬프트 작성 가이드
커스텀 프롬프트 생성 시 다음 요소를 포함하세요:
- AI의 역할 명시
- 응답 형식 지정 (3-5개 옵션, 번호 붙이기)
- 대화 맥락 이해 지침
- 응답 톤 가이드
🔄 5. 적응형 모드
5.1 작동 방식
- 사용자가 적응형 모드를 활성화
- 대화 메시지에서 키워드 자동 감지
- 일치하는 프롬프트로 자동 전환
- 사용자 작업 없이 최적의 프롬프트 선택
5.2 키워드 예시
- fraud_immediately_after: 사기, 직후, 긴급, 지급정지, 신고, 캡처, 증거, 신원추적
- fraud_investigation: 수사, 조사, 경찰, 진전, 증거, 계좌추적, 용의자, 신원
- fraud_legal_action: 소송, 법원, 변호사, 판결, 증인, 심리, 형사고소, 민사소송
- fraud_recovery: 배상금, 환불, 회복, 트라우마, 심리, 치유, 미래, 신뢰
5.3 활용 팁
- 처음 메시지에 키워드 포함하면 더 정확한 감지
- 최소 2개 이상의 키워드 일치 시 전환
- 프롬프트 수동 변경도 가능
🔌 6. API 사용
6.1 기본 정보
기본 URL: /api/v1
6.2 주요 엔드포인트
GET /health - 헬스 체크
POST /chat/recommendation - 추천 메시지
GET /prompts - 모든 프롬프트 조회
GET /prompts/{id} - 특정 프롬프트 조회
6.3 요청/응답 형식
요청 필드
sender_id(문자열): 현재 메시지를 보낼 사용자 ID (AI 추천을 받을 사용자)receiver_id(문자열): 메시지를 받을 상대방 IDmessages(배열): 대화 히스토리sender_id: 해당 메시지를 보낸 사람 IDreceiver_id: 해당 메시지를 받은 사람 IDrole: "user" 또는 "assistant"content: 메시지 내용timestamp(선택사항): ISO 8601 형식의 메시지 전송 시각
custom_prompt(선택사항): 커스텀 프롬프트 내용model(선택사항): 사용할 Gemini 모델명
응답 형식
suggestions(배열): 추천 메시지 목록 (여러 옵션 제공)is_ai(불린): AI 생성 여부 (false일 경우 사전 정의된 메시지)
❓ 7. FAQ
Q: 적응형 모드와 일반 모드의 차이는?
A: 일반 모드에서는 사용자가 프롬프트를 직접 선택하고, 적응형 모드에서는 대화 내용을 분석하여 자동으로 최적의 프롬프트를 선택합니다.
Q: 어떤 AI 모델을 선택해야 하나요?
A: 기본적으로 Flash Lite를 권장합니다. 더 정교한 응답이 필요하면 Flash나 Pro를 선택하세요.
Q: 프롬프트를 수정할 수 있나요?
A: 기본 프롬프트(default, victim_support)를 제외한 모든 프롬프트는 수정 가능합니다. 프롬프트 관리 페이지에서 "수정" 버튼을 클릭하세요.
Q: 새로운 프롬프트를 만들고 싶어요.
A: 프롬프트 관리 페이지에서 "새 프롬프트 추가" 버튼을 클릭하여 생성할 수 있습니다.
Q: API를 통해서도 프롬프트를 추가할 수 있나요?
A: 네, POST /api/v1/prompts 엔드포인트를 사용하여 프롬프트를 추가할 수 있습니다.
Q: 적응형 모드에서 프롬프트가 변경되지 않습니다.
A: 감지 기준은 최소 2개 이상의 키워드 일치입니다. 대화에 해당 프롬프트의 키워드를 포함시켜 주세요.
Q: 서비스를 재시작하려면?
A: 터미널에서 ./reload.sh를 실행하면 빌드 후 자동으로 서비스가 재시작됩니다.