wechat-on-airflow 是一个基于 Apache Airflow 的项目,用于管理和编排 AI 驱动的微信聊天机器人工作流,实现自动回复消息、定时发送通知、自动更新菜单以及与微信 API 集成等自动化任务,提升微信机器人的响应效率和运营优化。
👤 👤 👤 👤 👤
+-----------------------------------------------------------------------------------------+ +-----------+
| 🖥️ 用户浏览器: 访问网站管理页面(Web前端) | -[公网]->| 🔑 鉴权服务 |
+-----------------------------------------------------------------------------------------+ +-----------+
|
[公网] Https://xxx.com
↓
+-----------------------------------------------------------------------------------------+ +------------+
| 🔄 Nginx (后端服务代理) | -[内网]->| 🗳️ Web服务器|
+-----------------------------------------------------------------------------------------+ +------------+
| | |
[内网]查询聊天记录(触发式) [内网]发送消息\查询状态数据(触发式+定时任务) [内网]知识库接口(触发式)
↓ ↓ ↓
+---------+ +---------+ +------------------------+ +-------------------+ +-------------+
| ☁️ 云函数 | <---> | 💾 Mysql | <--->| ⭐️ Airflow (开源项目) |-[跨境]->| 🤖 Dify (开源项目) | ----> | 🧠 大模型服务 |
+---------+ +---------+ <-> +------------------------+ +-------------------+ +-------------+
| ↓
| +------------------------+
|-------------------------- | 🔌 FRPS (云服务器) |
| | +------------------------+
| | |
新消息转发 发送消息\查询数据 内网穿透
| | ↓
+---------+ | +-------------------------+
| ☁️ 云函数 | | | 🔄 Appium+FRPC(本地主机) |
+---------+ | +-------------------------+
↑ | | |
| | | |
新消息上报 官方API接口 周期查询新消息 发送消息
| ↓ ↓ ↓
+----------------------------+ +---------------------------+
| 📨 微信公众号\企业微信 | | 💬 微信手机客户端 (安卓) |
+----------------------------+ +---------------------------+
备注:
- WEB UI: 自研前端, 多账号管理的前端页面
- 微信手机客户端: 推荐使用红米手机
- 微信公众号\企业微信:官方接口提供支持
- Appium: 开源组件,支持自动化操作微信客户端,模拟用户操作,实现消息收发、好友管理等功能
- FRPC\FRPS: 开源组件,用于内网穿透,使外网能够访问内网服务,实现远程控制和数据传输
- Airflow: 开源组件, 用于管理和编排工作流 (中转消息、特性开关、消息聚合等)
- Dify: 开源组件, 用于智能客服的业务逻辑
- 大模型服务: 各大模型供应商的API服务
- 云函数:使用腾讯云云函数, 实现部分中转功能
- Mysql: 腾讯云数据库, 存储比较重要的聊天记录等数据
- Nginx: 开源组件, 主要负责负载均衡、转发流量等
- Nacos: 开源组件, 配置中心, 用于存储配置信息
- 鉴权服务: 用于用户注册、登录、鉴权等, 推荐使用Supabase
- 接收文字消息
- 接收图片消息
- 接收语音消息
- 接收视频消息
- 接收文件消息
- 发送文字消息
- 发送图片消息
- 发送语音消息
- 发送视频消息
- 发送文件消息
- 接收文字消息
- 接收图片消息
- 接收语音消息
- 接收视频消息
- 接收文件消息
- 发送文字消息
- 发送图片消息
- 发送语音消息
- 发送视频消息
- 发送文件消息
- 接收文字消息
- 接收图片消息
- 接收语音消息
- 接收视频消息
- 接收文件消息
- 发送文字消息
- 发送图片消息
- 发送语音消息
- 发送视频消息
- 发送文件消息
Contributors