8
n8n 中文网amn8n.com

Telegram 优先的个人 AI 助手

高级

这是一个AI Chatbot, Multimodal AI领域的自动化工作流,包含 23 个节点。主要使用 If, Merge, Airtable, Telegram, Aggregate 等节点。 多工具个人助手,集成Telegram、Grok-4、Gmail、日历和记忆功能

前置要求
  • Airtable API Key
  • Telegram Bot Token
  • Google 账号和 Gmail API 凭证
  • Notion API Key
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "kUAss6TbBXLb8HG6",
  "meta": {
    "instanceId": "93438a4980e64a583ea2325b4dc5eae4c4c531c30461a48c79a4b262b5c53893",
    "templateCredsSetupCompleted": true
  },
  "name": "Telegram 优先的个人 AI 助手",
  "tags": [
    {
      "id": "TIMIlK5hNxVuDAlg",
      "name": "public",
      "createdAt": "2025-08-11T13:46:00.810Z",
      "updatedAt": "2025-08-11T13:46:00.810Z"
    }
  ],
  "nodes": [
    {
      "id": "15741804-50b9-4252-89e3-0f135c6a127f",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        736,
        -96
      ],
      "parameters": {
        "sessionKey": "={{ $('If').item.json.message.chat.id }}",
        "sessionIdType": "customKey",
        "contextWindowLength": 30
      },
      "typeVersion": 1.3
    },
    {
      "id": "81ea7f9d-e749-46c7-be40-616429a439e7",
      "name": "保存记忆",
      "type": "n8n-nodes-base.airtableTool",
      "position": [
        864,
        -96
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appSSdueQKZUG68Wu",
          "cachedResultUrl": "https://airtable.com/appSSdueQKZUG68Wu",
          "cachedResultName": "Agent Memories"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl59eqgFoXOJ9vv9",
          "cachedResultUrl": "https://airtable.com/appSSdueQKZUG68Wu/tbl59eqgFoXOJ9vv9",
          "cachedResultName": "Table 1"
        },
        "columns": {
          "value": {
            "User": "Your_Name",
            "Memory": "={{ $fromAI('Memory') }}"
          },
          "schema": [
            {
              "id": "Memory",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Memory",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "User",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "User",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Created",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "ibb04us6pIDJ1E0t",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b8192282-2bd6-4a84-9ea2-0e0ac58673df",
      "name": "获取记忆",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -64,
        -128
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appSSdueQKZUG68Wu",
          "cachedResultUrl": "https://airtable.com/appSSdueQKZUG68Wu",
          "cachedResultName": "Agent Memories"
        },
        "sort": {
          "property": [
            {
              "field": "Created"
            }
          ]
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl59eqgFoXOJ9vv9",
          "cachedResultUrl": "https://airtable.com/appSSdueQKZUG68Wu/tbl59eqgFoXOJ9vv9",
          "cachedResultName": "Table 1"
        },
        "options": {},
        "operation": "search",
        "filterByFormula": "({User} = 'your_name')"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "ibb04us6pIDJ1E0t",
          "name": "Airtable Personal Access Token account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "70adb85f-d25b-41f1-b886-19ffe2303bb4",
      "name": "聚合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        160,
        -128
      ],
      "parameters": {
        "include": "specifiedFields",
        "options": {},
        "aggregate": "aggregateAllItemData",
        "fieldsToInclude": "Memory, Created",
        "destinationFieldName": "Memories"
      },
      "typeVersion": 1
    },
    {
      "id": "c0a63e6d-1cc9-4c96-aa93-25e26031bcc3",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        384,
        -320
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "65fed632-8371-4b3a-a4a8-5b1441f4909b",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -960,
        -272
      ],
      "webhookId": "c44b1cc5-25c3-44ad-b0dd-689957f1bfd7",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {
          "chatIds": "your_telegram_id",
          "download": true
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "L6xbT6j8d7Z5gtm4",
          "name": "personal_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0cbca25b-507e-4771-b2fe-9d316bbe7ded",
      "name": "发送文本消息",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2096,
        -320
      ],
      "webhookId": "80e65f83-b4db-4d48-9386-65bec5a6a380",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "L6xbT6j8d7Z5gtm4",
          "name": "personal_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "9164db77-04c2-4f5e-a3a8-c641d2f823c6",
      "name": "使用 SerpAPI 搜索网络",
      "type": "@n8n/n8n-nodes-langchain.toolSerpApi",
      "position": [
        992,
        -96
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "serpApi": {
          "id": "WlzLaf6xLHOCChkW",
          "name": "SerpAPI account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a8ecc80e-1569-4df0-8f55-1b0d8a93346c",
      "name": "在 Google Calendar 中获取多个事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1120,
        -96
      ],
      "parameters": {
        "options": {},
        "timeMax": "={{ $now.plus({ week: 4 }) }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultName": ""
        },
        "operation": "getAll"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "1JbZnPcjLvduSs7s",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fc24c542-e26a-4f8d-a7ae-3d108dd50d0c",
      "name": "在 Google Calendar 中创建事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1248,
        -96
      ],
      "parameters": {
        "end": "=",
        "start": "=",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultName": ""
        },
        "additionalFields": {}
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "1JbZnPcjLvduSs7s",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "77665a24-7ca6-4d77-904f-21bbdbc2c3a1",
      "name": "更新 Google Calendar 中的事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1376,
        -96
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultName": ""
        },
        "operation": "update",
        "updateFields": {}
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "1JbZnPcjLvduSs7s",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "f88dba24-8ab0-44c7-8cc3-438b15081fc2",
      "name": "在 Google Calendar 中删除事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        1504,
        -96
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultName": ""
        },
        "operation": "delete"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "1JbZnPcjLvduSs7s",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "660ddae0-9950-4419-a459-822b846d86c1",
      "name": "在 Gmail 中获取多条消息",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1632,
        -96
      ],
      "webhookId": "20f81dde-4f1b-4b08-a012-9248bcc2fed4",
      "parameters": {
        "simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
        "filters": {},
        "options": {},
        "operation": "getAll",
        "returnAll": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Return_All', ``, 'boolean') }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "sqe7HFlBnGaSLwH9",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e6b4cf06-3546-4e51-9cc4-9ca2f977c8e6",
      "name": "在 Gmail 中获取消息",
      "type": "n8n-nodes-base.gmailTool",
      "position": [
        1760,
        -96
      ],
      "webhookId": "724f7811-421a-4174-bb3e-abf670ccd5f2",
      "parameters": {
        "simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
        "options": {},
        "messageId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message_ID', ``, 'string') }}",
        "operation": "get"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "sqe7HFlBnGaSLwH9",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7c9ae477-0077-4084-98be-5265ac2941f6",
      "name": "xAI Grok 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatXAiGrok",
      "position": [
        608,
        -96
      ],
      "parameters": {
        "model": "grok-4-0709",
        "options": {}
      },
      "credentials": {
        "xAiApi": {
          "id": "14rSSdlYifv17zkL",
          "name": "xAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ddaa9d4d-3ce1-4400-908d-1a059240a677",
      "name": "文本与语音路由",
      "type": "n8n-nodes-base.if",
      "position": [
        -736,
        -272
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "3c44273e-c862-447e-9512-afa1320ff950",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.message.text }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "c3464ae3-abe6-48b5-a37e-46384488a92f",
      "name": "转录录音",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -288,
        -272
      ],
      "parameters": {
        "options": {},
        "resource": "audio",
        "operation": "transcribe"
      },
      "credentials": {
        "openAiApi": {
          "id": "UZtYaio4OAcJGlV9",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5efdd1d7-3a22-49f2-a95e-3aa3349795ef",
      "name": "获取文件",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -512,
        -272
      ],
      "webhookId": "e20e8498-b6aa-4264-b7d9-a6295c174360",
      "parameters": {
        "fileId": "={{ $json.message.voice.file_id }}",
        "resource": "file",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "L6xbT6j8d7Z5gtm4",
          "name": "personal_bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0dcc47a7-8c78-4328-bb78-d3b78cdd18c7",
      "name": "获取 Notion 中的数据库",
      "type": "n8n-nodes-base.notionTool",
      "position": [
        1888,
        -96
      ],
      "parameters": {
        "simple": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Simplify', ``, 'boolean') }}",
        "resource": "database",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        }
      },
      "credentials": {
        "notionApi": {
          "id": "a6TUJxBHecFTkOIP",
          "name": "Notion account"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "d5abb03f-5fd6-4103-b4f1-f357e448977a",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1184,
        -320
      ],
      "parameters": {
        "text": "={{ $json.text }}{{ $json.message.text }}",
        "options": {
          "systemMessage": "=# ROLE  \nYou are a friendly AI assistant.  \nYou are talking to ____. Your name is ____, your gender is ____.\n\n# RULES  \nWhen the user sends a new message, determine whether it contains information that should be saved in memory. Keep in mind that almost everything needs to be saved, as every detail is important to the user. Call the **Save Memory** tool to save the information. DO NOT inform the user that the information has been saved. Just continue to answer the question or perform the next tasks.  \nDo not use emojis, only in cases where it is truly appropriate.\n\n# Tools  \n## Save Memory  \nUse this tool to save information about the user. Extract and briefly summarize the details from the user's message and pass them to this tool.  \n## SerpAPI  \nUse this tool if you need to find something on the Internet.  \n## Google Calendar  \nThese are several tools to be used if the user requests something related to the calendar and schedule.  \n## Gmail  \nThese are several tools to be used if the user requests something related to email and messages.  \n## Notion  \nThese are several tools to be used if the user requests something related to Notion, Neurocracy, or reading lists.\n\n# Memory  \nBelow are the latest significant memories collected about the user, including the date and time they were created.  \n!! IMPORTANT!  \nThink through your responses and consider the user's preferences!  \nAlso, keep in mind the date and time when the memory was saved to always have the most up-to-date information.\n\n{{ $json.Memories.toJsonString() }}"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "30395567-37f8-4231-947d-c505c03ba929",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 912,
        "height": 256,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "0cd5f3f1-9973-40e1-a58d-e692b78ff93b",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -128
      ],
      "parameters": {
        "color": 7,
        "width": 528,
        "height": 256,
        "content": "外部工具"
      },
      "typeVersion": 1
    },
    {
      "id": "cdd63aa2-3885-4bc3-b1d4-7df464215c0f",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -752,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 608,
        "height": 256,
        "content": "模型、记忆与搜索"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "33348f8b-f826-4def-98b3-33db48b6d8cc",
  "connections": {
    "AI": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get memories",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Get a file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "AI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SerpAPI": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Get a file": {
      "main": [
        [
          {
            "node": "Transcribe a recording",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Memory": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get memories": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "xAI Grok Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get a message in Gmail": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe a recording": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get memories",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a database in Notion": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get many messages in Gmail": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create an event in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete an event in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get many events in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update an event in Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "AI",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - AI 聊天机器人, 多模态 AI

需要付费吗?

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

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

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

作者
Vlad Arbatov

Vlad Arbatov

@vladzima

VP of Engineering. Machine Learning, NLP, Computer Vision, Geospatial, Navigation, Data Analysis, Generative Models, Healthcare. Over 20 years in delivering client-centric tools and driving multinational cross-functional engineering teams. I've been there and everywhere and beyond.

外部链接
在 n8n.io 查看

分享此工作流