n8n 上手:雲端 vs 自架,做出第一條 workflow
第 2 課你用 Make 做出了 Gmail 附件自動存雲端,應該有感覺到自動化的爽感了。但你可能也發現一件事:Make 免費版每月 1,000 credits,而你那條流程每跑一次就吃掉好幾個 credit——trigger 算一步、下載附件算一步、上傳雲端又算一步。附件多的日子,月中就開始擔心額度。更麻煩的是下一步:這門課後面要把 AI 塞進流程(摘要、分類、寫文案),每加一個 AI 步驟,Make 就多算一步錢。流程愈聰明,帳單愈痛,這是按步驟計費的天生矛盾。
n8n 走的是另一條路:一條流程不管 5 步還是 200 步,跑一次就只算 1 次 execution;而且它開源,你甚至可以完全免費裝在自己的伺服器上。這堂課就把 n8n 從零架起來,做出你在 n8n 上的第一條 workflow——一個每天自動幫你盯科技新聞的「關鍵字雷達」。
這堂學什麼
- n8n 是什麼:開源、可自架、按 execution 計費——為什麼「複雜流程」它最划算
- Cloud(約 $20/mo 起)vs 自架(軟體免費 + VPS 約 $5-7/mo)怎麼選,新手為什麼先用 Cloud 免費試用
- 用三個詞看懂整個介面:node(節點)、connection(連線)、execution(執行)
- 手把手實戰:RSS 科技新聞 → 過濾關鍵字 → Discord/Telegram 自動通知
- 執行紀錄(Executions)怎麼看:自動化壞掉時,自己就能抓出是哪一步出事
觀念一:n8n 憑什麼:計費方式就贏一半
n8n 是 2019 年從柏林起家的開源自動化工具,原始碼公開在 GitHub 上。第 1 課提過它的定位:三大工具裡上手門檻中等、但天花板最高的那個。它跟 Make 最實際的差異,是計費單位:

圖:n8n 官網首頁(2026 年 7 月實況),來源:n8n.io
- Make 按 credit:流程裡每個 trigger、每個 action、每次資料轉換都算一步。10 步的流程跑 1,000 次 = 10,000 credits。
- n8n 按 execution:整條流程從頭跑到尾算 1 次。10 步流程跑 1,000 次 = 1,000 executions;就算你把流程加料到 200 步,跑一次還是只算 1 次。
換成錢來看(2026 年 7 月現況):n8n Cloud Starter 年繳約 $20/月(月繳 $24)含 2,500 executions,Pro 約 $50/月含 10,000 executions,而且 2026 年 4 月起全部方案都不限制啟用中的 workflow 數量,純粹按執行次數計費。更關鍵的是第 4 課的伏筆:n8n 有近 70 個 AI 專用節點,AI Agent、LLM 節點在平台端不加價——你只要付自己模型的 token 費,平台不會因為你用 AI 就多收一手。
所以第 1 課的選型結論在這裡具體化了:**簡單、低量的流程,Make 免費版便宜又好上手(第 2 課的 Gmail 流程就該留在 Make);多步驟、高頻率、含 AI 的流程,搬來 n8n 才不會被步驟數綁架。**兩個工具不是二選一,是各司其職。
觀念二:Cloud vs 自架,一張圖選完
n8n 開源帶來第二個選項:不付月費,把它裝在自己的伺服器上。兩條路長這樣:

