Communitygithub.com

KoroLiu/auto-news-shorts

Instala, configura, ejecuta y soluciona problemas de auto-news-shorts (noticias diarias de IA → video vertical corto en chino con TTS gratuito y Remotion). Úsalo cuando el usuario quiera configurar este repositorio en su máquina, crear un episodio, personalizar fuentes/anfitrión/voz, o solucionar una ejecución fallida.

¿Qué es auto-news-shorts?

Este skill te permite instalar, configurar, ejecutar y solucionar problemas del repositorio auto-news-shorts, el cual genera videos verticales cortos en chino con noticias diarias de IA. Utiliza una combinación de herramientas gratuitas: TTS local (Qwen3-TTS o GPT-SoVITS) para la locución, Remotion para la composición de video en React, y modelos de lenguaje como DeepSeek para la generación de guiones. Está pensado tanto para principiantes como para desarrolladores que quieran personalizar el contenido, las fuentes (X, Reddit, RSS), el personaje anfitrión, la voz o el diseño visual. El flujo incluye pasos de revisión opcionales (temas, guion, voz, previsualización) y almacena el resultado en la carpeta `runs/` con el video, dos portadas y metadatos. El skill también cubre la solución de fallos paso a paso, la reanudación de ejecuciones desde una etapa fallida, y las buenas prácticas de seguridad (nunca mostrar claves API, no subir videos automáticamente, no añadir material privado al repositorio).

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/KoroLiu/auto-news-shorts/tree/HEAD/skills/auto-news-shorts

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿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 .env o config.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.md y 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.python en config.local.json a un entorno existente.

2. Configuración

  1. Copia .env.example a .env y pide al usuario que pegue su clave LLM en LLM_API_KEY. No escribas la clave tú mismo. El proveedor predeterminado es DeepSeek. Otras APIs compatibles con OpenAI funcionan a través de LLM_BASE_URL / LLM_MODEL; establece LLM_VISION_MODEL al modelo de visión de ese proveedor o déjalo vacío.
  2. Copia config.local.example.json a config.local.json solo si se necesitan valores específicos de la máquina (rutas, modelo de visión, TTS local).
  3. En config.json, establece channel.name y channel.titleSign al canal del usuario.
  4. 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)

3. Crear un episodio

  • Sin intervención: npm run daily -- --auto (noticias) o npm run weekly -- --auto (proyectos de GitHub).
  • Con revisión: npm run workbench abre 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.json etapa review-*)
  • cuando una historia parece política (select.politicsFilter)

Dile al usuario qué le espera. No omitas la parada.

4. Cuando algo falla

  1. Lee el final de runs/<ejecución>/run.log y runs/<ejecución>/status.json.
  2. Busca el síntoma en docs/troubleshooting.md.
  3. Reanuda desde la etapa fallida en lugar de empezar de nuevo: node src/main.mjs run --column news --from <etapa>, donde etapa es una de collect, select, enrich, write, voice, render, export.
  4. Si cambias código, ejecuta npm test y npm run check después.

5. Personalización

  • Reglas de temas, cantidades de historias, textos en pantalla: config.json → columns.<id> (ver docs/configuration.md).
  • Fuentes: sources.json (ver docs/sources.md).
  • Diseño de video: remotion/Portrait/*.tsx. Previsualiza con npm run studio después de que una ejecución haya producido public/ep/<ejecución>/.
  • Antes de que el usuario publique su propio fork, ejecuta npm run audit y ayúdale a poner sus palabras privadas en .audit-private.txt.

Skills relacionados