먼저 참고한 사례게시글 (감사합니다!)
https://www.gpters.org/nocode/post/rights-analysis-profit-calculation-gH4YN7mcRg6bT3N
숏폼 시나리오 자동화 과정 중 하게 된 카톡 API 사용하여 진행한 자동화 사례를 만들었습니다.
비슷한 에이전트를 만들어 에이전시팀으로 해 보는게 목표입니다
🎯 바쁘시면 이것만 읽어도 돼요
Claude Code로 특정 일정관리 서비스 일정 자동 수집 → 카카오톡 발송 시스템 구축
맥이 새벽 5:50에 자동으로 켜지고, 6시에 카톡 보내고, 다시 잠자리에 들어요
처음엔 매일 오류가 났는데 launchd로 영구 해결했어요
👨👩👧 이런 분들께 도움돼요
부모님이나 가족에게 매일 특정 정보를 카톡으로 보내고 싶은 분
맥을 활용한 자동화에 관심 있는 분
Claude Code로 실제 생활 문제를 해결하고 싶은 분
😫 Before: 매일 아침 수동으로
어머니께서 특정 일정관리 사이트에 로그인해서 오늘 일정 체크를 하셔야 했는데 들어가는 방식도 가서 확인하는 것도 한눈에 들어오지 않다보니 깜빡하거나 늦어지는 일이 생겼고, 이걸 쉽게 리마인드 및 자동화하기로 했어요.
🛠️ 시스템 구조
05:50 맥 자동 깨우기 (pmset + launchd)
06:00 cron 실행
└─ 일정관리 서비스 로그인 (저장된 세션)
└─ 당일 일정 수집
└─ 카카오톡 발송
└─ 맥 자동 잠자기
사용 도구
Claude Code (claude-sonnet-4-6)
Python 3 + Playwright (웹 크롤링)
카카오 API (메시지 발송)
macOS cron + pmset + launchd
🔨 구축 과정
첫 번째 — 카카오톡 발송 스크립트
Claude Code에게 구조를 설명하고 check_schedule.py를 만들었습니다, Playwright로 일정관리 서비스에 접속해 API 응답을 가로채고, 특정 담당자 ID로 필터링해서 카톡으로 보내는 방식이에요.
카카오 access_token은 6시간마다 만료되는데, -401 오류가 나면 refresh_token으로 자동 갱신하는 로직도 함께 넣었어요. (이 문제가 이틀 연 속 반복 됨...)
두 번째 — cron + pmset으로 자동화
# cron (매일 06:00)
0 6 * * * cd /Users/username/wakeupmommy && python3 check_schedule.py >> cron.log 2>&1 && sleep 10 && osascript -e 'tell application "System Events" to sleep'
# pmset (매일 05:50 자동 기상)
sudo pmset repeat wakeorpoweron MTWRFSU 05:50:00
검증만 수 번을 해서 방심하고 있었습니다, 늘 첫 시작은 잘 안되는 법인데.
세 번째 — 반복되는 오류들과 해결
처음엔 잘 되는 것 같았는데 다음날 아침 카톡이 안 왔고 아예 몇 시간동안 Claude Code와 같이 하나씩 디버깅했어요.
문제
원인
해결
카톡 미수신
pmset repeat 소멸
pmset 재등록
발송 실패
access_token 만료(-401)
get_token.py로 재발급
.env 깨짐
nano 붙여넣기 줄바꿈 오류
스크립트가 직접 .env 쓰도록 변경
엉뚱한 계정 발송
다른 폰의 카카오 계정으로 인증
/v2/user/me로 계정 ID 검증
네 번째 — pmset 소멸 근본 원인 파악
last reboot
# → 재부팅할 때마다 pmset repeat이 초기화되고 있었음
분명 고친 첫날 작동하는 것을 보았는데 또 다음 말은 안되는 일이 생겼습니다. macOS가 특정 재시작 상황에서 pmset repeat을 날려버리는 게 원인이었어요.
launchd 데몬을 만들어서 부팅할 때마다 자동으로 pmset repeat을 재등록하게 했어요.
<!-- /Library/LaunchDaemons/com.wakeupmommy.pmset.plist -->
<key>ProgramArguments</key>
<array>
<string>/usr/bin/pmset</string>
<string>repeat</string>
<string>wakeorpoweron</string>
<string>MTWRFSU</string>
<string>05:50:00</string>
</array>
<key>RunAtLoad</key>
<true/>
sudo cp com.wakeupmommy.pmset.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/com.wakeupmommy.pmset.plist
sudo chmod 644 /Library/LaunchDaemons/com.wakeupmommy.pmset.plist
sudo launchctl bootstrap system /Library/LaunchDaemons/com.wakeupmommy.pmset.plist
✅ After: 매일 아침 자동으로
항목
Before
After
일정 확인
수동 로그인
자동 수집
카톡 발송
매일 아침 직접
06:00 자동 발송
토큰 관리
만료되면 수동 갱신
-401 오류 시 자동 갱신
pmset 소멸
매번 수동 재등록
launchd로 부팅 시 자동 복구
발송 결과
알 수 없음
status.log에 기록
제발 오늘은 오전 6시에 잘 발송될 수 있기를 바라며 이렇게 기록합니다. 엄마, 이제 까먹지 말고 나랑 리마인드 해보자~
💡 효과적이었던 것
Claude Code에게 로그 붙여넣기:
cron.log내용을 그대로 붙여넣으면 원인을 바로 찾아줬어요last reboot으로 재부팅 이력 확인: pmset 소멸 타이밍과 정확히 일치했어요launchd로 idempotent하게: 혹시 소멸돼도 다음 부팅 때 자동 복구
⚠️ 이렇게 하면 안 돼요
pmset
schedule(1회성)로 등록하면 실행 후 사라짐 → 반드시repeat사용카카오 토큰 재발급 시 계정 확인 안 하면 엉뚱한 폰으로 카톡 감
nano로 긴 토큰 붙여넣기 → 줄바꿈 깨짐. 스크립트가 직접 파일 쓰게 할 것