| n8n Cloud | 自架(Community Edition) | |
|---|---|---|
| 費用 | Starter 約 $20/mo(2,500 executions) | 軟體 $0,VPS 約 $5-7/mo |
| 執行次數 | 按方案上限 | 無上限(只受主機效能限制) |
| 安裝維護 | 官方全包:更新、備份、機器 | 自己來:Docker、更新、掛了自己救 |
| 資料存放 | n8n 的雲端(德國/美國機房) | 你自己的伺服器,資料不出門 |
| 上手門檻 | 註冊即用,14 天免費試用免信用卡 | 要會一點指令,踩坑自己填 |
自架其實沒有想像中難,核心就兩行指令(在任何裝了 Docker 的機器上):
docker volume create n8n_data
docker run -d --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
跑完打開瀏覽器連 http://localhost:5678 就能用。但我建議新手先開 Cloud 的 14 天免費試用,理由很務實:這門課接下來四堂的重點是「把流程邏輯練熟」,不是練伺服器維運;Cloud 版介面一模一樣,學到的東西 100% 帶得走——n8n 的 workflow 可以整條匯出成 JSON 檔,哪天你量大了、或在意資料主權了,把 JSON 匯入自架版就無痛搬家。先學開車,再考慮自己組車。
觀念三:三個詞看懂整個介面
第一次打開 n8n,畫面比 Make 「工程」一點:Make 是圓圓的模組串成鏈,n8n 是方形卡片攤在一張無限大的畫布(canvas)上。別慌,整個介面就三個核心詞:

- node(節點):畫布上的每張卡片,代表一個動作。分兩種:trigger node(觸發器,決定流程「什麼時候跑」,例如排程、收到 webhook)和一般 node(「跑的時候做什麼」,例如抓資料、過濾、發訊息)。每條 workflow 一定從一個 trigger 開始。
- connection(連線):節點之間的那條線,是資料的水管。上一個節點的輸出(output)從右邊流出,變成下一個節點的輸入(input)從左邊流入。點兩下任何節點,設定面板左側就是流進來的資料、右側是處理完流出去的資料——這個「左進右出」的畫面你之後每天都會看。
- execution(執行):流程完整跑一遍的紀錄。每次執行,n8n 都會把「每個節點當時吃進什麼、吐出什麼」全部存下來,這就是等一下要學的除錯神器。
跟 Make 對照著記:Make 的 module ≈ n8n 的 node,Make 的 scenario ≈ n8n 的 workflow,Make 的一次 scenario run ≈ n8n 的一次 execution。觀念完全相通,只是換了名字和畫風。
手把手實戰:每天 9 點的 AI 新聞雷達
成品長這樣:每天早上 9 點,自動抓 iThome 的 RSS 新聞,把標題含「AI」的文章丟進你的 Discord 頻道。四個節點搞定:

