8
n8n 中文网amn8n.com

Bybit AI代理 v1.02

高级

这是一个Crypto Trading, AI Chatbot, Multimodal AI领域的自动化工作流,包含 35 个节点。主要使用 Set, Code, Telegram, Agent, HttpRequestTool 等节点。 通过Telegram使用GPT-4.1-mini从Bybit获取实时加密货币市场数据

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "INW3Qtj4GuhFO6L2",
  "meta": {
    "instanceId": "a5283507e1917a33cc3ae615b2e7d5ad2c1e50955e6f831272ddd5ab816f3fb6"
  },
  "name": "Bybit AI代理 v1.02",
  "tags": [],
  "nodes": [
    {
      "id": "e32639ff-0e71-4c35-8c73-79248687fc4f",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1264,
        736
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "yUizd8t0sD5wMYVG",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "5796edc7-641b-4a99-8620-3c547270d812",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1008,
        240
      ],
      "webhookId": "3671a169-5ef7-430c-88ff-668190d86ee0",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "NRLKuLR7z8vCesub",
          "name": "BinanceSpotTradingAIAgent_Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f9886889-fb69-4af0-80b5-df3af4f1642d",
      "name": "用户身份验证(替换 Telegram ID)",
      "type": "n8n-nodes-base.code",
      "position": [
        -688,
        240
      ],
      "parameters": {
        "jsCode": "if ($input.first().json.message.from.id !== <<Replace>>) { // Replace with your actual ID\n  return {unauthorized: true};\n} else {\n  // Return the original data when authorized\n  return $input.all();\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "0233f87d-57bf-4c05-9cd0-a1ffec8ba86d",
      "name": "添加\"SessionId\"",
      "type": "n8n-nodes-base.set",
      "position": [
        -416,
        240
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "47598bf1-e55f-4cc0-ae75-272085e7ce02",
              "name": "=sessionId",
              "type": "string",
              "value": "={{ $json.message.chat.id }}"
            },
            {
              "id": "daa49d74-e55e-47bc-ac52-8686d591ab83",
              "name": "message",
              "type": "string",
              "value": "={{ $json.message.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "27aed875-b9f5-4957-be94-9d46fca3a256",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        896,
        240
      ],
      "webhookId": "b8f79882-fe86-45a8-b356-66a8f783a8c2",
      "parameters": {
        "text": "={{ $json.message }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "NRLKuLR7z8vCesub",
          "name": "BinanceSpotTradingAIAgent_Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7a47dd07-a50c-4dec-a42d-6e4c89b6cb8d",
      "name": "拆分超过 4000 字符的消息",
      "type": "n8n-nodes-base.code",
      "position": [
        464,
        240
      ],
      "parameters": {
        "jsCode": "// Input: assumes incoming message in `item.json.message`\nconst input = $json.output;\nconst chunkSize = 4000;\n\n// Function to split text\nfunction splitMessage(text, size) {\n  const result = [];\n  for (let i = 0; i < text.length; i += size) {\n    result.push(text.substring(i, i + size));\n  }\n  return result;\n}\n\n// Logic\nif (input.length <= chunkSize) {\n  return [{ json: { message: input } }];\n} else {\n  const chunks = splitMessage(input, chunkSize);\n  return chunks.map(chunk => ({ json: { message: chunk } }));\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "0889b0f3-3b16-4646-844b-878523afe513",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        -32
      ],
      "parameters": {
        "color": 4,
        "height": 460,
        "content": "## 触发传入的 Telegram 命令"
      },
      "typeVersion": 1
    },
    {
      "id": "84f4f69f-6008-476e-b05f-4425d255c90d",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -752,
        -32
      ],
      "parameters": {
        "color": 2,
        "height": 460,
        "content": "## 验证用户访问权限"
      },
      "typeVersion": 1
    },
    {
      "id": "6b8248f1-97fe-4543-a7c4-61dd61adf9c8",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -32
      ],
      "parameters": {
        "color": 5,
        "height": 460,
        "content": "## 生成会话元数据"
      },
      "typeVersion": 1
    },
    {
      "id": "d47c30da-9fa6-4b32-be89-403dccfc0c18",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -320
      ],
      "parameters": {
        "color": 7,
        "width": 480,
        "height": 756,
        "content": "## 主AI代理:数据获取器"
      },
      "typeVersion": 1
    },
    {
      "id": "88706b84-fa2b-4744-9789-ca4f684fe6c4",
      "name": "便签说明4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        384,
        -32
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 460,
        "content": "## 处理 Telegram 消息限制"
      },
      "typeVersion": 1
    },
    {
      "id": "88257edc-46d3-4308-97c1-d3994c77ef21",
      "name": "便签说明5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        832,
        -32
      ],
      "parameters": {
        "color": 4,
        "height": 460,
        "content": "## 发送最终报告到 Telegram"
      },
      "typeVersion": 1
    },
    {
      "id": "4822fbae-1d0d-4c5c-8e7d-de9c6d6a7fe4",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1344,
        640
      ],
      "parameters": {
        "height": 540,
        "content": "## 用于推理的 GPT 模型"
      },
      "typeVersion": 1
    },
    {
      "id": "9f342b49-a4c5-4e69-843b-b5441cb63c4c",
      "name": "便签 7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 884,
        "content": "### **订单簿深度**"
      },
      "typeVersion": 1
    },
    {
      "id": "c8140a94-2d1b-4a85-8a7f-f8213394e0f9",
      "name": "## 为什么选择 4o 模型?👆",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 868,
        "content": "### **最佳买卖价(订单簿报价)**"
      },
      "typeVersion": 1
    },
    {
      "id": "79749296-1b46-4e5e-abb7-6aadc72f4897",
      "name": "便签 9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1072,
        640
      ],
      "parameters": {
        "color": 3,
        "height": 540,
        "content": "### **最佳买价/卖价(订单簿快照)**"
      },
      "typeVersion": 1
    },
    {
      "id": "a3a95f1c-1fbb-4319-b4c8-2558258179b9",
      "name": "简单记忆",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        -992,
        736
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "844d30b6-13c0-4578-ba56-d7b7509e3de9",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 948,
        "content": "### **24小时统计数据(报价)**"
      },
      "typeVersion": 1
    },
    {
      "id": "7622838f-8e7a-4e82-82df-da0ea7474de6",
      "name": "便签11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 772,
        "content": "### **价格(最新)**"
      },
      "typeVersion": 1
    },
    {
      "id": "0fc5427f-394a-4faf-b76f-f0bf4cbfc493",
      "name": "便签12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 1060,
        "content": "### **K线(蜡烛图)**"
      },
      "typeVersion": 1
    },
    {
      "id": "403afddb-0349-4949-8597-919a7569ed11",
      "name": "便签13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 964,
        "content": "### **报价(最新和统计数据)**"
      },
      "typeVersion": 1
    },
    {
      "id": "e891654a-fd49-439e-acf5-ded1cca0cb96",
      "name": "便签 14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 836,
        "content": "### **近期交易**"
      },
      "typeVersion": 1
    },
    {
      "id": "2c225033-748b-442c-b674-3116a1457081",
      "name": "计算器",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        1520,
        592
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "ee219272-a31f-4556-9ad1-5537b48d2cd6",
      "name": "思考",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        1808,
        592
      ],
      "parameters": {
        "description": "### **最近交易**"
      },
      "typeVersion": 1.1
    },
    {
      "id": "acda52e9-0932-4ba0-839e-393ea9e5e445",
      "name": "便签 15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 836,
        "content": "### 🏷 工具:**思考**"
      },
      "typeVersion": 1
    },
    {
      "id": "6de0d578-222b-4e31-8601-94c127bf7fbe",
      "name": "便签16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1728,
        512
      ],
      "parameters": {
        "color": 6,
        "height": 932,
        "content": "### **计算器**"
      },
      "typeVersion": 1
    },
    {
      "id": "4b1a57e5-d6e8-4399-b67b-a0ff74d8aff4",
      "name": "Bybit AI代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -96,
        240
      ],
      "parameters": {
        "text": "={{ $json.message }}",
        "options": {
          "systemMessage": "You are the **Bybit Spot Market Data Agent**.\nYou have **HTTP GET** access to the official Bybit REST **v5** API to retrieve market data for any requested **Spot** trading pair.\nYour job is to **fetch and present data only** — no analysis, predictions, or advice.\n\n## API Access\n\n* Base URL: `https://api.bybit.com/v5`\n* Pair format: `BASEQUOTE` (uppercase, no separator), e.g. `BTCUSDT`.\n* Always include `category=spot` on market endpoints.\n* If a field or call fails, output `N/A` and continue.\n\n## Market Data Endpoints (Spot)\n\n1. **Latest price & 24h stats**\n   `GET /market/tickers?category=spot&symbol=BTCUSDT`\n   Returns last price, best bid/ask, 24h high/low, % change, turnover/volume.&#x20;\n\n2. **Order book depth**\n   `GET /market/orderbook?category=spot&symbol=BTCUSDT&limit=100`\n   Snapshot of bids/asks (Spot supports 1–200; default 1). Use `limit=1` to emulate Best Bid/Ask.&#x20;\n\n3. **Recent public trades**\n   `GET /market/recent-trade?category=spot&symbol=BTCUSDT&limit=60`\n   Most recent trades (Spot limit 1–60; default 60).&#x20;\n\n4. **Candlesticks (klines)**\n   `GET /market/kline?category=spot&symbol=BTCUSDT&interval=15&limit=200`\n   OHLCV candles. Use only these intervals to match other agents: **1, 15, 60, 240, D** (1min, 15min, 1h, 4h, 1day).&#x20;\n\n## Optional Utility Endpoints\n\n* **Server time**: `GET /market/time` → Bybit server timestamps (sec/nano).&#x20;\n* **Order price limit**: `GET /market/price-limit?category=spot&symbol=BTCUSDT` → current buy/sell limit prices (spot/derivatives).&#x20;\n\n## Output Format (Telegram text)\n\nStart with:\n\n```\nBTCUSDT — Bybit Spot Data\n```\n\nThen:\n\n```\nPrice\n• Last: {{lastPrice}}\n• Best Bid / Ask: {{bid1Price}} / {{ask1Price}}\n• Change (24h): {{price24hPcnt}}%\n\n24h Stats\n• High: {{highPrice24h}} • Low: {{lowPrice24h}}\n• Volume(24h): {{volume24h}} • Turnover(24h): {{turnover24h}}\n\nOrder Book (Top 5)\n• Bids: [price x size] …\n• Asks: [price x size] …\n\nCandles (latest N)\n• Interval: {{interval}} (O/H/L/C per candle)\n```\n\n## Rules\n\n* Call the correct **Bybit v5 Spot** endpoint for each request.\n* Do not fabricate values or provide analysis/sentiment.\n* Do not dump raw JSON; present clean, readable values.\n* On error or missing fields, show `N/A` and continue.\n\n"
        },
        "promptType": "define"
      },
      "typeVersion": 1.8
    },
    {
      "id": "41e95ef0-7957-44c5-ae8f-faebc894b28b",
      "name": "24小时统计数据1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -704,
        608
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/tickers",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **24h Stats (Ticker)**\n\n**Endpoint:** `GET /v5/market/tickers`\n**What it does:** Returns latest price and 24h stats for a Spot symbol: last price, best bid/ask, 24h high/low, 24h change %, turnover and volume.\n\n**Params:**\n\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, optional but recommended) → e.g., BTCUSDT\n\n**Returns:** Bybit ticker fields such as `lastPrice`, `bid1Price`, `ask1Price`, `highPrice24h`, `lowPrice24h`, `price24hPcnt`, `turnover24h`, `volume24h`.\n\n**n8n query mapping:**\n\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "dbb8ad4d-0e57-4abf-809e-c759457a06a9",
      "name": "订单簿深度1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -416,
        608
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/orderbook",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('limit', `100`, 'number') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Order Book Depth**\n\n**Endpoint:** `GET /v5/market/orderbook`\n**What it does:** Returns order book bids/asks up to `limit` for a symbol.\n\n**Params:**\n\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n* `limit` (INT, optional; default 25; max 5000)\n\n**Returns:** bid/ask arrays with price and size.\n\n**n8n query mapping:**\n\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\nlimit    = $fromAI('limit', 100, 'number')\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "e6fcff06-babc-4167-ad9a-13a07b66723b",
      "name": "价格(最新)1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        -128,
        608
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/tickers",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Price (Latest)**\n\n**Endpoint:** `GET /v5/market/tickers`\n**What it does:** Returns the latest price and 24h stats for a symbol.\n\n**Params:**\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n\n**Returns:** includes lastPrice, bid1Price, ask1Price, highPrice24h, lowPrice24h, volume24h, etc.\n\n**n8n query mapping:**\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "850c7e5a-b61b-4618-a158-7c505086252c",
      "name": "最佳买卖价1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        208,
        592
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/orderbook",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            },
            {
              "name": "limit",
              "value": "1"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Best Bid/Ask (Book Ticker)**\n\n**Endpoint:** `GET /v5/market/orderbook`\n**What it does:** Returns the current order book. Using `limit=1` gives the **best bid/ask** (top of book).\n\n**Params:**\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n* `limit` (INT, optional, default 1)\n\n**Returns:** top of book with bid/ask price and size arrays.\n\n**n8n query mapping:**\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\nlimit    = 1\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "a60a8ec4-3aca-4958-b87b-f68fc522e3e7",
      "name": "K线(蜡烛图)1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        544,
        592
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/kline",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            },
            {
              "name": "interval",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('interval', `15`, 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('limit', `20`, 'number') }}"
            },
            {
              "name": "start",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('start', ``, 'number') }}"
            },
            {
              "name": "end",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('end', ``, 'number') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Klines (Candles)**\n\n**Endpoint:** `GET /v5/market/kline`\n**What it does:** Returns candlestick (OHLCV) bars for a spot symbol and interval.\n\n**Params:**\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n* `interval` (STRING, required) → supported: `1,3,5,15,30,60,120,240,360,720,D,W,M`\n* `limit` (INT, optional, default 20)\n* `start` (LONG, optional, ms timestamp)\n* `end` (LONG, optional, ms timestamp)\n\n**Returns (array per candle):** `[ startTime, open, high, low, close, volume, turnover ]`\n\n**n8n query mapping:**\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\ninterval = $fromAI('interval', '15', 'string')\nlimit    = $fromAI('limit', 20, 'number')\nstart    = $fromAI('start', '', 'number')\nend      = $fromAI('end', '', 'number')\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "d128abbd-cac6-4c17-bc95-3fc4e3ba2651",
      "name": "报价(最新和统计数据)",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        880,
        592
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/tickers",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('symbol', `BTCUSDT`, 'string') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Ticker (Latest & Stats)**\n\n**Endpoint:** `GET /v5/market/tickers`\n**What it does:** Returns the latest price, best bid/ask, 24h high/low, % change, and volume for a symbol.\n\n**Params:**\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n\n**Returns:** `{symbol, lastPrice, bid1Price, bid1Size, ask1Price, ask1Size, highPrice24h, lowPrice24h, volume24h, turnover24h}`\n\n**n8n query mapping:**\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('symbol', 'BTCUSDT', 'string')\n```\n\n**Notes:** Bybit has no `/avgPrice`; derive midpoint `(bid1Price + ask1Price) / 2` in the Calculator node if needed."
      },
      "typeVersion": 4.2
    },
    {
      "id": "b97f8b36-a8c5-449d-9df7-279daa00ae50",
      "name": "近期交易1",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        1200,
        608
      ],
      "parameters": {
        "url": "https://api.bybit.com/v5/market/recent-trade",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "category",
              "value": "spot"
            },
            {
              "name": "symbol",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters0_Value', ``, 'string') }}"
            },
            {
              "name": "limit",
              "value": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('parameters1_Value', `100`, 'number') }}"
            }
          ]
        },
        "toolDescription": "### 🏷 Tool: **Recent Trades**\n\n**Endpoint:** `GET /v5/market/recent-trade`\n**What it does:** Returns the most recent public trades for a given symbol.\n\n**Params:**\n* `category` (STRING, required) → `spot`\n* `symbol` (STRING, required) → e.g., BTCUSDT\n* `limit` (INT, optional, default 100, max 1000)\n\n**Returns:** array of trades `{execId, price, size, side, time}`.\n\n**n8n query mapping:**\n```txt\ncategory = 'spot'\nsymbol   = $fromAI('parameters0_Value', '', 'string')\nlimit    = $fromAI('parameters1_Value', 100, 'number')\n```"
      },
      "typeVersion": 4.2
    },
    {
      "id": "b91c3be7-60e1-4309-a195-14cc2cb35a8a",
      "name": "便签17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        -1408
      ],
      "parameters": {
        "width": 1168,
        "height": 3920,
        "content": "# 📘 Bybit AI代理 v1.02 文档"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f2c0d0c4-cb82-42ed-abab-e92908715c43",
  "connections": {
    "Think": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "24h Stats1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Calculator": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Best Bid/Ask1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Recent Trades1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Bybit  AI Agent": {
      "main": [
        [
          {
            "node": "Splits message is more than 4000 characters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Price (Latest)1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Adds \"SessionId\"": {
      "main": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "User Authentication (Replace Telegram ID)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Klines (Candles)1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Order Book Depth1": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Ticker (Latest & Stats)": {
      "ai_tool": [
        [
          {
            "node": "Bybit  AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "User Authentication (Replace Telegram ID)": {
      "main": [
        [
          {
            "node": "Adds \"SessionId\"",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Splits message is more than 4000 characters": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 加密货币交易, AI 聊天机器人, 多模态 AI

需要付费吗?

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

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

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

作者
Don Jayamaha Jr

Don Jayamaha Jr

@don-the-gem-dealer

With 12 years of experience as a Blockchain Strategist and Web3 Architect, I specialize in bridging the gap between traditional industries and decentralized technologies. My expertise spans tokenized assets, crypto payment integrations, and blockchain-driven market solutions.

外部链接
在 n8n.io 查看

分享此工作流