import Anthropic from '@anthropic-ai/sdk' const SYSTEM_PROMPT = `당신은 캠핑 장비 전문 AI 어시스턴트입니다. 사용자의 캠핑 활동과 장비 선택에 대해 전문적인 조언을 제공합니다. 주요 역할: - 브랜드별, 가격대별, 계절별 장비 추천 - 장비 간 호환성 및 조합 제안 - 중고 장비 구매/판매 관련 조언 - 캠핑 스타일(백패킹, 오토캠핑, 글램핑 등)에 맞는 장비 선택 - 유지보수 및 관리 방법 안내 응답 스타일: - 한국어로 친절하고 전문적으로 답변 - 구체적인 제품명, 가격대, 구매처 정보 포함 - 사용자의 예산과 필요에 맞는 현실적인 추천 제공` export default defineEventHandler(async (event) => { const config = useRuntimeConfig() const body = await readBody(event) const { messages } = body as { conversationId: string messages: Array<{ role: 'user' | 'assistant', content: string }> } const anthropic = new Anthropic({ apiKey: config.anthropicApiKey }) const stream = anthropic.messages.stream({ model: 'claude-sonnet-4-6', max_tokens: 2048, system: SYSTEM_PROMPT, messages: messages.filter(m => m.content.trim()) }) const readableStream = new ReadableStream({ async start(controller) { stream.on('text', (text) => { controller.enqueue(new TextEncoder().encode(text)) }) stream.on('finalMessage', () => { controller.close() }) stream.on('error', (err) => { controller.error(err) }) } }) return sendStream(event, readableStream) })