註冊 n8n Cloud,開一條新 workflow
到 n8n.io 點「Get started for free」,用 email 註冊(14 天免費試用,不用信用卡)。它會請你取一個 instance 名稱,這會變成你的專屬網址,例如 yourname.app.n8n.cloud。
進入後台後,點右上角「Create Workflow」,你會看到一張空白畫布,中間一個大大的「+」。先把左上角的名稱從「My workflow」改成 AI 新聞雷達——養成命名習慣,三個月後的你會感謝現在的你。
加 Schedule Trigger:每天早上 9 點
點畫布中間的「+」,搜尋 Schedule,選 Schedule Trigger。設定:
- Trigger Interval:
Days - Days Between Triggers:
1 - Trigger at Hour:
9am
這個節點的意思就是「每天 9 點叫醒這條流程」。先不管時區問題,常見坑第 3 條會處理它。設定完點右上角關閉,回到畫布。
加 RSS Read:抓 iThome 新聞
點 Schedule Trigger 右邊的「+」,搜尋 RSS,選 RSS Read。只有一個必填欄位:
- URL:
https://www.ithome.com.tw/rss
填好後點節點面板上方的「Execute step」單獨測試這一步。幾秒後右側 OUTPUT 區會列出幾十筆項目,每筆都有 title(標題)、link(網址)、pubDate(發布時間)等欄位。看到右側有資料列出來,這一步就成了——這個「單步測試」的習慣是 n8n 最重要的工作節奏:每加一個節點就跑一次,錯誤當場現形,不要全部接完才測。
加 Filter:只留標題含「AI」的
接著加 Filter 節點(搜尋 Filter)。它像個守門員:符合條件的資料放行,不符合的擋掉。設定條件:
- 左邊欄位:把左側 INPUT 區的
title欄位直接拖進來,它會自動變成表達式{{ $json.title }} - 運算子:
contains(包含) - 右邊值:
AI
$json 的意思是「上一個節點流進來的那筆資料」,.title 是取它的標題欄位——這是你在 n8n 寫的第一行表達式,恭喜。想同時盯多個關鍵字,點「Add condition」再加一條,例如 {{ $json.title }} contains Claude,然後把條件之間的邏輯從 AND 改成 OR(任一符合就放行,AND 會變成要同時包含兩個字,幾乎過濾掉全部)。
一樣按「Execute step」:OUTPUT 應該只剩標題帶關鍵字的幾筆。如果剛好是 0 筆,不是壞掉,是今天真的沒有相關新聞——測試期可以先把關鍵字換成當天新聞一定有的字(例如「台」)確認邏輯通了,再換回來。
加 Discord 通知(附 Telegram 替代方案)
先去 Discord 拿一支 webhook:打開你的 Discord 伺服器 → 頻道旁邊的齒輪(編輯頻道)→ 整合 → Webhook → 「新 Webhook」→ 「複製 Webhook 網址」。這串網址等於「往這個頻道丟訊息的專用信箱」,拿到的人就能發訊息,不要外流。
回到 n8n,加 Discord 節點,設定:
- Connection Type:
Webhook - Credential:點「Create new credential」,把剛剛的網址貼進 Webhook URL,存檔
- Operation:
Send a Message - Message 欄位貼上:
📰 {{ $json.title }}
{{ $json.link }}
按「Execute step」,Discord 頻道應該立刻跳出幾則新聞。注意一件事:Filter 放行了幾筆,Discord 就會發幾則訊息——n8n 的節點預設逐筆處理流進來的每一筆資料,這跟 Make 的 bundle 概念是同一回事。
用 Telegram 的話:改加 Telegram 節點。先在 Telegram 找 @BotFather,傳 /newbot 照指示建一支機器人,拿到 API token;然後先傳一句任意訊息給你的機器人(不先開口它不能主動私訊你),再開瀏覽器打開 https://api.telegram.org/bot<你的token>/getUpdates,在回傳的 JSON 裡找 "chat":{"id":123456789} 那串數字,就是你的 Chat ID。回 n8n 用 token 建 credential,Operation 選 Send Message,Chat ID 填那串數字,Text 貼上面同一段訊息模板。
整條測試 → 啟用 → 看執行紀錄
點畫布下方的「Test Workflow」讓整條流程從頭跑一遍,確認 Discord 有收到訊息。然後是最多人漏掉的一步:把右上角的開關從 Inactive 撥成 Active。沒撥這個開關,Schedule Trigger 永遠不會在明天 9 點醒來——你做的只是一台沒插電的機器。
啟用後,左側選單點「Executions」,這裡是流程的行車紀錄器:每一次執行一列,綠色成功、紅色失敗,附時間和耗時。點進任何一筆,畫布會重現當時每個節點實際的輸入輸出資料;哪個節點紅了,點開就看到錯誤訊息和當下吃進去的資料——「知道壞在哪一步、當時資料長怎樣」,除錯就成功了八成。

