Communitygithub.com

KoroLiu/auto-news-shorts

毎日のAIニュースを中国語の縦型ショート動画に自動変換するツール(無料TTS、Remotion使用)。セットアップ、設定、実行、トラブルシューティングを支援します。

auto-news-shorts とは?

このスキルは、オープンソースの「auto-news-shorts」リポジトリを利用して、AIニュースやGitHubプロジェクト情報を縦型ショート動画に自動変換するためのものです。無料のTTS(音声合成)とRemotion(動画生成)をベースにしており、DeepSeekやOpenAI互換APIに対応。ユーザーのローカル環境でセットアップから設定、動画制作、カスタマイズまでを段階的に説明します。特に初心者向けに設計されており、各ステップを平易な言葉で案内。YouTubeやTikTok向けの縦型動画制作を自動化したい技術者に最適です。また、トラブルシューティング機能も充実しており、失敗したステップからの再開が可能です。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

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. 設定

  1. .env.example を .env にコピーし、ユーザーに LLM_API_KEY に LLM キーを貼り付けてもらいます。キーを自分で入力しないでください。デフォルトのプロバイダーは DeepSeek です。他の OpenAI 互換 API は LLM_BASE_URL / LLM_MODEL で動作します。LLM_VISION_MODEL にはそのプロバイダーのビジョンモデルを設定するか、空のままにします。
  2. マシン固有の値(パス、ビジョンモデル、ローカル TTS)が必要な場合のみ、config.local.example.json を config.local.json にコピーします。
  3. config.json で、channel.name と channel.titleSign をユーザーのチャンネルに設定します。
  4. オプション:
    • X/Reddit のソース(OpenCLI 経由、docs/setup.md#x-and-reddit-sources-opencli)
    • Qwen3-TTS または GPT-SoVITS による音声クローン(NVIDIA GPU が必要で、ユーザーが使用する権利を持つ音声が必要)
    • カスタムホストキャラクター(docs/custom-host.md、権利に関する警告あり)

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. 何かが失敗した場合

  1. runs/<実行ID>/run.log と runs/<実行ID>/status.json の末尾を読んでください。
  2. docs/troubleshooting.md で症状を調べてください。
  3. 最初からやり直すのではなく、失敗したステージから再開します:node src/main.mjs run --column news --from <ステージ>。ステージは collect、select、enrich、write、voice、render、export のいずれかです。
  4. コードを変更した場合は、その後 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 に記入するのを手伝ってください。

関連スキル