docs:n8n工作流管理系統
本項目幫助管理和探索n8n工作流。
它能自動掃描和分析工作流文件,提取關鍵信息如名稱、觸發器和關聯服務。
所有數據將存入可搜索的數據庫,并通過REST API提供訪問。
可以快速定位特定工作流、查看詳細描述,甚至獲取其結構可視化圖表。
架構總覽
章節導航
- 工作流索引流程
- 工作流分析引擎
- 工作流數據庫管理
- REST API服務
- 全文檢索(FTS)集成
- Mermaid圖表生成
第1章:工作流索引流程
歡迎來到N8N工作流索引項目
在本章中,我們將介紹實現n8n工作流智能搜索
的第一步:“工作流索引流程”。
核心價值
當您積累了大量n8n工作流后,如何快速找到特定功能的工作流(如處理"客戶支持工單"且使用"Gmail"的工作流)?傳統方式需要逐個打開文件查看,效率低下。
工作流索引流程如同圖書館的編目系統,通過以下步驟實現高效管理:
- 掃描:遍歷指定目錄下的所有工作流JSON文件
- 分析:提取關鍵元數據(名稱、節點數、關聯服務等)
- 編目:將結構化數據存入數據庫
- 增量更新:通過文件哈希值識別變更,避免重復處理
使用方式
通過命令行工具啟動索引流程:
n8n-workflows --index
執行后將輸出索引報告:
📚 N8N工作流索引器
==============================
🔄 開始工作流索引...
? 索引完成!
📊 結果:? 已處理:15? 已跳過:25? 錯誤:0? 總文件數:40
技術實現
核心流程
關鍵代碼
- 文件掃描(Python實現):
def get_json_files(dir_path):return [str(p) for p in Path(dir_path).rglob("*.json")]
- 變更檢測(哈希計算):
def get_file_hash(file_path):with open(file_path, "rb") as f:return hashlib.md5(f.read()).hexdigest()
- 數據庫更新(SQL語句):
INSERT OR REPLACE INTO workflows
(filename, name, nodes_count)
VALUES (?, ?, ?)
總結
工作流索引流程通過:
- 自動化文件掃描
- 智能變更檢測
- 高效數據庫更新
為工作流管理系統奠定數據基礎。下一章將深入講解工作流分析引擎如何提取元數據。
下一章:工作流分析引擎
第2章:工作流分析引擎
在第1章工作流索引流程中,我們了解了如何掃描和準備工作流文件。本章將深入探討核心環節——工作流分析引擎,它如同"智能翻譯器",將原始JSON轉化為結構化數據。
核心功能
問題場景
面對如0150_Awsrekognition_GoogleSheets_Automation_Webhook.json
這樣的工作流文件,原始JSON包含大量復雜字段(nodes
、connections
等),難以快速理解其功能。
解決方案
分析引擎通過七步轉換流程:
- 讀取JSON:解析文件結構
- 提取基礎信息:獲取ID、名稱、激活狀態
- 統計節點數:計算工作流規模
- 評估復雜度:根據節點數分級(低/中/高)
- 識別觸發器:判斷啟動方式(Webhook/定時/手動)
- 發現集成服務:列出所有外部服務(如Gmail、AWS等)
- 生成描述:自動創建易讀摘要
技術實現
處理流程示例
輸入輸出對比
原始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個節點"
}
核心代碼解析
- 主分析函數 (
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'])}
- 服務名稱映射
SERVICE_MAP = {'awsrekognition': 'AWS識別','googlesheets': '谷歌表格','httprequest': 'HTTP請求'
}
- 觸發器檢測
def detect_trigger(nodes):for node in nodes:if 'webhook' in node['type']:return 'Webhook'elif 'schedule' in node['type']:return '定時'return '手動'
總結
工作流分析引擎通過:
- 智能解析原始JSON
- 精準識別關鍵特征
- 自動生成易讀摘要
為工作流管理系統提供結構化數據基礎。下一章將介紹如何高效管理這些數據:第3章 工作流數據庫管理