|
|
@@ -1,71 +1,110 @@
|
|
|
-# 蜀道安全管理AI智能助手 - 部署指南
|
|
|
+# 蜀道安全管理AI智能助手
|
|
|
|
|
|
-## 1. 环境准备
|
|
|
+## 项目概述
|
|
|
|
|
|
-### 1.1 配置文件
|
|
|
-本项目使用 `conf/app.conf` 进行配置管理。该文件未包含在版本控制中,部署时需要手动创建。
|
|
|
+蜀道安全AI系统是为四川省蜀道投资集团打造的AI安全管理平台,提供AI问答、公文写作、培训PPT生成、试题生成、隐患检测等功能。
|
|
|
|
|
|
-**步骤:**
|
|
|
-1. 进入项目根目录 `shudao-go-backend`。
|
|
|
-2. 复制配置模板:
|
|
|
- ```bash
|
|
|
- cp conf/app.conf.example conf/app.conf
|
|
|
- ```
|
|
|
-3. 编辑 `conf/app.conf`,根据当前环境(本地/测试/生产)修改配置项。
|
|
|
+## 技术栈
|
|
|
|
|
|
-### 1.2 关键配置项说明
|
|
|
-- **base_url**: 系统基础URL,用于生成OSS代理链接等。
|
|
|
-- **mysql_***: 数据库连接信息。
|
|
|
-- **oss_***: 对象存储配置(MinIO/S3)。
|
|
|
-- **deepseek_api_key**: AI模型API密钥。
|
|
|
-- **yolo_base_url**: 隐患识别服务地址。
|
|
|
+| 模块 | 技术 |
|
|
|
+|------|------|
|
|
|
+| 后端 | Go 1.24+, Beego v2, GORM, MySQL |
|
|
|
+| 前端 | Vue 3, Vite 7, Element Plus, Pinia |
|
|
|
+| AI | Qwen3, DeepSeek, YOLO |
|
|
|
+| 存储 | MinIO (S3), ChromaDB |
|
|
|
|
|
|
-## 2. 部署流程
|
|
|
+## 环境说明
|
|
|
|
|
|
-### 2.1 本地开发 (Local Development)
|
|
|
-支持热重载,适合开发调试。
|
|
|
+| 环境 | 域名/IP | 说明 |
|
|
|
+|------|---------|------|
|
|
|
+| 本地 | localhost / 127.0.0.1 | 开发调试 |
|
|
|
+| 测试 | 172.16.29.101 | 内网测试 |
|
|
|
+| 生产 | aqai.shudaodsj.com | 正式环境 |
|
|
|
|
|
|
-```bash
|
|
|
-# 确保已安装 bee 工具
|
|
|
-go install github.com/beego/bee/v2@latest
|
|
|
+## 快速开始
|
|
|
+
|
|
|
+### 1. 本地开发
|
|
|
|
|
|
-# 启动服务
|
|
|
+```bash
|
|
|
+# 后端
|
|
|
cd shudao-go-backend
|
|
|
+cp conf/app.conf.example conf/app.conf # 首次需要
|
|
|
bee run
|
|
|
+
|
|
|
+# 前端
|
|
|
+cd shudao-vue-frontend
|
|
|
+npm install
|
|
|
+npm run dev
|
|
|
```
|
|
|
|
|
|
-### 2.2 测试/生产环境部署 (Production Deployment)
|
|
|
+访问 http://localhost:5173
|
|
|
+
|
|
|
+### 2. 一键打包部署
|
|
|
|
|
|
-**编译:**
|
|
|
```bash
|
|
|
-cd shudao-go-backend
|
|
|
-go build -o shudao-chat-go main.go
|
|
|
+# 测试环境
|
|
|
+./build_test.sh
|
|
|
+
|
|
|
+# 生产环境
|
|
|
+./build_release.sh
|
|
|
```
|
|
|
|
|
|
-**运行:**
|
|
|
-```bash
|
|
|
-# 赋予执行权限
|
|
|
-chmod +x shudao-chat-go
|
|
|
+### 3. 服务器部署
|
|
|
|
|
|
-# 启动服务 (建议使用 nohup 或 supervisor 管理进程)
|
|
|
-nohup ./shudao-chat-go &
|
|
|
+```bash
|
|
|
+# 上传部署包后
|
|
|
+tar -xzf shudao-go-backend.tar.gz
|
|
|
+cd shudao-go-backend
|
|
|
+nohup ./shudao-go-backend > nohup.out 2>&1 &
|
|
|
```
|
|
|
|
|
|
-## 3. 验证部署
|
|
|
+## 配置文件
|
|
|
+
|
|
|
+| 文件 | 说明 |
|
|
|
+|------|------|
|
|
|
+| `conf/app.conf` | 当前环境配置(gitignore) |
|
|
|
+| `conf/app.conf.test` | 测试环境模板 |
|
|
|
+| `conf/app.conf.prod` | 生产环境模板 |
|
|
|
+
|
|
|
|
|
|
-1. **检查日志**: 查看 `nohup.out` 或控制台输出,确认没有配置加载错误。
|
|
|
-2. **健康检查**: 访问 `/api/health` (如果已实现) 或尝试调用基础接口。
|
|
|
-3. **功能验证**:
|
|
|
- - 上传一张图片,验证OSS配置是否正确。
|
|
|
- - 发起一次AI对话,验证模型服务配置。
|
|
|
+## 服务端口
|
|
|
|
|
|
-## 4. 常见问题
|
|
|
+| 服务 | 端口 |
|
|
|
+|------|------|
|
|
|
+| 系统后端 | 22001 |
|
|
|
+| Nginx入口 | 22000 |
|
|
|
+| MySQL | 21000 |
|
|
|
+| 认证网关 | 28004 |
|
|
|
+| AI对话服务 | 28002 |
|
|
|
+| ChromaDB | 24000 |
|
|
|
+| AI模型 | 8000 |
|
|
|
+| YOLO | 18080 |
|
|
|
|
|
|
-**Q: 启动时报错 "配置项 xxx 未设置或为空"**
|
|
|
-A: 检查 `conf/app.conf` 是否包含该配置项,且值不为空。
|
|
|
+## Nginx 代理配置
|
|
|
|
|
|
-**Q: 数据库连接失败**
|
|
|
-A: 检查 `mysql_urls` 和 `mysql_port` 是否正确,以及防火墙是否允许连接。
|
|
|
+```nginx
|
|
|
+location /apiv1 { proxy_pass http://127.0.0.1:22001; }
|
|
|
+location /chatwithai/ { proxy_pass http://127.0.0.1:28002/; }
|
|
|
+location /auth/ { proxy_pass http://127.0.0.1:28004/; }
|
|
|
+location /tts { proxy_pass http://172.16.29.101:22000; }
|
|
|
+```
|
|
|
+
|
|
|
+## 目录结构
|
|
|
|
|
|
-**Q: 图片无法预览**
|
|
|
-A: 检查 `base_url` 是否配置为当前环境的可访问地址(如 `https://aqai.shudaodsj.com:22000`)。
|
|
|
+```
|
|
|
+├── shudao-go-backend/ # Go后端
|
|
|
+│ ├── conf/ # 配置文件
|
|
|
+│ ├── controllers/ # 控制器
|
|
|
+│ ├── models/ # 数据模型
|
|
|
+│ ├── utils/ # 工具函数
|
|
|
+│ └── main.go
|
|
|
+├── shudao-vue-frontend/ # Vue前端
|
|
|
+│ ├── src/
|
|
|
+│ │ ├── views/ # 页面组件
|
|
|
+│ │ ├── utils/ # 工具(apiConfig.js等)
|
|
|
+│ │ └── request/ # API请求
|
|
|
+│ └── vite.config.js
|
|
|
+├── build_release.sh # 生产环境打包
|
|
|
+├── build_test.sh # 测试环境打包
|
|
|
+└── nginx.conf # Nginx配置参考
|
|
|
+```
|