Files
kimandClaude Sonnet 4.6 d74614cee1 v3.2.0: 카카오톡 연동 + 탐정앱 업그레이드 + 모바일 대응 강화
- 카카오톡 채널 챗봇 (오픈빌더 비동기 콜백 방식, 5초 제한 우회)
- 카카오 "나에게 보내기" OAuth 알림 (kakao-notify.ts)
- 채널 설정 UI + userMap으로 다중 사용자 계정 매핑
- 탐정앱: 탭(메모/체크리스트/타임라인), 우선순위, 검색, 보고서/고소장/접수안내 생성
- 모바일 브레이크포인트 640px → 1024px (갤럭시 폴드 대응)
- 프롬프트 파일 제한 상향 (USER.md 3000, SOUL.md/AGENTS.md 4000)
- 교통앱 마지막 선택 지역 localStorage 저장/복원
- docs/kakao-setup.md 작성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 11:15:27 +09:00

3.3 KiB

카카오톡 연동 가이드

SmallClaw를 카카오톡 채널 챗봇 + "나에게 보내기" 알림으로 연동하는 방법입니다.

구조

사용자 → 카카오톡 채널 → 카카오 i 오픈빌더 → SmallClaw 서버
                                                  ↓
                                          AI 처리 (비동기)
                                                  ↓
                                       카카오 callbackUrl로 응답
  • REST API 키 — 앱 하나에 하나, 서버에 한 번만 설정
  • 채널 주소 — 하나, 모든 사용자가 동일한 주소 사용
  • userId — 카카오가 사용자마다 다른 값을 웹훅에 포함하여 전송

1단계: 카카오 개발자 앱 설정

  1. developers.kakao.com → 내 애플리케이션 → 앱 추가
  2. 앱 키 → REST API 키 복사
  3. 카카오 로그인 → 활성화 ON
  4. 카카오 로그인 → 동의항목 → talk_message 필수 동의 활성화
  5. 카카오 로그인 → Redirect URI 추가:
    https://{서버주소}/api/kakao/auth/callback
    
  6. 플랫폼 → Web → 사이트 도메인 등록

2단계: SmallClaw 채널 설정

  1. SmallClaw 웹 UI → 설정 → 채널 → 카카오톡 선택
  2. REST API 키 입력
  3. 🟡 카카오 로그인 버튼 클릭 → 브라우저 팝업에서 로그인 및 동의
  4. 챗봇 채널 활성화 체크
  5. 저장

3단계: 카카오 i 오픈빌더 설정

  1. i.kakao.com → 챗봇 생성
  2. 스킬 → 생성 → URL 입력:
    https://{서버주소}/api/kakao/webhook
    
  3. 스킬 편집 → 대기 메시지 입력 (예: 잠시 기다려 주세요...)
  4. 시나리오 → 폴백 블록 → 봇 응답 → 스킬데이터 사용 → 위 스킬 선택
  5. 배포

4단계: 카카오톡 채널 생성

  1. center-pf.kakao.com → 채널 생성
  2. 채널 관리 → 1:1 채팅 활성화
  3. 오픈빌더 → 배포 → 운영채널 에서 이 채널 연결

사용자 계정 매핑

채널 주소는 하나지만 SmallClaw 계정별로 연결 가능합니다.

  1. 사용자가 채널(pf.kakao.com/_{채널ID}/chat)에서 메시지 전송
  2. 서버 로그에서 userId 확인:
    [KakaoChannel] 웹훅 수신 userId=f4e1b2324f39...
    
  3. SmallClaw 설정 → 채널 → 카카오톡 → 사용자 매핑 (userMap) 에 입력:
    {
      "f4e1b2324f39...": "papa",
      "다른userId": "cherry"
    }
    
  4. 저장

매핑되지 않은 userId는 기본 admin 계정으로 연결됩니다.


"나에게 보내기" 알림

OAuth 로그인 완료 후 서버 이벤트(AI 응답, 시스템 알림 등)를 본인 카카오톡으로 수신할 수 있습니다.

채널 설정 → 테스트 전송 버튼으로 동작 확인 가능합니다.


동작 원리 (콜백 방식)

오픈빌더의 5초 제한을 우회하기 위해 비동기 콜백 방식을 사용합니다:

  1. 카카오가 웹훅 요청 전송 (callbackUrl 포함)
  2. SmallClaw가 즉시 { useCallback: true } 응답
  3. 백그라운드에서 AI 처리
  4. 처리 완료 후 callbackUrl로 응답 전송 (최대 5분 유효)