성능 개선:
- Namecheap API 호출 30-80% 감소
- 캐시 히트 시 응답 속도 ~100ms (API 대비 5-8배 향상)
- 비용 절감 효과
캐싱 전략:
- 단일 TLD 가격: "tld_price:{tld}" (예: tld_price:com)
- 전체 TLD 가격: "tld_price:all"
- TTL: 3600초 (1시간) - 가격 변동 주기 고려
구현 상세:
- 4개 헬퍼 함수 추가
- getCachedTLDPrice(): 단일 TLD 캐시 조회
- setCachedTLDPrice(): 단일 TLD 캐시 저장
- getCachedAllPrices(): 전체 TLD 캐시 조회
- setCachedAllPrices(): 전체 TLD 캐시 저장
- 캐싱 적용 함수
- executeDomainAction('price'): 단일 TLD 가격
- executeDomainAction('cheapest'): 전체 TLD 목록
- executeDomainAction('check'): 도메인 가용성 + 가격
- executeSuggestDomains(): 도메인 추천 시 가격
에러 핸들링:
- KV 오류 시 API 직접 호출로 폴백
- 서비스 가용성 우선, 캐시는 성능 향상 수단
로깅:
- [TLDCache] HIT/MISS/SET 로그로 성능 모니터링
바인딩:
- 기존 RATE_LIMIT_KV 재사용 (추가 설정 불필요)
테스트:
- .com 가격 조회 (캐시 MISS → HIT)
- 전체 TLD 목록 (캐시 MISS → HIT)
- 도메인 추천 (캐시된 가격 활용)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
보안 개선:
- API 키 하드코딩 제거 (NAMECHEAP_API_KEY_INTERNAL)
- CORS 정책: * → hosting.anvil.it.com 제한
- /health 엔드포인트 DB 정보 노출 방지
- Rate Limiting 인메모리 Map → Cloudflare KV 전환
- 분산 환경 일관성 보장
- 재시작 후에도 유지
- 자동 만료 (TTL)
문서:
- CLAUDE.md Security 섹션 추가
- KV Namespace 설정 가이드 추가
- 배포/마이그레이션 가이드 추가
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
원가 + 20% 마진 기준 리전별 차등 가격:
- 도쿄/오사카, 싱가포르 (Linode): ₩8,900 ~ ₩39,900
- 홍콩 (Google Cloud): ₩14,900 ~ ₩57,900
- 서울 (AWS): ₩19,900 ~ ₩63,900
공통 포함 사항: DDoS 방어, 무료 SSL, 24시간 지원
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 윈도우 vs 리눅스 비교 테이블 (비용, 성능, 보안, 안정성)
- SSH 접속 방법 안내 (PuTTY, Tabby 링크)
- 웹 기반 관리 도구 소개 (cPanel, Webmin, Cockpit)
- 자주 쓰는 명령어 5개 (ls, cd, cp, mv, rm, sudo)
- 네비게이션에 리눅스 메뉴 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
은행 SMS는 입금자명을 7글자까지만 표시하므로,
매칭 시 SUBSTR(depositor_name, 1, 7)로 비교하도록 수정
- deposit-agent.ts: 사용자 입력 → bank_notifications 검색
- index.ts: SMS 수신 → deposit_transactions 검색
- CLAUDE.md: 매칭 로직 문서화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- getOrCreateUser를 별도 try-catch로 감싸서 DB 오류 시 에러 메시지 전송
- 전체 메시지 처리 로직을 try-catch로 감싸서 모든 오류에 대해 사용자 응답 보장
- 기존: DB 오류 발생 시 webhook handler catch → 500 반환 (사용자 무응답)
- 변경: 오류 발생 시에도 "일시적인 오류" 메시지 전송
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 웹페이지를 Excalidraw 스타일 손그림 디자인으로 전면 리디자인
- 라이트 모드 + 크림색 배경 + 격자 패턴
- 손글씨 폰트 (제목: Caveat, 본문: Noto Sans KR)
- 스케치 스타일 카드, 버튼, 스티커 노트 컴포넌트
- 문의 폼 추가 (이메일 + 메시지)
- /api/contact 엔드포인트 추가 (텔레그램 알림 연동)
- 이메일 실시간 유효성 검사
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add 3D metallic anvil + blacksmith hammer logo with gradients
- Apply metallic gradient to "Anvil" text
- Reorder services: Domain → DDoS → Overseas → Hosting
- Update domain card: AI 작명 추천 · 3초 등록 · 실시간 가용성 확인
- Remove domain price from service card
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add custom SVG logo with anvil and hammer design
- Hammer positioned to strike down creating sparks
- Purple gradient matching site theme
- Remove unnecessary "가격 조회" button from domain section
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AI 도메인 추천, 가용성 확인, WHOIS 조회, 네임서버 관리 카드
- 5,000원~/년 가격 배너 + 도메인 등록하기/가격 조회 CTA
- 네비게이션에 도메인 메뉴 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 도메인 등록 인라인 버튼 확인 플로우 (domain-register.ts)
- manage_domain에 cheapest action 추가 (가장 저렴한 TLD TOP 15)
- 24시간 경과 입금 대기 자동 취소 Cron (UTC 15:00)
- 거래 내역 한글 라벨 + description 표시
- CLAUDE.md 문서 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Email Routing에서 수신한 이메일 파싱 수정
- Quoted-Printable UTF-8 디코딩 함수 추가
- HTML <br/> 태그를 줄바꿈으로 변환
- SMS 키워드 위치 기반 본문 추출
- 레거시 코드 삭제
- /api/bank-notification 엔드포인트 제거 (Email Routing으로 대체)
- BANK_API_SECRET 관련 코드 및 문서 제거
- DEPOSIT_AGENT_ID 제거 (Assistants API → 코드 직접 처리)
- CLI 테스트 클라이언트 개선
- .env 파일 자동 로드 지원
- WEBHOOK_SECRET 환경변수 불필요
- 문서 업데이트
- NAMECHEAP_API_KEY 설명 명확화 (래퍼 인증 키)
- CLI 테스트 섹션 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace OpenAI Assistants API with direct function calling (AI Gateway)
- Add action-based parameters to manage_deposit tool (like manage_domain)
- Export executeDepositFunction for direct use in openai-service.ts
- Add formatDepositResult function for consistent response formatting
- Remove DEPOSIT_AGENT_ID dependency (no longer needed)
- Update CLAUDE.md documentation
Benefits:
- Bypasses regional restrictions via AI Gateway
- 100% consistent response formatting
- No Assistants API costs
- Faster execution (no thread creation)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- OpenAI API 호출을 AI Gateway 경유로 변경
- 지역 제한 (403 unsupported_country_region_territory) 해결
- Gateway: telegram-bot (d8e5997eb4040f8b489f09095c0f623c)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
주요 변경:
- Domain Agent 제거, 코드 직접 처리로 전환
- suggest_domains: 등록 가능 도메인만 표시, 10개 미만 시 재시도
- search_web: 한글 검색어 자동 영문 번역 (GPT-4o-mini)
- WHOIS: raw 데이터 파싱으로 상세 정보 추출
- 가격 조회: API 필드명 수정 (register_krw → krw)
- 동적 도구 로딩 시스템 추가
- 문서 정리 및 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 사용법 예시 섹션 추가
- 자연어 금액 인식 (만원, 5천원 등)
- 즉시 실행 (확인 없이 바로 처리)
- 간편 취소 (최근 pending 자동 선택)
- 동시 요청 허용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AI 시스템 프롬프트: 에이전트 응답 그대로 전달 규칙 추가
- Deposit Agent 핵심 규칙 확장:
- 자연어 금액 인식 (만원, 5천원 등)
- 즉시 실행 (확인 질문 없이)
- 간편 취소 (최근 pending 자동 선택)
- 동시 요청 허용
- Deposit Agent 응답 포맷 예시 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- manage_deposit, manage_domain 도구 결과를 가공 없이 전달
- 불필요한 추가 질문/멘트 방지
Deposit Agent (OpenAI) 프롬프트도 별도 업데이트:
- 동시 입금 요청 허용
- 즉시 실행 (확인 질문 금지)
- 응답 스타일 간결화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## 검색 API 교체
- DuckDuckGo Instant Answer API → Brave Search API
- 실제 웹 검색 결과 반환 (제목, 설명, URL)
- Vault에 API 키 저장 (secret/brave-search)
- Free AI 플랜: 2,000 queries/월
## 시스템 프롬프트 개선
- 검색 도구 사용 조건 명시 (최신 정보, 실시간 가격 등)
- 도구 description에 트리거 키워드 추가
## 입금 알림 개선
- 자동 매칭 성공 시 사용자에게 Telegram 알림 전송
- tryAutoMatch() 반환값에 userId, amount 추가
## 문서 업데이트
- Function Calling Tools 테이블에 트리거 키워드 컬럼 추가
- AI 시스템 프롬프트 섹션 추가
- Deposit Agent 프롬프트 수정 방법 문서화
- 자동 알림 시스템 섹션 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- POST /api/bank-notification 엔드포인트 추가
- 하나은행 Web발신 SMS 패턴 파싱 지원
- Gmail message_id 기반 중복 방지
- BANK_API_SECRET 인증 추가
- deposit_transactions 자동 매칭 구현
- 문서 업데이트 (CLAUDE.md, README.md)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Auto-Read: 세션 시작 시 README.md 필수 읽기
- Critical Rules: 배포/보안/위험 작업 규칙 추가
- Documentation Rules: 트리거 조건 테이블화
- Code Style: TypeScript, 에러 핸들링, 로깅, 네이밍 규칙
- Testing: 로컬 테스트 절차, 배포 후 확인
- Troubleshooting: 자주 발생하는 에러 6개 + 해결법
- 기존 섹션 테이블 형식으로 가독성 개선
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Namecheap API가 미국 형식(08/01/2026)을 반환하여 AI가 1월 8일로 오해석
- ISO 형식(2026-08-01)으로 변환하여 명확한 날짜 표시
- list_domains, get_domain_info에 날짜 변환 적용
- 문서에 WHOIS API 서버 정보 및 ccSLD 미지원 안내 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- get_domain_info 민감정보 필터링 (계정 ID 제거)
- whois_lookup 도구 추가 (Domain Agent)
- .it.com ccSLD WHOIS 미지원 안내 추가
- domain-agent tools.ts에 whois_lookup 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Vercel Serverless로 WHOIS API 서버 구축
- 모든 TLD 지원 (TCP 포트 43 직접 연결)
- RDAP 대신 raw WHOIS 사용으로 안정성 향상
- AI가 raw 응답 파싱
WHOIS API: whois-api-kappa-inoutercoms-projects.vercel.app
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- get_price: ccSLD(it.com, uk.com 등) 가격 조회 지원
- check_domains: 도메인 가용성 확인 기능 추가
- whois_lookup: 공개 RDAP API로 WHOIS 조회 (com/net/org/io/me/info/biz)
- 읽기 작업(get_domain_info, get_nameservers)은 누구나 조회 가능
- 한국어 질문 시 원화(KRW)만 표시하도록 개선
- README.md, CLAUDE.md 도메인 관리 문서 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- manage_domain Function Calling 도구 추가
- OpenAI Assistants API 기반 Domain Agent 연동
- Namecheap API 호출 (도메인 목록, 네임서버 관리 등)
- user_domains 테이블로 사용자별 도메인 권한 관리
- 타임스탬프 검증 비활성화 (WEBHOOK_SECRET으로 충분)
- CLAUDE.md 프로젝트 문서 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 원페이지 다크테마 디자인
- 서비스: 호스팅, 해외 서버, DDoS 방어, 도메인
- 요금제: Starter/Pro/Enterprise
- Cloudflare Pages 배포: anvil-hosting.pages.dev
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- OpenAI GPT-4o-mini with Function Calling
- Cloudflare D1 for user profiles and message buffer
- Sliding window (3 summaries max) for infinite context
- Tools: weather, search, time, calculator
- Workers AI fallback support
- Webhook security with rate limiting
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>