Files
n8n/1.云大阁邮件.md
2025-09-01 23:48:02 +08:00

25 KiB
Raw Blame History

{ "nodes": [ { "parameters": { "jsCode": "// 获取新报告的数据\nconst data = $input.first().json.allDocuments;\nconst counter = $input.first().json.totalItems;\nfunction jsonToHtml(reports, counter) {\n let html = <p>本次共有 ${counter} 份新报告:</p>;\n html += '<ul style="list-style: none; padding-left: 0;">';\n\n reports.forEach(report => {\n html += \n <li style=\"margin-bottom: 20px;\">\n <h3 style=\"margin: 0;\">\n <a href=\"${report.url}\" target=\"_blank\">${report.title}</a>\n </h3>\n <p>${report.summary}</p>\n </li>\n ;\n });\n\n html += '';\n return html;\n}\n\n// 生成最终 HTML 输出\nconst htmlOutput = jsonToHtml(data, counter);\n\n// 返回结果\nreturn { htmlOutput };\n" }, "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 240, 32 ], "id": "783b0b8b-63c6-43ff-b4c3-9a783ffe560f", "name": "Code", "retryOnFail": true, "maxTries": 5 }, { "parameters": { "operation": "executeQuery", "query": "SELECT id, title, summary, url FROM documents WHERE is_notified = 0;\n", "options": {} }, "type": "n8n-nodes-base.mySql", "typeVersion": 2.4, "position": [ -464, 256 ], "id": "635a3583-537d-456a-a7aa-e4b8826294b8", "name": "SQL 查询是否有新文件", "alwaysOutputData": true, "credentials": { "mySql": { "id": "QjSo8Gph2IzJHBDw", "name": "MySQL account" } } }, { "parameters": { "rule": { "interval": [ { "field": "weeks", "weeksInterval": 4, "triggerAtDay": [ 1 ], "triggerAtHour": 10 } ] } }, "type": "n8n-nodes-base.scheduleTrigger", "typeVersion": 1.2, "position": [ -192, 16 ], "id": "355061e3-a4fd-4cc0-a505-d2b5caa0a3f7", "name": "定时器" }, { "parameters": { "batchSize": "=1", "options": {} }, "type": "n8n-nodes-base.splitInBatches", "typeVersion": 3, "position": [ 448, 608 ], "id": "1b16c81a-7a2c-47d4-8ce9-50dd2246b33c", "name": "Loop Over Items" }, { "parameters": {}, "type": "n8n-nodes-base.manualTrigger", "typeVersion": 1, "position": [ -704, 256 ], "id": "e1ebe31f-f172-4c09-87bb-089590d4eaf4", "name": "When clicking Execute workflow" }, { "parameters": { "promptType": "define", "text": "=你是一个专业的前端文案工程师和信息可视化专家。请基于以下 JSON 格式的报告摘要数据,帮我生成一个高质量的 HTML 页面。\n\n以下是你要展示的内容数据\n{{ $json.result.allfile }}\n请你按照如下要求设计这个 HTML 页面:\n\n### 📌 页面结构要求:\n1. 页面标题为:《最新行业报告汇总》\n2. 页面顶部有一个简洁的横幅标题,居中展示。\n3. 每一份报告以卡片Card形式排布,每张卡片包括:\n - 报告标题(使用

或加粗字体)\n - 报告摘要(一段文字,控制在 3-4 行)\n - 阅读链接(带跳转的超链接,按钮或文字链接格式)\n4. 页面整体采用响应式设计,在桌面和移动端上表现良好。\n5. 使用美观的字体配色,建议配色主题为:\n - 主标题颜色:#2c3e50深蓝色\n - 正文颜色:#34495e\n - 背景色:#f8f9fa 或白色\n - 链接颜色:#3498db蓝色\n6. 页面使用简洁的 CSS 样式,内嵌在 <style> 中,不要依赖外部 CSS 文件。\n7. 你可以为每张卡片添加轻微阴影效果或圆角,提升视觉体验。\n\n请输出完整 HTML 源码,不要包含额外解释或说明。\n输出不要带代码块说明```等符号我需要你输出的html代码复制就可以作为网页使用\n示例\n\n<html lang="zh-CN">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n \n <style>\n body {\n font-family: "Segoe UI", sans-serif;\n background: #f8f9fa;\n color: #333;\n line-height: 1.6;\n margin: 0;\n padding: 0;\n }\n .container {\n max-width: 800px;\n margin: auto;\n padding: 40px 20px;\n background-color: #fff;\n border-radius: 8px;\n box-shadow: 0 2px 10px rgba(0,0,0,0.08);\n margin-top: 40px;\n border: 1px solid #e0e0e0;\n }\n h1 {\n text-align: center;\n font-size: 24px;\n color: #2c3e50;\n margin-bottom: 30px;\n }\n .report {\n padding: 20px 0;\n border-bottom: 1px solid #eee;\n }\n .report:last-child {\n border-bottom: none;\n }\n .title {\n font-size: 20px;\n font-weight: bold;\n color: #34495e;\n margin-bottom: 10px;\n }\n .summary {\n font-size: 15px;\n margin-bottom: 15px;\n color: #555;\n }\n .link {\n display: inline-block;\n margin-top: 10px;\n color: #3498db;\n text-decoration: none;\n font-weight: 500;\n }\n .link:hover {\n text-decoration: underline;\n }\n .metadata {\n font-size: 14px;\n color: #888;\n margin-bottom: 5px;\n }\n @media (max-width: 600px) {\n .container {\n padding: 20px 15px;\n }\n h1 {\n font-size: 20px;\n }\n .title {\n font-size: 18px;\n }\n }\n </style>\n</head>\n\n\n <div class="container">\n

最新技术趋势报告汇总

\n\n \n <div class="report">\n <div class="metadata">身份类型:云计算专家\n <div class="title">何宝宏 - 2025云计算十大关键词\n <div class="summary">\n 本报告系统性地描绘了2025年云计算产业的发展蓝图指出人工智能特别是大模型与云计算的深度融合是驱动行业变革的核心引擎。报告从基础设施超大规模智算集群、服务模式推理云服务、工程化交付、应用范式智能体、部署形态一体机、云终端到架构演进智能混合云、卓越架构再到市场策略央国企市场、全球化出海全方位地解读“云+AI”如何重塑技术栈、商业模式和全球市场格局。\n \n <a href="https://yundage.com/report/detail/966" class="link" target="_blank">点击查看报告原文\n \n\n \n <div class="report">\n <div class="metadata">身份类型:行业分析报告\n <div class="title">AI技术在项目管理中的应用洞察报告\n <div class="summary">\n 本报告共分六章展开论述系统分析AI在项目管理中的应用背景、行业痛点、核心能力、关键场景并结合标杆企业案例具象化呈现AI落地路径与成效。报告从理论到实践构建了完整的认知图谱是企业高管、项目管理者及研究者的重要参考资料。\n \n <a href="https://yundage.com/report/detail/992" class="link" target="_blank">点击查看报告原文\n \n\n \n\n\n</html>\n\n", "batching": {} }, "type": "@n8n/n8n-nodes-langchain.chainLlm", "typeVersion": 1.7, "position": [ 352, 240 ], "id": "0ec4c91c-c8ed-4d9e-aedd-0b5b56cf6900", "name": "Basic LLM Chain" }, { "parameters": { "model": { "__rl": true, "value": "qwen-plus", "mode": "list", "cachedResultName": "qwen-plus" }, "options": {} }, "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "typeVersion": 1.2, "position": [ 352, 416 ], "id": "6dcae13e-ff8a-4e18-ad79-5d0ba886ddc3", "name": "OpenAI Chat Model", "credentials": { "openAiApi": { "id": "rg9eI0cqMkaxv3AK", "name": "江oneapi" } } }, { "parameters": { "operation": "executeQuery", "query": "UPDATE documents SET is_notified = 1 WHERE id = 0;", "options": {} }, "type": "n8n-nodes-base.mySql", "typeVersion": 2.4, "position": [ 944, 624 ], "id": "a16e35ac-a219-4cb5-babe-b16ded78dd67", "name": "新文件标记为旧文件" }, { "parameters": { "fromEmail": "487954186@qq.com", "toEmail": "={{ $json.email }}", "subject": "=尊敬的{{ $json.name }},云大阁新报告推送", "emailFormat": "=html", "html": "={{ $('Basic LLM Chain').item.json.text }}", "options": {} }, "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ 720, 624 ], "id": "7d53a265-ad1e-4084-b719-c6f5d6cd8bb7", "name": "Send email", "webhookId": "bf65eb7b-2c76-4f2c-b936-25f4b92e3cba", "credentials": { "smtp": { "id": "iMDiFCizmxbB9mdv", "name": "SMTP account" } } }, { "parameters": { "operation": "executeQuery", "query": "SELECT DISTINCT name, email FROM subscribers WHERE active = 1;\n\n\n\n", "options": {} }, "type": "n8n-nodes-base.mySql", "typeVersion": 2.4, "position": [ 240, 608 ], "id": "8a1c33a2-092a-481e-9f50-9b41d2f0a104", "name": "sql获取用户信息", "credentials": { "mySql": { "id": "QjSo8Gph2IzJHBDw", "name": "MySQL account" } } }, { "parameters": { "jsCode": "// 创建一个数组,收集所有 item.json 内容\nconst allItems = [];\nlet itemCount = 0;\n\n// 遍历所有输入的 item收集 json 数据\nfor (const item of $input.all()) {\n allItems.push(item.json);\n itemCount++;\n}\n\n// 返回一个 item其中包含所有 item.json 的合并数据以及 item 的数量\n\n\n\n\n\n// Loop over input items and add a new field called 'myNewField' to the JSON of each one\nconst mergedString = allItems\n .map(doc => JSON.stringify(doc, null, 2)) // 格式化每个对象缩进2空格\n .join('\n\n'); // 每个对象之间用两个换行分隔\n \n// 构建新格式的对象\nconst result = {\n allfile: mergedString,\n totalItems: itemCount \n};\n\nreturn {result};" }, "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ -256, 256 ], "id": "a2d81232-ce96-4f7e-a0cb-efa364f27270", "name": "Code2" }, { "parameters": { "rules": { "values": [ { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "leftValue": "", "rightValue": "", "operator": { "type": "string", "operation": "equals" }, "id": "4601e87f-db9b-4096-8808-6e8b287defc3" } ], "combinator": "and" } } ] }, "options": {} }, "type": "n8n-nodes-base.switch", "typeVersion": 3.2, "position": [ 0, 16 ], "id": "ff70e58f-5cd2-4432-9440-2daa10218720", "name": "Switch" }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "36a179d0-001f-4cb9-a271-da04a6e5f28e", "leftValue": "={{ $json.result.totalItems }}", "rightValue": 0, "operator": { "type": "number", "operation": "gt" } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ -32, 256 ], "id": "43e0d609-58e1-43fe-b35a-d52e18f87b48", "name": "If" }, { "parameters": { "operation": "sendAndWait", "fromEmail": "487954186@qq.com", "toEmail": "15376767471@163.com", "subject": "本周邮件", "message": "={{ $json.text }}", "responseType": "customForm", "formFields": { "values": [ { "fieldLabel": "yes or no ?", "fieldType": "dropdown", "fieldOptions": { "values": [ { "option": "yes" }, { "option": "no" } ] }, "requiredField": true }, { "fieldLabel": "修改意见", "fieldType": "textarea" } ] }, "options": {} }, "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ -688, 624 ], "id": "3e770a8c-ef67-4939-8506-bcabdc17bf59", "name": "SendAndWait email", "webhookId": "ea2f0334-e4f1-4d5f-b5eb-274a26b30027", "credentials": { "smtp": { "id": "iMDiFCizmxbB9mdv", "name": "SMTP account" } } }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "582e0f5c-dde5-49f2-9e94-408041ad109c", "leftValue": "={{ $json.data['yes or no ?'] }}", "rightValue": "yes", "operator": { "type": "string", "operation": "equals" } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ -512, 624 ], "id": "241d0857-cc2f-4908-b3fc-c644f7cb3377", "name": "If1" }, { "parameters": { "promptType": "define", "text": "=你是一个专业的前端文案工程师和信息可视化专家。\n以下是一个大模型生成的报告我觉得存在问题需要改进以下是修改建议\n{{ $json.data['修改意见'] }}\n以下是原报告修改后按照原格式输出\n{{ $('Basic LLM Chain').item.json.text }}", "batching": {} }, "type": "@n8n/n8n-nodes-langchain.chainLlm", "typeVersion": 1.7, "position": [ -336, 752 ], "id": "3699e6d2-c801-425b-a79b-4f4e6ca06fd1", "name": "Basic LLM Chain1" }, { "parameters": { "model": { "__rl": true, "value": "deepseek-ai/DeepSeek-R1", "mode": "list", "cachedResultName": "deepseek-ai/DeepSeek-R1" }, "options": {} }, "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", "typeVersion": 1.2, "position": [ -336, 928 ], "id": "9f816eae-2f08-4ba9-ad43-80e8b3d3ea49", "name": "OpenAI Chat Model1", "credentials": { "openAiApi": { "id": "yzrRDMLnAHckRsR3", "name": "deepseek" } } }, { "parameters": { "operation": "sendAndWait", "fromEmail": "487954186@qq.com", "toEmail": "15376767471@163.com", "subject": "本周邮件", "message": "={{ $json.text }}", "responseType": "customForm", "formFields": { "values": [ { "fieldLabel": "yes or no ?", "fieldType": "dropdown", "fieldOptions": { "values": [ { "option": "yes" }, { "option": "no" } ] }, "requiredField": true }, { "fieldLabel": "修改意见", "fieldType": "textarea" } ] }, "options": {} }, "type": "n8n-nodes-base.emailSend", "typeVersion": 2.1, "position": [ -48, 752 ], "id": "48997e42-68fe-4b22-8512-df41b3ae318b", "name": "SendAndWait email1", "webhookId": "ea2f0334-e4f1-4d5f-b5eb-274a26b30027", "credentials": { "smtp": { "id": "iMDiFCizmxbB9mdv", "name": "SMTP account" } } }, { "parameters": { "conditions": { "options": { "caseSensitive": true, "leftValue": "", "typeValidation": "strict", "version": 2 }, "conditions": [ { "id": "13f4121b-9900-4757-ba38-1e8fbc71697e", "leftValue": "", "rightValue": "", "operator": { "type": "string", "operation": "equals", "name": "filter.operator.equals" } } ], "combinator": "and" }, "options": {} }, "type": "n8n-nodes-base.if", "typeVersion": 2.2, "position": [ 96, 752 ], "id": "00edd83c-cf3c-4a3f-a66b-fd55bad2d711", "name": "If2" } ], "connections": { "SQL 查询是否有新文件": { "main": [ [ { "node": "Code2", "type": "main", "index": 0 } ] ] }, "Loop Over Items": { "main": [ [], [ { "node": "Send email", "type": "main", "index": 0 } ] ] }, "When clicking Execute workflow": { "main": [ [ { "node": "SQL 查询是否有新文件", "type": "main", "index": 0 } ] ] }, "Basic LLM Chain": { "main": [ [ { "node": "SendAndWait email", "type": "main", "index": 0 } ] ] }, "OpenAI Chat Model": { "ai_languageModel": [ [ { "node": "Basic LLM Chain", "type": "ai_languageModel", "index": 0 } ] ] }, "Send email": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 }, { "node": "新文件标记为旧文件", "type": "main", "index": 0 } ] ] }, "sql获取用户信息": { "main": [ [ { "node": "Loop Over Items", "type": "main", "index": 0 } ] ] }, "Code2": { "main": [ [ { "node": "If", "type": "main", "index": 0 } ] ] }, "If": { "main": [ [ { "node": "Basic LLM Chain", "type": "main", "index": 0 } ] ] }, "SendAndWait email": { "main": [ [ { "node": "If1", "type": "main", "index": 0 } ] ] }, "If1": { "main": [ [ { "node": "sql获取用户信息", "type": "main", "index": 0 } ], [ { "node": "Basic LLM Chain1", "type": "main", "index": 0 } ] ] }, "Basic LLM Chain1": { "main": [ [ { "node": "SendAndWait email1", "type": "main", "index": 0 } ] ] }, "OpenAI Chat Model1": { "ai_languageModel": [ [ { "node": "Basic LLM Chain1", "type": "ai_languageModel", "index": 0 } ] ] }, "SendAndWait email1": { "main": [ [ { "node": "If2", "type": "main", "index": 0 } ] ] }, "If2": { "main": [ [ { "node": "sql获取用户信息", "type": "main", "index": 0 } ] ] } }, "pinData": { "Basic LLM Chain": [ { "text": "\n<html lang="zh-CN">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n \n <style>\n body {\n font-family: "Segoe UI", sans-serif;\n background-color: #f8f9fa;\n color: #34495e;\n margin: 0;\n padding: 0;\n }\n\n .container {\n max-width: 800px;\n margin: 40px auto;\n padding: 30px 20px;\n background-color: #fff;\n border-radius: 10px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);\n }\n\n h1 {\n text-align: center;\n font-size: 28px;\n color: #2c3e50;\n margin-bottom: 40px;\n }\n\n .card {\n border-bottom: 1px solid #eaeaea;\n padding: 25px 0;\n }\n\n .card:last-child {\n border-bottom: none;\n }\n\n .card h3 {\n font-size: 20px;\n color: #34495e;\n margin-bottom: 10px;\n }\n\n .summary {\n font-size: 15px;\n color: #555;\n line-height: 1.5;\n margin-bottom: 15px;\n }\n\n .link {\n display: inline-block;\n color: #3498db;\n text-decoration: none;\n font-weight: 500;\n }\n\n .link:hover {\n text-decoration: underline;\n }\n\n @media (max-width: 600px) {\n .container {\n margin: 20px auto;\n padding: 20px 15px;\n }\n\n h1 {\n font-size: 22px;\n }\n\n .card h3 {\n font-size: 18px;\n }\n\n .summary {\n font-size: 14px;\n }\n }\n </style>\n</head>\n\n\n <div class="container">\n

最新行业报告汇总

\n\n \n <div class="card">\n

高质量数据集实践指南1.0

\n <p class="summary">\n 随着人工智能技术迈入以大模型为核心的新纪元数据已成为驱动模型能力跃迁与产业智能化升级的战略资源。DeepSeek 的横空出世颠覆了 "高算力和高投入是发展人工智能唯一途径"的固有认知,引领从业者高度重视数据质量与规模,高质量数据集成为人工智能发展的关键要素。然而,当前产业界面临多重挑战。\n

\n <a href="https://yundage.com/report/detail/965" class="link" target="_blank">阅读完整报告\n \n\n \n <div class="card">\n

栗蔚-云计算蓝皮书2025解读

\n <p class="summary">\n 本文基于中国信通院《云计算蓝皮书2025 年)》,从全球与我国云计算发展概况、云计算与人工智能融合、云计算与算力互联网建设三大维度,系统解读云计算行业的政策动态、市场趋势、技术演进及应用实践。我国在市场规模、行业渗透、出海布局上成效显著,但需在算力云化、标准统一、数据安全等领域持续突破。\n

\n <a href="https://yundage.com/report/detail/967" class="link" target="_blank">阅读完整报告\n \n\n \n <div class="card">\n

医疗人工智能应用趋势观察

\n <p class="summary">\n 医疗人工智能应用正随生成式大模型快速发展而深化OpenAI 大模型从 ChatGPT 系列向深度推理模型演进,推动医疗多场景应用拓展,如 DeepSeek 大模型在全国近 830 家医疗机构部署,覆盖病历生成、辅助诊疗、智能导诊等高频场景。但当前存在算法成熟度不足、算力资源受限、医疗责任认定模糊等难题。\n

\n <a href="https://yundage.com/report/detail/927" class="link" target="_blank">阅读完整报告\n \n\n \n\n\n</html>" } ] }, "meta": { "instanceId": "d4bc54c4750443ddb7fb9e6b4c7e38c46f3d96e6d4cbfdf57a74efbc3218b7c8" } }