[n8n] docs | 工作流索引流程 | 分析引擎

发布于:2025-09-01 ⋅ 阅读:(18) ⋅ 点赞:(0)

链接:https://community.n8n.io/

n8n-workflows 是一种帮你自动连接不同软件和在线服务,让它们按设定步骤自动传递数据完成任务的“自动化工作流”~

docs:n8n-workflows

本项目帮助管理和探索n8n工作流。

它能自动扫描和分析工作流文件,提取关键信息如名称、触发器和关联服务。

所有数据将存入可搜索的数据库,并通过REST API提供访问。

可以快速定位特定工作流、查看详细描述,甚至获取其结构可视化图表

架构

在这里插入图片描述

章节导航

  1. 工作流索引流程
  2. 工作流分析引擎
  3. 工作流数据库管理
  4. REST API服务
  5. 全文检索(FTS)集成
  6. Mermaid图表生成

第1章:工作流索引流程

欢迎来到N8N工作流索引项目

在本章中,我们将介绍实现n8n工作流智能搜索的第一步:“工作流索引流程”。

核心价值

当您积累了大量n8n工作流后,如何快速找到特定功能的工作流(如处理"客户支持工单"且使用"Gmail"的工作流)?传统方式需要逐个打开文件查看,效率低下。

工作流索引流程如同图书馆的编目系统,通过以下步骤实现高效管理:

  1. 扫描:遍历指定目录下的所有工作流JSON文件
  2. 分析:提取关键元数据(名称、节点数、关联服务等)
  3. 编目:将结构化数据存入数据库
  4. 增量更新:通过文件哈希值识别变更,避免重复处理

使用方式

通过命令行工具启动索引流程:

n8n-workflows --index

执行后将输出索引报告:

📚 N8N工作流索引器
==============================
🔄 开始工作流索引...
✅ 索引完成!
📊 结果:
   • 已处理:15
   • 已跳过:25
   • 错误:0
   • 总文件数:40

技术实现

核心流程

在这里插入图片描述

关键代码

  1. 文件扫描Python实现):
def get_json_files(dir_path):
    return [str(p) for p in Path(dir_path).rglob("*.json")]
  1. 变更检测哈希计算):
def get_file_hash(file_path):
    with open(file_path, "rb") as f:
        return hashlib.md5(f.read()).hexdigest()
  1. 数据库更新SQL语句):
INSERT OR REPLACE INTO workflows 
(filename, name, nodes_count) 
VALUES (?, ?, ?)

总结

工作流索引流程通过:

  1. 自动化文件扫描
  2. 智能变更检测
  3. 高效数据库更新

为工作流管理系统奠定数据基础。下一章将深入讲解工作流分析引擎如何提取元数据

下一章:工作流分析引擎


第2章:工作流分析引擎

第1章工作流索引流程中,我们了解了如何扫描和准备工作流文件。

本章将深入探讨核心环节——工作流分析引擎,它如同"智能翻译器",将原始JSON转化为结构化数据

核心功能

问题场景

面对如0150_Awsrekognition_GoogleSheets_Automation_Webhook.json这样的工作流文件,原始JSON包含大量复杂字段(nodesconnections等),难以快速理解其功能。

解决方案

分析引擎通过七步转换流程:

  1. 读取JSON:解析文件结构
  2. 提取基础信息:获取ID、名称、激活状态
  3. 统计节点数:计算工作流规模
  4. 评估复杂度:根据节点数分级(低/中/高)
  5. 识别触发器:判断启动方式(Webhook/定时/手动)
  6. 发现集成服务:列出所有外部服务(如Gmail、AWS等)
  7. 生成描述自动创建易读摘要

技术实现

处理流程示例

在这里插入图片描述

输入输出对比

原始JSON片段

{
  "nodes": [
    {
      "type": "n8n-nodes-base.awsRekognition",
      "name": "AWS Rekognition"
    }
  ]
}

分析结果

{
  "name": "AWS识别谷歌表格自动化",
  "node_count": 6,
  "trigger_type": "Webhook",
  "integrations": ["AWS识别","HTTP请求","谷歌表格"],
  "description": "基于Webhook的AWS识别服务,集成3个外部服务,包含6个节点"
}

核心代码

  1. 主分析函数 (analyze_workflow_file)
def analyze_workflow_file(file_path):
    with open(file_path) as f:
        data = json.load(f)
    
    return {
        'name': format_name(file_path),
        'node_count': len(data['nodes']),
        'trigger_type': detect_trigger(data['nodes']),
        'integrations': find_integrations(data['nodes'])
    }
  1. 服务名称映射
SERVICE_MAP = 
{
    'awsrekognition': 'AWS识别',
    'googlesheets': '谷歌表格',
    'httprequest': 'HTTP请求'
}
  1. 触发器检测
def detect_trigger(nodes):
    for node in nodes:
        if 'webhook' in node['type']:
            return 'Webhook'
        elif 'schedule' in node['type']:
            return '定时'
    return '手动'

总结

工作流分析引擎通过:

  1. 智能解析原始JSON
  2. 精准识别关键特征
  3. 自动生成易读摘要

为工作流管理系统提供结构化数据基础

下一章将介绍如何高效管理这些数据:第3章 工作流数据库管理


网站公告

今日签到

点亮在社区的每一天
去签到