auto-news-shorts は何をしますか?
あなたは、このリポジトリを自分のコンピュータで実行しようとしているユーザー(多くの場合初心者)を支援しています。リポジトリのルートディレクトリで作業を行い、各ステップをユーザーの言語で平易に説明してください。
基本ルール
- シークレットは絶対に表示したり、エコーしたりしないでください。 APIキーは
.envまたはconfig.local.jsonに保存します。どちらのファイルも git で無視されます。キーの存在を確認するときは、「設定済み / 未設定」と報告し、値を表示しないでください。 - ユーザーに代わって動画をアップロードしたり公開したりしないでください。 このプロジェクトには意図的にアップロードコードは含まれていません。もし依頼があった場合は、
docs/publishing-guide.mdを参照し、アカウントのリスクについて説明してください。ユーザーがそれを読んだ上で明示的に要求しない限り、アップロード自動化のコードは作成しないでください。 - ユーザーのプライベートな素材(音声サンプル、キャラクターアート、Cookie、
runs/など)を git に追加しないでください。 これらは git で無視されるフォルダに保持してください。 - 可能な限りユーザーの既存のツール(Python 環境マネージャー、ブラウザなど)を使用してください。CUDA PyTorch や TTS モデルなど、サイズの大きいものをインストールする前には必ず確認を取ってください。
- 主張する前に確認してください:コマンドを実行し、その出力を読んでください。
1. マシンの確認
node -v(≥ 22.9 が必要)、ffmpeg -version、ffprobe -version を実行し、Chrome/Edge および Python 3 が利用可能かを確認してください。その後、以下のコマンドを実行します:
npm ci
npm run setup
npm run setup は各項目に対して ✅/❌ を表示します。❌ がある場合は、docs/setup.md を参照してください。よくある修正方法:
- ffmpeg がない場合:インストールするか、ビルドを解凍して
tools/ffmpeg/に配置します。 - Python がない場合:Python 3.10+ をインストールするか、
config.local.jsonのtts.pythonで既存の環境を指定します。
2. 設定
.env.exampleを.envにコピーし、ユーザーにLLM_API_KEYに LLM キーを貼り付けてもらいます。キーを自分で入力しないでください。デフォルトのプロバイダーは DeepSeek です。他の OpenAI 互換 API はLLM_BASE_URL/LLM_MODELで動作します。LLM_VISION_MODELにはそのプロバイダーのビジョンモデルを設定するか、空のままにします。- マシン固有の値(パス、ビジョンモデル、ローカル TTS)が必要な場合のみ、
config.local.example.jsonをconfig.local.jsonにコピーします。 config.jsonで、channel.nameとchannel.titleSignをユーザーのチャンネルに設定します。- オプション:
- X/Reddit のソース(OpenCLI 経由、
docs/setup.md#x-and-reddit-sources-opencli) - Qwen3-TTS または GPT-SoVITS による音声クローン(NVIDIA GPU が必要で、ユーザーが使用する権利を持つ音声が必要)
- カスタムホストキャラクター(
docs/custom-host.md、権利に関する警告あり)
- X/Reddit のソース(OpenCLI 経由、
3. エピソードの作成
- 完全自動:
npm run daily -- --auto(ニュース)またはnpm run weekly -- --auto(GitHub プロジェクト)。 - レビューあり:
npm run workbenchで http://127.0.0.1:3220 を開きます。ユーザーはそこでトピック、スクリプト、音声、プレビューフレームを確認できます。 - 出力は
runs/<日付>-<コラム>/package/に作成されます:動画、2枚のカバー画像、metadata.txt。ユーザーにその場所と各ファイルの用途を説明してください。
実行は意図的に停止することがあります:
- レビューステップで(
status.jsonのステージがreview-*) - ストーリーが政治的に見える場合(
select.politicsFilter)
何がユーザーを待っているかを伝えてください。停止をバイパスしないでください。
4. 何かが失敗した場合
runs/<実行ID>/run.logとruns/<実行ID>/status.jsonの末尾を読んでください。docs/troubleshooting.mdで症状を調べてください。- 最初からやり直すのではなく、失敗したステージから再開します:
node src/main.mjs run --column news --from <ステージ>。ステージはcollect、select、enrich、write、voice、render、exportのいずれかです。 - コードを変更した場合は、その後
npm testとnpm run checkを実行してください。
5. カスタマイズ
- トピックルール、ストーリー数、画面上のテキスト:
config.json→columns.<ID>(docs/configuration.mdを参照)。 - ソース:
sources.json(docs/sources.mdを参照)。 - 動画レイアウト:
remotion/Portrait/*.tsx。npm run studioでプレビュー(実行後にpublic/ep/<実行ID>/が生成されている必要があります)。 - ユーザーが自分のフォークを公開する前に、
npm run auditを実行し、プライベートな文言を.audit-private.txtに記入するのを手伝ってください。