Que fait auto-news-shorts ?
Vous aidez un utilisateur, souvent débutant, à exécuter ce dépôt sur son propre ordinateur. Travaillez dans la racine du dépôt. Expliquez chaque étape en termes simples, dans la langue de l'utilisateur.
Règles de base
- N'imprimez ni n'affichez jamais de secrets. Les clés API vont dans
.envouconfig.local.json, tous deux ignorés par git. Lorsque vous vérifiez qu'une clé existe, signalez "définie / non définie", jamais sa valeur. - Ne téléchargez ni ne publiez jamais de vidéos pour l'utilisateur. Ce projet ne contient volontairement aucun code de téléversement. Si on vous le demande, redirigez vers
docs/publishing-guide.mdet expliquez les risques liés au compte. N'écrivez pas d'automatisation de téléversement à moins que l'utilisateur n'insiste explicitement après l'avoir lu. - N'ajoutez pas les éléments privés de l'utilisateur à git : échantillons vocaux, illustrations de personnages, cookies,
runs/. Gardez-les dans des dossiers ignorés par git. - Privilégiez les outils existants de l'utilisateur : son gestionnaire d'environnement Python, son navigateur. Demandez avant d'installer de gros éléments tels que CUDA PyTorch ou des modèles TTS.
- Vérifiez avant d'affirmer : exécutez la commande et lisez la sortie.
1. Vérifier la machine
Exécutez node -v (besoin ≥ 22.9), ffmpeg -version, ffprobe -version, et trouvez Chrome/Edge et Python 3. Ensuite :
npm ci
npm run setup
npm run setup affiche ✅/❌ par élément. Pour chaque ❌, suivez docs/setup.md. Corrections typiques :
- ffmpeg manquant : installez-le ou décompressez une version dans
tools/ffmpeg/. - Python manquant : installez Python 3.10+, ou pointez
tts.pythondansconfig.local.jsonvers un environnement existant.
2. Configurer
- Copiez
.env.examplevers.envet demandez à l'utilisateur de coller sa clé LLM dansLLM_API_KEY. Ne tapez pas la clé vous-même. Le fournisseur par défaut est DeepSeek. D'autres API compatibles OpenAI fonctionnent viaLLM_BASE_URL/LLM_MODEL; définissezLLM_VISION_MODELsur le modèle de vision de ce fournisseur ou laissez-le vide. - Copiez
config.local.example.jsonversconfig.local.jsonuniquement si des valeurs spécifiques à la machine sont nécessaires (chemins, modèle de vision, TTS local). - Dans
config.json, définissezchannel.nameetchannel.titleSignsur la chaîne de l'utilisateur. - Optionnel :
- Sources X/Reddit via OpenCLI (
docs/setup.md#x-and-reddit-sources-opencli) - Clonage vocal Qwen3-TTS ou GPT-SoVITS (nécessite un GPU NVIDIA et une voix que l'utilisateur a le droit d'utiliser)
- Un personnage hôte personnalisé (
docs/custom-host.md, avertissement sur les droits inclus)
- Sources X/Reddit via OpenCLI (
3. Créer un épisode
- Sans intervention :
npm run daily -- --auto(actualités) ounpm run weekly -- --auto(projets GitHub). - Avec révision :
npm run workbenchouvre http://127.0.0.1:3220. L'utilisateur y révise les sujets, le script, la voix et les images de prévisualisation. - Le résultat se trouve dans
runs/<date>-<column>/package/: vidéo, deux couvertures,metadata.txt. Montrez à l'utilisateur où il se trouve et à quoi sert chaque fichier.
Une exécution peut s'arrêter intentionnellement :
- à une étape de révision (
status.jsonstagereview-*) - lorsqu'une histoire semble politique (
select.politicsFilter)
Dites à l'utilisateur ce qui l'attend. Ne contournez pas l'arrêt.
4. En cas d'échec
- Lisez la fin de
runs/<run>/run.logetruns/<run>/status.json. - Cherchez le symptôme dans
docs/troubleshooting.md. - Reprenez à partir de l'étape ayant échoué au lieu de recommencer :
node src/main.mjs run --column news --from <stage>, où stage est l'un decollect,select,enrich,write,voice,render,export. - Si vous modifiez du code, exécutez
npm testetnpm run checkensuite.
5. Personnalisation
- Règles de sujets, nombre d'histoires, textes à l'écran :
config.json→columns.<id>(voirdocs/configuration.md). - Sources :
sources.json(voirdocs/sources.md). - Mise en page vidéo :
remotion/Portrait/*.tsx. Prévisualisez avecnpm run studioaprès qu'une exécution a produitpublic/ep/<run>/. - Avant que l'utilisateur ne publie son propre fork, exécutez
npm run auditet aidez-le à placer ses remarques privées dans.audit-private.txt.