里程碑
打造 wing man:LINE Bot x AI 智慧對話 x 免費影像生成 x Email 實時審批自動化系統
Albert @albert666發布於
系統核心功能與亮點
• 智慧雙向分流: wing man 機器人會自動判定用戶意圖。普通對話走文字回覆;當偵測到「畫圖需求」時,自動切換至影像生成流。
• 完全免費的 AI 繪圖: 繞過付費 API 限制,成功串接 Pollinations AI 繪圖引擎,達成零成本 Text-to-Image。
• 實時 Email 人工審批 (Human-in-the-Loop): 用戶要畫圖時,系統會先自動發送一封審批郵件到我的 Gmail。信中能直接親眼預覽 AI 生成的大圖,看過滿意後,點擊綠色「同意放行」按鈕,流程才會繼續往下走。
• 一條龍直線 Wait 監聽機制: 捨棄複雜、懸空且不穩定的多線路 Webhook,利用 n8n 的 Wait 節點 (On Webhook Call),將整套流程完美串連成一條不中斷的直線。
開發過程中的核心卡點與硬核除錯 (Debug)
在串接過程中,我遇到了自動化開發中極具代表性的 3 個致命死穴,並逐一完成破關:
- 徹底解決網址反斜線 (\) 與 JSON 格式汙染
• 痛點: AI 輸出的 JSON 字串中自帶了換行符號(\n)與引號,如果直接用網址(GET)拼湊或表單傳遞,會導致 URL 編碼爆掉,在 LINE 前端引發「破圖(空白相片)」或跳出 Unexpected token 語法崩潰。
• 解法: 在 HTTP Request 節點中,徹底拋棄外層混亂的引號包裹,直接使用最高規格的 JavaScript JSON.stringify() 與 JSON.parse() 自動轉義防禦機制,讓數據傳遞 100% 穩健。
- 繞過 LINE 官方 replyToken 30 秒過期魔咒
• 痛點: LINE 官方的回覆金鑰有極短的 30 秒時效限制。但在審批流中,從「AI 思考 ➔ 寄信 ➔ 人工開信審查」,必定會遠遠超過 30 秒,導致後台顯示成功,用戶手機卻完全收不到圖(Bad request)。
• 解法:
• 方案一 (Push 模式): 將回覆機制改為主動推送(Push Message API),並利用隱形表單將用戶永久不變的 userId 像行李一樣隨流程打包帶走,徹底解除時間壓力!
• 方案二 (Wait 動態恢復網址): 靈活運用 n8n 內建的最強變數 {{ $execution.resumeUrl }},在 Email 中直接生成動態安全加密超連結,點擊直接喚醒 Wait 節點,用最極致的速度秒回覆,連免費方案的 Push 額度都不會扣到!
- 跨 Wait 節點的變數失效 ([undefined])
• 痛點: 當流程在 Wait 節點停下、再次被我清醒喚醒時,後續節點會遺失第一站 Webhook 的原始 LINE 用戶資料,導致變數抓取直接變成 [undefined]。
• 解法: 點開 Wait 節點深層設定,開啟 Include Input in Output 選項,讓第一站的原始數據像坐電梯一樣被完美備份、一路帶到最末端。
💡 技術總結與心得
這次的開發讓我深刻體會到,優秀的自動化流程絕對不是一味地堆疊節點,而是要理解資料結構、精準管理變數生命週期。
特別是最後推導出「一條龍直線 Wait 架構」,讓整個 n8n 畫布變得無比乾淨優雅,成就感真的破表!目前系統已經完全開啟 Active 正式上線運行,文字聊天、繪圖審批全線完美通車!
感謝在除錯路上陪我見招拆招、推導邏輯的 AI 協作夥伴。第一個自動化項目,完美落地!🚀🎉
10 個愛心3 則留言
登入並驗證手機後就能留言。登入