From 91de623a85e6080bc07cdb74483ec022432f41c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Fri, 28 Aug 2026 12:10:17 +0300 Subject: [PATCH] fitness_sedat_workflow --- .../n8n_sedat_fitness_workflow_GEMMA3_4B.json | 298 ++++++++++++++++++ 1 file changed, 298 insertions(+) create mode 100644 configs/ai/n8n_sedat_fitness_workflow_GEMMA3_4B.json diff --git a/configs/ai/n8n_sedat_fitness_workflow_GEMMA3_4B.json b/configs/ai/n8n_sedat_fitness_workflow_GEMMA3_4B.json new file mode 100644 index 00000000..acd87794 --- /dev/null +++ b/configs/ai/n8n_sedat_fitness_workflow_GEMMA3_4B.json @@ -0,0 +1,298 @@ +{ + "name": "n8n_sedat_fitness_workflow_GEMMA3_4B", + "nodes": [ + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "30 8 * * *" + } + ] + } + }, + "id": "946fdc84-d613-4e45-90aa-59084b6758a9", + "name": "Sabah 08:30 (Kahvaltı & Su)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1216 + ] + }, + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "0 13 * * *" + } + ] + } + }, + "id": "b0b85700-1e5f-4da8-b188-0d0ae5828d88", + "name": "Öğle 13:00 (Öğün & Su)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1376 + ] + }, + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "30 16 * * *" + } + ] + } + }, + "id": "d5e5c88b-ef78-4c13-8c9b-6cd71093db10", + "name": "Ara Öğün 16:30 (Öğün & Su)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1520 + ] + }, + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "30 19 * * *" + } + ] + } + }, + "id": "f794a608-7b17-4346-a3e7-2a4ac06b0571", + "name": "Akşam 19:30 (Öğün & Su)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1680 + ] + }, + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "30 20 * * 1-5" + } + ] + } + }, + "id": "2b249df1-eb0f-4949-bef1-d92c320efdd9", + "name": "Hafta İçi 20:30 (Spor)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1824 + ] + }, + { + "parameters": { + "rule": { + "interval": [ + { + "field": "cronExpression", + "expression": "0 11 * * 0,6" + } + ] + } + }, + "id": "d7f3961d-cbd6-450e-a2f7-a778cacfa2f9", + "name": "Hafta Sonu 11:00 (Spor)", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1.1, + "position": [ + 3216, + 1968 + ] + }, + { + "parameters": { + "assignments": { + "assignments": [ + { + "id": "set-vakit", + "name": "vakit", + "value": "={{ $prevNode.name }}", + "type": "string" + } + ] + }, + "options": {} + }, + "id": "fd92259d-0361-46f8-8e7f-f9af634be5db", + "name": "Vakit Belirleyici", + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [ + 3520, + 1568 + ] + }, + { + "parameters": { + "chatId": "1026159170", + "text": "={{ $json.message.content }}", + "additionalFields": {} + }, + "id": "70b3dddf-5592-4dd5-8770-b0125e35c07b", + "name": "Telegram Bildirim", + "type": "n8n-nodes-base.telegram", + "typeVersion": 1.1, + "position": [ + 4080, + 1568 + ], + "webhookId": "28e1329f-73b3-46d1-a34d-7ed7bd2b744d", + "credentials": { + "telegramApi": { + "id": "zfkbDsTbn8HTVw9Q", + "name": "Telegram account 2" + } + } + }, + { + "parameters": { + "method": "POST", + "url": "http://ollama:11434/api/chat", + "sendBody": true, + "specifyBody": "json", + "jsonBody": "={{ \n { \n model: 'gemma3:4b', \n messages: [ \n { \n role: 'system', \n content: 'Sen kullanıcıya özel hizmet veren profesyonel bir fitness ve beslenme asistanısın. Kullanıcı 167 cm boyunda, 96 kg ağırlığında. Hedefi evde ekipmansız çalışarak göbek bölgesini eritmek ve karın kaslarını görünür kılmak. Hafta içi çalışıyor.\\n\\nTetiklenen vakte göre görevin:\\n1. Eğer vakit \"Sabah\" içeriyorsa: Doğrudan yüksek proteinli, düşük glisemik indeksli net bir kahvaltı menüsü/tarifi ver (Örn: Lorlu omlet, fit menemen). Yanına \"Bugün 3.5 litre su hedefinin ilk 1 litresini öğlene kadar bitir\" uyarısını ekle.\\n2. Eğer vakit \"Öğle\", \"Ara\" veya \"Akşam\" içeriyorsa: Zamanlamaya uygun yağsız protein (tavuk, et, balık) ve yeşillik içeren net yemek önerisi sun.\\n3. Eğer vakit \"Spor\" içeriyorsa: Evde ekipmansız yapılabilecek 3-4 hareketlik (Plank, Squat, Şınav, Leg Raise vb.) net set ve tekrar sayılı bir antrenman kombinasyonu yaz.\\n\\nHer mesajın kısa, net, dünkünden farklı ve motive edici olsun. Sadece doğrudan tabağa girecek yiyeceği veya yapılacak hareketi söyle.' \n }, \n { \n role: 'user', \n content: 'Mevcut tetiklenen zaman döngüsü: ' + ($json.vakit || 'Sabah')\n } \n ], \n stream: false \n } \n}}", + "options": {} + }, + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.2, + "position": [ + 3792, + 1568 + ], + "id": "0f1dbb16-3ca0-4335-ba92-737a43974083", + "name": "Intent Ollama" + } + ], + "pinData": {}, + "connections": { + "Sabah 08:30 (Kahvaltı & Su)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Öğle 13:00 (Öğün & Su)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Ara Öğün 16:30 (Öğün & Su)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Akşam 19:30 (Öğün & Su)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Hafta İçi 20:30 (Spor)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Hafta Sonu 11:00 (Spor)": { + "main": [ + [ + { + "node": "Vakit Belirleyici", + "type": "main", + "index": 0 + } + ] + ] + }, + "Vakit Belirleyici": { + "main": [ + [ + { + "node": "Intent Ollama", + "type": "main", + "index": 0 + } + ] + ] + }, + "Intent Ollama": { + "main": [ + [ + { + "node": "Telegram Bildirim", + "type": "main", + "index": 0 + } + ] + ] + }, + "Telegram Bildirim": { + "main": [ + [] + ] + } + }, + "active": true, + "settings": { + "executionOrder": "v1", + "availableInMCP": false, + "timeSavedMode": "fixed", + "callerPolicy": "workflowsFromSameOwner" + }, + "versionId": "cddaf0a8-9081-4fa6-8697-0ab4cb45d539", + "meta": { + "templateCredsSetupCompleted": true, + "instanceId": "1d288821beaaeeada5e8dce6f282c802098a0c83ef6ddb35a174b09a9d43850e" + }, + "id": "d2Eh2-wWWkt-7v8o6imBa", + "tags": [] +} \ No newline at end of file