first commit
8
.dockerignore
Normal file
@@ -0,0 +1,8 @@
|
||||
.git
|
||||
.gitignore
|
||||
README.md
|
||||
Dockerfile
|
||||
docker-compose.yml
|
||||
.dockerignore
|
||||
site/
|
||||
*.log
|
||||
25
Dockerfile
Normal file
@@ -0,0 +1,25 @@
|
||||
# 使用官方Python镜像
|
||||
FROM python:3.9-slim
|
||||
|
||||
# 设置工作目录
|
||||
WORKDIR /app
|
||||
|
||||
# 安装系统依赖
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 安装Python依赖
|
||||
RUN pip install --no-cache-dir \
|
||||
mkdocs==1.5.3 \
|
||||
mkdocs-material==9.4.8 \
|
||||
pymdown-extensions==10.3.1
|
||||
|
||||
# 复制项目文件
|
||||
COPY . .
|
||||
|
||||
# 暴露端口
|
||||
EXPOSE 8000
|
||||
|
||||
# 启动命令
|
||||
CMD ["mkdocs", "serve", "--dev-addr=0.0.0.0:8000"]
|
||||
36
README.md
@@ -72,13 +72,13 @@ https://your-domain.github.io/n8n-guide
|
||||
|
||||
如果您希望在本地运行或贡献内容,请按以下步骤操作:
|
||||
|
||||
#### 环境要求
|
||||
#### 方式一:Python直接运行
|
||||
|
||||
**环境要求**:
|
||||
- Python 3.7+
|
||||
- pip 包管理器
|
||||
|
||||
#### 安装步骤
|
||||
|
||||
**安装步骤**:
|
||||
1. **克隆项目**
|
||||
```bash
|
||||
git clone https://github.com/your-username/n8n-guide.git
|
||||
@@ -100,6 +100,36 @@ https://your-domain.github.io/n8n-guide
|
||||
4. **访问文档**
|
||||
打开浏览器访问 `http://127.0.0.1:8000`
|
||||
|
||||
#### 方式二:Docker部署(推荐)
|
||||
|
||||
**环境要求**:
|
||||
- Docker
|
||||
- Docker Compose
|
||||
|
||||
**一键部署**:
|
||||
```bash
|
||||
# 启动服务
|
||||
./start.sh
|
||||
|
||||
# 或者使用Docker Compose
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
**访问文档**:
|
||||
打开浏览器访问 `http://localhost:8000`
|
||||
|
||||
#### 公网服务器部署
|
||||
|
||||
**部署到公网服务器**:
|
||||
```bash
|
||||
# 上传项目文件到服务器
|
||||
# 运行部署脚本
|
||||
./deploy.sh
|
||||
```
|
||||
|
||||
**访问地址**:
|
||||
`http://your-server-ip:8000`
|
||||
|
||||
#### 构建静态站点
|
||||
|
||||
```bash
|
||||
|
||||
41
deploy.sh
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
# n8n指南部署脚本
|
||||
# 适用于公网服务器部署
|
||||
|
||||
echo "🚀 开始部署n8n指南..."
|
||||
|
||||
# 检查Docker是否安装
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker未安装,请先安装Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查Docker Compose是否安装
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
echo "❌ Docker Compose未安装,请先安装Docker Compose"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 停止现有容器
|
||||
echo "🛑 停止现有容器..."
|
||||
docker-compose down
|
||||
|
||||
# 构建并启动服务
|
||||
echo "🔨 构建并启动服务..."
|
||||
docker-compose up -d --build
|
||||
|
||||
# 检查服务状态
|
||||
echo "📊 检查服务状态..."
|
||||
sleep 5
|
||||
docker-compose ps
|
||||
|
||||
# 检查端口占用
|
||||
echo "🔍 检查端口8000状态..."
|
||||
if netstat -tlnp | grep :8000 > /dev/null; then
|
||||
echo "✅ 服务已启动,访问地址:http://your-server-ip:8000"
|
||||
else
|
||||
echo "❌ 服务启动失败,请检查日志:docker-compose logs"
|
||||
fi
|
||||
|
||||
echo "🎉 部署完成!"
|
||||
19
docker-compose.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
n8n-guide:
|
||||
build: .
|
||||
container_name: n8n-guide
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- .:/app
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
networks:
|
||||
- n8n-guide-network
|
||||
|
||||
networks:
|
||||
n8n-guide-network:
|
||||
driver: bridge
|
||||
@@ -1,4 +1,4 @@
|
||||
# AI卓越中心:职能与支持
|
||||
# n8n迷你Hackathon小组:职能与支持
|
||||
|
||||
## 📚 学习资源
|
||||
|
||||
@@ -6,258 +6,24 @@
|
||||
- **中文文档**:[n8n中文文档](https://docs.n8ncn.io)
|
||||
- **快速开始**:[n8n.io](https://n8n.io)
|
||||
|
||||
我们的AI卓越中心致力于为用户提供全方位的n8n技术支持和服务,助力个人和企业在自动化领域取得卓越成就。
|
||||
n8n迷你Hackathon小组是一个非盈利的学习交流组织,致力于为n8n用户提供技术支持和学习资源。
|
||||
|
||||
## 🎯 核心职能
|
||||
|
||||
### 技术支持服务
|
||||
### 技术支持
|
||||
提供专业的技术支持,解决用户在使用n8n过程中遇到的问题。
|
||||
|
||||
<div class="feature-grid">
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">🛠️</div>
|
||||
<h3>专业技术支持</h3>
|
||||
<p>提供n8n部署、配置、优化等全方位技术支持,解决您在使用过程中遇到的各种技术问题</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">📋</div>
|
||||
<h3>项目咨询服务</h3>
|
||||
<p>为您提供项目规划、设计和实施的专业咨询,确保自动化项目的顺利进行和成功落地</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">🎓</div>
|
||||
<h3>培训教育服务</h3>
|
||||
<p>定期举办线上线下培训课程,帮助用户掌握n8n使用技巧和行业最佳实践</p>
|
||||
</div>
|
||||
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">🌟</div>
|
||||
<h3>社区建设管理</h3>
|
||||
<p>维护和管理技术社区资源,促进用户交流合作,共同推动n8n生态发展</p>
|
||||
</div>
|
||||
</div>
|
||||
### 项目咨询
|
||||
为用户提供项目规划、设计和实施的咨询服务,确保项目的顺利进行。
|
||||
|
||||
## 🔧 技术支持范围
|
||||
### 培训服务
|
||||
定期举办线上或线下的培训课程,帮助用户掌握n8n的使用技巧和最佳实践。
|
||||
|
||||
### 部署和配置支持
|
||||
### 社区建设
|
||||
维护和管理社区资源,促进用户之间的交流与合作,共同推动n8n的发展。
|
||||
|
||||
| 支持类型 | 服务内容 | 响应时间 |
|
||||
|----------|----------|----------|
|
||||
| **环境部署** | Docker、Kubernetes、云平台部署指导 | 4小时内 |
|
||||
| **系统配置** | 数据库连接、SSL证书、负载均衡配置 | 2小时内 |
|
||||
| **性能优化** | 系统调优、资源配置、监控设置 | 24小时内 |
|
||||
| **故障排查** | 问题诊断、日志分析、解决方案 | 1小时内 |
|
||||
## 🤝 加入我们
|
||||
|
||||
### 工作流设计支持
|
||||
我们是一个开放的学习社区,欢迎所有对n8n感兴趣的朋友加入!
|
||||
|
||||
**需求分析(业务理解+技术评估)** → **架构设计(流程设计+节点选择)** → **原型开发(快速原型+功能验证)** → **测试验证(单元测试+集成测试)** → **部署上线(生产部署+用户培训)** → **运维监控(性能监控+持续优化)**
|
||||
|
||||
### 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%
|
||||
|
||||
## 🌟 社区建设与管理
|
||||
|
||||
### 社区平台
|
||||
|
||||
<div class="stats-grid">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">5000+</span>
|
||||
<span class="stat-label">社区成员</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">1000+</span>
|
||||
<span class="stat-label">工作流模板</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">500+</span>
|
||||
<span class="stat-label">技术问答</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">50+</span>
|
||||
<span class="stat-label">专家贡献者</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### 社区活动
|
||||
|
||||
**定期活动**:
|
||||
- 🎯 **月度技术分享**: 每月第二个周六,专家分享最佳实践
|
||||
- 🏆 **季度黑客松**: 创新应用开发竞赛
|
||||
- 📚 **年度技术大会**: 行业趋势和技术前沿
|
||||
- 💡 **工作坊**: 实战演练和深度学习
|
||||
|
||||
**社区贡献奖励**:
|
||||
- ⭐ **模板贡献奖**: 优质模板分享者获得奖励
|
||||
- 🎖️ **专家认证**: 活跃贡献者获得专家徽章
|
||||
- 🎁 **年度大奖**: 最佳贡献者获得特别奖励
|
||||
|
||||
## 📞 支持渠道和联系方式
|
||||
|
||||
### 技术支持渠道
|
||||
|
||||
| 支持级别 | 联系方式 | 响应时间 | 适用场景 |
|
||||
|----------|----------|----------|----------|
|
||||
| **社区支持** | 论坛、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 }
|
||||
[扫码加入群聊](join.md){ .md-button .md-button--primary }
|
||||
@@ -6,7 +6,11 @@
|
||||
- **中文文档**:[n8n中文文档](https://docs.n8ncn.io)
|
||||
- **快速开始**:[n8n.io](https://n8n.io)
|
||||
|
||||
n8n不仅是一个工具,更是一个充满活力的社区。无论您是初学者还是专家,都能在这里找到属于自己的位置,与志同道合的伙伴一起探索自动化的无限可能。
|
||||
n8n迷你Hackathon小组是一个开放的学习交流社区。无论您是初学者还是专家,都能在这里找到属于自己的位置,与志同道合的伙伴一起探索自动化的无限可能。
|
||||
|
||||
## 📱 扫码加入群聊
|
||||
|
||||

|
||||
|
||||
## 🤝 为什么加入我们
|
||||
|
||||
|
||||
490
docs/assets/images/05.n8n指南.md
Normal file
@@ -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/)
|
||||
* **优势**:无需部署,注册即用,官方负责所有维护工作,让您专注于工作流构建。
|
||||
|
||||
<img src="云平台1.png" alt="n8n Cloud 平台界面 1" style="zoom:50%;" />
|
||||
|
||||
<img src="云平台3.png" alt="n8n Cloud 平台界面 3" style="zoom:50%;" />
|
||||
|
||||
### 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`(请记住这个路径)。
|
||||
|
||||

