Files
AIclinicalresearch/docs/04-开发计划/开发里程碑.md
2025-10-11 11:35:12 +08:00

37 KiB
Raw Blame History

开发里程碑与ToDo清单

项目周期: 10-11周2.5-3个月
开发策略: MVP优先 + 技术验证第一
团队规模: 2人1全栈 + 1前端
开始日期: 2025-10-10
预计完成: 2025-12-25


📊 总体进度

设计阶段      ████████████████████ 100% (已完成)
里程碑1 MVP   ███████████████████░  93% (Week 1-4) 🔄 知识库前端开发中
里程碑2 扩展  ░░░░░░░░░░░░░░░░░░░░   0% (Week 5-7)
里程碑3 补充  ░░░░░░░░░░░░░░░░░░░░   0% (Week 8-9)
里程碑4 完善  ░░░░░░░░░░░░░░░░░░░░   0% (Week 10-11)

🎯 里程碑概览(已优化)

里程碑 时间 核心目标 验收标准
设计阶段 Day 1-3 完善设计文档 数据库、API、规范文档完成
里程碑1 MVP Week 1-4 核心MVP + 技术验证 1个智能体 + 完整知识库流程可用
里程碑2 扩展 Week 5-7 开发其他11个智能体 所有12个智能体可用
里程碑3 补充 Week 8-9 用户系统 + 历史记录 用户对接完成,历史记录可用
里程碑4 完善 Week 10-11 运营后台 + 测试优化 系统稳定,可正式使用

💡 开发策略调整说明

⚠️ 为什么要调整?

原计划的风险:

  • 一开始就开发12个智能体工作量巨大
  • Dify、LobeChat、知识库等新技术如果不可行10周后才发现
  • 心理压力大,容易放弃

调整后的优势:

  • MVP优先3-4周就能看到可用Demo
  • 技术验证先验证最不确定的技术Dify、对话、知识库
  • 风险可控技术验证成功后其他11个智能体只是"重复劳动"
  • 心理轻松:小步快跑,每完成一步都有成就感

🎯 新的开发顺序

Phase 1: 核心MVPWeek 1-4⭐⭐⭐
  ├── 1个智能体选题评价
  ├── 项目管理(基于项目背景)
  ├── 对话系统(上下文组装 + 流式输出)
  ├── 知识库完整流程(创建、上传、处理、@引用、问答)
  ├── 模型切换DeepSeek-V3 ↔ Qwen3
  └── 前端完整布局(其他功能占位符)
  
  【验证成功标准】
  ✅ 能基于项目背景,使用选题评价智能体,上传知识库文档,进行问答
  ✅ 知识库问答有明确溯源
  ✅ 模型切换正常
  ✅ LobeChat组件体验良好

Phase 2: 扩展智能体Week 5-7
  ├── 开发其他11个智能体
  └── 每个智能体约1天编写Prompt 0.5天 + 测试 0.5天)

Phase 3: 补充功能Week 8-9
  ├── 对接已有用户系统
  ├── 历史记录管理
  └── 文档导出功能

Phase 4: 完善系统Week 10-11
  ├── 简化版运营后台
  ├── 全面测试
  └── 性能优化

📅 设计阶段Day 1-3 已完成

目标

  • 完善所有核心设计文档
  • 建立开发规范
  • 明确业务规则

ToDo清单

Day 1-2: 核心文档

  • 创建文档目录结构
  • 创建数据库设计文档771行
  • 创建API设计规范1023行
  • 创建代码规范文档815行
  • 创建核心业务规则文档593行
  • 创建开发里程碑(本文档)

Day 3: Review与准备

  • Review所有设计文档
  • 确定技术选型细节
  • 整理PRD和原型图
  • 准备API KeyDeepSeek、Qwen

📅 里程碑1核心MVP + 技术验证Week 1-4

这是整个项目最关键的阶段!
目标: 验证核心技术可行性开发1个完整可用的智能体
时间: 3-4周
验证内容: Dify、LobeChat、对话系统、知识库完整流程

核心目标

必须完成的功能:

  1. 环境搭建Docker、数据库、Dify
  2. 前端完整布局(包含占位符)
  3. 1个智能体选题评价+ 配置系统
  4. 项目管理功能
  5. 对话系统(上下文组装 + 流式输出)
  6. 知识库完整流程(创建 → 上传 → 处理 → @引用 → 问答 → 溯源)
  7. 模型切换DeepSeek-V3 ↔ Qwen3

暂不实现:

  • 用户注册登录(等对接已有系统)
  • 历史记录筛选(后续)
  • 其他11个智能体验证成功后再做
  • 运营后台(最后)
  • 文档导出(后续)

Week 1Day 4-10基础搭建 + 前端布局

