聊天觸發器未將訊息傳遞到下一個節點

問題:
聊天觸發器節點未向下一個節點傳遞訊息
但當我直接向 Q&A 鏈發送訊息時,就能取得答案
我使用的是最新版本的 n8n,以 Docker 映像自行託管在 railway.app

程式碼:
{
“nodes”: [
{
“parameters”: {
“authentication”: “chromaCloudApi”,
“chromaCollection”: {
“__rl”: true,
“value”: “diabetes_care_2026_pdf”,
“mode”: “list”,
“cachedResultName”: “diabetes_care_2026_pdf”
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.vectorStoreChromaDB”,
“typeVersion”: 1.3,
“position”: [
640,
-96
],
“id”: “6bcbcabb-1628-4705-acc1-ec69e9cdd2ea”,
“name”: “Chroma Vector Store”,
“notesInFlow”: true,
“credentials”: {
“chromaCloudApi”: {
“id”: “GJVxnKM6boNKGDcQ”,
“name”: “ChromaDB Cloud”
}
}
},
{
“parameters”: {
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.embeddingsOpenAi”,
“typeVersion”: 1.2,
“position”: [
512,
-32
],
“id”: “53369344-d75a-4e1b-8cbe-7e330ada84e7”,
“name”: “Embeddings OpenAI”,
“credentials”: {
“openAiApi”: {
“id”: “U8c47VlPDVe4QvHM”,
“name”: “OpenAI account”
}
}
},
{
“parameters”: {
“model”: {
“__rl”: true,
“value”: “gpt-4o-mini”,
“mode”: “list”,
“cachedResultName”: “gpt-4o-mini”
},
“builtInTools”: {},
“options”: {
“textFormat”: {
“textOptions”: {
“type”: “text”
}
}
}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.3,
“position”: [
368,
-144
],
“id”: “85a2a69d-b7f5-43a0-9761-94f58981658e”,
“name”: “OpenAI Chat Model”,
“credentials”: {
“openAiApi”: {
“id”: “U8c47VlPDVe4QvHM”,
“name”: “OpenAI account”
}
}
},
{
“parameters”: {
“options”: {
“responseMode”: “lastNode”
}
},
“type”: “@n8n/n8n-nodes-langchain.chatTrigger”,
“typeVersion”: 1.4,
“position”: [
176,
-384
],
“id”: “2a23a459-2e0a-41e2-b42f-3f7dc8e457ce”,
“name”: “When chat message received”,
“webhookId”: “fb089fe6-d959-4530-8e15-b76291e07d0f”,
“alwaysOutputData”: false
},
{
“parameters”: {},
“type”: “@n8n/n8n-nodes-langchain.retrieverVectorStore”,
“typeVersion”: 1,
“position”: [
560,
-256
],
“id”: “8f040c30-62c4-4655-aec0-dd8db30f5575”,
“name”: “Vector Store Retriever”
},
{
“parameters”: {
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.chainRetrievalQa”,
“typeVersion”: 1.7,
“position”: [
400,
-384
],
“id”: “5abff650-028a-4dae-8859-00b3fc45f1ea”,
“name”: “Question and Answer Chain”
}
],
“connections”: {
“Chroma Vector Store”: {
“ai_tool”: [

],
“ai_vectorStore”: [
[
{
“node”: “Vector Store Retriever”,
“type”: “ai_vectorStore”,
“index”: 0
}
]
]
},
“Embeddings OpenAI”: {
“ai_embedding”: [
[
{
“node”: “Chroma Vector Store”,
“type”: “ai_embedding”,
“index”: 0
}
]
]
},
“OpenAI Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “Question and Answer Chain”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“When chat message received”: {
“main”: [
[
{
“node”: “Question and Answer Chain”,
“type”: “main”,
“index”: 0
}
]
]
},
“Vector Store Retriever”: {
“ai_retriever”: [
[
{
“node”: “Question and Answer Chain”,
“type”: “ai_retriever”,
“index”: 0
}
]
]
},
“Question and Answer Chain”: {
“main”: [

]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “e80c933fa7f4d5967cc2a038c97a89862a2e4ccb4b18372a6ce2a883e1398a68”
}
}

第一個檢查點是 Chat Trigger 產生的欄位名稱是否與 Q&A 鏈預期的不同。從 Chat Trigger 路徑開啟一個執行,並查看 Q&A/agent 節點之前的項目:使用者文本是在 chatInputmessage 還是其他地方?

只需貼出該已編輯的項目形狀和 Chat Trigger 之後的第一個節點。如果直接 Q&A 有效但 Chat Trigger 路徑為空白,有用的檢查是觸發器的文本欄位與鏈讀取的欄位之間的對應,而不是 Chroma。

聊天觸發也無法與代理程式搭配使用
這是漏洞嗎?
「當收到聊天訊息時」連接任何節點都會產生相同的錯誤回應「無法接收回應」
為什麼沒有資料傳遞到其他節點?

還不足以稱之為錯誤。Failed to receive response 是聊天頁面表示它沒有收到工作流回應;這不能證明聊天觸發器的輸出為空。

在更改代理之前,請檢查聊天觸發器的 Response Mode。如果是 Using Response Nodes,流程需要到達聊天節點或「Webhook 回應」節點。如果是 When Last Node Finishes,一個聊天訊息應該建立一次執行,且最後一個節點必須以輸出完成。只需貼上回應模式、n8n 版本,以及當您發送一條聊天訊息時是否出現新的執行。

沒有聊天觸發器:
它給出了回應

但有聊天觸發器:
聊天觸發器沒有將輸入傳遞到下一個節點,該如何調試或追蹤錯誤?

從執行紀錄進行偵測,而不是從聊天面板。傳送一條聊天訊息,然後開啟該新執行紀錄並先點擊 Chat Trigger 節點。如果其輸出包含 chatInput 下的文字,表示觸發器已運作正常,下一個節點讀取的是錯誤的欄位;將 {{$json.chatInput}} 對應到 agent/QA 節點讀取的欄位。

如果沒有出現任何執行紀錄,或 Chat Trigger 輸出完全沒有文字,那就是有用的證據。請只提供該執行紀錄中的回應模式、n8n 版本和已編輯的 Chat Trigger 輸出。

在你除錯時還有一件事要檢查:「Nothing to display yet」日誌面板表示根本沒有錄製任何執行紀錄,這通常表示工作流程沒有啟用。內建的聊天小工具只適用於已啟用的工作流程 - 確保你已切換工作流程為開啟(編輯器右上角的開關)。在測試模式中,觸發器每次手動測試執行只會觸發一次,所以嵌入式聊天小工具不會保持與它的連線。

@Hassan_Zakria

聊天觸發器仰賴 webhook。如果 n8n 不知道自己的外部 URL,聊天視窗就無法「找到」你的工作流程來發送訊息。

  • 問題所在: 如果在你的 Railway 環境變數中未設定 WEBHOOK_URL,n8n 會使用 localhost,但聊天介面試圖連接到你的 railway.app 網域。
  • 解決方案:
    1. 前往你的 Railway 專案設定變數
    2. 新增一個變數:WEBHOOK_URL
    3. 將值設定為你的完整 n8n 實例 URL(例如:https://n8n-production-xxxx.up.railway.app/)。務必包含 https:// 且以尾部斜線 / 結尾。
    4. 重新部署/重啟服務。

另外,在你的聊天觸發器設定中,回應模式設定為 「當最後一個節點完成時」

  • 問題所在: 如果 Q&A 鏈條遇到任何內部延遲,或輸出格式不完全符合聊天觸發器的期望,連接會逾時,導致「未能收到回應」錯誤。
  • 解決方案:
    1. 嘗試將回應模式變更為 「點擊時」「立即」 以查看觸發器是否有效。
    2. 如果用「立即」模式有效,表示 Q&A 鏈條花費時間過長或未能將有效的回應物件傳回觸發器。

謝謝你!:slight_smile: