feat: expand AI workflow support and refresh docs

This commit is contained in:
2026-03-12 13:47:42 +08:00
parent 8688422578
commit 4ecab597f4
28 changed files with 4806 additions and 1907 deletions

View File

@@ -1,86 +1,60 @@
# DesignerCEP AdminTool 使用说明
# AdminTool管理与部署工具
## 📦 安装依赖
本目录是一个基于 PyQt5 的图形化管理工具,包含用户管理、版本管理、后端部署与回滚等能力。
## 1. 当前文件与入口
- `admin_gui.py`:完整 GUI 主程序
- `deploy_tool.py`:快速启动器(直接切到“自动部署”页)
- `deploy_config.json`:部署配置(主机、账号、路径等)
说明:当前仓库不存在 `auto_deploy_core.py`,旧文档已失效。
## 2. 安装与启动
```bash
cd AdminTool
pip install -r requirements.txt
```
---
## 🚀 一、自动化部署脚本 (auto_deploy_core.py)
### 功能说明
自动化完成以下所有步骤:
1. ✅ 构建前端Shell + Core
2. ✅ 打包 Shell.zip供 CEP 扩展下载)
3. ✅ 上传到服务器SSH/SFTP
4. ✅ 更新 MySQL 数据库版本号
5. ✅ 清除本地缓存(测试用)
### 使用方法
#### 1. 首次使用 - 配置服务器
启动完整工具:
```bash
python auto_deploy_core.py --version 1.0.6 --setup
python admin_gui.py
```
会提示你输入
- 服务器地址
- SSH 端口、用户名、密码
- 远程路径
- MySQL 地址、端口、用户名、密码、数据库名
配置会保存到 `deploy_config.json`,下次直接使用。
#### 2. 仅构建(不部署)
仅进入部署页
```bash
python auto_deploy_core.py --version 1.0.6
python deploy_tool.py
```
只在本地构建 Shell 和 Core不上传到服务器。
## 3. 主要功能(基于当前代码)
#### 3. 构建并部署
### 3.1 后端 API 管理
```bash
python auto_deploy_core.py --version 1.0.6 --deploy
```
- 连接后台(默认 API: `https://backend.aidg168.uk/api/v1`
- 用户组管理
- 用户权限管理
- 版本归档上传与分配
构建并自动上传到服务器:
- Shell 在线登录页 → `/static/shell/`
- Core 核心应用 → `/static/core/1.0.6/`
- Shell.zip 下载包 → `/static/downloads/shell-1.0.6.zip`
### 3.2 服务器部署SSH
#### 4. 构建、部署并更新数据库
- 通过 SSH/SFTP 上传后端代码到远程 `Server` 目录
- 远程执行 `docker-compose up -d --build`
- 查看容器状态、日志、健康检查
- 同步数据库结构(容器内执行脚本)
```bash
python auto_deploy_core.py --version 1.0.6 --deploy --update-db
```
### 3.3 后端版本历史
完整流程:构建 → 上传 → 更新 MySQL 数据库版本号。
- 记录部署版本
- 标记当前版本
- 回滚到历史版本
- 删除历史版本
**数据库更新 SQL**
```sql
UPDATE plugin_groups SET current_version = '1.0.6' WHERE id = 1;
```
## 4. 配置文件
#### 5. 其他选项
```bash
# 跳过清除缓存
python auto_deploy_core.py --version 1.0.6 --deploy --skip-clean
# 重新配置服务器
python auto_deploy_core.py --version 1.0.6 --setup
```
### 配置文件示例
`deploy_config.json`:
工具读取 `deploy_config.json`。典型字段如下:
```json
{
@@ -88,243 +62,24 @@ python auto_deploy_core.py --version 1.0.6 --setup
"port": "22",
"username": "root",
"password": "your-password",
"remote_path": "/var/www/DesignerCEP/Server/static",
"mysql": {
"host": "localhost",
"port": "3306",
"username": "root",
"password": "your-mysql-password",
"database": "designer_cep",
"table": "plugin_groups"
}
"remote_path": "/root/Server"
}
```
---
如果本地没有该文件,可先在 GUI 中填写并保存配置。
## 🎨 二、图形化管理工具 (admin_gui.py)
## 5. 依赖
### 功能说明
`requirements.txt`
提供可视化界面管理:
- 用户组管理
- 用户权限管理
- 版本上传和分配
- **自动化部署**(新增)
- `PyQt5`
- `requests`
- `paramiko`
- `PyQt-Fluent-Widgets`
### 使用方法
## 6. 使用建议
```bash
python admin_gui.py
```
### 主要功能
#### 1. 组与用户管理
- 创建用户组
- 修改组备注
- 查看组内用户
- 移动用户到其他组
- 修改用户权限
#### 2. 发布与上传
- 上传 ZIP 版本文件
- 查看历史版本
- 分配版本给用户组
#### 3. 自动化部署 ⭐ (新增)
完全图形化的部署流程:
**3.1 服务器配置**
- 服务器地址、SSH 端口
- 用户名、密码
- 远程路径
- 保存/加载配置
- 测试 SSH 连接
**3.2 本地构建配置**
- 项目根目录(自动检测)
- 版本号
**3.3 部署选项**
- ☑️ 部署 Shell在线登录页
- ☑️ 部署 Core核心应用
- ☑️ 打包 Shell 为 .zip
- ☑️ 构建前端npm run build
**3.4 一键部署**
- 点击 "🚀 开始部署" 按钮
- 实时查看部署日志
- 进度条显示当前进度
- 部署完成后显示访问地址
---
## 📖 三、部署流程说明
### 完整部署流程
```
1. 构建前端
└─> npm run build (Designer/)
└─> 生成 dist/Shell/ 和 dist/Designer/
2. 打包 Shell.zip
└─> 压缩 dist/Shell/ → shell-{version}.zip
3. 连接服务器 (SSH)
└─> 使用配置的服务器信息
4. 创建远程目录
└─> /static/shell/
└─> /static/core/{version}/
└─> /static/downloads/
5. 上传文件
└─> Shell → /static/shell/ (在线登录页)
└─> Core → /static/core/{version}/ (核心应用)
└─> shell-{version}.zip → /static/downloads/ (CEP 扩展下载)
6. 更新数据库 (MySQL)
└─> UPDATE plugin_groups SET current_version = '{version}'
7. 完成!
└─> 显示访问地址
```
### 服务器目录结构
```
/var/www/DesignerCEP/Server/static/
├── shell/ # Shell 在线登录页
│ ├── index.html
│ └── assets/
├── downloads/ # 下载文件
│ └── shell-1.0.6.zip
└── core/ # Core 核心应用
├── 1.0.5/
└── 1.0.6/
├── index.html
└── assets/
```
---
## 🔧 四、常见问题
### Q1: SSH 连接失败
**A**: 检查以下几点:
1. 服务器地址和端口是否正确
2. 用户名密码是否正确
3. 服务器防火墙是否开放 SSH 端口
4. 本地网络是否正常
### Q2: MySQL 连接失败
**A**: 检查以下几点:
1. MySQL 地址和端口是否正确
2. 用户名密码是否正确
3. 数据库是否存在
4. MySQL 是否允许远程连接
### Q3: 构建失败
**A**:
1. 检查是否安装了 Node.js 和 npm
2. 检查项目目录是否正确
3. 运行 `npm install` 安装依赖
4. 查看错误日志
### Q4: 上传速度慢
**A**:
1. 检查网络带宽
2. 考虑使用国内服务器
3. 可以先在本地构建,然后手动上传
### Q5: 如何回滚版本?
**A**:
1. 在数据库中修改版本号为旧版本
2. 或删除 `/static/core/{new_version}/` 目录
---
## 📝 五、配置文件说明
### deploy_config.json
| 字段 | 说明 | 示例 |
|------|------|------|
| `host` | 服务器地址 | `your-server.com` |
| `port` | SSH 端口 | `22` |
| `username` | SSH 用户名 | `root` |
| `password` | SSH 密码 | `your-password` |
| `remote_path` | 远程静态文件路径 | `/var/www/DesignerCEP/Server/static` |
| `mysql.host` | MySQL 地址 | `localhost` |
| `mysql.port` | MySQL 端口 | `3306` |
| `mysql.username` | MySQL 用户名 | `root` |
| `mysql.password` | MySQL 密码 | `your-mysql-password` |
| `mysql.database` | 数据库名 | `designer_cep` |
| `mysql.table` | 表名 | `plugin_groups` |
### deploy_config.txt (admin_gui.py 使用)
纯文本格式,一行一个配置:
```
host=your-server.com
port=22
user=root
password=your-password
remote_path=/var/www/DesignerCEP/Server/static
project_root=D:\main\DesignerCEP
version=1.0.6
```
---
## 🎉 六、快速开始
### 方法一:命令行部署(推荐)
```bash
# 1. 首次配置
python auto_deploy_core.py --version 1.0.6 --setup
# 2. 部署到服务器
python auto_deploy_core.py --version 1.0.6 --deploy --update-db
# 完成!
```
### 方法二:图形化部署
```bash
# 1. 启动图形界面
python admin_gui.py
# 2. 切换到"自动化部署"标签
# 3. 配置服务器信息
# 4. 点击"开始部署"按钮
# 完成!
```
---
## 📞 技术支持
如遇到问题,请检查:
1. 部署日志输出
2. 服务器 SSH 日志
3. MySQL 连接状态
4. 网络连接情况
---
**最后更新**: 2024-12-17
- 部署前先在目标服务器手工验证 `docker-compose` 可用。
- 首次部署建议先使用“检查状态”确认容器健康。
- 生产环境不要将 SSH 密码和 Token 提交进仓库。