8
n8n 中文网amn8n.com

动态网站助手与DeepSeek AI、Pinecone向量库和基于站点的路由

高级

这是一个Support Chatbot, AI RAG领域的自动化工作流,包含 33 个节点。主要使用 Switch, Webhook, Agent, RespondToWebhook, EmbeddingsCohere 等节点。 集成DeepSeek AI、Pinecone向量库和基于站点路由的动态网站助手

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • PostgreSQL 数据库连接信息
  • Pinecone API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "10695d6c896719a133e4565c83ff18ae1c33cae9d0ca63f232efd9b2ddd0b904"
  },
  "nodes": [
    {
      "id": "97996cba-36f9-455e-b02d-c054c9e82f38",
      "name": "Postgres Chat Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -980,
        2440
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_3",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "id": "22GVfrWGc7ERSw5X",
          "name": "Postgres account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "5ae9982c-055e-421a-a47e-320a90f43249",
      "name": "OpenRouter聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -1100,
        2440
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "ryoz2T1DqlynMwW5",
          "name": "shahzaib-N"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "208cfefe-77c5-4762-a61c-4dcd31c2e741",
      "name": "Pinecone Vector Store5",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -860,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "Service_Packages_Overview"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "asjdnkjanfkjadnfkan;"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "cbd466c8-1170-4b1a-83c3-5a61ad5ff34a",
      "name": "Embeddings Cohere",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -780,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "295ee1d6-1083-4ab0-ae19-608504a78ca9",
      "name": "Pinecone向量存储6",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -580,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "services"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "askclnalkdnclkdsnckj"
        },
        "toolDescription": "vector store for: services"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "38ff953c-e660-4486-9b6b-754b58ad758c",
      "name": "Embeddings Cohere6",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -500,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2b6ed992-91ce-4d77-8a2c-c452b3ede109",
      "name": "Pinecone向量存储7",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -300,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "options": {
          "pineconeNamespace": "terms_of_use"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "adlkfncldkanv;kjhv"
        },
        "toolDescription": "vector store for: terms of use"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fe4fe472-0e5d-4af2-a28d-91c6aab1b1a6",
      "name": "Embeddings Cohere7",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -220,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "69a71207-a8e3-4b5f-a0ee-fb4873f5bccb",
      "name": "Pinecone向量存储9",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -20,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "Privacy_Policy"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "lknljoglhgiuyouih"
        },
        "toolDescription": "vector store for: Privacy Policy"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "525c394f-d6a7-407a-b8f9-b2a8b820e4d4",
      "name": "Embeddings Cohere9",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        60,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "aba9feb6-827f-4cd4-bb11-19af16978f77",
      "name": "Pinecone Vector Store10",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        260,
        2440
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "refund_policy"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "jansckja;scjkadnpkfpioghpf:mv"
        },
        "toolDescription": "vector store for: refund policy"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "9201e8ed-0f3c-472c-9ffe-6c5e2179cbb6",
      "name": "Embeddings Cohere10",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        340,
        2640
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d25920de-37ba-45b2-ba62-c83a5eeb8bc2",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -1700,
        1260
      ],
      "webhookId": "f22b5848-6722-45fb-ba0c-b874f5813b5c",
      "parameters": {
        "path": "f22b5848-6722-45fb-ba0c-b874f5813b5c",
        "options": {},
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "2e8dee88-b656-4790-8db1-ec5b52aff867",
      "name": "响应 Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        620,
        2220
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "d0bda629-f093-4fe3-84ad-7dbdd4d45aba",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        -1240,
        1260
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "46166ed8-0317-4827-bac9-ae10f04a6218",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "719a0de5-0614-443d-aa51-b9ef46ce337d",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site2"
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "35ab59a1-e2c2-4e67-ad0f-535e1749e6a0",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.query.site }}",
                    "rightValue": "test_site3"
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "34822c85-60bf-4dba-8a6b-a770a48d4c46",
      "name": "Postgres Chat Memory1",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -340,
        680
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_1",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "id": "22GVfrWGc7ERSw5X",
          "name": "Postgres account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "d2cd2051-13c5-46d5-8ecd-c68c77489882",
      "name": "OpenRouter Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -460,
        680
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "PlemUHT1rnkQIP6x",
          "name": "api-2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "45a7d772-1480-4cd0-b254-40c8c440223b",
      "name": "Pinecone向量存储8",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -220,
        700
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "ghost_wr"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "amfdnadifakdlncacadf"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "936e564c-a4af-4a45-b537-5b361af8d0e7",
      "name": "Embeddings Cohere8",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -140,
        880
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9ea078f3-48a9-4811-ba34-1f89430e7889",
      "name": "Respond to Webhook1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        700,
        660
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "2836fd6c-c51b-4102-9e9a-35b90ce16c00",
      "name": "AI Agent for groton",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -580,
        2220
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=🧑‍💼 System Prompt: Max — Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site 2?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "74fbb2ac-dad5-4294-967a-501b32854f79",
      "name": "AI Agent1 ghostwritingpartner",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -420,
        460
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=🧑‍💼 System Prompt: Max — Test Site Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "cb9e515f-1781-423a-a184-27be2517e312",
      "name": "Postgres Chat Memory2",
      "type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
      "position": [
        -300,
        1740
      ],
      "parameters": {
        "tableName": "n8n_chat_histories_test_2",
        "sessionKey": "={{ $('Webhook').item.json.query.userId }}",
        "sessionIdType": "customKey"
      },
      "credentials": {
        "postgres": {
          "id": "22GVfrWGc7ERSw5X",
          "name": "Postgres account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a0a2092b-48fc-4926-956a-088c18f2b220",
      "name": "OpenRouter Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -420,
        1740
      ],
      "parameters": {
        "model": "deepseek/deepseek-chat-v3-0324:free",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "O16KUlJBPximP3Xr",
          "name": "api-1"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "83930ae9-cddb-4fcc-9138-7714395d8d07",
      "name": "Pinecone Vector Store11",
      "type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
      "position": [
        -180,
        1740
      ],
      "parameters": {
        "mode": "retrieve-as-tool",
        "topK": 6,
        "options": {
          "pineconeNamespace": "ebook_wr"
        },
        "pineconeIndex": {
          "__rl": true,
          "mode": "id",
          "value": "adlmcdalkndanfca"
        },
        "toolDescription": "vector store for: Service Packages Overview"
      },
      "credentials": {
        "pineconeApi": {
          "id": "9tbw5SFHSJUFSD9o",
          "name": "PineconeApi account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b847ae7b-7ca9-4641-9768-dbe834f837c8",
      "name": "Embeddings Cohere11",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "position": [
        -100,
        1940
      ],
      "parameters": {},
      "credentials": {
        "cohereApi": {
          "id": "qvaYjXr0djdpaMEQ",
          "name": "CohereApi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "51d4651e-2dfd-4839-8ca8-2774c8e4cee0",
      "name": "Respond to Webhook2",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        740,
        1720
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{ { \"answer\": $json.output } }}"
      },
      "typeVersion": 1.4
    },
    {
      "id": "62918bc7-7168-40ae-abfa-9dbea1e90d50",
      "name": "AI Agent ebook-wr",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -380,
        1520
      ],
      "parameters": {
        "text": "={{ $('Webhook').item.json.query.query }}",
        "options": {
          "systemMessage": "=🧑‍💼 System Prompt: Max — Test Site 2 Assistant\n\nYou are Max, a knowledgeable and professional virtual assistant for {{ $json.query.site }}, currently responding for the “{{ $json.query.page }}” page.\n\n🧠 Purpose\nHelp users with accurate answers specifically related to the services, pricing packages, page-specific offers, publishing policies, and processes listed on {{ $json.query.site }}, using connected Pinecone vector stores as the sole source of truth.\n\n📌 Responsibilities\nOnly respond to questions that fall under the following categories using the appropriate vector store:\n\n📘 Services\nUse the services store\nIncludes all Test Site 2 services such as:\n\nGhostwriting (fiction, nonfiction, memoirs, etc.)\n\nBook editing and proofreading\n\nPublishing on platforms like Amazon, Kindle, Kobo, B&N\n\nBook cover design, illustrations, and typesetting\n\nAuthor collaboration process\n\nMarketing & promotion plans\n\n💼 Packages & Page-Specific Offers\nUse the packages store\nIncludes:\n\nSix pricing tiers from Basic to Bestseller\n\nDetails about included deliverables\n\nPage-specific promotions or discounts (if found)\n\nExtras like cover design, ISBN/barcode, video trailers, domain/hosting, and rights\n\n📝 If the current page (“{{ $json.query.page }}”) has unique offers, bundles, or content, prioritize referencing that information. Highlight sales, limited-time discounts, or features exclusive to that page when present in the data.\n\n📜 Terms & Return Policy\nUse the terms_policy store\nCovers:\n\nModification rights and service refusal\n\nPre-payment expectations\n\nRefund ambiguity or lack of policy\n\nDisclaimers and legal obligations\n\n🔐 Privacy & Confidentiality\nUse the privacy store\nIncludes data handling practices, client confidentiality, information security, and storage protocols throughout the writing and publishing lifecycle.\n\n📞 Contact Information\nUse the contact store\nLists official contact details including:\n\nEmail\n\nPhone\n\nLive chat availability\n\nContact form URL\n\n✅ Guidelines for Response\n\nUnderstand the user's intent and match their question to the correct topic and the current page (\"{{ $json.query.page }}\").\n\nUse only verified vector store content — do not assume or invent.\n\nIf the information is unavailable, reply:\n\n\"I'm unable to find that information in the current records.\"\n\nBe brief, informative, and helpful.\n\n📄 Response Format Rules\n\nUse only plain text (no HTML). You may format with:\n\nbold for emphasis\n\nNumbered or bulleted lists\n\nBlank lines between sections for readability\n\n❌ Do Not Answer\n\n“Can you write a book for me now?”\n\n“What’s your favorite book genre?”\n\n“Who owns Test Site 2?” (unless found in the data)\n\n🖊️ Always end your replies with:\n— max\n\n",
          "returnIntermediateSteps": false
        },
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "5a9f31eb-64be-4ec5-88cb-6659b8f0c0a4",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        1200
      ],
      "parameters": {
        "height": 220,
        "content": "## 接收用户输入"
      },
      "typeVersion": 1
    },
    {
      "id": "e1eb851e-63f7-4f88-9891-232e99e9e9b7",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1320,
        1160
      ],
      "parameters": {
        "height": 260,
        "content": "## 根据站点切换到特定代理"
      },
      "typeVersion": 1
    },
    {
      "id": "7815d1ed-9ee8-4759-9852-cf83dcfcf2ae",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        220
      ],
      "parameters": {
        "width": 660,
        "height": 800,
        "content": "## 🧠 **AI Agent**"
      },
      "typeVersion": 1
    },
    {
      "id": "ea7cf4f1-43c6-477f-b97a-6ffbd1344c1c",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        560
      ],
      "parameters": {
        "width": 340,
        "height": 260,
        "content": "### 将响应发送回聊天"
      },
      "typeVersion": 1
    },
    {
      "id": "eec68593-92f4-4065-9481-dc63aca01156",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        1500
      ],
      "parameters": {
        "width": 2180,
        "height": 1540,
        "content": "## 其余代理同上"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Switch": {
      "main": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI Agent for groton",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent ebook-wr": {
      "main": [
        [
          {
            "node": "Respond to Webhook2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store5",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere6": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store6",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere7": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store7",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere8": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store8",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere9": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store9",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent for groton": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere10": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store10",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Cohere11": {
      "ai_embedding": [
        [
          {
            "node": "Pinecone Vector Store11",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory1": {
      "ai_memory": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Postgres Chat Memory2": {
      "ai_memory": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store5": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store6": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store7": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store8": {
      "ai_tool": [
        [
          {
            "node": "AI Agent1 ghostwritingpartner",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store9": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store10": {
      "ai_tool": [
        [
          {
            "node": "AI Agent for groton",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Pinecone Vector Store11": {
      "ai_tool": [
        [
          {
            "node": "AI Agent ebook-wr",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1 ghostwritingpartner": {
      "main": [
        [
          {
            "node": "Respond to Webhook1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级 - 客服机器人, AI RAG 检索增强

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量33
分类2
节点类型9
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流