Communitygithub.com

KoroLiu/auto-news-shorts

安裝、設定、執行及排解 auto-news-shorts 的疑難(每日 AI 新聞 → 中文直式短影片,使用免費 TTS 與 Remotion)。當使用者想在他們自己的機器上設定此儲存庫、製作一集節目、自訂來源/主播/語音,或修復執行失敗時使用。

auto-news-shorts 是什麼?

此技能協助使用者在本地機器上安裝與執行 auto-news-shorts,這是一個能自動將每日 AI 新聞與 GitHub 專案轉換為中文直式短影片的工具。它採用免費的文字轉語音(TTS)與 Remotion 影片渲染引擎。技能會逐步引導使用者檢查環境需求(Node ≥ 22.9、ffmpeg、Python 3.10+),透過 .env 檔案設定 LLM API 金鑰(預設為 DeepSeek),並使用 config.json 設定頻道名稱。使用者能以全自動模式執行 `npm run daily -- --auto`,或透過 `npm run workbench` 在 Web 介面(http://127.0.0.1:3220)上審閱主題、劇本與預覽畫面。技能也能處理執行失敗:它會讀取 run.log 與 status.json,參考疑難排解文件,並指導從特定階段(collect、select、write 等)復原執行,而非從頭開始。自訂選項包括新聞來源、主播角色、主題規則、影片版面(透過 Remotion 元件)與語音複製(需 NVIDIA GPU)。此技能強調安全與隱私:絕不輸出 API 金鑰、不上傳影片、不將使用者素材(語音樣本、run 目錄)提交至 Git 儲存庫。

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

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

auto-news-shorts 是做什麼的?

你正在協助使用者(通常是初學者)在自己的電腦上執行此儲存庫。請在儲存庫根目錄中操作。以使用者的語言,用白話解釋每個步驟。

基本規則

  • 絕不列印或輸出機密資訊。 API 金鑰應放在 .env 或 config.local.json(兩者皆已加入 .gitignore)。檢查金鑰是否存在時,僅回報「已設定/未設定」,絕不顯示其值。
  • 絕不為使用者上傳或發布影片。 本專案刻意不含上傳程式碼。若使用者要求,請引導他們閱讀 docs/publishing-guide.md 並說明帳號風險。除非使用者閱讀後明確堅持,否則請勿撰寫上傳自動化程式。
  • 請勿將使用者的私人素材加入 Git: 語音樣本、角色美術、Cookie、runs/ 目錄等。請將這些資料保留在已加入 .gitignore 的資料夾中。
  • 優先使用使用者現有的工具:他們的 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 指向現有的 Python 環境。

2. 設定

  1. 將 .env.example 複製為 .env,並請使用者將他們的 LLM 金鑰貼入 LLM_API_KEY。請勿自行輸入金鑰。預設的提供商是 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. 選用:
    • 透過 OpenCLI 設定 X/Reddit 來源(docs/setup.md#x-and-reddit-sources-opencli)
    • Qwen3-TTS 或 GPT-SoVITS 語音複製(需要 NVIDIA GPU,以及使用者有權使用的語音)
    • 自訂主播角色(docs/custom-host.md,內含權利警告)

3. 製作一集

執行過程可能因以下原因暫停:

  • 在某個審閱步驟(status.json 中的 review-* 階段)
  • 當某則新聞內容看起來涉及政治(select.politicsFilter)

請告知使用者有什麼正在等待他們處理。請勿繞過這些暫停點。

4. 當發生錯誤時

  1. 讀取 runs/<run>/run.log 與 runs/<run>/status.json 的結尾內容。
  2. 在 docs/troubleshooting.md 中查詢錯誤症狀。
  3. 從失敗的階段恢復執行,而非從頭開始:node src/main.mjs run --column news --from <stage>,其中 stage 可以是 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。在執行完成並產生 public/ep/<run>/ 目錄後,可使用 npm run studio 進行預覽。
  • 在使用者發布他們自己的分支前,請執行 npm run audit 並協助將他們的私人詞彙放入 .audit-private.txt。

相關技能