commit 3898c312d5935a06297f7a504a2dee2580af9014 Author: 嘉宇 刘 <487954186@qq.com> Date: Tue Sep 9 09:29:17 2025 +0800 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..67b3537 --- /dev/null +++ b/README.md @@ -0,0 +1,222 @@ +# n8n工作流自动化指南 + +> 🚀 从零基础到专家级应用,全面掌握n8n工作流自动化技能 + +[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) +[![n8n](https://img.shields.io/badge/n8n-compatible-brightgreen.svg)](https://n8n.io) +[![MkDocs](https://img.shields.io/badge/docs-MkDocs-blue.svg)](https://mkdocs.org) + +## 📖 项目简介 + +本项目是一份全面的n8n工作流自动化学习指南,旨在帮助用户从基础概念到高级应用,系统性地掌握n8n平台的使用技能。无论您是技术零基础的业务人员,还是需要深入了解部署运维的技术人员,都能在这里找到适合的学习路径。 + +### 🎯 目标读者 + +- **业务人员**: 希望通过低代码工具提升工作效率 +- **技术支持**: 负责n8n部署、配置和维护的技术人员 +- **开发者**: 需要构建复杂自动化流程的工程师 +- **AI爱好者**: 想要结合AI能力构建智能工作流 + +## ✨ 主要特色 + +### 🔧 全流程覆盖 +- **入门指导**: 从零开始的完整学习路径 +- **实战案例**: 丰富的真实业务场景示例 +- **进阶技巧**: AI集成、MCP协议、自然语言编程 +- **最佳实践**: 避坑指南和性能优化建议 + +### 🎨 现代化体验 +- **美观界面**: 精心设计的现代化文档界面 +- **直观图表**: 用图形化方式展示复杂概念,替代技术性强的代码图表 +- **响应式设计**: 支持PC、平板、手机等各种设备 +- **深色模式**: 支持明暗主题切换 + +### 📚 丰富资源 +- **模板库**: 2000+工作流模板资源 +- **视频教程**: 精选中英文视频教程合集 +- **工具推荐**: 社区节点和扩展工具 +- **参考文档**: 整理的官方和社区资源 + +## 📁 项目结构 + +``` +n8n指南/ +├── docs/ # 文档源文件 +│ ├── index.md # 首页 +│ ├── introduction/ # 引言和背景 +│ ├── installation/ # 安装配置指南 +│ ├── learning/ # 学习使用教程 +│ ├── reference/ # 参考资料 +│ ├── ai-center/ # AI卓越中心 +│ ├── assets/ # 静态资源 +│ │ ├── images/ # 图片资源 +│ │ └── pdfs/ # PDF文档 +│ └── stylesheets/ +│ └── extra.css # 自定义样式 +├── mkdocs.yml # MkDocs配置文件 +├── README.md # 项目说明文档 +└── n8n指南.md # 原始指南文档 +``` + +## 🚀 快速开始 + +### 📖 在线阅读 + +访问我们的在线文档网站,开始您的n8n学习之旅: + +``` +https://your-domain.github.io/n8n-guide +``` + +### 💻 本地部署 + +如果您希望在本地运行或贡献内容,请按以下步骤操作: + +#### 环境要求 + +- Python 3.7+ +- pip 包管理器 + +#### 安装步骤 + +1. **克隆项目** + ```bash + git clone https://github.com/your-username/n8n-guide.git + cd n8n-guide + ``` + +2. **安装依赖** + ```bash + pip install mkdocs + pip install mkdocs-material + pip install pymdown-extensions + ``` + +3. **启动开发服务器** + ```bash + mkdocs serve + ``` + +4. **访问文档** + 打开浏览器访问 `http://127.0.0.1:8000` + +#### 构建静态站点 + +```bash +mkdocs build +``` + +生成的静态文件将保存在 `site/` 目录中。 + +## 📋 学习路径 + +### 🌟 初学者路径 (1-2周) + +1. [背景介绍](docs/introduction/background.md) - 了解AI时代的机遇与挑战 +2. [快速开始](docs/installation/quick-start.md) - 云端注册体验 +3. [界面介绍](docs/installation/interface.md) - 熟悉操作界面 +4. [基本工作流](docs/learning/basic-workflows.md) - 创建第一个工作流 + +### 🛠️ 进阶用户路径 (1-2个月) + +1. [本地部署](docs/installation/local-deployment.md) - 搭建私有环境 +2. [常用节点](docs/learning/common-nodes.md) - 掌握核心功能 +3. [凭证管理](docs/installation/credentials.md) - 安全连接外部服务 +4. [模板应用](docs/learning/templates.md) - 快速复用方案 + +### 🚀 专家级路径 (3-6个月) + +1. [避坑指南](docs/learning/pitfalls.md) - 避免常见错误 +2. [MCP集成](docs/learning/mcp.md) - AI智能工作流 +3. [社区节点](docs/learning/community-nodes.md) - 扩展平台能力 +4. [自然语言编程](docs/learning/natural-language.md) - AI辅助开发 + +## 🔧 功能特性 + +### 📊 技术栈 + +- **文档框架**: MkDocs + Material主题 +- **样式增强**: 自定义CSS,现代化UI设计 +- **图表展示**: 替换技术性图表为直观可视化元素 +- **资源管理**: 支持本地图片、PDF等静态资源 + +### 🎨 界面特色 + +- **现代配色**: 青色系主色调,美观协调 +- **卡片布局**: 信息分块展示,层次清晰 +- **动画效果**: 适度的过渡动画,提升体验 +- **响应式**: 完美适配各种屏幕尺寸 + +### 📱 用户体验 + +- **快速导航**: 清晰的导航结构,快速定位内容 +- **搜索功能**: 全文搜索,快速找到需要的信息 +- **参考置顶**: 重要参考链接置于页面顶部 +- **进度跟踪**: 明确的学习路径和进度指示 + +## 🤝 贡献指南 + +我们欢迎社区贡献!您可以通过以下方式参与: + +### 📝 内容贡献 + +- **完善文档**: 改进现有内容,修正错误 +- **添加案例**: 分享实用的工作流案例 +- **翻译工作**: 帮助翻译英文资源 +- **视频制作**: 制作配套的视频教程 + +### 🐛 问题反馈 + +- **Bug报告**: 发现文档错误或链接失效 +- **功能建议**: 提出改进建议和新功能需求 +- **用户反馈**: 分享使用体验和学习心得 + +### 🛠️ 技术贡献 + +- **界面优化**: 改进文档界面和用户体验 +- **功能开发**: 增加新的文档功能 +- **性能优化**: 提升文档加载和访问性能 + +## 📞 联系我们 + +### 💬 社群交流 + +- **微信群**: 扫描二维码加入学习群 +- **QQ群**: n8n中文学习交流群 +- **邮件**: [your-email@domain.com](mailto:your-email@domain.com) + +### 🔗 相关链接 + +- **n8n官网**: [https://n8n.io](https://n8n.io) +- **官方文档**: [https://docs.n8n.io](https://docs.n8n.io) +- **中文社区**: [https://docs.n8ncn.io](https://docs.n8ncn.io) +- **GitHub项目**: [https://github.com/n8n-io/n8n](https://github.com/n8n-io/n8n) + +## 📄 版权信息 + +本项目采用 [MIT 许可证](LICENSE)。 + +### 🙏 致谢 + +感谢以下资源和社区的支持: + +- **n8n团队**: 提供优秀的自动化平台 +- **MkDocs社区**: 优秀的文档生成工具 +- **Material主题**: 美观的文档主题 +- **社区贡献者**: 分享模板和经验的社区成员 + +## 📈 项目统计 + +- **文档页面**: 20+ 详细页面 +- **学习模块**: 6大核心模块 +- **参考资源**: 100+ 精选资源链接 +- **模板库**: 2000+ 工作流模板 +- **更新频率**: 持续更新维护 + +--- + +⭐ 如果这个项目对您有帮助,请给我们一个Star! + +🔄 项目持续更新中,欢迎关注最新动态。 + +📖 开始您的n8n自动化之旅:[阅读文档](docs/index.md) diff --git a/docs/ai-center/functions.md b/docs/ai-center/functions.md new file mode 100644 index 0000000..1d5a059 --- /dev/null +++ b/docs/ai-center/functions.md @@ -0,0 +1,263 @@ +# AI卓越中心:职能与支持 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +我们的AI卓越中心致力于为用户提供全方位的n8n技术支持和服务,助力个人和企业在自动化领域取得卓越成就。 + +## 🎯 核心职能 + +### 技术支持服务 + +
+
+
🛠️
+

专业技术支持

+

提供n8n部署、配置、优化等全方位技术支持,解决您在使用过程中遇到的各种技术问题

+
+ +
+
📋
+

项目咨询服务

+

为您提供项目规划、设计和实施的专业咨询,确保自动化项目的顺利进行和成功落地

+
+ +
+
🎓
+

培训教育服务

+

定期举办线上线下培训课程,帮助用户掌握n8n使用技巧和行业最佳实践

+
+ +
+
🌟
+

社区建设管理

+

维护和管理技术社区资源,促进用户交流合作,共同推动n8n生态发展

+
+
+ +## 🔧 技术支持范围 + +### 部署和配置支持 + +| 支持类型 | 服务内容 | 响应时间 | +|----------|----------|----------| +| **环境部署** | Docker、Kubernetes、云平台部署指导 | 4小时内 | +| **系统配置** | 数据库连接、SSL证书、负载均衡配置 | 2小时内 | +| **性能优化** | 系统调优、资源配置、监控设置 | 24小时内 | +| **故障排查** | 问题诊断、日志分析、解决方案 | 1小时内 | + +### 工作流设计支持 + +**需求分析(业务理解+技术评估)** → **架构设计(流程设计+节点选择)** → **原型开发(快速原型+功能验证)** → **测试验证(单元测试+集成测试)** → **部署上线(生产部署+用户培训)** → **运维监控(性能监控+持续优化)** + +### AI集成专业服务 + +**支持的AI技术栈**: +- **大语言模型**: GPT、Claude、Gemini、国产大模型 +- **向量数据库**: Pinecone、Weaviate、Chroma +- **知识库构建**: RAG、文档解析、智能问答 +- **多模态AI**: 图像识别、语音处理、视频分析 + +**MCP协议支持**: +- MCP服务器搭建和配置 +- 工作流封装为AI工具 +- 智能代理能力构建 +- 多Agent协作系统 + +## 📚 培训教育体系 + +### 分层培训方案 + +=== "入门培训" + **目标用户**: 零基础业务人员 + + **课程内容**: + - n8n基础概念和界面操作 + - 常用节点使用方法 + - 简单工作流创建 + - 模板应用实战 + + **培训形式**: 在线直播 + 实操练习 + **培训时长**: 8小时(分4次进行) + **证书**: 入门级认证证书 + +=== "进阶培训" + **目标用户**: 有基础经验的技术人员 + + **课程内容**: + - 高级节点和功能 + - 复杂工作流设计 + - 错误处理和调试 + - 性能优化方法 + + **培训形式**: 线下面授 + 项目实战 + **培训时长**: 16小时(2天集中培训) + **证书**: 应用级认证证书 + +=== "专家培训" + **目标用户**: 技术架构师、团队负责人 + + **课程内容**: + - 企业级部署架构 + - 安全和权限管理 + - 监控和运维体系 + - 团队协作最佳实践 + + **培训形式**: 定制化企业内训 + **培训时长**: 32小时(个性化安排) + **证书**: 专家级认证证书 + +### 在线学习平台 + +**学习管理系统(LMS)功能**: +- 📹 视频课程库 +- 📝 在线练习和作业 +- 🏆 进度跟踪和徽章系统 +- 💬 学员交流论坛 +- 📊 学习分析报告 + +## 🤝 项目咨询服务 + +### 咨询服务类型 + +| 咨询类型 | 服务内容 | 交付物 | +|----------|----------|--------| +| **可行性分析** | 技术方案评估、ROI分析 | 可行性报告 | +| **架构设计** | 系统架构、技术选型 | 架构设计文档 | +| **实施指导** | 项目管理、质量控制 | 项目计划和里程碑 | +| **运维支持** | 监控体系、优化建议 | 运维手册和SOP | + +### 典型项目案例 + +=== "企业数据中台" + **客户**: 某大型制造企业 + **需求**: 整合多个业务系统数据 + **解决方案**: + - 数据抽取、转换、加载(ETL)工作流 + - 实时数据同步和监控 + - 智能报表自动生成 + **效果**: 数据处理效率提升300% + +=== "客户服务自动化" + **客户**: 某电商平台 + **需求**: 自动化客户咨询处理 + **解决方案**: + - AI智能客服工作流 + - 多渠道消息统一处理 + - 人工客服协作机制 + **效果**: 客服效率提升200%,满意度提升15% + +=== "营销自动化系统" + **客户**: 某SaaS公司 + **需求**: 营销活动自动化执行 + **解决方案**: + - 多渠道营销工作流 + - 用户行为分析和标签 + - 个性化内容推送 + **效果**: 营销转化率提升150% + +## 🌟 社区建设与管理 + +### 社区平台 + +
+
+ 5000+ + 社区成员 +
+
+ 1000+ + 工作流模板 +
+
+ 500+ + 技术问答 +
+
+ 50+ + 专家贡献者 +
+
+ +### 社区活动 + +**定期活动**: +- 🎯 **月度技术分享**: 每月第二个周六,专家分享最佳实践 +- 🏆 **季度黑客松**: 创新应用开发竞赛 +- 📚 **年度技术大会**: 行业趋势和技术前沿 +- 💡 **工作坊**: 实战演练和深度学习 + +**社区贡献奖励**: +- ⭐ **模板贡献奖**: 优质模板分享者获得奖励 +- 🎖️ **专家认证**: 活跃贡献者获得专家徽章 +- 🎁 **年度大奖**: 最佳贡献者获得特别奖励 + +## 📞 支持渠道和联系方式 + +### 技术支持渠道 + +| 支持级别 | 联系方式 | 响应时间 | 适用场景 | +|----------|----------|----------|----------| +| **社区支持** | 论坛、QQ群 | 24小时内 | 一般问题咨询 | +| **标准支持** | 邮件、在线客服 | 4小时内 | 技术问题解决 | +| **优先支持** | 电话、专线 | 1小时内 | 紧急问题处理 | +| **专属支持** | 专属顾问 | 30分钟内 | 企业级客户 | + +### 服务等级协议(SLA) + +**响应时间承诺**: +- 🟢 **一般问题**: 24小时内响应 +- 🟡 **重要问题**: 4小时内响应 +- 🔴 **紧急问题**: 1小时内响应 +- ⚠️ **关键问题**: 30分钟内响应 + +**解决时间目标**: +- 简单问题: 24小时内解决 +- 复杂问题: 72小时内解决 +- 特殊问题: 7个工作日内解决 + +## 💰 服务价格体系 + +### 基础服务 (免费) + +✅ **包含内容**: +- 社区技术支持 +- 基础文档和教程 +- 在线学习资源 +- 模板库访问 + +### 标准服务 (¥2999/月) + +✅ **包含内容**: +- 邮件技术支持 +- 在线培训课程 +- 高级模板库 +- 月度技术分享 + +### 企业服务 (¥9999/月) + +✅ **包含内容**: +- 专属技术顾问 +- 定制化培训 +- 项目咨询服务 +- 优先技术支持 + +### 定制服务 (面议) + +✅ **包含内容**: +- 完全定制化解决方案 +- 现场技术支持 +- 专属开发服务 +- 长期技术伙伴关系 + +!!! info "联系我们获取详细报价" + 我们会根据您的具体需求提供个性化的服务方案和优惠价格。 + +--- + +AI卓越中心致力于成为您在自动化转型路上最可靠的技术伙伴! + +[上一章:术语表](../reference/glossary.md){ .md-button } [下一章:加入我们](join.md){ .md-button .md-button--primary } diff --git a/docs/ai-center/join.md b/docs/ai-center/join.md new file mode 100644 index 0000000..c4079a6 --- /dev/null +++ b/docs/ai-center/join.md @@ -0,0 +1,278 @@ +# 加入我们的方式 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +n8n不仅是一个工具,更是一个充满活力的社区。无论您是初学者还是专家,都能在这里找到属于自己的位置,与志同道合的伙伴一起探索自动化的无限可能。 + +## 🤝 为什么加入我们 + +### 个人成长价值 + +
+
+
📖
+

学习交流

+

获得专业技术支持和项目咨询,与行业专家直接对话,快速提升技能水平

+
+ +
+
🎯
+

项目实践

+

参与真实项目开发,积累宝贵实战经验,建立个人技术品牌

+
+ +
+
🌟
+

分享贡献

+

分享您的经验和见解,帮助他人成长,同时建立个人影响力

+
+ +
+
🔮
+

前沿探索

+

探索AI+自动化的最新技术趋势,把握行业发展机遇

+
+
+ +### 职业发展机会 + +| 发展方向 | 技能要求 | 职业前景 | +|----------|----------|----------| +| **自动化工程师** | n8n开发、系统集成 | 年薪15-30万,需求持续增长 | +| **AI应用专家** | LLM集成、智能工作流 | 年薪20-40万,前沿热门岗位 | +| **解决方案架构师** | 企业级部署、技术咨询 | 年薪30-60万,高级技术岗位 | +| **技术培训师** | 教学能力、专业知识 | 年薪20-35万,知识变现 | +| **独立顾问** | 综合技能、商业洞察 | 项目制收入,自由度高 | + +## 🚪 多种参与方式 + +### 1. 社区新手 - 学习成长 + +**适合人群**: 刚接触n8n的初学者 + +**参与方式**:加入群聊 → 观摩学习 → 提问交流 → 完成作业 → 分享心得 + +**成长路径**: +- 📚 **第1个月**: 跟随教程学习基础操作 +- 🛠️ **第2-3个月**: 完成实战项目,掌握核心技能 +- 🎯 **第4-6个月**: 参与社区讨论,分享学习心得 +- 🌟 **6个月后**: 成为能够独立解决问题的熟练用户 + +### 2. 实践贡献者 - 分享经验 + +**适合人群**: 有一定经验的n8n用户 + +**贡献形式**: +- 📝 **工作流模板**: 分享实用的工作流设计 +- 💡 **最佳实践**: 总结项目经验和避坑指南 +- 🎥 **教程制作**: 录制视频教程或写作技术文章 +- 🐛 **问题解答**: 帮助新手解决技术问题 + +**奖励机制**: + +
+
+ + 模板贡献奖 +
+
+ 🏆 + 月度之星 +
+
+ 🎖️ + 专家认证 +
+
+ 💰 + 现金奖励 +
+
+ +### 3. 技术专家 - 深度参与 + +**适合人群**: 资深开发者、技术架构师 + +**参与方式**: +- 🔧 **技术指导**: 为复杂项目提供技术咨询 +- 📋 **代码审查**: 审查和优化社区项目代码 +- 🎓 **培训讲师**: 担任官方培训课程讲师 +- 🚀 **产品共建**: 参与产品功能规划和开发 + +**专家权益**: +- 🎯 **优先内测**: 新功能抢先体验和反馈 +- 💼 **商业机会**: 优先获得付费项目和咨询机会 +- 🌟 **个人品牌**: 官方平台推广个人技术影响力 +- 🤝 **深度合作**: 与团队深度合作,共同发展 + +### 4. 企业合作伙伴 - 战略协作 + +**适合对象**: 企业、培训机构、服务商 + +**合作模式**: +- 🏢 **企业培训**: 定制化员工培训服务 +- 🔗 **系统集成**: 企业级解决方案开发 +- 📈 **渠道合作**: 共同拓展市场和客户 +- 🎯 **联合营销**: 品牌联合推广活动 + +## 📱 加入社区的具体步骤 + +### 第一步:扫码入群 + +
+ 微信群二维码 +

扫描二维码加入微信群

