# 海角AI后端开发任务总览 ## 项目概述 海角AI是一个智能对话产品,采用经典的两栏式布局,为用户提供AI聊天、会话管理、消息收藏、文件上传等功能。本文档详细规划了后端开发的所有任务。 ## 任务列表概览 | 任务编号 | 任务名称 | 版本 | 状态 | 优先级 | 预估工期 | |---------|---------|------|------|-------|---------| | TASK001 | 项目基础架构搭建 | V1.0 | 计划中 | 高 | 2天 | | TASK002 | 数据库设计和初始化 | V1.0 | 计划中 | 高 | 3天 | | TASK003 | 基础配置和公共组件 | V1.0 | 计划中 | 高 | 3天 | | TASK004 | 用户认证模块 | V1.0 | 计划中 | 高 | 4天 | | TASK005 | 聊天会话管理模块 | V1.0 | 计划中 | 中 | 3天 | | TASK006 | 消息处理模块 | V1.0 | 计划中 | 高 | 4天 | | TASK007 | 收藏功能模块 | V1.0 | 计划中 | 中 | 2天 | | TASK008 | 文件上传模块 | V1.0 | 计划中 | 中 | 3天 | | TASK009 | AI服务集成 | V1.0 | 计划中 | 高 | 5天 | | TASK010 | 安全性和权限控制 | V1.0 | 计划中 | 高 | 3天 | | TASK011 | 性能优化和缓存 | V1.0 | 计划中 | 中 | 3天 | | TASK012 | 集成测试和文档完善 | V1.0 | 计划中 | 中 | 4天 | **总计预估工期:39天** ## 开发阶段规划 ### 第一阶段:基础建设(7-8天) - TASK001:项目基础架构搭建 - TASK002:数据库设计和初始化 - TASK003:基础配置和公共组件 ### 第二阶段:核心功能(11-13天) - TASK004:用户认证模块 - TASK005:聊天会话管理模块 - TASK006:消息处理模块 - TASK009:AI服务集成 ### 第三阶段:扩展功能(8-10天) - TASK007:收藏功能模块 - TASK008:文件上传模块 - TASK010:安全性和权限控制 ### 第四阶段:优化完善(7天) - TASK011:性能优化和缓存 - TASK012:集成测试和文档完善 ## 技术栈说明 ### 后端框架 - **Spring Boot 3.x**:主要开发框架 - **Spring Security**:安全认证框架 - **Spring Data JPA**:数据持久层框架 - **MySQL 8.0**:主数据库 - **Redis**:缓存和会话存储 ### 开发工具 - **Maven**:项目构建和依赖管理 - **JWT**:用户认证令牌 - **Swagger/OpenAPI**:API文档生成 - **Docker**:容器化部署 - **Flyway**:数据库版本管理 ### 外部服务 - **腾讯混元AI**:AI对话服务 - **文件存储**:本地存储或OSS - **搜索引擎API**:联网搜索功能 ## API接口概览 ### 用户认证模块(4个接口) - POST /api/auth/register - 用户注册 - POST /api/auth/login - 用户登录 - POST /api/auth/logout - 用户登出 - GET /api/user/info - 获取用户信息 ### 聊天模块(6个接口) - POST /api/chat/session - 创建会话 - POST /api/chat/send - 发送消息 - GET /api/chat/sessions - 获取会话列表 - GET /api/chat/messages - 获取会话消息 - DELETE /api/chat/session/{session_id} - 删除会话 - POST /api/chat/session/{session_id}/clear - 清空会话 ### 收藏模块(3个接口) - POST /api/favorites/add - 收藏消息 - DELETE /api/favorites/remove - 取消收藏 - GET /api/favorites/list - 获取收藏列表 ### 文件上传模块(1个接口) - POST /api/files/upload - 上传文件 ## 数据库表设计概览 ### 核心业务表 - **users**:用户表 - **sessions**:会话表 - **messages**:消息表 - **favorites**:收藏表 - **files**:文件表 ### 系统表 - **operation_logs**:操作日志表 - **system_configs**:系统配置表 ## 部署环境要求 ### 硬件要求 - **CPU**:4核心以上 - **内存**:8GB以上 - **存储**:50GB以上SSD ### 软件要求 - **Java 17+** - **MySQL 8.0+** - **Redis 6.0+** - **Nginx**(反向代理) ## 风险控制 ### 技术风险 1. **AI服务依赖**:外部AI服务不稳定,需要实现降级和重试机制 2. **并发处理**:高并发情况下的性能瓶颈,需要优化缓存和数据库 3. **数据安全**:用户数据和会话内容的安全保护 ### 业务风险 1. **内容安全**:AI生成内容的合规性检查 2. **用户体验**:响应时间和系统稳定性 3. **扩展性**:后续功能扩展的架构支持 ## 质量保证 ### 代码质量 - 代码覆盖率达到80%以上 - 遵循阿里巴巴Java开发规范 - 使用SonarQube进行代码质量检查 ### 测试策略 - 单元测试:所有Service层方法 - 集成测试:所有API接口 - 性能测试:并发用户场景模拟 ### 文档要求 - API文档:Swagger自动生成 - 部署文档:详细的环境配置和部署步骤 - 运维文档:监控、备份、故障处理指南 --- **备注**:本任务规划基于当前需求和技术选型,在实际开发过程中可能需要根据具体情况进行调整。建议采用敏捷开发模式,按阶段交付,及时收集反馈并迭代优化。