里程碑
n8n 串接 LINE 我的AI小精靈
企鵝雞 @cn發布於
這次使用 n8n 打造 LINE AI 聊天機器人,過程中遇到了幾個卡關點。這份筆記大概記錄了從基礎串接到 AI Agent 整合的「避坑指南」,希望能幫助大家少走一點冤枉路。
首先請大家永遠分清楚「測試」與「正式」環境
這是一開始最容易讓人崩潰的地方。n8n 的 Webhook 分為兩種模式,絕對不能混用:
· Test URL(測試環境):只有在點擊 Listen for test event 後的 120 秒內有效。超過時間,LINE 傳來的訊息就傳不進來。
· Production URL(正式環境):必須在 n8n 右上角點擊 Publish(發布),並且將此網址填入 LINE Developers 後台,才能 24 小時不間斷接收訊息。
:之前因為一直停留在測試模式,或者在 LINE 後台填錯了含有 -test 的網址,導致 LINE 永遠回傳 404 Not Found。另外如果修改了工作流但忘記重新 Publish,生產環境的路由也會卡住失效。
所以當看到 The webhook returned an HTTP status code other than 200 (404 Not Found) 時,請逐一檢查:
- 網址是否完全正確:複製 Production URL,確保前後沒有隱藏空格,貼入 LINE 後台。
- 工作流是否已發布:確認右上角顯示綠色的 Published。
- 是否不小心進入測試模式:確認沒有點擊 Listen for test event。
- Webhook 節點的 Respond 設定:必須設定為 Immediately(基本上是原始設定)。
從單純的 OpenAI 節點升級到 AI Agent 時,資料流的傳遞會發生變化,這裡有個超級大地雷:
處理 AI 回覆的「換行符號」
當 AI 回覆長文時,裡面通常會包含換行(Enter)。如果直接把變數塞進 JSON 的雙引號裡,會導致 JSON 解析失敗,報出 Bad control character in string literal。
· 解法:使用 JSON.stringify() 函數,並將變數放在雙引號外面。
· 語法:"text": {{ JSON.stringify($json.output) }}
0 個愛心1 則留言
登入並驗證手機後就能留言。登入