From feb01f70d97d505845262b43a4d72b4c40088023 Mon Sep 17 00:00:00 2001 From: admin Date: Wed, 2 Sep 2026 09:24:26 +0800 Subject: [PATCH] add n8n workflow --- .../n8n/Blog Watcher Daily Scan.json | 344 ++++++++++++++++++ 1 file changed, 344 insertions(+) create mode 100644 blogwatcher-daily/n8n/Blog Watcher Daily Scan.json diff --git a/blogwatcher-daily/n8n/Blog Watcher Daily Scan.json b/blogwatcher-daily/n8n/Blog Watcher Daily Scan.json new file mode 100644 index 0000000..e253871 --- /dev/null +++ b/blogwatcher-daily/n8n/Blog Watcher Daily Scan.json @@ -0,0 +1,344 @@ +{ + "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": [ + -1808, + -32 + ], + "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": [ + -1808, + 224 + ], + "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": { + "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\": \"请用blogwatcher-daily技能导出HTML格式的今日文章,并通过agentmail技能发送到billyshen@163.com\"}\n ],\n \"stream\": false\n}", + "options": {} + }, + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 4.5, + "position": [ + -928, + -432 + ], + "id": "c8e9813a-bcdb-4231-8826-8b0f5e109b3c", + "name": "通知Hermes导出今日内容并发送邮件", + "credentials": { + "httpBearerAuth": { + "id": "GkmmyLXcesldpTDE", + "name": "macmini-hermes-default-api-key" + } + } + }, + { + "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" + } + } + } + ], + "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 + } + ] + ] + }, + "通知Hermes导出今日内容并发送邮件": { + "main": [ + [] + ] + }, + "Send an Email": { + "main": [ + [] + ] + }, + "导出今日内容(HTML)": { + "main": [ + [ + { + "node": "Send an Email", + "type": "main", + "index": 0 + } + ] + ] + }, + "导出今日内容(Markdown)": { + "main": [ + [ + { + "node": "分割消息", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "active": true, + "settings": { + "executionOrder": "v1", + "binaryMode": "separate" + }, + "versionId": "e3f404c2-bbb6-41e7-9a80-880bd0f0c482", + "meta": { + "templateCredsSetupCompleted": true, + "instanceId": "0d85c1c8320c5fe7dfb1167fa257713dc13ee89925aa6b6c8e5825922abfa363" + }, + "nodeGroups": [], + "id": "RXH496TViFuD0SKt", + "tags": [] +} \ No newline at end of file