Files
JoyD/Claw/README.md
2026-03-16 15:47:55 +08:00

141 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claw项目 - 企业微信智控未来系统
## 项目背景
Claw项目是一个企业微信智控未来系统包含两台服务器
- 服务器A局域网服务器有固定IP外网可以访问
- 服务器B阿里云主机在内网中外网不能访问安装了LMStudio
目标是使用Rust和React实现以下功能用户通过企业微信应用"智控未来"和微信小程序进行聊天下发任务。任务经服务器A转到服务器BB上的自建龙虾处理后返回结果给用户。
## 项目结构
```
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的环境
* 确保代码在目标环境中能正常运行