我在 n8n 上經營一個名為 Cynic Stick 的小型 YouTube 角色頻道。這篇文章將詳細介紹其運作方式,並分享我認為可重複使用的部分。其中大部分是透過 n8n MCP 伺服器,利用 Claude 建立的:我負責指導,它負責建構。
日常與每週的自動化流程(約 25 個活躍工作流)包含研究、製作、模型註冊、發布、監控和維護。研究部分,排程的趨勢和訊號搜尋會餵給一個研究工作流,Ollama 研究工作流則作為備用方案。製作方面,一個工作流負責撰寫並渲染每日短片;每週的長影片則分為腳本和場景提示詞生成、場景渲染、節奏渲染、編譯和審核。
模型註冊是一個小型工作流,它會返回一組固定的模型(寫作、中等、輕量、圖像、語音轉文字、文字轉語音)。所有其他工作流都會向它請求模型,因此更改模型只需編輯一次。發布部分,YouTube、X、Instagram 和 Facebook 各有獨立的工作流按時程發布內容。TikTok 則上傳至草稿,並透過 Telegram 將標題傳送給我,以便手動一鍵發布。
監控工作流會在發布時間前 30 分鐘檢查建置是否已啟動並完成,只在未完成時通知我,因此沒有訊息代表一切正常。維護工作流每天會將已發布的短片分類到 5 個 YouTube 播放清單中,並使用一個輕量模型。網站匯出和聊天代理則確保 cynicstick.com 及其「Ask Cynic Stick」小工具與頻道保持同步。
新增部分:由聊天室引導故事的直播(12 個活躍工作流)。觀眾可以在 YouTube 直播聊天室中輸入「!scene」加上一個想法(或「!ask」加上一個問題)。直播是一個由網頁繪製的 ASCII 藝術世界,該網頁會讀取 n8n 的端點。
輪詢器會以可配置的間隔讀取直播聊天室,並在自動化開啟且未鎖定時才保持活躍。攝取器會進行重複資料刪除,每個時段只允許一個想法,然後呼叫審核子工作流。審核工作流會檢查名稱和規則,然後透過 OpenRouter 使用嚴格的 JSON 輸出,由兩個文字判斷模型和三個藝術判斷模型進行審核。任何不清楚的內容都會被拒絕(故障關閉)。一個模型會將想法轉化為經過驗證的場景,其輸出會再次被檢查。
人工否決:每個被接受的想法都會發送到 Telegram 訊息,並帶有一個否決按鈕。當時間窗結束時,一個發布工作流會關閉該訊息並在聊天室中宣布該想法。重複的否決會鎖定自動化。安全網包括一個終止開關(緊急停止和恢復 webhook)、一個每小時的金絲雀測試(發送四行固定文字通過判斷模型,如果明顯錯誤的通過則鎖定自動化)、一個每分鐘檢查廣播是否在線的監控器,以及一個每日資料保留任務,會在 7 天後移除原始評論文字,30 天後移除名稱和頻道 ID。
作者希望獲得回饋的問題包括:每小時的金絲雀測試是否足以信任故障關閉的判斷模型,或者是否有其他審核測試方式?如何平衡聊天室輪詢延遲與 YouTube API 配額?以及資料保留方法中是否有任何建議的更改?頻道網址為 https://www.youtube.com/@cynicstick,網站網址為 https://cynicstick.com。由於直播是全新的,觀眾人數很少,因此作者更關心設計而非數據。