Communitygithub.com

KoroLiu/auto-news-shorts

auto-news-shorts를 설치, 설정, 실행 및 문제 해결합니다 (매일 AI 뉴스 → 중국어 세로형 숏폼 영상, 무료 TTS 및 Remotion 사용). 사용자가 자신의 머신에서 이 저장소를 설정하고, 에피소드를 만들고, 소스/호스트/음성을 커스터마이징하거나, 실패한 실행을 수정하려 할 때 사용하세요.

auto-news-shorts란 무엇인가요?

이 스킬은 개발자와 AI 에이전트 사용자가 **auto-news-shorts** 저장소를 설정하고 실행하는 과정을 안내합니다. 이 저장소는 AI 뉴스와 GitHub 프로젝트를 가져와 중국어 세로형 숏폼 영상으로 자동 변환해 주며, Remotion으로 렌더링하고 무료 TTS(Text-to-Speech)를 사용합니다. 스킬은 전체 워크플로를 지원합니다: 머신 사전 확인(Node.js ≥22.9, FFmpeg, Chrome/Edge, Python 3.10+), LLM API 키(기본 DeepSeek)와 채널 정보 설정, 에피소드 자동 생성(`npm run daily -- --auto` 또는 `npm run weekly -- --auto`), 리뷰 워크벤치(`npm run workbench`), 그리고 `runs/` 디렉토리 내 최종 영상 파일 확인까지. 또한 실패 시 로그와 상태 파일을 읽고, 특정 단계(collect → export)에서 재개하는 문제 해결 가이드를 제공합니다. 커스터마이징 옵션으로는 X/Reddit 소스, Qwen3-TTS 또는 GPT-SoVITS 음성 복제, 맞춤형 호스트 캐릭터, 주제 규칙 및 영상 레이아웃 변경이 포함됩니다. 보안 및 모범 사례를 강조합니다: API 키 값 출력 금지, 자동 영상 업로드 금지, 개인 자료를 Git에 추가하지 않음, 사용자 기존 도구 선호, 변경 후 `npm test` 및 `npm run check` 실행. 이 스킬은 Claude Code, Cursor, Codex 등 모든 AI 에이전트 플랫폼에서 작동하며, 명확한 단계별 지침을 사용자 언어로 제공하여 초보자도 따라할 수 있습니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/KoroLiu/auto-news-shorts/tree/HEAD/skills/auto-news-shorts

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

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

문서

auto-news-shorts은(는) 무엇을 하나요?

당신은 종종 초보자인 사용자가 이 저장소를 자신의 컴퓨터에서 실행할 수 있도록 돕고 있습니다. 저장소 루트에서 작업하세요. 각 단계를 사용자의 언어로 평이하게 설명하세요.

기본 규칙

  • 비밀 키를 절대 출력하거나 노출하지 마세요. API 키는 .env 또는 config.local.json에 저장하며, 둘 다 git에서 무시됩니다. 키가 존재하는지 확인할 때는 "설정됨 / 설정되지 않음"만 보고하고, 절대 값을 보여주지 마세요.
  • 사용자를 대신해 영상을 업로드하거나 게시하지 마세요. 이 프로젝트는 의도적으로 업로드 코드를 포함하지 않습니다. 요청이 오면 docs/publishing-guide.md를 안내하고 계정 위험을 설명하세요. 사용자가 해당 문서를 읽고 명시적으로 요청하지 않는 한 업로드 자동화를 작성하지 마세요.
  • 사용자의 개인 자료(음성 샘플, 캐릭터 아트, 쿠키, runs/)를 git에 추가하지 마세요. git에서 무시되는 폴더에 보관하세요.
  • 사용자의 기존 도구(Python 환경 관리자, 브라우저)를 선호하세요. CUDA PyTorch나 TTS 모델 등 큰 항목을 설치하기 전에 물어보세요.
  • 실행 결과를 확인하지 않고 주장하지 마세요: 명령어를 실행하고 출력을 읽으세요.

1. 머신 확인

node -v (≥ 22.9 필요), ffmpeg -version, ffprobe -version을 실행하고, Chrome/Edge 및 Python 3을 찾으세요. 그런 다음:

npm ci
npm run setup

npm run setup은 항목별로 ✅/❌를 출력합니다. 각 ❌에 대해 docs/setup.md를 따르세요. 일반적인 해결책:

  • ffmpeg 누락: 설치하거나 빌드를 tools/ffmpeg/에 압축 해제하세요.
  • Python 누락: Python 3.10+를 설치하거나, config.local.json의 tts.python을 기존 환경으로 설정하세요.

2. 설정

  1. .env.example을 .env로 복사하고 사용자에게 LLM_API_KEY에 LLM 키를 붙여넣도록 요청하세요. 키를 직접 입력하지 마세요. 기본 제공자는 DeepSeek입니다. 다른 OpenAI 호환 API는 LLM_BASE_URL / LLM_MODEL을 통해 작동하며, LLM_VISION_MODEL을 해당 제공자의 비전 모델로 설정하거나 비워 두세요.
  2. config.local.example.json을 config.local.json으로 복사하는 것은 머신별 값(경로, 비전 모델, 로컬 TTS)이 필요한 경우에만 하세요.
  3. config.json에서 channel.name과 channel.titleSign을 사용자의 채널로 설정하세요.
  4. 선택 사항:
    • OpenCLI를 통한 X/Reddit 소스 (docs/setup.md#x-and-reddit-sources-opencli)
    • Qwen3-TTS 또는 GPT-SoVITS 음성 복제 (NVIDIA GPU 필요, 사용자가 사용할 권리가 있는 음성 필요)
    • 맞춤형 호스트 캐릭터 (docs/custom-host.md, 권리 고지 포함)

3. 에피소드 만들기

  • 자동 실행: npm run daily -- --auto (뉴스) 또는 npm run weekly -- --auto (GitHub 프로젝트).
  • 리뷰 포함: npm run workbench는 http://127.0.0.1:3220을 엽니다. 사용자가 거기서 주제, 스크립트, 음성, 미리보기 프레임을 검토합니다.
  • 결과물은 runs/<날짜>-<컬럼>/package/에 저장됩니다: 비디오, 두 개의 커버 이미지, metadata.txt. 사용자에게 위치와 각 파일의 용도를 알려주세요.

실행은 의도적으로 중단될 수 있습니다:

  • 리뷰 단계에서 (status.json의 stage가 review-*)
  • 스토리가 정치적으로 보일 때 (select.politicsFilter)

사용자에게 무엇이 기다리고 있는지 알려주세요. 중단을 우회하지 마세요.

4. 문제 발생 시

  1. runs/<run>/run.log와 runs/<run>/status.json의 끝 부분을 읽으세요.
  2. 증상을 docs/troubleshooting.md에서 찾아보세요.
  3. 처음부터 다시 시작하지 말고 실패한 단계부터 재개하세요: node src/main.mjs run --column news --from <stage>, 여기서 stage는 collect, select, enrich, write, voice, render, export 중 하나입니다.
  4. 코드를 변경한 경우, npm test와 npm run check를 실행하세요.

5. 커스터마이징

  • 주제 규칙, 스토리 수, 화면 텍스트: config.json → columns.<id> (docs/configuration.md 참조).
  • 소스: sources.json (docs/sources.md 참조).
  • 영상 레이아웃: remotion/Portrait/*.tsx. 실행 후 public/ep/<run>/이 생성된 상태에서 npm run studio로 미리보기.
  • 사용자가 자신의 포크를 게시하기 전에 npm run audit을 실행하고 개인 문구를 .audit-private.txt에 넣도록 도와주세요.

관련 스킬