跳至主要內容

里程碑

n8n x Line 【 買物小幫手 】 想到就傳,幫你記下累積購物清單

51軒 @wuyixuan發布於

一、為什麼想做這個作品?
  一開始拿到專案任務時其實沒有特別明確的想法,自己也是第一次使用自動化流程,很多概念是從頭理解。所以我也是先跟著上哲兄的教學影片,細細品味n8n跟吸收課堂內容。(順帶一提 ~ 教學真的超仔細的啦!)

  經過幾天主題發想,某天我以自己的身分跟家庭情境出發,發現我們家平常多習慣在家煮飯,因此買菜、採買食材和零食非常頻繁,加上家人不常網購日常高頻使用的食材。因此幾乎每個禮拜,甚至每隔兩三天就會去全聯或附近的大賣場採買。但時常發生一個情況是真正在要購買的那個當下或是出門前,無論是我或是家人都要重新反覆確認要買的品項,除了消耗腦力,每次家人互相對齊資訊的過程也可能演變成小爭執(因為各自都只記得一部分~怪罪對方都沒幫忙記)。加上我也希望家裡每個人都能幫忙採購,但如果大家各自用記憶或隨手寫在紙上,就很難同步知道彼此需要買什麼。有時候到了賣場才發現忘了某樣東西,回家後又想起還有東西沒買,甚至得再跑一趟。

  想到這些不太方便的地方,我就想利用學到的功能來著手解決看看。這樣需要採買的人就能先看看清單,買完也能更新狀態,減少忘記或重複購買的情況。這就是我後來決定把作品方向轉成買物小幫手的原因。

二、作品介紹與功能 (如果大家覺得有趣可以多多留言或按讚支持~)
  這次製作的作品是「買物小幫手」,想到要買什麼時,只要傳訊息告訴它商品名稱和數量,它就會幫忙記錄下來;如果沒有特別說數量,系統會先用預設數量 1 筆記下來,不用等到資訊都想得很完整才開始記。之後出門購物前問他:我要去全聯或是我要買啥等等自然語言他就能告訴你待買清單!(目的想讓使用者阻力越小越好)

  買完之後,可以回報已購買的商品;若只買到一部分,也能更新數量,還沒買完的部分會繼續留在清單中。若某樣商品暫時不需要購買了,也可以取消待買項目;當使用者沒有說清楚是要整項取消,還是只減少數量時,Chatbot 會先詢問,而不是直接把整項刪掉,避免一時說得不清楚就讓清單被改錯。

  前面提到可以用簡單自然語言輸出需求,功能上我也希望能讓使用者用平常說話的方式管理清單。例如同一則訊息可以同時新增一樣商品、減少另一樣商品,不用為了不同動作分開操作。處理完成後,Chatbot 會回覆實際更新的商品和數量;如果遇到找不到商品或資訊不足等情況,也會說明清單沒有更動,讓使用者知道現在發生了什麼。

  目前這個作品設計還是先以個人清單為主,還沒有完成讓全家人共用、同步更新的功能。(有從Line developer 開啟可以讓其他人加入的選項!)不過最初的想法正是希望未來能讓家人一起使用,讓每個人都能查看和更新同一份採買清單。

三、我的製作過程
  這次主要使用 n8n 作為自動化平台,搭配 LINE Messaging API、Webhook、JavaScript 和資料表,串起整個互動流程。使用者從 LINE 傳來訊息後,會先由 Webhook 接收,再交給 AI Agent 理解訊息內容,接著透過 Edit Fields 整理資料,並由 Switch 判斷這次要執行哪一種功能。
不同功能會接到不同節點,例如用 Get row(s) 查詢待買資料,透過 Code in JavaScript 檢查商品和數量、整理後續要執行的動作;需要更新資料時,再使用 Insert row 或 Update row(s) 寫入資料表。像同一則訊息同時包含新增和取消動作時,則會透過 If 判斷資料是否通過檢查,再用 Merge 匯整不同分支的結果。最後再由不同的 HTTP Request 節點呼叫 LINE Messaging API,把成功結果、清單內容或未能處理的原因回覆給使用者。流程中也看得到 Aggregate 用來整理多筆資料,而過程中的累計項目也被Data table (家庭購物清單)儲存起來!。
  製作時我花了不少時間理解節點之間怎麼傳資料,起初工作流程其實沒那麼複雜,紀錄的功能也都有,但是為了求功能盡可能齊全,後來自己把想法跟ai交流,結果累積的成果就逐漸衍伸出好多個節點了(過程中gpt不斷教我~讓我把想法兌現)尤其是第一次接觸 Switch,一開始不太清楚該怎麼依照不同訊息分流。後來也慢慢熟悉 If 的條件判斷、資料表的新增與更新,以及 JavaScript 如何協助檢查資訊、避免資料不完整時直接更動清單。過程中遇到問題時,就只能透過截圖問ai 一步步檢查輸入和輸出、調整設定,再用 LINE 實際測試。雖然有些地方來回修改了好幾次,但也有幾次是利用上哲兄課程中提到的做法去自我檢驗、拿去跟ai理論一下,讓需求修正更精準(有意識到課程打基礎的重要,否則ai會讓你執行一些過度複雜的節點,就差點被牽者走了)!

四、心得
  我很高興自己找到一個生活中的痛點,而且用n8n解決。這是整個製作過程中最讓我有成就感的地方,也是在遇到困難時,讓我能繼續做下去的最大動力。過程中我也有一段時間覺得有點迷惘。那時候學到的功能還有限,但又希望作品能做得更完整;有時 AI 提供的做法會讓我覺得有點繞、不太直觀,甚至可能影響原本的工作流程。
  後來經過一次又一次的討論、測試和修正,我終於有把原本的想法做出來,也很滿意成果的完整性(只差一些微調的訊息判別,主要功能都很ok)。工作流確實比一開始想像的長,但完成之後,我也回頭了解每個節點的用途。從課程中的基礎概念,到最後實際做出能解決生活問題的作品,這些累積讓我感覺自己運用 AI 和整理需求的能力都有進步,而且很扎實!第一次小專案對我來說很珍貴,也真的發現自動化的強大,開始產生更多興趣(不是單純只有 Vibe coding而已了)或許目前自己設計的流程還是過於繁瑣,但有了這個經驗基礎,我會希望繼續把握之後免費資源,繼續努力征服其他可愛的小專案!

0 個愛心0 則留言

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