+
+ +### 第二步:自我介绍 + +入群后请按以下格式进行自我介绍: + +``` +👋 大家好!我是 [姓名/昵称] + +🏢 工作:[公司/行业] +💼 职位:[具体职位] +🎯 目标:[学习目标或想解决的问题] +💡 技能:[相关技术背景] +🤝 贡献:[希望如何为社区贡献] + +期待与大家一起学习交流!🚀 +``` + +### 第三步:参与互动 + +**日常活动**: +- 📅 **每日签到**: 分享学习进度和心得 +- 💬 **技术讨论**: 参与群内技术话题讨论 +- 🎯 **挑战任务**: 完成群内发布的练习任务 +- 🎉 **活动参与**: 参加线上线下的社区活动 + +## 🎯 不同角色的成长路径 + +### 业务人员路径 + +```mermaid +graph TD + A[业务需求识别] --> B[模板使用入门] + B --> C[简单工作流创建] + C --> D[业务流程优化] + D --> E[团队推广应用] + E --> F[业务自动化专家] + + style A fill:#e3f2fd + style F fill:#e8f5e8 +``` + +**里程碑**: +- 🎯 **1个月**: 完成第一个自动化工作流 +- 🎯 **3个月**: 为团队创建5个实用工作流 +- 🎯 **6个月**: 成为部门自动化推广大使 +- 🎯 **12个月**: 培训其他业务团队使用n8n + +### 技术人员路径 + +```mermaid +graph TD + A[技术基础学习] --> B[高级功能掌握] + B --> C[企业级部署] + C --> D[解决方案设计] + D --> E[团队技术领导] + E --> F[行业技术专家] + + style A fill:#e3f2fd + style F fill:#e8f5e8 +``` + +**里程碑**: +- 🎯 **1个月**: 掌握所有核心节点使用 +- 🎯 **3个月**: 完成企业级部署和配置 +- 🎯 **6个月**: 设计复杂的业务解决方案 +- 🎯 **12个月**: 成为公司内部n8n技术专家 + +## 🏆 社区成就系统 + +### 等级体系 + +| 等级 | 名称 | 要求 | 权益 | +|------|------|------|------| +| **Lv.1** | 新手学员 | 加入社区,完成自我介绍 | 基础学习资源 | +| **Lv.2** | 实践者 | 分享第一个工作流 | 进阶教程权限 | +| **Lv.3** | 贡献者 | 帮助5个新手解决问题 | 专家交流群 | +| **Lv.4** | 专家 | 原创教程获得100赞 | 内测新功能 | +| **Lv.5** | 大师 | 培训认证讲师 | 商业合作机会 | + +### 徽章系统 + +🏅 **技能徽章**: +- 🔧 **工具大师**: 熟练使用50+节点 +- 🤖 **AI专家**: 深度集成AI功能 +- 🏗️ **架构师**: 设计企业级解决方案 +- 📚 **导师**: 培训超过100名学员 + +🎖️ **贡献徽章**: +- ⭐ **模板专家**: 贡献20+优质模板 +- 💬 **社区活跃**: 月度活跃贡献者 +- 📝 **内容创作**: 原创技术文章作者 +- 🎥 **视频达人**: 教学视频创作者 + +## 💡 特色活动和福利 + +### 定期活动 + +**月度活动**: +- 🎯 **技术分享会**: 每月第二个周六晚8点 +- 🏆 **模板大赛**: 最佳工作流评选 +- 💬 **问答马拉松**: 集中解答技术问题 +- 🎊 **新人欢迎会**: 新成员破冰交流 + +**季度活动**: +- 🚀 **黑客松大赛**: 48小时创新开发 +- 🎓 **认证考试**: 技能水平认证 +- 🌟 **年度表彰**: 优秀贡献者奖励 +- 🎪 **线下聚会**: 城市技术沙龙 + +### 专属福利 + +**学习福利**: +- 📚 独家学习资料和课程 +- 🎥 付费视频教程免费观看 +- 📖 技术书籍赠送活动 +- 🎓 官方认证考试优惠 + +**职业福利**: +- 💼 内推工作机会 +- 🤝 商业项目对接 +- 💰 兼职咨询机会 +- 🌟 个人品牌推广 + +## 📞 联系我们 + +### 官方联系方式 + +| 联系方式 | 信息 | 用途 | +|----------|------|------| +| **微信群** | 扫描上方二维码 | 日常交流讨论 | +| **邮箱** | support@n8n-community.cn | 正式合作咨询 | +| **电话** | 400-888-8888 | 紧急技术支持 | +| **官网** | www.n8n-community.cn | 最新资讯公告 | + +### 社交媒体 + +- 🐦 **微博**: @n8n中文社区 +- 📺 **B站**: n8n技术分享 +- 📝 **知乎**: n8n实战专栏 +- 💬 **QQ群**: 123456789 + +!!! success "立即行动" + 不要犹豫,现在就扫描二维码加入我们的大家庭!让我们一起在自动化的道路上并肩前行,创造更美好的数字化未来! + +--- + +期待在社区与您相遇,一起探索n8n的无限可能!🚀 + +[上一章:职能与支持](functions.md){ .md-button } [回到首页](../index.md){ .md-button .md-button--primary } diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3e1e5a8 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,87 @@ +--- +title: n8n工作流自动化指南 +description: 专业的n8n工作流学习与实践指南,从零基础到专家级应用 +--- + +# n8n工作流自动化指南 + + + +## 📚 指南概览 + +本指南将带您深入了解n8n工作流自动化平台,从基础概念到高级应用,助您在智能时代乘风破浪。 + +### 🎯 快速开始 + +
+ ☁️ 云端体验 + 🖥️ 本地部署 +
+ +### 📖 学习路径 + +**初学者路径**:背景介绍 → 快速开始 → 基本工作流 → 常用节点 +**进阶用户路径**:本地部署 → 避坑指南 → 模板应用 → MCP集成 +**技术专家路径**:社区节点 → 自然语言编程 → 参考资料 → 术语表 + +## 🌟 核心特性 + +- **🔧 低代码平台**:可视化拖拽界面,无需编程基础即可创建复杂自动化流程 +- **🔗 丰富的集成**:支持400+应用程序集成,连接您的整个技术栈 +- **🤖 AI增强**:集成大语言模型,实现智能化数据处理和决策 +- **🔒 私有部署**:支持本地部署,保障数据安全和隐私控制 +- **⚡ 高性能**:优化的执行引擎,支持大规模数据处理和并发执行 +- **📊 监控分析**:完整的执行日志和性能监控,确保工作流稳定运行 + +## 📊 平台数据 + +
+
+ 400+ + 集成应用 +
+
+ 2000+ + 工作流模板 +
+
+ 100K+ + 活跃用户 +
+
+ 24/7 + 全天候运行 +
+
+ +## 🚀 快速开始 + +**☁️ 云端体验**:最快速的入门方式,无需任何安装配置。访问 [n8n.io](https://n8n.io) 立即开始! +**🖥️ 本地部署**:完全控制您的数据和环境,支持Docker和npm两种安装方式。 + +[云端开始](installation/quick-start/) | [本地部署](installation/local-deployment/) + +## 💡 为什么选择n8n? + +在众多自动化工具中,n8n以其独特的优势脱颖而出: + +!!! tip "核心优势" + - **开源透明**:公平代码许可,完全透明的开发过程 + - **灵活扩展**:支持自定义代码节点,无限制功能扩展 + - **社区驱动**:活跃的开源社区,丰富的模板和节点生态 + - **企业级**:支持大规模部署,完善的权限和安全管理 + +## 🤝 加入我们 + +n8n不仅是一个工具,更是一个充满活力的社区。无论您是初学者还是专家,都能在这里找到属于自己的位置。 + +- 📖 **学习交流**:获得专业技术支持和项目咨询 +- 🎯 **项目实践**:参与真实项目,提升实战能力 +- 🌟 **分享贡献**:分享您的经验,帮助他人成长 +- 🔮 **前沿探索**:探索AI+自动化的最新技术趋势 + +[了解更多关于AI卓越中心](ai-center/functions.md){ .md-button .md-button--primary } + +--- + +准备好开始您的n8n自动化之旅了吗?让我们一起探索无限可能! diff --git a/docs/installation/credentials.md b/docs/installation/credentials.md new file mode 100644 index 0000000..10c563b --- /dev/null +++ b/docs/installation/credentials.md @@ -0,0 +1,224 @@ +# 凭证管理 (Credentials) + +**凭证是n8n连接外部世界的"钥匙"**。它用于安全地存储和管理连接外部服务(如数据库、API、邮箱)所需的授权信息(如API密钥、OAuth令牌、用户名密码等)。 + +## 📚 学习资源 + +- **图文教程**:[n8n凭证管理实战指南](https://jishuzhan.net/article/1951148541186977794) +- **官方文档**:[Credentials Management](https://docs.n8n.io/credentials/) + +## 🔐 凭证的重要性 + +**🛡️ 安全存储**:n8n对凭证进行加密存储,保护您的账户安全 +**🎯 集中管理**:在一个地方统一创建、查看和管理所有凭证 +**♻️ 重复使用**:创建一次凭证后,可在多个工作流和节点中重复使用 +**📋 最佳实践**:将敏感信息与工作流逻辑分离,更安全、更易于维护 + +## 🔧 凭证类型和配置 + +### 常用凭证类型 + +| 凭证类型 | 用途 | 配置信息 | +|---------|------|----------| +| **API Key** | 第三方服务认证 | API密钥、密钥名称 | +| **OAuth2** | 社交媒体、云服务 | 客户端ID、密钥、授权URL | +| **基本认证** | 简单用户名密码 | 用户名、密码 | +| **数据库连接** | 数据库访问 | 主机、端口、用户名、密码 | +| **SMTP邮箱** | 邮件发送 | 服务器、端口、认证信息 | + +### 大模型凭证配置 + +AI模型集成是n8n的重要功能,需要配置相应的API凭证: + +=== "OpenAI GPT" + ```yaml + 凭证类型: OpenAI + API Key: sk-xxxxxxxxxxxxxxxxxxxxxxxx + Organization ID: org-xxxxxxxxxxxxxxxx (可选) + API Base URL: https://api.openai.com/v1 (默认) + ``` + +=== "Claude (Anthropic)" + ```yaml + 凭证类型: Anthropic + API Key: sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx + API Version: 2023-06-01 + ``` + +=== "Google Gemini" + ```yaml + 凭证类型: Google AI + API Key: AIzaxxxxxxxxxxxxxxxxxxxxxxxxx + ``` + +=== "本地模型 (Ollama)" + ```yaml + 凭证类型: HTTP Request + Base URL: http://localhost:11434 + 认证: 无 (本地部署) + ``` + +### 邮箱凭证配置 + +邮件自动化是常见需求,以下是主流邮箱服务配置: + +=== "Gmail" + ```yaml + 类型: Gmail OAuth2 + 客户端ID: your-client-id.googleusercontent.com + 客户端密钥: your-client-secret + 刷新令牌: 通过OAuth流程获得 + ``` + + !!! tip "Gmail设置提示" + 需要在Google Cloud Console启用Gmail API并创建OAuth2凭证 + +=== "Outlook/Hotmail" + ```yaml + 类型: Microsoft OAuth2 + 应用程序ID: your-application-id + 客户端密钥: your-client-secret + 租户ID: common (个人账户) + ``` + +=== "企业邮箱 (SMTP)" + ```yaml + 类型: SMTP + 主机: smtp.yourcompany.com + 端口: 587 (TLS) 或 465 (SSL) + 用户名: your-email@company.com + 密码: your-app-password + 安全连接: STARTTLS + ``` + +### 数据库凭证配置 + +=== "MySQL" + ```yaml + 类型: MySQL + 主机: localhost 或 mysql.example.com + 端口: 3306 + 数据库: your_database_name + 用户名: your_username + 密码: your_password + SSL: 启用 (生产环境推荐) + ``` + +=== "PostgreSQL" + ```yaml + 类型: PostgreSQL + 主机: localhost + 端口: 5432 + 数据库: your_database + 用户名: postgres + 密码: your_password + SSL模式: require + ``` + +=== "MongoDB" + ```yaml + 类型: MongoDB + 连接字符串: mongodb://username:password@host:port/database + 数据库: your_database_name + 认证数据库: admin + ``` + +## 🔒 安全最佳实践 + +### 凭证安全原则 + +!!! danger "安全清单" + - [ ] **强密码策略**:使用复杂且唯一的密码 + - [ ] **最小权限原则**:只授予必要的权限 + - [ ] **定期轮换**:定期更新API密钥和密码 + - [ ] **访问审计**:记录凭证使用情况 + - [ ] **环境隔离**:开发/测试/生产环境使用不同凭证 + +### 凭证命名规范 + +建议采用清晰的命名规范: + +``` +服务名_环境_用途_版本 +例如: +- gmail_prod_marketing_v1 +- mysql_dev_analytics_v2 +- openai_prod_chatbot_v1 +``` + +### 权限控制 + +| 权限级别 | 适用场景 | 权限范围 | +|----------|----------|----------| +| **只读** | 数据查询、报告生成 | 查看权限 | +| **读写** | 数据同步、内容管理 | 增删改查 | +| **管理员** | 系统集成、完整控制 | 全部权限 | + +## 🛠️ 凭证创建和管理 + +### 创建新凭证 + +1. **进入凭证管理** + - 点击左侧菜单 "Credentials" + - 或在节点配置中点击 "Create New" + +2. **选择凭证类型** + - 从预定义类型中选择 + - 或选择 "Generic Authentication" 自定义 + +3. **填写配置信息** + - 输入必要的认证信息 + - 设置凭证名称和描述 + +4. **测试连接** + - 使用 "Test" 功能验证凭证 + - 确保连接成功后保存 + +### 凭证使用流程 + +**创建凭证** → **配置参数** → **测试连接** → **保存凭证** → **在节点中使用** → **工作流执行** + +## 🔄 凭证维护和故障排除 + +### 常见问题和解决方案 + +| 问题 | 可能原因 | 解决方案 | +|------|----------|----------| +| **认证失败** | 密码或密钥错误 | 重新获取并更新凭证 | +| **权限不足** | 账户权限限制 | 检查并提升账户权限 | +| **连接超时** | 网络或服务器问题 | 检查网络连接和服务状态 | +| **凭证过期** | Token或密钥过期 | 重新授权或更新凭证 | + +### 维护策略 + +**定期检查**: +```bash +# 凭证健康检查清单 +□ 测试所有活跃凭证的连接状态 +□ 检查即将过期的Token +□ 更新弱密码和过期凭证 +□ 清理不再使用的凭证 +□ 备份重要凭证配置 +``` + +**监控和告警**: +- 设置凭证失效监控 +- 配置自动化健康检查工作流 +- 建立凭证问题通知机制 + +## 📚 实践示例 + +### 示例:配置Gmail发送工作报告 + +1. **创建Gmail OAuth2凭证** +2. **设计工作流**:定时触发 → 生成报告数据 → 格式化邮件内容 → Gmail发送邮件 +3. **配置邮件节点使用凭证** +4. **测试和部署** + +详细图文示例请参考:[n8n凭证管理实战指南](https://jishuzhan.net/article/1951148541186977794) + +--- + +掌握凭证管理是安全使用n8n的基础,也是构建可靠自动化系统的关键。 + +[上一章:界面介绍](interface/){ .md-button } [下一章:n8n汉化](localization/){ .md-button .md-button--primary } diff --git a/docs/installation/interface.md b/docs/installation/interface.md new file mode 100644 index 0000000..8d809e2 --- /dev/null +++ b/docs/installation/interface.md @@ -0,0 +1,196 @@ +# 界面介绍 + +## 📚 学习资源 + +- **详细界面教程**:[n8n界面完全指南](https://n8n.akashio.com/article/n8n-ui) +- **快捷键大全**:在界面中按 `?` 查看完整快捷键列表 +- **视频教程**:观看官方界面操作演示 + +n8n的界面直观易用,主要由工作流画布、节点面板、参数配置区和执行日志等部分组成。 + +## 🖥️ 主界面布局 + +**顶部工具栏** → **左侧节点面板** + **中央画布区域** + **右侧属性面板** → **底部执行面板** + +- **顶部工具栏**:工作流名称、保存、执行、激活/停用、设置 +- **左侧节点面板**:节点库,拖拽添加功能 +- **中央画布区域**:工作流设计区域 +- **右侧属性面板**:节点配置和参数设置 +- **底部执行面板**:执行历史和调试信息 + +## 🔧 核心功能区域 + +### 1. 顶部工具栏 + +| 功能 | 图标 | 说明 | +|------|------|------| +| **工作流名称** | 📝 | 点击可重命名工作流 | +| **保存** | 💾 | 保存当前工作流 | +| **执行** | ▶️ | 手动执行工作流 | +| **激活/停用** | 🔄 | 控制工作流自动运行 | +| **设置** | ⚙️ | 工作流设置和配置 | + +### 2. 左侧节点面板 + +**功能分类**: +- 🔥 **触发器 (Triggers)**:工作流的起点 +- 📥 **输入 (Input)**:数据获取节点 +- 🔄 **处理 (Process)**:数据处理和转换 +- 🧠 **逻辑 (Logic)**:条件判断和流程控制 +- 📤 **输出 (Output)**:结果输出和通知 + +**使用方法**: +1. 浏览或搜索所需节点 +2. 拖拽到画布中央 +3. 连接节点建立数据流 + +### 3. 中央画布区域 + +这是设计工作流的主要区域: + +**基本操作**: +- **添加节点**:从左侧拖拽或按 `Tab` 键 +- **连接节点**:拖拽节点间的连接点 +- **移动节点**:直接拖拽节点位置 +- **删除节点**:选中后按 `Delete` 键 + +**画布快捷键**: + +| 操作 | 快捷键 | 说明 | +|------|--------|------| +| 添加节点 | `Tab` | 快速添加节点菜单 | +| 保存工作流 | `Ctrl + S` | 保存当前工作流 | +| 执行工作流 | `Ctrl + Enter` | 手动执行 | +| 全选 | `Ctrl + A` | 选择所有节点 | +| 复制/粘贴 | `Ctrl + C/V` | 复制粘贴节点 | +| 撤销/重做 | `Ctrl + Z/Y` | 撤销重做操作 | + +### 4. 右侧属性面板 + +当选中节点时显示: + +- **节点配置**:参数设置和选项 +- **凭证管理**:API密钥和认证信息 +- **表达式编辑器**:动态数据处理 +- **测试功能**:单独测试节点功能 + +### 5. 底部执行面板 + +显示工作流执行信息: + +- **执行历史**:历史运行记录 +- **调试信息**:节点执行状态和数据 +- **错误日志**:失败原因和修复建议 +- **性能监控**:执行时间和资源使用 + +## 🎨 界面主题和定制 + +### 主题切换 + +n8n支持明暗两种主题: + +=== "明亮主题" + - 适合白天工作环境 + - 高对比度,清晰易读 + - 经典的工作界面风格 + +=== "暗色主题" + - 适合长时间编程工作 + - 护眼,减少疲劳 + - 现代化的设计风格 + +### 布局自定义 + +**面板调整**: +- 拖拽面板分割线调整大小 +- 双击面板标题折叠/展开 +- 右键菜单隐藏不需要的面板 + +**画布设置**: +- 网格显示开关 +- 缩放级别控制 +- 节点对齐辅助线 + +## 🔍 搜索和导航 + +### 全局搜索 + +**搜索范围**: +- 节点名称和描述 +- 工作流名称 +- 凭证名称 +- 执行历史 + +**搜索技巧**: +- 使用关键词快速定位 +- 支持模糊匹配 +- 搜索结果按相关度排序 + +### 面包屑导航 + +显示当前位置和路径: +``` +工作流 > 节点名称 > 配置选项 +``` + +## 📱 响应式设计 + +n8n界面支持不同屏幕尺寸: + +| 屏幕尺寸 | 布局调整 | 建议操作 | +|----------|----------|----------| +| **大屏 (>1920px)** | 所有面板完整显示 | 最佳体验,推荐使用 | +| **标准 (1366-1920px)** | 面板可调整大小 | 良好体验,主流配置 | +| **小屏 (1024-1366px)** | 面板自动折叠 | 基本可用,建议折叠侧栏 | +| **平板 (<1024px)** | 移动端适配布局 | 查看功能,不建议编辑 | + +## 🎯 界面使用技巧 + +### 高效工作技巧 + +1. **快捷键组合**: + ``` + Ctrl + Tab # 快速添加节点 + Ctrl + D # 复制当前节点 + Shift + 方向键 # 精确移动节点 + ``` + +2. **批量操作**: + - 框选多个节点批量操作 + - 批量删除、复制和移动 + - 批量配置相同参数 + +3. **工作流组织**: + - 使用注释节点添加说明 + - 合理命名节点和工作流 + - 使用颜色标记重要节点 + +### 调试和测试 + +1. **步骤执行**: + - 单独测试每个节点 + - 查看数据流转过程 + - 验证输出结果 + +2. **错误处理**: + - 查看详细错误信息 + - 使用错误触发器 + - 设置重试机制 + +!!! tip "界面优化建议" + - 定期清理不用的工作流 + - 合理组织工作流文件夹 + - 使用标签系统分类管理 + - 定期导出备份重要工作流 + +## 📚 延伸学习 + +- **详细界面教程**:[n8n界面完全指南](https://n8n.akashio.com/article/n8n-ui) +- **快捷键大全**:在界面中按 `?` 查看完整快捷键列表 +- **视频教程**:观看官方界面操作演示 + +--- + +掌握了界面操作后,您就可以高效地设计和管理工作流了! + +[上一章:本地部署](local-deployment/){ .md-button } [下一章:凭证管理](credentials/){ .md-button .md-button--primary } diff --git a/docs/installation/local-deployment.md b/docs/installation/local-deployment.md new file mode 100644 index 0000000..0100e51 --- /dev/null +++ b/docs/installation/local-deployment.md @@ -0,0 +1,75 @@ +# 本地/私有化部署 + +对于需要数据隐私控制、内网集成或大规模使用的场景,本地部署是最佳选择。 + +## 🚀 最简单的部署方式 + +### Docker部署(推荐) + +**前置要求**:安装Docker和Docker Compose + +**一键部署**: +```bash +# 创建目录 +mkdir n8n && cd n8n + +# 下载配置文件 +curl -o docker-compose.yml https://raw.githubusercontent.com/n8n-io/n8n/master/docker/compose/withPostgres/docker-compose.yml + +# 启动服务 +docker-compose up -d + +# 访问 http://localhost:5678 +``` + +### npm安装(开发者) + +**前置要求**:Node.js 18.10+ + +```bash +# 全局安装n8n +npm install n8n -g + +# 启动n8n +n8n start + +# 访问 http://localhost:5678 +``` + +## 📚 学习资源 + +- **图文教程**:[n8n本地部署详解](https://blog.csdn.net/2501_90561511/article/details/147479401) +- **视频教程**:[n8n Docker部署实战](https://www.bilibili.com/video/BV1kZNrzpEy6) +- **官方文档**:[n8n Self-hosting](https://docs.n8n.io/hosting/) + +## 🔧 基础配置 + +### 重要配置说明 + +**Volume映射配置**: +- **数据存储**:`/home/node/.n8n` - 存储工作流和凭证 +- **文件访问**:`/files` - 工作流读写本地文件 + +**基础环境变量**: +```bash +GENERIC_TIMEZONE=Asia/Shanghai +N8N_BASIC_AUTH_ACTIVE=true +N8N_BASIC_AUTH_USER=admin +N8N_BASIC_AUTH_PASSWORD=your-secure-password +``` + +## 🏭 生产环境部署 + +对于生产环境部署,需要更详细的配置和安全设置。请参考:[生产环境部署指南](production-deployment.md) + +## 📚 相关资源 + +- **图文教程**:[n8n本地部署详解](https://blog.csdn.net/2501_90561511/article/details/147479401) +- **视频教程**:[n8n Docker部署实战](https://www.bilibili.com/video/BV1kZNrzpEy6) +- **官方文档**:[n8n Self-hosting](https://docs.n8n.io/hosting/) + +--- + +现在您已经成功部署了n8n!接下来可以开始配置界面和创建第一个工作流。 + +[上一章:快速开始](quick-start/){ .md-button } [下一章:界面介绍](interface/){ .md-button .md-button--primary } diff --git a/docs/installation/localization.md b/docs/installation/localization.md new file mode 100644 index 0000000..e77f0a1 --- /dev/null +++ b/docs/installation/localization.md @@ -0,0 +1,368 @@ +# n8n汉化 + +## 📚 学习资源 + +- **汉化教程**:[n8n汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) + +在使用Docker部署时,可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。 + +## 🌏 汉化的必要性 + +### 为什么需要汉化 + +
+
+
👥
+

团队协作

+

降低团队成员的学习门槛,提高工作效率

+
+ +
+
📖
+

理解准确

+

避免因语言理解偏差导致的配置错误

+
+ +
+
🎯
+

专注业务

+

减少语言障碍,专注于业务逻辑设计

+
+ +
+
🚀
+

快速上手

+

新用户能更快熟悉界面和功能

