# AI智能电商运营工作台 **Repository Path**: parsecc/customer-service-intelligence ## Basic Information - **Project Name**: AI智能电商运营工作台 - **Description**: 基于 Spring Boot + Vue.js + Spring AI 的客户服务智能系统,提供 AI 智能客服、数据分析、知识库管理和任务工单等功能。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2026-05-12 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringAI, Vue ## README # AI智能电商运营工作台 基于 Spring Boot + Vue.js + Spring AI 的客户服务智能系统,提供 AI 智能客服、数据分析、知识库管理、任务工单和沙箱环境等功能。 ## 系统功能 ### 🤖 AI 智能客服 - AI Agent 智能对话,支持 ReAct 模式 - 智能工具调用:订单查询、库存查询、投诉处理、任务创建等 - 异常趋势检测与自动告警 - **SSE 流式对话** - 逐字/逐句实时显示 AI 回复,首字延迟 < 2 秒 - **Agent 状态实时推送** - 思考中、工具调用中状态实时展示 - WebSocket 实时通知推送 - RAG 向量知识库检索 ### 📊 数据分析 - 仪表盘统计数据 - 销售/库存/投诉报告生成 - 趋势图表可视化 - SQL 查询分析(安全防护) - 图表配置生成(ECharts) ### 📚 知识库管理 - 文档创建与分类 - 向量索引与检索 - 知识库批量管理 - 文件解析上传 ### ✅ 任务工单 - 工单/任务创建与分配 - 状态流转管理(待处理→进行中→已完成) - 逾期提醒通知 - 优先级设置(低/中/高/紧急) - **任务评论功能** - 支持协作讨论和批注 - **操作历史记录** - 完整的操作审计追溯 - **AI 智能推荐** - 基于完成率、工作量、技能匹配的任务负责人推荐 - **风险预警分析** - 逾期检测、未分配检测、停滞检测、复杂度分析 ### 🔔 通知系统 - 站内通知推送 - 邮件通知 - **全局实时通知** - WebSocket 推送 + Toast 弹窗 + 角标动画 - **SSE 流式对话** - EventSource 驱动的实时 AI 回复流 - 未读消息统计 ### 🛡️ 系统安全 - JWT 认证授权 - RBAC 角色权限控制 - API 限流保护 - 审计日志记录 - 数据脱敏 ### 🖥️ 沙箱环境 - 本地命令执行(Shell/CMD),支持自定义工作目录和超时控制 - 本地应用启动与后台运行管理 - 运行中进程查看与终止 - AI 对话工具集成:可通过自然语言指令调用沙箱功能(如"打开计算器"、"执行 ipconfig") - 安全隔离:仅限管理员角色访问,输出长度限制,审计日志记录 ## 技术架构 ### 后端 - Spring Boot 3.x - Spring AI (AI Agent) - Spring Security + JWT - PostgreSQL + pgvector (向量数据库) - Redis (缓存/限流) - RabbitMQ (消息队列) - **SSE (Server-Sent Events)** - 流式对话 - **STOMP over WebSocket** - 实时通知推送 - Java 21 ### 前端 - Vue 3 + Composition API - Vite 构建 - Pinia 状态管理 - Vue Router - Axios - ECharts - Element Plus ## 快速开始 ### 环境要求 - JDK 21+ - Node.js 20+ - PostgreSQL 16+ (需安装 pgvector 扩展) - Redis 7+ - Maven 3.9+ ### 配置步骤 1. **克隆项目** ```bash git clone https://gitee.com/parsecc/customer-service-intelligence.git cd customer-service-intelligence ``` 2. **配置数据库** ```bash # 创建数据库 createdb -U postgres ai_ops # 执行 SQL 脚本 psql -U postgres -d ai_ops -f backend/src/main/resources/db/schema.sql psql -U postgres -d ai_ops -f backend/src/main/resources/db/data.sql # (可选) 向量维度升级(使用 mxbai-embed-large 模型时) psql -U postgres -d ai_ops -f backend/src/main/resources/db/upgrade_vectors_1024.sql # (可选) 任务管理模块升级(升级到 V2.0 时) psql -U postgres -d ai_ops -f backend/src/main/resources/db/upgrade_task_management.sql ``` 3. **配置后端** ```bash cp backend/.env.example backend/.env # 编辑 application.yml 或 application-dev.yml 配置数据库/Redis/RabbitMQ 等 ``` 4. **启动后端** ```bash cd backend mvn spring-boot:run ``` 或打包后运行: ```bash mvn clean package -DskipTests java -jar target/ai-ops-workstation-1.0.0-SNAPSHOT.jar ``` 5. **启动前端** ```bash cd frontend npm install npm run dev ``` 6. **访问系统** - 前端: http://localhost:5173 - 后端 API: http://localhost:8080 - Swagger UI: http://localhost:8080/swagger-ui.html ### Docker 部署 ```bash # 编译 mvn clean package -DskipTests # 构建镜像 docker-compose up -d ``` ## 默认账号 | 角色 | 用户名 | 密码 | |------|--------|------| | 超级管理员 | admin | Admin@2025 | | 运营人员 | operator | Operator@2025 | ## API 文档 启动后访问 Swagger UI: `http://localhost:8080/swagger-ui.html` ### 对话 API | 方法 | 端点 | 说明 | |------|------|------| | POST | `/api/v1/chat/send` | 发送消息(同步,保留作为回退) | | GET | `/api/v1/chat/conversations/{id}/stream` | SSE 流式对话(推荐) | | GET | `/api/v1/chat/conversations` | 获取会话列表 | | GET | `/api/v1/chat/conversations/{id}/messages` | 获取历史消息 | | POST | `/api/v1/chat/conversations` | 创建新会话 | | DELETE | `/api/v1/chat/conversations/{id}` | 删除会话 | ### 沙箱环境 API(仅管理员) | 方法 | 端点 | 说明 | |------|------|------| | POST | `/api/v1/sandbox/execute` | 执行本地命令 | | POST | `/api/v1/sandbox/app/launch` | 启动本地应用 | | DELETE | `/api/v1/sandbox/app/{pid}` | 终止进程 | | GET | `/api/v1/sandbox/app/list` | 列出运行中应用 | ### 任务管理 API | 方法 | 端点 | 说明 | |------|------|------| | GET | `/api/v1/tasks` | 查询任务列表 | | GET | `/api/v1/tasks/{id}` | 获取任务详情 | | POST | `/api/v1/tasks` | 创建任务 | | PUT | `/api/v1/tasks/{id}` | 更新任务 | | DELETE | `/api/v1/tasks/{id}` | 删除任务 | | PUT | `/api/v1/tasks/{id}/status` | 更新任务状态 | | PUT | `/api/v1/tasks/{id}/assign` | 分配任务 | | POST | `/api/v1/tasks/{id}/comments` | 添加评论 | | GET | `/api/v1/tasks/{id}/comments` | 获取评论列表 | | GET | `/api/v1/tasks/{id}/history` | 获取操作历史 | | GET | `/api/v1/tasks/risks` | 获取风险预警列表 | | GET | `/api/v1/tasks/{id}/recommend` | 获取负责人推荐 | ### 沙箱配置 在 `application.yml` 中可配置以下参数: ```yaml sandbox: max-timeout-seconds: 300 # 命令最大超时时间(秒) max-output-size: 1048576 # 命令最大输出字节数(1MB) ``` ## 目录结构 ``` customer-service-intelligence/ ├── backend/ │ ├── src/main/java/com/aiops/ │ │ ├── agent/ # AI Agent 核心 │ │ │ ├── dto/ # Agent通信DTO │ │ │ ├── OpsAgentOrchestrator.java # Agent编排引擎 │ │ │ ├── OpsAgentTools.java # 运营工具集 │ │ │ └── SandboxTools.java # 沙箱工具集 │ │ ├── annotation/ # 自定义注解 │ │ ├── aspect/ # AOP 切面 │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ │ ├── TaskController.java # 任务管理控制器 │ │ │ ├── CommentController.java # 评论控制器 │ │ │ └── AITaskController.java # AI任务控制器 │ │ ├── dto/ # 数据传输对象 │ │ ├── entity/ # 实体类 │ │ │ ├── BizTask.java # 任务实体 │ │ │ ├── BizTaskComment.java # 任务评论实体 │ │ │ └── BizTaskHistory.java # 任务历史实体 │ │ ├── enums/ # 枚举 │ │ ├── exception/ # 异常处理 │ │ ├── health/ # 健康检查 │ │ ├── init/ # 数据初始化 │ │ ├── repository/ # 数据访问 │ │ ├── scheduled/ # 定时任务 │ │ ├── security/ # 安全认证 │ │ ├── service/ # 业务服务 │ │ │ ├── impl/ # 服务实现 │ │ │ ├── TaskService.java # 任务服务接口 │ │ │ ├── TaskCommentService.java # 评论服务接口 │ │ │ └── AITaskService.java # AI任务服务接口 │ │ └── AiOpsApplication.java │ ├── src/main/resources/ │ │ ├── application.yml │ │ ├── application-dev.yml │ │ └── db/ # 数据库脚本 │ │ ├── schema.sql # 建表脚本 │ │ ├── data.sql # 初始数据 │ │ ├── upgrade_vectors_1024.sql # 向量维度升级 │ │ └── upgrade_task_management.sql # 任务管理升级 │ └── pom.xml ├── frontend/ │ ├── src/ │ │ ├── api/ # API接口模块 │ │ ├── components/ # 公共组件 │ │ ├── composables/ # 组合式函数 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia状态管理 │ │ ├── styles/ # 全局样式 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面视图 │ │ ├── Task.vue # 任务管理页面(含风险预警、智能推荐标签页) │ │ └── ... │ └── package.json ├── docs/ # 项目文档 │ ├── changelog/ # 变更记录 │ │ └── phase3-changes.md # AI智能功能变更记录 │ ├── tests/ # 测试文档 │ │ └── task-management-api-tests.md # 任务管理API测试文档 │ ├── 沙箱环境使用指南.md │ ├── 优化变更记录.md │ ├── 数据库设计文档.md │ ├── Docker部署指南.md │ └── ... ├── docker-compose.yml └── LICENSE ``` ## 核心模块说明 ### AI Agent 工具 - `queryOrder` - 订单查询 - `queryInventory` - 库存查询 - `queryComplaints` - 投诉查询 - `createTicket` - 创建工单 - `getDatabaseSchema` - 获取表结构 - `executeAnalysisSQL` - SQL 分析 - `generateChart` - 生成图表 - `saveReport` - 保存报告 - `searchKnowledge` - 知识检索 - `executeCommand` - 沙箱执行系统命令 - `launchApplication` - 沙箱启动本地应用 - `killApplication` - 沙箱终止进程 - `listApplications` - 沙箱列出运行中应用 ### AI 智能功能 - **任务推荐算法** - 基于完成率、工作量、任务类型匹配的智能推荐 - **风险预警分析** - 逾期检测、未分配检测、停滞检测、复杂度分析、高优先级延迟检测 - **标签自动生成** - 基于任务描述的关键词匹配标签生成 ### 定时任务 - 任务到期提醒 (每5分钟) - 每日报告生成 (18:00) - 周报生成 (每周一 2:00) - 月报生成 (每月1日 3:00) - 低库存预警 (每小时) - 会话清理 (每周日 4:00) ## 数据库表结构 | 模块 | 表名 | 说明 | |:---|:---|:---| | 系统管理 | sys_user | 系统用户表 | | 系统管理 | sys_role | 系统角色表 | | 系统管理 | sys_permission | 系统权限表 | | 系统管理 | sys_user_role | 用户角色关联表 | | 系统管理 | sys_role_permission | 角色权限关联表 | | 系统管理 | sys_audit_log | 审计日志表 | | 系统管理 | sys_notification | 通知表 | | 系统管理 | sys_rate_limit | 限流规则表 | | 系统管理 | sys_mask_rule | 脱敏规则表 | | AI会话 | agent_session | Agent会话表 | | AI会话 | chat_message | 聊天消息表 | | 业务数据 | biz_order | 订单表 | | 业务数据 | biz_inventory | 库存表 | | 业务数据 | biz_complaint | 投诉表 | | 业务数据 | biz_task | 任务表 | | 业务数据 | biz_task_comment | 任务评论表 | | 业务数据 | biz_task_history | 任务操作历史表 | | 知识库 | knowledge_doc | 知识库文档表 | | 知识库 | doc_embedding | 文档向量嵌入表 | | 分析报告 | analysis_report | 分析报告表 | | 消息服务 | msg_template | 消息模板表 | | 消息服务 | msg_send_log | 消息发送日志表 | **表总数**: 23张 ## 许可证 MIT License ## 版本历史 | 版本 | 日期 | 变更说明 | |:---|:---|:---| | V1.0.0 | 2025-01-15 | 初始版本,基础表结构和功能 | | V1.1.0 | 2025-03-20 | 添加向量维度升级脚本 | | V2.0.0 | 2026-06-11 | **任务管理模块升级**: 任务评论、操作历史、AI智能推荐、风险预警 | | V2.1.0 | 2026-06-13 | **实时通信升级**: SSE 流式对话、全局通知 Toast/角标动画、WebSocket STOMP 认证修复 |