feat: 支持 HTTP 回调和 WebSocket 长连接两种模式

新增功能:
- 通过 FEISHU_MODE 配置切换模式 (http/websocket)
- 安装飞书 SDK (@larksuiteoapi/node-sdk)
- WebSocket 模式支持内网部署(无需公网 IP)
- 新增 WEBSOCKET.md 配置指南

更新:
- README.md 添加两种模式说明
- .env.example 添加 FEISHU_MODE 配置
- 健康检查返回当前模式信息
This commit is contained in:
饭团
2026-03-05 16:42:17 +08:00
parent 5294bf49d8
commit 3769d164b1
6 changed files with 499 additions and 11 deletions

View File

@@ -46,13 +46,29 @@
### 3. 配置事件订阅
**方式一HTTP 回调(默认)**
1. 进入"事件订阅"页面
2. 开启"启用事件订阅"
3. 填写请求地址:`https://your-domain.com/feishu/event`
2. 选择 **"HTTP 回调"** 方式
3. 开启"启用事件订阅"
4. 填写请求地址:`https://your-domain.com/feishu/event`
5. 配置订阅事件:
- `im.message.receive_v1` - 接收消息
6. 保存后复制 Verification Token 和 Encrypt Key
**方式二WebSocket 长连接(内网推荐)**
1. 进入"事件订阅"页面
2. 选择 **"WebSocket 长连接"** 方式
3. 开启"启用事件订阅"
4. 配置订阅事件:
- `im.message.receive_v1` - 接收消息
- `im.message.group_at_msg.receive_v1` - 群组 @ 消息(可选)
5. 保存后复制 Verification Token 和 Encrypt Key
6.`.env` 中设置 `FEISHU_MODE=websocket`
> **💡 提示:** WebSocket 模式不需要公网 IP适合内网部署。
>
> 详细配置请查看 [`WEBSOCKET.md`](./WEBSOCKET.md)
### 4. 配置机器人
@@ -168,6 +184,11 @@ FEISHU_APP_SECRET=xxxxxxxxxxxxxx
FEISHU_VERIFICATION_TOKEN=xxxxxxxxxxxxxx
FEISHU_ENCRYPT_KEY=xxxxxxxxxxxxxx
# 飞书事件接收模式http (HTTP 回调) 或 websocket (WebSocket 长连接)
# - http: 需要公网 IP/域名,配置简单
# - websocket: 不需要公网 IP内网可用
FEISHU_MODE=http
# 七牛云配置(可选,也可通过卡片配置)
QINIU_ACCESS_KEY=xxxxxxxxxxxxxx
QINIU_SECRET_KEY=xxxxxxxxxxxxxx
@@ -241,7 +262,8 @@ qiniu-feishu-bot/
├── README.md # 项目说明
├── DEPLOY.md # 详细部署指南Linux/macOS/Windows
├── WINDOWS.md # Windows 专用指南
── NGINX.md # Nginx 反向代理部署指南
── NGINX.md # Nginx 反向代理部署指南
└── WEBSOCKET.md # WebSocket 长连接模式配置指南
```
---