🤖
1146 in / 1024 out / 2170 total tokens
HackerNews에서 AI 관련 뉴스를 매일 자동으로 수집해서 블로그 포스팅으로 발행하는 파이프라인을 만들었다.
총 3개 모듈로 구성했다. fetch-ai-news.ts는 Algolia HN API에서 Claude, GPT, LLM 등 키워드로 최신 뉴스를 긁어온다. generate-daily-ai.ts는 수집된 뉴스를 Z AI API에 넘겨서 블로그 글 형식으로 요약한다. route.ts는 cron에서 호출할 수 있게 Bearer 인증이 걸린 POST 엔드포인트를 노출한다.
중복 방지 장치를 두었다. 1시간 내 재호출 시 발행을 막고, 24시간 내 동일 URL은 스킵한다. Prisma로 발행 이력을 추적한다.
export const fetchAINews = async (sinceHoursAgo = 6): Promise<NewsItem[]> => {
const since = Math.floor(Date.now() / 1000) - sinceHoursAgo * 3600;
const query = AI_KEYWORDS.join(" OR ");
const res = await fetch(`${HN_API}?query=${encodeURIComponent(query)}&numericFilters=created_at_i>${since}`);
// ...
};maxDuration 60초로 설정했는데, 뉴스 많으면 타임아웃 날 수도 있겠다. 다음엔 폴백 처리 추가해야지.