Day 4: 环境搭建 核心完成

  • 创建项目目录结构frontend/ + backend/
  • 初始化Git仓库完整文档体系
  • 安装Docker Desktop已完成
  • 启动PostgreSQL + RedisDocker Compose
  • 部署DifyDocker⏸️ 暂时跳过(网络问题)
  • 验证Dify可访问http://localhost⏸️ 暂时跳过
  • 创建Dify账号并获取API Key ⏸️ 暂时跳过

验收: PostgreSQL和Redis已启动核心开发环境就绪 决策:

  • 暂时跳过Dify部署网络不稳定EOF错误
  • Dify代码已完整下载配置文件已就绪
  • 不影响Day 5-8开发Dify主要用于知识库RAG功能里程碑1后期
  • 等网络稳定后再部署预计10分钟即可完成
  • 详见:
    • docs/05-每日进度/Dify部署状态-Day4-Day5.md
    • Dify完整部署方案.md
    • 配置Docker镜像加速器.md

Day 5: 后端基础架构 已完成

  • 初始化后端项目Node.js + TypeScript
    cd backend
    npm init -y
    npm install fastify @fastify/cors @fastify/jwt
    npm install prisma @prisma/client dotenv
    npm install typescript @types/node ts-node tsx pino-pretty -D
    npx tsc --init
    
  • 配置Fastify框架入口文件 + CORS + 日志)
  • 配置Prisma ORMschema.prisma
  • 创建.env文件DATABASE_URL、REDIS_URL、API Keys等
  • 根据数据库设计文档创建Prisma Schema
    • users简化版对接现有系统
    • projects项目管理
    • conversations会话管理
    • messages消息记录 + metadata字段用于@知识库)
    • knowledge_bases知识库管理限制3个/用户)
    • documents文档管理限制50个/知识库)
    • admin_logs运营管理日志
  • 执行Prisma migrate创建数据库表迁移ID: 20251010075003_init
  • 编写数据库连接测试脚本
  • 验证所有表创建成功,索引正确

