我最初會做這個專案,是因為看了一段介紹 SkyWork 風格 AI agent 工作流 的 YouTube 影片。影片裡其中一個最打動我的應用場景,就是把每天的 AI 和科技新聞整理成一份廣東話 AI Daily Podcast,再在早上自動發送到 Telegram。這個想法之所以吸引我,不只是因為它有趣,而是因為它真的有機會變成每天都會用到的內容產品。所以我最後決定用 GitHub 把這個廣東話 AI Daily Podcast 工作流重做一次,讓整個流程在保留靈活度之餘,也更容易長期維護、調整和搬遷。
這個用 GitHub 建立的廣東話 AI Daily Podcast,核心做法其實不複雜:先收集每天的 AI 新聞,再整理成適合收聽的廣東話口語稿件,之後透過 TTS 轉成 MP3,最後用 Telegram 自動發送出去。真正令我覺得值得做的,不是單純把文字變成聲音,而是它把資訊整理、語音生成和排程發送串成一條完整工作流。比起每天自己打開幾個科技網站逐篇閱讀,這種每日自動送達的廣東話 AI Podcast,更容易變成一種長期可持續的內容習慣。
這篇文章會分享我如何用 GitHub、GitHub Actions、Cursor、edge-tts 和 Telegram,把這個廣東話 AI Daily Podcast 概念落地成真正可運作的專案,也會談到它為什麼可以成為 SkyWork 以外的一個更可控替代方案。如果你想建立一個可自動生成、可版本控制、又能每天穩定運作的廣東話 AI Podcast workflow,這篇文章可以作為一個實作參考。
Table of Contents
什麼是廣東話 AI Daily Podcast?
所謂廣東話 AI Daily Podcast,本質上不是單純「把文章讀出來」那麼簡單,而是一條把資訊整理、內容生成、語音輸出和自動發送串連起來的工作流。它的重點,在於把每天零散的資訊,重新包裝成一種更容易吸收、也更適合日常收聽的形式。
很多人一聽到這個名字,可能會以為它只能做 AI 新聞。但其實這個 workflow 的真正價值,並不限於單一主題。新聞來源完全可以按你的興趣調整,除了 AI 和科技,也可以加入財經、政治、商業、創業,甚至本地時事。重點不是「只追 AI」,而是建立一套每天都能穩定產出的廣東話內容管道。例如你想聽財經市場摘要,可以改成抓取金融新聞;如果你更關心政策與國際形勢,也可以換成政治與社會新聞來源。換句話說,廣東話 AI Daily Podcast 比較像一個可自訂的每日語音簡報系統,而不是只能服務某個固定領域的 demo。
對我來說,這種形式的價值很實際。很多人都會追新聞,但真正困難的部分往往不是找不到資訊,而是資訊太多、太散,而且每天都要重新花精神篩選。當這些內容可以先被整理,再用廣東話說出來,最後在固定時間送到 Telegram,那種體驗就會更像一個真正的產品,而不只是一個技術展示。也因為主題可以自由擴展,這個專案才更容易長期使用,而不是做完一次就擱下。
為什麼要用 GitHub 建立廣東話 AI Daily Podcast?
如果只是想快速做出一個 demo,當然可以直接依賴某些整合度很高的平台;但如果你想把這件事長期做下去,GitHub 其實是更穩陣的選擇。因為當整個廣東話 AI Daily Podcast 工作流都放進 repo 裡,你就會擁有更清晰的版本記錄、更高的可控性,以及更低的平台依賴。
對我來說,把 workflow 放進 GitHub 的最大好處,是每一層都可以獨立調整。你可以改新聞來源、改 prompt、改模型、改 TTS、改輸出格式,甚至改發送方式,而不需要推倒重來。這種彈性,對於一條每天都要跑的內容工作流來說,其實非常重要。
另一個很實際的好處,是 GitHub Actions 很適合做排程。當這個專案已經不是一次性玩具,而是希望每天穩定輸出一集廣東話 AI Daily Podcast,那麼可重複執行、可追蹤、可除錯,就會比單次生成更有價值。
廣東話 AI Daily Podcast 工作流概覽
整條流程大致可以分成幾步。第一步是收集新聞來源,把每天值得關注的 AI 和科技內容先抓下來;第二步是讓模型把資料整理成可收聽的廣東話口語稿件;第三步再把稿件分段,用 TTS 生成人聲;第四步則把聲音檔合併成完整 MP3;最後再透過 Telegram 自動發送。
這樣拆分的好處,是每一層都很清楚。爬蟲只負責抓資料,模型只負責整理與重寫,TTS 只負責發聲,Telegram 只負責傳送。當某一步出問題時,你比較容易知道問題發生在哪裡,也比較容易逐步改善。
我是如何用 GitHub Actions 自動生成廣東話 AI Daily Podcast
我目前的做法,是把整條 pipeline 都整理成可以在 GitHub Actions 上運行的工作流。這樣一來,不論是每日排程還是手動觸發,都可以用同一套程式碼和同一組 secrets 來完成,不需要每次重新配置。
1. 爬取新聞來源
在收集資料這一層,我會先從幾個固定的 AI 與科技新聞來源抓內容,整理成結構化資料。這一步的目標不是把所有新聞都抓回來,而是優先拿到足夠生成每日簡報的素材。當來源本身保持穩定,後面的內容品質也會更容易控制。
2. 生成廣東話稿件
有了新聞資料之後,下一步就是把它們轉成適合收聽的廣東話稿件。這一層其實很關鍵,因為如果只是逐段翻譯新聞,最後出來的內容通常會太像朗讀文章,而不像 Podcast。相反,如果把它整理成更口語、更有節奏感的對話或簡報格式,收聽體驗就會自然很多。
這也是我覺得廣東話 AI Daily Podcast 最有趣的地方:它不是純技術輸出,而是內容形式的再設計。模型不是只幫你產字,而是幫你把資訊重新包裝成一種可以每天聽的內容。
3. 用 edge-tts 與 ffmpeg 生成 MP3
當稿件準備好之後,就會進入語音生成步驟。我選擇 edge-tts,主要是因為它對廣東話來說夠實用,而且很容易整合進 Python workflow。它不一定是唯一選擇,但對這種每日生成的輕量工作流來說,已經相當夠用。
因為長稿件通常不能一次丟進 TTS,所以中間也需要做分段處理。生成之後,再透過 ffmpeg 把各段音訊合併成完整 MP3。這一步雖然技術上不算最複雜,但對最終體驗很重要,因為它直接決定輸出的可聽性與完成度。
4. 透過 Telegram 自動發送 Podcast
最後一步是發送。相比 email 或其他通知方式,Telegram 的好處是夠直接,也很適合作為每日內容的接收端。當每天早上固定收到一集新的廣東話 AI Daily Podcast,用戶的心理感受會更接近「訂閱一個產品」,而不是「執行一個腳本」。
這種交付方式的價值,在於它把整條 workflow 的最後一哩補上。很多 AI 自動化流程做到內容生成就停了,但對我來說,真正有用的是它能夠穩定送到我會打開、會收聽的地方。
為什麼我沒有直接把整個流程放在 SkyWork 裡?
SkyWork 類型的平台最吸引人的地方,是起步很快,很多功能都已經預先組合好,你只需要描述目標,它就可以替你把流程跑起來。從靈感啟發的角度來說,它很強,也很容易讓人看到 AI agent 的產品化可能性。
但當我真的想把這個廣東話 AI Daily Podcast 做成自己會長期使用的東西時,我反而更想掌握每一個元件。因為只要流程放進可版本控制的平台,你就可以更自由地調整每一層,而不用依賴單一產品介面的限制、價格結構,或者未來的產品方向。
這裡想補充一點:GitHub 只是我這次選擇的平台,並不是唯一選擇。同樣的 workflow,也可以放在 GitLab 或 Bitbucket 上。重點不在於一定要用哪一個品牌,而在於你是否把整個流程變成「可版本控制、可排程、可遷移」的程式碼資產。GitHub 的優勢是生態成熟、GitHub Actions 很方便;GitLab 則常在 CI/CD 整合與自架部署上很有彈性;Bitbucket 則可能更適合已經在 Atlassian 生態裡的團隊。對個人專案來說,我會優先選自己最熟悉、最容易排程和協作的平台;但架構本身應該保持可搬遷,而不是綁死在單一服務。
所以我的看法不是 SkyWork 不好,而是它更適合作為靈感來源或快速原型工具;如果你想要更高的控制權、更低的平台依附,以及更方便的長期維護,那麼把 workflow 放進 GitHub、GitLab 或 Bitbucket 這類版本控制平台,會更實際。
API 選擇:除了 APIFree,還有什麼替代方案?
APIFree 並不是唯一可用的方案。這個專案的稿件生成層,基本上是依照相容 OpenAI API 的方式設計,所以理論上只要其他供應商在模型能力、上下文長度、成本和穩定性方面合適,就可以接進來。
例如 OpenAI、OpenRouter、Azure OpenAI、Together AI、Groq,都可能成為替代選項。真正重要的不是綁定哪一家,而是你把整個廣東話 AI Daily Podcast workflow 設計成可替換的架構。當某個模型太貴、不夠穩,或者廣東話表現不理想時,你只需要換掉生成層,而不用把整個專案重做。
我目前選用 APIFree,主要是因為它讓我可以更快把這個構想跑通,在成本和整合難度之間找到一個相對順手的平衡點。對於這類仍在迭代中的個人 workflow,先把事情做出來,往往比一開始就追求最完美的技術組合更重要。
這個廣東話 AI Daily Podcast 專案用了哪些工具?
這個專案實際用到的工具不算少,但每個工具的角色都很清晰。GitHub 和 GitHub Actions 負責版本控制與排程;Cursor 協助我整理與開發 workflow;Python 負責爬蟲和資料處理;edge-tts 負責廣東話語音生成;ffmpeg 處理音訊拼接;Telegram Bot API 負責發送;而模型 API 則負責把新聞轉成適合收聽的稿件。
也正因為每一層都分工清晰,這條工作流才比較容易維護。你不需要把所有事情都塞進同一個平台裡,而是可以根據需要逐層替換。
為什麼這個廣東話 AI Daily Podcast 專案值得做?
很多 AI agent 示範在第一次看時都很震撼,但真正會留在生活裡的並不多。我覺得差別就在於,它有沒有把「技術可行」變成「每天真的會用」。當這條流程可以穩定地把 AI 新聞整理成廣東話內容,再變成一個可以在 Telegram 收到的每日音訊,它就不再只是 demo,而是一個開始有產品感的內容系統。
對我來說,這也是這個專案最有意思的地方。它不是要證明 AI 很厲害,而是想把 AI 變成一個真正有持續使用價值的工具。當你每天早上都會收到一集新的廣東話 AI Daily Podcast,這件事才算真正成立。
Repo 與參考連結
YouTube 靈感來源:
SkyWork 風格 AI agent 工作流
GitHub Repo:
github.com/hlim2/cantonese_ai_podcast
第一次用AI做實務:從 VVV 遷移到 Docker:使用 Traefik 遷移兩個 WordPress 網站(實戰紀錄)
https://woodwood.xyz/vvv-wordpress-docker-migration/
常見問題 FAQ
廣東話 AI Daily Podcast 為什麼比直接看 AI 新聞更方便?
因為它把原本分散的資訊,轉成更容易吸收的每日音訊內容。你不需要自己每天逐站篩選,只需要在坐車途中或空閒時,收聽一個經 Telegram 發送的廣東話 AI Podcast。它的價值不只在內容本身,還在於它把資訊重新包裝,就能快速掌握重點。
用 GitHub 建立廣東話 AI Daily Podcast 有什麼好處?
最大好處是可版本控制、可排程、可除錯,也更容易長期維護。當你想替換模型、新聞來源或發送方式時,不需要整個重做。
這個專案一定要用 APIFree 嗎?
不一定。只要是相容 OpenAI API 的服務,而且在模型品質、成本和穩定性方面符合需求,都可以評估替換。
為什麼廣東話 AI Daily Podcast 要用 edge-tts?
因為 edge-tts 是一個實際、輕量,而且容易整合進自動化流程的選擇。對這種每日生成工作流來說,它已經能提供足夠可用的廣東話語音效果。
GitHub Actions 適合用來排程廣東話 AI Daily Podcast 嗎?
如果你的流程是以腳本為主、需要每日固定執行,而且希望保留執行紀錄與 secrets 管理,那麼 GitHub Actions 是一個很合適的選擇
