8
n8n 中文网amn8n.com

构建集成Linkup网络搜索、GPT-4.1和Mistral语音的Telegram问答机器人

高级

这是一个自动化工作流,包含 21 个节点。主要使用 If, Set, Switch, Telegram, HttpRequest 等节点。 构建集成Linkup网络搜索、GPT-4.1和Mistral语音的Telegram问答机器人

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key

分类

-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "nodes": [
    {
      "id": "c1fbf4de-ddf2-450d-b09c-d07025d643f5",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        240,
        544
      ],
      "webhookId": "cce06804-3cd5-4dff-a90a-ed4ce49b0b04",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "GQHcQvX9GizW5ai3",
          "name": "Duv Brain Telegram"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "f2e6b66d-8c5f-44fc-9bcf-34d48a7d8cd3",
      "name": "我自己?",
      "type": "n8n-nodes-base.if",
      "position": [
        464,
        544
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fae16f10-e497-47ea-92ec-741f54cedd62",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.message.from.username }}",
              "rightValue": "<Replace with your Telegram username>"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d4b2699d-bff8-424c-a8e9-3879fbcb2a6a",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2256,
        560
      ],
      "parameters": {
        "text": "={{ $json.final_user_message }}",
        "options": {
          "systemMessage": "=You are a helpful assistant that answers the user based on web-search.\n\nWhenever the user query requires getting insights from the web (most queries except empty queries like \"hi\"), call the tool \"Web search\" with a question to have it output an answer based on AI web search.\n\nProvide sources of the main insights.\n\nAnswer considring that this conversation happens on Telegram - adapt your style/format to that platform."
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    },
    {
      "id": "49ca5d84-ebac-41db-a961-f6c66d75a468",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        2272,
        816
      ],
      "parameters": {
        "sessionKey": "={{ $('Telegram Trigger').item.json.message.from.username }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 7
      },
      "typeVersion": 1.3
    },
    {
      "id": "1cad1569-ebc5-4446-8a8d-898cbfcebbbf",
      "name": "便签说明5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        272
      ],
      "parameters": {
        "color": 2,
        "width": 873,
        "height": 293,
        "content": "# 处理音频"
      },
      "typeVersion": 1
    },
    {
      "id": "21b52da1-5a08-4f7b-9b83-56ec4b12fe07",
      "name": "获取音频文件",
      "type": "n8n-nodes-base.telegram",
      "position": [
        976,
        400
      ],
      "webhookId": "aa1f75c8-2c80-4fab-be6c-b4120381181d",
      "parameters": {
        "fileId": "={{ $('Telegram Trigger').item.json.message.voice.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "GQHcQvX9GizW5ai3",
          "name": "Duv Brain Telegram"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "05bf3117-933d-4a17-bee7-ca26b454abc7",
      "name": "消息路由器",
      "type": "n8n-nodes-base.switch",
      "position": [
        688,
        512
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "audio",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "b5d9f703-2a1b-4942-906c-7a7d1404a4d7",
                    "operator": {
                      "type": "object",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Telegram Trigger').item.json.message.voice }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "text",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "342f0883-d959-44a2-b80d-379e39c76218",
                    "operator": {
                      "type": "string",
                      "operation": "exists",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Telegram Trigger').item.json.message.text }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {
          "fallbackOutput": "extra"
        }
      },
      "typeVersion": 3.2
    },
    {
      "id": "a0c3018c-0e5e-4184-9586-422fdb5aa16f",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2400,
        768
      ],
      "parameters": {
        "color": 6,
        "width": 336,
        "height": 368,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "93107652-cd00-4d85-9eb7-2d42276e76a1",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1904,
        768
      ],
      "parameters": {
        "color": 5,
        "width": 336,
        "height": 368,
        "content": "## Linkup 网络搜索"
      },
      "typeVersion": 1
    },
    {
      "id": "4a1bde4f-df6e-45b5-a91c-613e5673848f",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2192,
        320
      ],
      "parameters": {
        "color": 4,
        "width": 352,
        "height": 400,
        "content": "## AI 模型"
      },
      "typeVersion": 1
    },
    {
      "id": "4f0fbc4e-55af-4b3e-b187-fab5231442ab",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2032,
        832
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "dMiSy27YCK6c6rra",
          "name": "Duv's OpenAI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "469db785-dad8-4f46-ae4e-a73936d5c063",
      "name": "## 代理",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2832,
        560
      ],
      "webhookId": "7ac3dfe6-5df8-4791-8765-2234d475c22d",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.from.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "GQHcQvX9GizW5ai3",
          "name": "Duv Brain Telegram"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d8484fa4-6147-49f5-a4cf-549a9b9c609c",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1200,
        288
      ],
      "parameters": {
        "color": 7,
        "width": 265,
        "height": 261,
        "content": "Telegram 回答"
      },
      "typeVersion": 1
    },
    {
      "id": "b99a6e1e-d26a-405f-a9ad-68a3f9108734",
      "name": "便签 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        304
      ],
      "parameters": {
        "color": 3,
        "width": 265,
        "height": 405,
        "content": "### AI 转录"
      },
      "typeVersion": 1
    },
    {
      "id": "95bd10b8-242f-4947-a763-4fe69c507285",
      "name": "### 将此机器人设为私有",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        592
      ],
      "parameters": {
        "color": 2,
        "width": 873,
        "height": 293,
        "content": "便签 8"
      },
      "typeVersion": 1
    },
    {
      "id": "48d77137-bc1a-4ae2-8b03-48ddcd17c4cf",
      "name": "# 处理文本",
      "type": "n8n-nodes-base.set",
      "position": [
        1568,
        400
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "bffc2c1f-990e-4396-b59a-ab82b843e061",
              "name": "preset_user_message",
              "type": "string",
              "value": "={{ $json.choices[0].message.content }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "8a59c1a6-4b6c-4356-a083-33f2f8cb7651",
      "name": "从音频准备消息",
      "type": "n8n-nodes-base.set",
      "position": [
        1280,
        672
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b37b48ba-8fef-4e6c-bbca-73e6c2e1e0a8",
              "name": "preset_user_message",
              "type": "string",
              "value": "={{ $('Telegram Trigger').item.json.message.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "edc01d56-b1de-4e22-b8f8-60540d53434c",
      "name": "从文本准备消息",
      "type": "n8n-nodes-base.set",
      "position": [
        1872,
        560
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7db97ffc-b1eb-422e-8bb1-90eea55c7aa2",
              "name": "final_user_message",
              "type": "string",
              "value": "={{ $json.preset_user_message }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "27a2b573-bbe5-47b6-a7ab-57c41a566d07",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -400
      ],
      "parameters": {
        "width": 880,
        "height": 544,
        "content": "整合用户消息"
      },
      "typeVersion": 1
    },
    {
      "id": "0e9b76b5-1d89-49f2-924f-53325a6a8507",
      "name": "# **带有 Linkup 和 GPT-4.1 的 AI 网络搜索 Telegram 代理(文本 + 语音)**",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        2544,
        832
      ],
      "parameters": {
        "url": "https://api.linkup.so/v1/search",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "q",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', `The query for AI web-search`, 'string') }}"
            },
            {
              "name": "depth",
              "value": "standard"
            },
            {
              "name": "outputType",
              "value": "sourcedAnswer"
            },
            {
              "name": "includeImages",
              "value": "false"
            },
            {
              "name": "includeInlineCitations",
              "value": "false"
            }
          ]
        },
        "toolDescription": "Call this tool when web-search base is required to answer the user query.",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer <your Linkup API key>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "853eea91-4385-46bd-aaf7-5f910d6afbd6",
      "name": "网络搜索",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1280,
        400
      ],
      "parameters": {
        "url": "https://api.mistral.ai/v1/audio/transcriptions",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "voxtral-mini-2507"
            },
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "nodeCredentialType": "mistralCloudApi"
      },
      "credentials": {
        "mistralCloudApi": {
          "id": "vakRnCmKyOQFpdEk",
          "name": "Mistral Cloud account"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "connections": {
    "Myself?": {
      "main": [
        [
          {
            "node": "Message Router",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Telegram answer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Web search": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Get Audio File": {
      "main": [
        [
          {
            "node": "Mistral transcribe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Message Router": {
      "main": [
        [
          {
            "node": "Get Audio File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare message from text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Myself?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Mistral transcribe": {
      "main": [
        [
          {
            "node": "Prepare message from audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Consolidate user message": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare message from text": {
      "main": [
        [
          {
            "node": "Consolidate user message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare message from audio": {
      "main": [
        [
          {
            "node": "Consolidate user message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级

需要付费吗?

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

工作流信息
难度等级
高级
节点数量21
分类-
节点类型11
难度说明

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

作者
Guillaume Duvernay

Guillaume Duvernay

@duv

AI and automation expert

外部链接
在 n8n.io 查看

分享此工作流