在前幾天的實作中,我們分別讓 n8n 自動寄出「天氣通知」、「課程提醒」與「每日新聞摘要」。
雖然這些功能都能正常運作,但它們各自為政 —— 每天收到三封不同的信件,
其實有點雜亂,也不太方便閱讀。
所以今天,我要挑戰一個整合型應用 —— 讓 n8n 自動整合「天氣、星座、新聞」三個來源,
再透過 Dify 重新生成一封自然的「AI 智慧早報」郵件寄給我!
這就是我今天的主題:「多來源整合的 AI 智慧早報」。
我們的最終目標是每天早上收到一封個人化郵件,內容包含:
AI 會自動根據這三項內容,生成一篇自然流暢的「早安報告」。
我們今天的 n8n 流程如下:
Schedule Trigger → HTTP Request(天氣)
→ HTTP Request(新聞) → HTTP Request(星座)
→ Set(整合文字) → HTTP Request(Dify 生成早報)
→ Gmail(寄出)
設定每天早上固定時間寄信,例如早上 7:30:
這樣每天早上就會自動生成早報。
使用 OpenWeatherMap API:
Method: GET
URL:
https://api.openweathermap.org/data/2.5/weather?q=Taipei&appid=你的API_KEY&units=metric&lang=zh_tw
輸出重點:
{
"main": { "temp": 25 },
"weather": [{ "description": "多雲時晴" }]
}
這裡可以使用 NewsAPI,先註冊取得 API key。
Method: GET
URL:
https://newsapi.org/v2/top-headlines?country=tw&apiKey=你的API_KEY
輸出重點:
{
"articles": [
{ "title": "科技部宣布AI新政策" },
{ "title": "股市早盤上漲百點" }
]
}
可使用免費星座 API,例如:
https://ohmanda.com/api/horoscope/gemini/
將 “gemini” 改成你的星座名稱(英文,例如 virgo, leo, cancer)。
輸出重點:
{ "horoscope": "今天的你會有新的靈感與機會,勇敢地嘗試吧!" }
這是將前面三個來源的輸出整合為 Dify 可讀取的文字:
{
"text": "今天台北天氣多雲時晴,氣溫約25度。最新新聞包括:科技部宣布AI新政策、股市早盤上漲百點。另外,雙子座今日運勢:你會有新的靈感與機會,勇敢地嘗試吧!"
}
小技巧:使用 Expression 引用前面節點的資料,例如:
{{ $node["HTTP Request"].json.main.temp }}
{{ $node["HTTP Request1"].json.articles[0].title }}
Method: POST
URL: https://api.dify.ai/v1/chat-messages
Headers:
Authorization: Bearer 你的_Dify_API_KEY
Content-Type: application/json
Body (JSON):
{
"inputs": {},
"query": "請根據以下資訊撰寫一封早安郵件:{{$json['text']}},語氣自然、親切。",
"response_mode": "blocking",
"user": "morning-news"
}
{{ $json["answer"] }}
執行結果如下:
早安!今天台北天氣多雲時晴,氣溫約25度。
今日頭條:科技部宣布AI新政策,股市早盤上漲百點。
雙子座的你今天靈感滿滿,勇敢去面對挑戰吧!
一封結合資訊、運勢與人情味的 AI 智慧早報就完成了!