AI知识库
开源知识库
知识库搭建组合
Fast + Ollama
RAGFlow + Ollama
深度解读RAGFlow的深度文档理解DeepDoc
Ollama + Dify.ai
AnythingLLM + Ollama
MaxKB + Ollama
LobeChat + Ollama
ChatNio + Ollama
运维知识库
02-新框架技术选型说明
07-性能与并发能力分析
05-开发规范文档
01-现有架构分析报告
06-实施计划与时间表
03-新框架详细设计文档
README
04-数据库迁移方案
00-项目总结与建议
文档管理详细设计
-
+
首页
06-实施计划与时间表
# PandaWiki 重构项目实施计划 ## 一、项目概述 ### 1.1 项目目标 将 PandaWiki 从现有的 **Go + React + PostgreSQL** 技术栈迁移到 **NET 9 + Vue 3 + 达梦数据库**,实现: 1. **技术栈升级**:采用更现代、更高效的技术栈 2. **国产化适配**:支持达梦等国产数据库 3. **性能提升**:提升系统整体性能 4. **功能增强**:在保持原有功能基础上优化用户体验 ### 1.2 项目范围 **包括**: - 后端 API 服务重写(.NET 9) - 前端管理控制台重写(Vue 3) - 前端 Wiki 站点重写(Nuxt 3) - 数据库迁移(PostgreSQL → 达梦) - 消息消费者重写(.NET 9) - 部署架构调整 **不包括**: - 中间件服务(Redis、NATS、MinIO、RAG)保持不变 - 业务逻辑和数据模型不变 - 第三方集成逻辑保持不变 ### 1.3 成功标准 | 指标 | 目标 | |------|------| | **功能完整性** | 100% 功能迁移 | | **数据完整性** | 0 数据丢失 | | **性能** | ≥ 原系统性能 | | **代码质量** | 测试覆盖率 ≥ 70% | | **文档完整性** | 100% 文档完整 | | **稳定性** | 系统可用性 ≥ 99.9% | --- ## 二、项目阶段划分 ### 2.1 总体时间表 ``` 总工期:约 4 个月(16 周) 阶段 1:准备阶段(2 周) 阶段 2:后端开发(5 周) 阶段 3:前端开发(6 周) 阶段 4:测试阶段(2 周) 阶段 5:部署上线(1 周) ``` ### 2.2 甘特图 ``` 周次 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 阶段1 ██ ██ 阶段2 ██ ██ ██ ██ ██ 阶段3 ██ ██ ██ ██ ██ ██ 阶段4 ██ ██ 阶段5 ██ ``` --- ## 三、详细实施计划 ### 阶段 1:准备阶段(第 1-2 周) #### 第 1 周:环境搭建与技术预研 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **后端环境搭建** | | | | | 安装 .NET 9 SDK | 后端负责人 | 0.5 天 | 开发环境 | | 安装达梦数据库 | DBA | 1 天 | 数据库实例 | | 配置 PostgreSQL 兼容模式 | DBA | 0.5 天 | 配置文档 | | 创建项目框架 | 后端负责人 | 1 天 | 项目骨架 | | 配置 CI/CD 基础 | DevOps | 1 天 | CI/CD 流程 | | **前端环境搭建** | | | | | 安装 Node.js、pnpm | 前端负责人 | 0.5 天 | 开发环境 | | 创建 Admin 项目(Vue 3) | 前端负责人 | 1 天 | 项目骨架 | | 创建 App 项目(Nuxt 3) | 前端负责人 | 1 天 | 项目骨架 | | 配置 ESLint、Prettier | 前端负责人 | 0.5 天 | 代码规范 | **里程碑**:开发环境搭建完成 #### 第 2 周:技术预研与设计评审 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **技术预研** | | | | | EF Core + 达梦集成测试 | 后端负责人 | 1 天 | 技术方案 | | Vue 3 + Element Plus 集成测试 | 前端负责人 | 1 天 | 技术方案 | | Tiptap 编辑器集成测试 | 前端负责人 | 1 天 | Demo | | **设计评审** | | | | | 数据库设计评审 | DBA + 架构师 | 0.5 天 | 数据库设计文档 | | API 设计评审 | 后端负责人 + 架构师 | 0.5 天 | API 设计文档 | | 前端架构评审 | 前端负责人 + 架构师 | 0.5 天 | 前端架构文档 | | **团队培训** | | | | | .NET 9 新特性培训 | 架构师 | 0.5 天 | 培训材料 | | Vue 3 Composition API 培训 | 架构师 | 0.5 天 | 培训材料 | | 达梦数据库培训 | DBA | 0.5 天 | 培训材料 | **里程碑**:技术方案确定,团队培训完成 --- ### 阶段 2:后端开发(第 3-7 周) #### 第 3 周:基础设施层开发 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **数据访问层** | | | | | 创建 DbContext | 后端开发 A | 0.5 天 | PandaWikiDbContext.cs | | 实体配置(Users, KB) | 后端开发 A | 1 天 | Entity Configurations | | 实体配置(Nodes, Versions) | 后端开发 B | 1 天 | Entity Configurations | | 实体配置(Conversations, Messages) | 后端开发 C | 1 天 | Entity Configurations | | 创建仓储基类 | 后端开发 A | 0.5 天 | Repository Base | | 实现具体仓储 | 后端开发 A/B/C | 1 天 | Repositories | | **中间件服务封装** | | | | | Redis 缓存服务 | 后端开发 B | 0.5 天 | CacheService | | NATS 消息队列服务 | 后端开发 B | 0.5 天 | MessageQueueService | | MinIO 对象存储服务 | 后端开发 C | 0.5 天 | ObjectStorageService | **里程碑**:基础设施层完成 #### 第 4 周:领域层与应用层(核心业务) | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **认证授权模块** | | | | | 用户实体 | 后端开发 A | 0.5 天 | User Entity | | JWT Token 服务 | 后端开发 A | 1 天 | TokenService | | 认证服务 | 后端开发 A | 1.5 天 | AuthService | | **知识库模块** | | | | | 知识库实体 | 后端开发 B | 0.5 天 | KB Entity | | 知识库服务 | 后端开发 B | 1.5 天 | KBService | | **节点(文档)模块** | | | | | 节点实体 | 后端开发 C | 0.5 天 | Node Entity | | 节点服务(CRUD) | 后端开发 C | 2 天 | NodeService | **里程碑**:核心业务逻辑完成 50% #### 第 5 周:应用层(扩展业务) | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **会话(AI 对话)模块** | | | | | 会话实体 | 后端开发 A | 0.5 天 | Conversation Entity | | 会话服务 | 后端开发 A | 2 天 | ConversationService | | LLM 集成服务 | 后端开发 A | 1.5 天 | LLMService | | **应用模块** | | | | | 应用实体 | 后端开发 B | 0.5 天 | App Entity | | 应用服务(聊天、搜索、挂件) | 后端开发 B | 2 天 | AppService | | **文件模块** | | | | | 文件服务 | 后端开发 C | 1 天 | FileService | **里程碑**:核心业务逻辑完成 80% #### 第 6 周:扩展功能模块 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **爬虫模块** | | | | | 爬虫服务 | 后端开发 A | 2 天 | CrawlerService | | 飞书集成 | 后端开发 A | 1 天 | FeishuService | | **统计模块** | | | | | 统计服务 | 后端开发 B | 2 天 | StatService | | **评论反馈模块** | | | | | 评论服务 | 后端开发 C | 1 天 | CommentService | | 贡献服务 | 后端开发 C | 1 天 | ContributeService | **里程碑**:所有业务模块开发完成 #### 第 7 周:API 层与集成测试 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **API 控制器** | | | | | 认证 API | 后端开发 A | 0.5 天 | AuthController | | 知识库 API | 后端开发 A | 0.5 天 | KBController | | 节点 API | 后端开发 B | 1 天 | NodeController | | 会话 API | 后端开发 B | 1 天 | ConversationController | | 其他 API | 后端开发 C | 1 天 | 其他 Controllers | | **中间件** | | | | | 认证中间件 | 后端开发 A | 0.5 天 | AuthMiddleware | | 异常处理中间件 | 后端开发 A | 0.5 天 | ExceptionMiddleware | | **集成测试** | | | | | API 集成测试 | 测试 + 后端开发 | 1 天 | 测试套件 | **里程碑**:后端 API 开发完成 --- ### 阶段 3:前端开发(第 3-8 周,与后端并行) #### 第 3 周:基础设施与组件库 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **Admin 控制台** | | | | | 路由配置 | 前端开发 A | 0.5 天 | Router | | Pinia Store 架构 | 前端开发 A | 0.5 天 | Store Modules | | API 客户端封装 | 前端开发 A | 1 天 | HTTP Client | | 布局组件(Header, Sidebar) | 前端开发 B | 1.5 天 | Layout Components | | **App Wiki 站** | | | | | Nuxt 配置 | 前端开发 C | 0.5 天 | nuxt.config.ts | | 页面路由 | 前端开发 C | 0.5 天 | Pages | | API 客户端 | 前端开发 C | 1 天 | HTTP Client | **里程碑**:前端基础架构完成 #### 第 4 周:Admin 核心页面(上) | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **登录页面** | | | | | 登录表单 | 前端开发 A | 1 天 | Login.vue | | 认证逻辑 | 前端开发 A | 0.5 天 | Auth Store | | **知识库管理** | | | | | 知识库列表 | 前端开发 A | 1 天 | KB List | | 知识库选择器 | 前端开发 A | 0.5 天 | KB Selector | | **文档管理** | | | | | 文档树组件 | 前端开发 B | 2 天 | NodeTree.vue | | 拖拽排序 | 前端开发 B | 1 天 | Drag & Drop | **里程碑**:Admin 核心页面 40% #### 第 5 周:Admin 核心页面(下) | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **文档编辑器** | | | | | Tiptap 编辑器集成 | 前端开发 C | 2 天 | TiptapEditor.vue | | 协作编辑(Yjs) | 前端开发 C | 1.5 天 | Collaboration | | 工具栏 | 前端开发 B | 1 天 | Toolbar | | AI 辅助创作 | 前端开发 B | 1.5 天 | AI Generate | **里程碑**:文档编辑器完成 #### 第 6 周:Admin 扩展功能页面 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **统计页面** | | | | | 图表组件(ECharts) | 前端开发 A | 1.5 天 | Charts | | 统计数据展示 | 前端开发 A | 1.5 天 | Stat Page | | **会话管理页面** | | | | | 会话列表 | 前端开发 B | 1 天 | Conversation List | | 会话详情 | 前端开发 B | 1 天 | Conversation Detail | | **反馈管理页面** | | | | | 评论列表 | 前端开发 C | 1 天 | Comment List | | 反馈处理 | 前端开发 C | 1 天 | Feedback | **里程碑**:Admin 功能页面 80% #### 第 7 周:Admin 设置页面 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **设置中心** | | | | | 基本设置 | 前端开发 A | 1 天 | Basic Settings | | 应用配置(聊天、搜索) | 前端开发 B | 1.5 天 | App Settings | | 模型配置 | 前端开发 B | 1 天 | Model Settings | | 认证设置(OAuth) | 前端开发 C | 1 天 | Auth Settings | | 权限管理 | 前端开发 C | 0.5 天 | Permission | **里程碑**:Admin 控制台完成 #### 第 8 周:App Wiki 站开发 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **首页** | | | | | 首页布局 | 前端开发 A | 1 天 | Home Page | | 导航菜单 | 前端开发 A | 0.5 天 | Navigation | | **文档详情页** | | | | | Markdown 渲染 | 前端开发 B | 1 天 | Markdown Renderer | | 目录导航 | 前端开发 B | 1 天 | Catalog | | **AI 对话页** | | | | | 对话界面 | 前端开发 C | 1.5 天 | Chat UI | | 流式输出 | 前端开发 C | 1 天 | SSE Stream | **里程碑**:App Wiki 站完成 --- ### 阶段 4:测试阶段(第 9-10 周) #### 第 9 周:功能测试与Bug修复 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **功能测试** | | | | | 用户管理功能测试 | 测试 | 0.5 天 | 测试报告 | | 知识库功能测试 | 测试 | 0.5 天 | 测试报告 | | 文档管理功能测试 | 测试 | 1 天 | 测试报告 | | 编辑器功能测试 | 测试 | 1 天 | 测试报告 | | AI 对话功能测试 | 测试 | 1 天 | 测试报告 | | 其他功能测试 | 测试 | 1 天 | 测试报告 | | **Bug修复** | | | | | Bug 修复(优先级 P0/P1) | 全员 | 持续 | Bug Fix | **里程碑**:主要Bug修复完成 #### 第 10 周:性能测试与优化 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **性能测试** | | | | | API 性能测试 | 测试 + 后端 | 1 天 | 性能报告 | | 前端性能测试 | 测试 + 前端 | 1 天 | 性能报告 | | 数据库性能测试 | DBA | 0.5 天 | 性能报告 | | **性能优化** | | | | | 后端性能优化 | 后端负责人 | 1 天 | 优化报告 | | 前端性能优化 | 前端负责人 | 1 天 | 优化报告 | | 数据库优化 | DBA | 0.5 天 | 优化报告 | **里程碑**:性能达标,测试完成 --- ### 阶段 5:部署上线(第 11 周) #### 第 11 周:数据迁移与上线 | 任务 | 负责人 | 工作量 | 交付物 | |------|--------|--------|--------| | **数据迁移** | | | | | PostgreSQL 数据导出 | DBA | 0.5 天 | 数据备份 | | 数据转换 | DBA | 0.5 天 | 转换脚本 | | 导入达梦数据库 | DBA | 1 天 | 迁移完成 | | 数据验证 | DBA + 测试 | 0.5 天 | 验证报告 | | **部署上线** | | | | | 准备生产环境 | DevOps | 0.5 天 | 环境就绪 | | 部署后端服务 | DevOps | 0.5 天 | 服务运行 | | 部署前端应用 | DevOps | 0.5 天 | 应用可访问 | | 灰度发布(10% 流量) | DevOps | 0.5 天 | 灰度环境 | | 监控观察 | 全员 | 0.5 天 | 监控报告 | | 全量上线(100% 流量) | DevOps | 0.5 天 | 上线完成 | **里程碑**:项目上线 --- ## 四、团队组织 ### 4.1 团队角色 | 角色 | 人数 | 职责 | |------|------|------| | 项目经理 | 1 | 项目管理、进度跟踪 | | 架构师 | 1 | 技术选型、架构设计 | | 后端负责人 | 1 | 后端架构、技术决策 | | 后端开发 | 3 | 后端开发 | | 前端负责人 | 1 | 前端架构、技术决策 | | 前端开发 | 3 | 前端开发 | | DBA | 1 | 数据库设计、迁移、优化 | | 测试 | 2 | 功能测试、性能测试 | | DevOps | 1 | CI/CD、部署、监控 | | **总计** | **14** | | ### 4.2 工作时间分配 ``` 总工时估算: - 后端开发:3人 × 7周 × 5天 = 105 人天 - 前端开发:3人 × 6周 × 5天 = 90 人天 - DBA:1人 × 3周 × 5天 = 15 人天 - 测试:2人 × 3周 × 5天 = 30 人天 - DevOps:1人 × 2周 × 5天 = 10 人天 总计:250 人天 ``` --- ## 五、风险管理 ### 5.1 风险识别 | 风险 | 概率 | 影响 | 等级 | 应对策略 | |------|------|------|------|----------| | 达梦兼容性问题 | 中 | 高 | 🔴高 | 提前测试,使用 PG 兼容模式 | | 数据迁移失败 | 低 | 高 | 🔴高 | 完整备份,分步迁移,充分验证 | | 性能不达标 | 中 | 中 | 🟡中 | 性能测试,提前优化 | | 进度延期 | 中 | 中 | 🟡中 | 每周评审,及时调整 | | 人员流动 | 低 | 高 | 🟡中 | 文档完善,知识共享 | | 需求变更 | 中 | 中 | 🟡中 | 严格变更管理 | | 第三方服务故障 | 低 | 中 | 🟢低 | 监控告警,降级方案 | ### 5.2 应急预案 **数据迁移失败应急预案**: 1. 立即停止迁移 2. 检查错误日志 3. 修复问题后重新迁移 4. 如无法修复,回滚到 PostgreSQL **性能不达标应急预案**: 1. 分析性能瓶颈 2. 优化数据库查询 3. 增加缓存 4. 优化代码逻辑 5. 如仍不达标,增加服务器资源 **上线故障应急预案**: 1. 立即回滚到旧版本 2. 分析故障原因 3. 修复后重新部署 --- ## 六、质量保证 ### 6.1 质量标准 | 质量指标 | 目标 | |----------|------| | 代码覆盖率 | ≥ 70% | | 功能测试通过率 | 100% | | 性能测试通过率 | 100% | | Bug 密度 | ≤ 1 个/1000 行代码 | | 代码审查覆盖率 | 100% | ### 6.2 质量活动 | 活动 | 频率 | 负责人 | |------|------|--------| | 代码审查 | 每个 PR | 全员 | | 每日站会 | 每天 | 项目经理 | | 周报 | 每周 | 项目经理 | | 版本评审 | 每 2 周 | 架构师 | | 测试评审 | 测试阶段 | 测试负责人 | --- ## 七、交付物清单 ### 7.1 代码交付物 - [ ] 后端源代码(.NET 9) - [ ] 前端源代码(Vue 3 Admin) - [ ] 前端源代码(Nuxt 3 App) - [ ] 数据库迁移脚本 - [ ] 单元测试代码 - [ ] 集成测试代码 ### 7.2 文档交付物 - [x] 现有架构分析报告 - [x] 新框架技术选型说明 - [x] 新框架详细设计文档 - [x] 数据库迁移方案 - [x] 开发规范文档 - [x] 实施计划与时间表 - [ ] API 接口文档(Swagger) - [ ] 运维部署文档 - [ ] 用户操作手册 ### 7.3 部署交付物 - [ ] Docker 镜像 - [ ] Docker Compose 配置 - [ ] Kubernetes 配置(可选) - [ ] CI/CD 流程配置 - [ ] 监控配置 - [ ] 备份脚本 --- ## 八、成本预算 ### 8.1 人力成本 | 角色 | 人数 | 人天 | 日薪(元) | 小计(元) | |------|------|------|-----------|-----------| | 架构师 | 1 | 10 | 2000 | 20,000 | | 后端负责人 | 1 | 35 | 1500 | 52,500 | | 后端开发 | 3 | 105 | 1000 | 105,000 | | 前端负责人 | 1 | 30 | 1500 | 45,000 | | 前端开发 | 3 | 90 | 1000 | 90,000 | | DBA | 1 | 15 | 1200 | 18,000 | | 测试 | 2 | 30 | 800 | 24,000 | | DevOps | 1 | 10 | 1000 | 10,000 | | **总计** | | | | **364,500** | ### 8.2 硬件与软件成本 | 项目 | 数量 | 单价(元) | 小计(元) | |------|------|-----------|-----------| | 达梦数据库许可证 | 1 | 0(社区版) | 0 | | 开发服务器 | 2 | 1000/月 × 3月 | 6,000 | | 测试服务器 | 2 | 1000/月 × 2月 | 4,000 | | 生产服务器(初期) | 4 | 2000/月 × 1月 | 8,000 | | 其他工具软件 | - | - | 5,000 | | **总计** | | | **23,000** | ### 8.3 总成本 | 项目 | 成本(元) | |------|-----------| | 人力成本 | 364,500 | | 硬件软件成本 | 23,000 | | 其他成本(10%) | 38,750 | | **总计** | **426,250** | --- ## 九、总结 本实施计划详细规划了 PandaWiki 重构项目的: 1. **阶段划分**:5 个阶段,16 周完成 2. **任务分解**:详细到每周、每个任务 3. **团队组织**:14 人团队,职责明确 4. **风险管理**:识别风险,制定应对策略 5. **质量保证**:明确质量标准和活动 6. **交付物清单**:代码、文档、部署物 7. **成本预算**:约 43 万元 该计划可根据实际情况灵活调整,关键是保持团队沟通、及时发现问题、快速响应变化。 --- **文档版本**:v1.0 **编写时间**:2025-10-30 **审核状态**:待审核
张猛
2025年11月3日 10:13
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码