400 lines
9.5 KiB
Markdown
400 lines
9.5 KiB
Markdown
|
|
# 社区节点
|
|||
|
|
|
|||
|
|
## 📚 学习资源
|
|||
|
|
|
|||
|
|
- **社区节点排行榜**:[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<INodeExecutionData[][]> {
|
|||
|
|
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`);
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📈 社区节点趋势
|
|||
|
|
|
|||
|
|
### 热门类别分析
|
|||
|
|
|
|||
|
|
<div class="stats-grid">
|
|||
|
|
<div class="stat-item">
|
|||
|
|
<span class="stat-number">35%</span>
|
|||
|
|
<span class="stat-label">AI/ML集成</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="stat-item">
|
|||
|
|
<span class="stat-number">25%</span>
|
|||
|
|
<span class="stat-label">数据库连接</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="stat-item">
|
|||
|
|
<span class="stat-number">20%</span>
|
|||
|
|
<span class="stat-label">通讯工具</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="stat-item">
|
|||
|
|
<span class="stat-number">20%</span>
|
|||
|
|
<span class="stat-label">行业特定</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
### 发展趋势
|
|||
|
|
|
|||
|
|
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 }
|