跳至主要內容

里程碑

研究生行事曆小精靈🧚‍♂️ LINE每日晨報提醒NTU COOL & Google Calender任務 + LINE對話直接新增/刪除/查詢行程

HowN @hownnnn發布於 已編輯

專案背景

研究生的截止日期散落在很多地方:NTU COOL 上的作業、課堂上口頭交代的報告、群組裡約好的小組討論,還有跟朋友的聚會。每個平台都有自己的通知,卻沒有一個地方能一次看完「今天和這週到底要做什麼」。

所以我用 n8n 串接 LINE、Google 日曆和 NTU COOL,做了一個住在 LINE 裡的 AI 小精靈,讓它當我研究生活的行事曆助理。從零開始到串好 NTU COOL,大約花了兩個小時。

想解決的問題

  • 資訊分散:COOL、日曆、聊天群組要分開查,常常漏看
  • 登錄麻煩:臨時想到的行程,打開日曆 App 填表單很花時間,最後乾脆不記
  • 缺少主動提醒:平台通知一則一則跳出來,沒有人幫我整理成「今天的重點」

我希望早上起床就收到一則整理好的訊息;平常有新行程時,像傳訊息給朋友一樣丟給它就好。

使用工具

  • n8n Cloud:串接所有服務的 workflow 平台
  • LINE Messaging API:接收訊息與推播(免費方案)
  • Gemini 2.5 Flash:理解口語、撰寫晨報
  • Google 日曆:存放作業與行程
  • NTU COOL 行事曆摘要(.ics):作業來源,不需要令牌

目前花費:0 元(使用 n8n Cloud 試用版)

做法

系統架構
行事曆小精靈workflow
每日晨報workflow

整個系統由兩條 n8n workflow 組成。

1. LINE 小精靈(收到訊息時啟動)

Webhook 接收 LINE 訊息 → IF 節點確認是我本人 → AI Agent 判斷我想做什麼 → 用 Reply API 回覆。

AI Agent 掛上對話記憶和 7 個 Google 日曆工具,分成新增、查詢、刪除三類。我在 System Message 裡寫清楚規則,例如:

  • 「下週三」「後天」要以現在時間推算
  • 作業沒說時間,預設當天 23:59 截止
  • 刪除或改期前,一定要先問過我

2. 每日晨報(每天 08:00 啟動)

Schedule Trigger → 讀取 Google 日曆的作業與今日行程 → 下載 NTU COOL 的行事曆摘要 → 用 Code 節點篩出未來七天的作業、合併排序 → 交給 AI 寫成好讀的訊息 → 用 Push API 推播到 LINE。

串 NTU COOL 時,我沒有使用 API 令牌,而是用 COOL 行事曆頁面提供的「行事曆摘要」。它是一個 .ics 網址,不需要登入就能讀取,設定最簡單。

成果

每日晨報
早上8點收到的晨報

每天早上八點,LINE 會收到一則晨報:今天截止的作業放最前面,接著是未來七天的作業(COOL 上的和我自己補登的會合併在一起),最後是今天的行程。

完成第一版的那天早上八點,就準時收到了第一則晨報。

平常在 LINE 可以直接用口語操作:

LINE對話新增、刪除、查詢行程
  • 新增:「後天晚上七點要跟朋友吃飯」→ 自動推算日期,建進 Google 日曆
  • 查詢:「我這禮拜有什麼事」→ 查完三個日曆,分成作業和行程列出
  • 改期:「期中報告大綱改到週五交」→ 先回報原本和新的時間,確認後才改
  • 取消:「取消週三的小組討論」→ 找到事件、問過我才刪除

過程中踩到的坑

過程中出現的錯誤,分享幾個給也想做的人:

  1. 工具節點不能用中文命名
    AI Agent 會把節點名稱轉成工具名稱,中文字會被換成底線,結果兩個工具都變成「_」而撞名。改成 add_homework 這種英文名稱就解決了。
  1. 複製節點後忘了改 Operation
    我把「新增」工具複製一份改成「搜尋」,卻忘了把 Operation 從 Create 改成 Get Many。結果每次查詢,日曆上都會多出一個無標題事件,一開始還以為是 AI 判斷錯誤。
  1. Gemini 3 和平行呼叫工具的錯誤
    Gemini 3 Flash Preview 使用工具後會出現 Thought signature 錯誤,換成 2.5 Flash 後改善。另外,AI 同時呼叫兩個搜尋工具時也會報錯,最後在規則裡要求它「一次只用一個工具」。
  1. 「這禮拜」在週日只剩一天
    我原本把「這週」定義成今天到本週日,結果在週日問,它只查了當天。後來改成「今天起算七天」,和晨報的範圍一致。
  1. 刪除一定要加確認
    有一次我重複傳了同一句話,它就把第二句當成「確定」,直接刪掉了作業。之後在規則裡寫明:只有明確說「取消」「刪除」時才能刪,而且一定要等我確認。

限制與下一步

  • COOL 的行事曆摘要看不出作業交了沒,已繳交的作業在截止前仍會出現
  • LINE 查詢 COOL 作業時,靠的是 Google 日曆訂閱,同步會晚幾個小時;晨報則是每天直接抓,不受影響

接下來想在晨報加上「距離截止還剩幾天」的倒數,也想把這套流程延伸到文獻閱讀進度的管理。

0 個愛心0 則留言

登入並驗證手機後就能留言。登入