Files
st/docs/重构进度管理.md
2026-02-11 14:34:34 +08:00

2015 lines
51 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 云酒馆项目重构进度管理
> **项目目标**:将 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 SDKClaude
- 负责人:
- 优先级P1重要
- 预计时间2天
- 状态:⚪ 未开始
- 文件:`server/pkg/ai/anthropic.go`
- [ ] **T2.3.3** 封装 Google AI SDKGemini
- 负责人:
- 优先级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** 实现导入角色 APICharacter 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
**维护者**: 开发团队