+
+
+ +## 🐳 Docker部署汉化方案 + +### 方案一:环境变量汉化 + +最简单的汉化方式是通过环境变量设置: + +```yaml title="docker-compose.yml" +version: '3.8' + +services: + n8n: + image: n8nio/n8n + container_name: n8n + restart: unless-stopped + ports: + - "5678:5678" + environment: + # 基础配置 + - GENERIC_TIMEZONE=Asia/Shanghai + - N8N_DEFAULT_LOCALE=zh-CN + - N8N_DEFAULT_BINARY_DATA_MODE=filesystem + + # 界面汉化 + - LOCALE=zh-CN + - LC_ALL=zh_CN.UTF-8 + - LANG=zh_CN.UTF-8 + + # 认证配置 + - N8N_BASIC_AUTH_ACTIVE=true + - N8N_BASIC_AUTH_USER=admin + - N8N_BASIC_AUTH_PASSWORD=your-password + volumes: + - n8n_data:/home/node/.n8n + - /data/n8n/files:/files + +volumes: + n8n_data: +``` + +### 方案二:挂载语言包 + +更完整的汉化需要挂载自定义语言包: + +```yaml title="docker-compose.zh.yml" +version: '3.8' + +services: + n8n: + image: n8nio/n8n + container_name: n8n-zh + restart: unless-stopped + ports: + - "5678:5678" + environment: + - GENERIC_TIMEZONE=Asia/Shanghai + - N8N_DEFAULT_LOCALE=zh-CN + - NODE_ENV=production + volumes: + - n8n_data:/home/node/.n8n + - /data/n8n/files:/files + # 挂载中文语言包 + - ./locales:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales + depends_on: + - postgres + + postgres: + image: postgres:13 + restart: unless-stopped + environment: + - POSTGRES_USER=n8n + - POSTGRES_PASSWORD=n8n_password + - POSTGRES_DB=n8n + # 设置数据库字符集 + - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=zh_CN.UTF-8 --lc-ctype=zh_CN.UTF-8 + volumes: + - postgres_data:/var/lib/postgresql/data + +volumes: + n8n_data: + postgres_data: +``` + +## 📁 语言包文件结构 + +### 创建本地语言包目录 + +```bash +# 创建语言包目录 +mkdir -p /data/n8n/locales + +# 下载中文语言包 +curl -o /data/n8n/locales/zh-CN.json https://raw.githubusercontent.com/n8n-io/n8n/master/packages/editor-ui/src/plugins/i18n/locales/zh.json +``` + +### 自定义翻译内容 + +```json title="locales/zh-CN.json" +{ + "n8n": { + "auth": { + "signin": "登录", + "signup": "注册", + "signout": "退出登录", + "forgotPassword": "忘记密码" + }, + "generic": { + "save": "保存", + "cancel": "取消", + "delete": "删除", + "edit": "编辑", + "create": "创建", + "search": "搜索", + "loading": "加载中..." + }, + "workflows": { + "new": "新建工作流", + "save": "保存工作流", + "execute": "执行工作流", + "activate": "激活", + "deactivate": "停用" + }, + "nodes": { + "add": "添加节点", + "delete": "删除节点", + "duplicate": "复制节点", + "rename": "重命名" + }, + "credentials": { + "title": "凭证管理", + "create": "创建凭证", + "edit": "编辑凭证", + "test": "测试连接" + } + } +} +``` + +## 🛠️ 完整汉化部署脚本 + +### 一键汉化部署脚本 + +```bash title="setup-n8n-zh.sh" +#!/bin/bash + +# n8n中文版一键部署脚本 + +set -e + +echo "🚀 开始部署n8n中文版..." + +# 创建必要目录 +echo "📁 创建目录结构..." +mkdir -p /data/n8n/{config,files,locales,backups} + +# 下载语言包 +echo "🌏 下载中文语言包..." +curl -s -o /data/n8n/locales/zh-CN.json \ + https://raw.githubusercontent.com/n8n-io/n8n/master/packages/editor-ui/src/plugins/i18n/locales/zh.json + +# 创建docker-compose配置 +echo "🐳 创建Docker配置..." +cat > /data/n8n/docker-compose.yml << 'EOF' +version: '3.8' + +services: + postgres: + image: postgres:13 + restart: unless-stopped + environment: + - POSTGRES_USER=n8n + - POSTGRES_PASSWORD=n8n_secure_password + - POSTGRES_DB=n8n + - POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=zh_CN.UTF-8 --lc-ctype=zh_CN.UTF-8 + volumes: + - postgres_data:/var/lib/postgresql/data + networks: + - n8n-network + + n8n: + image: n8nio/n8n:latest + restart: unless-stopped + ports: + - "5678:5678" + environment: + # 数据库配置 + - DB_TYPE=postgresdb + - DB_POSTGRESDB_HOST=postgres + - DB_POSTGRESDB_PORT=5432 + - DB_POSTGRESDB_DATABASE=n8n + - DB_POSTGRESDB_USER=n8n + - DB_POSTGRESDB_PASSWORD=n8n_secure_password + + # 基础配置 + - GENERIC_TIMEZONE=Asia/Shanghai + - N8N_DEFAULT_LOCALE=zh-CN + - N8N_ENCRYPTION_KEY=your-encryption-key-32-chars + + # 界面汉化 + - LOCALE=zh-CN + - LC_ALL=zh_CN.UTF-8 + - LANG=zh_CN.UTF-8 + + # 安全配置 + - N8N_BASIC_AUTH_ACTIVE=true + - N8N_BASIC_AUTH_USER=admin + - N8N_BASIC_AUTH_PASSWORD=admin_secure_password + + # Webhook配置 + - WEBHOOK_URL=http://localhost:5678/ + + volumes: + - /data/n8n/config:/home/node/.n8n + - /data/n8n/files:/files + - /data/n8n/locales:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales + depends_on: + - postgres + networks: + - n8n-network + +volumes: + postgres_data: + +networks: + n8n-network: + driver: bridge +EOF + +# 启动服务 +echo "🚀 启动n8n服务..." +cd /data/n8n +docker-compose up -d + +# 等待服务启动 +echo "⏳ 等待服务启动..." +sleep 30 + +# 检查服务状态 +echo "🔍 检查服务状态..." +docker-compose ps + +# 显示访问信息 +echo "✅ n8n中文版部署完成!" +echo "🌐 访问地址: http://localhost:5678" +echo "👤 用户名: admin" +echo "🔑 密码: admin_secure_password" +echo "" +echo "📚 管理命令:" +echo " 查看日志: cd /data/n8n && docker-compose logs -f" +echo " 重启服务: cd /data/n8n && docker-compose restart" +echo " 停止服务: cd /data/n8n && docker-compose down" +echo " 备份数据: cd /data/n8n && docker-compose exec postgres pg_dump -U n8n n8n > backups/backup-\$(date +%Y%m%d).sql" +``` + +### 运行部署脚本 + +```bash +# 下载并执行部署脚本 +curl -sL https://raw.githubusercontent.com/your-repo/n8n-zh/main/setup.sh | bash + +# 或者手动执行 +chmod +x setup-n8n-zh.sh +./setup-n8n-zh.sh +``` + +## 🎨 界面汉化效果 + +### 汉化前后对比 + +| 功能区域 | 英文原版 | 中文汉化 | +|----------|----------|----------| +| **主菜单** | Workflows, Credentials, Executions | 工作流, 凭证, 执行历史 | +| **节点类型** | Triggers, Inputs, Processes, Outputs | 触发器, 输入, 处理, 输出 | +| **操作按钮** | Execute, Save, Activate, Settings | 执行, 保存, 激活, 设置 | +| **状态信息** | Running, Success, Error, Waiting | 运行中, 成功, 错误, 等待中 | + +### 汉化覆盖范围 + +✅ **已汉化内容**: +- 主界面菜单和导航 +- 节点分类和常用节点名称 +- 工作流操作按钮 +- 错误提示信息 +- 设置界面选项 + +⚠️ **部分汉化内容**: +- 某些第三方节点名称 +- 高级配置选项 +- 开发者相关功能 + +❌ **未汉化内容**: +- 社区节点描述 +- 技术文档链接 +- 日志详细信息 + +## 🔧 汉化问题排查 + +### 常见问题和解决方案 + +| 问题 | 症状 | 解决方案 | +|------|------|----------| +| **语言包未生效** | 界面仍显示英文 | 检查挂载路径和环境变量 | +| **部分乱码** | 某些文字显示异常 | 确认字符集设置为UTF-8 | +| **功能异常** | 汉化后功能出错 | 使用官方语言包版本 | + +### 验证汉化是否成功 + +```bash +# 检查容器环境变量 +docker exec n8n env | grep -E "(LANG|LOCALE)" + +# 检查语言包文件 +docker exec n8n ls -la /usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist/static/locales/ + +# 查看n8n日志 +docker-compose logs n8n | grep -i locale +``` + +## 📚 参考资源 + +- **详细汉化教程**: [n8n完整汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) +- **官方多语言支持**: [n8n Internationalization](https://docs.n8n.io/hosting/configuration/#internationalization) +- **社区汉化项目**: GitHub上的中文社区维护版本 + +--- + +通过汉化,您的团队可以更高效地使用n8n,减少语言障碍带来的学习成本。 + +[上一章:凭证管理](credentials.md){ .md-button } [下一章:常用节点](../learning/common-nodes.md){ .md-button .md-button--primary } diff --git a/docs/installation/quick-start.md b/docs/installation/quick-start.md new file mode 100644 index 0000000..1c7f601 --- /dev/null +++ b/docs/installation/quick-start.md @@ -0,0 +1,180 @@ +# 快速开始(n8n Cloud) + +对于希望立即体验而无需任何部署的用户,n8n官方云服务是最佳选择。 + +## ☁️ n8n Cloud优势 + +**⚡ 即时启动**:无需下载、安装或配置,注册后立即可用 +**🛡️ 免维护**:官方负责所有技术维护,自动更新和备份 +**🌍 全球访问**:任何地方都能访问您的工作流,支持团队协作 +**🔒 企业级安全**:SOC2认证,数据加密存储,符合GDPR标准 + +## 🚀 5分钟快速上手 + +### 第一步:注册账户 + +1. 访问 [n8n.io](https://n8n.io/) +2. 点击 "Get started for free" 按钮 +3. 使用邮箱注册或选择第三方登录(GitHub、Google) + +!!! tip "注册建议" + 建议使用企业邮箱注册,便于后续的团队协作功能 + +### 第二步:创建第一个工作流 + +注册完成后,您将进入n8n的主界面: + +1. **点击 "Create Workflow"** 创建新工作流 +2. **添加触发节点**:选择 "Manual Trigger" 开始 +3. **添加处理节点**:尝试添加 "Set" 节点设置数据 +4. **连接节点**:拖拽连线连接各个节点 + +
+
+
📋 手动触发
+
+
⚙️ 设置节点
+
+
🌐 HTTP请求
+
+
📧 发送邮件
+
+
+ +**工作流执行顺序:** +1. **手动触发** - 用户点击开始按钮 +2. **设置节点** - 配置和处理数据 +3. **HTTP请求** - 调用外部API获取信息 +4. **发送邮件** - 将结果通过邮件发送 + +### 第三步:测试执行 + +1. 点击工作流左上角的 "Execute Workflow" 按钮 +2. 观察每个节点的执行状态和数据流转 +3. 检查输出结果是否符合预期 + +### 第四步:保存和部署 + +1. **保存工作流**:Ctrl+S 或点击保存按钮 +2. **激活工作流**:打开右上角的激活开关 +3. **测试生产运行**:工作流将按设定条件自动运行 + +## 📱 云端界面导览 + +### 主要功能区域 + +| 区域 | 功能说明 | 快捷键 | +|------|----------|--------| +| **节点面板** | 左侧节点库,拖拽添加功能 | N | +| **画布区域** | 中央工作流设计区域 | - | +| **属性面板** | 右侧节点配置面板 | - | +| **执行面板** | 底部执行历史和日志 | E | + +### 常用快捷键 + +| 功能 | Windows/Linux | Mac | +|------|---------------|-----| +| 保存工作流 | `Ctrl + S` | `Cmd + S` | +| 执行工作流 | `Ctrl + Enter` | `Cmd + Enter` | +| 添加节点 | `Tab` | `Tab` | +| 删除节点 | `Delete` | `Delete` | +| 复制节点 | `Ctrl + C` | `Cmd + C` | +| 粘贴节点 | `Ctrl + V` | `Cmd + V` | + +## 🎯 第一个实用工作流 + +让我们创建一个简单但实用的工作流:**每日天气邮件提醒** + +### 工作流设计 + +
+
+
⏰ 定时触发
每天8:00
+
+
🌤️ 天气API
获取天气数据
+
+
📊 数据处理
格式化天气信息
+
+
📧 邮件发送
天气预报推送
+
+
+ +**天气邮件工作流说明:** +- **定时触发器** → 每天早上8点自动启动 +- **天气API请求** → 从OpenWeatherMap获取当地天气 +- **数据处理** → 提取温度、湿度、天气描述等信息 +- **邮件发送** → 发送格式化的天气预报到指定邮箱 + +### 配置步骤 + +=== "1. 定时触发器" + - 选择 "Schedule Trigger" 节点 + - 设置触发时间:每天上午8:00 + - 配置时区:选择您所在的时区 + +=== "2. 天气API请求" + - 添加 "HTTP Request" 节点 + - URL: `https://api.openweathermap.org/data/2.5/weather` + - 参数: `q=Beijing&appid=YOUR_API_KEY` + - 请求方法: GET + +=== "3. 数据处理" + - 添加 "Set" 节点 + - 提取温度、天气描述等字段 + - 格式化为友好的文本信息 + +=== "4. 邮件发送" + - 添加 "Email" 节点 + - 配置SMTP凭证 + - 设置收件人和邮件模板 + +## 🎁 免费额度说明 + +n8n Cloud提供慷慨的免费额度: + +
+
+ 5,000 + 每月执行次数 +
+
+ 无限 + 工作流数量 +
+
+ 2 + 团队成员 +
+
+ 7天 + 执行历史 +
+
+ +!!! info "升级建议" + 如果您需要更多执行次数或高级功能,可以考虑升级到付费计划。企业用户通常在第一个月就能通过效率提升收回成本。 + +## 🔄 从云端到本地 + +当您熟悉n8n后,可能会考虑本地部署: + +| 云端 → 本地的考虑因素 | 说明 | +|-------------------|------| +| **数据敏感性** | 如果处理敏感数据,本地部署更安全 | +| **成本控制** | 大量使用时,本地部署成本更低 | +| **定制需求** | 需要自定义节点或深度集成 | +| **网络环境** | 内网系统集成需要本地部署 | + +## 📚 延伸学习 + +完成快速开始后,建议继续学习: + +- [界面介绍](interface/) - 深入了解n8n界面 +- [常用节点](../learning/common-nodes/) - 掌握核心功能节点 +- [基本工作流创建](../learning/basic-workflows/) - 系统学习工作流设计 + +--- + +恭喜您完成了n8n的快速开始!现在您已经具备了创建基本自动化工作流的能力。 + +[下一章:本地部署](local-deployment/){ .md-button .md-button--primary } diff --git a/docs/introduction/background.md b/docs/introduction/background.md new file mode 100644 index 0000000..8549001 --- /dev/null +++ b/docs/introduction/background.md @@ -0,0 +1,48 @@ +# 背景信息:拥抱人工智能浪潮 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +人工智能正以惊人的速度重塑我们的世界,从根本上改变着商业运营、社会互动和个人生活。它不仅仅是一项技术,更是一场深刻的时代变革。在这场汹涌的浪潮中,自动化、智能化工具成为提升效率、释放潜力、优化决策的关键。本指南将带您深入了解n8n,助您在智能时代乘风破浪。 + +## 💡 机遇:赋能与进化 + +### 企业层面 + +- **提升效率与创新**:AI驱动的自动化能够优化业务流程,将员工从重复性劳动中解放出来,从而激发新产品和服务的开发。 +- **数据洞察与决策**:强大的海量数据分析能力,为精准的商业决策和市场洞察提供坚实支持。 + +### 科研领域 + +为**基础科学研究**提供强大的分析和模拟工具,**加速科学发现**,开辟**新的研究方向**,并促进**跨学科合作**。 + +### 个人层面 + +- **职业发展**:催生了对新技能的需求和大量新兴岗位,促进个人能力升级和职业转型。 +- **生活智能化**:AI融入日常生活,带来前所未有的便捷与个性化智能体验。 + +## ⚠️ 挑战:适应与应对 + +### 企业层面 + +- **高投入与转型成本**:企业需要投入大量资源进行AI基础设施建设、人才培养和组织架构调整。 +- **数据安全与伦理**:AI应用中的数据隐私、算法偏见和责任归属问题是必须面对的挑战。 + +### 科研领域 + +面临**计算资源紧缺**、**高水平AI人才竞争**、**高质量数据获取困难**,以及研究成果**转化落地**和**伦理规范**的挑战。 + +### 个人层面 + +- **人才结构变革**:部分传统岗位面临被取代的风险,劳动力市场的再培训与技能重塑迫在眉睫。 +- **技术快速迭代**:AI技术日新月异,要求个人保持持续学习的能力,以快速适应市场变化。 + +!!! info "关键洞察" + 在这个快速变化的时代,掌握像n8n这样的自动化工具不仅是技能提升,更是在AI浪潮中保持竞争力的关键策略。 + +--- + +[下一章:目标读者](target-audience.md){ .md-button .md-button--primary } diff --git a/docs/introduction/purpose-value.md b/docs/introduction/purpose-value.md new file mode 100644 index 0000000..ec192ef --- /dev/null +++ b/docs/introduction/purpose-value.md @@ -0,0 +1,94 @@ +# 目的与价值 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +## 🎯 核心目的 + +让技术零基础的业务人员和负责技术支持的同事都能**快速上手n8n**,并充分**利用其强大的自动化能力**。 + +## 💼 对业务部门的价值 + +### 赋能业务用户 +无需编程知识即可**自动化日常任务**,包括但不限于: + +- 📧 **邮件处理**:自动分类、回复和转发邮件 +- 🔄 **数据同步**:在不同系统间自动同步信息 +- 📊 **报告生成**:定期自动生成和分发报告 +- 📋 **任务管理**:自动创建和分配工作任务 + +### 提升核心效率 +通过自动化**节省大量时间**,让团队能更专注于创造价值的核心业务: + +
+
+ 80% + 重复工作减少 +
+
+ 3x + 处理速度提升 +
+
+ 95% + 错误率降低 +
+
+ 24/7 + 全天候工作 +
+
+ +### 探索自动化潜力 +即使是技术新手也能通过**AI驱动的自动化模板**和**即时连接应用程序**来发现更多业务价值。 + +## 🔧 对技术部门的价值 + +### 灵活与强大 +- **自托管优势**:完全控制数据和环境 +- **低代码特性**:快速开发,降低维护成本 +- **无限制扩展**:可以**自定义代码节点,实现无限制**的复杂自动化 + +### 系统管理与维护 +掌握以下核心技能: + +| 技能领域 | 具体能力 | 业务价值 | +|---------|---------|---------| +| **部署管理** | npm、Docker部署 | 快速环境搭建 | +| **高级配置** | 环境变量、安全设置 | 企业级部署 | +| **日常维护** | 监控、备份、更新 | 确保服务稳定性 | +| **性能优化** | 负载均衡、缓存策略 | 支持业务增长 | + +### 构建AI自动化能力 (MCP) +深入理解**Model Context Protocol (MCP)**的核心价值: + +!!! success "MCP的革命性意义" + 让AI模型以标准化方式与**外部工具和数据源交互**,将现有n8n工作流封装为AI代理可调用的"工具",构建**强大的端到端智能工作流**。 + +### 高效问题解决与支持 +- **常见问题排查**:快速诊断和解决技术问题 +- **团队赋能**:有效协助非技术同事解决工作流问题 +- **专家成长**:成为团队内部的n8n技术专家 + +## 🚀 价值实现路径 + +**学习基础(理论学习+环境搭建)** → **实践应用(简单工作流+模板应用)** → **技能提升(高级功能+AI集成)** → **价值创造(效率提升+成本降低)** → **持续优化(监控优化+规模扩展)** + +## 📈 投资回报分析 + +| 投入类型 | 时间成本 | 预期收益 | ROI期望 | +|---------|---------|---------|---------| +| **学习培训** | 2-4周 | 工作效率提升50% | 3个月回本 | +| **环境搭建** | 1-2天 | 团队协作效率提升 | 1个月回本 | +| **模板部署** | 1-3天 | 特定任务100%自动化 | 立即见效 | +| **深度定制** | 1-2个月 | 企业级自动化解决方案 | 6个月回本 | + +!!! quote "客户反馈" + "通过n8n,我们的数据处理时间从每天8小时减少到30分钟,团队可以专注于更有价值的分析工作。" - 某金融公司数据分析师 + +--- + +[上一章:目标读者](target-audience.md){ .md-button } [下一章:为什么选择n8n](why-n8n.md){ .md-button .md-button--primary } diff --git a/docs/introduction/target-audience.md b/docs/introduction/target-audience.md new file mode 100644 index 0000000..14780e7 --- /dev/null +++ b/docs/introduction/target-audience.md @@ -0,0 +1,100 @@ +# 目标读者 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +本指南面向不同技术背景的用户群体,每个人都能在这里找到适合自己的学习路径。 + +## 🎯 主要用户群体 + +### 技术零基础的业务人员 + +**学习目标**:帮助您**快速入门**,理解n8n如何**简化日常重复性工作** + +**适合场景**: +- 需要处理大量数据整理工作 +- 希望自动化邮件和文档处理流程 +- 想要连接不同的办公软件实现数据同步 + +**学习重点**: +- 通过**模板和简单工作流**轻松实现业务自动化 +- 显著提升工作效率 +- 无需编程知识即可上手 + +### 技术支持与开发人员 + +**学习目标**:**深入理解n8n的部署、配置、运行和维护** + +**适合场景**: +- 负责为团队搭建n8n环境 +- 需要解决工作流技术问题 +- 要为业务人员提供技术支持 + +**学习重点**: +- 掌握**系统管理、故障排查和团队赋能**的能力 +- 确保n8n服务的稳定运行和高效支持 +- 构建企业级自动化解决方案 + +## 📚 不同用户的学习路径 + +=== "业务用户" + ```mermaid + graph TD + A[快速开始] --> B[界面介绍] + B --> C[基本工作流创建] + C --> D[常用节点学习] + D --> E[模板套用] + E --> F[实际应用场景] + ``` + +=== "技术人员" + ```mermaid + graph TD + A[本地部署] --> B[系统配置] + B --> C[高级功能] + C --> D[MCP集成] + D --> E[社区节点] + E --> F[运维监控] + ``` + +=== "混合角色" + ```mermaid + graph TD + A[基础概念] --> B[实践操作] + B --> C[进阶应用] + C --> D[AI增强] + D --> E[企业部署] + E --> F[团队协作] + ``` + +## 🎓 技能层级对应 + +| 用户类型 | 初级技能 | 中级技能 | 高级技能 | +|---------|---------|---------|---------| +| **业务人员** | 模板使用 | 自定义工作流 | 复杂逻辑设计 | +| **技术人员** | 环境搭建 | 系统集成 | 架构设计 | +| **管理者** | 需求分析 | 资源规划 | 战略制定 | + +## 💡 学习建议 + +!!! tip "给业务人员的建议" + - 从简单的模板开始,逐步理解工作流概念 + - 重点关注与日常工作相关的节点 + - 多实践,从小项目开始积累经验 + +!!! warning "给技术人员的建议" + - 先掌握基础操作,再深入技术细节 + - 关注安全性和性能优化 + - 积极参与社区,分享和学习最佳实践 + +!!! info "给团队负责人的建议" + - 制定明确的学习计划和目标 + - 建立内部知识分享机制 + - 考虑投资专业培训和认证 + +--- + +[上一章:背景信息](background.md){ .md-button } [下一章:目的与价值](purpose-value.md){ .md-button .md-button--primary } diff --git a/docs/introduction/why-n8n.md b/docs/introduction/why-n8n.md new file mode 100644 index 0000000..738e486 --- /dev/null +++ b/docs/introduction/why-n8n.md @@ -0,0 +1,140 @@ +# 为什么选择n8n + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +低代码平台是赋能全员的最优解工具,n8n则是低代码工具中发展性最好的一个。 + +## 🔍 解决方案对比分析 + +| **方案/工具** | **无代码 (Dify)** | **低代码 (n8n)** | **传统代码开发(Python)** | **智能化代码开发(Cursor)** | +|---------------|-------------------|------------------|---------------------------|----------------------------| +| **目标用户** | 业务人员、市场人员、非技术背景的开发者 | IT专业人员、开发者、既懂业务又懂技术的复合型人才 | 专业软件工程师、开发团队 | 开发者、工程师、研究人员 | +| **开发速度** | 最快,数小时到数天即可构建应用 | 快速,熟练后数小时到数天即可构建应用 | 较慢,数周到数月甚至更长 | 快速,根据AI工具熟练度与剖析问题的能力数天到数星期不等 | +| **核心理念** | "配置优于编码",通过可视化界面和预制模块快速搭建 | "更少代码,更多创造",通过可视化与少量代码结合,加速开发 | "代码拥有一切",通过编写代码实现完全的控制和定制 | AI赋能编码,提升开发效率与质量 | +| **灵活性与定制化** | 较低,受限于平台提供的功能和模板 | 较高,允许通过编写代码(如JavaScript、Python)进行扩展和定制 | 极高,可以实现任何复杂的功能和独特的界面 | 高,代码由AI生成,可高度定制与修改 | +| **技术门槛** | 极低,无需编程知识 | 较低,需要基本的编程逻辑和少量编码能力 | 极高,需要精通编程语言、框架和软件工程原理 | 中,需有编程基础以审查、优化AI生成代码 | +| **主要应用场景** | 构建简单的内部工具、自动化流程、AI应用原型等 | 企业级自动化、系统集成、连接不同的API和服务、构建复杂的业务流程 | 开发大型、复杂的软件系统、高性能应用、底层系统开发 | 代码生成、智能补全、错误检测、文档生成、测试用例编写 | +| **常用工具** | Dify、Zapier、Bubble | **n8n**、Retool、Mendix | Python、Java、C | Cursor、GitHub Copilot、Codeium | + +## 🌟 n8n的独特优势 + +### 1. 完美的平衡点 + +n8n在易用性和功能性之间找到了完美的平衡: + +
+
+
⚖️
+

易用性 + 强大功能

+

可视化界面降低门槛,代码节点提供无限可能

+
+ +
+
🎯
+

快速开发 + 深度定制

+

模板快速起步,自定义代码满足特殊需求

+
+ +
+
🔧
+

标准化 + 个性化

+

标准节点覆盖常见场景,开放API支持任意集成

+
+
+ +### 2. 开源生态优势 + +!!! success "开源带来的价值" + - **透明可控**:源代码完全开放,可以审计和修改 + - **社区驱动**:活跃的开发者社区,持续更新和改进 + - **成本优势**:无需支付高昂的许可费用 + - **避免锁定**:不会被单一厂商绑定,可以自由迁移 + +### 3. 企业级特性 + +| 特性 | n8n优势 | 竞品对比 | +|------|---------|----------| +| **数据安全** | 支持私有部署,数据完全可控 | 多数SaaS方案数据在第三方 | +| **性能扩展** | 支持集群部署,水平扩展 | 受限于平台资源限制 | +| **集成能力** | 400+官方节点+无限自定义 | 集成数量和质量参差不齐 | +| **成本控制** | 一次部署,无使用限制 | 按使用量收费,成本难控制 | + +### 4. AI时代的前瞻性 + +```mermaid +graph TD + A[传统自动化] --> B[n8n低代码平台] + B --> C[AI增强工作流] + C --> D[智能决策系统] + + A1[手工操作] --> A + A2[脚本自动化] --> A + + B1[可视化流程] --> B + B2[标准化集成] --> B + + C1[LLM集成] --> C + C2[MCP协议] --> C + + D1[自主决策] --> D + D2[持续学习] --> D +``` + +### 5. 学习曲线友好 + +不同技术背景的用户都能找到适合的起点: + +=== "零基础用户" + - 从模板开始,无需编程 + - 拖拽式操作,直观易懂 + - 丰富的教程和社区支持 + +=== "有基础用户" + - 快速上手,专注业务逻辑 + - 代码节点提供灵活性 + - 可以渐进式深入学习 + +=== "高级用户" + - 完全的定制能力 + - 架构级别的控制 + - 企业级部署方案 + +## 🚀 选择n8n的理由总结 + +!!! tip "为什么n8n是最佳选择" + 1. **门槛低但天花板高**:新手易上手,专家有发挥空间 + 2. **开源且企业级**:既有社区活力,又有商业支持 + 3. **现在和未来**:当前功能强大,AI集成领先 + 4. **投资保护**:学习成本可以长期受益,不会过时 + 5. **生态丰富**:模板、节点、社区资源应有尽有 + +## 📊 市场认可度 + +
+
+ 50K+ + GitHub Stars +
+
+ 400+ + 官方节点 +
+
+ 1M+ + 月下载量 +
+
+ 5年+ + 持续发展 +
+
+ +--- + +选择n8n,就是选择了一个在AI时代持续进化、帮助您和您的团队实现数字化转型的强大平台。 + +[上一章:目的与价值](purpose-value.md){ .md-button } [下一章:快速开始](../installation/quick-start.md){ .md-button .md-button--primary } diff --git a/docs/learning/basic-workflows.md b/docs/learning/basic-workflows.md new file mode 100644 index 0000000..5ec72bf --- /dev/null +++ b/docs/learning/basic-workflows.md @@ -0,0 +1,366 @@ +# 基本工作流创建 + +## 📚 学习资源 + +- **图文教程**:[n8n工作流创建完整指南](https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q) +- **视频教程**:[从零开始的n8n实战](https://www.bilibili.com/video/BV1nejbz6Eip) +- **官方文档**:[n8n Workflow Examples](https://docs.n8n.io/workflows/) + +通过本章节,您将学会如何从零开始设计和构建实用的n8n工作流。 + +## 🎯 工作流设计原则 + +### SOLID原则在工作流中的应用 + +| 原则 | 工作流应用 | 实践建议 | +|------|------------|----------| +| **单一职责** | 每个工作流专注一个业务目标 | 避免在一个工作流中处理多个不相关的任务 | +| **开放封闭** | 易于扩展,难以修改核心逻辑 | 使用子工作流和模板化设计 | +| **里氏替换** | 相似节点可以互相替换 | 标准化节点接口和数据格式 | +| **接口隔离** | 最小化节点间依赖 | 只传递必要的数据字段 | +| **依赖倒置** | 依赖抽象而非具体实现 | 使用凭证管理而非硬编码 | + +### 工作流生命周期 + +**需求分析** → **流程设计** → **节点配置** → **测试调试** → **部署运行** → **监控维护** → **优化迭代** → 回到流程设计 + +## 📝 第一个工作流:每日天气邮件 + +让我们从一个简单但实用的例子开始学习。 + +### 需求分析 + +**目标**: 每天早上8点自动获取天气信息并发送邮件提醒 +**数据源**: OpenWeatherMap API +**输出**: HTML格式的天气邮件 +**频率**: 每日执行 + +### 工作流设计 + +**Schedule Trigger(每天8:00)** → **HTTP Request(获取天气API)** → **Set Node(处理天气数据)** → **Code Node(生成邮件HTML)** → **Email Send(发送天气邮件)** + +### 详细配置步骤 + +=== "1. 定时触发器配置" + ```yaml + 节点类型: Schedule Trigger + 触发规则: Cron + Cron表达式: 0 8 * * * + 时区: Asia/Shanghai + ``` + +=== "2. 天气API请求" + ```javascript + // HTTP Request 节点配置 + { + "method": "GET", + "url": "https://api.openweathermap.org/data/2.5/weather", + "qs": { + "q": "Beijing,CN", + "appid": "{{$credentials.openweather.api_key}}", + "units": "metric", + "lang": "zh_cn" + } + } + ``` + +=== "3. 数据处理" + ```javascript + // Set 节点 - 提取有用信息 + { + "city": "={{$json.name}}", + "temperature": "={{Math.round($json.main.temp)}}", + "feels_like": "={{Math.round($json.main.feels_like)}}", + "humidity": "={{$json.main.humidity}}", + "description": "={{$json.weather[0].description}}", + "icon": "={{$json.weather[0].icon}}", + "wind_speed": "={{$json.wind.speed}}", + "current_time": "={{new Date().toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'})}}" + } + ``` + +=== "4. HTML邮件生成" + ```javascript + // Code 节点 - 生成邮件HTML + const weatherData = $input.first().json; + + const htmlContent = ` + + + + + + + +
+

🌤️ ${weatherData.city} 今日天气

+
${weatherData.temperature}°C
+

${weatherData.description}

+

体感温度:${weatherData.feels_like}°C

+ +
+
+
💧${weatherData.humidity}%
+
湿度
+
+
+
🌬️${weatherData.wind_speed}m/s
+
风速
+
+
+ +
+

+ 更新时间:${weatherData.current_time}
+ 由 n8n 自动发送 ❤️ +

