n8n 實作:RSS → AI 摘要 → 每日摘要信
一人副業最花時間的事之一是「追資訊」。這個流程每天早上 7 點(台北時間)抓你訂的 RSS,只留過去一天的新文章,叫 AI 用繁體中文寫成一封摘要信寄給你。整個流程 8 個節點,在 n8n 每天只算 1 次 execution。
下載:n8n-rss-digest.json(正式版)· n8n-rss-digest-test-noai.json(測試版:手動觸發、不呼叫 AI、不寄信)
流程總覽
每天 07:00 → Feed 清單 → 讀取 RSS → 篩選 24 小時內 → AI 寫摘要 → 組信件 HTML → 寄出摘要信
↑
OpenAI Chat Model
準備
- 一個 n8n(自架或 Cloud 試用都可以)。
- OpenAI API key(或換成 n8n 支援的其他模型節點,例如 Anthropic、Gemini、Ollama)。
- 一組 SMTP 寄信帳號。Gmail 個人帳號要用「應用程式密碼」;也可以把最後一個節點換成 n8n 的 Gmail 節點走 OAuth。
逐節點說明
1. 每天 07:00(Schedule Trigger)
規則:每天、7 點。時區看工作流設定(JSON 裡已設 Asia/Taipei),自架的話也要在環境變數設 GENERIC_TIMEZONE=Asia/Taipei。n8n 2.x 匯入後要按 Publish 排程才會生效(舊版是 Active 開關)。
2. Feed 清單(Code)
每個 RSS 網址輸出一個 item,後面的 RSS 節點會對每個 item 各跑一次。範例放了 iThome、n8n 官方部落格、Hacker News 首頁,換成你的領域:
const feeds = ["https://www.ithome.com.tw/rss", "https://blog.n8n.io/rss/", "https://hnrss.org/frontpage"];
return feeds.map(url => ({ json: { url } }));
為什麼不用三個 RSS 節點?因為一個 Code 清單 + 一個 RSS 節點,要加減來源只改一行。
3. 讀取 RSS(RSS Read)
URL 填表達式 {{ $json.url }}。設定裡把 On Error 設成「Continue」:某個網站掛了,其他來源照樣寄。實測這三個來源當天共抓回 65 則(iThome 30、n8n 部落格 15、HN 20)。
4. 篩選 24 小時內(Code)
這一步決定成本和品質:
- 只留
isoDate/pubDate在 26 小時內的文章(多留 2 小時緩衝,避免排程延遲漏掉)。 - 用連結去重,依時間排序,只取最新 15 則。
- 每則只取摘要前 400 字,把全部串成一段文字
digestInput,輸出一個 item。 - 沒有新文章就回傳空陣列,流程停在這裡:不叫 AI、不寄空信。
實測:65 則篩到 15 則,digestInput 約 3,500 字元。
5. AI 寫摘要(Basic LLM Chain)+ OpenAI Chat Model
關鍵設計:15 則合成一次呼叫,不是每則各叫一次。這樣 API 費用和延遲都少,也讓 AI 能幫你分類、挑重點。提示詞:
你是幫一人副業經營者整理資訊的助理。以下是過去一天的新文章(含編號、標題、摘要片段、連結)。
請用台灣繁體中文:
1. 先給 3 行「今天最值得看的事」。
2. 再把文章分成 2~4 類,每則一句話重點,句尾標註原編號,例如 [3]。
3. 不要編造原文沒有的資訊;看不出重點就寫「片段不足」。
{{ $json.digestInput }}
模型子節點預設填 gpt-6-luna(2026-10-30 OpenAI 定價頁上最便宜的一級),maxTokens 1500、temperature 0.3。匯入後在這個節點建立 OpenAI 憑證;模型可以換。
6. 組信件 HTML(Code)
把 AI 輸出的文字($json.text)做 HTML 跳脫,後面附上 15 則原文連結清單(從第 4 步用 $('篩選 24 小時內') 取回),產生主旨「每日摘要 2026/10/30(15 則)」。連結由程式產生、不交給 AI,避免 AI 編出錯的網址。
7. 寄出摘要信(Send Email)
格式選 HTML,主旨與內容用表達式帶入。改掉 fromEmail、toEmail,並建立 SMTP 憑證。
匯入步驟
- n8n 左側 Overview → Create Workflow → 右上「⋯」→ Import from File,選
n8n-rss-digest.json。 - 打開「OpenAI Chat Model」建立憑證;打開「寄出摘要信」建立 SMTP 憑證、改收件人。
- 改「Feed 清單」裡的網址。
- 按 Execute Workflow 手動跑一次,確認收到信。
- 按 Publish,之後每天 7 點自動跑。
想先不花錢驗證抓取與篩選,就匯入測試版 JSON:它把 AI 換成一段固定文字、把寄信換成輸出預覽,手動觸發即可。
成本試算
| 項目 | 估算 |
|---|---|
| n8n 用量 | 每天 1 次 execution,每月約 30 次。自架不算錢;Cloud Starter(2,500 次)用不到 2% |
| AI 輸入 | 提示詞+約 3,500 字元的文章片段,粗估 2,000~3,000 tokens/天(中英混合,實際以帳單為準) |
| AI 輸出 | 上限 1,500 tokens/天 |
| gpt-6-luna(輸入 $0.10、輸出 $0.50/百萬 tokens) | 每天約 US$0.001,每月約 US$0.03 |
| gpt-6.1-terra($1/$5) | 每天約 US$0.01,每月約 US$0.3 |
| gpt-6.1-sol($2/$10) | 每天約 US$0.02,每月約 US$0.6 |
結論:這個流程的成本幾乎都在「n8n 放在哪」,不在 AI。如果改成每則文章各叫一次 AI,呼叫次數變 15 倍,在 Make/Zapier 上還會多吃 15 倍的 credits/tasks,見三套工具比較。
限制與注意事項
- 只看 RSS 片段,不讀全文。很多網站 RSS 只給前幾句,AI 摘要的深度有限;要全文得加 HTTP Request 抓網頁,會增加 token 和被網站擋的機會。
- AI 仍可能誤解。提示詞要求標註編號、不得編造,並附原文連結讓你自己核對;重要決定請點原文。
- Cloud Starter 單次執行上限 5 分鐘。這個流程通常幾十秒內跑完,但來源加到幾十個、又抓全文時要留意。
- Gmail SMTP 有每日寄送上限,且需要開兩步驟驗證才能產生應用程式密碼;寄給自己一天一封不會碰到。
- 版權:摘要信給自己看沒問題;如果要把摘要公開發佈(電子報、網站),要注意原文著作權,只引用片段並附連結。
- RSS 網站可能改網址或停止提供;On Error 設 Continue 只能避免整個流程失敗,不會提醒你。可以在第 4 步加一行:某個來源 0 則就寫進信裡。
可以怎麼延伸
- 把結果同時寫進 Google Sheets/Notion 當資料庫,週末再叫 AI 做「本週趨勢」。
- 改成 Telegram/Slack 通知(換掉最後一個節點即可)。
- 在篩選步驟加關鍵字白名單,只留和你副業相關的文章。
資料來源(2026-10-30 查證)
- RSS Read 節點:https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/
- Schedule Trigger:https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/
- Basic LLM Chain:https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.chainllm/
- Send Email:https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.sendemail/
- OpenAI API 定價:https://developers.openai.com/api/docs/pricing
- n8n Cloud 方案限制:https://n8n.io/pricing/