# 🚀 保单智能客服系统 — 部署指南 ## 系统架构 ``` ┌─────────────────────────────────────────┐ │ 保单智能客服系统 │ ├─────────────────────────────────────────┤ │ 前端 (Vue 3) → Nginx (8080) │ │ 后端 (Flask) → Gunicorn (5001) │ │ 数据库 (PostgreSQL) → PostgreSQL (5433)│ │ 缓存 (Redis) → Redis (6380) │ └─────────────────────────────────────────┘ ``` ## 快速部署 ### Linux/Mac ```bash chmod +x deploy-baodanagent.sh ./deploy-baodanagent.sh ``` ### Windows ```cmd deploy-baodanagent.bat ``` ### 手动部署 ```bash # 1. 构建镜像 docker compose -f docker-compose.baodanagent.yml build # 2. 启动服务 docker compose -f docker-compose.baodanagent.yml up -d # 3. 查看日志 docker compose -f docker-compose.baodanagent.yml logs -f ``` ## 镜像大小 | 镜像 | 大小 | 说明 | |------|------|------| | baodanagent-api | ~200MB | 后端 API | | baodanagent-web | ~50MB | 前端 Nginx | | pgvector/pgvector:pg15 | ~300MB | 数据库 | | redis:7-alpine | ~30MB | 缓存 | | **总计** | **~580MB** | 比 Dify 版节省 17GB | ## 访问地址 | 服务 | 地址 | 说明 | |------|------|------| | 前端应用 | http://localhost:8080 | Vue 3 前端 | | 后端 API | http://localhost:5001 | Flask 后端 | | 数据库 | localhost:5433 | PostgreSQL | | 缓存 | localhost:6380 | Redis | ## 数据库信息 - **主机**: localhost:5433 - **数据库**: baodan - **用户名**: postgres - **密码**: taiyi1224 ## API 接口 ### 健康检查 ```bash curl http://localhost:5001/health # 返回: {"status": "ok", "service": "baodanagent-api"} ``` ### 认证接口 ```bash # 登录 curl -X POST http://localhost:5001/insurance/auth/login \ -H "Content-Type: application/json" \ -d '{"username": "admin", "password": "admin123"}' # 注册 curl -X POST http://localhost:5001/insurance/auth/register \ -H "Content-Type: application/json" \ -d '{"username": "test", "password": "test123", "name": "测试用户"}' ``` ### 对话接口 ```bash # 发送消息 curl -X POST http://localhost:5001/insurance/chat/send \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{"message": "我想买保险"}' ``` ## 常用命令 ```bash # 查看服务状态 docker compose -f docker-compose.baodanagent.yml ps # 查看日志 docker compose -f docker-compose.baodanagent.yml logs -f # 查看特定服务日志 docker compose -f docker-compose.baodanagent.yml logs -f baodanagent-api # 停止服务 docker compose -f docker-compose.baodanagent.yml down # 重启服务 docker compose -f docker-compose.baodanagent.yml restart # 停止并删除数据 docker compose -f docker-compose.baodanagent.yml down -v # 进入容器 docker compose -f docker-compose.baodanagent.yml exec baodanagent-api bash ``` ## 配置说明 ### 环境变量 在 `.env` 文件中配置: ```bash # JWT 密钥 JWT_SECRET=your-jwt-secret # Dify 对接(可选) DIFY_BASE_URL=http://dify-api:5001 DIFY_CHAT_APP_API_KEY=app-xxx DIFY_WORKFLOW_APP_API_KEY=app-xxx # 企微配置(可选) WECOM_CORP_ID=your_corp_id WECOM_SECRET=your_secret WECOM_TOKEN=your_token WECOM_AES_KEY=your_aes_key ``` ### 数据库初始化 数据库会在首次启动时自动初始化,执行 `deploy/sql/init.sql` 中的建表语句。 ## 故障排查 ### 端口冲突 ```bash # 检查端口占用 netstat -tulpn | grep -E ':(5001|8080|5433|6380)' # 修改端口映射 # 编辑 docker-compose.baodanagent.yml ports: - "5002:5001" # 将 5001 改为 5002 ``` ### 服务启动失败 ```bash # 查看详细日志 docker compose -f docker-compose.baodanagent.yml logs baodanagent-api # 重启服务 docker compose -f docker-compose.baodanagent.yml restart ``` ### 数据库连接失败 ```bash # 检查数据库状态 docker compose -f docker-compose.baodanagent.yml exec db pg_isready -U postgres # 查看数据库日志 docker compose -f docker-compose.baodanagent.yml logs db ``` ## 文件清单 ``` baodanagent/ ├── docker-compose.baodanagent.yml # Docker Compose 配置 ├── Dockerfile.backend # 后端 Dockerfile ├── Dockerfile.frontend # 前端 Dockerfile ├── nginx.conf # Nginx 配置 ├── deploy-baodanagent.sh # Linux/Mac 部署脚本 ├── deploy-baodanagent.bat # Windows 部署脚本 ├── BAODANAGENT_DEPLOY.md # 本文档 ├── api/insurance/ # 后端代码 │ ├── app.py # Flask 应用入口 │ ├── requirements.txt # Python 依赖 │ ├── routes.py # 路由注册 │ ├── db/ # 数据库模块 │ ├── models/ # 数据模型 │ ├── auth/ # 认证模块 │ ├── chat/ # 对话模块 │ ├── recommend/ # 推荐模块 │ ├── kb/ # 知识库模块 │ ├── admin/ # 管理模块 │ ├── stats/ # 统计模块 │ └── wecom/ # 企微模块 ├── frontend/ # 前端代码 │ ├── src/ # 源码 │ └── dist/ # 构建产物 └── deploy/sql/ # SQL 初始化脚本 ``` ## 环境要求 - Docker 20.10+ - Docker Compose 2.0+ - 磁盘空间:1GB+ - 内存:2GB+ ## 与 Dify 版本的区别 | 特性 | 保单容器版 | Dify 版 | |------|-----------|---------| | 镜像大小 | ~580MB | ~17.5GB | | 部署时间 | 2 分钟 | 15 分钟 | | 功能范围 | 自研功能 | 全部功能 | | 知识库 | 需对接 Dify | 内置 | | 模型调用 | 需对接 Dify | 内置 | | 适用场景 | 独立部署 | 完整系统 | ## 下一步 1. **访问前端**:http://localhost:8080 2. **测试 API**:http://localhost:5001/health 3. **配置 Dify 对接**:编辑 `.env` 文件 4. **配置企微**:编辑 `.env` 文件 5. **上传知识库**:通过 API 或对接 Dify --- **部署时间**: ~2 分钟 **镜像大小**: ~580MB **推荐场景**: 独立部署、资源受限环境、微服务架构