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. 설정
.env.example을.env로 복사하고 사용자에게LLM_API_KEY에 LLM 키를 붙여넣도록 요청하세요. 키를 직접 입력하지 마세요. 기본 제공자는 DeepSeek입니다. 다른 OpenAI 호환 API는LLM_BASE_URL/LLM_MODEL을 통해 작동하며,LLM_VISION_MODEL을 해당 제공자의 비전 모델로 설정하거나 비워 두세요.config.local.example.json을config.local.json으로 복사하는 것은 머신별 값(경로, 비전 모델, 로컬 TTS)이 필요한 경우에만 하세요.config.json에서channel.name과channel.titleSign을 사용자의 채널로 설정하세요.- 선택 사항:
- OpenCLI를 통한 X/Reddit 소스 (
docs/setup.md#x-and-reddit-sources-opencli) - Qwen3-TTS 또는 GPT-SoVITS 음성 복제 (NVIDIA GPU 필요, 사용자가 사용할 권리가 있는 음성 필요)
- 맞춤형 호스트 캐릭터 (
docs/custom-host.md, 권리 고지 포함)
- OpenCLI를 통한 X/Reddit 소스 (
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. 문제 발생 시
runs/<run>/run.log와runs/<run>/status.json의 끝 부분을 읽으세요.- 증상을
docs/troubleshooting.md에서 찾아보세요. - 처음부터 다시 시작하지 말고 실패한 단계부터 재개하세요:
node src/main.mjs run --column news --from <stage>, 여기서 stage는collect,select,enrich,write,voice,render,export중 하나입니다. - 코드를 변경한 경우,
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에 넣도록 도와주세요.