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

4.6 KiB
Raw Blame History

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的环境
    • 确保代码在目标环境中能正常运行