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
.envouconfig.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.mde 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.pythonemconfig.local.jsonpara um ambiente existente.
2. Configurar
- Copie
.env.examplepara.enve peça ao usuário para colar sua chave LLM emLLM_API_KEY. Não digite a chave você mesmo. O provedor padrão é DeepSeek. Outras APIs compatíveis com OpenAI funcionam através deLLM_BASE_URL/LLM_MODEL; definaLLM_VISION_MODELcomo o modelo de visão desse provedor ou deixe vazio. - Copie
config.local.example.jsonparaconfig.local.jsonapenas se valores específicos da máquina forem necessários (caminhos, modelo de visão, TTS local). - Em
config.json, definachannel.nameechannel.titleSignpara o canal do usuário. - 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)
- Fontes X/Reddit via OpenCLI (
3. Criar um episódio
- Automático:
npm run daily -- --auto(notícias) ounpm run weekly -- --auto(projetos GitHub). - Com revisão:
npm run workbenchabre 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.jsonestágioreview-*) - 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
- Leia o final de
runs/<execução>/run.logeruns/<execução>/status.json. - Consulte o sintoma em
docs/troubleshooting.md. - Retome da etapa que falhou em vez de começar do zero:
node src/main.mjs run --column news --from <etapa>, onde etapa é uma decollect,select,enrich,write,voice,render,export. - Se você alterar código, execute
npm testenpm run checkdepois.
5. Personalizar
- Regras de tópicos, contagens de histórias, textos na tela:
config.json→columns.<id>(vejadocs/configuration.md). - Fontes:
sources.json(vejadocs/sources.md). - Layout do vídeo:
remotion/Portrait/*.tsx. Visualize comnpm run studioapós uma execução ter produzidopublic/ep/<execução>/. - Antes do usuário publicar seu próprio fork, execute
npm run audite ajude-o a colocar suas palavras privadas em.audit-private.txt.