Community연구 & 데이터 분석github.com

Alan-Houxj/ai-news-follow

12개 소스 수집 + LLM 필터링 요약, Feishu(飞书) 스프레드시트/봇 푸시/클라우드 문서 보관까지 자동화하는 AI 뉴스레터 Agent Skill입니다.

ai-news-follow란 무엇인가요?

이 스킬은 매일 최신 AI 뉴스를 자동으로 수집, 필터링, 요약하여 정리된 일일 뉴스레터를 제공합니다. OpenAI, Google DeepMind, Anthropic, Hugging Face, TechCrunch, The Verge, MIT Technology Review, Hacker News, InfoQ, arXiv 등 12개의 주요 소스에서 영문 및 중문 기사를 가져옵니다. 프록시 설정을 통해 해외 소스에 접근하고, 중문 소스는 직접 연결하여 안정성을 높입니다. Agent(LLM)는 수집된 원시 항목을 읽고, AI와 관련 없는 내용을 제거하며, 동일한 이벤트를 병합하고, 각 항목에 대해 2-3문장의 요약을 작성하고, 카테고리(최신 동향/커뮤니티 핫이슈/중문 뉴스/논문 다이제스트/제품 소식)와 중요도(높음/중/낮음)로 태그를 지정합니다. 또한 그날의 주요 내용을 요약하는 일일 다이제스트를 생성합니다. 이 스킬은 세 가지 수준의 Feishu 통합(멀티 차원 테이블, 봇 푸시, 클라우드 문서 보관)을 지원하며, Feishu가 설정되지 않은 경우에도 채팅 인터페이스에서 직접 결과를 출력할 수 있습니다(L0 모드). 모든 항목은 원본 링크를 보존하여 추적 가능성을 보장합니다.

지원 대상✓Claude Code✓Codex CLI~Cursor
npx skills add Alan-Houxj/ai-news-follow

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

AI 일일 뉴스 수집 스킬

이 스킬을 사용해야 할 때: 사용자가 "AI 뉴스레터 / AI 뉴스 / 오늘 AI 업계 소식 / 뉴스레터 푸시 / Feishu 시트에 작성" 등의 의도를 언급할 때 이 파일의 절차를 따릅니다.

사용자가 말할 수 있는 예: "오늘 AI 뉴스레터 실행해줘" / "오늘 AI 업계 주요 소식 봐줘" / "뉴스레터를 내 Feishu에 푸시해줘".

당일 AI 뉴스를 수집하고, 선별 및 요약하여 뉴스레터를 작성합니다. 설정에 따라 Feishu 3종 세트(멀티 차원 테이블 / 봇 푸시 / 클라우드 문서 보관)에 전달합니다. 각 정보는 원본 링크를 보존하여 추적 가능합니다.

Feishu를 설정하지 않아도 사용할 수 있습니다(L0): 3단계에서 설정을 감지하고 자동으로 건너뛰며, 뉴스레터가 대화에 직접 출력됩니다.

작업 흐름 (Agent가 이 순서대로 실행)

0단계: 환경 준비

cd <스킬 디렉토리>/scripts
# 의존성 자가 진단: ModuleNotFoundError 발생 시 먼저 pip install feedparser requests 실행
python -c "import feedparser, requests" 2>/dev/null || pip install feedparser requests
# 프록시 탐지: 연결되면 활성화(해외 소스 필요), 연결되지 않으면 직접 연결(중문 소스는 강제로 직접 연결, 해외 소스 실패 시 자동 폴백)
curl -s -o /dev/null -m 5 -x http://127.0.0.1:7897 https://openai.com \
  && export HTTPS_PROXY=http://127.0.0.1:7897 \
  || unset HTTPS_PROXY HTTP_PROXY

lark-cli를 수동으로 지정할 필요가 없습니다: 스크립트가 자동으로 PATH와 일반적인 설치 위치(Windows npm 전역 디렉토리 포함)를 탐지합니다. 비표준 설치인 경우에만 export LARK_CLI=<전체 경로>가 필요합니다.

1단계: 원시 항목 수집

python fetch_sources.py --hours 24        # items.json 출력 (매일 정기 실행 시 --hours 26 권장, 날짜 간 경계 커버)
  • 각 소스는 sources.json에 network: proxy|direct로 선언됨: 해외 소스는 프록시(환경 변수 HTTPS_PROXY), 중문 소스는 강제 직접 연결
  • 개별 소스 실패(예: arXiv 간헐적 502)는 items.json의 errors에 기록되고 계속 실행되며 중단하지 않음

2단계: 선별 및 요약 (Agent/LLM의 책임)

items.json의 모든 항목을 읽은 후 다음을 수행합니다:

  1. 노이즈 제거: AI와 관련 없는 항목 제거(HN/InfoQ에 많은 비AI 콘텐츠 혼입)
  2. 중복 병합: 동일 이벤트의 여러 소스 보도를 병합하고 가장 권위 있는 원문 링크 보존
  3. 요약: 각 항목 2-3문장의 중문으로, 사실만陈述
  4. 태깅: category(최신 동향/커뮤니티 핫이슈/중문 뉴스/논문 다이제스트/제품 소식), importance(높음=업계급 발표·투자·정책 / 중 / 낮음), 자유 tags
  5. 일일 총평: 2-3문장의 digest를 작성, 오늘의 핫이슈와 큰 흐름 요약, selection.json 최상위에 배치——뉴스레터 시작 부분이 됨