|
||||
|
||||
### 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常用节点
|
||||
|
||||

|
||||
|
||||
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的模板套用方式非常直观
|
||||
首先在任意位置复制整段文本:
|
||||
|
||||

|
||||
|
||||
在n8n任意位置粘贴:
|
||||
|
||||

|
||||
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
|
||||
点击设置
|
||||
|
||||

|
||||
|
||||
点击社区节点和下载
|
||||

|
||||
|
||||
输入想要安装的社区节点
|
||||

|
||||
|
||||
## 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 加入我们的方式
|
||||
扫码加入群聊:
|
||||
<img src="二维码.jpg" style="zoom: 33%;" />
|
||||
BIN
docs/assets/images/二维码.jpg
Normal file
|
After Width: | Height: | Size: 155 KiB |
BIN
docs/assets/images/云平台1.png
Normal file
|
After Width: | Height: | Size: 826 KiB |
BIN
docs/assets/images/云平台2.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
docs/assets/images/云平台3.png
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
docs/assets/images/复制.png
Normal file
|
After Width: | Height: | Size: 156 KiB |
BIN
docs/assets/images/工具箱.png
Normal file
|
After Width: | Height: | Size: 6.2 MiB |
BIN
docs/assets/images/节点分类.png
Normal file
|
After Width: | Height: | Size: 6.2 MiB |
BIN
docs/assets/images/选择名字.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
BIN
docs/assets/images/选择社区.png
Normal file
|
After Width: | Height: | Size: 83 KiB |
BIN
docs/assets/images/选择设置.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
docs/assets/images/配置画面.png
Normal file
|
After Width: | Height: | Size: 73 KiB |
BIN
docs/assets/images/黏贴.png
Normal file
|
After Width: | Height: | Size: 280 KiB |
@@ -50,6 +50,8 @@ n8n start
|
||||
- **数据存储**:`/home/node/.n8n` - 存储工作流和凭证
|
||||
- **文件访问**:`/files` - 工作流读写本地文件
|
||||
|
||||

