Communitygithub.com

KoroLiu/auto-news-shorts

Instalar, configurar, executar e solucionar problemas do auto-news-shorts (notícias diárias de IA → vídeos curtos verticais em chinês com TTS gratuito e Remotion).

O que é auto-news-shorts?

Esta skill automatiza a criação de vídeos verticais curtos no estilo 'shorts' a partir de notícias de IA, utilizando TTS gratuito e o framework Remotion para renderização. Ela guia o usuário por cada etapa, desde a verificação do ambiente (Node.js, ffmpeg, Chrome, Python) e configuração de chaves de API até a personalização de fontes, voz e personagem do apresentador. O fluxo principal inclui coleta de notícias, seleção de tópicos, enriquecimento, escrita de roteiro, geração de voz, renderização e exportação do vídeo final. A skill também oferece suporte a falhas com retomada incremental e descreve como personalizar o layout do vídeo, regras de tópicos e fontes de dados, sempre mantendo a segurança das chaves de API e materiais privados do usuário.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que auto-news-shorts faz?

Você está ajudando um usuário, geralmente iniciante, a executar este repositório em seu próprio computador. Trabalhe na raiz do repositório. Explique cada etapa em palavras simples, no idioma do usuário.

Regras básicas

  • Nunca imprima ou exiba segredos. As chaves de API vão em .env ou config.local.json, ambos ignorados pelo git. Ao verificar se uma chave existe, informe "definida / não definida", nunca seu valor.
  • Nunca faça upload ou publique vídeos para o usuário. Este projeto não inclui código de upload, intencionalmente. Se perguntado, aponte para docs/publishing-guide.md e explique os riscos da conta. Não escreva automação de upload a menos que o usuário insista explicitamente após ler isto.
  • Não adicione materiais privados do usuário ao git: amostras de voz, arte do personagem, cookies, runs/. Mantenha-os em pastas ignoradas pelo git.
  • Prefira as ferramentas existentes do usuário: seu gerenciador de ambiente Python, seu navegador. Pergunte antes de instalar coisas grandes como CUDA PyTorch ou modelos TTS.
  • Verifique antes de afirmar: execute o comando e leia a saída.

1. Verificar a máquina

Execute node -v (precisa de ≥ 22.9), ffmpeg -version, ffprobe -version, e encontre Chrome/Edge e Python 3. Então:

npm ci
npm run setup

npm run setup mostra ✅/❌ por item. Para cada ❌, siga docs/setup.md. Correções típicas:

  • ffmpeg ausente: instale-o ou descompacte uma compilação em tools/ffmpeg/.
  • Python ausente: instale Python 3.10+, ou aponte tts.python em config.local.json para um ambiente existente.

2. Configurar

  1. Copie .env.example para .env e peça ao usuário para colar sua chave LLM em LLM_API_KEY. Não digite a chave você mesmo. O provedor padrão é DeepSeek. Outras APIs compatíveis com OpenAI funcionam através de LLM_BASE_URL / LLM_MODEL; defina LLM_VISION_MODEL como o modelo de visão desse provedor ou deixe vazio.
  2. Copie config.local.example.json para config.local.json apenas se valores específicos da máquina forem necessários (caminhos, modelo de visão, TTS local).
  3. Em config.json, defina channel.name e channel.titleSign para o canal do usuário.
  4. Opcional:
    • Fontes X/Reddit via OpenCLI (docs/setup.md#x-and-reddit-sources-opencli)
    • Qwen3-TTS ou GPT-SoVITS clonagem de voz (precisa de uma GPU NVIDIA e uma voz que o usuário tenha o direito de usar)
    • um personagem apresentador personalizado (docs/custom-host.md, inclui aviso de direitos)

3. Criar um episódio

  • Automático: npm run daily -- --auto (notícias) ou npm run weekly -- --auto (projetos GitHub).
  • Com revisão: npm run workbench abre http://127.0.0.1:3220. O usuário revisa tópicos, roteiro, voz e quadros de pré-visualização lá.
  • O resultado é runs/<data>-<coluna>/package/: vídeo, duas capas, metadata.txt. Mostre ao usuário onde está e para que serve cada arquivo.

Uma execução pode parar intencionalmente:

  • em uma etapa de revisão (status.json estágio review-*)
  • quando uma história parece política (select.politicsFilter)

Diga ao usuário o que está esperando por ele. Não ignore a parada.

4. Quando algo falhar

  1. Leia o final de runs/<execução>/run.log e runs/<execução>/status.json.
  2. Consulte o sintoma em docs/troubleshooting.md.
  3. Retome da etapa que falhou em vez de começar do zero: node src/main.mjs run --column news --from <etapa>, onde etapa é uma de collect, select, enrich, write, voice, render, export.
  4. Se você alterar código, execute npm test e npm run check depois.

5. Personalizar

  • Regras de tópicos, contagens de histórias, textos na tela: config.json → columns.<id> (veja docs/configuration.md).
  • Fontes: sources.json (veja docs/sources.md).
  • Layout do vídeo: remotion/Portrait/*.tsx. Visualize com npm run studio após uma execução ter produzido public/ep/<execução>/.
  • Antes do usuário publicar seu próprio fork, execute npm run audit e ajude-o a colocar suas palavras privadas em .audit-private.txt.

Habilidades Relacionadas