데모 데이터란?
현재 대시보드의 지표는 데모 시뮬레이션입니다. 정적 사이트(클라이언트 전용)에서는 네이버 데이터랩의 실시간 데이터를 서버 없이 직접 읽을 수 없기 때문에, 실제 데이터와 형태가 유사한 시뮬레이션 값으로 전체 워크플로우를 체험할 수 있도록 만들었습니다.
네이버 데이터랩 관심도와 뉴스 · 카페 신호를 모아, 블로그에 쓸 만한 주제를 발굴하고 분석합니다.
신호를 입력하면 에이전트가 관심도·성장성·경쟁도를 진단하고, 검색 의도와 글 앵글, SEO 콘텐츠 구조까지 자동 구성합니다.
왼쪽에서 트렌드 신호를 입력하면
에이전트가 분석을 시작합니다.
에이전트가 구성한 콘텐츠 초안을 관리합니다.
아직 생성된 초안이 없습니다.
에이전트 스튜디오에서 첫 초안을 만들어보세요.
실제 운영 환경에서 관심 데이터를 연동하는 방법과 데모 데이터 시뮬레이션에 대한 안내입니다.
현재 대시보드의 지표는 데모 시뮬레이션입니다. 정적 사이트(클라이언트 전용)에서는 네이버 데이터랩의 실시간 데이터를 서버 없이 직접 읽을 수 없기 때문에, 실제 데이터와 형태가 유사한 시뮬레이션 값으로 전체 워크플로우를 체험할 수 있도록 만들었습니다.
간단 요약: 네이버 Developers에서 키를 발급 → Cloudflare Worker에 프록시 배포 → 설정 페이지에 주소 입력. 전체 순서는 실데이터 연결 가이드에 단계별로 정리되어 있습니다.
POST naverapihub.apigw.ntruss.com/search-trend/v1/search)로 기간별 상대 관심 지수(0~100)를 받습니다. 순위나 검색량이 아니라, 한 요청에 담긴 5개 그룹 안에서의 상대값입니다. 저장소의 worker/worker.js 프록시가 이 호출을 대신 처리합니다. API 키 필요(애플리케이션 등록).이 앱의 에이전트는 5개 레이어 파이프라인(신호 수집 → 관심도 추정 → 성장·경쟁 진단 → 의도·앵글 판단 → 콘텐츠 구조 생성)으로 동작하는 규칙 기반 엔진입니다. 별도 LLM 없이도 즉시 동작하며, 실제 API가 연결되면 각 레이어가 실데이터 기반으로 바뀝니다.
에이전트가 사용할 신호 소스와 연동 파라미터를 관리합니다.
IT·AI 트렌드를 발견하고, 분석하고, 쓸 수 있게 만드는 에이전트 기반 콘텐츠 워크플로우.
네이버 데이터랩 관심도와 뉴스·카페 문서 수에서 관심이 오르기 시작한 키워드를 유형별로 수집합니다.
검색 관심도·성장성·시의성·경쟁 강도를 점수화해 지금 쓸 가치가 있는 주제인지 판단합니다.
검색 의도(정보/구매/비교/문제해결)를 추정하고, 독자가 열어볼 글의 앵글과 페르소나를 제안합니다.
SEO 메타 설명·H2/H3 골격·FAQ·키워드 배치까지 완성된 블로그 초안을 구성합니다.
네이버 데이터랩 관심도와 뉴스·카페 신호를 대시보드에 연결하는 5단계 안내입니다. (약 15분 소요)
네이버 데이터랩·검색 API는 ① API 키(비밀 값)가 필요하고 ② 브라우저에서 직접 호출하는 것을 차단(CORS)합니다. 그래서 키를 안전하게 보관하고 대신 데이터를 가져와 주는 작은 중계 서버(Cloudflare Worker)가 하나 필요합니다. 아래 순서대로 하면 무료로 설정할 수 있습니다.
worker/worker.js 파일 내용(v3.4.0)을 편집기에 전부 복사해서 붙여넣고 배포(Deploy)합니다.NAVER_CLIENT_ID = 위에서 받은 Client IDNAVER_CLIENT_SECRET = 위에서 받은 Client SecretNAVER_SEARCH_CLIENT_ID = 검색용 Application 의 Client IDNAVER_SEARCH_CLIENT_SECRET = 검색용 Application 의 Client Secrethttps://trendlog-proxy.내계정.workers.dev)를 복사합니다.?action=diag 를 열어 키 상태(길이/공백 여부)와 Claude 키 등록 여부를 확인할 수 있습니다.?action=signal&keywords=[] 를 열었을 때 available 값이 모두 true 면 검색 API 권한까지 정상입니다.ANTHROPIC_API_KEY = Anthropic 콘솔에서 발급한 API 키LLM_MODEL = (선택) 기본 claude-sonnet-5-5?action=llm 이 그 역할을 합니다.
관심도 그래프(데이터랩)만으로도 앱은 동작하지만, 뉴스·카페 필터를 채우려면 검색 API 권한이 필요합니다.
?action=signal&keywords=["RAG"] 를 붙여 열어 봅니다."available": { "news": true, "blog": true, "cafe": true } 가 나오면 완료입니다.NAVER_SEARCH_CLIENT_ID / NAVER_SEARCH_CLIENT_SECRET 로 워커에 추가하세요. 워커 v3.4 은 두 키를 분리해 씁니다.
대시보드로 이동하면 상단 배너가 "실데이터 연결됨"으로 바뀌고, 관심도 차트와 트렌드 피드가 실제 데이터로 표시됩니다. 배너에는 "최근 완료 주 9/21 까지" 처럼 데이터 기준 시점이 함께 표시됩니다.
네이버는 두 가지 환경이 있고 주소와 헤더가 서로 다릅니다. 키가 맞는데도 401이 나면 보통 이 불일치가 원인입니다. 워커 v3는 두 방식을 자동으로 감지하므로, 아래처럼 최신 워커로 교체하면 대부분 해결됩니다.
| 환경 | 주소 | 인증 헤더 |
|---|---|---|
| NAVER API HUB (ncloud, 신형) | naverapihub.apigw.ntruss.com/search-trend/v1/search | X-NCP-APIGW-API-KEY-ID / X-NCP-APIGW-API-KEY |
| developers.naver.com (구형) | openapi.naver.com/v1/datalab/search | X-Naver-Client-Id / X-Naver-Client-Secret |
worker/worker.js v3.4.0 내용으로 바꾸고 Deploy.?action=probe 를 열면 신형·구형 주소를 실제로 호출해 어느 쪽이 인증되는지, 실패하면 네이버 오류 원문까지 보여줍니다. 앱에서는 설정의 401 진단 실행 버튼으로도 가능합니다.?action=diag 로 length / prefix / hadWhitespace 를 확인합니다. 값은 노출되지 않습니다.NAVER_CLIENT_ID, NAVER_CLIENT_SECRET 값을 교체하고 Worker를 다시 Deploy.직접 다른 서버로 프록시를 만들어도 됩니다. 아래 형식만 맞추면 이 앱이 그대로 인식합니다.
GET {proxy}/?action=ping
→ { "ok": true, "provider": "naver", "hasCredentials": true, "hasLlmKey": false, "version": "3.4.0" }
GET {proxy}/?action=probe ← 401 진단: 두 주소를 실제 호출해 비교
→ {
"ok": true,
"anyOk": true,
"workingMode": "hub",
"results": {
"hub": { "ok": true, "httpStatus": 200, "points": 14, "sampleRatio": 88.1 },
"legacy": { "ok": false, "httpStatus": 401, "errorMessage": "Authentication Failed",
"hint": "이 키가 NAVER API HUB(ncloud)에서 발급된 키라면 …" }
}
}
GET {proxy}/?action=trend&provider=naver&groups=<JSON>
→ {
"ok": true,
"provider": "naver",
"mode": "hub",
"labels": ["8/1", "8/8", ...],
"rangeEnd": "2026-09-27",
"trimmedPartial": true,
"series": [
{ "name": "AI 에이전트", "data": [ 42, 44, 51, ... ] },
{ "name": "로컬 LLM", "data": [ 30, 33, 36, ... ] }
]
}
※ rangeEnd / trimmedPartial : 진행 중인 주(부분 집계)를 잘라냈음을 알려주는 정보
GET {proxy}/?action=signal&keywords=["RAG","AI 에이전트"] ← 뉴스·블로그·카페 문서 수
→ {
"ok": true,
"available": { "news": true, "blog": true, "cafe": true },
"items": [
{ "kw": "RAG", "news": 812, "blog": 4210, "cafe": 138, "total": 5160 }
]
}
※ available : 권한이 없는 유형은 false → 앱이 해당 필터를 자동으로 숨깁니다.
POST {proxy}/?action=llm ← Claude 이미지 제안 (ANTHROPIC_API_KEY 필요)
body: { "keyword":"AI 코딩", "intent":"방법·How-to",
"outline":[{"level":"h2","text":"1. 왜 주목받나"}] }
→ {
"ok": true,
"source": "claude",
"model": "claude-sonnet-5-5",
"images": [
{ "slot":"hero", "role":"대표 이미지 (썸네일·OG)", "size":"1200x630",
"alt":"AI 코딩 도구 화면", "filename":"ai-coding-hero.jpg",
"caption":"…", "prompt":"Editorial hero image …" }
]
}
※ 키가 없으면 501 + 안내를 돌려주고, 앱은 규칙 기반 제안으로 자동 폴백합니다.