• 版本
  • 下载 133
  • 文件大小 123552
  • 文件计数 1
  • 创建日期 2026年9月24日
  • 最后更新 2026年10月5日

n8n V8 企业级 AI 情报中枢

INTEL 2026 IDF 大会展示工作流Intel Connection 2026 · 苏州 · 展位现场展示

展会上演示「9.5 秒跑完一轮情报作业」的那条 n8n 主流程。83 个节点、8 个阶段:入口鉴权 → 采集编排 → 多模态处理 → 五路认知引擎 → 决策治理 → 渲染工厂 → 五渠道分发 → 交付。一次完整运行从四个平台抓 13 条情报,过质量门禁后向 5 个渠道投递,全链路本地推理(Qwen3 在本地网关)。注意:这是 n8n 工作流(不是 ComfyUI),导入方式见下载说明。

  • 平台:n8n(导入方式 Ctrl+O / Import from File)
  • 规模:83 节点(含 12 个便签)/ 69 条连线,无子工作流依赖,单文件自洽
  • 两个入口:GET/POST /webhook/v8-show(一键跑全量)、POST /webhook/v8-console(观众提交)
  • 换机器需改:节点「运行鉴权与模型探针」里的模型网关候选地址数组
  • 适用场景:企业情报自动采集与分发、展会现场演示、本地离线信息监控

资源头图

n8n V8 企业级 AI 情报中枢(离线单机)

使用说明

本条是 n8n 工作流(不是 ComfyUI):打开 n8n → 右上角 ... → Import from File,或按 Ctrl+O 选择该 json。导入后如需换机器,改「运行鉴权与模型探针」节点里的模型网关地址即可;本文件不含任何密钥。

源码预览

{
    "name": "🔴 展会极限视觉版 V8|企业级 AI 情报中枢(离线单机)",
    "nodes": [
        {
            "parameters": {
                "httpMethod": "POST",
                "path": "v8-console",
                "responseMode": "responseNode",
                "options": []
            },
            "id": "829e5454-3bc0-4b5e-834a-c3fbabe3a308",
            "name": "🚪 控制台提交",
            "type": "n8n-nodes-base.webhook",
            "typeVersion": 2,
            "position": [
                480,
                304
            ],
            "webhookId": "0cc9e766-2f52-42c3-967e-1d2817915a25"
        },
        {
            "parameters": {
                "path": "v8-show",
                "responseMode": "responseNode",
                "options": []
            },
            "id": "6252edf2-9b24-4d45-a2db-a963454d44ae",
            "name": "🚀 一键运行",
            "type": "n8n-nodes-base.webhook",
            "typeVersion": 2,
            "position": [
                480,
                448
            ],
            "webhookId": "686f0983-8a01-4481-881f-b57e991d7d4e"
        },
        {
            "parameters": {
                "content": "# ⏰ 每日 08:00 定时巡检ncron: 0 8 * * *nn生产环境由 scheduleTrigger 驱动;n展会离线演示改用「🚀 一键运行」n入口,效果完全一致。",
                "height": 230,
                "width": 316,
                "color": 3
            },
            "id": "7098ebb5-2227-4126-8cfe-a486e4a90e43",
            "name": "⏰ 定时巡检",
            "type": "n8n-nodes-base.stickyNote",
            "typeVersion": 1,
            "position": [
                448,
                624
            ]
        },
        {
            "parameters": {
                "content": "# 👨‍💻 编辑器手动触发n在 n8n 编辑器点击执行nn生产环境用于临时补跑;n展会离线演示走n「🚀 一键运行」入口。",
                "height": 230,
                "width": 300,
                "color": 3
            },
            "id": "12fd883f-3eff-4261-a55c-d98c5089b4b0",
            "name": "👨‍💻 编辑器手动",
            "type": "n8n-nodes-base.stickyNote",
            "typeVersion": 1,
            "position": [
                800,
                624
            ]
        },
        {
            "parameters": {
                "jsCode": "n// 运行前探针:自动选出可用的本地模型地址(断网时走 Docker 网桥)nconst candidates = ["http://172.17.0.1:8989/v1", "http://192.168.1.15:8989/v1", "http://172.18.0.1:8989/v1"];nlet llmBase = candidates[0];nlet reachable = [];nfor (const c of candidates) {n  try {n    await this.helpers.httpRequest({ method: 'GET', url: c + '/models', timeout: 2000, json: true });n    reachable.push(c);n  } catch (e) { /* 不可达则跳过 */ }n}nif (reachable.length) llmBase = reachable[0];nreturn [{ json: Object.assign({}, $input.first().json, {n  llmBase: llmBase,n  llmCandidatesTried: candidates.length,n  llmReachable: reachable,n  probeAt: new Date(Date.now() + 8 * 3600 * 1000).toISOString().slice(0, 19).replace('T', ' ')n}) }];n"
            },
            "id": "af3dad21-0efd-4baf-b264-78c0c698c2b8",
            "name": "🔐 运行鉴权与模型探针",
            "type": "n8n-nodes-base.code",
            "typeVersion": 2,
            "position": [
                720,
                464
            ]
        },
        {
            "parameters": {
                "jsCode": "n// 配置装配:兼容表单提交 / GET 直连 / 编辑器触发nconst raw = $input.first().json || {};nconst f = (raw.body && typeof raw.body === 'object' && !Array.isArray(raw.body)) ? raw.body : raw;nnconst pick = (k, d) => (f[k] !== undefined && f[k] !== null && f[k] !== '') ? f[k] : d;nconst platformsRaw = pick('platform', 'YouTube,Instagram,X,TikTok');nconst platforms = Array.isArray(platformsRaw) ? platformsRawn  : String(platformsRaw).split(',').map(s => s.trim()).filter(Boolean);nnconst depth = String(pick('depth', '标准'));nconst depthFactor = (depth === '深度' || depth === 'Deep') ? 1.0n
… (完整内容请下载文件查看)

代码较长,以上仅前 3800 字符 —— 点击下方按钮下载完整 JSON。

发表回复

你的电子邮件地址不会被公开 * 为必填字段

提交评论