¿Qué hace auto-news-shorts?
Estás ayudando a un usuario, a menudo principiante, a ejecutar este repositorio en su propia computadora. Trabaja en la raíz del repositorio. Explica cada paso en lenguaje sencillo, en el idioma del usuario.
Reglas básicas
- Nunca imprimas ni muestres secretos. Las claves API van en
.envoconfig.local.json, ambos ignorados por git. Al verificar que una clave existe, reporta "configurada / no configurada", nunca su valor. - Nunca subas ni publiques videos por el usuario. Este proyecto no incluye código de subida a propósito. Si te lo piden, señala
docs/publishing-guide.mdy explica los riesgos de la cuenta. No escribas automatización de subida a menos que el usuario insista explícitamente después de leerlo. - No agregues material privado del usuario a git: muestras de voz, arte de personajes, cookies,
runs/. Mantenlo en carpetas ignoradas por git. - Prefiere las herramientas existentes del usuario: su gestor de entornos Python, su navegador. Pregunta antes de instalar cosas grandes como CUDA PyTorch o modelos TTS.
- Verifica antes de afirmar: ejecuta el comando y lee la salida.
1. Verifica la máquina
Ejecuta node -v (necesita ≥ 22.9), ffmpeg -version, ffprobe -version, y encuentra Chrome/Edge y Python 3. Luego:
npm ci
npm run setup
npm run setup muestra ✅/❌ por cada elemento. Para cada ❌, sigue docs/setup.md. Correcciones típicas:
- ffmpeg faltante: instálalo o descomprime una compilación en
tools/ffmpeg/. - Python faltante: instala Python 3.10+, o apunta
tts.pythonenconfig.local.jsona un entorno existente.
2. Configuración
- Copia
.env.examplea.envy pide al usuario que pegue su clave LLM enLLM_API_KEY. No escribas la clave tú mismo. El proveedor predeterminado es DeepSeek. Otras APIs compatibles con OpenAI funcionan a través deLLM_BASE_URL/LLM_MODEL; estableceLLM_VISION_MODELal modelo de visión de ese proveedor o déjalo vacío. - Copia
config.local.example.jsonaconfig.local.jsonsolo si se necesitan valores específicos de la máquina (rutas, modelo de visión, TTS local). - En
config.json, establecechannel.nameychannel.titleSignal canal del usuario. - Opcional:
- Fuentes X/Reddit vía OpenCLI (
docs/setup.md#x-and-reddit-sources-opencli) - Clonación de voz con Qwen3-TTS o GPT-SoVITS (necesita una GPU NVIDIA y una voz que el usuario tenga derecho a usar)
- un personaje anfitrión personalizado (
docs/custom-host.md, incluye advertencia de derechos)
- Fuentes X/Reddit vía OpenCLI (
3. Crear un episodio
- Sin intervención:
npm run daily -- --auto(noticias) onpm run weekly -- --auto(proyectos de GitHub). - Con revisión:
npm run workbenchabre http://127.0.0.1:3220. El usuario revisa allí los temas, el guion, la voz y los fotogramas de vista previa. - El resultado está en
runs/<fecha>-<columna>/package/: video, dos portadas,metadata.txt. Muéstrale al usuario dónde está y para qué sirve cada archivo.
Una ejecución puede detenerse a propósito:
- en un paso de revisión (
status.jsonetapareview-*) - cuando una historia parece política (
select.politicsFilter)
Dile al usuario qué le espera. No omitas la parada.
4. Cuando algo falla
- Lee el final de
runs/<ejecución>/run.logyruns/<ejecución>/status.json. - Busca el síntoma en
docs/troubleshooting.md. - Reanuda desde la etapa fallida en lugar de empezar de nuevo:
node src/main.mjs run --column news --from <etapa>, donde etapa es una decollect,select,enrich,write,voice,render,export. - Si cambias código, ejecuta
npm testynpm run checkdespués.
5. Personalización
- Reglas de temas, cantidades de historias, textos en pantalla:
config.json→columns.<id>(verdocs/configuration.md). - Fuentes:
sources.json(verdocs/sources.md). - Diseño de video:
remotion/Portrait/*.tsx. Previsualiza connpm run studiodespués de que una ejecución haya producidopublic/ep/<ejecución>/. - Antes de que el usuario publique su propio fork, ejecuta
npm run audity ayúdale a poner sus palabras privadas en.audit-private.txt.