+
+ + `; + + return [{ + json: { + html_content: htmlContent, + subject: `${weatherData.city} ${weatherData.temperature}°C - ${weatherData.description}`, + weather_summary: `今日${weatherData.city}气温${weatherData.temperature}°C,${weatherData.description}` + } + }]; + ``` + +=== "5. 邮件发送" + ```yaml + 节点类型: Email Send + 收件人: your-email@example.com + 主题: "={{$json.subject}}" + 邮件类型: HTML + 邮件内容: "={{$json.html_content}}" + ``` + +## 🔄 进阶工作流:客户反馈处理系统 + +现在我们来构建一个更复杂的业务工作流。 + +### 业务场景 + +**目标**: 自动化处理客户反馈表单提交 +**触发**: 网站表单Webhook +**处理**: 分类、存储、分配、通知 +**输出**: 多渠道通知和工单创建 + +### 工作流架构 + +**Webhook接收** → **判断反馈类型**: +- **投诉** → 高优先级处理 → 发送紧急通知 + 创建高优先级工单 → 发送客户确认 +- **建议** → 普通优先级处理 → 存储到数据库 + 分配给客服 → 发送客户确认 +- **咨询** → 自动回复处理 → AI自动回复 + 发送确认邮件 → 发送客户确认 + +### 核心节点配置 + +=== "Webhook接收" + ```javascript + // Webhook 节点配置 + { + "httpMethod": "POST", + "path": "customer-feedback", + "authentication": "headerAuth", + "options": { + "rawBody": false + } + } + ``` + +=== "反馈分类逻辑" + ```javascript + // Switch 节点 - 根据反馈类型分发 + const feedbackType = $json.body.feedback_type || 'unknown'; + const urgentKeywords = ['投诉', '不满', '退款', '问题', '错误']; + const content = $json.body.message || ''; + + // 检查是否包含紧急关键词 + const isUrgent = urgentKeywords.some(keyword => + content.includes(keyword) + ); + + if (feedbackType === 'complaint' || isUrgent) { + return [0]; // 投诉流程 + } else if (feedbackType === 'suggestion') { + return [1]; // 建议流程 + } else { + return [2]; // 咨询流程 + } + ``` + +=== "数据库存储" + ```sql + -- PostgreSQL 插入语句 + INSERT INTO customer_feedback ( + customer_name, + customer_email, + feedback_type, + message, + priority, + status, + created_at, + assigned_to + ) VALUES ( + '{{$json.body.name}}', + '{{$json.body.email}}', + '{{$json.body.feedback_type}}', + '{{$json.body.message}}', + '{{$json.priority || "normal"}}', + 'new', + NOW(), + '{{$json.assigned_agent || null}}' + ); + ``` + +=== "AI自动回复" + ```javascript + // AI Agent 节点配置 + { + "model": "gpt-3.5-turbo", + "prompt": `你是一个专业的客服助手。客户发来了以下咨询: + + 客户姓名:{{$json.body.name}} + 咨询内容:{{$json.body.message}} + + 请生成一个专业、友好的自动回复邮件,内容应该: + 1. 感谢客户的咨询 + 2. 确认已收到并会尽快处理 + 3. 提供预计回复时间 + 4. 如果是常见问题,提供初步解答 + 5. 保持礼貌和专业的语调 + + 请以中文回复,格式为邮件正文。`, + "temperature": 0.7, + "max_tokens": 500 + } + ``` + +## 🔧 工作流最佳实践 + +### 错误处理和重试机制 + +**主流程** → **判断执行成功?**: +- **是** → 正常完成 +- **否** → Error Trigger → **判断重试次数 < 3?**: + - **是** → 等待延迟 → 重新执行 → 回到主流程 + - **否** → 发送失败通知 → 记录错误日志 + +### 性能优化建议 + +!!! tip "性能优化技巧" + + **1. 批量处理** + ```javascript + // 避免在循环中频繁API调用 + // 好的做法:批量收集数据,一次性处理 + const batchData = []; + for (const item of $input.all()) { + batchData.push(item.json); + } + + // 批量API调用 + const result = await callBatchAPI(batchData); + ``` + + **2. 缓存机制** + ```javascript + // 使用Set节点缓存常用数据 + const cacheKey = `cache_${$json.query_key}`; + const cachedData = $workflow.cache[cacheKey]; + + if (cachedData && cachedData.timestamp > Date.now() - 3600000) { + return cachedData.data; // 使用1小时内的缓存 + } + ``` + + **3. 并行执行**:数据输入 → 拆分数据 → 并行处理1/2/3 → 合并结果 + +### 测试和调试策略 + +**1. 单元测试** +- 单独测试每个节点 +- 使用测试数据验证逻辑 +- 检查数据转换正确性 + +**2. 集成测试** +- 端到端流程测试 +- 异常情况模拟 +- 性能压力测试 + +**3. 调试技巧** +```javascript +// 在Code节点中添加调试信息 +console.log('调试信息:', { + input_data: $input.all(), + processed_count: processedItems.length, + timestamp: new Date().toISOString() +}); + +// 使用Set节点添加调试字段 +{ + "debug_info": { + "node_name": "数据处理节点", + "execution_time": "={{Date.now()}}", + "input_size": "={{$input.all().length}}" + }, + "original_data": "={{$json}}" +} +``` + +## 📚 工作流模板库 + +### 常用业务模板 + +| 模板类型 | 适用场景 | 核心节点 | +|---------|---------|----------| +| **数据同步** | CRM、ERP系统集成 | Schedule + HTTP + Database | +| **内容管理** | 社交媒体自动发布 | RSS + AI + Social Media APIs | +| **监控告警** | 系统监控、业务监控 | HTTP + IF + Email/Slack | +| **报告生成** | 定期业务报告 | Database + AI + Email | +| **客户服务** | 工单管理、自动回复 | Webhook + AI + Database | + +### 学习资源 + +- **图文教程**: [n8n工作流创建完整指南](https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q) +- **视频教程**: [从零开始的n8n实战](https://www.bilibili.com/video/BV1nejbz6Eip) +- **官方文档**: [n8n Workflow Examples](https://docs.n8n.io/workflows/) + +--- + +掌握了基本工作流创建后,您就可以开始构建更复杂的自动化解决方案了! + +[上一章:常用节点](common-nodes/){ .md-button } [下一章:避坑指南](pitfalls/){ .md-button .md-button--primary } diff --git a/docs/learning/common-nodes.md b/docs/learning/common-nodes.md new file mode 100644 index 0000000..55e02f9 --- /dev/null +++ b/docs/learning/common-nodes.md @@ -0,0 +1,509 @@ +# 常用节点 + +## 📚 学习资源 + +- **图文教程**:[n8n工作流创建完整指南](https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q) +- **视频教程**:[从零开始的n8n实战](https://www.bilibili.com/video/BV1nejbz6Eip) +- **官方文档**:[n8n Workflow Examples](https://docs.n8n.io/workflows/) + +n8n提供了丰富的节点库,覆盖了工作流自动化的各个方面。掌握这些常用节点是构建高效工作流的基础。 + +## 🧩 节点分类概览 + +**触发器**:手动触发、定时触发、Webhook、邮件触发、文件监控 +**输入**:HTTP请求、数据库查询、文件读取、API调用、RSS获取 +**处理**:数据转换、AI处理、代码执行、图像处理、文本分析 +**逻辑**:条件判断、循环处理、数据合并、分支路由、错误处理 +**输出**:邮件发送、文件保存、API推送、通知发送、数据存储 + +## 🔥 触发器节点 (Triggers) + +触发器是工作流的起点,定义了工作流何时开始执行。 + +### Manual Trigger - 手动触发 + +**功能**: 用户手动启动的工作流执行 + +**使用场景**: +- 一次性任务执行 +- 工作流测试和调试 +- 按需数据处理 + +**配置**: 通常无需复杂配置,作为工作流的起始点 + +**最佳实践**:Manual Trigger → 数据获取 → 数据处理 → 结果输出 + +### Schedule Trigger - 定时触发 + +**功能**: 基于时间的自动化任务执行 + +**配置选项**: +- **时间间隔**: 每分钟、小时、天、周、月 +- **Cron表达式**: 高级时间配置 +- **时区设置**: 确保正确的执行时间 + +**常用场景**: + +=== "每日报告" + ``` + 触发时间: 每天 09:00 + 时区: Asia/Shanghai + 工作日执行: 周一到周五 + ``` + +=== "数据同步" + ``` + 触发时间: 每30分钟 + 执行条件: 24/7运行 + 错误重试: 启用 + ``` + +=== "定期清理" + ``` + 触发时间: 每周日 02:00 + 任务: 清理临时文件 + 通知: 完成后发送邮件 + ``` + +!!! warning "定时触发注意事项" + - 确保服务器时区设置正确 + - 考虑服务器维护时间窗口 + - 设置合理的执行超时时间 + - 添加错误处理和重试机制 + +### Webhook - API触发 + +**功能**: 通过HTTP请求触发工作流 + +**配置要素**: +- **URL路径**: 自定义webhook端点 +- **HTTP方法**: GET、POST、PUT、DELETE +- **认证方式**: 无认证、基础认证、头部认证 + +**典型应用**: + +| 场景 | 触发源 | 数据处理 | +|------|-------|---------| +| **GitHub集成** | 代码推送事件 | 自动部署、测试通知 | +| **表单提交** | 网站表单 | 数据验证、邮件通知 | +| **支付回调** | 支付网关 | 订单处理、发货通知 | +| **监控告警** | 监控系统 | 故障分析、团队通知 | + +**安全配置**: +```yaml +webhook_url: https://your-n8n.com/webhook/secure-endpoint +authentication: + type: header + name: X-API-Key + value: your-secret-api-key +``` + +## 📥 输入节点 (Input) + +输入节点用于从各种数据源获取信息。 + +### HTTP Request - HTTP请求 + +**功能**: 与外部API和服务进行交互 + +**配置参数**: +- **请求方法**: GET、POST、PUT、DELETE、PATCH +- **URL**: 目标API地址 +- **头部**: 认证、内容类型等 +- **请求体**: POST数据、JSON负载 + +**实用示例**: + +=== "获取天气数据" + ```json + { + "method": "GET", + "url": "https://api.openweathermap.org/data/2.5/weather", + "qs": { + "q": "Beijing", + "appid": "your-api-key", + "units": "metric" + } + } + ``` + +=== "发送Slack消息" + ```json + { + "method": "POST", + "url": "https://hooks.slack.com/services/your/webhook/url", + "body": { + "text": "工作流执行完成", + "channel": "#general" + } + } + ``` + +### Read/Write Files from Disk - 文件操作 + +**功能**: 读取和写入本地文件系统 + +**支持格式**: +- **文本文件**: TXT、CSV、JSON、XML +- **表格文件**: Excel、CSV +- **图像文件**: JPG、PNG、PDF +- **压缩文件**: ZIP、TAR + +**配置示例**: +```javascript +// 读取CSV文件 +{ + "operation": "read", + "filePath": "/files/data/sales-report.csv", + "options": { + "encoding": "utf8", + "hasHeaders": true + } +} + +// 写入JSON文件 +{ + "operation": "write", + "filePath": "/files/output/processed-data.json", + "fileContent": "{{ $json }}", + "options": { + "encoding": "utf8" + } +} +``` + +### Database Nodes - 数据库操作 + +支持主流数据库系统: + +=== "MySQL" + ```sql + -- 查询示例 + SELECT customer_id, order_date, total_amount + FROM orders + WHERE order_date >= CURDATE() - INTERVAL 7 DAY; + + -- 插入示例 + INSERT INTO logs (timestamp, level, message) + VALUES (NOW(), 'INFO', '工作流执行成功'); + ``` + +=== "PostgreSQL" + ```sql + -- 复杂查询 + WITH monthly_sales AS ( + SELECT DATE_TRUNC('month', order_date) as month, + SUM(total_amount) as total + FROM orders + GROUP BY DATE_TRUNC('month', order_date) + ) + SELECT * FROM monthly_sales + ORDER BY month DESC LIMIT 12; + ``` + +=== "MongoDB" + ```javascript + // 查询文档 + db.users.find({ + "status": "active", + "last_login": { + "$gte": new Date(Date.now() - 30*24*60*60*1000) + } + }) + + // 聚合操作 + db.orders.aggregate([ + {$match: {status: "completed"}}, + {$group: {_id: "$product_id", total: {$sum: "$amount"}}}, + {$sort: {total: -1}} + ]) + ``` + +## 🔄 处理节点 (Process) + +处理节点用于数据转换、分析和业务逻辑处理。 + +### Set - 数据设置 + +**功能**: 设置或修改数据字段 + +**操作类型**: +- **设置字段值**: 添加新字段或修改现有字段 +- **删除字段**: 移除不需要的数据 +- **重命名字段**: 改变字段名称 +- **类型转换**: 字符串、数字、布尔值转换 + +**实用配置**: +```javascript +// 设置新字段 +{ + "user_full_name": "={{$json.first_name}} {{$json.last_name}}", + "processed_at": "={{new Date().toISOString()}}", + "status": "processed" +} + +// 数据转换 +{ + "price": "={{parseFloat($json.price_string)}}", + "is_active": "={{$json.status === 'active'}}", + "tags": "={{$json.tag_string.split(',')}}" +} +``` + +### Code - 代码节点 + +**功能**: 执行自定义JavaScript或Python代码 + +**JavaScript示例**: +```javascript +// 复杂数据处理 +for (const item of $input.all()) { + // 数据验证 + if (!item.json.email || !item.json.email.includes('@')) { + continue; + } + + // 数据转换 + const processedItem = { + id: item.json.id, + email: item.json.email.toLowerCase(), + domain: item.json.email.split('@')[1], + processed_at: new Date().toISOString(), + hash: require('crypto').createHash('md5').update(item.json.email).digest('hex') + }; + + $return.push({json: processedItem}); +} +``` + +**Python示例**: +```python +import pandas as pd +import numpy as np +from datetime import datetime + +# 处理输入数据 +data = [] +for item in _input.all(): + data.append(item['json']) + +# 使用pandas处理 +df = pd.DataFrame(data) +df['processed_at'] = datetime.now().isoformat() +df['score'] = df['score'].fillna(0) +df['category'] = df['score'].apply(lambda x: 'high' if x > 80 else 'low') + +# 返回处理结果 +for _, row in df.iterrows(): + _return.push({'json': row.to_dict()}) +``` + +### AI Agent - AI代理 + +**功能**: 集成大语言模型进行智能处理 + +**支持的AI服务**: +- OpenAI GPT系列 +- Anthropic Claude +- Google Gemini +- 本地Ollama模型 + +**典型应用**: + +=== "文本分析" + ```javascript + // 情感分析 + prompt: `分析以下文本的情感倾向,返回正面、负面或中性: + 文本:{{$json.comment}} + + 请以JSON格式返回:{"sentiment": "正面/负面/中性", "confidence": 0.95}` + ``` + +=== "数据提取" + ```javascript + // 信息提取 + prompt: `从以下邮件中提取关键信息: + 邮件内容:{{$json.email_content}} + + 请提取: + - 发件人姓名 + - 联系方式 + - 主要需求 + - 紧急程度 + + 以JSON格式返回结果。` + ``` + +=== "内容生成" + ```javascript + // 报告生成 + prompt: `基于以下数据生成每日销售报告: + 销售数据:{{$json.sales_data}} + + 报告应包含: + 1. 销售总结 + 2. 重点产品表现 + 3. 趋势分析 + 4. 改进建议 + + 请生成专业的中文报告。` + ``` + +## 🧠 逻辑节点 (Logic) + +逻辑节点控制工作流的执行路径和数据流向。 + +### IF - 条件判断 + +**功能**: 根据条件将数据流分为不同路径 + +**条件类型**: +- **数值比较**: 等于、大于、小于 +- **字符串匹配**: 包含、开始于、结束于 +- **逻辑运算**: 与、或、非 +- **存在性检查**: 字段是否存在、是否为空 + +**实用场景**:数据输入 → 判断金额 > 1000? → 是:高价值客户流程 → 发送VIP邮件;否:普通客户流程 → 发送标准邮件 + +### Switch - 多路分支 + +**功能**: 根据不同值将数据路由到多个分支 + +**配置示例**: +```javascript +// 根据订单状态分发处理 +switch_value: "={{$json.order_status}}" + +// 分支配置: +// 0: "pending" -> 待处理流程 +// 1: "paid" -> 已付款流程 +// 2: "shipped" -> 已发货流程 +// 3: "completed" -> 已完成流程 +// default: 异常处理流程 +``` + +### Loop Over Items - 循环处理 + +**功能**: 对数据集合中的每个项目执行相同操作 + +**适用场景**: +- 批量数据处理 +- 文件批量操作 +- API批量调用 +- 报告批量生成 + +**处理流程**:数据列表 → Loop Over Items → 处理单个项目 → API调用 → 结果收集 → 汇总输出 + +## 📤 输出节点 (Output) + +输出节点将处理结果发送到外部系统或用户。 + +### Email Send - 邮件发送 + +**功能**: 发送电子邮件通知和报告 + +**配置要素**: +- **收件人**: 支持多个收件人、抄送、密送 +- **邮件内容**: HTML格式、纯文本、动态内容 +- **附件**: 支持文件、图片、报告附件 + +**邮件模板示例**: +```html + + + + + + +
+
+

{{$json.report_title}}

+

生成时间: {{$json.generated_at}}

+
+
+

尊敬的 {{$json.recipient_name}},

+

以下是您请求的{{$json.report_type}}报告:

