morning-ai: MorningAI 보고서 생성기
권한 개요: Reddit, Hacker News, GitHub, HuggingFace, arXiv, X/Twitter에서 공개 데이터를 수집합니다. 선택적 API 키는
.env또는~/.config/morning-ai/.env에 설정해야 합니다. 현재 작업 디렉토리에 보고서 파일을 작성합니다. 자세한 내용은 설정을 참조하세요.
80개 이상의 AI 엔티티를 6개 소스에서 추적합니다. 지난 24시간 동안의 업데이트를 수집하고, 점수를 매기고 중복을 제거한 후 구조화된 마크다운 일일 보고서를 생성합니다. 4가지 유형을 다룹니다: Product(기능 출시, 버전 릴리스), Model(새 모델, 오픈소스 가중치), Benchmark(리더보드 변경, 논문), Funding(투자 라운드, 인수, 이정표).
--intro — 제품 소개
사용자가 --intro를 전달하면 다음 소개를 표시하고 중단하세요(데이터 수집을 진행하지 마십시오):
MorningAI — 6개 소스에서 80개 이상의 엔티티를 모니터링하는 일일 AI 뉴스 추적기.
기능:
- Reddit, Hacker News, GitHub, HuggingFace, arXiv, X/Twitter에서 업데이트 수집
- 1-10 척도로 점수를 매기고 교차 소스 검증으로 중복 제거
- 4가지 콘텐츠 유형(Product, Model, Benchmark, Funding)으로 구조화된 마크다운 보고서 생성
- 선택 사항: 인포그래픽 이미지(5가지 시각 스타일), 메시지 다이제스트(WeChat/Telegram/Slack), 소셜 미디어 카피(X/샤오홍슈)
소스(모두 무료, 기본 사용에 API 키 불필요):
| 소스 | 방법 | API 키 |
|---|---|---|
| 공개 JSON | 불필요 | |
| Hacker News | Algolia API | 불필요 |
| GitHub | REST API | 선택 사항(GITHUB_TOKEN으로 높은 속도 제한) |
| HuggingFace | 공개 API | 불필요 |
| arXiv | 공개 API | 불필요 |
| X/Twitter | 웹 검색 | 불필요 |
빠른 시작:
/morning-ai # 기본값으로 실행(영어, 모든 유형)
/morning-ai --lang zh # 중국어 보고서
/morning-ai --depth deep # 포괄적 수집
/morning-ai --exclude Funding # 펀딩 뉴스 건너뛰기
선택적 기능(API 키 필요):
- 인포그래픽 이미지:
IMAGE_GEN_PROVIDER+ 제공자 API 키 설정 - 소셜 미디어 카피:
SOCIAL_ENABLED=true설정 - 메시지 다이제스트:
MESSAGE_ENABLED=true설정
설정 파일: ~/.config/morning-ai/.env — 설정 없이 /morning-ai를 실행하면 가이드 설정이 시작됩니다.
소개를 표시한 후 중단하세요. 0단계 또는 데이터 수집을 진행하지 마십시오.
0단계: 설정 게이트(필수 — 다른 단계 전에 완료해야 함)
다른 모든 작업보다 먼저 이 명령을 실행하세요:
if [ -f "$HOME/.config/morning-ai/.env" ] || [ -f ".claude/morning-ai.env" ] || [ -f ".env" ]; then echo "CONFIG_STATUS=READY"; else echo "CONFIG_STATUS=MISSING"; fi
출력에 따른 분기:
- 출력이
CONFIG_STATUS=READY인 경우 — 설정 파일을 읽고, 활성화된 소스를 보고한 후 1단계로 진행합니다. - 출력이
CONFIG_STATUS=MISSING인 경우 — 중단. 1단계로 진행하기 전에 아래의 첫 실행 온보딩을 반드시 완료해야 합니다.
첫 실행 온보딩(MISSING인 경우)
중요: 여기서 중단하세요. 아래의 모든 온보딩 단계를 사용자와 대화형으로 완료해야 합니다. 설정 파일이 존재하고 게이트 검사가
READY를 반환할 때까지 1단계(데이터 수집)를 실행하지 마십시오. 설정 없이 데이터 수집을 실행하면 불완전한 결과가 생성됩니다.
각 단계에서 사용자 응답을 기다리며 대화형으로 설정을 안내하세요:
- 환영 — morning-ai가 무엇을 하는지 간략히 설명: 6개 소스(Reddit, Hacker News, GitHub, HuggingFace, arXiv, X/Twitter)에서 80개 이상의 AI 엔티티를 추적하고 점수가 매겨진 일일 보고서를 생성합니다.
- 무료로 사용할 수 있는 기능 표시 — 6개 소스(5개는 API 키 불필요, 1개는 선택 사항):
- Reddit(공개 JSON), Hacker News(Algolia API), HuggingFace(공개 API), arXiv(공개 API), X/Twitter(웹 검색)
- GitHub(공개 API, 선택 사항
GITHUB_TOKEN으로 높은 속도 제한)
- 사용자에게 묻기 GitHub를 높은 속도 제한으로 활성화할지 여부:
| 키 | 소스 | 획득처 |
|---|---|---|
GITHUB_TOKEN | GitHub 릴리스 및 저장소(높은 속도 제한) | https://github.com/settings/tokens |
- 인포그래픽에 대해 묻기(선택 사항):
| 키 | 설명 |
|---|---|
IMAGE_GEN_PROVIDER | 제공자: gemini | minimax | none(기본값: none) |
IMAGE_STYLE | 스타일: classic | dark | glassmorphism | newspaper | tech |
GEMINI_API_KEY | Google Gemini/Imagen (https://aistudio.google.com/apikey) |
MINIMAX_API_KEY | MiniMax 글로벌(https://www.minimax.io) |
MINIMAX_API_KEY | MiniMax 중국(https://platform.minimaxi.com) |
-
소셜 콘텐츠 배포에 대해 묻기(선택 사항):
- 소셜 콘텐츠 생성을 활성화하시겠습니까?
SOCIAL_ENABLED=true설정 - 어떤 플랫폼? X(Twitter), 샤오홍슈, 또는 둘 다
- 고급 다중 계정/다중 스타일 설정은
~/.config/morning-ai/social_channels.json을 생성하세요(skills/gen-social/SKILL.md스키마 참조). 빠른 단일 채널 설정은SOCIAL_PLATFORM,SOCIAL_STYLE,SOCIAL_LANG환경 변수만 설정하면 됩니다.
- 소셜 콘텐츠 생성을 활성화하시겠습니까?
-
메시지 다이제스트에 대해 묻기(선택 사항):
- 메시징 플랫폼(WeChat, Telegram, Slack)에서 공유할 간결한 메시지 다이제스트를 활성화하시겠습니까?
- 예인 경우:
MESSAGE_ENABLED=true설정 - 선택적 설정:
MESSAGE_MIN_SCORE(기본값 5),MESSAGE_MAX_ITEMS(기본값 10),MESSAGE_LINKS(bottom또는inline),MESSAGE_CATEGORY_BALANCE(기본값 true, 콘텐츠 유형별로 슬롯 분배)
-
설정 파일 생성 — 사용자가 제공한 키를 수집하여
~/.config/morning-ai/.env에KEY=value형식(한 줄에 하나씩)으로 작성합니다. 필요한 경우 디렉토리를 생성하세요:mkdir -p ~/.config/morning-ai -
확인 — 현재 활성화된 소스 수를 표시합니다(N/9)
-
검증 — 게이트 검사를 다시 실행하여
CONFIG_STATUS=READY를 확인합니다:if [ -f "$HOME/.config/morning-ai/.env" ] || [ -f ".claude/morning-ai.env" ] || [ -f ".env" ]; then echo "CONFIG_STATUS=READY"; else echo "CONFIG_STATUS=MISSING"; fi출력이
READY인 경우에만 1단계로 진행합니다. -
사용자가 API 키 설정을 건너뛰고 무료 소스만 사용하려면 먼저 최소 설정 파일을 만든 후 1단계로 진행하세요:
mkdir -p ~/.config/morning-ai && echo "# morning-ai config — free sources only" > ~/.config/morning-ai/.env
언어
| 매개변수 | 기본값 | 예 |
|---|---|---|
--lang | en(영어) | --lang zh(중국어), --lang ja(일본어) |
규칙:
- 기본값은 영어입니다.
--lang이 명시적으로 지정되지 않으면 보고서는 완전히 영어로 작성되어야 합니다. 보고서 텍스트(제목, 요약, 섹션 헤더, 테이블 레이블, 글머리 기호, "왜 중요한가" 분석 및 기타 모든 사람이 읽을 수 있는 콘텐츠)는 모두 영어여야 합니다. --lang이 지정되면 모든 사람이 읽을 수 있는 콘텐츠에 해당 언어를 사용하세요.- 엔티티 이름은 고유 명사(OpenAI, DeepSeek, Midjourney 등)입니다. 언어에 관계없이 그대로 유지하세요.
- 소스 데이터가 대상 언어와 다른 언어인 경우(예: 중국어 소스 → 영어 보고서), 보고서 생성 중에 번역하세요. 번역되지 않은 조각을 남기지 마십시오.
--lang설정은 인포그래픽 프롬프트 콘텐츠에도 적용됩니다(4단계 참조).
전제 조건: 0단계에서
CONFIG_STATUS=READY를 반환해야 합니다. 0단계를 완료하지 않은 경우 돌아가서 지금 실행하세요.
1단계: 데이터 수집
자동화된 소스에서 데이터를 수집하기 위해 Python 수집기를 실행하세요:
cd {SKILL_DIR} && python3 skills/tracking-list/scripts/collect.py --date {YYYY-MM-DD} --depth default -o {CWD}/data_{YYYY-MM-DD}.json
매개변수:
--date: 대상 날짜, 기본값 오늘(YYYY-MM-DD)--depth: 수집 깊이 —quick(빠름, 적은 결과),default,deep(포괄적)--sources: 특정 소스만, 예:--sources reddit hackernews github-o: 출력 JSON 파일 경로
기능:
- 5개의 수집기를 동시에 실행(Reddit, HN, GitHub, HuggingFace, arXiv)
- 시간 창:
[어제 08:00, 오늘 08:00) UTC+8 - 파이프라인: 수집 → 점수(1-10) → 중복 제거 → 교차 소스 연결 → 검증 보너스
- 모든 항목, 통계 및 수집 메타데이터가 포함된 구조화된 JSON 반환
시간 제한: 기본 깊이에서 최대 3분, 깊은 깊이에서 5분 허용.
사용자가 --exclude 유형(예: --exclude Funding)을 제공하면 3단계에서 필터링할 유형을 기록하세요.
X/Twitter 검색
자동화된 수집이 완료된 후 웹 검색을 사용하여 추적된 엔티티의 최근 X/Twitter 업데이트를 검색하세요. 추적된 X 핸들은 {SKILL_DIR}/lib/entities.py의 X_HANDLES 아래에 나열됩니다.
검색 전략: 다중 계정 확인
X/Twitter를 세 가지 계층에서 우선 순위 순서로 검색하세요:
계층 1 — 공식 계정(최우선):
공식 회사/제품 계정에서 최근 게시물을 검색하세요. 핸들은 {SKILL_DIR}/entities/ 아래의 엔티티 파일에 나열됩니다.
- 초점: 모델 릴리스, 제품 출시, API 업데이트, 가격 변경
계층 2 — CEO/핵심 인력 계정: 주요 인물의 계정에서 공식 계정이 다루지 않을 수 있는 발표, 미리보기 및 컨텍스트를 확인하세요. 각 엔티티 파일에 "Key People"으로 나열됩니다.
- 초점: 초기 미리보기, 전략적 컨텍스트, 기술적 세부 사항, 경쟁 논평
계층 3 — KOL 및 벤치마크 기관:
AI 의견 리더 및 평가 계정을 확인하여 독립적인 분석, 벤치마크 결과 및 트렌드 발견을 확인하세요. {SKILL_DIR}/entities/kol.md 및 {SKILL_DIR}/entities/benchmarks-academic.md를 참조하세요.
- 초점: 논문 하이라이트, 벤치마크 순위, 커뮤니티 트렌드, 독립적 테스트
검색 실행
각 검색 깊이에 대해:
| 깊이 | 계층 1(공식) | 계층 2(인력) | 계층 3(KOL) |
|---|---|---|---|
quick | 우선 순위 기준 상위 5개 엔티티 | 건너뛰기 | 건너뛰기 |
default | 모든 주요 엔티티(~20개) | 상위 CEO 계정(~10개) | 상위 KOL(~5개) |
deep | X 핸들이 있는 모든 엔티티 | 모든 인력 계정 | 모든 KOL + 벤치마크 계정 |
다음과 같은 웹 검색 쿼리를 사용하세요:
site:x.com @{handle} since:{yesterday}— 특정 계정 게시물용site:x.com "{entity name}" AI announcement— 광범위한 검색용site:x.com AI model release OR benchmark OR open-source {date}— 트렌드 AI 뉴스용
RT/인용 트윗 처리
발견된 게시물이 리트윗(RT) 또는 인용 트윗인 경우:
- 원본 게시물을 추적 — 이벤트 타임스탬프는 RT/인용 시간이 아닌 원본 게시물 시간입니다.
- 원본 게시물 시간이 24시간 수집 창
[어제 08:00, 오늘 08:00) UTC+8내에 있는지 확인합니다. source_url로 RT/인용 URL이 아닌 원본 게시물 URL을 사용합니다.source_label에 원본 작성자를 표시합니다(예:"@AnthropicAI on X (via @karpathy RT)").
적시성 검증
- 모든 X 게시물 시간은 창 검증을 위해 UTC+8로 변환해야 합니다.
- 수집 창은
[어제 08:00, 오늘 08:00) UTC+8입니다. - 이 창을 벗어난 게시물은 거부됩니다. 관련성에 관계없이 포함하지 마십시오.
- RT/인용 트윗의 경우 리트윗 시간이 아닌 원본 게시물 시간을 검증합니다.
X 소스 항목의 소스 우선 순위
| 우선 순위 | 소스 유형 | 신뢰도 |
|---|---|---|
| 1 | 공식 블로그/변경 로그 | 가장 높음 |
| 2 | 공식 X/Twitter 계정 | 높음 |
| 3 | API 변경 로그/문서 | 높음 |
| 4 | 공식 GitHub 릴리스 | 높음 |
| 5 | CEO/핵심 인력 X 계정 | 중간-높음 |
| 6 | 벤치마크 기관 X 계정 | 중간 |
| 7 | KOL X 계정 | 참조 전용 — 교차 검증 필요 |
KOL 계정(우선 순위 7)에서만 제공된 항목은 보수적으로 점수를 매기고 공식 소스와의 교차 검증을 위해 플래그를 지정해야 합니다.
X 발견 사항 통합
각 확인된 X/Twitter 업데이트에 대해:
source: "x",source_url은 원본 트윗을 가리키고source_label은"@{handle} on X"인 TrackerItem을 만듭니다.- 동일한 이벤트가 자동화된 수집기(Reddit, HN, GitHub 등)에서 이미 발견된 경우 중복을 만들지 말고
cross_ref로 병합합니다. 이는 검증 점수를 강화합니다. - 자동화된 데이터에 없는 진정한 새로운 발견인 경우 적절한 점수와 함께 새 항목으로 추가합니다.
2단계: 사양 읽기
데이터 수집이 완료된 후 추적 사양을 읽어 점수 기준, 레코드 형식 및 적시성 규칙을 이해합니다:
Read {SKILL_DIR}/skills/tracking-list/SKILL.md 읽기
이 사양은 다음을 정의합니다:
- 포함/제외 기준이 있는 4가지 추적 유형(Product / Model / Benchmark / Funding)
- 소스 우선 순위 순위
- 점수 기준(5개 차원의 1-10 척도)
- 적시성 검증 규칙(이벤트 날짜 ≠ 페이지 날짜)
- 교차 검증 요구 사항(7+ 점수에는 2개 이상의 독립 소스 필요)
- 보고서의 레코드 형식
보고서를 작성하기 전에 사양을 숙지하세요. 점수 참조 테이블과 유형 분류 가이드에 특별히 주의하십시오.
3단계: 보고서 생성
- 1단계의 JSON 출력을 읽습니다.
- 보고서 템플릿을 읽습니다:
Read {SKILL_DIR}/templates/report.md 읽기 - 작업 디렉토리에
report_{YYYY-MM-DD}.md를 생성합니다.
보고서 생성 규칙:
- 언어: 기본값은 영어입니다.
--lang이 명시적으로 지정되지 않으면 모든 콘텐츠를 영어로 작성하세요. 소스 데이터가 다른 언어인 경우 번역하세요. 엔티티 이름(고유 명사)은 그대로 유지합니다. - 소스 링크: 모든 항목에는 원본 콘텐츠를 가리키는 클릭 가능한 소스 링크
[Source Name](URL)가 포함되어야 합니다. 이는 TLDR, 상세 항목 및 간결한 테이블 행을 포함한 모든 섹션에 적용됩니다. - 세부 정보 품질: 요약 글머리 기호에는 버전 번호, 백분율 개선, 매개변수 수, 가격, 가용성 날짜, 벤치마크 점수와 같은 구체적인 세부 정보가 포함되어야 합니다. 구체적인 숫자 없이 모호한 설명을 피하세요.
- 사실적 검증: