讓 AI 自動為你工作:自動路的第一步初探 n8n

這篇文章主要是初次嘗試部署 n8n 的筆記

為什麼想讓 AI 自動為你工作?

近年來,「AI agent」成為熱門話題。許多公司投入研發,像是 MTK 的達哥專案、ChatGPT 曾經的 Operator 功能等等。雖然離真正的通用型 AI agent 還有距離,但我們可以先從更實用的任務出發:像是讓 AI 幫你定期寄送技術週報摘要,成為你生活中的小助理。

這篇文章將帶你踏出第一步,透過 n8n 建立屬於自己的 AI 自動化工作流程,從 RSS 抓新聞、交給 OpenAI 摘要,再透過 Gmail 寄信,全流程自動化。


自動化流程工具簡介:n8n 是什麼?

雖然網路上已有大量工具比較文章,我這邊不打算重複整理功能與理論。不過還是會先透過一張簡單的對比圖表,快速帶大家瀏覽它們之間的差異。 n8n homepage


實作重點:用 Docker 快速部署 n8n

那就讓我們快速開始吧! 首先我們直接使用docker來快速部署n8n的環境,畢竟這種工具導向的東西,我建議我們先快速的把環境架設起來,掌握好大方向. n8n homepage

步驟一:確認你已安裝 Docker

如果你還沒安裝 Docker,可以到Docker 官網 下載並安裝:

步驟二:建立一個資料夾用來放 n8n 的設定

1
2
mkdir -p ~/n8n
cd ~/n8n

步驟三:建立 docker-compose.yml

在同樣的地方裡新建一個檔案,內容如下 (可直接用你自己的 Gmail OAuth 或 basic auth)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: "3"
services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "6666:6666"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=admin123
      - N8N_HOST=localhost
      - N8N_PORT=6666
      - N8N_PROTOCOL=http
    volumes:
      - ./n8n_data:/home/node/.n8n

步驟四:啟動服務

在終端機中執行:

1
docker compose up -d

啟動後可至 http://localhost:6666 進入 n8n 介面。 你如果看到以下畫面,恭喜你成功了跨出了第一步 n8n homepage


套用 AI 技術新聞摘要範本

接下來我們就可以進入下一階段 —— 直接套用一個現成的 AI 技術新聞摘要範本,省下自己從零設計流程的時間。 並且我認為從範本上手,也許能更快進入狀況

匯入官方 workflow Templates

首先在你註冊完n8n帳號後,你可看到到網站中左下角的「Templates」 勇敢的點下去,可以看到目前上面已經有超過 2300+ 個可以直接使用的樣板, n8n homepage

n8n homepage

接著來我們這次要的範本「Personalized AI Tech Newsletter」 點選「Use for free」 n8n homepage 選擇「Copy template to clipboard」 n8n homepage 回到你的環境開新的檔案 → 貼上 template

1
2
3
4
   先新建一個副檔名為json file
   直接貼上你剛剛複製的內容
   到n8n 頁面右上角的 + → Import from File
   然後把剛剛複製的 JSON 貼上 → 點 Import

成功匯入範本之後,你會看到整個流程圖(workflow)已經建立好,但同時也會發現許多節點上出現紅色小三角形,這代表這些節點目前無法正常運作,多半是因為缺少必要的 API 金鑰或帳號設定。 像下圖這樣 n8n homepage

別擔心,這部分我們只需要修改兩個關鍵地方:

設定 OpenAI 與 Gmail

OpenAI API Key 設定

我們的 workflow 會將 RSS 抓下來的技術文章交給 ChatGPT 分析、摘要與精煉,因此你需要有一組有效的 OpenAI API 金鑰。 首先點一下openAI旁邊那個三角形,可以看到需要Select Credential。

n8n homepage

再次點擊三角形後 依以下步驟取得API Key:

1
2
3
4
   前往 https://auth.openai.com/log-in 登入你的 OpenAI 帳號(若沒有請先註冊)
   登入後,前往 https://platform.openai.com/account/api-keys
   點選 Create new secret key
   將金鑰複製起來,回到 n8n 的 workflow 畫面中,點選使用到 OpenAI 的節點(通常是 HTTP Request 或 AI Model 節點)