+ + + + + + + + {{#each $json.metrics}} + + + + + + {{/each}} +
指标数值变化
{{this.name}}{{this.value}}{{this.change}}
+
+
+ + +``` + +### Webhook Response - 响应返回 + +**功能**: 向触发Webhook的服务返回响应 + +**响应配置**: +```javascript +{ + "status_code": 200, + "headers": { + "Content-Type": "application/json", + "X-Processed-By": "n8n-workflow" + }, + "body": { + "success": true, + "message": "数据处理完成", + "processed_items": "={{$json.count}}", + "timestamp": "={{new Date().toISOString()}}" + } +} +``` + +## 📊 节点使用统计和建议 + +### 使用频率统计 + +
+
+ 95% + 工作流使用HTTP Request +
+
+ 78% + 工作流使用Set节点 +
+
+ 65% + 工作流使用IF判断 +
+
+ 52% + 工作流使用Email发送 +
+
+ +### 学习建议 + +!!! tip "节点学习路径" + 1. **基础必学**: Manual Trigger + Set + HTTP Request + Email + 2. **进阶掌握**: Schedule Trigger + IF + Code + Database + 3. **高级应用**: AI Agent + Loop + Switch + Webhook + 4. **专业应用**: 根据业务需求选择特定集成节点 + +--- + +掌握这些常用节点后,您已经具备了构建80%常见工作流的能力! + +[上一章:n8n汉化](../installation/localization/){ .md-button } [下一章:基本工作流创建](basic-workflows/){ .md-button .md-button--primary } diff --git a/docs/learning/community-nodes.md b/docs/learning/community-nodes.md new file mode 100644 index 0000000..74ce963 --- /dev/null +++ b/docs/learning/community-nodes.md @@ -0,0 +1,399 @@ +# 社区节点 + +## 📚 学习资源 + +- **社区节点排行榜**:[Top 100社区节点](https://github.com/restyler/awesome-n8n) +- **官方文档**:[Community Nodes](https://docs.n8n.io/integrations/community-nodes/) +- **安装指南**:在n8n设置中搜索并安装社区节点 + +社区节点是n8n生态系统的重要组成部分,提供了官方节点库之外的丰富功能扩展。 + +## 🌟 社区节点概述 + +### 什么是社区节点 + +社区节点是由n8n社区开发者创建的第三方节点,扩展了n8n的功能边界。它们通过npm包的形式分发,可以轻松安装和使用。 + +**社区节点的价值**: +- 🔧 **功能扩展**: 支持更多第三方服务和API +- 🚀 **快速集成**: 无需自己开发即可使用专业功能 +- 🌍 **全球贡献**: 世界各地开发者的智慧结晶 +- 💡 **创新实验**: 尝试最新的技术和集成方案 + +## 📊 热门社区节点排行榜 + +根据[Awesome n8n社区统计](https://github.com/restyler/awesome-n8n),以下是TOP 20热门社区节点: + +| 排名 | 节点名称 | 功能描述 | 下载量 | +|------|----------|----------|--------| +| 🥇 **1** | **n8n-nodes-chatgpt** | ChatGPT集成节点 | 50K+ | +| 🥈 **2** | **n8n-nodes-telegram** | Telegram机器人增强 | 35K+ | +| 🥉 **3** | **n8n-nodes-redis** | Redis数据库操作 | 28K+ | +| 4 | **n8n-nodes-youtube** | YouTube API集成 | 22K+ | +| 5 | **n8n-nodes-shopify-plus** | Shopify电商增强 | 18K+ | +| 6 | **n8n-nodes-firebase** | Firebase集成 | 15K+ | +| 7 | **n8n-nodes-discord** | Discord机器人 | 14K+ | +| 8 | **n8n-nodes-mysql-pool** | MySQL连接池 | 12K+ | +| 9 | **n8n-nodes-wechat** | 微信集成 | 11K+ | +| 10 | **n8n-nodes-anthropic** | Claude AI集成 | 10K+ | + +## 🛠️ 社区节点安装 + +### 通过n8n界面安装 + +1. **进入设置页面** + - 点击n8n界面右上角的设置图标 ⚙️ + - 选择"Community nodes"选项 + +2. **搜索和安装** + - 在搜索框中输入节点名称 + - 点击"Install"按钮 + - 等待安装完成并重启n8n + +3. **验证安装** + - 在节点面板中查找新安装的节点 + - 创建测试工作流验证功能 + +### 通过命令行安装 + +```bash +# 进入n8n安装目录 +cd ~/.n8n + +# 安装社区节点 +npm install n8n-nodes-chatgpt + +# 重启n8n服务 +systemctl restart n8n +# 或 +pm2 restart n8n +``` + +### Docker环境安装 + +```dockerfile +# 在Dockerfile中添加社区节点 +FROM n8nio/n8n:latest + +USER root +RUN npm install -g n8n-nodes-chatgpt n8n-nodes-redis +USER node +``` + +## 🎯 推荐社区节点详解 + +### AI和机器学习 + +=== "ChatGPT节点" + **包名**: `n8n-nodes-chatgpt` + + **功能**: + - 完整的OpenAI API支持 + - 支持GPT-3.5和GPT-4模型 + - 流式响应和函数调用 + - 图像分析和生成 + + **使用场景**: + ```javascript + // 智能客服示例 + { + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "system", + "content": "你是一个专业的客服助手" + }, + { + "role": "user", + "content": "{{$json.customer_message}}" + } + ], + "temperature": 0.7 + } + ``` + +=== "Claude节点" + **包名**: `n8n-nodes-anthropic` + + **功能**: + - Anthropic Claude模型集成 + - 长文本处理能力 + - 安全和对齐优化 + - 代码生成和分析 + + **特色功能**: + - 100K+ token上下文支持 + - 更好的代码理解能力 + - 减少幻觉和错误输出 + +### 数据库和存储 + +=== "Redis节点" + **包名**: `n8n-nodes-redis` + + **功能**: + - Redis数据库操作 + - 缓存管理 + - 发布/订阅模式 + - 分布式锁 + + **操作示例**: + ```javascript + // 缓存用户会话 + { + "operation": "set", + "key": "user_session_{{$json.user_id}}", + "value": "{{$json.session_data}}", + "ttl": 3600 + } + ``` + +=== "MySQL连接池" + **包名**: `n8n-nodes-mysql-pool` + + **功能**: + - 高效的数据库连接管理 + - 连接池优化 + - 事务支持 + - 批量操作 + +### 通讯和社交 + +=== "Telegram增强" + **包名**: `n8n-nodes-telegram` + + **功能**: + - 高级Telegram机器人功能 + - 内联键盘支持 + - 文件上传下载 + - 群组管理 + + **机器人示例**: + ```javascript + // 智能客服机器人 + { + "chat_id": "{{$json.chat.id}}", + "text": "您好!我是智能助手,请问有什么可以帮助您的?", + "reply_markup": { + "inline_keyboard": [[ + {"text": "产品咨询", "callback_data": "product_inquiry"}, + {"text": "技术支持", "callback_data": "tech_support"} + ]] + } + } + ``` + +=== "Discord集成" + **包名**: `n8n-nodes-discord` + + **功能**: + - Discord机器人开发 + - 服务器管理 + - 消息处理 + - 语音频道操作 + +### 电商和支付 + +=== "Shopify增强" + **包名**: `n8n-nodes-shopify-plus` + + **功能**: + - 扩展的Shopify API支持 + - 高级产品管理 + - 订单自动化处理 + - 库存同步 + + **自动化示例**:新订单 → 库存检查 → 发货处理 → 客户通知 → 财务记录 + +### 中国本土化 + +=== "微信集成" + **包名**: `n8n-nodes-wechat` + + **功能**: + - 微信公众号API + - 小程序后端集成 + - 企业微信支持 + - 微信支付处理 + + **应用场景**: + - 自动回复客户消息 + - 用户管理和标签 + - 营销活动推送 + - 数据分析和报告 + +## 🔧 节点开发指南 + +### 开发环境准备 + +```bash +# 安装n8n开发工具 +npm install -g n8n-node-dev + +# 创建节点项目 +n8n-node-dev new my-custom-node + +# 进入项目目录 +cd my-custom-node + +# 安装依赖 +npm install +``` + +### 基础节点结构 + +```typescript +import { INodeType, INodeTypeDescription } from 'n8n-workflow'; + +export class MyCustomNode implements INodeType { + description: INodeTypeDescription = { + displayName: 'My Custom Node', + name: 'myCustomNode', + group: ['transform'], + version: 1, + description: '自定义节点功能描述', + defaults: { + name: 'My Custom Node', + }, + inputs: ['main'], + outputs: ['main'], + properties: [ + { + displayName: '配置参数', + name: 'parameter', + type: 'string', + default: '', + placeholder: '请输入参数值', + description: '参数详细说明', + }, + ], + }; + + async execute(this: IExecuteFunctions): Promise { + const items = this.getInputData(); + const returnData: INodeExecutionData[] = []; + + for (let i = 0; i < items.length; i++) { + const parameter = this.getNodeParameter('parameter', i) as string; + + // 自定义处理逻辑 + const result = await processData(parameter, items[i].json); + + returnData.push({ + json: result, + }); + } + + return [returnData]; + } +} +``` + +### 发布社区节点 + +1. **完善文档** + - 详细的README说明 + - 使用示例和截图 + - API参数说明 + +2. **质量检查** + - 单元测试覆盖 + - 错误处理机制 + - 性能优化 + +3. **发布到npm** + ```bash + npm publish + ``` + +4. **社区推广** + - 在n8n社区分享 + - 提交到awesome-n8n列表 + - 撰写技术博客 + +## ⚠️ 使用注意事项 + +### 安全考虑 + +!!! warning "安全提醒" + - 只安装来源可信的社区节点 + - 定期更新节点版本 + - 注意节点的权限和访问范围 + - 在生产环境使用前充分测试 + +### 兼容性检查 + +**版本兼容性**: +```yaml +检查清单: + ✅ n8n版本兼容性 + ✅ Node.js版本要求 + ✅ 依赖包冲突检查 + ✅ 操作系统兼容性 +``` + +### 性能监控 + +```javascript +// 监控节点性能 +const startTime = Date.now(); +const result = await executeNodeLogic(); +const executionTime = Date.now() - startTime; + +if (executionTime > 10000) { // 10秒 + console.warn(`Node execution took ${executionTime}ms`); +} +``` + +## 📈 社区节点趋势 + +### 热门类别分析 + +
+
+ 35% + AI/ML集成 +
+
+ 25% + 数据库连接 +
+
+ 20% + 通讯工具 +
+
+ 20% + 行业特定 +
+
+ +### 发展趋势 + +1. **AI集成爆发**: ChatGPT、Claude等AI节点使用量激增 +2. **本土化需求**: 微信、钉钉等中国本土服务集成 +3. **行业深化**: 针对特定行业的专业节点增多 +4. **性能优化**: 更多高性能、低延迟的节点实现 + +## 🤝 贡献社区 + +### 参与方式 + +1. **使用和反馈**: 使用社区节点并提供反馈 +2. **Bug报告**: 发现问题及时报告给维护者 +3. **功能建议**: 提出新功能需求和改进建议 +4. **代码贡献**: 参与节点开发和维护 +5. **文档完善**: 帮助改进节点文档和教程 + +### 社区资源 + +- **GitHub组织**: [n8n-io](https://github.com/n8n-io) +- **社区论坛**: [community.n8n.io](https://community.n8n.io/) +- **Discord频道**: 实时交流和技术讨论 +- **Reddit社区**: r/n8n 用户经验分享 + +--- + +社区节点让n8n的可能性无限扩展,加入社区一起构建更强大的自动化生态! + +[上一章:自然语言编程](natural-language.md){ .md-button } [下一章:参考资料](../reference/resources.md){ .md-button .md-button--primary } diff --git a/docs/learning/mcp.md b/docs/learning/mcp.md new file mode 100644 index 0000000..6efeed4 --- /dev/null +++ b/docs/learning/mcp.md @@ -0,0 +1,302 @@ +# MCP应用 + +## 📚 参考资源 + +!!! info "核心学习资源" + - **官方模板**: [Build your own n8n workflows MCP server](https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/) + - **深度教程**: [n8n+MCP知乎专栏](https://zhuanlan.zhihu.com/p/1913630305291567877) + - **MCP协议文档**: [官方文档](https://modelcontextprotocol.io/) + - **视频教程**: [n8n+MCP实战教程](https://www.bilibili.com/video/BV11QX8YNEjU) + - **实战案例**: [n8n+MCP+DeepSeek案例](https://blog.csdn.net/m0_59235245/article/details/147950398) + - **社区节点**: [n8n-nodes-mcp](https://github.com/nerding-io/n8n-nodes-mcp) + +--- + +模型上下文协议(MCP)定义了AI代理与外部工具的标准化通信框架,允许在不同LLM之间无缝切换工具集成逻辑。 + +## 🔍 MCP架构概览 + +MCP架构包含三大核心组件: + +**Host 主机(Claude Desktop, Cursor)** → **Client 客户端(MCP通信端点)** → **Server 服务器(n8n工作流服务)** → **Tools 工具 + Resources 资源 + Prompts 提示** + +### 组件说明 + +| 组件 | 功能 | 示例 | +|------|------|------| +| **Host (主机)** | 承载MCP连接的LLM应用 | Claude Desktop、Cursor IDE | +| **Client (客户端)** | 作为对接MCP服务器的通信端点 | MCP客户端库 | +| **Server (服务器)** | 为主机提供工具、数据或提示资源 | n8n工作流、API服务 | + +## 🛠️ n8n的MCP角色 + +n8n能以两种角色接入MCP生态: + +### 1. 作为MCP服务器 + +**功能**: 将n8n工作流封装为AI代理可调用的"工具" + +**价值**: +- 让AI能够执行复杂的自动化任务 +- 将现有工作流转化为AI工具 +- 构建强大的端到端智能工作流 + +### 2. 作为MCP客户端 + +**功能**: 在n8n中调用其他MCP服务器的能力 + +**价值**: +- 集成第三方MCP服务 +- 扩展n8n的功能边界 +- 构建混合式智能工作流 + +## 🚀 n8n MCP服务器部署 + +### 使用官方模板 + +**官方模板**: [Build your own n8n workflows MCP server](https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/) + +### 部署步骤 + +=== "1. 导入模板" + 1. 访问官方模板链接 + 2. 点击"Use this template" + 3. 在n8n中导入工作流 + 4. 更新Webhook URL + +=== "2. 配置Redis" + ```yaml + # Redis配置用于存储"可用"工作流信息 + Redis连接: + host: localhost + port: 6379 + database: 0 + password: your-redis-password + ``` + +=== "3. 设置工作流标签" + ```yaml + # 通过标签标记可用工作流 + 工作流标签: "mcp-available" + + # 或使用其他过滤方式 + 工作流前缀: "MCP_" + ``` + +=== "4. 部署MCP服务器" + ```bash + # 启动n8n MCP服务器 + cd your-n8n-project + npm install @n8n/mcp-server + + # 配置环境变量 + export N8N_MCP_WEBHOOK_URL="your-webhook-url" + export REDIS_URL="redis://localhost:6379" + + # 启动服务 + npm run mcp-server + ``` + +### 配置示例 + +```json +{ + "name": "n8n-mcp-server", + "version": "1.0.0", + "mcpServers": { + "n8n-workflows": { + "command": "node", + "args": ["mcp-server.js"], + "env": { + "N8N_WEBHOOK_URL": "https://your-n8n.com/webhook/mcp", + "REDIS_URL": "redis://localhost:6379" + } + } + } +} +``` + +## 🎯 实际应用案例 + +### 案例1:智能客服工作流 + +**场景**: 将客服处理流程转换为MCP工具 + +**工作流设计**:MCP触发器 → 客户信息查询 → 问题分类 → AI回复生成 → 回复发送 → 工单创建 + +**MCP工具定义**: +```json +{ + "name": "customer_service_handler", + "description": "处理客户咨询并生成智能回复", + "inputSchema": { + "type": "object", + "properties": { + "customer_id": {"type": "string"}, + "message": {"type": "string"}, + "channel": {"type": "string"} + } + } +} +``` + +### 案例2:数据分析工作流 + +**场景**: 将复杂数据分析转换为AI可调用的分析工具 + +**核心功能**: +- 数据清洗和预处理 +- 统计分析和可视化 +- 报告生成和发送 + +**使用方式**: +```javascript +// AI代理调用示例 +const analysisResult = await mcpClient.call('data_analysis_tool', { + dataset: 'sales_data_2024', + analysis_type: 'trend_analysis', + date_range: '2024-01-01 to 2024-12-31' +}); +``` + +### 案例3:内容创作工作流 + +**场景**: AI辅助内容创作和发布 + +**工作流能力**: +- 内容主题研究 +- 多平台内容生成 +- 自动化发布调度 +- 效果跟踪分析 + +## 🔧 高级配置技巧 + +### 输入模式设计 + +**最佳实践**: +```json +{ + "inputSchema": { + "type": "object", + "properties": { + "required_field": { + "type": "string", + "description": "必需参数的详细描述" + }, + "optional_field": { + "type": "string", + "description": "可选参数的用途说明", + "default": "默认值" + } + }, + "required": ["required_field"] + } +} +``` + +### 错误处理机制 + +```javascript +// 在MCP工作流中添加错误处理 +try { + const result = await executeWorkflow(input); + return { + success: true, + data: result, + timestamp: new Date().toISOString() + }; +} catch (error) { + return { + success: false, + error: error.message, + error_code: error.code || 'UNKNOWN_ERROR', + timestamp: new Date().toISOString() + }; +} +``` + +### 性能优化 + +**缓存策略**: +```javascript +// Redis缓存实现 +const cacheKey = `workflow_${workflowId}_${JSON.stringify(input)}`; +const cachedResult = await redis.get(cacheKey); + +if (cachedResult) { + return JSON.parse(cachedResult); +} + +const result = await executeWorkflow(input); +await redis.setex(cacheKey, 3600, JSON.stringify(result)); // 1小时缓存 + +return result; +``` + +## 🌟 MCP生态集成 + +### 与Claude Desktop集成 + +**配置文件**: `~/.config/claude-desktop/claude_desktop_config.json` + +```json +{ + "mcpServers": { + "n8n-workflows": { + "command": "node", + "args": ["/path/to/n8n-mcp-server/index.js"], + "env": { + "N8N_WEBHOOK_URL": "https://your-n8n.com/webhook/mcp" + } + } + } +} +``` + +### 与Cursor IDE集成 + +**配置步骤**: +1. 安装MCP扩展 +2. 配置n8n MCP服务器连接 +3. 在代码中调用n8n工作流 + +### 社区MCP节点 + +**推荐MCP节点**: [n8n-nodes-mcp](https://github.com/nerding-io/n8n-nodes-mcp) + +**安装方式**: +```bash +# 在n8n中安装MCP社区节点 +npm install n8n-nodes-mcp +``` + +## 💡 进阶提示 + +### MCP最佳实践 + +- **模块化设计**: 将复杂工作流拆分为可复用的MCP服务 +- **错误处理**: 确保MCP服务具备完善的异常处理机制 +- **性能优化**: 合理使用缓存和批处理提升响应速度 +- **安全考虑**: 实施适当的身份验证和权限控制 + +## 🚀 未来发展方向 + +### MCP技术趋势 + +1. **标准化程度提升**: MCP协议将更加成熟和标准化 +2. **生态系统扩展**: 更多工具和平台将支持MCP +3. **AI能力增强**: AI代理将具备更强的工具调用能力 +4. **企业级应用**: MCP将广泛应用于企业AI解决方案 + +### n8n在MCP生态的优势 + +- **丰富的集成能力**: 400+节点支持 +- **可视化工作流**: 降低AI工具开发门槛 +- **企业级部署**: 支持私有化和大规模部署 +- **活跃的社区**: 持续的功能更新和支持 + +--- + +通过MCP协议,n8n不仅是自动化工具,更成为了AI时代的智能工作流引擎! + +[上一章:模板套用](templates.md){ .md-button } [下一章:自然语言编程](natural-language.md){ .md-button .md-button--primary } diff --git a/docs/learning/natural-language.md b/docs/learning/natural-language.md new file mode 100644 index 0000000..bef7989 --- /dev/null +++ b/docs/learning/natural-language.md @@ -0,0 +1,347 @@ +# 自然语言编程 + +## 📚 工具和资源 + +!!! tip "推荐工具" + - **n8nChat官方工具**: [n8nchat.com](https://n8nchat.com) - 官方自然语言编程平台 + - **开源替代方案**: 社区维护的自然语言工作流生成器 + - **AI助手集成**: 与ChatGPT、Claude等大模型的集成方案 + +--- + +使用自然语言编程n8n工作流,让AI成为您的编程助手,大幅降低工作流开发门槛。 + +## 🤖 自然语言编程概述 + +### 什么是自然语言编程 + +自然语言编程(Natural Language Programming)是指使用人类自然语言描述需求,由AI自动生成相应的代码或工作流的技术。 + +**传统开发 vs 自然语言编程**: + +| 对比维度 | 传统开发 | 自然语言编程 | +|----------|----------|-------------| +| **学习门槛** | 需要掌握编程语言 | 只需描述业务需求 | +| **开发速度** | 数小时到数天 | 数分钟到数小时 | +| **错误调试** | 需要技术专业知识 | AI辅助问题诊断 | +| **维护成本** | 需要技术人员 | 业务人员即可维护 | + +## 🛠️ n8nChat - 官方自然语言工具 + +### 平台介绍 + +n8nChat是官方推出的自然语言编程平台,让您可以通过对话的方式创建n8n工作流。 + +### 核心功能 + +
+
+
💬
+

对话式创建

+

用自然语言描述需求,AI自动生成工作流

+
+ +
+
🔄
+

实时修改

+

通过对话实时调整和优化工作流逻辑

+
+ +
+
📋
+

代码生成

+

自动生成n8n工作流JSON和节点配置

+
+ +
+
🎯
+

一键导入

+

生成的工作流可直接导入到n8n中使用

+
+
+ +### 使用流程 + +
+
+
1
+
+

💬 描述需求

+

用自然语言描述你想要的工作流功能

+
+
+ +
+ +
+
2
+
+

🤖 AI理解分析

+

AI分析需求并理解业务逻辑

+
+
+ +
+ +
+
3
+
+

⚙️ 生成工作流

+

AI自动生成相应的n8n工作流

+
+
+ +
+ +
+
4
+
+

✅ 用户确认

+

review生成的工作流是否符合需求

+
+
+ +
+ +
+
5
+
+

🔧 调整优化

+

根据反馈进行细节调整

+
+
+ +
+ +
+
6
+
+

🚀 导出使用

+

导出到n8n平台正式使用

+
+
+
+ +## 💡 实际应用示例 + +### 示例1:客户邮件自动回复 + +**用户描述**: +> "我希望创建一个工作流,当收到新邮件时,自动分析邮件内容,如果是客户咨询,就生成一个礼貌的自动回复并发送。" + +**AI生成的工作流**: +
+
+
📧 邮件触发器
+
+
🔍 内容分析
+
+
❓ 判断类型
+
+ +
+
+
✅ 是咨询
+
+
🤖 生成回复
+
+
📤 发送邮件
+
+
+ +
+
❌ 非咨询
+
+
🏷️ 标记处理
+
+
+
+
+ +**工作流逻辑说明:** +1. **邮件触发** → 监听新邮件到达 +2. **内容分析** → AI分析邮件内容和语义 +3. **智能判断** → 识别是否为客户咨询类邮件 +4. **分支处理** → 根据判断结果执行不同操作 + +**生成的配置示例**: +```javascript +// AI Agent节点配置 +{ + "model": "gpt-3.5-turbo", + "prompt": "你是一个专业的客服助手。请为以下客户邮件生成一个礼貌、专业的自动回复:\n\n邮件内容:{{$json.body}}\n\n回复要求:\n1. 感谢客户的咨询\n2. 确认已收到邮件\n3. 告知会在24小时内回复\n4. 保持专业友好的语调", + "temperature": 0.7 +} +``` + +### 示例2:销售数据分析报告 + +**用户描述**: +> "每周一早上9点,自动从销售数据库提取上周的销售数据,分析销售趋势,生成图表和报告,然后发送给销售团队。" + +**AI生成的工作流架构**: +```mermaid +graph TD + A[定时触发
每周一9:00] --> B[数据库查询
上周销售数据] + B --> C[数据分析
计算趋势指标] + C --> D[图表生成
可视化数据] + D --> E[报告生成
AI分析总结] + E --> F[邮件发送
团队通知] + + style A fill:#e3f2fd + style E fill:#fff3e0 + style F fill:#e8f5e8 +``` + +### 示例3:社交媒体内容发布 + +**用户描述**: +> "我想要一个工作流,能够根据我提供的主题,自动生成适合不同社交平台的内容,并在合适的时间发布到微博、微信公众号和抖音。" + +**AI分析和建议**: +- 内容生成:使用AI根据主题生成不同风格的内容 +- 平台适配:针对不同平台调整内容格式和长度 +- 定时发布:根据平台最佳发布时间自动调度 + +## 🔧 开源解决方案 + +### 本地部署n8n自然语言编程 + +如果您希望本地部署自然语言编程能力,可以参考以下开源项目: + +**项目资源**: +- **GitHub项目**: 开源的n8n自然语言编程工具 +- **部署教程**: [B站视频教程](https://www.bilibili.com/video/BV1HuKEzDEaj) + +### 自建AI助手 + +使用n8n + LLM构建自己的自然语言编程助手: + +**用户输入** → **意图识别** → **需求分析** → **工作流生成** → **代码输出** + +**核心组件**: +1. **意图识别**: 理解用户的真实需求 +2. **工作流设计**: 规划最优的自动化流程 +3. **节点配置**: 生成具体的节点参数 +4. **代码生成**: 输出可执行的工作流JSON + +## 📝 最佳实践 + +### 有效的需求描述 + +**✅ 好的描述**: +> "每天下午5点,从CRM系统导出今日新增客户数据,使用AI分析客户特征,生成个性化的欢迎邮件模板,并发送给对应的销售代表进行后续跟进。" + +**❌ 模糊的描述**: +> "帮我做个自动化的东西处理客户。" + +### 描述技巧 + +1. **明确触发条件**: 何时执行(定时/事件触发) +2. **详细数据源**: 从哪里获取数据 +3. **处理逻辑**: 如何处理数据 +4. **输出方式**: 结果如何呈现 +5. **异常处理**: 出错时如何处理 + +### 迭代优化策略 + +=== "第一轮对话" + ``` + 用户: "我需要一个邮件自动化工具" + AI: "请详细描述您的邮件自动化需求,比如: + - 什么时候发送邮件? + - 发送给谁? + - 邮件内容是什么? + - 需要什么条件触发?" + ``` + +=== "第二轮对话" + ``` + 用户: "每天早上8点给所有VIP客户发送个性化的问候邮件" + AI: "明白了,我需要了解: + - VIP客户名单从哪里获取? + - 个性化内容包括哪些信息? + - 邮件模板是否有特定格式要求?" + ``` + +=== "第三轮对话" + ``` + 用户: "VIP客户从CRM系统获取,个性化内容包括客户姓名、最近购买记录、生日提醒等" + AI: "完美!我将为您创建这个工作流..." + ``` + +## 🚀 进阶应用 + +### AI辅助工作流优化 + +**场景**: 使用AI分析现有工作流并提供优化建议 + +```javascript +// AI分析工作流性能 +const analysis = await analyzeWorkflow(workflowData); + +const suggestions = { + performance: "建议将API调用改为批量处理,可提升50%性能", + reliability: "添加错误重试机制,提高稳定性", + maintenance: "简化条件逻辑,提高可维护性" +}; +``` + +### 多语言支持 + +**支持语言**: +- 🇨🇳 中文:详细的业务描述和技术要求 +- 🇺🇸 英文:国际化工作流和API集成 +- 🇯🇵 日文:本地化业务流程 +- 🇰🇷 韩文:区域特定的自动化需求 + +### 行业模板库 + +**预训练的行业知识**: +- 📊 **金融**: 风控流程、报表自动化 +- 🛒 **电商**: 订单处理、库存管理 +- 🏥 **医疗**: 患者管理、预约系统 +- 📚 **教育**: 学员管理、课程安排 + +## 📚 学习资源 + +### 官方资源 + +- **n8nChat平台**: [https://n8nchat.com](https://n8nchat.com) +- **使用教程**: 平台内置的交互式教程 + +### 社区资源 + +- **开源项目**: [GitHub自然语言编程工具](https://github.com/search?q=n8n+natural+language) +- **部署教程**: [B站部署指南](https://www.bilibili.com/video/BV1HuKEzDEaj) +- **案例分享**: 社区用户分享的实际应用案例 + +### 技术原理 + +**底层技术栈**: +- **大语言模型**: GPT、Claude等用于理解需求 +- **代码生成**: 将自然语言转换为工作流配置 +- **模板匹配**: 基于常见模式快速生成解决方案 +- **持续学习**: 根据用户反馈优化生成质量 + +## 🔮 未来展望 + +### 技术发展趋势 + +1. **更智能的理解**: AI对业务需求的理解更加准确 +2. **多模态交互**: 支持语音、图像等多种输入方式 +3. **实时协作**: 团队成员可以共同参与工作流设计 +4. **自动优化**: AI主动发现并优化工作流性能 + +### 应用场景扩展 + +- **无代码开发**: 完全通过对话创建复杂应用 +- **智能运维**: AI助手自动管理和优化工作流 +- **业务咨询**: AI基于最佳实践提供业务建议 +- **培训教育**: 交互式学习和实践指导 + +--- + +自然语言编程让每个人都能成为自动化专家,释放创造力,专注于业务价值! + +[上一章:MCP应用](mcp.md){ .md-button } [下一章:社区节点](community-nodes.md){ .md-button .md-button--primary } diff --git a/docs/learning/pitfalls.md b/docs/learning/pitfalls.md new file mode 100644 index 0000000..0602a73 --- /dev/null +++ b/docs/learning/pitfalls.md @@ -0,0 +1,286 @@ +# 避坑指南 + +## 📚 学习资源 + +- **避坑指南**:[冰糖数据的n8n避坑系列](https://x.com/binggandata/status/1951798212995829996) +- **最佳实践**:[n8n官方最佳实践](https://docs.n8n.io/best-practices/) +- **错误处理**:[n8n错误处理指南](https://docs.n8n.io/error-handling/) + +n8n容易踩坑的环节,也是开发稳定性高的n8n工作流的要求。 + +!!! warning "重要提醒" + 97%的n8n工作流缺乏异常处理,在出错时默默失败。掌握这些最佳实践对于构建可靠的自动化系统至关重要。 + +## 🚨 十大常见陷阱 + +### 1️⃣ 缺乏异常处理 + +**问题**: 97%的n8n工作流缺乏异常处理,在出错时默默失败。 + +**解决方案**: +- 为每个工作流添加一个错误触发器 +- 强制对关键节点(HTTP/API/DB)进行异常处理 +- 添加邮件/Slack通知机制 + +```mermaid +graph TD + A[主工作流] --> B{执行成功?} + B -->|是| C[正常完成] + B -->|否| D[Error Trigger] + D --> E[发送错误通知] + D --> F[记录错误日志] + D --> G[重试机制] + + style D fill:#ffebee + style E fill:#ffebee + style F fill:#ffebee +``` + +### 2️⃣ 安全配置不当 + +**问题**: 320个webhooks未进行身份验证,152个进程仍在使用明文HTTP。 + +**解决方案**: +- 对所有webhooks强制执行身份验证 +- 全程使用HTTPS +- 不要硬编码API密钥 +- 定期轮换密钥并加密存储 + +**安全检查清单**: +```yaml +✅ 所有Webhook有认证 +✅ 外部请求全HTTPS +✅ 敏感数据加密 +✅ 权限分层管理 +✅ 异常信息不泄露隐私 +``` + +### 3️⃣ 性能优化不足 + +**问题**: 流程中有无用节点、API在循环里频繁请求、无效数据转换反复出现。 + +**解决方案**: +- 能批量就批量,避免单个API调用 +- 流程结构清晰,节点合并 +- 并行能并行,提高执行效率 +- 复杂逻辑直接用代码节点搞定 + +**性能优化模式**: + +=== "❌ 低效模式" + ```javascript + // 循环中单个API调用 + for (const item of items) { + await callAPI(item); // 串行调用,效率低 + } + ``` + +=== "✅ 高效模式" + ```javascript + // 批量API调用 + const batchSize = 10; + const batches = chunk(items, batchSize); + + for (const batch of batches) { + await Promise.all(batch.map(callAPI)); // 并行调用 + } + ``` + +### 4️⃣ AI集成缺乏优化 + +**问题**: 35%的工作流接入了AI,但大部分没做向量数据库和缓存,token消耗高。 + +**解决方案**: +- Prompt要分块,避免超长输入 +- 简单用GPT-3.5,复杂用GPT-4 +- 批量处理+结果校验 +- AI节点也要异常处理和日志监控 + +**AI优化策略**: +| 场景 | 模型选择 | 优化方法 | +|------|----------|----------| +| **简单文本处理** | GPT-3.5 Turbo | 缓存常见查询 | +| **复杂分析** | GPT-4 | 分段处理长文本 | +| **批量处理** | Claude | 并行调用限流 | +| **实时响应** | 本地模型 | 预处理+缓存 | + +### 5️⃣ 文档和管理混乱 + +**问题**: 74.7%工作流分类都是General,文档说明严重不足,协作查错全靠猜。 + +**解决方案**: +- 流程统一命名+标签 +- 关键节点加Sticky Note +- 协作排查省大把时间 + +**命名规范示例**: +``` +[部门]_[业务]_[功能]_[版本] +例如: +- Sales_CRM_DataSync_v2 +- HR_Recruit_AutoEmail_v1 +- Finance_Report_DailyGen_v3 +``` + +### 6️⃣ 重复造轮子 + +**问题**: 高频套路重复开发:数据转换(Set→HTTP)、API链式(HTTP→HTTP)、条件分流(If/Switch→Set)、数据聚合(Set→Merge)。 + +**解决方案**: 直接套用成熟流程模板,少造轮子。 + +**常用模板**: +- 📊 **数据同步模板**: Schedule → HTTP → Transform → Database +- 🔄 **API集成模板**: Webhook → Validate → Process → Response +- 📧 **通知模板**: Trigger → Content → Multi-channel → Log +- 🤖 **AI处理模板**: Input → Preprocess → AI → Postprocess → Output + +### 7️⃣ 部署前安全检查不足 + +**问题**: 上线前缺乏系统性的安全检查。 + +**上线前安全清单**: +```yaml +身份认证: + ✅ 所有webhook有认证 + ✅ API密钥使用凭证管理 + ✅ 数据库连接加密 + +网络安全: + ✅ 外部请求全HTTPS + ✅ 内网访问控制 + ✅ 防火墙规则配置 + +数据保护: + ✅ 敏感数据加密存储 + ✅ 日志不包含敏感信息 + ✅ 权限最小化原则 + +监控告警: + ✅ 异常处理机制 + ✅ 错误通知配置 + ✅ 性能监控设置 +``` + +### 8️⃣ 维护和优化滞后 + +**问题**: 慢流程没有拆分为子流程,API并发缺乏批量处理和缓存,老旧节点未及时清理。 + +**维护策略**: +- 慢流程拆分为子流程 +- API并发要批量/加缓存 +- 老旧节点及时清理 +- 每月安全&性能巡检 +- 流程有改动就同步文档 + +### 9️⃣ 监控缺失 + +**问题**: 很多流程没监控,出错没人知道,维护成本高。 + +**监控体系建设**: +```mermaid +graph TD + A[工作流执行] --> B[日志记录] + B --> C[性能指标] + C --> D[异常检测] + D --> E[告警通知] + E --> F[问题修复] + F --> G[优化改进] + + B --> H[集中日志存储] + C --> I[监控仪表板] + D --> J[自动化恢复] +``` + +**监控内容**: +- 每个关键流程都加集中日志和监控 +- 记录流程名、节点、错误和时间戳 +- AI/长流程建议加进度日志 + +### 🔟 缺乏持续改进 + +**问题**: 一次部署后就不管了,缺乏持续优化。 + +**持续改进流程**: +1. **定期评估**: 每月性能评估和优化建议 +2. **用户反馈**: 收集使用者反馈和改进建议 +3. **技术更新**: 跟进n8n新功能和最佳实践 +4. **团队培训**: 定期技能提升和知识分享 + +## 🏆 最佳实践总结 + +只要你把这些最佳实践都落地了: + +✅ **异常处理**: 绝大部分工作流有异常处理 +✅ **安全认证**: webhook全认证、HTTPS全覆盖、无明文密钥 +✅ **文档完善**: 流程分类注释完整 +✅ **性能优化**: 平均执行时间都能压到10秒以内 + +## 📚 进阶学习 + +### 错误处理模式 + +=== "基础错误处理" + ```javascript + // 在Code节点中添加错误处理 + try { + const result = await processData($input.all()); + return result; + } catch (error) { + console.error('Processing failed:', error); + return [{ + json: { + error: true, + message: error.message, + timestamp: new Date().toISOString() + } + }]; + } + ``` + +=== "高级重试机制" + ```javascript + // 指数退避重试 + async function retryWithBackoff(fn, maxRetries = 3) { + for (let i = 0; i < maxRetries; i++) { + try { + return await fn(); + } catch (error) { + if (i === maxRetries - 1) throw error; + + const delay = Math.pow(2, i) * 1000; // 1s, 2s, 4s + await new Promise(resolve => setTimeout(resolve, delay)); + } + } + } + ``` + +### 性能监控代码 + +```javascript +// 在关键节点添加性能监控 +const startTime = Date.now(); + +// 执行业务逻辑 +const result = await processBusinessLogic(); + +const executionTime = Date.now() - startTime; + +// 记录性能日志 +console.log('Performance:', { + node: 'DataProcessing', + executionTime, + itemCount: $input.all().length, + timestamp: new Date().toISOString() +}); + +// 如果执行时间过长,发送告警 +if (executionTime > 30000) { // 30秒 + // 发送性能告警 +} +``` + +--- + +遵循这些避坑指南,您的n8n工作流将更加稳定、高效和可维护! + +[上一章:基本工作流创建](basic-workflows.md){ .md-button } [下一章:模板套用](templates.md){ .md-button .md-button--primary } diff --git a/docs/learning/templates.md b/docs/learning/templates.md new file mode 100644 index 0000000..eb2cf85 --- /dev/null +++ b/docs/learning/templates.md @@ -0,0 +1,312 @@ +# 模板套用 + +## 📚 模板资源库 + +!!! tip "精选模板资源" + - **GitHub最全集合**: [Awesome n8n Templates (2000+)](https://github.com/enescingoz/awesome-n8n-templates) ✅ + - **分类工作流集合**: [n8n Workflows Collection (2000+)](https://github.com/Zie619/n8n-workflows) ✅ + - **官方精选模板**: [n8n.io/workflows (500+)](https://n8n.io/workflows) + - **实用案例合集**: 覆盖各行业常见自动化场景 + +--- + +n8n的模板套用方式非常直观,通过复制粘贴就能快速应用成熟的工作流方案。 + +## 🚀 快速模板应用 + +### 使用方法 + +1. **复制模板代码**:在任意位置复制整段JSON文本 +2. **粘贴到n8n**:在n8n画布任意位置粘贴 +3. **配置参数**:根据需要调整节点参数 +4. **测试运行**:验证工作流是否正常 + +**复制模板** → **粘贴到n8n** → **配置凭证** → **调整参数** → **测试运行** → **部署上线** + +## 📚 模板资源库 + +### 模板分类浏览 + +**按业务场景分类:** +- **营销自动化** - 邮件营销、社交媒体管理、客户关系维护 +- **数据处理** - 数据同步、清洗、转换、分析 +- **办公自动化** - 文档处理、会议安排、任务管理 +- **电商运营** - 订单处理、库存管理、客服自动回复 +- **内容管理** - 文章发布、图片处理、SEO优化 + +### 分类模板推荐 + +=== "数据处理" + - **Excel数据清洗**: 自动化数据验证和格式化 + - **CSV文件合并**: 多文件数据整合 + - **数据库同步**: 不同系统间数据同步 + - **报表生成**: 定期业务报表自动生成 + +=== "通信自动化" + - **邮件营销**: 个性化邮件批量发送 + - **客服机器人**: 智能客服自动回复 + - **社交媒体**: 多平台内容自动发布 + - **通知系统**: 多渠道消息推送 + +=== "业务流程" + - **订单处理**: 电商订单自动化处理 + - **发票管理**: 发票生成和跟踪 + - **库存管理**: 库存监控和补货提醒 + - **客户关系**: CRM数据同步和更新 + +=== "AI增强" + - **内容生成**: AI辅助内容创作 + - **图像处理**: 批量图像分析和处理 + - **文档分析**: 智能文档解析和提取 + - **情感分析**: 用户反馈情感分析 + +## 🎯 热门模板详解 + +### 1. 每日天气邮件推送 + +**应用场景**: 每天定时获取天气信息并发送邮件提醒 + +**模板代码**: +```json +{ + "name": "Daily Weather Email", + "nodes": [ + { + "parameters": { + "rule": { + "interval": [{"field": "cronExpression", "value": "0 8 * * *"}] + } + }, + "name": "Schedule Trigger", + "type": "n8n-nodes-base.scheduleTrigger", + "typeVersion": 1, + "position": [240, 300] + }, + { + "parameters": { + "url": "https://api.openweathermap.org/data/2.5/weather", + "qs": { + "q": "Beijing", + "appid": "={{$credentials.openWeatherMap.apiKey}}", + "units": "metric" + } + }, + "name": "Get Weather", + "type": "n8n-nodes-base.httpRequest", + "typeVersion": 1, + "position": [460, 300] + } + ], + "connections": { + "Schedule Trigger": {"main": [["Get Weather"]]} + } +} +``` + +**配置要点**: +- 配置OpenWeatherMap凭证 +- 设置目标城市 +- 自定义邮件模板 + +### 2. GitHub提交通知Slack + +**应用场景**: GitHub代码提交时自动通知Slack频道 + +**核心节点**: +- Webhook Trigger (GitHub) +- Set Node (数据处理) +- Slack Node (消息发送) + +**效果**: 开发团队实时了解代码更新情况 + +### 3. Excel报表自动生成 + +**应用场景**: 定期从数据库提取数据生成Excel报表 + +**工作流程**:定时触发 → 数据库查询 → 数据处理 → Excel生成 → 邮件发送 + +## 🛠️ 模板定制指南 + +### 基础定制 + +1. **修改触发条件** + - 调整定时频率 + - 更改触发事件 + - 添加条件过滤 + +2. **更新数据源** + - 替换API端点 + - 更改数据库连接 + - 修改文件路径 + +3. **调整输出格式** + - 自定义邮件模板 + - 修改通知内容 + - 更改数据格式 + +### 高级定制 + +=== "添加错误处理" + ```javascript + // 在关键节点添加错误处理 + try { + const result = await processData(); + return result; + } catch (error) { + // 发送错误通知 + await sendErrorNotification(error); + throw error; + } + ``` + +=== "性能优化" + ```javascript + // 批量处理优化 + const batchSize = 10; + const results = []; + + for (let i = 0; i < items.length; i += batchSize) { + const batch = items.slice(i, i + batchSize); + const batchResults = await Promise.all( + batch.map(processItem) + ); + results.push(...batchResults); + } + ``` + +=== "动态配置" + ```javascript + // 从环境变量读取配置 + const config = { + apiUrl: process.env.API_URL || 'https://api.example.com', + batchSize: parseInt(process.env.BATCH_SIZE) || 10, + retryCount: parseInt(process.env.RETRY_COUNT) || 3 + }; + ``` + +## 📊 模板分享最佳实践 + +### 创建优质模板 + +**模板结构**: +```yaml +模板名称: 简洁明了的名称 +描述: 详细的功能说明 +用途: 具体应用场景 +配置要求: + - 必需凭证 + - 环境变量 + - 外部依赖 +使用说明: + - 安装步骤 + - 配置方法 + - 测试验证 +注意事项: + - 常见问题 + - 安全提醒 + - 性能建议 +``` + +### 模板文档模板 + +```markdown +# 模板名称 + +## 功能描述 +简要描述模板的主要功能和价值 + +## 应用场景 +- 场景1:具体使用情况 +- 场景2:另一个使用情况 + +## 前置要求 +- [ ] n8n版本要求 +- [ ] 必需的凭证配置 +- [ ] 外部服务依赖 + +## 安装使用 +1. 复制模板JSON代码 +2. 在n8n中粘贴 +3. 配置必要的凭证 +4. 调整参数设置 +5. 测试运行 + +## 配置说明 +### 必需配置 +- **API密钥**: 用于xxx服务认证 +- **邮箱凭证**: 用于发送通知邮件 + +### 可选配置 +- **执行频率**: 默认每天执行一次 +- **数据过滤**: 可添加筛选条件 + +## 常见问题 +### Q: 无法连接API +A: 检查API密钥是否正确配置 + +### Q: 邮件发送失败 +A: 验证SMTP设置和凭证配置 + +## 版本历史 +- v1.0: 基础功能实现 +- v1.1: 添加错误处理 +- v1.2: 性能优化 +``` + +## 🎨 自定义模板开发 + +### 模板设计原则 + +1. **通用性**: 模板应该适用于多种类似场景 +2. **可配置**: 关键参数应该容易修改 +3. **健壮性**: 包含适当的错误处理 +4. **文档化**: 提供清晰的使用说明 + +### 模板测试清单 + +```yaml +功能测试: + ✅ 正常流程执行成功 + ✅ 边界情况处理正确 + ✅ 错误情况优雅处理 + +性能测试: + ✅ 执行时间在合理范围 + ✅ 内存使用控制得当 + ✅ 并发处理能力验证 + +兼容性测试: + ✅ 不同n8n版本兼容 + ✅ 各种环境下可用 + ✅ 依赖服务版本兼容 + +文档测试: + ✅ 安装说明准确完整 + ✅ 配置步骤清晰易懂 + ✅ 故障排除信息有效 +``` + +## 🌟 社区贡献 + +### 分享你的模板 + +1. **GitHub提交**: 向社区模板库提交PR +2. **官方论坛**: 在n8n社区分享经验 +3. **技术博客**: 写作详细的使用教程 +4. **视频演示**: 录制操作演示视频 + +### 模板评估标准 + +| 评估维度 | 优秀 | 良好 | 一般 | +|----------|------|------|------| +| **功能完整性** | 覆盖完整业务流程 | 核心功能完备 | 基础功能可用 | +| **代码质量** | 结构清晰,注释完整 | 逻辑清楚 | 基本可读 | +| **错误处理** | 全面的异常处理 | 基本错误处理 | 缺少错误处理 | +| **文档质量** | 详细的使用指南 | 基本说明 | 简单描述 | +| **通用性** | 高度可配置 | 部分可配置 | 固定场景 | + +--- + +通过模板套用,您可以快速构建专业级的自动化工作流,站在巨人的肩膀上创造价值! + +[上一章:避坑指南](pitfalls.md){ .md-button } [下一章:MCP应用](mcp.md){ .md-button .md-button--primary } diff --git a/docs/reference/glossary.md b/docs/reference/glossary.md new file mode 100644 index 0000000..ee497a9 --- /dev/null +++ b/docs/reference/glossary.md @@ -0,0 +1,225 @@ +# 术语表 + +## 📚 学习资源 + +- **官方文档**:[n8n官方文档](https://docs.n8n.io) +- **中文文档**:[n8n中文文档](https://docs.n8ncn.io) +- **快速开始**:[n8n.io](https://n8n.io) + +本术语表收录了n8n和工作流自动化领域的重要概念和专业术语,帮助您更好地理解和使用相关技术。 + +## 🅰️ A-E + +### AI Agent (AI代理) +能够理解指令、规划行动、使用工具并与环境交互以实现目标的智能系统,通常由大型语言模型驱动。 + +### API (应用程序编程接口) +Application Programming Interface的缩写,是不同软件应用程序之间进行通信的接口规范。 + +### API Key (API密钥) +用于验证用户、应用程序或服务身份并授予其访问API权限的凭证字符串。 + +### Code Node (代码节点) +n8n中的一种节点,允许用户在工作流中编写和执行自定义的JavaScript或Python代码,实现更复杂的逻辑或与特定库交互。 + +### Credentials (凭证) +在n8n中用于安全存储和管理连接外部服务所需的授权信息,如API密钥、OAuth令牌、用户名密码等。 + +### Cron表达式 +用于定义定时任务执行时间的表达式格式,由秒、分、时、日、月、周等字段组成。 + +### Docker +一个用于开发、交付和运行应用程序的开源平台,通过容器化技术使应用程序及其依赖项能够打包在一起。 + +## 🅰️ F-J + +### Fair-code License (公平代码许可) +n8n采用的开源许可模式,允许个人和小型团队免费使用,大型企业需要购买商业许可。 + +### HTTP Request (HTTP请求) +一种n8n节点,用于向任意HTTP/HTTPS端点发送请求,常用于与未直接集成的第三方服务进行交互。 + +### Input Schema (输入模式) +定义工作流或节点预期接收的数据结构和数据类型,确保数据以正确的格式传入。 + +### JSON (JavaScript对象表示法) +一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。 + +## 🅰️ K-O + +### Low-code (低代码) +一种软件开发方法,通过最少量的手动编码实现应用程序的快速开发,通常依赖于图形用户界面和可视化工具。 + +### MCP (Model Context Protocol) 模型上下文协议 +一种标准化协议,用于使AI模型能够与外部工具和数据源进行交互,从而扩展其能力。 + +### MCP Server (MCP服务器) +提供工具、数据或提示资源给AI客户端的独立服务,在MCP架构中作为资源提供方。 + +### MCP Trigger (MCP触发器) +n8n MCP服务器工作流模板中的一个核心节点,用于接收MCP客户端的请求并触发相关操作。 + +### No-code (无代码) +一种软件开发方法,允许非技术用户通过拖拽界面和预构建组件来创建应用程序和自动化流程,无需编写任何代码。 + +### Node (节点) +n8n工作流的基本组成单元,代表一个特定的操作或与一个应用程序的集成。 + +### n8n +一个开源且公平代码许可的工作流自动化工具,允许用户通过可视化界面连接应用程序和API。 + +## 🅰️ P-T + +### Passthrough Method (直通方法) +在n8n中,一种参数传递方式,表示当节点未明确设置参数时,将使用传入的数据作为默认值。 + +### RAG (Retrieval-Augmented Generation) 检索增强生成 +一种AI技术,通过从外部知识库中检索相关信息来增强大型语言模型的生成能力。 + +### Redis +一个开源的、内存中的数据结构存储,可用作数据库、缓存和消息代理。在n8n MCP服务器模板中用作内存存储。 + +### Self-hosting (私有部署) +用户在自己的服务器或基础设施上安装和运行软件,而不是使用云服务提供商提供的托管版本。 + +### Subworkflow Trigger (子工作流触发器) +n8n中的一种触发器节点,允许一个工作流作为另一个工作流的子流程被调用和执行,常用于模块化和参数传递。 + +### Trigger (触发器) +工作流的起点,定义了工作流在什么条件下开始执行,如手动触发、定时触发、Webhook触发等。 + +## 🅰️ U-Z + +### Webhook +一种HTTP回调机制,允许外部系统在特定事件发生时向n8n发送HTTP请求来触发工作流执行。 + +### Workflow (工作流) +在n8n中,由一系列相互连接的节点组成的自动化流程,用于执行特定任务或自动化业务逻辑。 + +## 📊 常用节点类型 + +### 触发器节点 (Trigger Nodes) + +| 节点名称 | 英文名称 | 功能描述 | +|---------|---------|----------| +| **手动触发** | Manual Trigger | 用户手动启动工作流 | +| **定时触发** | Schedule Trigger | 基于时间自动触发 | +| **Webhook触发** | Webhook | HTTP请求触发 | +| **邮件触发** | Email Trigger (IMAP) | 邮件事件触发 | +| **文件监控** | File System Trigger | 文件变化触发 | + +### 输入节点 (Input Nodes) + +| 节点名称 | 英文名称 | 功能描述 | +|---------|---------|----------| +| **HTTP请求** | HTTP Request | 发送HTTP请求获取数据 | +| **文件读取** | Read Local File | 读取本地文件内容 | +| **数据库查询** | MySQL/PostgreSQL | 查询数据库数据 | +| **RSS读取** | RSS Read | 获取RSS订阅内容 | +| **Google表格** | Google Sheets | 读取Google表格数据 | + +### 处理节点 (Process Nodes) + +| 节点名称 | 英文名称 | 功能描述 | +|---------|---------|----------| +| **数据设置** | Set | 设置或修改数据字段 | +| **代码执行** | Code | 执行JavaScript/Python代码 | +| **AI代理** | AI Agent | 集成AI模型处理 | +| **数据转换** | Transform | 数据格式转换 | +| **文本处理** | Text Processing | 文本分析和处理 | + +### 逻辑节点 (Logic Nodes) + +| 节点名称 | 英文名称 | 功能描述 | +|---------|---------|----------| +| **条件判断** | IF | 根据条件分支执行 | +| **分支选择** | Switch | 多条件路由分发 | +| **循环处理** | Loop Over Items | 批量数据处理 | +| **数据合并** | Merge | 合并多个数据流 | +| **错误捕获** | Error Trigger | 错误处理机制 | + +### 输出节点 (Output Nodes) + +| 节点名称 | 英文名称 | 功能描述 | +|---------|---------|----------| +| **邮件发送** | Email Send | 发送电子邮件 | +| **文件写入** | Write Local File | 保存文件到本地 | +| **HTTP响应** | Webhook Response | 返回HTTP响应 | +| **数据库插入** | Database Insert | 写入数据库 | +| **消息通知** | Slack/Teams | 发送即时消息 | + +## 🔧 技术概念 + +### 数据格式 + +| 概念 | 说明 | 示例 | +|------|------|------| +| **JSON** | JavaScript对象表示法 | `{"name": "张三", "age": 30}` | +| **CSV** | 逗号分隔值文件 | `姓名,年龄\n张三,30` | +| **XML** | 可扩展标记语言 | `张三` | +| **YAML** | 人类友好的数据序列化标准 | `name: 张三\nage: 30` | + +### 认证方式 + +| 类型 | 说明 | 应用场景 | +|------|------|----------| +| **API Key** | 简单的密钥认证 | 大多数REST API | +| **OAuth 2.0** | 开放授权标准 | 社交媒体、云服务 | +| **Basic Auth** | 基础用户名密码认证 | 简单的HTTP服务 | +| **Bearer Token** | 承载令牌认证 | 现代Web API | +| **JWT** | JSON Web令牌 | 无状态认证 | + +## 🌐 业务术语 + +### 自动化类型 + +| 类型 | 定义 | 特点 | +|------|------|------| +| **RPA** | 机器人流程自动化 | 模拟人工操作 | +| **API集成** | 应用程序接口集成 | 系统间数据交换 | +| **ETL** | 提取、转换、加载 | 数据处理流程 | +| **事件驱动** | 基于事件的自动化 | 实时响应处理 | +| **批处理** | 批量数据处理 | 定时大量处理 | + +### 监控指标 + +| 指标 | 英文 | 说明 | +|------|------|------| +| **执行次数** | Execution Count | 工作流运行次数 | +| **成功率** | Success Rate | 成功执行的百分比 | +| **平均执行时间** | Average Execution Time | 工作流平均运行时间 | +| **错误率** | Error Rate | 执行失败的百分比 | +| **并发数** | Concurrency | 同时执行的工作流数量 | + +## 📚 学习资源术语 + +### 文档类型 + +| 类型 | 说明 | 特点 | +|------|------|------| +| **快速开始** | Quick Start | 新手入门指南 | +| **API文档** | API Documentation | 接口使用说明 | +| **最佳实践** | Best Practices | 经验总结和建议 | +| **故障排查** | Troubleshooting | 问题解决指南 | +| **发布日志** | Release Notes | 版本更新说明 | + +### 社区角色 + +| 角色 | 职责 | 要求 | +|------|------|------| +| **用户** | 使用n8n创建工作流 | 基础使用技能 | +| **贡献者** | 分享模板和经验 | 实践经验丰富 | +| **专家** | 解答技术问题 | 深度技术能力 | +| **维护者** | 维护项目和社区 | 全面技术和管理能力 | + +!!! tip "术语学习建议" + - 先掌握基础概念,再深入专业术语 + - 结合实际操作理解抽象概念 + - 关注术语的英文原文,便于查阅国际资源 + - 定期回顾和更新术语理解 + +--- + +掌握这些术语将大大提高您在n8n社区的交流效率和学习效果! + +[上一章:参考资料](resources.md){ .md-button } [下一章:AI卓越中心](../ai-center/functions.md){ .md-button .md-button--primary } diff --git a/docs/reference/resources.md b/docs/reference/resources.md new file mode 100644 index 0000000..682ed0e --- /dev/null +++ b/docs/reference/resources.md @@ -0,0 +1,302 @@ +# 参考资料 + +这里汇集了学习和使用n8n所需的全部资源,包括官方文档、社区资源、教程视频和实用工具。 + +## 📄 本地PDF文档 + +- **n8n指南.pdf** - 本指南的PDF版本,可离线阅读 + +## 🔗 指南中所有链接汇总 + +### 官方资源 +- [n8n官方文档](https://docs.n8n.io) - 最权威、最完整的官方文档 +- [n8n中文文档](https://docs.n8ncn.io) - 中文社区维护的文档版本 +- [n8n官方社区](https://community.n8n.io/) - 官方论坛,模板分享和问题讨论 +- [n8n.io](https://n8n.io/) - 官方主页,在线试用和云服务 + +### 视频教程 +- [B站 - n8n完整教程](https://www.bilibili.com/video/BV1nejbz6Eip) - 零基础入门,2小时 +- [B站 - n8n部署实战](https://www.bilibili.com/video/BV1kZNrzpEy6) - Docker部署,45分钟 +- [B站 - n8n+MCP实战](https://www.bilibili.com/video/BV11QX8YNEjU) - MCP集成,1.5小时 +- [B站 - n8nChat使用](https://www.bilibili.com/video/BV1HuKEzDEaj) - 自然语言编程,30分钟 + +### 图文教程 +- [微信公众号 - n8n基础教程](https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q) +- [CSDN - n8n本地部署详解](https://blog.csdn.net/2501_90561511/article/details/147479401) +- [知乎 - n8n界面介绍](https://n8n.akashio.com/article/n8n-ui) +- [知乎 - n8n汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) +- [知乎 - MCP工作流部署](https://zhuanlan.zhihu.com/p/1913630305291567877) +- [技术站 - 凭证管理实战](https://jishuzhan.net/article/1951148541186977794) + +### 实战案例 +- [知乎 - 天气预报微信推送](https://zhuanlan.zhihu.com/p/629643758) +- [CSDN - n8n+MCP+DeepSeek](https://blog.csdn.net/m0_59235245/article/details/147950398) +- [微信 - 飞书表格集成](https://mp.weixin.qq.com/s/MIoNKpCSBYhhBjxCAaGSYg) +- [微信 - 多智能体工作流](https://mp.weixin.qq.com/s/efsB3GwZzTVH4rjW5i0iGQ) +- [微信 - 论文自动解读知识库](https://mp.weixin.qq.com/s/YBoM7YkpHjsFl-hyaSsnOw) + +### 模板资源 +- [Awesome n8n Templates](https://github.com/enescingoz/awesome-n8n-templates) - 2000+模板 +- [n8n Workflows Collection](https://github.com/Zie619/n8n-workflows) - 2000+模板 +- [n8n.io/workflows](https://n8n.io/workflows) - 500+官方精选 + +### 社区节点 +- [Top 100社区节点](https://github.com/restyler/awesome-n8n) +- [MCP节点](https://github.com/nerding-io/n8n-nodes-mcp) + +### 工具和平台 +- [n8nchat](https://n8nchat.com) - 官方自然语言编程工具 +- [Darrell的n8n教程合集](https://www.darrelltw.com/n8n-tutorial-resources/) +- [冰糖数据的避坑指南](https://x.com/binggandata/status/1951798212995829996) + +### 官方模板和案例 +- [Build your own n8n workflows MCP server](https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/) + +## 📚 官方资源 + +### 核心文档 + +| 资源 | 链接 | 说明 | +|------|------|------| +| **英文官方文档** | [docs.n8n.io](https://docs.n8n.io) | 最权威、最完整的官方文档 | +| **中文文档** | [docs.n8ncn.io](https://docs.n8ncn.io) | 中文社区维护的文档版本 | +| **官方社区** | [community.n8n.io](https://community.n8n.io/) | 官方论坛,模板分享和问题讨论 | +| **快速开始** | [n8n.io](https://n8n.io/) | 官方主页,在线试用和云服务 | + +### 官方学习资源 + +- **n8n学院**: 官方在线课程和认证 +- **用例库**: 官方提供的工作流模板 +- **最佳实践**: 官方推荐的使用指南 +- **发布日志**: 新功能和更新说明 + +## 🎥 视频教程 + +### 中文教程 + +| 教程类型 | 链接 | 时长 | 难度 | +|----------|------|------|------| +| **零基础入门** | [B站 - n8n完整教程](https://www.bilibili.com/video/BV1nejbz6Eip) | 2小时 | ⭐ | +| **Docker部署** | [B站 - n8n部署实战](https://www.bilibili.com/video/BV1kZNrzpEy6) | 45分钟 | ⭐⭐ | +| **MCP集成** | [B站 - n8n+MCP实战](https://www.bilibili.com/video/BV11QX8YNEjU) | 1.5小时 | ⭐⭐⭐ | +| **自然语言编程** | [B站 - n8nChat使用](https://www.bilibili.com/video/BV1HuKEzDEaj) | 30分钟 | ⭐⭐ | + +### 英文教程 + +- **YouTube官方频道**: n8n官方视频教程 +- **YouTube社区频道**: 第三方创作者分享 +- **Udemy课程**: 付费深度课程 + +## 📖 博客文章和教程 + +### 技术博客 + +=== "入门教程" + - [微信公众号 - n8n基础教程](https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q) + - [CSDN - n8n本地部署详解](https://blog.csdn.net/2501_90561511/article/details/147479401) + - [知乎 - n8n界面介绍](https://n8n.akashio.com/article/n8n-ui) + +=== "高级应用" + - [知乎 - n8n汉化指南](https://zhuanlan.zhihu.com/p/1937586953865372387) + - [知乎 - MCP工作流部署](https://zhuanlan.zhihu.com/p/1913630305291567877) + - [技术站 - 凭证管理实战](https://jishuzhan.net/article/1951148541186977794) + +=== "实战案例" + - [知乎 - 天气预报微信推送](https://zhuanlan.zhihu.com/p/629643758) + - [CSDN - n8n+MCP+DeepSeek](https://blog.csdn.net/m0_59235245/article/details/147950398) + - [微信 - 飞书表格集成](https://mp.weixin.qq.com/s/MIoNKpCSBYhhBjxCAaGSYg) + +### 系列文章 + +- **Darrell的n8n教程合集**: [完整学习资源](https://www.darrelltw.com/n8n-tutorial-resources/) +- **冰糖数据的避坑指南**: [Twitter避坑系列](https://x.com/binggandata/status/1951798212995829996) + +## 🛠️ 工具和资源 + +### 模板库 + +| 模板库 | 数量 | 特色 | 链接 | +|--------|------|------|------| +| **Awesome n8n Templates** | 2000+ | GitHub最全模板集合 | [GitHub](https://github.com/enescingoz/awesome-n8n-templates) | +| **n8n Workflows Collection** | 2000+ | 分类详细的工作流集合 | [GitHub](https://github.com/Zie619/n8n-workflows) | +| **官方模板** | 500+ | 官方精选和验证 | [n8n.io/workflows](https://n8n.io/workflows) | + +### 社区节点 + +- **社区节点排行榜**: [Top 100社区节点](https://github.com/restyler/awesome-n8n) +- **MCP节点**: [MCP协议支持](https://github.com/nerding-io/n8n-nodes-mcp) +- **自定义节点开发**: 官方开发指南 + +### 开发工具 + +=== "编辑器和IDE" + ``` + 推荐工具: + - VS Code: n8n工作流JSON编辑 + - n8nChat: 自然语言编程工具 + - Postman: API测试工具 + ``` + +=== "监控和调试" + ``` + 监控工具: + - Grafana: 性能监控仪表板 + - ELK Stack: 日志分析 + - Uptime Kuma: 服务可用性监控 + ``` + +=== "部署工具" + ``` + 部署方案: + - Docker Compose: 容器化部署 + - Kubernetes: 集群部署 + - Terraform: 基础设施即代码 + ``` + +## 🔗 相关项目和生态 + +### AI和自动化工具 + +| 工具类型 | 推荐工具 | 与n8n集成度 | +|----------|----------|-------------| +| **大语言模型** | OpenAI, Claude, Gemini | ⭐⭐⭐⭐⭐ | +| **向量数据库** | Pinecone, Weaviate | ⭐⭐⭐⭐ | +| **文档处理** | LangChain, LlamaIndex | ⭐⭐⭐⭐ | +| **图像处理** | Stability AI, Midjourney | ⭐⭐⭐ | + +### 业务系统集成 + +- **CRM系统**: Salesforce, HubSpot, 腾讯企点 +- **项目管理**: Jira, Trello, 飞书项目 +- **通讯工具**: Slack, 企业微信, 钉钉 +- **存储服务**: Google Drive, OneDrive, 阿里云OSS + +## 📊 学习路径和认证 + +### 学习路径建议 + +
+
+
📚 第一阶段:基础入门
+
+
📖 官方文档学习
+
🎥 基础视频教程
+
⚡ 第一个工作流
+
+
+ +
⬇️
+ +
+
🛠️ 第二阶段:实践应用
+
+
📋 模板复用
+
💼 业务场景实践
+
🔧 问题解决
+
+
+ +
⬇️
+ +
+
🚀 第三阶段:进阶技能
+
+
🔨 自定义节点
+
🔗 高级集成
+
⚡ 性能优化
+
+
+ +
⬇️
+ +
+
👨‍💼 第四阶段:专家级应用
+
+
🏗️ 架构设计
+
👥 团队培训
+
🌟 社区贡献
+
+
+
+ +**学习路径说明:** +每个阶段都建立在前一阶段的基础上,建议按顺序进行学习,确保扎实掌握每个阶段的核心技能后再进入下一阶段。 + +### 技能认证 + +| 认证级别 | 能力要求 | 推荐学习时间 | +|----------|----------|-------------| +| **入门级** | 基本操作、模板使用 | 1-2周 | +| **应用级** | 独立设计工作流 | 1-2个月 | +| **专家级** | 复杂系统集成 | 3-6个月 | +| **架构师** | 企业级解决方案 | 6个月+ | + +## 🤝 社区和支持 + +### 中文社区 + +- **QQ群**: n8n中文学习交流群 +- **微信群**: 扫描二维码加入学习群 +- **知乎专栏**: n8n实战经验分享 +- **博客园**: 技术文章和案例分享 + +### 国际社区 + +- **Discord**: 官方即时聊天社区 +- **Reddit**: r/n8n 讨论版 +- **Stack Overflow**: 技术问题求助 +- **GitHub Discussions**: 功能讨论和建议 + +### 商业支持 + +- **官方支持**: 企业级技术支持 +- **合作伙伴**: 认证实施伙伴 +- **培训服务**: 官方和第三方培训 +- **咨询服务**: 解决方案咨询 + +## 📅 学习计划模板 + +### 30天入门计划 + +=== "第1周:基础学习" + **目标**: 熟悉界面和基本概念 + - [ ] 完成云端注册和体验 + - [ ] 学习界面布局和基本操作 + - [ ] 创建第一个简单工作流 + - [ ] 了解常用节点类型 + +=== "第2周:实践应用" + **目标**: 掌握核心功能 + - [ ] 配置凭证管理 + - [ ] 学习HTTP请求和数据处理 + - [ ] 创建定时任务工作流 + - [ ] 实现邮件自动化 + +=== "第3周:进阶功能" + **目标**: 使用高级特性 + - [ ] 学习条件判断和循环 + - [ ] 集成AI功能 + - [ ] 使用代码节点 + - [ ] 错误处理和调试 + +=== "第4周:项目实战" + **目标**: 完成实际项目 + - [ ] 设计业务工作流 + - [ ] 部署到生产环境 + - [ ] 监控和优化 + - [ ] 文档和分享 + +### 持续学习建议 + +!!! tip "保持学习的方法" + 1. **订阅更新**: 关注官方博客和发布日志 + 2. **社区参与**: 积极参与社区讨论和问题解答 + 3. **实践项目**: 持续寻找新的自动化场景 + 4. **分享经验**: 写博客、做分享,教学相长 + 5. **关注趋势**: 了解AI和自动化领域的最新发展 + +--- + +有了这些丰富的学习资源,您的n8n学习之路将更加顺畅! + +[上一章:社区节点](../learning/community-nodes/){ .md-button } [下一章:术语表](glossary/){ .md-button .md-button--primary } diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 0000000..5828866 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,737 @@ +/* n8n工作流自动化指南 - 现代美观样式 */ + +/* 全局变量定义 */ +:root { + --primary-color: #00bcd4; + --primary-dark: #0097a7; + --accent-color: #009688; + --accent-light: #4db6ac; + --success-color: #4caf50; + --warning-color: #ff9800; + --error-color: #f44336; + --text-color: #333; + --bg-color: #ffffff; + --card-bg: #f8f9fa; + --border-color: #e0e0e0; + --shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.15); + --border-radius: 12px; + --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +/* 暗色模式变量 */ +[data-md-color-scheme="slate"] { + --primary-color: #26c6da; + --primary-dark: #00acc1; + --accent-color: #4dd0e1; + --accent-light: #80deea; + --text-color: #e0e0e0; + --bg-color: #1e1e1e; + --card-bg: #2d2d2d; + --border-color: #404040; + --shadow: 0 2px 10px rgba(0, 0, 0, 0.3); + --shadow-hover: 0 4px 20px rgba(0, 0, 0, 0.4); +} + +/* 英雄横幅样式 */ +.hero-banner { + background: linear-gradient(135deg, var(--primary-color) 0%, var(--accent-color) 100%); + color: white; + padding: 4rem 2rem; + margin: -2rem -2rem 3rem -2rem; + border-radius: 0 0 var(--border-radius) var(--border-radius); + text-align: center; + position: relative; + overflow: hidden; +} + +.hero-banner::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: url('data:image/svg+xml,'); + opacity: 0.3; +} + +.hero-content { + position: relative; + z-index: 1; +} + +.hero-banner h1 { + font-size: 3rem; + font-weight: 700; + margin-bottom: 1rem; + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); +} + +.hero-subtitle { + font-size: 1.25rem; + opacity: 0.9; + margin-bottom: 2rem; + max-width: 600px; + margin-left: auto; + margin-right: auto; +} + +.hero-buttons { + display: flex; + gap: 1rem; + justify-content: center; + flex-wrap: wrap; +} + +/* 现代按钮样式 */ +.btn { + display: inline-block; + padding: 0.75rem 2rem; + text-decoration: none; + border-radius: var(--border-radius); + font-weight: 600; + transition: var(--transition); + border: none; + cursor: pointer; + text-align: center; + font-size: 1rem; + position: relative; + overflow: hidden; +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s; +} + +.btn:hover::before { + left: 100%; +} + +.btn-primary { + background: white; + color: var(--primary-color); + box-shadow: var(--shadow); +} + +.btn-primary:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-hover); + color: var(--primary-dark); +} + +.btn-secondary { + background: rgba(255, 255, 255, 0.2); + color: white; + border: 2px solid white; +} + +.btn-secondary:hover { + background: white; + color: var(--primary-color); + transform: translateY(-2px); +} + +/* 特色网格布局 */ +.feature-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + margin: 2rem 0; +} + +.feature-card, +.content-card { + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + padding: 2rem; + text-align: center; + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.feature-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 4px; + background: linear-gradient(90deg, var(--primary-color), var(--accent-color)); + transform: scaleX(0); + transition: transform 0.3s ease; +} + +.feature-card:hover::before { + transform: scaleX(1); +} + +.feature-card:hover, +.content-card:hover { + transform: translateY(-5px); + box-shadow: var(--shadow-hover); + border-color: var(--primary-color); +} + +.feature-icon { + font-size: 3rem; + margin-bottom: 1rem; + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.feature-card h3, +.content-card h3 { + color: var(--primary-color); + margin-bottom: 1rem; + font-weight: 600; +} + +/* 统计数据网格 */ +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1.5rem; + margin: 2rem 0; + text-align: center; +} + +.stat-item { + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + padding: 2rem 1rem; + transition: var(--transition); + position: relative; + overflow: hidden; +} + +.stat-item::after { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + opacity: 0; + transition: opacity 0.3s ease; +} + +.stat-item:hover::after { + opacity: 0.05; +} + +.stat-item:hover { + transform: scale(1.05); + box-shadow: var(--shadow-hover); +} + +.stat-number { + display: block; + font-size: 2.5rem; + font-weight: 700; + color: var(--primary-color); + margin-bottom: 0.5rem; + position: relative; + z-index: 1; +} + +.stat-label { + font-size: 0.9rem; + color: var(--text-color); + opacity: 0.8; + position: relative; + z-index: 1; +} + +/* 警告框样式增强 */ +.md-typeset .admonition { + border-radius: var(--border-radius); + border: none; + box-shadow: var(--shadow); + overflow: hidden; + margin: 1.5rem 0; +} + +.md-typeset .admonition.tip { + background: linear-gradient(135deg, #e8f5e8 0%, #f0f8f0 100%); + border-left: 4px solid var(--success-color); +} + +.md-typeset .admonition.info { + background: linear-gradient(135deg, #e3f2fd 0%, #f0f8ff 100%); + border-left: 4px solid var(--primary-color); +} + +.md-typeset .admonition.warning { + background: linear-gradient(135deg, #fff3e0 0%, #fef8f0 100%); + border-left: 4px solid var(--warning-color); +} + +/* 表格样式增强 */ +.md-typeset table { + border-radius: var(--border-radius); + overflow: hidden; + box-shadow: var(--shadow); + margin: 1.5rem 0; +} + +.md-typeset table thead { + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + color: white; +} + +.md-typeset table thead th { + border: none; + padding: 1rem; + font-weight: 600; +} + +.md-typeset table tbody tr { + transition: var(--transition); +} + +.md-typeset table tbody tr:hover { + background: rgba(var(--primary-color), 0.05); +} + +.md-typeset table tbody td { + border: none; + border-bottom: 1px solid var(--border-color); + padding: 0.75rem 1rem; +} + +/* 标签页样式 */ +.md-typeset .tabbed-set { + border-radius: var(--border-radius); + box-shadow: var(--shadow); + overflow: hidden; + margin: 1.5rem 0; +} + +.md-typeset .tabbed-labels { + background: var(--card-bg); + border-bottom: 1px solid var(--border-color); +} + +.md-typeset .tabbed-labels > label { + transition: var(--transition); +} + +.md-typeset .tabbed-labels > label:hover { + background: rgba(var(--primary-color), 0.1); +} + +.md-typeset .tabbed-set input:checked + label { + background: var(--primary-color); + color: white; +} + +/* 代码块增强 */ +.md-typeset .highlight { + border-radius: var(--border-radius); + overflow: hidden; + box-shadow: var(--shadow); + margin: 1.5rem 0; +} + +.md-typeset .highlight > pre { + margin: 0; +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .hero-banner { + padding: 2rem 1rem; + margin: -1rem -1rem 2rem -1rem; + } + + .hero-banner h1 { + font-size: 2rem; + } + + .hero-subtitle { + font-size: 1rem; + } + + .hero-buttons { + flex-direction: column; + align-items: center; + } + + .btn { + width: 100%; + max-width: 300px; + } + + .feature-grid, + .stats-grid { + grid-template-columns: 1fr; + } + + .stat-number { + font-size: 2rem; + } +} + +/* 动画效果 */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.feature-card, +.content-card, +.stat-item { + animation: fadeInUp 0.6s ease forwards; +} + +.feature-card:nth-child(2) { animation-delay: 0.1s; } +.feature-card:nth-child(3) { animation-delay: 0.2s; } +.feature-card:nth-child(4) { animation-delay: 0.3s; } +.feature-card:nth-child(5) { animation-delay: 0.4s; } +.feature-card:nth-child(6) { animation-delay: 0.5s; } + +/* 链接样式增强 */ +.md-typeset a { + color: var(--primary-color); + transition: var(--transition); +} + +.md-typeset a:hover { + color: var(--primary-dark); + text-decoration: none; +} + +/* 导航增强 */ +.md-nav__link--active { + color: var(--primary-color) !important; +} + +.md-nav__link:hover { + color: var(--primary-color) !important; +} + +/* 搜索框增强 */ +.md-search__form { + border-radius: var(--border-radius); +} + +.md-search__input { + border-radius: var(--border-radius); +} + +/* 页脚样式 */ +.md-footer { + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); +} + +/* 滚动条样式 */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: var(--bg-color); +} + +::-webkit-scrollbar-thumb { + background: var(--primary-color); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:hover { + background: var(--primary-dark); +} + +/* 工作流图表样式 */ +.workflow-diagram { + background: var(--card-bg); + border: 2px solid var(--border-color); + border-radius: var(--border-radius); + padding: 2rem; + margin: 2rem 0; + box-shadow: var(--shadow); +} + +.workflow-step { + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: 1rem; +} + +.step-box { + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + color: white; + padding: 1rem 1.5rem; + border-radius: var(--border-radius); + text-align: center; + font-weight: 600; + min-width: 120px; + box-shadow: var(--shadow); + transition: var(--transition); + position: relative; +} + +.step-box:hover { + transform: translateY(-3px); + box-shadow: var(--shadow-hover); +} + +.step-box.trigger { + background: linear-gradient(135deg, #2196f3, #21cbf3); +} + +.step-box.process { + background: linear-gradient(135deg, #9c27b0, #e91e63); +} + +.step-box.request { + background: linear-gradient(135deg, #4caf50, #8bc34a); +} + +.step-box.output { + background: linear-gradient(135deg, #ff9800, #ffc107); +} + +.step-box small { + display: block; + font-size: 0.8rem; + opacity: 0.9; + margin-top: 0.25rem; +} + +.arrow { + font-size: 1.5rem; + color: var(--primary-color); + font-weight: bold; + margin: 0 0.5rem; +} + +/* 学习路径样式 */ +.learning-path { + background: var(--card-bg); + border: 2px solid var(--border-color); + border-radius: var(--border-radius); + padding: 2rem; + margin: 2rem 0; + box-shadow: var(--shadow); +} + +.path-level { + margin-bottom: 1.5rem; + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + overflow: hidden; + background: var(--bg-color); +} + +.level-header { + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + color: white; + padding: 1rem 1.5rem; + font-weight: 600; + font-size: 1.1rem; +} + +.level-content { + padding: 1.5rem; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 1rem; +} + +.learning-item { + background: var(--card-bg); + border: 1px solid var(--border-color); + border-radius: 8px; + padding: 1rem; + text-align: center; + transition: var(--transition); + font-weight: 500; +} + +.learning-item:hover { + background: var(--primary-color); + color: white; + transform: translateY(-2px); + box-shadow: var(--shadow); +} + +.path-arrow { + text-align: center; + font-size: 2rem; + margin: 1rem 0; + color: var(--primary-color); +} + +/* 响应式设计 - 工作流图表 */ +@media (max-width: 768px) { + .workflow-step { + flex-direction: column; + } + + .arrow { + transform: rotate(90deg); + margin: 0.5rem 0; + } + + .step-box { + min-width: 200px; + width: 100%; + } + + .level-content { + grid-template-columns: 1fr; + } +} + +/* 流程步骤样式 */ +.process-flow { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: 1rem; + background: var(--card-bg); + border: 2px solid var(--border-color); + border-radius: var(--border-radius); + padding: 2rem; + margin: 2rem 0; + box-shadow: var(--shadow); +} + +.flow-step { + display: flex; + flex-direction: column; + align-items: center; + max-width: 150px; + text-align: center; +} + +.step-number { + width: 40px; + height: 40px; + border-radius: 50%; + background: linear-gradient(135deg, var(--primary-color), var(--accent-color)); + color: white; + display: flex; + align-items: center; + justify-content: center; + font-weight: bold; + margin-bottom: 1rem; + box-shadow: var(--shadow); +} + +.step-content h4 { + margin: 0 0 0.5rem 0; + color: var(--primary-color); + font-size: 0.9rem; +} + +.step-content p { + margin: 0; + font-size: 0.8rem; + color: var(--text-color); + opacity: 0.8; +} + +.flow-arrow { + font-size: 1.5rem; + color: var(--primary-color); + font-weight: bold; +} + +/* 决策分支样式 */ +.decision-branches { + margin-top: 1.5rem; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 1.5rem; +} + +.branch { + border: 1px solid var(--border-color); + border-radius: var(--border-radius); + padding: 1rem; + background: var(--bg-color); +} + +.branch-label { + font-weight: 600; + margin-bottom: 1rem; + padding: 0.5rem; + background: var(--card-bg); + border-radius: 6px; + text-align: center; + color: var(--primary-color); +} + +.branch-flow { + display: flex; + align-items: center; + justify-content: center; + gap: 0.5rem; + flex-wrap: wrap; +} + +.branch-flow .step-box { + min-width: 100px; + font-size: 0.9rem; + padding: 0.75rem 1rem; +} + +.step-box.decision { + background: linear-gradient(135deg, #f44336, #e91e63); +} + +.step-box.ai { + background: linear-gradient(135deg, #673ab7, #9c27b0); +} + +/* 响应式设计 - 流程图 */ +@media (max-width: 768px) { + .process-flow { + flex-direction: column; + padding: 1rem; + } + + .flow-arrow { + transform: rotate(90deg); + margin: 0.5rem 0; + } + + .decision-branches { + grid-template-columns: 1fr; + } + + .branch-flow { + flex-direction: column; + gap: 1rem; + } + + .branch-flow .arrow { + transform: rotate(90deg); + } +} \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..5651353 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,99 @@ +site_name: n8n工作流自动化指南 +site_description: 专业的n8n工作流学习与实践指南 +site_url: https://your-domain.com + +# 主题配置 +theme: + name: material + language: zh + features: + - navigation.tabs + - navigation.sections + - navigation.expand + - navigation.path + - navigation.top + - search.highlight + - search.share + - toc.follow + - content.code.copy + - content.code.annotate + palette: + # 现代蓝绿主色调配色方案 + - scheme: default + primary: cyan + accent: teal + toggle: + icon: material/brightness-7 + name: 切换到暗色模式 + - scheme: slate + primary: cyan + accent: amber + toggle: + icon: material/brightness-4 + name: 切换到亮色模式 + font: + text: Arial + code: Roboto Mono + icon: + logo: material/auto-fix + repo: fontawesome/brands/github + +# 插件配置 +plugins: + - search: + lang: zh + +# Markdown扩展 +markdown_extensions: + - pymdownx.highlight + - pymdownx.superfences + - admonition + - pymdownx.details + - attr_list + - md_in_html + - tables + - footnotes + - pymdownx.tabbed: + alternate_style: true + - pymdownx.snippets: + base_path: docs + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + +# 导航结构 +nav: + - 首页: index.md + - 引言: + - 背景信息: introduction/background.md + - 目标读者: introduction/target-audience.md + - 目的与价值: introduction/purpose-value.md + - 为什么选择n8n: introduction/why-n8n.md + - 安装与配置: + - 快速开始: installation/quick-start.md + - 本地部署: installation/local-deployment.md + - 界面介绍: installation/interface.md + - 凭证管理: installation/credentials.md + - n8n汉化: installation/localization.md + - 学习与使用: + - 常用节点: learning/common-nodes.md + - 基本工作流创建: learning/basic-workflows.md + - 避坑指南: learning/pitfalls.md + - 模板套用: learning/templates.md + - MCP应用: learning/mcp.md + - 自然语言编程: learning/natural-language.md + - 社区节点: learning/community-nodes.md + - 参考资料: + - 参考资料: reference/resources.md + - 术语表: reference/glossary.md + - AI卓越中心: + - 职能与支持: ai-center/functions.md + - 加入我们: ai-center/join.md + +# 额外CSS样式 +extra_css: + - stylesheets/extra.css + +# 版权信息 +copyright: Copyright © 2024 n8n指南项目组 + diff --git a/n8n指南.md b/n8n指南.md new file mode 100644 index 0000000..7ce6c3e --- /dev/null +++ b/n8n指南.md @@ -0,0 +1,490 @@ +# n8n 工作流学习指南 + +--- + +### n8n工作流自动化指南目录 + +1. #### 引言 + + 1.1 背景信息 + 1.2 目标读者 + 1.3 目的与价值 + 1.4 为什么选择n8n + +2. #### 安装与配置 + + 2.1 云平台试用(无需部署,注册使用) + 2.2 本地/私有化部署 + 2.3 界面介绍 + 2.4 凭证管理 + 2.5 n8n汉化 + +3. #### 学习与使用 + + 3.1 常用节点 + 3.2 基本工作流创建 + 3.3 避坑指南 + 3.4 进阶应用 - 模板套用 + 3.5 进阶应用 - mcp + 3.6 进阶应用 - 自然语言编程 + 3.7 进阶应用 - 社区节点 + +4. #### 参考资料与术语表 + + 4.1 参考资料 + 4.2 术语表 + +5. #### AI卓越中心介绍 + + 5.1 职能与支持 + 5.2 加入我们的方式 + + + +## 1. 引言 + +### 1.1 背景信息:拥抱人工智能浪潮 + +人工智能正以惊人的速度重塑我们的世界,从根本上改变着商业运营、社会互动和个人生活。它不仅仅是一项技术,更是一场深刻的时代变革。在这场汹涌的浪潮中,自动化、智能化工具成为提升效率、释放潜力、优化决策的关键。本指南将带您深入了解n8n,助您在智能时代乘风破浪。 + +#### 💡 机遇:赋能与进化 + +* **企业层面:** + * **提升效率与创新:** AI驱动的自动化能够优化业务流程,将员工从重复性劳动中解放出来,从而激发新产品和服务的开发。 + * **数据洞察与决策:** 强大的海量数据分析能力,为精准的商业决策和市场洞察提供坚实支持。 +* **科研领域:** + * 为**基础科学研究**提供强大的分析和模拟工具,**加速科学发现**,开辟**新的研究方向**,并促进**跨学科合作**。 +* **个人层面:** + * **职业发展:** 催生了对新技能的需求和大量新兴岗位,促进个人能力升级和职业转型。 + * **生活智能化:** AI融入日常生活,带来前所未有的便捷与个性化智能体验。 + +#### ⚠️ 挑战:适应与应对 + +* **企业层面:** + * **高投入与转型成本:** 企业需要投入大量资源进行AI基础设施建设、人才培养和组织架构调整。 + * **数据安全与伦理:** AI应用中的数据隐私、算法偏见和责任归属问题是必须面对的挑战。 +* **科研领域:** + * 面临**计算资源紧缺**、**高水平AI人才竞争**、**高质量数据获取困难**,以及研究成果**转化落地**和**伦理规范**的挑战。 +* **个人层面:** + * **人才结构变革:** 部分传统岗位面临被取代的风险,劳动力市场的再培训与技能重塑迫在眉睫。 + * **技术快速迭代:** AI技术日新月异,要求个人保持持续学习的能力,以快速适应市场变化。 + +### 1.2 目标读者 + +* **技术零基础的业务人员**:旨在帮助您**快速入门**,理解 n8n 如何**简化日常重复性工作**,通过**模板和简单工作流**轻松实现业务自动化,显著提升工作效率。 +* **技术支持与开发人员**:旨在帮助您**深入理解 n8n 的部署、配置、运行和维护**,掌握**系统管理、故障排查和团队赋能**的能力,确保 n8n 服务的稳定运行和高效支持。 + +### 1.3 目的与价值 + +* **核心目的**:让技术零基础的业务人员和负责技术支持的同事都能**快速上手 n8n**,并充分**利用其强大的自动化能力**。 + +* **对业务部门的价值**: + * **赋能业务用户**:无需编程知识即可**自动化日常任务**,例如邮件处理、数据同步、报告生成等。 + * **提升核心效率**:通过自动化**节省大量时间**,让团队能更专注于创造价值的核心业务。 + * **探索自动化潜力**:即使是技术新手也能通过**AI 驱动的自动化模板**和**即时连接应用程序**来发现更多业务价值。 + +* **对技术部门的价值**: + * **灵活与强大**:理解 n8n **自托管**和**低代码**的特性,可以**自定义代码节点,实现无限制**的复杂自动化。 + * **系统管理与维护**:掌握 **n8n 服务器的部署**(如 npm 或 Docker)、**高级配置**(如环境变量)和**日常维护**,**确保服务的稳定性、安全性与可扩展性**。 + * **构建AI自动化能力 (MCP)**:深入理解 **Model Context Protocol (MCP)** 如何让 AI 模型以标准化方式与**外部工具和数据源交互**。学习如何**将现有 n8n 工作流封装为 AI 代理可调用的“工具”**,从而**构建强大的端到端智能工作流**。 + * **高效问题解决与支持**:掌握**常见问题的排查方法**,以及如何有效地**协助非技术同事解决工作流问题**,成为团队内部的 n8n 专家。 + +### 1.4 为什么选择n8n + +低代码平台是赋能全所非技术人员的最优解工具,n8n则是低代码工具中发展性最好的一个。 + +| **方案/工具** | **无代码 (Dify)** | **低代码 (n8n)** | **传统代码开发(python)** | **智能化代码开发(如Cursor)** | +| ------------------ | -------------------------------------------------- | ------------------------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------ | +| **目标用户** | 业务人员、市场人员、非技术背景的开发者 | IT专业人员、开发者、既懂业务又懂技术的复合型人才 | 专业软件工程师、开发团队 | 开发者、工程师、研究人员 | +| **开发速度** | 最快,数小时到数天即可构建应用 | 快速,熟练后数小时到数天即可构建应用 | 较慢,数周到数月甚至更长 | 快速,根据AI工具熟练度与剖析问题的能力数天到数星期不等 | +| **核心理念** | “配置优于编码”,通过可视化界面和预制模块快速搭建。 | “更少代码,更多创造”,通过可视化与少量代码结合,加速开发。 | “代码拥有一切”,通过编写代码实现完全的控制和定制。 | AI赋能编码,提升开发效率与质量 | +| **灵活性与定制化** | 较低,受限于平台提供的功能和模板 | 较高,允许通过编写代码(如JavaScript、Python)进行扩展和定制。 | 极高,可以实现任何复杂的功能和独特的界面 | 高,代码由AI生成,可高度定制与修改 | +| **技术门槛** | 极低,无需编程知识 | 较低,需要基本的编程逻辑和少量编码能力 | 极高,需要精通编程语言、框架和软件工程原理 | 中,需有编程基础以审查、优化AI生成代码 | +| **主要应用场景** | 构建简单的内部工具、自动化流程、AI应用原型等 | 企业级自动化、系统集成、连接不同的API和服务、构建复杂的业务流程 | 开发大型、复杂的软件系统、高性能应用、底层系统开发 | 代码生成、智能补全、错误检测、文档生成、测试用例编写 | +| 常用工具 | Dify、Zapier、Bubble | n8n、Retool、Mendix | python、java、C | Cursor、GitHub Copilot、Codeium | + +--- + +## 2. 安装与配置 + +### 2.1 快速开始(n8n Cloud) + +对于希望立即体验而无需任何部署的用户,n8n官方云服务是最佳选择。 +* **官方网址**:[https://n8n.io/](https://n8n.io/) +* **优势**:无需部署,注册即用,官方负责所有维护工作,让您专注于工作流构建。 + +n8n Cloud 平台界面 1 + +n8n Cloud 平台界面 3 + +### 2.2 本地/私有化部署 + +#### 部署方式对比 + +1. **n8n 云服务 (Cloud Hosting) - 最快速、无需部署** + * **描述**:最简单快捷的入门方式,无需任何本地安装和配置。访问 https://n8n.io 注册即可开始,官方提供免费试用。 + * **适用人群**:初学者、业务用户、希望快速验证自动化想法的用户。 + +2. **使用 npm 安装 - 适合开发者快速本地启动** + * **描述**:对于熟悉 Node.js 环境的开发者,通过简单的 `npm` 命令行指令即可在本地快速启动 n8n,适合在本地进行开发、测试和调试。 + +3. **使用 Docker 安装 - 推荐的本地或服务器部署方式** + * **描述**:Docker 提供容器化部署,确保环境一致性,避免复杂的依赖问题。它封装了 n8n 及其所有依赖,是本地开发和中小型项目生产部署的理想选择。 + +4. **服务器自托管 (Self-hosting) - 灵活且注重隐私** + * **描述**:n8n 是一款**公平代码许可 (fair-code licensed)** 的软件,支持自托管,提供极高的**灵活性、隐私和安全性控制**。您可以在 Digital Ocean, AWS, Azure, Google Cloud 等任意云服务器上部署,并进行深度定制化配置。 + * **适用人群**:对数据隐私、系统性能或集成有特定需求的企业和高级用户。 + **相关教程**: + * 图文教程 + https://blog.csdn.net/2501_90561511/article/details/147479401?spm=1001.2014.3001.5502 + * 视频教程: + https://www.bilibili.com/video/BV1kZNrzpEy6 + +#### Docker 部署注意事项 + +如果选择 Docker 部署,请特别注意 `volumes` 映射配置: +* **第一个 Volume**:用于持久化存储 n8n 的工作流、凭证等核心数据。 + * `Host Path`:您服务器上的一个路径,例如 `/data/n8n/config`。 + * `Container Path`:固定为 `/home/node/.n8n`。 +* **第二个 Volume**:用于 n8n 工作流读写本地文件。 + * `Host Path`:您服务器上用于存放处理文件的路径,例如 `/data/n8n/files`。 + * `Container Path`:在 n8n 节点中访问该文件夹的路径,例如 `/files`(请记住这个路径)。 + +![Docker 配置界面](配置画面.png) + +### 2.3 界面介绍 + +n8n 的界面直观易用,主要由工作流画布、节点面板、参数配置区和执行日志等部分组成。详细介绍请参考: +https://n8n.akashio.com/article/n8n-ui + +### 2.4 凭证管理 (Credentials) + +**凭证是 n8n 连接外部世界的“钥匙”**。它用于安全地存储和管理连接外部服务(如数据库、API、邮箱)所需的授权信息(如 API 密钥、OAuth 令牌、用户名密码等)。 + +* **安全存储**:n8n 对凭证进行加密存储,保护您的账户安全。 +* **集中管理**:在一个地方统一创建、查看和管理所有凭证。 +* **一次配置,多次使用**:创建一次凭证后,可在多个工作流和节点中重复使用。 +* **避免硬编码**:将敏感信息与工作流逻辑分离,是更安全、更易于维护的最佳实践。 +常用凭证: +- 大模型凭证 +- 邮箱凭证 +- 数据库凭证 +图文示例请参考: +https://jishuzhan.net/article/1951148541186977794 + +### 2.5 n8n 汉化 + +在使用 Docker 部署时,可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。 + +参考: +https://zhuanlan.zhihu.com/p/1937586953865372387 + + +## 3. 学习与使用 +### 3.1常用节点 + +![](D:\obsidian\project\每日任务\8.21\assets\工具箱.png) + +1. 触发 (Triggers) + +触发器是工作流的起点,用于在特定事件发生时启动自动化流程。 + +• **手动触发 (Manual Trigger)**: + +- **功能和用法**:手动触发节点用于**用户启动的工作流**。它允许您在需要时手动运行工作流,而不是等待特定事件发生。 + +- **配置**:作为核心节点,通常不需要复杂配置,只需在需要时点击执行即可。 + +• **定时触发 (Schedule Trigger)**: + +- **功能和用法**:定时触发节点用于**基于时间的自动化任务**。您可以设置工作流在特定时间或按固定时间间隔自动运行。 + +- **配置**:您需要配置触发的时间、频率等参数。文档中也提到了该节点可能遇到的“常见问题”。 + +• **Webhook (Webhook)**: + +-   **功能和用法**:Webhook 节点用于**API 触发的自动化**。它允许外部服务通过发送HTTP请求来启动n8n工作流,实现实时集成和响应。 + +- **配置**:需要设置一个生产URL,并在您的MCP客户端中使用这个URL。文档中提到了“工作流开发”和“常见问题”。在导入工作流时,需要更新Webhook URL。 + +• **自动化 (Automation)**: + +- **功能和用法**:自动化是n8n的核心能力和目标。它涵盖了**连接任何带有API的应用程序并对其数据进行操作**,以及**构建复杂的、端到端的工作流**。n8n特别适用于**批量数据处理、搬运和引入AI到现有工作流**。 + +- **配置**:自动化是n8n平台提供的整体能力,而非单一节点。各种触发器、处理节点和逻辑节点共同实现自动化。 + +• **邮件触发 (Email Trigger)**: + +-  **功能和用法**:邮件触发(IMAP)节点可以根据新邮件或其他邮件事件来启动工作流。例如,可以构建工作流来**自动标记收到的Gmail邮件** 或**根据新邮件内容草拟回复**。 + +- **配置**:需要配置IMAP相关参数,如服务器、端口、凭据等。 + +• **对话触发 (Chat Trigger)**: + +- **功能和用法**:对话触发节点用于响应聊天消息来启动工作流。例如,“AI代理聊天”和“Telegram AI聊天机器人”是趋势模板,它们可能通过对话触发来接收用户输入。 +- 配置:配置聊天平台和监听的事件。 + +2. 输入 (Input) + +输入节点用于从各种数据源获取信息,供工作流后续处理使用。 + +• **读本地文件 (Read Local File)**: + +- **功能和用法**:允许工作流读取本地文件系统中的文件。 + +- **配置**:使用“Read/Write Files from Disk”核心节点来指定文件路径和读取方式。 + +• **HTTP 请求 (HTTP Request)**: + +-  **功能和用法**:HTTP请求节点是**“半开放式节点”**,它允许n8n接入**几乎任何开放API的第三方服务**。可以用于从互联网获取数据。 + +- **配置**:需要配置请求URL、方法(GET、POST等)、头部信息和请求体等。可以与ChatGPT结合使用来编写代码片段,帮助连接不在官方节点库中的功能。 + +• **MySQL 获取数据 (MySQL Get Data)**: + +- **功能和用法**:n8n支持与MySQL数据库集成。可以用于从MySQL数据库中**查询和检索数据**。 + +- **配置**:需要配置MySQL凭据和要执行的查询语句。例如,可以使用AI代理与PostgreSQL或MongoDB数据库进行交互,并支持自定义SQL查询和模式内省,MySQL也应有类似功能。 + +• **RSS 网络搜索 (RSS Web Search)**: + +- **功能和用法**:RSS Read和RSS Feed Trigger节点用于**读取RSS订阅源**,从而获取最新的网络信息或文章更新。可以构建“基于RSS的阅读分流器” 或**监控RSS源并总结文章**。 + +- **配置**:输入RSS订阅源URL。 + +• **Google 表格、云盘 (Google Sheets, Google Drive)**: + +- **功能和用法**:n8n与Google Sheets和Google Drive有深度集成。您可以**读取、写入Google Sheets中的数据**;**访问和利用Google Drive中的文件**,例如构建AI助手来回答基于文档内容的问题。还可以监控Google Drive中的新文档,并使用AI进行总结。 + +- **配置**:需要配置Google凭据,并指定要操作的表格或文件路径。 + +3. 处理 (Process) + +处理节点用于对输入数据进行转换、分析或执行特定操作。 + +• **AI 代理 (AI Agent)**: + +- **功能和用法**:AI代理节点是n8n中构建高级AI功能的核心。它将**LangChain框架可视化**,允许AI代理**发现、管理和运行工作流**。AI代理能够根据任务自动选择和执行工具(如搜索、存储)。 + +- **配置**:AI代理节点具有子节点,允许灵活配置**模型(Model)、记忆(Memory)、工具(Tool)和输出解析器(Output Parser)**。在使用社区节点作为AI代理工具时,必须设置环境变量 `N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true`。 + +• **代码 (Code)**: + +-  **功能和用法**:代码节点是**“半开放式节点”**,支持在服务器端运行**JavaScript和Python代码**。这使得您可以**编写自定义逻辑**或处理n8n内置节点无法直接支持的复杂任务。 + +- **配置**:在节点内部编写JavaScript或Python代码,可以访问和处理工作流中的数据。 + +• **编辑字段 (Edit Fields)**: + +- **功能和用法**:Edit Fields (Set) 节点用于**设置或修改工作流中数据项的字段值**。这类似于电子表格中查找和修改单元格的操作,AI可以通过此类节点修改数据。 +- **配置**:指定要编辑的字段名和新的值。 + +4. 逻辑 (Logic) + +逻辑节点用于控制工作流的执行路径和数据流。 + +• **If (If)**: + +- **功能和用法**:If 节点用于**条件判断**,根据设定的条件将工作流分支到不同的路径。 + +- **配置**:设置条件表达式,当条件为真时执行一个分支,为假时执行另一个分支。 + +• **循环项 (Loop Over Items)**: + +- **功能和用法**:Loop Over Items (Split in Batches) 节点用于**遍历数据集合**,对每个数据项执行重复操作。 + +- **配置**:配置循环的批处理大小或遍历方式。 + +• **切换 (Switch)**: + +-  **功能和用法**:Switch 节点类似于多条件判断,根据输入数据的不同值将工作流路由到多个不同的分支。 + +- **配置**:为不同的输入值设置对应的输出分支。 + +• **合并 (Merge)**: + +- **功能和用法**:Merge 节点用于**合并来自不同分支的数据流**,使它们能够在一个统一的流中继续处理。 + +- **配置**:选择合并数据的策略。 + +5. 输出 (Output) + +输出节点用于将工作流处理后的结果发送到外部服务或存储。 + +• **发送邮件 (Send Email)**: + +- **功能和用法**:Send Email 节点用于**发送电子邮件**。您可以配置邮件内容、收件人、主题等。 + +- **配置**:需要配置邮件服务提供商的凭据(如Gmail、Outlook.com、Yahoo)。 + +• **响应 Webhook (Respond to Webhook)**: + +- **功能和用法**:Respond to Webhook 节点用于**向发起Webhook请求的服务发送响应**。这使得n8n可以作为API的后端,对外部请求进行处理并返回数据。 + +- **配置**:配置响应的状态码和响应体内容。 + +• **生成文件到本地 (Generate File to Local)**: + +- **功能和用法**:虽然没有直接名为“生成文件到本地”的节点,但“Read/Write Files from Disk”核心节点支持**写入文件到本地磁盘**。这意味着工作流可以将处理后的数据保存为本地文件。例如,AI可以“SaveFile”将修改后的文件保存回硬盘。 + +- **配置**:使用“Read/Write Files from Disk”节点,选择写入操作,并指定文件内容和保存路径。 + +### 3.2基本工作流创建 +图文教程: +https://mp.weixin.qq.com/s/oIcmTW0Gg2r63C0Tn91r2Q +视频教程: +https://www.bilibili.com/video/BV1nejbz6Eip/?spm_id_from=333.337.search-card.all.click&vd_source=d9f631f2aa422b95711dea08e6660a60 + +### 3.3避坑指南 +n8n容易踩坑的环节,同事也是开发稳定性高的n8n工作流的要求。 +https://x.com/binggandata/status/1951798212995829996 + +1️⃣97% 的 n8n 工作流缺乏异常处理, 在出错时默默失败。 建议:为每个工作流添加一个错误触发器, 并强制对关键节点(HTTP/API/DB)进行异常处理+邮件/Slack 通知。 + +2️⃣320 个 webhooks 未进行身份验证, 152 个进程仍在使用明文 HTTP。 有些直接在节点中硬编码键。 建议:对所有 webhooks 强制执行身份验证, 全程使用 HTTPS,不要硬编码 API 密钥,定期轮换它们,并加密存储。 + +3️⃣很多流程有无用节点、API 在循环里频繁请求、无效数据转换反复出现。 建议:能批量就批量,流程结构清晰,节点合并, 并行能并行,复杂逻辑直接用代码节点搞定。 + +4️⃣35% 的工作流接入了 AI,但大部分没做向量数据库和缓存,token 消耗高。 建议:Prompt 要分块,简单用 GPT-3.5,复杂用 GPT-4, 批量处理+结果校验,AI 节点也要异常处理和日志监控。 + +5️⃣74.7% 工作流分类都是 General, 文档说明严重不足,协作查错全靠猜。 建议:流程统一命名+标签, 关键节点加 Sticky Note,协作排查省大把时间。 + +6️⃣高频套路: 数据转换(Set→HTTP)、API 链式(HTTP→HTTP)、条件分流(If/Switch→Set)、数据聚合(Set→Merge) 建议:直接套用成熟流程模板,少造轮子。 + +7️⃣上线前安全清单: 所有 webhook 有认证、外部请求全 HTTPS、敏感数据加密、权限分层、异常信息不泄露隐私。 建议:每次上线前都照单自查一遍。 + +8️⃣维护和优化: 慢流程拆分为子流程,API 并发要批量/加缓存,老旧节点及时清理。 建议:每月安全&性能巡检,流程有改动就同步文档。 + +9️⃣很多流程没监控,出错没人知道,维护成本高。 建议:每个关键流程都加集中日志和监控, 记录流程名、节点、错误和时间戳,AI/长流程建议加进度日志。 + +1️⃣0️⃣只要你把这些最佳实践都落地了: 绝大部分工作流有异常处理、webhook 全认证、HTTPS 全覆盖、无明文密钥、流程分类注释完整, 平均执行时间都能压到 10 秒以内! + +### 3.4进阶应用 - 模板套用 +n8n的模板套用方式非常直观 +首先在任意位置复制整段文本: + +![](D:\obsidian\project\每日任务\8.21\assets\复制.png) + +在n8n任意位置粘贴: + +![](D:\obsidian\project\每日任务\8.21\assets\黏贴.png) +2000+模板 +https://github.com/enescingoz/awesome-n8n-templates ✅ +2000+模板 +https://github.com/Zie619/n8n-workflows ✅ + +### 3.5进阶应用 - mcp + +模型上下文协议(MCP)定义了AI代理与外部工具的标准化通信框架,允许在不同LLM之间无缝切换工具集成逻辑。其架构包含三大组件: + +1. 主机(Host):承载MCP连接的LLM应用(如Claude Desktop、Cursor IDE) +2. 客户端(Client):作为对接MCP服务器的通信端点 +3. 服务器(Server):为主机提供工具、数据或提示资源的独立服务 + +这种架构使得n8n能以两种角色接入MCP生态:既可以将工作流作为MCP服务器对外暴露功能,也能作为客户端调用其他MCP服务器的能力。 + +如何将整个mcp工作流部署为mcp服务 +图文教程 +https://zhuanlan.zhihu.com/p/1913630305291567877 +官网介绍: +https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/ + +### 3.6进阶应用 - 自然语言编程 +使用官方扩展:n8nchat +https://n8nchat.com + +部署开源项目 +https://www.bilibili.com/video/BV1HuKEzDEaj/?spm_id_from=333.337.search-card.all.click&vd_source=c1396b80a656000a13265d2670a6de6e + +### 3.7进阶应用 - 社区节点 + 社区节点排行榜 TOP 100 +https://github.com/restyler/awesome-n8n?tab=readme-ov-file +点击设置 + +![](D:\obsidian\project\每日任务\8.21\assets\选择设置.png) + +点击社区节点和下载 +![](D:\obsidian\project\每日任务\8.21\assets\选择社区.png) + +输入想要安装的社区节点 +![](D:\obsidian\project\每日任务\8.21\assets\选择名字.png) + +## 4. 参考资料与术语表 +### 4.1 参考资料 +n8n文档 +https://docs.n8n.io +中文文档: +https://docs.n8ncn.io +官方社区(模板、社区成员) +https://community.n8n.io/ +快速开始: +https://n8n.io/ +界面介绍 +https://n8n.akashio.com/article/n8n-ui +教学合集: +https://www.darrelltw.com/n8n-tutorial-resources/#templates +零基础教程 +https://www.bilibili.com/video/BV1nejbz6Eip/?spm_id_from=333.337.search-card.all.click&vd_source=d9f631f2aa422b95711dea08e6660a60 +2000+模板 +https://github.com/enescingoz/awesome-n8n-templates +2000+模板 +https://github.com/Zie619/n8n-workflows +n8n踩坑环节。 +https://x.com/binggandata/status/1951798212995829996 +使用n8n自动抓取天气预报,并发送到微信 +https://zhuanlan.zhihu.com/p/629643758 +n8n+mcp+deepseek +https://blog.csdn.net/m0_59235245/article/details/147950398) +视频教程 +https://www.bilibili.com/video/BV11QX8YNEjU/?spm_id_from=333.337.search-card.all.click&vd_source=d9f631f2aa422b95711dea08e6660a60 +mcp节点 +https://github.com/nerding-io/n8n-nodes-mcp +如何将整个mcp工作流部署为mcp服务 +图文教程 +https://zhuanlan.zhihu.com/p/1913630305291567877 +官网介绍: +https://n8n.io/workflows/3770-build-your-own-n8n-workflows-mcp-server/ +n8nchat(自然语言编程) +https://n8nchat.com +飞书表格 +https://mp.weixin.qq.com/s/MIoNKpCSBYhhBjxCAaGSYg +多智能体工作流 +https://mp.weixin.qq.com/s/efsB3GwZzTVH4rjW5i0iGQ +论文自动解读知识库 +[https://mp.weixin.qq.com/s/YBoM7YkpHjsFl-hyaSsnOw +### 4.2 术语表 + +- **n8n**: 一个开源且公平代码许可的工作流自动化工具,允许用户通过可视化界面连接应用程序和 API,以实现数据操作和业务流程自动化。 +- **MCP (Model Context Protocol)**: 模型上下文协议,一种标准化协议,用于使 AI 模型能够与外部工具和数据源进行交互,从而扩展其能力。 +- **n8n MCP 服务器工作流模板**: 一个预构建的 n8n 工作流,用于将现有的 n8n 工作流转换为一个 MCP 服务器,使得 AI 客户端可以发现、管理和执行这些工作流。 +- **AI 代理 (AI Agent)**: 能够理解指令、规划行动、使用工具并与环境交互以实现目标的智能系统,通常由大型语言模型驱动。 +- **工作流 (Workflow)**: 在 n8n 中,由一系列相互连接的节点组成的自动化流程,用于执行特定任务或自动化业务逻辑。 +- **节点 (Node)**: n8n 工作流的基本组成单元,代表一个特定的操作或与一个应用程序的集成。 +- **MCP 触发器 (MCP Trigger)**: n8n MCP 服务器工作流模板中的一个核心节点,用于接收 MCP 客户端的请求并触发相关操作(如发现、管理或执行工作流)。 +- **“可用”工作流 (Available Workflows)**: 在 n8n MCP 服务器中,被明确允许 AI 代理访问和使用的 n8n 工作流集合,通常通过标签或其他过滤方式进行管理。 +- **Redis**: 一个开源的、内存中的数据结构存储,可用作数据库、缓存和消息代理。在 n8n MCP 服务器模板中,它被用作内存来跟踪“可用”工作流。 +- **Subworkflow 触发器 (Subworkflow Trigger)**: n8n 中的一种触发器节点,允许一个工作流作为另一个工作流的子流程被调用和执行,常用于模块化和参数传递。 +- **输入模式 (Input Schema)**: 定义工作流或节点预期接收的数据结构和数据类型,确保数据以正确的格式传入。 +- **直通方法 (Passthrough Method)**: 在 n8n 中,一种参数传递方式,表示当节点未明确设置参数时,将使用传入的数据作为默认值。 +- **API 密钥 (API Key)**: 应用程序编程接口密钥,一种用于验证用户、应用程序或服务的身份并授予其访问 API 权限的凭证。 +- **Claude Desktop**: 一种 MCP 客户端或 AI 代理,能够通过 MCP 协议与外部工具和数据源(如 n8n MCP 服务器)进行交互。 +- **LangChain**: 一个流行的开源框架,旨在帮助开发者构建由大型语言模型 (LLM) 驱动的应用程序和代理,它将 LLM 相关代码封装为可复用的组件。 +- **RAG (Retrieval-Augmented Generation)**: 检索增强生成,一种 AI 技术,通过从外部知识库中检索相关信息来增强大型语言模型的生成能力,使其能够提供更准确和实时的回答。 +- **HTTP Request**: 一种 n8n 节点,用于向任意 HTTP/HTTPS 端点发送请求,常用于与未直接集成的第三方服务进行交互。 +- **Code 节点 (Code Node)**: n8n 中的一种节点,允许用户在工作流中编写和执行自定义的 JavaScript 或 Python 代码,实现更复杂的逻辑或与特定库交互。 +- **私有部署 (Self-hosting)**: 用户在自己的服务器或基础设施上安装和运行软件,而不是使用云服务提供商提供的托管版本,通常出于隐私、安全或定制需求。 +- **低代码 (Low-code)**: 一种软件开发方法,通过最少量的手动编码实现应用程序的快速开发,通常依赖于图形用户界面和可视化工具。 +- **无代码 (No-code)**: 一种软件开发方法,允许非技术用户通过拖拽界面和预构建组件来创建应用程序和自动化流程,无需编写任何代码。 +- **Docker**: 一个用于开发、交付和运行应用程序的开源平台,通过容器化技术使应用程序及其依赖项能够打包在一起,并在任何环境中以相同方式运行。 +- **GitHub**: 一个基于 Web 的版本控制和协作平台,用于软件开发,允许开发者存储、管理和共享代码仓库。n8n 的许多工作流模板和社区节点都托管在 GitHub 上。 + + +## 5. n8n迷你Hackathon小组 +### 5.1 职能与支持 +- 技术支持:提供专业的技术支持,解决用户在使用n8n过程中遇到的问题。 +- 项目咨询:为用户提供项目规划、设计和实施的咨询服务,确保项目的顺利进行。 +- 培训服务:定期举办线上或线下的培训课程,帮助用户掌握n8n的使用技巧和最佳实践。 +- 社区建设:维护和管理社区资源,促进用户之间的交流与合作,共同推动n8n的发展。 +### 5.2 加入我们的方式 +扫码加入群聊: + diff --git a/n8n指南.pdf b/n8n指南.pdf new file mode 100644 index 0000000..bc9b899 Binary files /dev/null and b/n8n指南.pdf differ