taskkill /F /IM nginx.exe

This commit is contained in:
zqm
2026-03-20 16:51:31 +08:00
parent 6e0b5aa056
commit ed54296f62
11 changed files with 1190 additions and 766 deletions

View File

@@ -78,9 +78,16 @@ sequenceDiagram
由于SmartClaw服务在内网中外网不能访问它采用**WebSocket反向连接方案**
1. **SmartClaw服务主动连接**服务器B启动时主动WebSocket连接到服务器Awss://pactgo.cn/ws/control
2. **长连接保持**:维持持久WebSocket连接支持心跳检测和断线重连
3. **双向通信**服务器A通过WebSocket发送任务服务器B处理完成后回传结果
4. **零配置**使用Embedded-Redis仅网关服务启动无需独立Redis服务
2. **单一连接**服务器B与服务器A之间只建立一个WebSocket连接不需要列表管理
3. **长连接保持**维持持久WebSocket连接支持心跳检测和断线重连
4. **双向通信**服务器A通过WebSocket发送任务服务器B处理完成后回传结果
5. **零配置**使用Embedded-Redis仅网关服务启动无需独立Redis服务
### 4.2.1 WebSocket连接管理
- **服务器B与服务器A**只建立一个WebSocket连接无需列表管理
- **其他设备与服务器A**通过WebSocket连接到服务器A的 `/ws/task` 路径,需要使用连接列表进行管理
- **连接管理**:使用 `ConnectionManager` 结构体管理设备与服务器A的WebSocket连接支持多用户多设备场景
### 4.3 SmartClaw服务与LMStudio通信
@@ -191,12 +198,78 @@ Claw/
* 编写部署文档
* 编写使用文档
## 8. 注意事项
## 8. 企业微信配置详情
### 8.1 企业微信应用配置
**应用基本信息:**
- 应用名称:智控未来
- 应用主页: https://pactgo.cn
- 回调地址: https://pactgo.cn/wecom
- 使用CorpID和Secret进行认证
**回调地址说明:**
- 企业微信会将用户消息和事件推送到此地址
- 必须是HTTPS协议企业微信强制要求
- 路径为 `/wecom`,对应网关服务的 `/api/v1/wecom` 路由
- 支持GET验证和POST消息推送请求
### 8.2 网络通信路径
**完整的消息流转路径:**
```
用户发送消息 → 企业微信 → https://pactgo.cn/wecom → Nginx → 网关服务(/api/v1/wecom) → 处理消息
```
**路径映射关系:**
| 外部URL | Nginx Location | 代理目标 | 网关路由 | 处理函数 |
|---------|----------------|----------|----------|----------|
| `https://pactgo.cn/wecom` | `/wecom` | `/wecom` | `/wecom` | `handle_wechat_callback` |
### 8.3 消息处理流程
1. **URL验证GET请求**
- 企业微信首次配置时会发送GET请求进行URL验证
- 网关服务需要正确响应验证参数
- 验证通过后企业微信才会发送实际消息
2. **消息推送POST请求**
- 用户在企业微信应用中发送消息
- 企业微信将消息POST到回调地址
- 网关服务接收并处理消息
- 返回正确响应给企业微信
### 8.4 路径一致性检查
**企业微信配置路径:**
- 回调地址:`https://pactgo.cn/wecom`
**Nginx代理配置**
```nginx
location /wecom {
proxy_pass http://127.0.0.1:8000/api/v1/wecom;
}
```
**网关服务路由:**
```rust
.route("/wecom", web::post().to(handle_wechat_callback))
```
**验证结果:** ✅ 路径完全一致
## 9. 注意事项
</tool_call>
1. **网络通信**:
* 服务器B在内网中使用WebSocket反向连接方案SmartClaw服务主动连接网关服务的WebSocket
* 维持持久WebSocket连接支持心跳检测和断线重连
* 使用Embedded-Redis进行多用户多设备状态管理
* **重要:企业微信回调地址必须保持一致**
- 企业微信配置:`https://pactgo.cn/wecom`
- Nginx代理`/wecom``/api/v1/wecom`
- 网关服务路由:`/wecom`
- 确保路径完全一致,否则消息无法到达网关服务
2. **安全考虑**:
* 所有通信使用HTTPS加密企业微信强制要求
@@ -222,15 +295,99 @@ Claw/
* 服务器AWindows Server 2012系统
* 服务器BWindows Server 2012系统安装LMStudio
## 9. 开发计划
## 9. 部署配置详情
### 9.1 阶段一:基础设施搭建
### 9.1 企业微信应用配置
**必须配置的参数:**
- **应用名称**:智控未来
- **应用主页**https://pactgo.cn
- **回调地址**https://pactgo.cn/wecom
- **CorpID**企业微信的企业ID
- **Secret**:应用的密钥
- **Token**:用于签名验证
- **EncodingAESKey**:消息加解密密钥
**回调地址验证:**
- 企业微信会发送GET请求到 `https://pactgo.cn/wecom` 进行URL验证
- 网关服务必须正确响应验证参数
- 验证通过后才会开始推送消息
### 9.2 Nginx配置验证
**关键配置项:**
```nginx
server {
listen 443 ssl;
server_name pactgo.cn;
# 企业微信回调 - 必须正确配置
location /wecom {
proxy_pass http://127.0.0.1:8000/api/v1/wecom;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 企业微信回调特殊处理
proxy_read_timeout 30s;
proxy_connect_timeout 10s;
}
}
```
**配置检查清单:**
- [ ] SSL证书有效且未过期
- [ ] 443端口已开放
- [ ] `/wecom` 路径正确代理到网关服务
- [ ] 超时设置合理建议30秒
### 9.3 网关服务配置
**必须实现的路由:**
```rust
// 企业微信回调 - 必须匹配企业微信配置
.route("/wecom", web::post().to(handle_wechat_callback))
// 其他路由
.route("/wechat/miniprogram/callback", web::post().to(handle_wechat_miniprogram_callback))
.route("/ws/control", web::get().to(websocket_handler))
```
**处理函数要求:**
- 必须实现GET方法用于URL验证
- 必须实现POST方法用于消息处理
- 必须正确验证签名
- 必须返回正确的响应格式
### 9.4 路径一致性检查
**完整路径映射:**
| 外部URL | Nginx Location | 代理目标 | 网关路由 | 处理函数 |
|---------|----------------|----------|----------|----------|
| `https://pactgo.cn/wecom` | `/wecom` | `/api/v1/wecom` | `/wecom` | `handle_wechat_callback` |
| `https://pactgo.cn/api/v1/wechat/miniprogram/callback` | `/api/v1/wechat/miniprogram/callback` | `/api/v1/wechat/miniprogram/callback` | `/wechat/miniprogram/callback` | `handle_wechat_miniprogram_callback` |
**验证命令:**
```bash
# 测试企业微信回调地址
curl -X GET "https://pactgo.cn/wecom?msg_signature=xxx&timestamp=xxx&nonce=xxx&echostr=xxx"
# 测试微信小程序回调地址
curl -X POST "https://pactgo.cn/api/v1/wechat/miniprogram/callback" \
-H "Content-Type: application/json" \
-d '{"code":"test_code"}'
```
## 10. 开发计划
### 10.1 阶段一:基础设施搭建
- 配置服务器环境
- 安装必要的软件和依赖
- 搭建开发环境
### 9.2 阶段二:后端开发
### 10.2 阶段二:后端开发
- 开发网关服务服务器A的Web服务Embedded-Redis多用户管理
- 开发SmartClaw服务服务器B的Web服务WebSocket客户端
@@ -238,19 +395,23 @@ Claw/
- 开发智能控制核心逻辑
- 集成LMStudio APISSE流式响应
### 9.3 阶段三:前端开发
### 10.3 阶段三:前端开发
- 开发微信小程序官方原生技术栈WXML+WXSS+JS
- 配置企业微信应用企业微信JS-SDK
- 应用名称:智控未来
- 应用主页: https://pactgo.cn
- 回调地址: https://pactgo.cn/wecom
- 使用CorpID和Secret进行认证
### 9.4 阶段四:测试与部署
### 10.4 阶段四:测试与部署
- 功能测试
- 性能测试
- 安全测试
- 部署到生产环境
### 9.5 阶段五:运维与监控
### 10.5 阶段五:运维与监控
- 配置监控系统
- 制定运维计划