填入即可。 n8n homepage

P.S: 使用API Key是需要另外付費的喔!和平常訂閱的ChatGPT聊天機器人是分開收費的

Gmail API 串接

完成 AI 摘要後,我們需要透過 Gmail 將電子報寄到你的信箱。這裡就需要使用 Google 提供的 Gmail API。 如果你是第一次使用 Google API,這部分相對繁瑣一點。但別擔心,我推薦以下兩個教學:

1
2
   * 🧾 n8n 官方教學(英文):
 How to connect Gmail with n8n
1
2
   * 🧑‍💻 推薦教學網站(繁中):
 RaymondHouch:n8n 串接 Google Credential 完整教學

理論上你應該可以像上一步一樣點擊三角形後進行對應設定。

n8n homepage


Google OAuth 驗證常見問題

如果你順利完成了前面所有步驟,那麼恭喜你,你已經非常接近自動化的技術電子報人生了! 不過……如果你和我一樣,最後還是卡在 Gmail API 的認證階段,請相信你不是孤單的。 我自己大概花了 8~9 個小時 才完整搞定這段流程,而卡關的主因幾乎都出在 Google OAuth 2.0 的驗證流程。

為何會卡關?

Google OAuth 需要指定一個 Redirect URI,也就是驗證完之後,Google 要將你導回的網址。這個網址必須是公開可訪問的,因為 Google 要從瀏覽器導回你的環境。 但問題來了: 我們大部分人部署的 n8n 是在自己的 本機(localhost) 或 內網的 Docker 環境,這並不是一個對外開放的網址。 因此你需要讓 Google 能夠「看得到」你的 n8n。這時候我們有幾種解法:


解法:

方法名稱優點缺點
使用雲端伺服器(VPS)穩定、正式部署需維運,需成本
n8n.cloud 官方託管超簡單,開箱即用免費版每月限 200 次 workflow 執行
Cloudflare Tunnel(推薦)免費、靈活,可將本機對外曝光需安裝 cloudflared

我在這邊採了 Cloudflare Tunnel 方案

Cloudflare Tunnel 實作流程

1. 安裝 cloudflared

1
2
3
4
5
# macOS
brew install cloudflared

# Ubuntu / Debian
sudo apt install cloudflared

2. 登入並建立 Tunnel

1
2
cloudflared tunnel login
cloudflared tunnel create n8n-tunnel

3. 建立設定檔 ~/.cloudflared/n8n.yaml

1
2
3
4
5
6
7
tunnel: <你的 tunnel id>
credentials-file: /root/.cloudflared/<你的 tunnel id>.json

ingress:
  - hostname: n8n.swarkdoit.com
    service: http://localhost:6996
  - service: http_status:404

4. 調整 docker-compose.yml 使用 port 6666

1
2
3
4
5
ports:
  - "6996:6996"
environment:
  - N8N_PORT=6996
  - WEBHOOK_URL=https://swarkdoit.com

這裡的 6996 是我在 Docker 裡設定給 n8n 的埠號。你可以根據自己 docker-compose.yml 的設定做調整。 另外WEBHOOK_URL 必須是你 Cloudflare 設定的網域,這樣 Google OAuth 驗證時才會成功跳轉回來。

5. 啟動服務與隧道

1
2
docker compose up -d
cloudflared tunnel run n8n-tunnel

成果驗收:啟動自動化流程

打開 n8n 編輯器,按下右上角「Execute Workflow」,驗證: 可以看到每個節點(node)逐步打勾。 如果成功完成就會如下圖: n8n homepage

如果失敗就會看到熟悉的紅色三角形 n8n homepage

那就要開始debug了QQ

當所有步驟順利打勾後,恭喜你!你應該會在幾秒鐘後,收到一封屬於你個人的 AI 電子報,其中內容是由 OpenAI 幫你總結技術新聞,再透過 Gmail 寄送給你自己。

n8n homepage

最後的最後別忘了active workflow,真正實現「讓 AI 自動為你工作」的第一步

n8n homepage

comments powered by Disqus
Built with Hugo Stack | © Swark
使用 Hugo 建立
主題 StackJimmy 設計