Claw 项目完整结构提交
This commit is contained in:
141
Claw/README.md
Normal file
141
Claw/README.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Claw项目 - 企业微信智控未来系统
|
||||
|
||||
## 项目背景
|
||||
|
||||
Claw项目是一个企业微信智控未来系统,包含两台服务器:
|
||||
|
||||
- 服务器A:局域网服务器,有固定IP,外网可以访问
|
||||
- 服务器B:阿里云主机,在内网中,外网不能访问,安装了LMStudio
|
||||
|
||||
目标是使用Rust和React实现以下功能:用户通过企业微信应用"智控未来"和微信小程序进行聊天,下发任务。任务经服务器A转到服务器B,B上的自建龙虾处理后返回结果给用户。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
Claw/
|
||||
├── Server/ # 后端服务
|
||||
│ ├── gateway/ # 网关服务(服务器A)
|
||||
│ │ ├── src/ # 源代码
|
||||
│ │ ├── target/ # 编译产出
|
||||
│ │ └── Cargo.toml # 项目配置
|
||||
│ ├── SmartClaw/ # 智能控制服务(服务器B)
|
||||
│ │ ├── src/ # 源代码
|
||||
│ │ ├── target/ # 编译产出
|
||||
│ │ └── Cargo.toml # 项目配置
|
||||
│ └── shared/ # 共享代码
|
||||
│ ├── src/ # 源代码
|
||||
│ ├── target/ # 编译产出
|
||||
│ └── Cargo.toml # 项目配置
|
||||
├── client/ # 客户端代码
|
||||
│ ├── wechat_app/ # 微信应用代码
|
||||
│ │ ├── src/ # 源代码
|
||||
│ │ └── dist/ # 编译产出
|
||||
│ └── web/ # 网页版客户端代码(可选)
|
||||
│ ├── src/ # 源代码
|
||||
│ ├── dist/ # 编译产出
|
||||
│ └── package.json # 项目配置
|
||||
├── build/ # 构建产物
|
||||
│ ├── gateway/ # 网关服务构建产物
|
||||
│ ├── SmartClaw/ # 智能控制服务构建产物
|
||||
│ └── client/ # 客户端构建产物
|
||||
├── docs/ # 项目文档
|
||||
├── scripts/ # 脚本文件
|
||||
│ ├── build.sh # 构建脚本
|
||||
│ ├── deploy_gateway.sh # 网关服务部署脚本
|
||||
│ └── deploy_smart_claw.sh # 智能控制服务部署脚本
|
||||
├── .gitignore # Git忽略文件
|
||||
├── Cargo.toml # 根Rust项目配置
|
||||
├── package.json # 客户端项目配置
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
## 技术栈
|
||||
|
||||
### 后端
|
||||
|
||||
- **语言**: Rust 1.70+
|
||||
- **框架**: Actix Web 4.0+
|
||||
- **异步运行时**: Tokio 1.0+
|
||||
- **序列化/反序列化**: Serde 1.0+
|
||||
- **HTTP客户端**: Reqwest 0.11+
|
||||
- **缓存和消息队列**: Redis 7.0+
|
||||
- **数据存储**: PostgreSQL 14.0+
|
||||
|
||||
### 前端
|
||||
|
||||
- **框架**: React 18.0+
|
||||
- **类型系统**: TypeScript 5.0+
|
||||
- **构建工具**: Vite 4.0+
|
||||
- **样式框架**: Tailwind CSS 3.0+
|
||||
- **HTTP客户端**: Axios 1.0+
|
||||
- **开发工具**: WeChat Developer Tools 最新版
|
||||
|
||||
## 开发计划
|
||||
|
||||
1. **准备阶段**:
|
||||
* 创建项目基础结构
|
||||
* 初始化Git仓库
|
||||
* 初始化Rust和前端项目
|
||||
|
||||
2. **后端开发**:
|
||||
* 开发服务器A后端(网关服务)
|
||||
* 开发服务器B后端(SmartClaw服务)
|
||||
* 测试服务器间通信
|
||||
|
||||
3. **前端开发**:
|
||||
* 开发微信小程序
|
||||
* 配置企业微信应用
|
||||
|
||||
4. **部署与测试**:
|
||||
* 编写部署脚本
|
||||
* 部署到服务器
|
||||
* 功能测试
|
||||
* 性能测试
|
||||
* 安全测试
|
||||
|
||||
5. **文档编写**:
|
||||
* 编写项目文档
|
||||
* 编写API文档
|
||||
* 编写部署文档
|
||||
* 编写使用文档
|
||||
|
||||
## 开始开发
|
||||
|
||||
### 后端开发
|
||||
|
||||
1. 进入Server目录
|
||||
2. 运行 `cargo build` 构建项目
|
||||
3. 运行 `cargo run --bin gateway` 启动网关服务
|
||||
4. 运行 `cargo run --bin smartclaw` 启动SmartClaw服务
|
||||
|
||||
### 前端开发
|
||||
|
||||
1. 进入client/web目录
|
||||
2. 运行 `npm install` 安装依赖
|
||||
3. 运行 `npm run dev` 启动开发服务器
|
||||
|
||||
## 部署
|
||||
|
||||
1. 运行 `scripts/build.sh` 构建项目
|
||||
2. 运行 `scripts/deploy_gateway.sh` 部署网关服务
|
||||
3. 运行 `scripts/deploy_smart_claw.sh` 部署SmartClaw服务
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **网络通信**:
|
||||
* 服务器B在内网中,需要使用反向代理和WebSocket实现与服务器A的通信
|
||||
|
||||
2. **安全考虑**:
|
||||
* 所有通信使用HTTPS加密
|
||||
* 服务器A配置防火墙,只开放必要的端口
|
||||
* 服务器B只允许来自服务器A的连接
|
||||
* 实现认证与授权机制
|
||||
|
||||
3. **性能考虑**:
|
||||
* 优化服务器间通信
|
||||
* 合理使用LMStudio
|
||||
* 实现异步处理,提供任务状态反馈
|
||||
|
||||
4. **兼容性**:
|
||||
* 考虑Windows Server 2012的环境
|
||||
* 确保代码在目标环境中能正常运行
|
||||
Reference in New Issue
Block a user