里程碑
打造自己的 LINE 個人管理小精靈
阿天 @atian_1211發布於
一、專案簡介
阿天是一個透過 LINE 操作的個人管理小精靈,希望將日常生活中突然冒出的想法、待辦事項、消費紀錄等資訊,快速整理並保存下來。
不用另外打開管理軟體,只要傳送一則 LINE 訊息,阿天就會利用 AI 協助判斷訊息內容、分類並整理成紀錄,讓日常資訊管理變得更方便。
二、開發動機
平常常常突然想到一些創意、想做的事情,或是臨時產生一筆消費,但不一定有時間立刻整理。
雖然可以先把內容記在 LINE 或手機備忘錄中,卻容易累積成一堆尚未分類的資訊。因此,我想建立一個符合自己使用習慣的個人管理系統,讓我可以隨時透過手機輸入訊息,再利用 AI 協助整理,之後也能進一步查詢與統整。
與其尋找現成工具,不如試著自己做一個!於是「阿天」就誕生了。
三、阿天能做什麼?
| 功能 | 說明 |
|---|---|
| 想法紀錄 | 記錄突然想到的創意、目標或計畫。 |
| 待辦事項 | 整理需要完成的事情與行程。 |
| 消費紀錄 | 記錄消費內容、金額及日期,方便後續統整。 |
| AI 訊息整理 | 利用 AI 判斷訊息類型,將文字轉換成結構化資料。 |
| 今日待辦回覆 | 根據查詢到的紀錄,整理並回覆當日待辦事項。 |
使用情境範例:
- 「我想學習網頁設計」→ 分類為想法。
- 「明天要去買衣服」→ 分類為待辦,並整理日期。
- 「剛剛買地瓜球花了 60 元」→ 分類為消費,整理品項與金額。
希望未來不論是突然想到的點子,還是日常生活中的瑣事,都能先交給阿天記下來,不再因為一時忙碌而忘記。
四、使用者流程與系統架構
目前的系統主要由 LINE、n8n、AI Agent 與 Data Table 組成。
使用者傳送 LINE 訊息
↓
LINE Messaging API
↓
n8n 接收訊息並執行工作流程
↓
AI Agent 分析訊息、分類與整理內容
↓
JavaScript 整理資料格式
↓
Data Table 儲存紀錄
↓
AI Agent 組織回覆內容
↓
LINE 回覆使用者整體流程可以分成三個階段:
- 接收訊息:透過 LINE 接收使用者輸入的文字。
- 分析與儲存:** 使用 AI 判斷訊息類型,再將整理後的資料寫入 Data Table。
- 回覆訊息:** 將處理結果回傳 LINE,並提供今日待辦相關資訊。
透過 n8n 將不同服務串接起來,即使不需要從頭開發完整的後端系統,也能逐步建立自動化工作流程。
五、資料表欄位設計
為了讓原本非結構化的文字可以被儲存與查詢,我將每筆紀錄整理成以下欄位:
| 欄位 | 用途 | 範例 |
|---|---|---|
| 使用者 ID | 辨識紀錄所屬的 LINE 使用者 | LINE User ID |
| 類別 | 區分不同資訊類型 | idea、task、expense、other |
| 內容 | 紀錄主要資訊 | 買地瓜球 |
| 金額 | 記錄消費或收入金額 | -60 |
| 日期 | 紀錄事項發生或預計執行的日期 | 2026-10-25 |
將資料統一成固定欄位後,未來就能依照使用者、類別或日期進行篩選,也能作為後續統計與查詢的基礎。
六、使用到的技術
| 技術/工具 | 使用方式 |
|---|---|
| LINE Messaging API | 接收使用者訊息,並將處理結果回覆至 LINE。 |
| n8n | 建立自動化工作流程,串接各項服務。 |
| AI Agent/AI 模型 | 理解自然語言、判斷資料類別並整理內容。 |
| Data Table | 儲存整理後的紀錄,作為後續查詢的資料來源。 |
| JavaScript | 處理 AI 輸出、解析 JSON,並將資料轉換成需要的格式。 |
七、困難點
開發過程中,原本希望阿天除了新增紀錄,也能理解使用者是在建立新資料,還是在補充先前的內容。
例如:
使用者:「明天要買衣服。」
使用者:「預算大概 2,000 元。」
理想上,阿天應該能辨識第二句是在補充第一筆紀錄,而不是建立一筆全新的資料。
不過,當同一位使用者同時存在多筆待處理紀錄時,系統可能無法正確判斷應該更新哪一筆資料,增加了流程判斷與資料處理的複雜度。
因此,現階段決定先採用比較單純的方式:
- 每次收到訊息,就先將整理後的內容新增為一筆紀錄。
- 暫時不處理舊資料的補充與合併。
- 優先確保訊息可以完成分類、儲存與回覆。
雖然這樣還不是最理想的互動方式,但能先建立穩定的基本流程,再逐步擴充功能。
八、實作過程中遇到的問題
| 遇到的問題 | 目前的處理方式/後續方向 |
|---|---|
| 如何判斷自然語言中的類別、日期與金額? | 設定 AI Agent 的分類規則與輸出格式,讓資料能以固定欄位保存。 |
| AI 輸出格式與資料表欄位不一致 | 使用 JavaScript 解析 JSON,並將欄位轉換成資料表需要的格式。 |
| 如何判斷訊息是在新增還是補充舊紀錄? | 先簡化流程,每則訊息新增一筆資料,避免錯誤更新既有紀錄。 |
| 如何讓阿天正確回覆今日待辦? | 需要依照日期與待辦類別查詢資料,再交由 AI 整理回覆;目前仍有需要調整與驗證的地方。 |
這次實作讓我發現,AI 能理解文字,不代表整個自動化流程就一定正確。從資料格式、條件判斷、資料儲存到最後的回覆,每個環節都需要仔細確認。
九、未來可以改進的方向
- 補充與更新舊紀錄: 讓阿天能理解前後文,正確找到對應資料並更新。
- 避免重複資料: 判斷相同或重複輸入的內容,減少不必要的紀錄。
- 完善今日待辦查詢: 確保依照台灣當地日期與待辦類別查詢,並正確呈現結果。
- 增加查詢與統計功能:*例如查詢本週待辦、每月支出或過去的想法紀錄。
- 持續改善使用體驗:*讓互動更自然、回覆更精簡,也能妥善處理資訊不足的情況。
十、實作心得
之前就聽過 n8n,但一直沒有真正動手研究。這次想說,不如試著做一個自己真正會用到的工具,沒想到一研究就不小心花了好多時間 XD
從原本單純想記錄生活資訊,到開始思考 AI 如何理解訊息、資料要如何儲存,以及不同節點之間該如何串接,才發現一個看似簡單的小功能,背後其實有不少需要考慮的細節。
雖然目前還有一些問題需要修正,部分功能也還有進步空間,但能一步步把想法轉換成實際運作的 LINE 小精靈,過程中真的很有成就感!
這次最大的收穫,不只是初步學會 n8n 的操作,更是開始理解如何將需求拆解成清楚的流程,再透過不同工具一步步實現。
阿天還在持續進化中,歡迎大家指教,也期待未來能把它做得更完整、更實用!
1 個愛心0 則留言
登入並驗證手機後就能留言。登入