明天早上 9 點過後,回來看 Executions 應該多了一筆綠色紀錄,Discord 也躺著當天的 AI 新聞。這就是你的第一條 n8n workflow:全自動、天天上工、不用你碰。
常見坑
坑 1:RSS Read 紅字報錯
The URL does not point to a valid RSS feed
或者出現 ECONNREFUSED / getaddrinfo ENOTFOUND。九成是 URL 貼錯:你貼的是網站首頁網址,不是 RSS feed 網址。驗證方法:把 URL 貼到瀏覽器打開,看到的應該是一堆 <item><title>... 的 XML 原始碼,而不是正常網頁。找不到某網站的 feed 網址,搜尋「網站名 + RSS」通常就有;通不了的來源,先換本課用的 https://www.ithome.com.tw/rss 把流程練通再說。
坑 2:execution 全綠、Discord 卻沒訊息
Executions 裡那筆是綠色成功,但頻道靜悄悄。點進那筆執行看畫布:Filter 節點的輸出寫著 0 items,後面的 Discord 節點是灰色的、根本沒跑。這不是 bug——當天就是沒有標題含你關鍵字的新聞,Filter 把所有資料都擋掉了,下游自然沒事做。判斷標準:綠色 + 下游灰色 + Filter 輸出 0 items = 流程健康,只是沒料。真想每天都收到聲音,可以放寬關鍵字、多加幾個 OR 條件,或多接一個 RSS 來源。
坑 3:手動測試都好好的,隔天 9 點卻沒動靜
兩個嫌疑犯照順序查。第一:右上角開關還是 Inactive——「Test Workflow」只是手動跑一次,不代表排程啟用了,這是全新手第一名的坑。第二:時區。n8n Cloud 預設時區可能不是台北,你設的 9am 是別的時區的 9am。解法:點畫布右上角的「⋯」→ Settings → Timezone 選 Asia/Taipei,存檔後重新 Activate 一次。查案技巧:去 Executions 看有沒有半夜多出一筆紀錄,有的話就是時區沒錯才怪。
坑 4:Discord 節點報 404
Request failed with status code 404
意思是那支 webhook 網址不存在了:要嘛複製時漏了字元,要嘛 Discord 那邊的 webhook 被刪掉或重設過。回 Discord 頻道設定重新複製一次完整網址,到 n8n 的 Credentials 裡更新。如果報的是 400,通常是訊息內容空白——檢查 Message 欄位的表達式是不是打錯(例如 $json.titel 這種手滑,拼錯欄位名不會報錯,只會給你空值)。
坑 5:每天收到重複的舊新聞
跑了幾天發現同一篇文章天天被貼一次。原因:RSS feed 每次都會回傳最近幾十篇文章,而你的流程沒有記憶,每天都把「標題含 AI 的全部文章」重發一輪。解法是 n8n 內建的 Remove Duplicates 節點:插在 RSS Read 和 Filter 之間,Operation 選 Remove Items Processed in Previous Executions(去除之前執行處理過的項目),比對欄位填 link。它會跨執行記住看過哪些網址,只放行真正的新文章——這個「跨執行去重」是 Make 免費版做不到的細活,也是 n8n 值得學的原因之一。
作業
- 基本題:完整做出這堂課的四節點流程,關鍵字換成你真正關心的主題(你追的技術、你的公司名、你在等的產品),讓它明天早上真的敲你一次。
- 加固題:照常見坑第 5 條,插入 Remove Duplicates 節點,防止重複通知。
- 舉一反三:多開一條 workflow,換一個 RSS 來源練手,例如 TechCrunch(
https://techcrunch.com/feed/)或 Hacker News 前頁(https://hnrss.org/frontpage),關鍵字改成英文。 - 除錯練習:故意把 Discord webhook 網址刪掉最後三個字元,手動跑一次,去 Executions 點開那筆紅色紀錄,找到錯誤訊息、看懂它、再修好。在安全的環境練習看錯誤,真出事才不慌。
下一課預告
你的新聞雷達現在只會「轉貼」:標題丟過來,你還是得自己點進去讀。第 4 課我們把 AI 塞進這條流程:在 Filter 和 Discord 之間插一個 AI 節點,讓模型幫你把每篇文章摘要成三句話、標上重要程度,通知直接變成可讀的晨報。你會學到 n8n 的 AI 節點怎麼接模型、API key 怎麼管,以及整門課最值錢的技能之一:在自動化流程裡設計 prompt——跟你平常聊天式用 AI 完全是兩回事。這堂課的四節點流程留著,下一課直接在上面動刀。