# task-1562: 네이버 블로그 AI 글 생성 완성 + 히스토리 조회 기능

## 목표
1. "글 생성" 버튼 클릭 시 Sonnet API를 호출해서 실제 블로그 글을 완성한다
2. 키워드분석, 본문작성, 경쟁사분석 히스토리를 저장하고 대시보드에서 조회 가능하게 한다

## 배경
- 현재 "글 생성" 버튼 → 프롬프트만 생성, "AI 생성은 추후 연동 예정" 표시
- 프롬프트에는 blog-writer, human-writer, naver-seo, geo-optimizer 스킬 규칙이 이미 포함됨
- Sonnet API에 프롬프트를 그대로 넘기면 스킬 적용된 글이 완성됨
- 프론트: `/home/jay/workspace/dashboard/components/NaverBlogView.js`
- 백엔드: `/home/jay/workspace/dashboard/server.py`

## 기능 1: AI 글 생성 완성

### 백엔드 (server.py)

`POST /api/naver-blog/generate` 수정:

1. 기존 프롬프트 생성 로직 유지
2. 프롬프트 생성 후 **Anthropic Sonnet API 호출**:
```python
import anthropic

client = anthropic.Anthropic()  # ANTHROPIC_API_KEY 환경변수
response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    messages=[{
        "role": "user",
        "content": prompt_text  # 이미 생성된 프롬프트
    }]
)
generated_content = response.content[0].text
```
3. 생성된 글을 md 파일로 저장: `/home/jay/workspace/output/blog/naver/content-{날짜}-{키워드}.md`
4. 응답에 생성된 글 텍스트 포함

### 프론트엔드 (NaverBlogView.js)

1. "AI 생성은 추후 연동 예정" 안내 문구 **제거**
2. "글 생성" 버튼 클릭 → 로딩 표시 → API 응답 대기
3. 응답 받으면 **생성된 글 본문을 미리보기에 표시**
4. "복사" 버튼 → 클립보드에 복사 (SE 에디터에 Ctrl+V 가능)
5. 응답 시간이 길 수 있으므로 (30초+) 로딩 스피너 + "글을 작성 중입니다..." 메시지

### API 키
- `/home/jay/workspace/.env.keys`의 `ANTHROPIC_API_KEY` 로드
- 하드코딩 절대 금지

## 기능 2: 히스토리 저장 + 조회

### 저장 구조
SQLite DB: `/home/jay/workspace/dashboard/data/naver_blog_history.db`

```sql
CREATE TABLE keyword_analysis (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    input_keyword TEXT,
    results_json TEXT,  -- 키워드 분석 결과 전체 JSON
    recommended_json TEXT  -- 추천 5순위 JSON
);

CREATE TABLE blog_content (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    keywords_json TEXT,  -- 확정된 1~5순위 키워드
    additional_content TEXT,  -- 추가 입력 내용
    prompt_text TEXT,  -- 생성된 프롬프트
    generated_content TEXT,  -- AI가 작성한 글
    file_path TEXT  -- 저장된 md 파일 경로
);

CREATE TABLE competition_analysis (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    keyword TEXT,
    home_results_json TEXT,  -- 홈탭 상위 5위 분석
    blog_results_json TEXT,  -- 블로그탭 상위 5위 분석
    comparison_json TEXT  -- 비교 분석 결과
);
```

### 백엔드 API

1. `GET /api/naver-blog/history/keywords` — 키워드 분석 히스토리 목록
2. `GET /api/naver-blog/history/contents` — 글 작성 히스토리 목록
3. `GET /api/naver-blog/history/competitions` — 경쟁 분석 히스토리 목록
4. `GET /api/naver-blog/history/{type}/{id}` — 상세 조회
5. 기존 API에서 각 기능 실행 시 자동으로 히스토리 저장

### 프론트엔드

NaverBlogView.js에 **히스토리 탭/패널** 추가:
1. 워크플로우 3단계 아래 또는 옆에 "히스토리" 섹션
2. 탭: 키워드분석 | 글작성 | 경쟁분석
3. 각 탭에 날짜순 목록 표시 (최신순)
4. 클릭하면 상세 내용 펼침
5. 글작성 히스토리에서 "복사" 버튼 → 과거 글도 바로 복사 가능

## 주의사항
- Anthropic API 키 하드코딩 금지
- Sonnet 호출 timeout 최소 60초 (글 생성에 시간 걸림)
- 히스토리 DB는 dashboard/data/ 디렉토리에 생성
- 기존 기능 0, 1, 2에 영향 주지 말 것
- Playwright 사용 금지

## 보고서
`memory/reports/task-1562.md`에 작성
