# 云酒馆项目重构进度管理 > **项目目标**:将 web-app 从 Node.js 后端改造为纯前端,所有接口由 Go 后端提供 > **开始日期**:2026-02-10 > **预计完成**:40-58 天 > **当前状态**:阶段三进行中 - 角色卡管理模块已完成(含导入导出功能) --- ## 📊 总体进度 | 阶段 | 进度 | 状态 | 开始日期 | 完成日期 | |------|------|------|----------|----------| | 阶段一:数据库设计 | 100% | 🟢 已完成 | 2026-02-10 | 2026-02-10 | | 阶段二:Go后端API开发 | 40% | 🔵 进行中 | 2026-02-10 | - | | 阶段三:Vue3前台开发 | 45% | 🔵 进行中 | 2026-02-10 | - | | 阶段四:前端改造(旧版) | 0% | ⚪ 暂停 | - | - | | 阶段五:数据迁移 | 0% | ⚪ 未开始 | - | - | | 阶段六:测试与优化 | 0% | ⚪ 未开始 | - | - | | 阶段七:部署上线 | 0% | ⚪ 未开始 | - | - | **图例**: - ⚪ 未开始 - 🟡 待开始(已规划) - 🔵 进行中 - 🟢 已完成 - 🔴 受阻 --- ## 🎯 阶段一:数据库设计(预计 3-5 天) ### 1.1 环境准备 - [ ] **T1.1.1** 安装 PostgreSQL 14+ - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 备注: - [ ] **T1.1.2** 安装 pgvector 扩展 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.1.1 - 状态:⚪ 未开始 - 备注: - [ ] **T1.1.3** 配置 PostgreSQL 连接 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.1.1 - 状态:⚪ 未开始 - 备注:修改 `server/config.yaml` - [ ] **T1.1.4** 安装 Redis 7+(可选) - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 状态:⚪ 未开始 - 备注: ### 1.2 数据表设计与创建 - [ ] **T1.2.1** 创建前台用户表(app_users) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.1.2 - 状态:⚪ 未开始 - SQL 文件:`server/initialize/sql/app_users.sql` - 验证方式:查询表结构 - [ ] **T1.2.2** 创建用户会话表(app_user_sessions) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.3** 创建 AI 角色表(ai_characters) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.4** 创建对话表(ai_chats) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.3 - 状态:⚪ 未开始 - [ ] **T1.2.5** 创建消息表(ai_messages) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.4 - 状态:⚪ 未开始 - [ ] **T1.2.6** 创建消息变体表(ai_message_swipes) - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T1.2.5 - 状态:⚪ 未开始 - [ ] **T1.2.7** 创建群聊成员表(ai_chat_members) - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T1.2.3, T1.2.4 - 状态:⚪ 未开始 - [ ] **T1.2.8** 创建向量记忆表(ai_memory_vectors) - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T1.1.2, T1.2.1 - 状态:⚪ 未开始 - 备注:需要 pgvector 扩展 - [ ] **T1.2.9** 创建 AI 提供商配置表(ai_providers) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.10** 创建 AI 模型配置表(ai_models) - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T1.2.9 - 状态:⚪ 未开始 - [ ] **T1.2.11** 创建文件表(ai_files) - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.12** 创建预设表(ai_presets) - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.13** 创建世界书表(ai_world_info) - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.14** 创建使用统计表(ai_usage_stats) - 负责人: - 优先级:P3(可选) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - [ ] **T1.2.15** 创建用户收藏表(app_user_favorite_characters) - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T1.2.1, T1.2.3 - 状态:⚪ 未开始 ### 1.3 Gorm 模型创建 - [ ] **T1.3.1** 创建 AppUser 模型 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.1 - 状态:⚪ 未开始 - 文件:`server/model/app/user.go` - [ ] **T1.3.2** 创建 AppUserSession 模型 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.2 - 状态:⚪ 未开始 - [ ] **T1.3.3** 创建 Character 模型 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.3 - 状态:⚪ 未开始 - 文件:`server/model/app/character.go` - [ ] **T1.3.4** 创建 Chat 模型 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.4 - 状态:⚪ 未开始 - 文件:`server/model/app/chat.go` - [ ] **T1.3.5** 创建 Message 模型 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.2.5 - 状态:⚪ 未开始 - 文件:`server/model/app/message.go` - [ ] **T1.3.6** 创建其他辅助模型(Provider、File、Preset 等) - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 ### 1.4 数据库初始化 - [ ] **T1.4.1** 编写数据库自动迁移脚本 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.3.* - 状态:⚪ 未开始 - 文件:`server/initialize/gorm_app.go` - [ ] **T1.4.2** 测试数据库表创建 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T1.4.1 - 状态:⚪ 未开始 - 验证:所有表成功创建,外键关系正确 --- ## 🎯 阶段二:Go 后端 API 开发(预计 15-20 天) ### 2.1 基础设施搭建 - [ ] **T2.1.1** 安装 Go 依赖包 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 命令: ```bash go get github.com/sashabaranov/go-openai@latest go get github.com/gorilla/websocket@latest go get github.com/pgvector/pgvector-go@latest go get github.com/pkoukk/tiktoken-go@latest ``` - [ ] **T2.1.2** 创建项目目录结构 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 目录:`api/v1/app/`, `service/app/`, `router/app/`, `pkg/` - [ ] **T2.1.3** 配置文件扩展 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`server/config.yaml` - 内容:AI API Keys、向量数据库配置等 ### 2.2 前台用户认证模块 - [x] **T2.2.1** 实现前台用户 JWT 中间件(AppJWTAuth) - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件: - `server/middleware/app_jwt.go`(中间件) - `server/utils/app_jwt.go`(JWT工具函数) - [x] **T2.2.2** 实现用户注册 API - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 依赖:T2.2.1, T1.3.1 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`POST /app/auth/register` - 文件: - `server/api/v1/app/auth.go` - `server/service/app/auth.go` - `server/model/app/request/auth.go` - [x] **T2.2.3** 实现用户登录 API - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 依赖:T2.2.1 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`POST /app/auth/login` - [x] **T2.2.4** 实现用户登出 API - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T2.2.1 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`POST /app/auth/logout` - [x] **T2.2.5** 实现 Token 刷新 API - 负责人:AI助手 - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.2.1 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`POST /app/auth/refresh` - [x] **T2.2.6** 实现获取用户信息 API - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T2.2.1 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`GET /app/auth/userinfo` - [x] **T2.2.7** 实现用户信息更新 API - 负责人:AI助手 - 优先级:P1(重要) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`PUT /app/user/profile` - [x] **T2.2.8** 实现密码修改 API - 负责人:AI助手 - 优先级:P1(重要) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 接口:`POST /app/user/change-password` ### 2.3 AI 服务集成 - [ ] **T2.3.1** 封装 OpenAI SDK - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`server/pkg/ai/openai.go` - 功能:对话补全、流式输出、向量嵌入 - [ ] **T2.3.2** 封装 Anthropic SDK(Claude) - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`server/pkg/ai/anthropic.go` - [ ] **T2.3.3** 封装 Google AI SDK(Gemini) - 负责人: - 优先级:P2(推荐) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`server/pkg/ai/google.go` - [ ] **T2.3.4** 实现 AI 服务统一接口 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T2.3.1 - 状态:⚪ 未开始 - 文件:`server/service/app/ai_service.go` - [ ] **T2.3.5** 实现向量嵌入服务 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.3.1 - 状态:⚪ 未开始 - 文件:`server/service/app/embedding.go` ### 2.4 AI 提供商配置管理 - [ ] **T2.4.1** 实现创建提供商配置 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`POST /app/provider/create` - [ ] **T2.4.2** 实现获取提供商列表 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/provider/list` - [ ] **T2.4.3** 实现更新提供商配置 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`PUT /app/provider/:id` - [ ] **T2.4.4** 实现删除提供商配置 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/provider/:id` - [ ] **T2.4.5** 实现测试提供商连接 API - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.3.1 - 状态:⚪ 未开始 - 接口:`POST /app/provider/test` - [ ] **T2.4.6** 实现获取可用模型列表 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/provider/:id/models` ### 2.5 AI 角色管理 - [ ] **T2.5.1** 实现创建角色 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`POST /app/character/create` - 文件: - `server/api/v1/app/character.go` - `server/service/app/character.go` - [ ] **T2.5.2** 实现获取角色列表 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`GET /app/character/list` - 功能:支持分页、搜索、筛选 - [ ] **T2.5.3** 实现获取角色详情 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/character/:id` - [ ] **T2.5.4** 实现更新角色 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`PUT /app/character/:id` - [ ] **T2.5.5** 实现删除角色 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/character/:id` - [ ] **T2.5.6** 实现导入角色 API(Character Card) - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 状态:⚪ 未开始 - 接口:`POST /app/character/import` - 功能:解析 PNG、JSON 格式的角色卡片 - [ ] **T2.5.7** 实现导出角色 API - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`GET /app/character/export/:id` - [ ] **T2.5.8** 实现角色收藏/取消收藏 API - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`POST /app/character/:id/favorite` ### 2.6 对话管理 - [ ] **T2.6.1** 实现创建对话 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`POST /app/chat/create` - 文件: - `server/api/v1/app/chat.go` - `server/service/app/chat.go` - [ ] **T2.6.2** 实现获取对话列表 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`GET /app/chat/list` - 功能:支持分页、筛选、排序 - [ ] **T2.6.3** 实现获取对话详情 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/chat/:id` - [ ] **T2.6.4** 实现更新对话 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`PUT /app/chat/:id` - [ ] **T2.6.5** 实现删除对话 API - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/chat/:id` - [ ] **T2.6.6** 实现获取对话消息历史 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`GET /app/chat/:id/messages` - 功能:支持分页、倒序加载 ### 2.7 消息管理与 AI 对话 - [ ] **T2.7.1** 实现发送消息 API(调用 AI) - 负责人: - 优先级:P0(必须) - 预计时间:3天 - 依赖:T2.3.4 - 状态:⚪ 未开始 - 接口:`POST /app/chat/:id/send` - 功能: - 调用 AI API - 保存用户消息和 AI 回复 - 支持流式输出 - Token 计数 - [ ] **T2.7.2** 实现流式消息推送(SSE) - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 依赖:T2.7.1 - 状态:⚪ 未开始 - 接口:`GET /app/chat/:id/stream` - [ ] **T2.7.3** 实现重新生成消息 API - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.7.1 - 状态:⚪ 未开始 - 接口:`POST /app/chat/:id/regenerate/:messageId` - [ ] **T2.7.4** 实现编辑消息 API - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`PUT /app/chat/:id/message/:messageId` - [ ] **T2.7.5** 实现删除消息 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/chat/:id/message/:messageId` - [ ] **T2.7.6** 实现消息变体(Swipe)功能 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 接口: - `POST /app/chat/:id/message/:messageId/swipe`(创建变体) - `GET /app/chat/:id/message/:messageId/swipes`(获取所有变体) - `PUT /app/chat/:id/message/:messageId/swipe/:swipeId`(切换变体) ### 2.8 向量记忆管理 - [ ] **T2.8.1** 实现创建记忆 API - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 依赖:T2.3.5 - 状态:⚪ 未开始 - 接口:`POST /app/memory/create` - 功能:自动生成向量嵌入 - [ ] **T2.8.2** 实现搜索相似记忆 API - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 依赖:T2.8.1 - 状态:⚪ 未开始 - 接口:`POST /app/memory/search` - 功能:向量相似度搜索 - [ ] **T2.8.3** 实现获取记忆列表 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/memory/list` - [ ] **T2.8.4** 实现删除记忆 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/memory/:id` - [ ] **T2.8.5** 对话时自动检索相关记忆 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.7.1, T2.8.2 - 状态:⚪ 未开始 - 集成到发送消息流程 ### 2.9 文件管理 - [ ] **T2.9.1** 实现文件上传 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`POST /app/file/upload` - 功能:支持本地存储和对象存储 - [ ] **T2.9.2** 实现文件列表 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`GET /app/file/list` - [ ] **T2.9.3** 实现文件删除 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 接口:`DELETE /app/file/:id` - [ ] **T2.9.4** 实现头像上传专用接口 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 接口:`POST /app/file/upload/avatar` ### 2.10 WebSocket 实时通信 - [ ] **T2.10.1** 实现 WebSocket Hub - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`server/pkg/websocket/hub.go` - [ ] **T2.10.2** 实现 WebSocket 连接认证 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.10.1, T2.2.1 - 状态:⚪ 未开始 - [ ] **T2.10.3** 实现消息推送功能 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.10.1 - 状态:⚪ 未开始 - 功能:AI 回复实时推送 - [ ] **T2.10.4** 实现心跳检测和断线重连 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T2.10.1 - 状态:⚪ 未开始 ### 2.11 路由注册 - [ ] **T2.11.1** 注册认证路由 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`server/router/app/auth.go` - [ ] **T2.11.2** 注册角色路由 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`server/router/app/character.go` - [ ] **T2.11.3** 注册对话路由 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`server/router/app/chat.go` - [ ] **T2.11.4** 注册其他路由(Provider、File、Memory 等) - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T2.11.5** 集成到主路由 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T2.11.1-4 - 状态:⚪ 未开始 - 文件:`server/initialize/router.go` ### 2.12 Swagger 文档 - [ ] **T2.12.1** 为所有 API 添加 Swagger 注释 - 负责人: - 优先级:P2(推荐) - 预计时间:2天 - 状态:⚪ 未开始 - [ ] **T2.12.2** 生成 Swagger 文档 - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T2.12.1 - 状态:⚪ 未开始 - 命令:`swag init` --- ## 🎯 阶段三:Vue 3 前台开发(预计 15-20 天) > **重要决策**:使用 Vue 3 + TypeScript 重构前台,而非改造旧的 jQuery 代码 > **原因**:旧代码过于混乱(index.html 7978行,226+ JS文件),维护成本极高 > **优势**:与管理后台技术统一,易于维护,性能更好 ### 3.1 Vue 项目初始化 - [x] **T3.1.1** 创建 Vue 3 + TypeScript 项目 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 技术栈:Vue 3 + Vite + TypeScript + Element Plus - 项目目录:`web-app-vue/` - [x] **T3.1.2** 配置项目基础设施 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 内容: - Vite 配置(代理、别名、插件) - TypeScript 配置 - Element Plus 自动导入 - Pinia + Vue Router 配置 - [x] **T3.1.3** 创建项目目录结构 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 目录:api/, stores/, types/, utils/, layouts/, views/, composables/ ### 3.2 Vue 认证模块开发 - [x] **T3.2.1** 创建 TypeScript 类型定义 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件: - `src/types/user.d.ts`(用户、登录、注册类型) - `src/types/api.d.ts`(API响应类型) - [x] **T3.2.2** 封装 HTTP 请求工具 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/utils/request.ts` - 功能:请求拦截、响应拦截、自动添加Token、统一错误处理 - [x] **T3.2.3** 创建认证 API 接口 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/api/auth.ts` - 接口:login, register, logout, getUserInfo, refreshToken - [x] **T3.2.4** 创建认证状态管理(Pinia) - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/stores/auth.ts` - 功能:登录、注册、登出、Token管理、用户信息管理 - [x] **T3.2.5** 创建认证布局组件 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/layouts/AuthLayout.vue` - 特性:渐变背景动画、居中布局、响应式设计 - [x] **T3.2.6** 创建默认布局组件 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/layouts/DefaultLayout.vue` - 特性:顶部导航、用户菜单、主内容区 - [x] **T3.2.7** 开发登录页面 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/views/auth/Login.vue` - 功能:用户名密码登录、表单验证、回车登录 - [x] **T3.2.8** 开发注册页面 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/views/auth/Register.vue` - 功能:用户注册、确认密码、邮箱验证、表单验证 - [x] **T3.2.9** 配置路由和路由守卫 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/router/index.ts` - 功能:路由配置、认证守卫、自动跳转、页面标题 - [x] **T3.2.10** 开发首页 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`src/views/home/Index.vue` - 功能:欢迎信息、用户统计、快捷入口 ### 3.3 Vue 角色管理模块 - [x] **T3.3.1** 完善 AICharacter 数据模型 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 添加字段:totalChats, totalLikes, isPublic, creatorName 等 - [x] **T3.3.2** 创建角色卡请求/响应结构体 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`server/model/app/request/character.go`, `response/character.go` - [x] **T3.3.3** 创建角色卡 Service 层 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:2天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`server/service/app/character.go` - 功能:CRUD、收藏、点赞、导入导出 - [x] **T3.3.4** 创建角色卡 API 层 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`server/api/v1/app/character.go` - 包含公开接口和需鉴权接口 - [x] **T3.3.5** 创建角色卡路由 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`server/router/app/character.go` - [x] **T3.3.6** 创建 Vue 角色卡类型定义 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/types/character.d.ts` - [x] **T3.3.7** 创建 Vue 角色卡 API 接口 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/api/character.ts` - [x] **T3.3.8** 创建 Vue 角色卡状态管理 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/stores/character.ts` - [x] **T3.3.9** 开发首页角色列表(瀑布流) - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:2天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/views/home/CharacterList.vue` - 特性:瀑布流布局、搜索、排序、收藏、点赞 - [x] **T3.3.10** 开发角色详情页面 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/views/character/Detail.vue` - 功能:详情展示、编辑、删除、导出 - [x] **T3.3.11** 开发"我的角色卡"页面 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:1天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/views/character/MyCharacters.vue` - [x] **T3.3.12** 开发角色卡编辑页面 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:2天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 文件:`web-app-vue/src/views/character/Edit.vue` - 功能:创建、编辑、表单验证 - [x] **T3.3.13** 更新路由配置 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 添加角色卡相关路由 - [x] **T3.3.14** 更新导航布局 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 添加主导航菜单、登录/注册按钮 - [x] **T3.3.15** 实现角色卡导入导出功能 - 负责人:AI助手 - 优先级:P0(必须) - 预计时间:2天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 功能: - 支持 PNG 和 JSON 格式导入 - 支持导出为 PNG(含嵌入数据)和 JSON - 兼容 SillyTavern CharacterCard V2 规范 - 自动从 PNG 提取 tEXt chunk - [x] **T3.3.16** 优化 Token 有效期 - 负责人:AI助手 - 优先级:P1(重要) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 修改:Token 有效期从配置文件控制改为固定 7 天 - [x] **T3.3.17** 修复头像显示问题 - 负责人:AI助手 - 优先级:P1(重要) - 预计时间:0.5天 - 状态:🟢 已完成 - 完成日期:2026-02-10 - 优化:无头像时显示首字母占位符,不再请求不存在的文件 ### 3.4 Vue 对话功能模块(待开发) - [ ] **T3.4.1** 创建对话类型定义 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`src/types/chat.d.ts` - [ ] **T3.4.2** 创建对话 API 接口 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`src/api/chat.ts` - [ ] **T3.4.3** 创建对话状态管理 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`src/stores/chat.ts` - [ ] **T3.4.4** 封装 WebSocket 工具 - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`src/utils/websocket.ts` - [ ] **T3.4.5** 开发对话主界面 - 负责人: - 优先级:P0(必须) - 预计时间:3天 - 状态:⚪ 未开始 - 文件:`src/views/chat/Index.vue` - [ ] **T3.4.6** 开发消息组件 - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`src/components/chat/ChatMessage.vue` - [ ] **T3.4.7** 开发消息输入组件 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`src/components/chat/ChatInput.vue` - [ ] **T3.4.8** 实现 Swipe 功能 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 ### 3.5 Vue 设置和其他页面(待开发) - [ ] **T3.5.1** 开发设置页面 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`src/views/settings/Index.vue` - [ ] **T3.5.2** 开发用户中心页面 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`src/views/user/Profile.vue` --- ## 🎯 阶段四:前端改造(旧版 jQuery)(暂停) > **已决定**:不再改造旧版 web-app,直接使用 Vue 3 重构 > **状态**:本阶段暂停,优先完成阶段三(Vue 版本) ### 3.1 web-app 前端改造准备 - [ ] **T3.1.1** 备份原有 web-app 项目 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 备份位置:`web-app-backup/` - [ ] **T3.1.2** 分析现有前端代码结构 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 输出:前端功能清单 - [ ] **T3.1.3** 规划前端目录结构 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 3.2 移除 Node.js 后端 - [ ] **T3.2.1** 删除 server.js 和后端相关文件 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 删除文件: - `server.js` - `src/` 目录(所有后端代码) - `webpack.config.js`(如不需要) - [ ] **T3.2.2** 保留必要的前端文件 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 保留:`public/` 目录下所有文件 ### 3.3 API 客户端封装 - [ ] **T3.3.1** 创建 HTTP 客户端基类 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`public/scripts/api/client.js` - 功能: - 统一的请求/响应处理 - Token 管理 - 错误处理 - [ ] **T3.3.2** 封装认证相关 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/auth.js` - 接口:注册、登录、登出、刷新Token - [ ] **T3.3.3** 封装角色管理 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/character.js` - [ ] **T3.3.4** 封装对话管理 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/chat.js` - [ ] **T3.3.5** 封装消息管理 API - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/message.js` - [ ] **T3.3.6** 封装 AI 提供商配置 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/provider.js` - [ ] **T3.3.7** 封装文件上传 API - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T3.3.1 - 状态:⚪ 未开始 - 文件:`public/scripts/api/file.js` ### 3.4 WebSocket 客户端 - [ ] **T3.4.1** 实现 WebSocket 客户端 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`public/scripts/utils/websocket.js` - 功能: - 连接管理 - 自动重连 - 消息订阅/发布 - [ ] **T3.4.2** 集成 WebSocket 到对话界面 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T3.4.1 - 状态:⚪ 未开始 ### 3.5 前端页面适配 - [ ] **T3.5.1** 适配登录/注册页面 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.2 - 状态:⚪ 未开始 - [ ] **T3.5.2** 适配角色列表页面 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.3 - 状态:⚪ 未开始 - [ ] **T3.5.3** 适配角色详情/编辑页面 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.3 - 状态:⚪ 未开始 - [ ] **T3.5.4** 适配对话列表页面 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T3.3.4 - 状态:⚪ 未开始 - [ ] **T3.5.5** 适配对话界面 - 负责人: - 优先级:P0(必须) - 预计时间:2天 - 依赖:T3.3.5, T3.4.2 - 状态:⚪ 未开始 - 功能: - 消息发送 - 流式显示 - Swipe 功能 - 消息编辑 - [ ] **T3.5.6** 适配设置页面 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T3.3.6 - 状态:⚪ 未开始 - [ ] **T3.5.7** 适配个人中心页面 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 3.6 环境配置 - [ ] **T3.6.1** 创建配置文件 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`public/scripts/config.js` - 内容:API 地址、WebSocket 地址等 - [ ] **T3.6.2** 配置开发环境 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 开发服务器:使用 live-server 或类似工具 - [ ] **T3.6.3** 配置生产环境 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`web-app/nginx.conf` ### 3.7 web 管理后台扩展 - [ ] **T3.7.1** 创建 AI 管理模块目录 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 目录:`web/src/view/aiManage/` - [ ] **T3.7.2** 添加角色管理页面 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`web/src/view/aiManage/character/index.vue` - [ ] **T3.7.3** 添加对话管理页面 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`web/src/view/aiManage/chat/index.vue` - [ ] **T3.7.4** 添加用户管理页面 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`web/src/view/aiManage/user/index.vue` - [ ] **T3.7.5** 添加数据统计页面 - 负责人: - 优先级:P2(推荐) - 预计时间:2天 - 状态:⚪ 未开始 - 文件:`web/src/view/aiManage/statistics/index.vue` - [ ] **T3.7.6** 添加 API 接口 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`web/src/api/ai.js` - [ ] **T3.7.7** 添加路由配置 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`web/src/router/index.js` --- ## 🎯 阶段五:数据迁移(预计 3-5 天) ### 4.1 迁移准备 - [ ] **T4.1.1** 备份 SillyTavern 原始数据 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 备份位置:指定安全位置 - [ ] **T4.1.2** 创建测试用前台用户 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T2.2.2 - 状态:⚪ 未开始 - 用于数据迁移目标账号 ### 4.2 角色数据迁移 - [ ] **T4.2.1** 编写角色迁移脚本 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`server/utils/migrate/migrate_sillytavern.go` - 功能:从文件系统读取角色 JSON,写入数据库 - [ ] **T4.2.2** 测试角色迁移 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.2.1 - 状态:⚪ 未开始 - 验证:数据完整性、关联关系 - [ ] **T4.2.3** 执行角色正式迁移 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.2.2 - 状态:⚪ 未开始 ### 4.3 对话数据迁移 - [ ] **T4.3.1** 编写对话迁移脚本 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 功能:从 JSONL 文件读取对话,写入数据库 - [ ] **T4.3.2** 测试对话迁移 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.3.1 - 状态:⚪ 未开始 - [ ] **T4.3.3** 执行对话正式迁移 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.3.2 - 状态:⚪ 未开始 ### 4.4 文件数据迁移 - [ ] **T4.4.1** 编写文件迁移脚本 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 功能:上传到对象存储,记录到数据库 - [ ] **T4.4.2** 迁移头像文件 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T4.4.1 - 状态:⚪ 未开始 - [ ] **T4.4.3** 迁移背景文件 - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T4.4.1 - 状态:⚪ 未开始 - [ ] **T4.4.4** 迁移其他附件文件 - 负责人: - 优先级:P2(推荐) - 预计时间:0.5天 - 依赖:T4.4.1 - 状态:⚪ 未开始 ### 4.5 数据验证 - [ ] **T4.5.1** 验证角色数据完整性 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.2.3 - 状态:⚪ 未开始 - 检查项:数量、字段完整性、关联关系 - [ ] **T4.5.2** 验证对话数据完整性 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T4.3.3 - 状态:⚪ 未开始 - [ ] **T4.5.3** 验证文件数据完整性 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T4.4.* - 状态:⚪ 未开始 --- ## 🎯 阶段六:测试与优化(预计 7-10 天) ### 5.1 功能测试 #### 5.1.1 用户认证测试 - [ ] **T5.1.1** 用户注册功能测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 测试用例:正常注册、重复用户名、无效邮箱等 - [ ] **T5.1.2** 用户登录功能测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 测试用例:正确密码、错误密码、不存在用户等 - [ ] **T5.1.3** Token 刷新测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.4** 登出功能测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 #### 5.1.2 角色管理测试 - [ ] **T5.1.5** 创建角色测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.6** 编辑角色测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.7** 删除角色测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.8** 导入导出角色测试 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 测试:PNG、JSON 格式 #### 5.1.3 对话功能测试 - [ ] **T5.1.9** 创建对话测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.10** 发送消息测试 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 测试:普通消息、长文本、特殊字符 - [ ] **T5.1.11** AI 回复测试 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 测试:OpenAI、Claude 等不同模型 - [ ] **T5.1.12** 流式输出测试 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - [ ] **T5.1.13** 消息重新生成测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.14** 消息编辑测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.15** Swipe 功能测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.16** 对话历史加载测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 测试:分页、倒序加载 #### 5.1.4 向量记忆测试 - [ ] **T5.1.17** 创建记忆测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.18** 向量搜索测试 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 验证:搜索准确性、性能 - [ ] **T5.1.19** 记忆召回测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 测试:对话时自动召回相关记忆 #### 5.1.5 WebSocket 测试 - [ ] **T5.1.20** WebSocket 连接测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.21** 消息推送测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.22** 断线重连测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.23** 多客户端测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 #### 5.1.6 文件管理测试 - [ ] **T5.1.24** 文件上传测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 测试:大文件、不同格式 - [ ] **T5.1.25** 文件下载测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.1.26** 文件删除测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 5.2 性能测试 - [ ] **T5.2.1** 登录接口压力测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 工具:Apache Bench / wrk - [ ] **T5.2.2** 对话接口压力测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.2.3** 数据库查询性能测试 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 检查:慢查询、索引优化 - [ ] **T5.2.4** 向量搜索性能测试 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - [ ] **T5.2.5** WebSocket 并发测试 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 5.3 性能优化 - [ ] **T5.3.1** 添加 Redis 缓存 - 负责人: - 优先级:P1(重要) - 预计时间:2天 - 状态:⚪ 未开始 - 缓存对象:角色数据、用户配置等 - [ ] **T5.3.2** 数据库索引优化 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T5.2.3 - 状态:⚪ 未开始 - [ ] **T5.3.3** SQL 查询优化 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 依赖:T5.2.3 - 状态:⚪ 未开始 - [ ] **T5.3.4** 前端资源优化 - 负责人: - 优先级:P2(推荐) - 预计时间:1天 - 状态:⚪ 未开始 - 内容:压缩、合并、懒加载 ### 5.4 安全加固 - [ ] **T5.4.1** 实现 API 限流 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`server/middleware/limiter.go` - [ ] **T5.4.2** 加密存储 API Keys - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 状态:⚪ 未开始 - 文件:`server/utils/crypto/encrypt.go` - [ ] **T5.4.3** SQL 注入防护验证 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.4.4** XSS 防护验证 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - [ ] **T5.4.5** CSRF 防护验证 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 --- ## 🎯 阶段七:部署上线(预计 2-3 天) ### 6.1 Docker 部署 - [ ] **T6.1.1** 编写 Go 后端 Dockerfile - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`server/Dockerfile` - [ ] **T6.1.2** 编写 web-app Dockerfile - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`web-app/Dockerfile` - [ ] **T6.1.3** 编写 web 管理后台 Dockerfile - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`web/Dockerfile` - [ ] **T6.1.4** 编写 docker-compose.yml - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`docker-compose.yml` - 服务:PostgreSQL、Redis、Server、Web、Web-App、Nginx - [ ] **T6.1.5** 测试 Docker 部署 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T6.1.1-4 - 状态:⚪ 未开始 ### 6.2 Nginx 配置 - [ ] **T6.2.1** 编写 Nginx 配置文件 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`deploy/nginx/nginx.conf` - 内容:反向代理、WebSocket 支持 - [ ] **T6.2.2** 配置 SSL 证书 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 使用 Let's Encrypt - [ ] **T6.2.3** 测试 Nginx 配置 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T6.2.1 - 状态:⚪ 未开始 ### 6.3 环境配置 - [ ] **T6.3.1** 创建 .env 文件模板 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 文件:`.env.example` - [ ] **T6.3.2** 配置生产环境变量 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 状态:⚪ 未开始 - 内容:数据库、Redis、AI API Keys 等 - [ ] **T6.3.3** 配置日志系统 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 6.4 数据库备份 - [ ] **T6.4.1** 设置数据库自动备份 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 状态:⚪ 未开始 - 工具:pg_dump + crontab - [ ] **T6.4.2** 测试数据库恢复 - 负责人: - 优先级:P1(重要) - 预计时间:0.5天 - 依赖:T6.4.1 - 状态:⚪ 未开始 ### 6.5 监控与日志 - [ ] **T6.5.1** 配置应用监控(可选) - 负责人: - 优先级:P3(可选) - 预计时间:1天 - 状态:⚪ 未开始 - 工具:Prometheus + Grafana - [ ] **T6.5.2** 配置日志聚合(可选) - 负责人: - 优先级:P3(可选) - 预计时间:1天 - 状态:⚪ 未开始 - 工具:ELK Stack - [ ] **T6.5.3** 配置告警系统(可选) - 负责人: - 优先级:P3(可选) - 预计时间:0.5天 - 状态:⚪ 未开始 ### 6.6 上线验证 - [ ] **T6.6.1** 生产环境部署 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:所有前置任务 - 状态:⚪ 未开始 - [ ] **T6.6.2** 烟雾测试 - 负责人: - 优先级:P0(必须) - 预计时间:0.5天 - 依赖:T6.6.1 - 状态:⚪ 未开始 - 测试:核心功能可用性 - [ ] **T6.6.3** 性能监控 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T6.6.1 - 状态:⚪ 未开始 - 监控:响应时间、错误率、资源使用 - [ ] **T6.6.4** 用户验收测试 - 负责人: - 优先级:P0(必须) - 预计时间:1天 - 依赖:T6.6.1 - 状态:⚪ 未开始 --- ## 📝 文档完善 - [ ] **TD.1** 完善 API 文档 - 负责人: - 优先级:P2(推荐) - 预计时间:2天 - 状态:⚪ 未开始 - [ ] **TD.2** 编写部署文档 - 负责人: - 优先级:P1(重要) - 预计时间:1天 - 状态:⚪ 未开始 - [ ] **TD.3** 编写用户使用手册 - 负责人: - 优先级:P2(推荐) - 预计时间:1天 - 状态:⚪ 未开始 - [ ] **TD.4** 编写开发者文档 - 负责人: - 优先级:P2(推荐) - 预计时间:1天 - 状态:⚪ 未开始 --- ## 🎉 项目完成 - [ ] **Final.1** 项目总结会议 - [ ] **Final.2** 经验教训总结 - [ ] **Final.3** 技术债务整理 - [ ] **Final.4** 后续优化规划 --- ## 📊 优先级说明 - **P0(必须)**:核心功能,必须完成 - **P1(重要)**:重要功能,强烈建议完成 - **P2(推荐)**:增强功能,建议完成 - **P3(可选)**:可选功能,时间允许再做 --- ## 📅 里程碑 | 里程碑 | 预期完成日期 | 实际完成日期 | 状态 | |--------|-------------|-------------|------| | M1: 数据库设计完成 | - | - | ⚪ | | M2: 核心 API 开发完成 | - | - | ⚪ | | M3: 前端改造完成 | - | - | ⚪ | | M4: 数据迁移完成 | - | - | ⚪ | | M5: 测试通过 | - | - | ⚪ | | M6: 生产环境上线 | - | - | ⚪ | --- ## 📌 注意事项 ### 重要约束 1. ❌ **禁止修改** `server/api/v1/system/` 下的任何文件 2. ❌ **禁止修改** `sys_users` 表结构 3. ✅ **所有新功能** 都在 `app/` 目录下实现 4. ✅ **所有新表** 使用 `app_` 或 `ai_` 前缀 5. ✅ **所有新路由** 使用 `/app/` 前缀 ### 开发建议 1. 每完成一个任务,及时更新状态 2. 遇到问题及时记录在备注中 3. 定期 review 进度,调整计划 4. 重要节点完成后进行备份 --- **文档创建日期**: 2026-02-10 **最后更新**: 2026-02-10 **维护者**: 开发团队