{ "name": "Blog Watcher Daily Scan", "nodes": [ { "parameters": { "command": "python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py", "cwd": "/Users/weishen/.hermes/skills/custom/blogwatcher-daily" }, "type": "n8n-nodes-base.ssh", "typeVersion": 1, "position": [ -1968, -208 ], "id": "213f8a64-4018-4bbe-be8f-73efc59b3a76", "name": "扫描所有订阅", "credentials": { "sshPassword": { "id": "MyXMNq72AJx65AUV", "name": "macmini-ssh-password-account" } } }, { "parameters": { "options": {} }, "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [ -1472, -208 ], "id": "7f50eeff-4013-449e-a32e-5ae9dff032ad", "name": "Loop Over Items", "executeOnce": false }, { "parameters": { "jsCode": "const text = $input.first().json.stdout;\nconst maxLength = 4096;\nconst paragraphs = text.split('\\n');\nconst messages = [];\nlet currentMessage = '';\n\nfor (const para of paragraphs) {\n if ((currentMessage + '\\n' + para).length > maxLength) {\n if (currentMessage) messages.push({ text: currentMessage });\n currentMessage = para;\n } else {\n currentMessage += (currentMessage ? '\\n' : '') + para;\n }\n}\nif (currentMessage) messages.push({ text: currentMessage });\n\nreturn messages;" }, "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ -1632, -208 ], "id": "2f638ebb-8586-4681-bc86-f2a27b924684", "name": "分割消息" }, { "parameters": { "chatId": "5038825565", "text": "={{ $json.stdout }}", "additionalFields": {} }, "type": "n8n-nodes-base.telegram", "typeVersion": 1.2, "position": [ -1792, 0 ], "id": "befccd1f-06ea-4391-ad31-c12d2adebd44", "name": "发送扫描概况", "webhookId": "9dd2ca70-0312-4db2-85a6-74974a1f0ff6", "credentials": { "telegramApi": { "id": "4OmmHajtdzPHY3Bp", "name": "macmini-telegram-xingzhi-bot" } } }, { "parameters": { "chatId": "5038825565", "text": "={{ $json.text }}", "additionalFields": {} }, "type": "n8n-nodes-base.telegram", "typeVersion": 1.2, "position": [ -1360, -32 ], "id": "b21df8bf-98b6-450d-8c7c-2fb8fbc19a5a", "name": "发送今日内容", "webhookId": "89c751ee-c868-42f5-a276-b6914bb4a75f", "credentials": { "telegramApi": { "id": "4OmmHajtdzPHY3Bp", "name": "macmini-telegram-xingzhi-bot" } } }, { "parameters": { "command": "python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --mark-read", "cwd": "/Users/weishen/.hermes/skills/custom/blogwatcher-daily" }, "type": "n8n-nodes-base.ssh", "typeVersion": 1, "position": [ -1792, 192 ], "id": "803cc417-5bc9-400c-baa4-ef6ec7fecfae", "name": "标记今日内容为已读", "credentials": { "sshPassword": { "id": "MyXMNq72AJx65AUV", "name": "macmini-ssh-password-account" } } }, { "parameters": { "rule": { "interval": [ { "triggerAtHour": 6 } ] } }, "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.4, "position": [ -2128, -208 ], "id": "cf7875ab-6e01-4b2c-bc45-47e96f523a94", "name": "Schedule Trigger" }, { "parameters": { "fromEmail": "star-agent@agentmail.to", "toEmail": "billyshen@163.com", "subject": "=Blogwatcher Daily — {{new Date().toISOString().split('T')[0]}}", "html": "={{ $json.stdout }}", "options": {} }, "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ -1632, -416 ], "id": "c5a0275b-d838-4e11-ae4c-75c7e6ea9645", "name": "Send an Email", "webhookId": "db6a011f-5124-43d3-9ae3-6da954e1bd3e", "credentials": { "smtp": { "id": "ECOkUVEjqLwMGZaL", "name": "agentmail-smtp-account" } } }, { "parameters": { "command": "python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --export html", "cwd": "/Users/weishen/.hermes/skills/custom/blogwatcher-daily" }, "type": "n8n-nodes-base.ssh", "typeVersion": 1, "position": [ -1792, -416 ], "id": "d49e9df7-e27f-4f13-8962-83ea01dfbaa8", "name": "导出今日内容(HTML)", "credentials": { "sshPassword": { "id": "MyXMNq72AJx65AUV", "name": "macmini-ssh-password-account" } } }, { "parameters": { "command": "python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --export markdown", "cwd": "/Users/weishen/.hermes/skills/custom/blogwatcher-daily" }, "type": "n8n-nodes-base.ssh", "typeVersion": 1, "position": [ -1792, -208 ], "id": "79ef36f1-6377-4d8c-a95f-9f9f7d55d030", "name": "导出今日内容(Markdown)", "credentials": { "sshPassword": { "id": "MyXMNq72AJx65AUV", "name": "macmini-ssh-password-account" } } }, { "parameters": { "method": "POST", "url": "http://192.168.3.189:8642/v1/chat/completions", "authentication": "genericCredentialType", "genericAuthType": "httpBearerAuth", "sendBody": true, "specifyBody": "json", "jsonBody": "{\n \"model\": \"hermes-agent\",\n \"messages\": [\n {\"role\": \"user\", \"content\": \"请用git-sync技能对/Users/weishen/Workspace/nexus 目录做一次git 同步\"}\n ],\n \"stream\": false\n}", "options": {} }, "type": "n8n-nodes-base.httpRequest", "typeVersion": 4.5, "position": [ -1584, 192 ], "id": "c8e9813a-bcdb-4231-8826-8b0f5e109b3c", "name": "对Blogwather 输出目录进行一次Git同步", "credentials": { "httpBearerAuth": { "id": "GkmmyLXcesldpTDE", "name": "macmini-hermes-default-api-key" } } } ], "pinData": {}, "connections": { "扫描所有订阅": { "main": [ [ { "node": "发送扫描概况", "type": "main", "index": 0 }, { "node": "导出今日内容(Markdown)", "type": "main", "index": 0 }, { "node": "标记今日内容为已读", "type": "main", "index": 0 }, { "node": "导出今日内容(HTML)", "type": "main", "index": 0 } ] ] }, "Loop Over Items": { "main": [ [], [ { "node": "发送今日内容", "type": "main", "index": 0 } ] ] }, "分割消息": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "发送今日内容": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "Schedule Trigger": { "main": [ [ { "node": "扫描所有订阅", "type": "main", "index": 0 } ] ] }, "Send an Email": { "main": [ [] ] }, "导出今日内容(HTML)": { "main": [ [ { "node": "Send an Email", "type": "main", "index": 0 } ] ] }, "导出今日内容(Markdown)": { "main": [ [ { "node": "分割消息", "type": "main", "index": 0 } ] ] }, "标记今日内容为已读": { "main": [ [ { "node": "对Blogwather 输出目录进行一次Git同步", "type": "main", "index": 0 } ] ] }, "对Blogwather 输出目录进行一次Git同步": { "main": [ [] ] } }, "active": true, "settings": { "executionOrder": "v1", "binaryMode": "separate" }, "versionId": "65bddf9b-f0da-49a5-bd5b-9158e665458c", "meta": { "templateCredsSetupCompleted": true, "instanceId": "0d85c1c8320c5fe7dfb1167fa257713dc13ee89925aa6b6c8e5825922abfa363" }, "nodeGroups": [], "id": "RXH496TViFuD0SKt", "tags": [] }