결과를 scripts/selection.json에 작성, 형식은 다음과 같음(idx는 items.json의 배열 인덱스 참조; source_override는 선택 사항, 소스를 테이블 옵션 이름(예: TechCrunch / The Verge)으로 통일하는 데 사용):

{
  "digest": "2-3문장 일일 총평",
  "items": [
    {"idx": 0, "title": "덮어쓸 제목", "summary": "요약", "importance": "높음",
     "category": "최신 동향", "tags": ["태그"], "source_override": "OpenAI"}
  ]
}

그런 다음:

python make_curated.py       # curated.json 합성 (10-30개 항목)

철칙: url은 items.json의 원문에서만 가져와야 하며, 수정하거나 추측하지 않음——추적 가능성은 이 스킬의 핵심 가치입니다.

3단계: Feishu 적용 (설정에 따라 분기, 먼저 판단해야 함)

먼저 scripts/config.json 확인: 파일이 없거나 base_token/table_id/user_open_id/base_url 중 하나라도 비어 있음 → Feishu가 설정되지 않은 것으로 판단, 이 단계의 모든 명령 건너뛰기, 바로 "완료 후 보고"로 이동(뉴스레터 본문을 사용자에게 출력); 보고서末尾에 다음 문장 추가: Feishu 설정 시 테이블 보관과 일일 푸시를 받을 수 있습니다. 자세한 내용은 저장소 docs/setup.md를 참조하세요.

설정되어 있으면 실행:

python run_daily.py curated.json    # 테이블 작성 + 카드 푸시 + 클라우드 문서 보관
  • 작성 전 자동으로 태그 옵션 풀 병합(자유 태그 불일치 방지), 항목별로 작성
  • Feishu 메시지 카드로 푸시(분할 열, 제목 클릭 가능), 3단계 다운그레이드로 전달 보장(카드→markdown→순수 텍스트)
  • 보관 시 클라우드 문서 앵커 블록 뒤에 삽입(callout 핫이슈 블록 + 분류별 섹션, 최신이 위에); 보관이 설정되지 않은 경우 자동 건너뛰기
  • 반복 실행 시 중복 작성되므로 재실행 금지

완료 후: 사용자에게 보고

  • Feishu 설정 안 됨(L0): curated.json을 정리하여 뉴스레터 본문으로 출력(총평 + 각 항목 "제목 / 요약 / 원문 링크"), 설정 안내 추가
  • Feishu 설정됨: 네 가지 항목 보고——오늘 항목 수, 분류 분포, 총평 한 문장, 실패한 소스

엔드투엔드 실패 시: 구체적인 오류만 보고하고, 재시도는 한 번을 초과하지 않음.

사용자 설정 (scripts/config.json)

config.example.json을 복사하여 config.json으로 만들고 작성——각 항목의 획득 방법은 템플릿 주석에 설명되어 있으며, lark-cli 설치 및 Feishu 앱 설정 단계는 저장소 docs/setup.md를 참조하세요. 모든 필드는 환경 변수로 덮어쓰기 가능합니다. 이 스킬 디렉토리에는 비밀 키가 포함되어 있지 않으며, Feishu 자격 증명은 lark-cli 전역 설정으로 관리됩니다.

선행 의존성

  1. Python 3.10+: pip install feedparser requests
  2. Feishu 적용(3단계)은 lark-cli(공식 CLI, npx @larksuite/cli@latest install)가 config init 및 auth login을 완료해야 함; lark-cli를 찾을 수 없으면 환경 변수 LARK_CLI로 전체 경로 지정

정보 소스 목록 (sources.json, 추가/삭제 가능)

소스방식네트워크
OpenAI 공식 뉴스RSS프록시
Google DeepMind / Google AI 블로그RSS프록시
Anthropic 뉴스sitemap (공식 RSS 없음)프록시
Hugging Face 블로그RSS프록시
TechCrunch / The Verge AIRSS프록시
MIT Tech Review AIRSS프록시
Hacker News AI 인기 게시물Algolia API (시간 창+투표 수+키워드 경계 필터)직접 연결
InfoQ 중문RSS (AI 관련 항목은 2단계에서 선별)직접 연결
arXiv cs.AI / cs.CLarXiv API프록시

장애 처리: RSS 주소 변경 시 먼저 curl로 확인한 후 sources.json 업데이트; 机器之心/量子位의 무료 API, xAI 및 Stability의 sitemap(네비게이션 페이지 노이즈/안티 크롤링)은 모두 사용 불가능하므로 재시도에 시간 낭비하지 마십시오.

정기 실행

스킬은 상태 비저장이며, 모든 스케줄러가 호출 가능합니다. 권장 시간은 매일 08:00(Asia/Shanghai)입니다. 각 호스트의 설정 방법은 docs/scheduling.md를 참조하고, 프롬프트 템플릿은 examples/cron-prompt.txt를 참조하세요.

관련 스킬