|
||||
|
||||
**基础环境变量**:
|
||||
```bash
|
||||
GENERIC_TIMEZONE=Asia/Shanghai
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
- **官方文档**:[n8n官方文档](https://docs.n8n.io)
|
||||
- **中文文档**:[n8n中文文档](https://docs.n8ncn.io)
|
||||
|
||||
在使用Docker部署时,可以通过添加环境变量和挂载中文语言包的方式实现界面汉化。
|
||||
在使用Docker部署时,可以通过添加环境变量的方式实现界面汉化。
|
||||
|
||||
## 🌏 汉化的必要性
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
## 🐳 Docker部署汉化方案
|
||||
|
||||
### 方案一:环境变量汉化
|
||||
### 环境变量汉化
|
||||
|
||||
最简单的汉化方式是通过环境变量设置:
|
||||
|
||||
@@ -77,230 +77,7 @@ 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
|
||||
```
|
||||
|
||||
## 🎨 界面汉化效果
|
||||
|
||||
|
||||
@@ -17,9 +17,15 @@
|
||||
2. 点击 "Get started for free" 按钮
|
||||
3. 使用邮箱注册或选择第三方登录(GitHub、Google)
|
||||
|
||||

|
||||
|
||||
!!! tip "注册建议"
|
||||
建议使用企业邮箱注册,便于后续的团队协作功能
|
||||
|
||||
注册完成后,您将看到如下界面:
|
||||
|
||||

|
||||
|
||||
### 第二步:创建第一个工作流
|
||||
|
||||
注册完成后,您将进入n8n的主界面:
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
|
||||
n8n提供了丰富的节点库,覆盖了工作流自动化的各个方面。掌握这些常用节点是构建高效工作流的基础。
|
||||
|
||||

|
||||
|
||||
## 🧩 节点分类概览
|
||||
|
||||
**触发器**:手动触发、定时触发、Webhook、邮件触发、文件监控
|
||||
|
||||
@@ -8,6 +8,22 @@
|
||||
|
||||
社区节点是n8n生态系统的重要组成部分,提供了官方节点库之外的丰富功能扩展。
|
||||
|
||||
## 🔧 安装社区节点
|
||||
|
||||
### 安装步骤
|
||||
|
||||
1. **进入设置页面**:点击右上角设置按钮
|
||||
|
||||

|
||||
|
||||
2. **选择社区节点**:在设置中找到"Community Nodes"选项
|
||||
|
||||

|
||||
|
||||
3. **搜索并安装**:输入想要安装的社区节点名称
|
||||
|
||||

