feat: 도메인 시스템 개선 + 검색 한글→영문 번역
주요 변경: - 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>
This commit is contained in:
152
README.md
152
README.md
@@ -22,9 +22,10 @@
|
||||
|
||||
- **OpenAI GPT-4o-mini**: 고품질 AI 응답 및 Function Calling 지원
|
||||
- **사용자 프로필**: 대화에서 사용자의 관심사, 목표, 맥락을 추출하여 프로필 구축
|
||||
- **Function Calling**: 날씨, 검색, 시간, 계산, **문서 조회**, **도메인 관리**, **예치금 관리** 등 AI가 자동으로 도구 호출
|
||||
- **Function Calling (8개)**: 날씨, 검색, 시간, 계산, 문서 조회, 도메인 관리, **도메인 추천**, 예치금 관리
|
||||
- **Context7 연동**: 프로그래밍 라이브러리 공식 문서 실시간 조회
|
||||
- **Domain Agent**: OpenAI Assistants API 기반 도메인 관리 에이전트 연동
|
||||
- **동적 도구 로딩**: 메시지 키워드 기반으로 필요한 도구만 선택하여 토큰 절약
|
||||
- **도메인 추천**: GPT가 창의적 도메인 생성 → 가용성 자동 확인 → 가격과 함께 제안
|
||||
- **Deposit Agent**: OpenAI Assistants API 기반 예치금 관리 에이전트 연동
|
||||
- **예치금 시스템**: 은행 입금 자동 감지 + 사용자 신고 매칭으로 자동 충전
|
||||
- **Email Worker**: SMS → 메일 → 자동 파싱으로 입금 알림 처리
|
||||
@@ -40,9 +41,10 @@
|
||||
| **D1** | SQLite 데이터베이스 |
|
||||
| **OpenAI** | GPT-4o-mini + Function Calling |
|
||||
| **Context7** | 라이브러리 문서 조회 API |
|
||||
| **Domain Agent** | 도메인 관리 (OpenAI Assistants) |
|
||||
| **도메인 관리** | 코드 직접 처리 → Namecheap API |
|
||||
| **도메인 추천** | GPT + Namecheap API (코드 레벨) |
|
||||
| **Deposit Agent** | 예치금 관리 (OpenAI Assistants) |
|
||||
| **Namecheap API** | 도메인 조회/관리 백엔드 |
|
||||
| **Namecheap API** | 도메인 조회/가용성/가격 백엔드 |
|
||||
| **Email Workers** | SMS → 메일 파싱 (입금 알림) |
|
||||
| **Workers AI** | 폴백용 (Llama 3.1 8B) |
|
||||
|
||||
@@ -67,16 +69,15 @@
|
||||
│ (Function Call) │ 도구 호출 자동 판단
|
||||
└──────────────────┘
|
||||
│
|
||||
┌───┴───┬───────┬───────┬───────┬───────┬───────┐
|
||||
▼ ▼ ▼ ▼ ▼ ▼ ▼
|
||||
[날씨] [검색] [시간] [계산] [문서] [도메인] [예치금]
|
||||
│ │ │ │ │ │ │
|
||||
│ │ │ │ │ │ └── Deposit Agent (Assistants API)
|
||||
│ │ │ │ │ │ ↓
|
||||
│ │ │ │ │ └── Domain Agent D1 (자동 매칭)
|
||||
│ │ │ │ │ ↓
|
||||
│ │ │ │ └── Context7 Namecheap API
|
||||
└───┬───┴───────┴───────┴───────┴───────────────────┘
|
||||
┌───┴───┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
|
||||
[날씨] [검색] [시간] [계산] [문서] [도메인] [도메인 [예치금]
|
||||
│ │ │ │ │ │ 추천] │
|
||||
│ │ │ │ │ │ │ └── Deposit Agent
|
||||
│ │ │ │ │ │ └── GPT + Namecheap API
|
||||
│ │ │ │ │ └── 코드 직접 처리 → Namecheap API
|
||||
│ │ │ │ └── Context7
|
||||
└───┬───┴───────┴───────┴───────┴───────────────────────────┘
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ 최종 응답 생성 │
|
||||
@@ -97,18 +98,29 @@
|
||||
└──────────────────┘
|
||||
│ 20개 도달
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ 프로필 분석 │ ← 사용자 발언만 추출하여 분석
|
||||
│ (OpenAI) │ 봇 응답은 무시
|
||||
└──────────────────┘
|
||||
┌──────────────────────────────────────────┐
|
||||
│ 통합 프로필 분석 │
|
||||
│ ┌─────────────────┐ ┌───────────────┐ │
|
||||
│ │ 기존 요약 3개 │ │ 새 메시지 20개 │ │
|
||||
│ │ [v1][v2][v3] │ │ (사용자 발언) │ │
|
||||
│ └────────┬────────┘ └───────┬───────┘ │
|
||||
│ └──────────┬────────┘ │
|
||||
│ ↓ │
|
||||
│ OpenAI 통합 분석 │
|
||||
└──────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌──────────────────┐
|
||||
│ summaries │ ← 최근 3개만 유지 (슬라이딩 윈도우)
|
||||
│ [v1] [v2] [v3] │
|
||||
│ [v1] [v2] [v3] │ 새 v4 저장, v1 삭제
|
||||
└──────────────────┘
|
||||
```
|
||||
|
||||
**3개 요약 통합 방식:**
|
||||
- 프로필 업데이트 시 기존 요약 3개 + 새 메시지를 함께 AI에 전달
|
||||
- AI가 모든 버전을 종합 분석하여 새로운 통합 프로필 생성
|
||||
- 응답 생성 시에도 3개 요약 모두 컨텍스트로 제공 (최신 버전 우선)
|
||||
|
||||
### 프로필 분석 내용
|
||||
|
||||
| 추출 정보 | 설명 |
|
||||
@@ -134,7 +146,8 @@ OpenAI Function Calling을 통해 AI가 자동으로 필요한 도구를 호출
|
||||
| **시간** | "지금 몇 시야", "뉴욕 시간" | 내장 |
|
||||
| **계산** | "123 * 456", "100의 20%" | 내장 |
|
||||
| **문서** | "React hooks 사용법", "OpenAI API 예제" | Context7 |
|
||||
| **도메인** | "도메인 목록", "anvil.it.com 네임서버", ".com 가격", "google.com whois" | Domain Agent + WHOIS API |
|
||||
| **도메인** | "도메인 목록", "anvil.it.com 네임서버", ".com 가격", "google.com whois" | 코드 직접 처리 + WHOIS API |
|
||||
| **도메인 추천** | "커피숍 도메인 추천해줘", "스타트업 도메인 아이디어" | GPT + Namecheap |
|
||||
| **예치금** | "잔액 확인", "충전하고 싶어", "10000원 입금했어" | D1 + Email Worker |
|
||||
|
||||
### 동작 방식
|
||||
@@ -329,7 +342,7 @@ function checkBankEmails() {
|
||||
|
||||
## 도메인 관리
|
||||
|
||||
OpenAI Assistants API 기반 도메인 관리 에이전트입니다.
|
||||
코드 직접 처리 방식의 도메인 관리 기능입니다. 메인 AI가 action 파라미터로 작업을 지정하고, 코드에서 Namecheap API를 호출합니다.
|
||||
|
||||
### 지원 기능
|
||||
|
||||
@@ -342,6 +355,7 @@ OpenAI Assistants API 기반 도메인 관리 에이전트입니다.
|
||||
| `가격 조회` | TLD/ccSLD 등록 가격 (원화) | 누구나 |
|
||||
| `WHOIS 조회` | 공개 WHOIS 정보 (RDAP) | 누구나 |
|
||||
| `가용성 확인` | 도메인 등록 가능 여부 | 누구나 |
|
||||
| `도메인 등록` | 새 도메인 등록 (예치금 차감) | 사용자 |
|
||||
|
||||
### 가격 조회
|
||||
|
||||
@@ -370,6 +384,96 @@ Namecheap 가격 + 13% 마진, 매일 환율 업데이트
|
||||
- **지원 TLD**: com, net, org, io, co, me, kr, jp, cn, uk, de, fr 등 40+ TLD
|
||||
- **ccSLD 미지원**: it.com, uk.com, us.com 등 사설 레지스트리는 WHOIS 비공개
|
||||
|
||||
### 도메인 등록
|
||||
|
||||
예치금에서 자동 차감되는 도메인 등록 기능입니다.
|
||||
|
||||
```
|
||||
[잔액 충분한 경우]
|
||||
사용자: "example123.com 등록해줘"
|
||||
|
||||
봇: 📋 도메인 등록 확인
|
||||
|
||||
• 도메인: example123.com
|
||||
• 가격: 15,000원 (예치금에서 차감)
|
||||
• 현재 잔액: 50,000원 ✓
|
||||
• 등록 기간: 1년
|
||||
|
||||
📌 등록자 정보
|
||||
서비스 기본 정보로 등록됩니다.
|
||||
(WHOIS Guard가 적용되어 개인정보는 비공개)
|
||||
|
||||
⚠️ 주의사항
|
||||
도메인 등록 후에는 취소 및 환불이 불가능합니다.
|
||||
|
||||
등록을 진행하시려면 '확인'이라고 입력해주세요.
|
||||
|
||||
사용자: "확인"
|
||||
|
||||
봇: ✅ example123.com 등록이 완료되었습니다!
|
||||
예치금 15,000원 차감, 현재 잔액: 35,000원
|
||||
```
|
||||
|
||||
```
|
||||
[잔액 부족한 경우]
|
||||
사용자: "premium-domain.io 등록해줘"
|
||||
|
||||
봇: 📋 도메인 등록 확인
|
||||
|
||||
• 도메인: premium-domain.io
|
||||
• 가격: 45,000원
|
||||
• 현재 잔액: 10,000원 ⚠️ 부족
|
||||
• 부족 금액: 35,000원
|
||||
|
||||
💳 입금 계좌
|
||||
하나은행 427-910018-27104 (주식회사 아이언클래드)
|
||||
입금 후 '홍길동 35000원 입금' 형식으로 알려주세요.
|
||||
```
|
||||
|
||||
**특징:**
|
||||
- 🔍 가용성 자동 확인 후 가격 안내
|
||||
- 💰 **현재 잔액 실시간 표시**
|
||||
- ⚠️ 등록 전 취소/환불 불가 안내
|
||||
- 💳 **잔액 부족 시 입금 계좌 자동 안내**
|
||||
- 📝 등록 즉시 소유 도메인으로 자동 등록
|
||||
- 🔒 WHOIS Guard 자동 적용 (개인정보 보호)
|
||||
|
||||
**등록자 정보:**
|
||||
- 현재: 서비스 기본 정보로 등록 (WHOIS Guard 적용)
|
||||
- 추후: 사용자 본인 정보로 등록 옵션 추가 예정
|
||||
|
||||
### 도메인 추천
|
||||
|
||||
AI가 키워드를 기반으로 창의적인 도메인 이름을 생성하고, 가용성을 자동 확인하여 등록 가능한 도메인만 제안합니다.
|
||||
|
||||
```
|
||||
사용자: "커피숍 도메인 추천해줘"
|
||||
|
||||
봇: 🎯 커피숍 관련 도메인:
|
||||
|
||||
✅ 등록 가능:
|
||||
1. coffeenest.com - 15,000원/년
|
||||
2. brewlab.io - 45,000원/년
|
||||
3. beanspot.co - 32,000원/년
|
||||
4. roasthub.net - 18,000원/년
|
||||
|
||||
❌ 이미 등록됨:
|
||||
- coffee.com
|
||||
- brew.io
|
||||
- bean.com
|
||||
|
||||
💎 프리미엄 도메인:
|
||||
- coffeehouse.com (별도 문의)
|
||||
|
||||
등록하시려면 번호나 도메인명을 말씀해주세요.
|
||||
```
|
||||
|
||||
**특징:**
|
||||
- 🎨 **창의적 이름**: 트렌디한 접미사 (hub, lab, spot, nest, base, cloud, stack, flow)
|
||||
- 🔍 **자동 가용성 확인**: 15개 아이디어 생성 후 일괄 확인
|
||||
- 💰 **가격 표시**: 등록 가능한 도메인만 원화 가격 안내
|
||||
- 💎 **프리미엄 분류**: 일반/프리미엄 도메인 구분 표시
|
||||
|
||||
---
|
||||
|
||||
## 프로젝트 구조
|
||||
@@ -441,6 +545,9 @@ wrangler secret put BANK_API_SECRET
|
||||
|
||||
# Brave Search API Key
|
||||
wrangler secret put BRAVE_API_KEY
|
||||
|
||||
# Deposit API Secret (namecheap-api 연동용)
|
||||
wrangler secret put DEPOSIT_API_SECRET
|
||||
```
|
||||
|
||||
### Vault 연동 (선택)
|
||||
@@ -538,7 +645,6 @@ binding = "AI"
|
||||
SUMMARY_THRESHOLD = "20"
|
||||
MAX_SUMMARIES_PER_USER = "3"
|
||||
N8N_WEBHOOK_URL = "https://n8n.anvil.it.com"
|
||||
DOMAIN_AGENT_ID = "asst_MzPFKoqt7V4w6bc0UwcXU4ob"
|
||||
DOMAIN_OWNER_ID = "821596605"
|
||||
DEPOSIT_AGENT_ID = "asst_XMoVGU7ZwRpUPI6PHGvRNm8E"
|
||||
DEPOSIT_ADMIN_ID = "821596605"
|
||||
@@ -575,6 +681,8 @@ database_id = "c285bb5b-888b-405d-b36f-475ae5aed20e"
|
||||
| `/setup-webhook` | GET | Webhook 설정 |
|
||||
| `/webhook` | POST | Telegram Webhook |
|
||||
| `/api/bank-notification` | POST | 입금 알림 API (Apps Script 연동) |
|
||||
| `/api/deposit/balance` | GET | 예치금 잔액 조회 (namecheap-api용) |
|
||||
| `/api/deposit/deduct` | POST | 예치금 차감 (namecheap-api용) |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user