상세 컨텐츠

본문 제목

내 PC의 카카오톡을 로컬 API로 만들었다 — 자동 요약까지 남은 한 단계, 카톡대화방 복호화4

서버·개발/코드 노트

by 사이 (SAI) 2026. 7. 26. 17:56

본문

728x90
반응형

Mac에서는 정해진 시각마다 카카오톡 대화방을 요약해 Notion에 올리는 흐름을 이미 운용하고 있습니다.
Windows에서도 같은 결과를 내려면 화면에서 버튼을 누르는 수준을 넘어, 다른 프로그램이 메시지를 안전하게 가져갈 통로가 필요했습니다.
4부작 마지막 편은 그 통로로 만든 로컬 API와 실제 자동 요약까지 남은 작업을 구분해 정리합니다.

현재 Windows 버전은 메시지를 찾고 꺼내는 API까지 완성됐습니다. LLM 요약, 예약 실행, Notion 발행은 이 API 위에 붙일 다음 단계입니다.


왜 로컬 API가 필요했을까

웹 화면은 사람이 대화방을 고르고 상태를 확인하기 좋습니다.
반면 매일 같은 시간에 실행할 프로그램에는 클릭 대신 일정한 요청과 응답이 필요합니다.
그래서 DB 구조를 직접 아는 코드와 요약 코드를 분리했습니다.
요약 runner는 카카오톡 파일 위치나 복호화 방식을 몰라도 로컬 API에 필요한 방과 기간만 요청하면 됩니다.
복구 방식이 바뀌어도 API 응답 형태를 유지하면 뒤쪽 자동화는 덜 흔들립니다.

복잡한 로컬 데이터 저장소와 단순한 요약 로봇 사이에 API 다리를 놓는 고정 2D 남성 개발자


자동화가 호출할 순서는 다섯 단계다

첫 요청은 GET /api/status입니다. 키와 통합 DB가 준비됐는지 먼저 확인합니다.

준비되지 않았다면 POST /api/recover-sync로 키 복구와 최신화를 한 번에 실행합니다.

그다음 GET /api/rooms에서 방을 찾고, 방 ID로 메시지를 조회합니다.

GET /api/status
POST /api/recover-sync
GET /api/rooms?q=업무
GET /api/rooms/{chatId}/messages?date=2026-07-26
요약 모델에 messages 전달

이 순서를 지키면 키나 DB가 없는 상태에서 빈 결과를 요약하는 실수를 줄일 수 있습니다.

상태 확인부터 메시지 전달까지 다섯 단계 카드를 순서대로 배열하는 고정 2D 남성 개발자

728x90


하루치만 정확히 꺼내는 필터

요약 품질은 모델보다 입력 범위를 먼저 맞춰야 좋아집니다.
메시지 API는 특정 날짜, 시작·종료 시각, 검색어, 작성자, 메시지 유형, 정렬 순서와 개수를 받을 수 있습니다.
한 번에 가져오는 개수는 최대 5,000건으로 제한했습니다.

목적 필터 사용 예
일일 요약 date 오늘 대화만 조회
업무 시간 요약 from, to 오전 9시부터 오후 6시
주제 추적 q, authorId 키워드나 작성자 기준

확인이나 분석이 필요할 때는 같은 조건으로 JSON 또는 CSV 파일을 내려받을 수도 있습니다.

거대한 대화 더미에서 날짜와 시간 필터로 하루치 카드만 골라내는 고정 2D 남성 개발자

반응형


내 PC 안에서만 열리는 주소

서버 주소는 http://127.0.0.1:8780입니다.

127.0.0.1은 현재 PC 자신을 뜻하므로 이 API가 대화를 외부 서버에 자동 업로드하는 구조는 아닙니다.

다만 복호화된 DB와 키는 여전히 민감합니다. 공유용 폴더에서는 data/, 키 파일, 메모리 검사 결과, 실제 SQLite DB를 제외해야 합니다.

LLM을 외부 API로 연결한다면 선택한 메시지가 해당 서비스로 전송된다는 점도 별도로 고지하고 최소 범위만 보내야 합니다.

로컬 PC 경계 안의 API와 잠긴 개인 데이터 상자를 점검하는 고정 2D 남성 개발자


Mac의 완성된 흐름과 Windows의 다음 한 단계

Mac에서는 정해진 시간에 대화를 모아 요약하고 Notion에 발행하는 흐름이 실제로 돌고 있습니다.

Windows에서는 작업 목록을 automation_jobs.json에, 요약 방식을 summary_style.json에 저장하는 화면까지 만들었습니다.

다음에는 runner가 두 설정을 읽고 messages_v2.sqlite에서 기간별 메시지를 꺼내 LLM에 전달해야 합니다.

결과를 Markdown·JSON·TXT 또는 Notion으로 보내고 Windows 작업 스케줄러가 runner를 정해진 시각에 실행하면 처음 목표와 연결됩니다.
즉, 가장 막막했던 Windows 메시지 수집 문제는 풀렸고 이제 남은 일은 검증 가능한 자동 실행 고리를 닫는 것입니다.
 
 

728x90
반응형

관련글 더보기

댓글 영역