|
||||
|
||||
## 🌟 社区节点概述
|
||||
|
||||
### 什么是社区节点
|
||||
|
||||
@@ -17,7 +17,13 @@ n8n的模板套用方式非常直观,通过复制粘贴就能快速应用成
|
||||
### 使用方法
|
||||
|
||||
1. **复制模板代码**:在任意位置复制整段JSON文本
|
||||
|
||||

|
||||
|
||||
2. **粘贴到n8n**:在n8n画布任意位置粘贴
|
||||
|
||||

|
||||
|
||||
3. **配置参数**:根据需要调整节点参数
|
||||
4. **测试运行**:验证工作流是否正常
|
||||
|
||||
|
||||
24
health-check.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# n8n指南健康检查脚本
|
||||
echo "🔍 检查n8n指南服务状态..."
|
||||
|
||||
# 检查容器是否运行
|
||||
if docker-compose ps | grep -q "Up"; then
|
||||
echo "✅ 容器运行正常"
|
||||
else
|
||||
echo "❌ 容器未运行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查端口是否可访问
|
||||
if curl -s http://localhost:8000 > /dev/null; then
|
||||
echo "✅ 服务可访问"
|
||||
echo "📱 访问地址:http://localhost:8000"
|
||||
else
|
||||
echo "❌ 服务不可访问"
|
||||
echo "📋 查看日志:docker-compose logs"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "🎉 服务健康检查通过!"
|
||||
9
restart.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 重启n8n指南服务
|
||||
echo "🔄 重启n8n指南服务..."
|
||||
|
||||
docker-compose restart
|
||||
|
||||
echo "✅ 服务已重启"
|
||||
echo "📱 访问地址:http://localhost:8000"
|
||||
11
start.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 启动n8n指南服务
|
||||
echo "🚀 启动n8n指南服务..."
|
||||
|
||||
docker-compose up -d
|
||||
|
||||
echo "✅ 服务已启动"
|
||||
echo "📱 访问地址:http://localhost:8000"
|
||||
echo "📊 查看状态:docker-compose ps"
|
||||
echo "📋 查看日志:docker-compose logs -f"
|
||||
8
stop.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 停止n8n指南服务
|
||||
echo "🛑 停止n8n指南服务..."
|
||||
|
||||
docker-compose down
|
||||
|
||||
echo "✅ 服务已停止"
|
||||
670
快速开始.md
Normal file
@@ -0,0 +1,670 @@
|
||||
# N8N HTML 文档项目
|
||||
|
||||
这是一个基于MkDocs和Material主题构建的n8n工作流自动化指南项目。
|
||||
|
||||
## 📚 项目概述
|
||||
|
||||
### 目标
|
||||
将n8n指南内容改造为一个美观且用户友好的HTML界面,提供完整的学习路径和实践指导。
|
||||
|
||||
### 特色
|
||||
- 🎨 **美观界面**: 采用Material Design,深蓝+灰色专业配色
|
||||
- 📱 **响应式设计**: 完美适配桌面、平板、手机
|
||||
- 🔍 **强大搜索**: 中文搜索支持,快速定位内容
|
||||
- 🌓 **主题切换**: 支持明暗两种主题模式
|
||||
- 📊 **丰富组件**: 统计卡片、特性网格、流程图等
|
||||
|
||||
## 🗂️ 项目结构
|
||||
|
||||
```
|
||||
n8n_html/
|
||||
├── README.md # 项目说明文件
|
||||
└── n8n/ # MkDocs项目目录
|
||||
├── mkdocs.yml # MkDocs配置文件
|
||||
└── docs/ # 文档内容目录
|
||||
├── index.md # 首页
|
||||
├── stylesheets/ # 自定义CSS样式
|
||||
│ └── extra.css
|
||||
├── introduction/ # 引言部分
|
||||
│ ├── background.md
|
||||
│ ├── target-audience.md
|
||||
│ ├── purpose-value.md
|
||||
│ └── why-n8n.md
|
||||
├── installation/ # 安装与配置
|
||||
│ ├── quick-start.md
|
||||
│ ├── local-deployment.md
|
||||
│ ├── interface.md
|
||||
│ ├── credentials.md
|
||||
│ └── localization.md
|
||||
├── learning/ # 学习与使用
|
||||
│ ├── common-nodes.md
|
||||
│ └── basic-workflows.md
|
||||
├── reference/ # 参考资料
|
||||
│ ├── resources.md
|
||||
│ └── glossary.md
|
||||
└── ai-center/ # AI卓越中心
|
||||
├── functions.md
|
||||
└── join.md
|
||||
```
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
### 方法一:安装依赖(推荐)
|
||||
|
||||
```bash
|
||||
# 安装Python和pip(如果未安装)
|
||||
# Windows: 下载Python安装包
|
||||
# Mac: brew install python
|
||||
# Linux: apt-get install python3 python3-pip
|
||||
|
||||
# 安装MkDocs和Material主题
|
||||
pip install mkdocs
|
||||
pip install mkdocs-material
|
||||
|
||||
# 进入项目目录
|
||||
cd n8n
|
||||
|
||||
# 启动开发服务器
|
||||
mkdocs serve
|
||||
|
||||
# 访问 http://127.0.0.1:8000
|
||||
```
|
||||
|
||||
### 方法二:使用Docker
|
||||
|
||||
```bash
|
||||
# 进入项目目录
|
||||
cd n8n
|
||||
|
||||
# 使用Docker运行
|
||||
docker run --rm -it -p 8000:8000 -v ${PWD}:/docs squidfunk/mkdocs-material
|
||||
|
||||
# 访问 http://127.0.0.1:8000
|
||||
```
|
||||
|
||||
### 方法三:在线预览
|
||||
|
||||
如果遇到端口冲突,可以指定其他端口:
|
||||
|
||||
```bash
|
||||
# 使用端口8001
|
||||
mkdocs serve -a 127.0.0.1:8001
|
||||
|
||||
# 使用端口8080
|
||||
mkdocs serve -a 127.0.0.1:8080
|
||||
```
|
||||
|
||||
## 🎨 设计特色
|
||||
|
||||
### 视觉设计
|
||||
- **主色调**: 深蓝色 (#37474f) + 靛蓝色 (#3f51b5)
|
||||
- **背景**: 科技感渐变背景
|
||||
- **字体**: Arial/Helvetica 确保清晰度
|
||||
- **图标**: Material Design Icons
|
||||
|
||||
### 用户体验
|
||||
- **导航系统**: 顶部标签 + 左侧树形导航
|
||||
- **搜索功能**: 实时中文搜索
|
||||
- **内容组织**: 标签页、折叠面板、统计卡片
|
||||
- **代码高亮**: 语法高亮 + 复制按钮
|
||||
|
||||
### 交互功能
|
||||
- **动画效果**: 悬停动画、淡入效果
|
||||
- **响应式布局**: 自适应不同屏幕尺寸
|
||||
- **快捷键支持**: 常用操作快捷键
|
||||
- **打印友好**: 优化的打印样式
|
||||
|
||||
## 📖 内容组织
|
||||
|
||||
### 文档结构
|
||||
1. **引言**: 背景、目标读者、价值、选择理由
|
||||
2. **安装配置**: 快速开始、本地部署、界面、凭证、汉化
|
||||
3. **学习使用**: 常用节点、基本工作流、避坑指南、进阶应用
|
||||
4. **参考资料**: 学习资源、术语表
|
||||
5. **AI卓越中心**: 服务介绍、加入方式
|
||||
|
||||
### 内容特色
|
||||
- **循序渐进**: 从基础到高级的学习路径
|
||||
- **图文并茂**: 流程图、架构图、截图说明
|
||||
- **实战导向**: 真实案例和项目实践
|
||||
- **社区驱动**: 问题解答和经验分享
|
||||
|
||||
## 🛠️ 技术实现
|
||||
|
||||
### 基础技术栈
|
||||
- **MkDocs**: 静态站点生成器
|
||||
- **Material主题**: Google Material Design
|
||||
- **Markdown**: 内容编写格式
|
||||
- **Python**: 构建工具依赖
|
||||
|
||||
### 扩展功能
|
||||
- **搜索插件**: 中文搜索支持
|
||||
- **代码高亮**: Pygments语法高亮
|
||||
- **图表支持**: Mermaid流程图
|
||||
- **数学公式**: MathJax支持
|
||||
- **选项卡**: 内容分组展示
|
||||
|
||||
### 自定义样式
|
||||
- **CSS网格**: 特性卡片布局
|
||||
- **Flexbox**: 响应式布局
|
||||
- **CSS变量**: 主题色彩管理
|
||||
- **媒体查询**: 移动端适配
|
||||
|
||||
## 📱 移动端适配
|
||||
|
||||
### 响应式断点
|
||||
- **大屏 (>1920px)**: 完整布局,最佳体验
|
||||
- **标准 (1366-1920px)**: 标准桌面体验
|
||||
- **平板 (768-1366px)**: 折叠侧栏,核心功能保留
|
||||
- **手机 (<768px)**: 移动优化,单列布局
|
||||
|
||||
### 移动端优化
|
||||
- **触摸友好**: 按钮大小适合手指操作
|
||||
- **滑动导航**: 左右滑动切换章节
|
||||
- **快速加载**: 优化图片和资源大小
|
||||
- **离线阅读**: 支持离线缓存
|
||||
|
||||
## 🔧 构建和部署
|
||||
|
||||
### 本地开发
|
||||
```bash
|
||||
# 实时预览(开发模式)
|
||||
mkdocs serve
|
||||
|
||||
# 构建静态文件
|
||||
mkdocs build
|
||||
|
||||
# 输出目录:site/
|
||||
```
|
||||
|
||||
### 生产部署
|
||||
```bash
|
||||
# 构建生产版本
|
||||
mkdocs build
|
||||
|
||||
# 部署到GitHub Pages
|
||||
mkdocs gh-deploy
|
||||
|
||||
# 部署到自定义服务器
|
||||
# 将site/目录内容上传到Web服务器
|
||||
```
|
||||
|
||||
### 持续集成
|
||||
可以配置GitHub Actions自动构建和部署:
|
||||
|
||||
```yaml
|
||||
# .github/workflows/ci.yml
|
||||
name: ci
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.x
|
||||
- run: pip install mkdocs-material
|
||||
- run: mkdocs gh-deploy --force
|
||||
```
|
||||
|
||||
## 🎯 使用指南
|
||||
|
||||
### 编辑内容
|
||||
1. 修改 `docs/` 目录下的Markdown文件
|
||||
2. 图片放置在 `docs/assets/` 目录
|
||||
3. 运行 `mkdocs serve` 预览更改
|
||||
4. 提交更改并推送到仓库
|
||||
|
||||
### 添加新页面
|
||||
1. 在相应目录下创建新的 `.md` 文件
|
||||
2. 在 `mkdocs.yml` 的 `nav` 部分添加导航项
|
||||
3. 更新相关页面的链接
|
||||
|
||||
### 自定义样式
|
||||
1. 编辑 `docs/stylesheets/extra.css`
|
||||
2. 添加新的CSS类和样式
|
||||
3. 在Markdown中使用HTML和CSS类
|
||||
|
||||
## 🐛 常见问题
|
||||
|
||||
### 构建问题
|
||||
**问题**: `mkdocs serve` 端口被占用
|
||||
**解决**: 使用 `mkdocs serve -a 127.0.0.1:8001` 指定其他端口
|
||||
|
||||
**问题**: Material主题样式不生效
|
||||
**解决**: 确认已安装 `mkdocs-material` 包
|
||||
|
||||
### 内容问题
|
||||
**问题**: 中文搜索不工作
|
||||
**解决**: 确认配置中包含 `lang: zh` 设置
|
||||
|
||||
**问题**: 图片不显示
|
||||
**解决**: 检查图片路径,确保相对路径正确
|
||||
|
||||
## 📞 支持和反馈
|
||||
|
||||
### 技术支持
|
||||
- **GitHub Issues**: 报告Bug和功能请求
|
||||
- **讨论区**: 使用问题和建议讨论
|
||||
- **社区群**: 加入微信/QQ群获得帮助
|
||||
|
||||
### 贡献指南
|
||||
1. Fork项目仓库
|
||||
2. 创建功能分支
|
||||
3. 提交更改
|
||||
4. 发起Pull Request
|
||||
5. 代码审查和合并
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
本项目采用 MIT 许可证开源,详见 LICENSE 文件。
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有为n8n开源社区做出贡献的开发者和用户!
|
||||
|
||||
---
|
||||
|
||||
**开始您的n8n学习之旅吧!** 🚀
|
||||
|
||||
很好的问题!让我详细解释n8n指南网站中文搜索支持的技术原理和实现方式。
|
||||
|
||||
[1 tool called]
|
||||
|
||||
## 🔍 中文搜索技术原理详解
|
||||
|
||||
### 1. 基础配置原理
|
||||
|
||||
在我们的项目中,中文搜索主要通过以下配置实现:
|
||||
|
||||
```yaml
|
||||
# mkdocs.yml 中的搜索配置
|
||||
plugins:
|
||||
- search:
|
||||
lang: zh # 指定中文语言支持
|
||||
```
|
||||
|
||||
### 2. 技术架构层次
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[用户输入中文查询] --> B[前端搜索接口]
|
||||
B --> C[Lunr.js搜索引擎]
|
||||
C --> D[中文分词器]
|
||||
D --> E[索引匹配]
|
||||
E --> F[结果排序]
|
||||
F --> G[高亮显示]
|
||||
|
||||
subgraph "预处理阶段"
|
||||
H[Markdown文档] --> I[内容提取]
|
||||
I --> J[中文分词]
|
||||
J --> K[索引构建]
|
||||
end
|
||||
|
||||
K --> C
|
||||
|
||||
style D fill:#e3f2fd
|
||||
style J fill:#e8f5e8
|
||||
```
|
||||
|
||||
### 3. 核心技术组件
|
||||
|
||||
#### 3.1 Lunr.js 搜索引擎
|
||||
|
||||
**Lunr.js** 是 MkDocs-Material 内置的客户端搜索引擎:
|
||||
|
||||
```javascript
|
||||
// Lunr.js 中文搜索配置原理
|
||||
lunr(function () {
|
||||
// 中文语言支持
|
||||
this.use(lunr.zh);
|
||||
|
||||
// 字段权重配置
|
||||
this.field('title', { boost: 10 }); // 标题权重最高
|
||||
this.field('text', { boost: 1 }); // 内容权重标准
|
||||
this.field('tags', { boost: 5 }); // 标签权重较高
|
||||
|
||||
// 中文分词处理
|
||||
this.pipeline.add(
|
||||
lunr.trimmer,
|
||||
lunr.stopWordFilter,
|
||||
lunr.stemmer,
|
||||
lunr.zh.trimmer, // 中文修剪器
|
||||
lunr.zh.stopWordFilter, // 中文停止词过滤
|
||||
lunr.zh.stemmer // 中文词干提取
|
||||
);
|
||||
|
||||
// 文档索引
|
||||
documents.forEach(function(doc) {
|
||||
this.add(doc);
|
||||
}, this);
|
||||
});
|
||||
```
|
||||
|
||||
#### 3.2 中文分词处理
|
||||
|
||||
**分词算法**:
|
||||
```javascript
|
||||
// 中文分词示例
|
||||
const chineseText = "n8n工作流自动化平台";
|
||||
|
||||
// 基础分词结果
|
||||
const tokens = [
|
||||
"n8n", "工作流", "工作", "流",
|
||||
"自动化", "自动", "化", "平台"
|
||||
];
|
||||
|
||||
// 权重计算
|
||||
const weightedTokens = {
|
||||
"n8n": 1.0,
|
||||
"工作流": 0.9,
|
||||
"自动化": 0.9,
|
||||
"平台": 0.8,
|
||||
"工作": 0.6,
|
||||
"流": 0.3,
|
||||
"自动": 0.5,
|
||||
"化": 0.3
|
||||
};
|
||||
```
|
||||
|
||||
#### 3.3 索引构建过程
|
||||
|
||||
```javascript
|
||||
// 文档索引构建
|
||||
const documentProcessor = {
|
||||
// 1. 内容提取
|
||||
extractContent: function(markdown) {
|
||||
const content = {
|
||||
title: extractTitle(markdown),
|
||||
headings: extractHeadings(markdown),
|
||||
text: extractPlainText(markdown),
|
||||
tags: extractTags(markdown)
|
||||
};
|
||||
return content;
|
||||
},
|
||||
|
||||
// 2. 中文预处理
|
||||
preprocessChinese: function(text) {
|
||||
return text
|
||||
.replace(/[,。!?;:""''()【】]/g, ' ') // 替换标点
|
||||
.replace(/\s+/g, ' ') // 合并空格
|
||||
.trim(); // 去除首尾空格
|
||||
},
|
||||
|
||||
// 3. 构建搜索索引
|
||||
buildIndex: function(documents) {
|
||||
const index = lunr(function() {
|
||||
this.use(lunr.zh);
|
||||
this.ref('id');
|
||||
this.field('title', { boost: 10 });
|
||||
this.field('text');
|
||||
|
||||
documents.forEach(doc => {
|
||||
this.add({
|
||||
id: doc.id,
|
||||
title: this.preprocessChinese(doc.title),
|
||||
text: this.preprocessChinese(doc.text)
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
return index;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
### 4. 搜索流程详解
|
||||
|
||||
#### 4.1 实时搜索处理
|
||||
|
||||
```javascript
|
||||
// 前端搜索实现
|
||||
class ChineseSearch {
|
||||
constructor(index, documents) {
|
||||
this.index = index;
|
||||
this.documents = documents;
|
||||
this.minQueryLength = 1; // 中文最小查询长度
|
||||
}
|
||||
|
||||
search(query) {
|
||||
if (query.length < this.minQueryLength) {
|
||||
return [];
|
||||
}
|
||||
|
||||
// 中文查询预处理
|
||||
const processedQuery = this.preprocessQuery(query);
|
||||
|
||||
// 执行搜索
|
||||
const results = this.index.search(processedQuery);
|
||||
|
||||
// 结果后处理
|
||||
return this.postprocessResults(results, query);
|
||||
}
|
||||
|
||||
preprocessQuery(query) {
|
||||
// 中文查询增强
|
||||
const enhanced = query
|
||||
.split('')
|
||||
.map(char => {
|
||||
if (/[\u4e00-\u9fff]/.test(char)) {
|
||||
// 中文字符模糊匹配
|
||||
return `${char}* ${char}~1`;
|
||||
}
|
||||
return char;
|
||||
})
|
||||
.join(' ');
|
||||
|
||||
return enhanced;
|
||||
}
|
||||
|
||||
postprocessResults(results, originalQuery) {
|
||||
return results.map(result => {
|
||||
const doc = this.documents[result.ref];
|
||||
const highlights = this.generateHighlights(doc, originalQuery);
|
||||
|
||||
return {
|
||||
...result,
|
||||
document: doc,
|
||||
highlights: highlights
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 4.2 高亮显示算法
|
||||
|
||||
```javascript
|
||||
// 中文文本高亮
|
||||
function highlightChinese(text, query) {
|
||||
const queryChars = query.split('');
|
||||
let highlightedText = text;
|
||||
|
||||
queryChars.forEach(char => {
|
||||
if (/[\u4e00-\u9fff]/.test(char)) {
|
||||
const regex = new RegExp(char, 'gi');
|
||||
highlightedText = highlightedText.replace(
|
||||
regex,
|
||||
`<mark>${char}</mark>`
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
return highlightedText;
|
||||
}
|
||||
```
|
||||
|
||||
### 5. 性能优化策略
|
||||
|
||||
#### 5.1 索引优化
|
||||
|
||||
```javascript
|
||||
// 索引大小优化
|
||||
const optimizedIndex = {
|
||||
// 停止词过滤
|
||||
stopWords: ['的', '了', '在', '是', '我', '有', '和', '就'],
|
||||
|
||||
// 词频阈值
|
||||
minTermFrequency: 2,
|
||||
|
||||
// 索引压缩
|
||||
compress: true,
|
||||
|
||||
// 字段选择性索引
|
||||
indexFields: {
|
||||
title: { weight: 10, store: true },
|
||||
content: { weight: 1, store: false },
|
||||
tags: { weight: 5, store: true }
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
#### 5.2 搜索性能
|
||||
|
||||
```javascript
|
||||
// 搜索性能优化
|
||||
class SearchOptimizer {
|
||||
constructor() {
|
||||
this.cache = new Map();
|
||||
this.debounceDelay = 300; // 防抖延迟
|
||||
}
|
||||
|
||||
// 结果缓存
|
||||
cachedSearch(query) {
|
||||
if (this.cache.has(query)) {
|
||||
return this.cache.get(query);
|
||||
}
|
||||
|
||||
const results = this.performSearch(query);
|
||||
this.cache.set(query, results);
|
||||
|
||||
// 限制缓存大小
|
||||
if (this.cache.size > 100) {
|
||||
const firstKey = this.cache.keys().next().value;
|
||||
this.cache.delete(firstKey);
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
// 防抖搜索
|
||||
debouncedSearch = debounce((query, callback) => {
|
||||
const results = this.cachedSearch(query);
|
||||
callback(results);
|
||||
}, this.debounceDelay);
|
||||
}
|
||||
```
|
||||
|
||||
### 6. 中文搜索特殊处理
|
||||
|
||||
#### 6.1 字符编码处理
|
||||
|
||||
```javascript
|
||||
// Unicode 中文字符范围
|
||||
const chineseRanges = {
|
||||
basic: /[\u4e00-\u9fff]/, // 基本中文字符
|
||||
punctuation: /[\u3000-\u303f]/, // 中文标点符号
|
||||
symbols: /[\uff00-\uffef]/, // 全角字符
|
||||
radicals: /[\u2e80-\u2eff]/, // 部首
|
||||
extensions: /[\u3400-\u4dbf]/ // 扩展A区
|
||||
};
|
||||
|
||||
function isChineseChar(char) {
|
||||
return chineseRanges.basic.test(char) ||
|
||||
chineseRanges.extensions.test(char);
|
||||
}
|
||||
```
|
||||
|
||||
#### 6.2 拼音搜索支持
|
||||
|
||||
```javascript
|
||||
// 拼音搜索增强(可选)
|
||||
const pinyinMap = {
|
||||
'工': ['gong'],
|
||||
'作': ['zuo'],
|
||||
'流': ['liu'],
|
||||
'自': ['zi'],
|
||||
'动': ['dong'],
|
||||
'化': ['hua']
|
||||
};
|
||||
|
||||
function addPinyinSupport(text) {
|
||||
return text.split('').map(char => {
|
||||
const pinyin = pinyinMap[char];
|
||||
return pinyin ? `${char} ${pinyin.join(' ')}` : char;
|
||||
}).join(' ');
|
||||
}
|
||||
```
|
||||
|
||||
### 7. 配置文件完整实现
|
||||
|
||||
让我为您展示一个完整的中文搜索配置:
|
||||
|
||||
```yaml
|
||||
# 高级中文搜索配置
|
||||
plugins:
|
||||
- search:
|
||||
lang: zh
|
||||
separator: '[\s\-\.]+' # 分隔符正则
|
||||
indexing: 'full' # 全文索引
|
||||
prebuild_index: python # 预构建索引
|
||||
min_search_length: 1 # 最小搜索长度
|
||||
|
||||
# 中文优化的Markdown扩展
|
||||
markdown_extensions:
|
||||
- pymdownx.superfences # 代码块支持
|
||||
- attr_list # 属性列表
|
||||
- md_in_html # HTML中的Markdown
|
||||
|
||||
# 主题中文搜索配置
|
||||
theme:
|
||||
name: material
|
||||
language: zh
|
||||
features:
|
||||
- search.highlight # 搜索高亮
|
||||
- search.share # 搜索分享
|
||||
- search.suggest # 搜索建议
|
||||
```
|
||||
|
||||
### 8. 测试搜索功能
|
||||
|
||||
您可以测试以下中文搜索场景:
|
||||
|
||||
```bash
|
||||
# 启动服务后测试这些搜索词
|
||||
搜索词示例:
|
||||
- "工作流" # 精确匹配
|
||||
- "n8n" # 英文关键词
|
||||
- "自动化" # 常用词汇
|
||||
- "安装" # 功能搜索
|
||||
- "AI代理" # 复合词
|
||||
- "避坑" # 俚语搜索
|
||||
```
|
||||
|
||||
### 9. 未来优化方向
|
||||
|
||||
```javascript
|
||||
// 可能的增强功能
|
||||
const futureEnhancements = {
|
||||
// 1. 智能联想
|
||||
smartSuggestion: true,
|
||||
|
||||
// 2. 语义搜索
|
||||
semanticSearch: true,
|
||||
|
||||
// 3. 搜索统计
|
||||
searchAnalytics: true,
|
||||
|
||||
// 4. 个性化搜索
|
||||
personalizedResults: true,
|
||||
|
||||
// 5. 多语言混合搜索
|
||||
multilingual: ['zh', 'en']
|
||||
};
|
||||
```
|
||||
|
||||
这就是我们n8n指南网站中文搜索的完整技术实现!通过Lunr.js + 中文分词 + Material主题的组合,实现了高效准确的中文全文搜索功能。🔍
|
||||