企业微信 AI 机器人
基于企业微信自建应用搭建的 AI 机器人,经历两次架构迭代,当前为 NestJS 全栈版本。
项目迭代
| 版本 | 架构 | 状态 |
|---|---|---|
| v1 | Cloudflare Workers + Node.js (原生) | 已弃用 |
| v2 | NestJS + TypeScript + better-sqlite3 + Vben Admin | 🟢 当前版本 |
v2 在 v1 基础上进行了全面重构,从原生 Node.js 脚本迁移到企业级 NestJS 框架,并配备了现代化的管理后台。
v2 架构
企业微信 ←→ Nginx (HTTPS) ←→ NestJS (PM2) ←→ SQLite
↑
@nestjs/schedule
定时任务 (09:00)技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| 后端框架 | NestJS + TypeScript | 模块化架构,依赖注入 |
| 数据库 | better-sqlite3 | 轻量级本地数据库,零配置 |
| 认证 | JWT (jsonwebtoken + bcryptjs) | 管理后台登录认证 |
| 定时任务 | @nestjs/schedule | 每日 09:00 自动推送 |
| 前端框架 | Vben Admin 5.x | 企业级中后台管理界面 |
| 前端技术 | Vue 3 + Vite 5 + Element Plus + Pinia | 现代化前端技术栈 |
| 部署 | PM2 + Nginx + Certbot SSL | 阿里云服务器生产部署 |
功能
- 📤 定时推送: 每天 09:00 自动推送新闻/资讯消息卡片
- 🔘 按钮交互:
template_card交互按钮(点赞/踩/刷新),用户点击回调处理 - 📊 反馈统计: 记录用户互动数据,支持查询统计
- 🖥 管理后台: Vben Admin 可视化后台,管理消息推送和查看数据
- 📈 服务器监控: 前端实时展示 CPU、内存、进程等运行信息
- 🔐 安全验证: 企业微信标准 SHA1 + AES-256-CBC 回调签名验证
- 🔑 JWT 认证: 管理后台登录认证与权限控制
API 路由
| 方法 | 路径 | 说明 |
|---|---|---|
GET POST | /callback | 企业微信回调(URL验证 + 事件接收) |
POST | /push | 手动触发推送 |
GET | /stats | 查看反馈统计 |
POST | /test | 发送测试消息 |
GET | /api/server-info | 服务器运行信息 |
GET | / | 健康检查 |
项目结构 (v2)
qywx/
├── backend/ # NestJS 后端
│ ├── src/
│ │ ├── main.ts # 应用入口
│ │ ├── app.module.ts # 根模块
│ │ ├── wecom/ # 企业微信回调模块
│ │ ├── push/ # 消息推送模块
│ │ ├── auth/ # JWT 认证模块
│ │ ├── task/ # 定时任务模块
│ │ └── common/ # 公共工具
│ ├── ecosystem.config.js # PM2 配置
│ └── package.json
├── frontend/ # Vben Admin 前端
│ └── ...
└── deploy/ # 部署脚本部署
服务器
阿里云 47.105.83.78,Nginx 反代到 localhost:3000,HTTPS 通过 Certbot 自动续期。
部署流程
本地开发 → git push → SSH aliyun → cd /opt/qywx
→ git pull → npm install → npm run build
→ pm2 restart qywx-api企业微信配置
进入企业微信后台 → 应用管理 → 自建应用 → 接收消息:
- URL:
https://qywx.zhuonian.xyz/callback - Token / EncodingAESKey 与后端
.env一致
企业微信配置项
| 变量 | 说明 |
|---|---|
WECOM_CORP_ID | 企业 ID(ww 开头) |
WECOM_CORP_SECRET | 应用 Secret |
WECOM_AGENT_ID | 应用 AgentID |
WECOM_TOKEN | 回调验证 Token |
WECOM_ENCODING_AES_KEY | 回调加密密钥(43 位) |
相关链接
- 管理后台: qywx.zhuonian.xyz
- 项目路径:
C:\Users\zhuonian\WorkBuddy\qywx - 企业微信自建应用文档
- 企业微信消息推送