验收:

  • 后端服务能启动监听3001端口
  • 数据库表全部创建8张表与设计文档一致
  • Prisma Client能正常查询数据库
  • 健康检查端点可访问(/health
  • API入口端点可访问/api/v1

成果物:

  • backend/ 目录完整结构
  • backend/README.md 项目说明
  • backend/启动后端.bat 一键启动
  • docs/05-每日进度/Day05-后端基础架构完成.md 详细总结
  • Git提交feat(backend): Day 5 - 后端基础架构搭建完成

Day 6: 前端基础架构 已完成

  • 初始化前端项目Vite + React + TypeScript
  • 安装Ant Design UI组件库
  • 配置Tailwind CSS
  • 配置React Router路由
  • 创建主布局组件(侧边栏+头部+内容区)
  • 实现首页12个智能体卡片
  • 实现智能体页面(占位符)
  • 配置Axios API请求
  • 添加TypeScript类型定义
  • 构建测试通过

验收:

  • 前端项目可启动端口3000
  • TypeScript编译无错误
  • 构建成功dist/
  • 布局响应式正常
  • 12个智能体显示正确

成果物:

  • frontend/ 目录完整结构15个代码文件
  • frontend/README.md 项目说明
  • frontend/启动前端.bat 一键启动
  • docs/05-每日进度/Day06-前端基础架构完成.md 详细总结
  • Git提交feat(frontend): Day 6 - 前端基础架构完成

Day 7: 前端完整布局 已完成

  • 安装Zustand状态管理库

  • 创建项目状态storeuseProjectStore.ts

  • 项目管理UI组件

    • ProjectSelector项目选择器
    • CreateProjectDialog创建项目对话框
    • EditProjectDialog编辑项目对话框
  • 侧边栏组件优化

    • 集成项目选择器
    • 添加知识库管理导航
    • 添加历史记录导航
    • 智能体菜单添加disabled状态
  • 智能体选择页面优化

    • 只有"选题评价"可点击
    • 其他11个显示"🔒 即将上线"标签
    • 点击未启用智能体显示提示
    • 视觉区分(透明度、按钮状态)
  • 聊天页面布局AgentChatPage

    • 标题栏(智能体信息、当前模型)
    • 消息列表区域(占位符)
    • 输入框区域
    • 工具栏(上传文件、@知识库、模型切换)
  • 知识库页面布局KnowledgePage

    • 知识库列表表格(模拟数据)
    • 文档列表表格(模拟数据)
    • 功能说明和开发中提示
  • 历史记录页面HistoryPage

    • 占位符展示
  • 路由配置

    • 添加AgentChatPage路由
    • 添加KnowledgePage路由
    • 添加HistoryPage路由

验收:

  • 前端启动正常
  • 构建成功6.02s
  • TypeScript编译无错误
  • 前端完整布局完成,可以在各个页面之间导航
  • 项目管理UI交互流畅
  • 智能体选择页面只有选题评价可用

成果物:

  • frontend/src/stores/useProjectStore.ts - 项目状态管理
  • frontend/src/components/ - 3个项目管理组件
  • frontend/src/pages/ - 3个新页面AgentChatPage, KnowledgePage, HistoryPage
  • docs/05-每日进度/Day07-前端完整布局完成.md - 详细总结
  • Git提交feat(frontend): Day 7 - 前端完整布局完成

Day 8-9: 项目管理API 已完成

  • 后端API开发

    • POST /api/v1/projects - 创建项目
    • GET /api/v1/projects - 获取项目列表
    • GET /api/v1/projects/:id - 获取项目详情
    • PUT /api/v1/projects/:id - 更新项目
    • DELETE /api/v1/projects/:id - 删除项目(软删除)
    • 三层架构Routes → Controller → Service → Database
    • 请求验证中间件
    • 完善的错误处理
  • 数据库设计更新

    • 更新Prisma schema添加background, researchType, deletedAt字段
    • 重新生成Prisma Client
  • 前端API集成

    • 创建projectApi服务模块
    • 更新useProjectStore添加fetchProjects和loading状态
    • ProjectSelector组件连接真实API
    • CreateProjectDialog连接真实API含loading和错误处理
    • EditProjectDialog连接真实API含loading和错误处理

验收:

  • 后端构建成功
  • 前端构建成功6.73s
  • TypeScript编译无错误
  • 可以创建项目,编辑项目背景,切换项目
  • Loading状态和错误提示完善

成果物:

  • backend/src/services/projectService.ts - 数据库操作服务
  • backend/src/controllers/projectController.ts - 业务逻辑控制器
  • backend/src/middleware/validateProject.ts - 验证中间件
  • backend/src/routes/projects.ts - API路由
  • frontend/src/api/projectApi.ts - 前端API服务
  • 更新5个前端组件
  • docs/05-每日进度/Day08-09-项目管理API完成.md - 详细总结
  • Git提交feat: Day 8-9 - Project Management API completed

Week 2Day 10-17智能体配置 + 对话系统

Day 10-11: 智能体配置系统 已完成

  • 创建配置文件

    • backend/config/agents.yaml348行
    • 定义12个智能体的完整配置
    • 包含基本信息、模型参数、功能开关
    • 详细的配置说明注释
  • 创建Prompt模板

    • backend/prompts/topic_evaluation_system.txt143行

      • 2000+字专业系统Prompt
      • 四维度评价框架(创新性、临床价值、科学性、可行性)
      • 详细的评分标准1-10分制
      • 结构化输出格式规范
    • backend/prompts/topic_evaluation_user.txt12行

      • 支持变量替换({{projectBackground}}, {{userInput}}, {{knowledgeBaseContext}}
      • 条件渲染({{#if}}...{{/if}}
  • 智能体服务层

    • backend/src/services/agentService.ts232行
    • 配置加载和管理
    • Prompt模板缓存
    • 变量替换和条件渲染
    • 热更新支持
  • API控制器和路由

    • backend/src/controllers/agentController.ts197行
    • backend/src/routes/agents.ts52行
    • RESTful API设计
    • 完整的CRUD操作
  • 前端集成

    • frontend/src/api/agentApi.ts76行
    • 更新AgentChatPage动态加载配置
    • 添加loading和错误处理

验收:

  • 后端构建成功
  • 前端构建成功9.29s
  • TypeScript编译无错误
  • 智能体配置可正常加载
  • Prompt模板可正常渲染

成果物:

  • backend/config/agents.yaml - 智能体配置
  • backend/prompts/topic_evaluation_system.txt - 系统Prompt
  • backend/prompts/topic_evaluation_user.txt - 用户Prompt模板
  • backend/src/services/agentService.ts - 配置加载服务
  • backend/src/controllers/agentController.ts - API控制器
  • backend/src/routes/agents.ts - API路由
  • frontend/src/api/agentApi.ts - 前端API服务
  • docs/05-每日进度/Day10-11-智能体配置系统完成.md - 详细总结
  • Git提交feat: Day 10-11 - Agent Configuration System completed

Day 12-13: LLM适配器 + 对话系统 已完成

  • 创建LLM类型定义和接口

    • src/adapters/types.ts57行
    • ILLMAdapter接口定义
    • Message, LLMOptions, LLMResponse, StreamChunk类型
  • 实现DeepSeek适配器

    • src/adapters/DeepSeekAdapter.ts150行
    • 非流式调用:chat()
    • 流式调用:chatStream() - SSE数据解析
    • 完整错误处理和Token统计
  • 实现Qwen适配器

    • src/adapters/QwenAdapter.ts162行
    • DashScope API集成
    • 流式调用支持incremental_output
    • X-DashScope-SSE头设置
  • 创建LLM Factory

    • src/adapters/LLMFactory.ts75行
    • getAdapter(modelType) - 单例模式
    • 支持模型deepseek-v3, qwen3-72b, gemini-pro预留
  • 环境配置

    • src/config/env.ts56行
    • .env.example36行
    • API Keys配置
    • 环境验证函数
  • 对话服务层

    • src/services/conversationService.ts381行
    • 创建对话、获取列表、获取详情
    • 上下文组装系统Prompt + 历史消息 + 项目背景)
    • 非流式发送:sendMessage()
    • 流式发送:sendMessageStream()
    • 软删除对话
  • 对话控制器和路由

    • src/controllers/conversationController.ts247行
    • src/routes/conversations.ts36行
    • RESTful API设计
    • SSE流式输出支持
    • 模型类型验证
  • 数据库更新

    • 更新prisma/schema.prisma
    • Conversation添加:metadata, deletedAt
    • Message添加:model
    • 执行数据库迁移
  • 依赖管理

    • 安装axios - HTTP客户端
    • 安装js-yaml - YAML解析
    • 安装zod - Schema验证
    • 安装@types/js-yaml - TypeScript类型
  • 服务器集成

    • 注册对话路由到主服务器
    • 添加环境验证到启动流程

验收:

  • 后端构建成功
  • Prisma Client生成成功
  • 数据库迁移应用成功
  • TypeScript编译无错误
  • 所有依赖安装成功
  • ⚠️ LLM API调用需要配置API Key

成果物:

  • src/adapters/types.ts - LLM类型定义
  • src/adapters/DeepSeekAdapter.ts - DeepSeek适配器
  • src/adapters/QwenAdapter.ts - Qwen适配器
  • src/adapters/LLMFactory.ts - LLM工厂类
  • src/config/env.ts - 环境配置
  • .env.example - 配置模板
  • src/services/conversationService.ts - 对话服务
  • src/controllers/conversationController.ts - 对话控制器
  • src/routes/conversations.ts - 对话路由
  • docs/05-每日进度/Day12-13-LLM适配器与对话系统完成.md - 详细总结
  • Git提交feat: Day 12-13 - LLM Adapters and Conversation System completed

Day 14-17: 前端对话界面 已完成

  • 上下文组装逻辑

    async function assembleContext(
      conversationId: string,
      userMessage: string,
      projectId?: string,
      kbReferences?: string[]
    ) {
      // 1. 获取智能体配置
      // 2. 获取项目背景(如有)
      // 3. 获取历史对话最近10轮
      // 4. 获取知识库检索结果(如有)
      // 5. 组装最终prompt
      return {
        systemPrompt: "...",
        messages: [...]
      }
    }
    
  • 对话API

    • POST /api/v1/conversations - 创建对话
    • GET /api/v1/conversations/:id - 获取对话详情
    • POST /api/v1/conversations/:id/messages/stream - 发送消息(流式)
  • 流式输出实现SSE

    async function streamResponse(reply, llmStream) {
      for await (const chunk of llmStream) {
        reply.raw.write(`data: ${JSON.stringify(chunk)}\n\n`)
      }
      reply.raw.end()
    }
    
  • 测试对话流程

    • 测试上下文组装
    • 测试流式输出
    • 测试错误处理

验收: 对话API正常工作流式输出体验良好


Day 16-17: LobeChat组件集成

  • 研究LobeChat源码

    • 克隆LobeChat仓库
    • 研究ChatMessage组件
    • 研究ChatInput组件
    • 研究StreamRenderer组件
  • 提取核心组件

    • 复制相关文件到项目
    • 调整依赖和导入
    • 适配TailwindCSS样式
  • 集成到聊天页面

    • 使用ChatMessage渲染消息
    • 使用ChatInput作为输入框
    • 集成流式渲染
  • 测试聊天体验

    • 测试消息显示
    • 测试Markdown渲染
    • 测试代码块高亮
    • 测试流式输出动画

验收: 聊天界面美观,消息渲染正常,流式输出流畅


Week 3Day 18-24知识库完整流程

Day 18: Dify平台部署 已完成

  • Docker镜像加速器配置

    • 配置5个国内镜像源
    • 提升下载速度和成功率
  • Dify镜像拉取

    • 共11个服务镜像
    • 总大小约2GB
    • 耗时约15分钟
  • Dify服务启动

    • nginx (端口80/443)
    • api, worker, worker_beat
    • web
    • db (PostgreSQL), redis
    • weaviate (向量数据库)
    • sandbox, plugin_daemon, ssrf_proxy
  • Dify初始化配置

    • 创建管理员账号
    • 创建应用AI Clinical Research
    • 获取API Keyapp-VZRn0vMXdmltEJkvatHVGv5j
  • 后端环境配置

    • 配置 DIFY_API_URL=http://localhost/v1
    • 配置 DIFY_API_KEY

验收: Dify平台已部署并正常运行

详细总结: 参见 docs/05-每日进度/Day18-Dify部署完成.md


Day 19: Dify客户端封装 已完成

  • 创建类型定义

    • backend/src/clients/types.ts
    • 完整的TypeScript类型定义
    • 包含知识库、文档、检索相关类型
  • 实现DifyClient核心类

    • backend/src/clients/DifyClient.ts
    • 知识库管理:创建、列表、详情、删除
    • 文档管理:上传、列表、详情、删除、更新
    • 知识库检索语义搜索、top_k、相似度阈值
    • 辅助方法:轮询等待、一键上传
  • 完整测试验证

    • 测试1创建知识库
    • 测试2获取知识库列表找到3个
    • 测试3获取知识库详情
    • 测试4上传文档247 tokens
    • 测试5获取文档列表
    • 测试6知识库检索找到1条结果相似度0.4420
    • 测试7删除文档
    • 测试8删除知识库

验收: Dify客户端所有API测试通过耗时约15秒

详细总结: 参见 docs/05-每日进度/Day19-Dify客户端封装完成.md


Day 20: 知识库管理(后端) 已完成

  • 数据库表设计

    • KnowledgeBase模型映射Dify Dataset
    • Document模型状态追踪、索引
    • 多租户架构每个知识库独立Dataset
  • 知识库API完整CRUD

    • POST /api/v1/knowledge-bases - 创建知识库
    • GET /api/v1/knowledge-bases - 获取知识库列表
    • GET /api/v1/knowledge-bases/:id - 获取详情
    • PUT /api/v1/knowledge-bases/:id - 更新知识库
    • DELETE /api/v1/knowledge-bases/:id - 删除知识库
    • GET /api/v1/knowledge-bases/:id/search - 检索知识库RAG
    • GET /api/v1/knowledge-bases/:id/stats - 获取统计信息
  • 文档管理API

    • POST /api/v1/knowledge-bases/:kbId/documents - 上传文档
    • GET /api/v1/knowledge-bases/:kbId/documents - 获取文档列表
    • GET /api/v1/documents/:id - 获取文档详情
    • DELETE /api/v1/documents/:id - 删除文档
    • POST /api/v1/documents/:id/reprocess - 重新处理文档
  • 文档处理流程

    • 后台轮询Dify处理状态最多30次×2秒
    • 状态追踪uploading → parsing → indexing → completed/error
    • 自动更新知识库统计(文件数、总大小)
  • 配额检查实现

    • 知识库数量限制每用户3个
    • 文档数量限制每知识库50个
    • 文件格式限制PDF、DOC、DOCX、TXT、MD
    • 文件大小限制最大10MB
  • 技术问题修复

    • BigInt序列化问题全局处理 + Service层转换
    • 文件上传支持(@fastify/multipart
    • API测试验证通过

验收: 所有API测试通过知识库CRUD、文档上传、配额检查全部正常工作

详细总结: 参见 docs/05-每日进度/Day20-知识库管理后端完成.md


Day 21-22: 知识库管理(前端)

  • 知识库列表页面

    • 显示3个知识库卡片
    • 显示文档数量
    • "创建新知识库"按钮
    • 达到3个后禁用创建按钮
  • 知识库详情页面

    • 显示文档列表
    • 文档处理状态(处理中🟡、已就绪🟢、失败🔴
    • 上传文档按钮
    • 删除文档按钮
  • 文档上传组件

    • 拖拽上传或点击上传
    • 文件格式验证(前端)
    • 文件大小验证(前端)
    • 上传进度显示
    • 上传后显示处理状态
  • 处理状态轮询

    // 每2秒轮询一次文档处理状态
    useEffect(() => {
      const interval = setInterval(() => {
        if (hasProcessingDocs) {
          fetchDocumentStatus()
        }
      }, 2000)
      return () => clearInterval(interval)
    }, [hasProcessingDocs])
    

验收: 知识库前端功能完整,文档上传流程顺畅


Day 23-24: 知识库检索 + @引用功能

  • 检索API

    • POST /api/v1/knowledge-bases/retrieve - 检索知识库
    • 调用Dify检索API
    • 返回Top 5结果
    • 包含文档名、段落内容、相似度分数
  • @知识库功能(前端)

    • 输入框输入@触发知识库选择器
    • 显示用户的3个知识库
    • 选择后插入到输入框
  • 对话中集成知识库

    • 发送消息时,识别@知识库名称
    • 调用检索API获取相关内容
    • 将检索结果注入到上下文
  • 答案溯源显示

    • AI回答中标注引用来源
    • 格式:根据您的资料 [📄 文献综述.pdf] 显示...
    • 点击可查看原文位置(可选)
  • 完整测试

    • 上传PDF文档
    • 等待处理完成
    • @引用该知识库
    • 提问相关问题
    • 验证回答有溯源

验收: 知识库问答流程完整,答案有明确溯源


Week 4Day 25-28测试优化 + 技术验证

Day 25: 模型切换功能

  • 后端支持

    • 对话API支持modelName参数
    • 根据modelName选择对应的LLM适配器
  • 前端实现

    • 聊天界面显示当前模型
    • 模型切换下拉菜单DeepSeek-V3、Qwen3
    • 切换后立即生效
  • 测试

    • 测试DeepSeek-V3回答
    • 测试Qwen3回答
    • 测试切换是否立即生效

验收: 模型切换正常,两个模型都能正常工作


Day 26-27: 完整流程测试

  • 准备测试数据

    • 创建测试项目:"骨质疏松研究"
    • 项目背景:"探索肠道菌群与老年女性骨质疏松的关系"
    • 上传测试PDF文档医学文献
  • 测试完整流程

    1. 创建项目 ✓
    2. 编辑项目背景 ✓
    3. 选择"选题评价"智能体 ✓
    4. 创建知识库"骨质疏松专题" ✓
    5. 上传文档(等待处理完成)✓
    6. 在对话中@骨质疏松专题 ✓
    7. 提问:"请评价骨质疏松研究的创新性" ✓
    8. 验证回答:
      • 包含项目背景信息 ✓
      • 引用了知识库内容 ✓
      • 有明确的溯源标注 ✓
    9. 切换到Qwen3模型再次提问 ✓
    10. 验证回答质量 ✓
  • 性能测试

    • 首字响应时间 < 3秒 ✓
    • 完整回复时间 < 30秒 ✓
    • 文档上传+处理 < 2分钟 ✓
  • Bug修复

    • 记录所有Bug
    • 修复高优先级Bug
    • 优化用户体验

验收: 完整流程顺畅,性能达标


Day 28: 技术验证总结 + Go/No-Go决策

  • 技术验证检查清单

    对话功能

    • 能正常流式输出AI回复
    • 项目背景能正确注入到上下文
    • 历史对话能正确加载最近10轮
    • 回复质量可接受

    知识库功能

    • PDF/DOCX能成功上传90%成功率)
    • Dify能正常处理文档
    • @知识库能检索到相关内容
    • 答案有明确的溯源引用
    • 基于知识库的回答质量可接受

    LobeChat组件

    • 聊天界面美观、流畅
    • 消息渲染正常Markdown、代码块等
    • 流式输出体验良好

    模型切换

    • 切换后立即生效
    • 两个模型都能正常工作

    性能

    • 首字响应 < 3秒
    • 完整回复 < 30秒
    • 文档上传+处理 < 2分钟
  • Go/No-Go决策

    • GO 如果以上检查全部通过 → 继续开发其他11个智能体
    • ⚠️ 调整: 如果部分问题 → 调整方案,优化后继续
    • NO-GO 如果核心技术不可行 → 重新评估技术方案
  • 文档更新

    • 更新技术验证结果
    • 记录遇到的问题和解决方案
    • 为Phase 2做准备

里程碑1验收标准

  • 能基于项目背景,使用选题评价智能体,上传知识库文档,进行问答
  • 知识库问答有明确溯源
  • 模型切换正常
  • LobeChat组件体验良好
  • 前端完整布局已完成(其他功能占位符)
  • 技术验证通过,可以继续开发

📅 里程碑2扩展智能体Week 5-7

前提: 里程碑1技术验证通过
目标: 开发其他11个智能体
时间: 2-3周

核心目标

  • 开发其他11个智能体
  • 每个智能体约1天工作量
  • 复用已验证的对话系统和配置逻辑

Week 5Day 29-35开发4个智能体

Day 29-30: 科学问题梳理 + PICOS构建

  • 科学问题梳理智能体

    • 编写System Prompt0.5天)
    • 编写User Prompt Template0.1天)
    • 更新agents.yaml配置0.1天)
    • 测试和调优0.3天)
  • PICOS构建智能体

    • 编写System Prompt
    • 编写User Prompt Template
    • 更新agents.yaml配置
    • 实现结构化输出解析
    • 测试和调优

验收: 2个智能体可用回答质量良好


Day 31-32: 观察指标设计 + CRF制定

  • 观察指标设计智能体

    • 编写Prompt
    • 配置agents.yaml
    • 测试和调优
  • CRF制定智能体

    • 编写Prompt
    • 配置agents.yaml
    • 实现表格输出格式化
    • 测试和调优

验收: 2个智能体可用


Day 33-35: 样本量计算 + 临床研究方案撰写 + 论文润色

  • 样本量计算智能体

    • 编写Prompt包含计算公式
    • 配置agents.yaml
    • 测试计算准确性
  • 临床研究方案撰写智能体

    • 编写Prompt
    • 配置agents.yaml
    • 测试输出完整性
  • 论文润色智能体

    • 编写Prompt
    • 配置agents.yaml
    • 实现文件上传支持
    • 测试润色效果

验收: 3个智能体可用共完成7个智能体


Week 6Day 36-42开发5个智能体

Day 36-37: 论文翻译 + 方法学评审

  • 论文翻译智能体

    • 编写Prompt中英互译
    • 配置agents.yaml
    • 测试翻译质量
    • 支持保留格式
  • 方法学评审智能体

    • 编写Prompt
    • 配置agents.yaml
    • 测试评审维度

验收: 2个智能体可用共9个


Day 38-40: 期刊方法学评审 + 期刊稿约评审

  • 期刊方法学评审智能体

    • 编写Prompt模拟审稿人视角
    • 配置agents.yaml
    • 测试提问质量
  • 期刊稿约评审智能体

    • 编写Prompt格式检查
    • 配置agents.yaml
    • 测试检查准确性

验收: 2个智能体可用共11个


Day 41-42: 最后1个智能体 + 全面测试

  • 开发最后1个智能体

    • 根据需要选择
    • 或补充前面的智能体
  • 12个智能体全面测试

    • 测试每个智能体的基本功能
    • 测试Prompt效果
    • 测试知识库集成
    • 优化Prompt

验收: 所有12个智能体可用


Week 7Day 43-49前端完善 + 集成测试

Day 43-44: 前端完善

  • 智能体选择页面

    • 移除所有占位符
    • 所有12个智能体都可点击
    • 添加智能体分类(选题阶段、研究设计、论文阶段)
  • 智能体详情优化

    • 显示智能体描述
    • 显示适用场景
    • 显示示例问题

验收: 前端所有智能体功能完整


Day 45-47: 集成测试

  • 测试所有智能体

    • 每个智能体至少3个测试用例
    • 测试知识库集成
    • 测试项目背景注入
    • 记录问题
  • Prompt优化

    • 根据测试结果优化Prompt
    • 调整temperature参数
    • 调整max_tokens

验收: 所有智能体回答质量良好


Day 48-49: 性能优化 + Bug修复

  • 性能优化

    • 优化LLM调用速度
    • 优化前端渲染性能
    • 优化知识库检索
  • Bug修复

    • 修复所有已知Bug
    • 用户体验优化

里程碑2验收标准

  • 所有12个智能体可用
  • 每个智能体回答质量良好
  • 知识库集成正常
  • 前端功能完整

📅 里程碑3补充功能Week 8-9

目标: 用户系统对接 + 历史记录 + 附加功能
时间: 2周

Week 8Day 50-56用户系统对接 + 历史记录

Day 50-51: 对接已有用户系统

  • 了解已有用户系统

    • 获取用户系统API文档
    • 了解认证机制
    • 了解用户数据结构
  • 实现SSO集成

    • 实现统一认证接口
    • 验证Token有效性
    • 获取用户信息
    • 同步用户数据到本地数据库
  • 前端集成

    • 移除注册登录页面占位符
    • 集成SSO登录流程
    • 实现自动登录

验收: 用户可以通过已有系统登录


Day 52-54: 历史记录管理

  • 历史记录API

    • GET /api/v1/history - 获取历史记录
    • 支持筛选(项目、智能体、日期)
    • 支持搜索(关键词)
    • 支持分页
  • 历史记录页面

    • 移除占位符
    • 实现历史记录列表
    • 实现筛选器(项目、智能体、日期范围)
    • 实现搜索框
    • 点击记录跳转到对话详情

验收: 历史记录功能完整,可以快速查找对话


Day 55-56: 附加功能

  • 固定到项目背景

    • 实现消息固定API
    • 前端添加固定按钮
    • 固定后追加到项目description
  • 对话管理

    • 删除对话
    • 重命名对话
    • 导出对话JSON/Markdown

验收: 附加功能可用


Week 9Day 57-63文档生成 + 优化

Day 57-59: 文档生成 - CRF

  • 安装docx库

    npm install docx
    
  • 设计CRF模板

    • Word模板结构
    • 动态字段定义
  • 实现Word生成

    • POST /api/v1/documents/crf - 生成CRF
    • 解析AI输出的结构化数据
    • 填充到Word模板
    • 返回下载链接
  • 前端下载功能

    • CRF智能体对话中添加"生成CRF"按钮
    • 点击后调用API
    • 下载Word文档

验收: 可以生成CRF Word文档


Day 60-61: 文档生成 - 研究方案

  • 设计研究方案模板

    • 包含:背景、目的、设计、流程等章节
  • 实现Word生成

    • POST /api/v1/documents/research-proposal - 生成研究方案
    • 填充AI生成的内容
    • 返回下载链接

验收: 可以生成研究方案Word文档


Day 62-63: 测试优化

  • 全面测试

    • 测试所有新功能
    • 测试与已有功能的集成
  • Bug修复

    • 修复所有已知Bug

里程碑3验收标准

  • 用户可以通过已有系统登录
  • 历史记录功能完整
  • 可以生成CRF和研究方案文档
  • 固定到项目背景功能可用

📅 里程碑4运营后台 + 最终测试Week 10-11

目标: 简化版运营后台 + 全面测试 + 部署准备
时间: 1-2周

Week 10Day 64-70运营后台

Day 64-65: 用户管理

  • 用户列表API

    • GET /api/v1/admin/users - 获取用户列表
    • 支持搜索和筛选
  • 用户管理页面

    • 用户列表表格
    • 用户详情查看
    • 用户状态管理(启用/禁用)

验收: 管理员可以查看和管理用户


Day 66-67: 数据统计

  • 统计数据API

    • GET /api/v1/admin/statistics - 获取统计数据
    • 用户统计
    • 对话统计
    • 智能体使用统计
  • 仪表盘页面

    • 关键指标卡片
    • 图表展示使用Recharts
    • 智能体使用排行

验收: 仪表盘可以展示核心数据


Day 68-69: 对话记录查看

  • 对话查看API

    • GET /api/v1/admin/conversations/:id - 查看对话
    • 敏感信息脱敏
    • 记录审计日志
  • 对话查看页面

    • 对话列表
    • 对话详情查看(已脱敏)

验收: 管理员可以查看用户对话(已脱敏)


Day 70: 权限管理

  • RBAC实现
    • 定义角色user、admin
    • 实现权限检查中间件
    • 前端路由守卫

验收: 权限控制正常


Week 11Day 71-77最终测试 + 部署

Day 71-73: 全面测试

  • 功能测试

    • 测试所有功能模块
    • 编写测试用例
    • 记录测试结果
  • 性能测试

    • 并发测试50用户同时使用
    • 响应时间测试
    • 数据库性能测试
  • 兼容性测试

    • Chrome、Firefox、Safari测试
    • 移动端适配测试

验收: 所有测试通过


Day 74-75: Bug修复 + 优化

  • 修复所有已知Bug

    • 按优先级修复
    • 验证修复效果
  • 性能优化

    • 前端优化(懒加载、代码分割)
    • 后端优化(查询优化、缓存)
    • 数据库索引优化

验收: 系统稳定,性能良好


Day 76-77: 文档完善 + 部署准备

  • 更新所有文档

    • 更新技术文档
    • 编写用户手册
    • 编写运维文档
    • 编写部署文档
  • 部署准备

    • 准备生产环境配置
    • 准备Docker镜像
    • 准备数据库迁移脚本

验收: 文档完整,可以部署


最终验收清单

功能完整性

  • 12个智能体全部可用
  • 项目管理功能完整
  • 对话系统流畅
  • 知识库功能完整
  • 历史记录管理
  • 用户系统对接
  • 文档生成功能
  • 运营后台基本功能

性能指标

  • API响应时间 < 500ms
  • 页面加载时间 < 2s
  • LLM首字响应 < 3s
  • 支持100+并发用户

质量指标

  • 代码测试覆盖率 > 60%
  • ESLint错误数 = 0
  • TypeScript类型错误 = 0
  • 安全漏洞 = 0高危/中危)

文档完整性

  • 所有技术文档已更新
  • 用户手册已完成
  • 运维文档已完成
  • 部署文档已完成

🎯 关键成功因素

1. 技术验证优先

  • 里程碑1必须完成技术验证
  • 验证通过才能继续开发
  • 避免"开发到一半发现技术不可行"

2. MVP优先

  • 先做最小可用版本
  • 快速获得反馈
  • 及时调整方向

3. 小步快跑

  • 每周都有可见成果
  • 降低心理压力
  • 保持开发动力

4. 风险可控

  • 随时可以调整
  • 核心技术验证后风险大幅降低
  • 后续开发都是"重复劳动"

📊 进度跟踪

每日更新

  • 更新Todo状态
  • 记录遇到的问题
  • 记录解决方案

每周总结

  • 周五写周报
  • 总结本周成果
  • 规划下周任务

里程碑Review

  • 每个里程碑结束Review一次
  • 检查验收标准
  • 决定是否继续

文档维护: 每日更新任务进度
最后更新: 2025-10-10
维护者: 项目经理