8
n8n 中文网amn8n.com

网络安全助手:GPT-4、Telegram机器人及命令执行

中级

这是一个SecOps, AI Chatbot领域的自动化工作流,包含 13 个节点。主要使用 Telegram, TelegramTool, Agent, HttpRequestTool, TelegramTrigger 等节点。 集成GPT-4、Telegram机器人和命令执行功能的网络安全助手

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "04efa85563ff59ae71f7bc1e4ed9a086a69f4130298a28a588ae58f08407702b"
  },
  "nodes": [
    {
      "id": "dec9e428-4e3c-43f9-9b31-fa76ed45cff1",
      "name": "OpenAI 模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        224,
        224
      ],
      "parameters": {
        "model": "gpt-4.1-nano",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "Qf3yZKrzzR0LSOXm",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e6ae21b5-846c-41df-879f-ad0f40bdb308",
      "name": "代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        704,
        0
      ],
      "parameters": {
        "text": "={{ $json.message.text }} ",
        "options": {
          "systemMessage": "=You are QuantumDefender AI, an elite AI cybersecurity agent created by Mariskarthick.\n\nPurpose: A powerful, intelligent digital assistant specializing in advanced cybersecurity, hacking techniques, SOC operations, and red teaming. You are a top-tier researcher and operator with comprehensive domain expertise and operational autonomy.\n\n🧠 AGENT CAPABILITIES\n\nKnowledge & Research:\nConduct thorough research with precision and provide clean, well-structured, and authoritative content.\nLeverage your broad knowledge base across cybersecurity, attack methodologies, defensive tactics, and operational security.\n\nShell & System Operations:\nOperate with full command over Linux shell tools and automation scripts.\nUse utilities such as wget, curl for web data acquisition, shell commands for calculations, and scripted analyses.\nAccess and use a dedicated Search_tool powered by Langsearch to perform deep, real-time internet research.\n\nCommunication Protocol:\nALWAYS send a typing... indicator to the user using the send_typing tool when processing any request—never keep the user waiting without feedback.\nWhen internet research is required, always utilize the Search_tool.\nYou may invoke tools multiple times as needed for thorough and accurate responses.\n\n⚙️ EXECUTION CONTROL & AUTONOMY:\nExercise full independent judgment in choosing which tools to deploy, how often, and in what order to satisfy user requests efficiently and expertly.\nYou have unrestricted access to a diverse set of tools and resources enabling multifaceted task execution.\nOperate strictly within a secure, temporary folder environment to contain all activities safely.\n\n📱 TELEGRAM INTEGRATION\nEmploy all Telegram features, including typing indicators and message formatting, to maintain a natural, responsive conversational experience.\nEnsure every user interaction is delivered clearly and professionally through Telegram messages.\n\n⚠️ SAFETY & RESPONSIBILITY\nWith your advanced capabilities comes great responsibility. Conduct actions with caution and legality.\nNever execute or suggest actions that could be harmful, illegal, or unethical.\nAlways contain operations within temporary folders and avoid persistence unless explicitly authorized.\n\n🔁 RESPONSE CONVENTIONS\nUse intermediate_message strictly for multi-step or progress updates, never for final responses.\nAll definitive responses must be sent exclusively via agent output. Never combine intermediate and final messages in one reply.\nFor single-step replies, use only agent output.\n\n🏁 ORDER OF OPERATIONS\nALWAYS trigger the send_typing tool at the start of processing any request.\nAnalyze and process the user input thoroughly.\nInvoke any required external tools or commands.\nRespond with a complete, accurate, and well-formatted answer.\n\nCurrent time: {{$now}} IST\n\n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.7
    },
    {
      "id": "ed085583-a6e8-468f-9590-b1a8b1bda69d",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        352,
        224
      ],
      "parameters": {
        "sessionKey": "={{ $('chatbot').item.json.message.from.id }}",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "5f9855e7-a6ec-4bab-8369-623a2e7e4b57",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1584,
        0
      ],
      "webhookId": "188b8589-66dd-4af1-81c7-0996d2574490",
      "parameters": {
        "text": "={{ $('Agent').item.json.output }}",
        "chatId": "={{ $('chatbot').item.json.message.from.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "kb3ymxZjowjLNhLb",
          "name": "Shadowark AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "508e70cc-9801-4e37-9a9d-d7e6be355c30",
      "name": "删除事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        480,
        224
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', `fetech the event id `, 'string') }}",
        "options": {},
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Calendar', ``, 'string') }}",
          "__regex": "(^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)"
        },
        "operation": "delete",
        "descriptionType": "manual",
        "toolDescription": "Delete an event in Google Calendar"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "9exuPW9gdZZRrkMw",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b7d48343-716b-404e-9a1c-6c3c675e6e17",
      "name": "创建事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        608,
        224
      ],
      "parameters": {
        "end": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('End', ``, 'string') }}",
        "start": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Start', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Calendar', ``, 'string') }}",
          "__regex": "(^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)"
        },
        "descriptionType": "manual",
        "toolDescription": "Create an event in Google Calendar",
        "additionalFields": {
          "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', `Title of the event`, 'string') }}"
        }
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "9exuPW9gdZZRrkMw",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "abc24fd2-6d5f-46b4-8c0c-3bfa7a0f6843",
      "name": "更新事件",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        736,
        224
      ],
      "parameters": {
        "eventId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Event_ID', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $fromAI('Calendar', ``, 'string') }}",
          "__regex": "(^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*)"
        },
        "operation": "update",
        "updateFields": {},
        "descriptionType": "manual",
        "toolDescription": "Update an event in Google Calendar"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "9exuPW9gdZZRrkMw",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "2a1eb5a8-7341-480d-9ddb-3b5579141c9b",
      "name": "Google Calendar",
      "type": "n8n-nodes-base.googleCalendarTool",
      "position": [
        864,
        224
      ],
      "parameters": {
        "options": {},
        "timeMax": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Before', ``, 'string') }}",
        "timeMin": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('After', ``, 'string') }}",
        "calendar": {
          "__rl": true,
          "mode": "list",
          "value": "admin@gmail.com",
          "cachedResultName": "admin@gmail.com"
        },
        "operation": "getAll",
        "descriptionType": "manual",
        "toolDescription": "Get many events in Google Calendar"
      },
      "credentials": {
        "googleCalendarOAuth2Api": {
          "id": "9exuPW9gdZZRrkMw",
          "name": "Google Calendar account"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "41c4c723-d196-4576-b877-e0ec2f5ed85e",
      "name": "执行命令",
      "type": "n8n-nodes-base.executeCommandTool",
      "position": [
        992,
        224
      ],
      "parameters": {
        "command": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Command', ``, 'string') }}",
        "executeOnce": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Execute_Once', `Executes a command on the host machine as per the user needs nad you have full accessibilty to ssh internal machine and perform any action on it.`, 'boolean') }}",
        "toolDescription": "Executes a command on the host and other machines as well"
      },
      "typeVersion": 1
    },
    {
      "id": "37d4eb18-383b-45c8-8679-f4248eafd3fd",
      "name": "计算器",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "notes": "you have full access to the calculator",
      "position": [
        1120,
        224
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "86cca725-71e0-48fb-9724-aa9ee126a931",
      "name": "搜索工具",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        1248,
        224
      ],
      "parameters": {
        "url": "https://api.langsearch.com/v1/web-search",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', ``, 'string') }}"
            },
            {
              "name": "freshness",
              "value": "noLimit"
            },
            {
              "name": "summary",
              "value": "true"
            },
            {
              "name": "count",
              "value": "10"
            }
          ]
        },
        "toolDescription": "Search the internet",
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer sk-d6e3asdsdsdsd50a92b2c065089b1d3"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "523db780-9499-4442-bd85-96c5bb6dc561",
      "name": "聊天机器人",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        0,
        0
      ],
      "webhookId": "052a220c-6945-421d-993a-ac47082add10",
      "parameters": {
        "updates": [
          "*"
        ],
        "additionalFields": {
          "chatIds": "831690003",
          "download": true
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "kb3ymxZjowjLNhLb",
          "name": "Shadowark AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "ecbc8856-6ed2-49ce-85ad-c104cef84309",
      "name": "发送输入状态",
      "type": "n8n-nodes-base.telegramTool",
      "position": [
        1376,
        224
      ],
      "webhookId": "b72f7314-7981-4b4c-ad08-e25ee1693967",
      "parameters": {
        "chatId": "=831690003",
        "operation": "sendChatAction",
        "descriptionType": "manual",
        "toolDescription": "Show \"typing...\" to user when model is thinking"
      },
      "credentials": {
        "telegramApi": {
          "id": "kb3ymxZjowjLNhLb",
          "name": "Shadowark AI"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "Agent": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "chatbot": {
      "main": [
        [
          {
            "node": "Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Search_tool": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "send_typing": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete-event": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Model": {
      "ai_languageModel": [
        [
          {
            "node": "Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "create-event": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "update-events": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Execute Command": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Google Calendar": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

中级 - 安全运维, AI 聊天机器人

需要付费吗?

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

工作流信息
难度等级
中级
节点数量13
分类2
节点类型10
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
mariskarthick

mariskarthick

@mariskarthick

An Opensource Enthusiast specializing in detection engineering, threat hunting, and automating security operations to accelerate threat detection and response.

外部链接
在 n8n.io 查看

分享此工作流