| ruoyi-fastapi-backend | ||
| ruoyi-fastapi-frontend | ||
| .gitignore | ||
| LICENSE | ||
| main.py | ||
| README.md | ||
康达机器人管理系统
基于RuoYi-Vue3+FastAPI的智能机器人综合管理平台
平台简介
康达机器人管理系统是基于RuoYi-Vue3-FastAPI框架开发的智能机器人综合管理平台,专注于提供机器人设备管理、人脸识别、门禁控制、讲解内容管理等功能。
- 后端采用FastAPI、SQLAlchemy、Redis、OAuth2 & Jwt构建高性能异步API服务
- 前端基于Vue3、Element Plus实现现代化UI界面
- 集成海康威视平台实现门禁设备管理和视频监控
- 集成Compreface实现高精度人脸识别功能
- 支持机器人角色管理、讲解内容管理、动作控制等机器人专属功能
- 提供完整的系统监控、日志管理、权限控制等企业级特性
核心功能
系统管理
- 用户管理:系统用户配置、权限分配
- 角色管理:角色菜单权限分配、数据范围权限控制
- 菜单管理:动态菜单配置、操作权限管理
- 字典管理:系统固定数据维护
- 操作日志:系统操作记录查询与审计
- 登录日志:用户登录记录及异常监控
机器人管理
- 机器人信息管理:机器人基本信息维护
- 机器人角色配对:机器人与角色关联管理
- 机器人动作管理:机器人动作序列配置
- 引导词管理:机器人引导语配置
- 讲解内容管理:讲解内容的增删改查
- 讲解风格管理:不同机器人讲解风格配置
人脸识别与门禁
- 人脸识别管理:基于Compreface的人脸检测与识别
- 门禁设备管理:海康威视门禁设备的配置与控制
- 识别记录管理:人脸识别记录查询与统计
- 识别统计管理:人脸识别数据统计分析
系统监控与维护
- 在线用户:活跃用户状态监控
- 定时任务:任务调度与执行日志
- 服务监控:系统CPU、内存、磁盘等资源监控
- 代码生成:数据库表一键生成前后端代码
技术栈
后端技术
| 技术 | 版本 | 用途 |
|---|---|---|
| FastAPI | ≥0.100.0 | 异步Web框架 |
| SQLAlchemy | ≥2.0.0 | ORM框架 |
| Redis | ≥6.0 | 缓存、会话管理 |
| MySQL/PostgreSQL | ≥5.7/≥12.0 | 数据库 |
| OAuth2 + JWT | - | 身份认证与授权 |
| Asyncio | - | 异步编程支持 |
前端技术
| 技术 | 版本 | 用途 |
|---|---|---|
| Vue3 | ≥3.2.0 | 前端框架 |
| Element Plus | ≥2.0.0 | UI组件库 |
| Vue Router | ≥4.0.0 | 路由管理 |
| Pinia | ≥2.0.0 | 状态管理 |
| Vite | ≥4.0.0 | 构建工具 |
第三方服务集成
| 服务 | 用途 |
|---|---|
| 海康威视平台 | 门禁设备管理、视频监控 |
| Compreface | 人脸识别服务 |
| RAGFlow | AI对话与知识库管理 |
项目结构
├── main.py # 项目入口文件
├── ruoyi-fastapi-backend/ # 后端应用目录
│ ├── app.py # FastAPI应用入口
│ ├── server.py # 应用配置与路由注册
│ ├── config/ # 配置文件目录
│ ├── module_admin/ # 核心业务模块
│ │ ├── controller/ # 控制器层
│ │ ├── service/ # 服务层
│ │ ├── dao/ # 数据访问层
│ │ └── entity/ # 实体层
│ ├── utils/ # 工具类目录
│ │ ├── haikang_util.py # 海康平台工具
│ │ ├── compreface_util.py # Compreface工具
│ │ └── ...
│ └── ...
└── ruoyi-fastapi-frontend/ # 前端应用目录
├── src/ # 前端源代码
├── index.html # HTML入口
├── package.json # 项目依赖
└── ...
开发与部署
开发环境准备
后端环境
# 查看所有 conda 环境
conda env list
# 激活后端环境(环境名根据实际情况调整,常见为 fastapi_python 或 base)
conda activate fastapi_python
# 进入后端目录
cd ruoyi-fastapi-backend
# 安装依赖(MySQL版本)
pip install -r requirements.txt
# 或安装PostgreSQL版本依赖
pip install -r requirements-postgresql.txt
# 配置环境变量
cp .env.dev.example .env.dev
# 编辑.env.dev文件,配置数据库、Redis、海康平台、Compreface等参数
# 初始化数据库
# 1. 创建数据库
# 2. 执行sql/ruoyi-fastapi.sql(MySQL)或sql/ruoyi-fastapi-pg.sql(PostgreSQL)
# 启动开发服务器
python app.py --env=dev
常见问题:
- 依赖冲突警告:langchain-community、langchain-openai、langsmith 等包版本冲突通常不影响服务运行,可忽略
- 如果遇到依赖问题,可尝试升级冲突包:
pip install --upgrade requests openai requests-toolbelt - 确认 Python 版本:查看项目
.python-version文件 - 服务启动后,通过
netstat -tlnp | grep 9099确认端口 9099 是否在监听状态
前端环境
# 进入前端目录
cd ruoyi-fastapi-frontend
# 安装依赖
npm install --registry=https://registry.npmmirror.com
# 启动开发服务器
npm run dev
生产部署
前端构建
# 构建生产版本
npm run build:prod
# 构建产物将生成在dist目录
后端部署
# 配置生产环境变量
cp .env.prod.example .env.prod
# 编辑.env.prod文件配置生产环境参数
# 启动生产服务器
python3 app.py --env=prod
环境配置
核心配置文件
.env.dev:开发环境配置.env.prod:生产环境配置
关键配置项
# 应用配置
APP_NAME=康达机器人管理系统
APP_PORT=9099
# 数据库配置
DB_TYPE=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=ruoyi-fastapi
DB_USERNAME=root
DB_PASSWORD=password
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
# 海康平台配置
HAIKANG_URL=http://your-haikang-server
HAIKANG_AK=your-access-key
HAIKANG_SK=your-secret-key
# Compreface配置
COMPREFACE_BASE_URL=http://your-compreface-server
COMPREFACE_API_KEY=your-api-key
API文档
项目启动后,可通过以下地址访问API文档:
- Swagger UI:
http://localhost:9099/dev-api/docs - ReDoc:
http://localhost:9099/dev-api/redoc
注意事项
- 首次使用需先配置数据库并执行初始化SQL脚本
- 海康平台和Compreface服务需提前部署并配置API密钥
- 生产环境需修改默认JWT密钥和数据库密码
- 建议使用Nginx作为前端静态资源服务器和API反向代理
许可证
本项目基于Apache License 2.0开源协议。
RAGFlow服务使用固定的chat-id,该id在RAGFlow服务端配置,用于标识聊天助手会话: { "chatId": "db4bb966895b11f08cda0242ac130006", "question": "你好,请用简洁的语言介绍你自己", "stream": true, "sessionId": "38d765e48a3811f0be310242ac130006" }
测试 Token: { "code": 200, "msg": "登录成功", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMSIsInVzZXJfbmFtZSI6ImFkbWluIiwiZGVwdF9uYW1lIjoiXHU3ODE0XHU1M2QxXHU5MGU4XHU5NWU4Iiwic2Vzc2lvbl9pZCI6IjQ3OTBlZmFmLTU2OTktNDE4Zi04MTQ0LWJmMGI3Y2UwNmRhNCIsImxvZ2luX2luZm8iOnsiaXBhZGRyIjpudWxsLCJsb2dpbkxvY2F0aW9uIjoiXHU2NzJhXHU3N2U1IiwiYnJvd3NlciI6Ik90aGVyIiwib3MiOiJPdGhlciIsImxvZ2luVGltZSI6IjIwMjUtMTItMTYgMTM6MDY6MjQifSwiZXhwIjoxNzY4NDUzNTg0fQ.ijL1R8b-6s-OGL1f0uxcD3-b0Na6N3SnxygIvlM3EgM", "success": true, "time": "2025-12-16T13:06:24.888622" }