Phase 5-3 모니터링 강화 작업의 통합을 완료했습니다. 변경사항: - Logger 통합: console.log를 구조화된 로깅으로 전환 (9개 파일) - JSON 기반 로그, 환경별 자동 전환 (개발/프로덕션) - 타입 안전성 보장, 성능 측정 타이머 내장 - Metrics 통합: 실시간 성능 모니터링 시스템 연결 (3개 파일) - Circuit Breaker 상태 추적 (api_call_count, error_count, state) - Retry 재시도 횟수 추적 (retry_count) - OpenAI API 응답 시간 측정 (api_call_duration) - 알림 통합: 장애 자동 알림 시스템 구현 (2개 파일) - Circuit Breaker OPEN 상태 → 관리자 Telegram 알림 - 재시도 실패 → 관리자 Telegram 알림 - Rate Limiting 적용 (1시간에 1회) - 문서 업데이트: - CLAUDE.md: coder 에이전트 설명 강화 (20년+ 시니어 전문가) - README.md, docs/: 아키텍처 문서 추가 영향받은 파일: 16개 (수정 14개, 신규 2개) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2.7 KiB
2.7 KiB
🤖 Cloudflare Workers 텔레그램 AI 봇
Cloudflare Workers + D1 + OpenAI를 활용한 서버리스 아키텍처 기반의 지능형 텔레그램 봇입니다. 사용자별 프로필을 자동으로 생성하고 기억하며, 예치금 관리 및 도메인 등록 등의 복잡한 작업을 수행할 수 있습니다.
📚 문서 안내
- 사용자 가이드 (User Guide): 봇 사용법, 명령어, 예치금/도메인 기능 설명
- 시스템 아키텍처 (Architecture): 기술 구조, 데이터 흐름, 프로필 시스템 상세
- 개발자 가이드 (Dev Guide): 개발 환경 설정, 컨벤션, 트러블슈팅
✨ 주요 기능
- 🧠 AI 기반 개인화: 대화 내용을 분석하여 사용자의 관심사와 맥락을 기억하는 동적 프로필 시스템
- 🛠 Function Calling: 날씨, 검색, 계산, 시간 등 다양한 도구를 자연어로 호출
- 💰 예치금 시스템: 은행 SMS 자동 파싱(AI 폴백 지원) 및 양방향 매칭을 통한 자동 충전
- 🌐 도메인 관리: 도메인 검색, 추천(AI), 가격 조회, 등록, DNS 관리 통합
- ⚡ 서버리스: Cloudflare Workers 위에서 동작하여 별도의 서버 관리 불필요
🚀 빠른 시작 (배포 가이드)
1. 환경 설정
# 의존성 설치
npm install
# Wrangler 로그인
npx wrangler login
2. 데이터베이스 생성
npx wrangler d1 create telegram-conversations
npx wrangler d1 execute telegram-conversations --file=schema.sql
생성된 database_id를 wrangler.toml에 반영해야 합니다.
3. 비밀키 설정 (Secrets)
npx wrangler secret put BOT_TOKEN # Telegram Bot Token
npx wrangler secret put OPENAI_API_KEY # OpenAI API Key
npx wrangler secret put WEBHOOK_SECRET # Webhook 검증용 Secret
4. 배포 및 웹훅 연결
# 배포
npx wrangler deploy
# 웹훅 설정 (배포된 URL 사용)
curl https://<YOUR_WORKER_URL>/setup-webhook
🛠 기술 스택
| 분류 | 기술 | 비고 |
|---|---|---|
| Runtime | Cloudflare Workers | Serverless |
| DB | Cloudflare D1 | SQLite |
| Cache | Cloudflare KV | Rate Limiting |
| AI | OpenAI GPT-4o-mini | Logic & Tools |
| Fallback | Workers AI (Llama 3) | Backup AI |
🤝 기여 및 문의
버그 신고나 기능 제안은 Issue를 등록해주세요. 소스 코드는 **Gitea**에서 관리됩니다.