聊天節點出現問題

如何解決此問題

關於你的 n8n 設定資訊

  • n8n 版本:2.19.2
  • 資料庫(預設:SQLite):
  • n8n EXECUTIONS_PROCESS 設定(預設:own, main):
  • 執行 n8n 的方式(Docker、npm、n8n cloud、桌面應用程式):docker
  • 作業系統:windows 11 23H2

@Erro_Erro

請注意這是一個英文論壇,所以下次發文前請先使用線上翻譯工具。

「無法接收回應」這個錯誤基本上表示聊天窗口發送了一個請求,但從未收到回覆。就像發送簡訊並看到已送出,但對方卻沒有回覆一樣。工作流程開始執行了,但最終的答案在到達你的螢幕前遭到丟失或阻擋。

最可能的原因是你在工作流程末端放置的「Limit」節點。在 n8n AI 設置中,AI Agent 需要直接將其回應發送回聊天觸發器。透過在 AI Agent 後面放置一個 Limit 節點,你基本上設置了一個障礙,阻止答案返回到聊天介面。移除這個節點是你應該首先嘗試的事。

另一種可能是系統單純超時。因為你的工作流程進行了大量繁重的工作——從磁碟讀取檔案並搜索 MongoDB 資料庫——生成答案所需的時間遠長於簡單的聊天。如果過程耗時太久,聊天窗口會停止等待並顯示錯誤,即使 AI 仍在背景中工作。

你的某個工具內也可能存在技術故障。如果 Google Gemini API 金鑰不正確或 MongoDB 連線不穩定,AI Agent 可能會無聲地崩潰。要找出這是否發生,你可以檢查 n8n 中的「執行」標籤;任何轉為紅色的節點都是工作流程失敗的具體位置。

要解決這個問題,首先刪除 Limit 節點並再次測試聊天。如果這樣不行,檢查你的執行日誌中是否有紅色的錯誤訊息,看是否有特定的工具崩潰。你也可以嘗試臨時斷開檔案和資料庫節點,看看 AI 是否能自行回應,這樣可以幫助你確定問題出在鏈中的哪個部分。

@Erro_Erro

看起來修正在你的 AI Agent 節點中,而不是在 Chat Trigger 本身。

你需要在 AI Agent 內正確對應使用者訊息。在 Source for Prompt (User Message) 欄位中,請選擇 Define below 而不是使用自動的 Chat Trigger 選項。這很重要,因為 Define below 讓你能手動告訴 AI Agent 應該使用哪個值作為使用者的訊息。

然後將此表達式貼到 Prompt User Message 欄位中:

={{ $('When chat message received').item.json.chatInput }}

這會告訴 AI Agent 從 Chat Trigger 節點讀取 chatInput 值,並將其用作使用者的訊息。

請複製下方的 JSON,並用它替換你目前的 Chat Trigger 和 AI Agent 節點。

重要的是:AI Agent 表達式中的節點名稱必須與你的 Chat Trigger 節點名稱完全相符。如果你的節點有不同的名稱,請更新此部分:
$('When chat message received')

抱歉用法文寫的,我之前試過只用聊天節點和 AI,但錯誤仍然持續,我真的不知道該怎麼辦了

我已經嘗試過了,但沒有任何改變,錯誤訊息在 AI 節點中顯示,但未發送回應

你能把你的 JSON 發送到這裡嗎,我可以幫你檢查並提供已解決的 JSON,@Erro_Erro

我找到並修復了錯誤,

我的容器有 -e N8N_HOST=0.0.0.0,這就是錯誤,我把 0.0.0.0 替換成 localhost,錯誤就修復了!感謝大家