diff --git a/backups/2025-12-27/1766870628051_Telegram → AI Workflow Creator New.json b/backups/2025-12-27/1766870628051_Telegram → AI Workflow Creator New.json deleted file mode 100644 index 33739b2..0000000 --- a/backups/2025-12-27/1766870628051_Telegram → AI Workflow Creator New.json +++ /dev/null @@ -1 +0,0 @@ -{"updatedAt":"2025-10-23T11:54:34.689Z","createdAt":"2025-10-23T10:10:14.976Z","id":"yyXLAtVh1rd9lwEE","name":"Telegram → AI Workflow Creator New","active":false,"isArchived":false,"nodes":[{"parameters":{"updates":["message"],"additionalFields":{}},"id":"5bb9a6f2-57e6-4bf8-86bc-e383b063f9d8","name":"Telegram Trigger","type":"n8n-nodes-base.telegramTrigger","typeVersion":1.2,"position":[0,0],"webhookId":"telegram-webhook","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram account"}}},{"parameters":{"jsCode":"const inputData = $input.first() || {};\nconst message = inputData.json?.message || {};\nconst messageText = message.text || '';\nconst chatId = message.chat?.id || '';\nconst messageId = message.message_id || '';\n\nconst regex = /^\\/create\\s+(.+)/;\nconst match = messageText.match(regex);\n\nif (match) {\n return [{\n json: {\n description: match[1].trim(),\n chat_id: chatId,\n message_id: messageId\n }\n }];\n} else {\n return [{\n json: {\n error: 'Команда не распознана. Используйте /create <описание>',\n chat_id: chatId,\n message_id: messageId\n }\n }];\n}"},"id":"febf518b-beda-4202-b613-ea7f09285a81","name":"Check /create Command","type":"n8n-nodes-base.code","typeVersion":2,"position":[224,0]},{"parameters":{"jsCode":"const inputData = $input.first();\n\nreturn [{\n json: {\n description: inputData?.json?.description || '',\n chat_id: inputData?.json?.chat_id || '',\n message_id: inputData?.json?.message_id || ''\n }\n}];"},"id":"0a13c28d-bd75-4ea1-acf9-a123606d7162","name":"Extract Description","type":"n8n-nodes-base.code","typeVersion":2,"position":[448,0]},{"parameters":{"method":"POST","url":"https://api.openai.com/v1/chat/completions","authentication":"predefinedCredentialType","nodeCredentialType":"openAiApi","sendHeaders":true,"headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"sendBody":true,"bodyParameters":{"parameters":[{"name":"model","value":"gpt-4o-mini"},{"name":"messages","value":"=JSON.parse('[{\"role\": \"system\", \"content\": \"Ты эксперт по n8n. Генерируй ВАЛЬНЫЙ JSON для импорта воркфлоу n8n по описанию пользователя. Используй актуальную структуру n8n (версия 1.x). Включи: name, nodes[], connections{}. Каждый node должен иметь: id, name, type, typeVersion, position[], parameters{}. Соединяй ноды через connections. Верни ТОЛЬКО валидный JSON без объяснений.\"}, {\"role\": \"user\", \"content\": \"Создай n8n workflow JSON: {{ $json.description }}\"}]')"},{"name":"max_tokens","value":4000},{"name":"temperature","value":0.1}]},"options":{}},"id":"536068e0-b3ec-41d1-bd9f-c61902458683","name":"Generate Workflow (AI)","type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[896,0],"credentials":{"openAiApi":{"id":"PvUURuR361IXH0ve","name":"OpenAi account"}}},{"parameters":{"jsCode":"const response = $input.first().json;\nconst aiResponse = response.choices[0].message.content;\n\n// Парсим JSON из ответа AI\nlet workflowJson;\ntry {\n workflowJson = JSON.parse(aiResponse);\n} catch (error) {\n throw new Error('AI вернул невалидный JSON: ' + error.message);\n}\n\nreturn {\n ...$input.first().json,\n workflow: workflowJson,\n chat_id: $('Extract Description').first().json.chat_id,\n message_id: $('Extract Description').first().json.message_id\n};"},"id":"66f7f81f-5720-49ba-a1d5-62ebab96d1c8","name":"Parse Workflow JSON","type":"n8n-nodes-base.code","typeVersion":2,"position":[1120,0]},{"parameters":{"method":"POST","url":"=https://{{ $vars.N8N_HOST || 'your-n8n-instance.com' }}/api/v1/workflows","authentication":"predefinedCredentialType","nodeCredentialType":"n8nApi","sendBody":true,"bodyParameters":{"parameters":[{"name":"name","value":"={{ $json.workflow.name || 'New Workflow' }}"},{"name":"nodes","value":"=JSON.stringify($json.workflow.nodes)"},{"name":"connections","value":"=JSON.stringify($json.workflow.connections)"},{"name":"active","value":false}]},"options":{"response":{"response":{"fullResponse":true}}}},"id":"24511dfd-63d3-4dc3-9876-593b298bbe7f","name":"Create Workflow (API)","type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[1328,0],"credentials":{"n8nApi":{"id":"LFyobxvAMNg8Kk5i","name":"n8n account"}}},{"parameters":{"jsCode":"const apiResponse = $input.first().json;\nconst workflowData = $('Parse Workflow JSON').first().json.workflow;\nconst baseData = $('Extract Description').first().json;\n\nif (apiResponse.id) {\n return {\n success: true,\n workflow_id: apiResponse.id,\n workflow_name: workflowData.name,\n chat_id: baseData.chat_id,\n message_id: baseData.message_id,\n workflow_json: workflowData\n };\n} else {\n return {\n success: false,\n error: 'Ошибка создания воркфлоу: ' + JSON.stringify(apiResponse),\n chat_id: baseData.chat_id,\n message_id: baseData.message_id\n };\n}"},"id":"b1ed22d5-b7c6-4409-b289-8c6abd659fe9","name":"Check Creation Success","type":"n8n-nodes-base.code","typeVersion":2,"position":[1552,0]},{"parameters":{"chatId":"1171589143","text":"идёт процесс","additionalFields":{}},"type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[688,0],"id":"032afb7a-406a-4fbf-b62e-6c7958820abb","name":"Send a proccessing message","webhookId":"143ce306-be21-4f33-90e4-80110e839794","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram account"}}},{"parameters":{"chatId":"1171589143","text":"work done","additionalFields":{}},"type":"n8n-nodes-base.telegram","typeVersion":1.2,"position":[1776,0],"id":"061af2b7-a847-460e-85a1-2f039c01f6ae","name":"Send a success message","webhookId":"143ce306-be21-4f33-90e4-80110e839794","credentials":{"telegramApi":{"id":"L9KHcMiteyKROF5r","name":"Telegram account"}}}],"connections":{"Telegram Trigger":{"main":[[{"node":"Check /create Command","type":"main","index":0}]]},"Check /create Command":{"main":[[{"node":"Extract Description","type":"main","index":0}]]},"Generate Workflow (AI)":{"main":[[{"node":"Parse Workflow JSON","type":"main","index":0}]]},"Parse Workflow JSON":{"main":[[{"node":"Create Workflow (API)","type":"main","index":0}]]},"Create Workflow (API)":{"main":[[{"node":"Check Creation Success","type":"main","index":0}]]},"Extract Description":{"main":[[{"node":"Send a proccessing message","type":"main","index":0}]]},"Send a proccessing message":{"main":[[{"node":"Generate Workflow (AI)","type":"main","index":0}]]},"Check Creation Success":{"main":[[{"node":"Send a success message","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":null,"meta":{"templateCredsSetupCompleted":true},"pinData":{},"versionId":"456ab5fa-01ef-4a73-b75d-8326d00810bf","activeVersionId":null,"triggerCount":0,"shared":[{"updatedAt":"2025-10-23T10:10:14.976Z","createdAt":"2025-10-23T10:10:14.976Z","role":"workflow:owner","workflowId":"yyXLAtVh1rd9lwEE","projectId":"sYuiFAb87pAir6jV"}],"activeVersion":null,"tags":[]} \ No newline at end of file