Files
AIclinicalresearch/docs/04-开发计划/开发里程碑.md
2025-10-10 19:41:16 +08:00

32 KiB
Raw Blame History

开发里程碑与ToDo清单

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


📊 总体进度

设计阶段      ████████████████████ 100% (已完成)
里程碑1 MVP   ██████████████░░░░░░  70% (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 11-17智能体配置 + 对话系统

Day 11: 智能体配置系统

  • 创建配置文件

    • backend/config/agents.yaml
      agents:
        - id: agent-topic-evaluation
          name: 选题评价
          description: 从创新性、临床价值等维度评价研究选题
          category: 选题阶段
          icon: lightbulb
          system_prompt_file: prompts/topic_evaluation_system.txt
          user_prompt_template_file: prompts/topic_evaluation_user.txt
          models:
            deepseek-v3:
              temperature: 0.4
              max_tokens: 2000
            qwen3-72b:
              temperature: 0.5
              max_tokens: 2000
          rag_enabled: true
          status: active
      
        # 其他11个智能体status: inactive
        - id: agent-scientific-question
          name: 科学问题梳理
          status: inactive
        # ... 其他10个
      
  • 创建Prompt文件

    • backend/prompts/topic_evaluation_system.txt

      你是一位经验丰富的临床研究专家,擅长评估研究选题的质量...
      
      评价维度:
      1. 创新性:...
      2. 临床价值:...
      3. 科学性:...
      4. 可行性:...
      
    • backend/prompts/topic_evaluation_user.txt

      请对以下研究选题进行评价:
      
      {user_question}
      
      请按照创新性、临床价值、科学性、可行性四个维度进行分析。
      
  • 编写配置加载器

    • backend/src/config/agent-loader.ts
    • 读取agents.yaml
    • 读取prompts/*.txt
    • 提供getAgent()、getAllAgents()方法

验收: 配置系统可以正常加载智能体配置和Prompt


Day 12-13: LLM适配器

  • 创建LLM Factory

    • backend/src/adapters/llm-factory.ts
    • 支持DeepSeek-V3和Qwen3
    • 统一的调用接口
  • 实现DeepSeek适配器

    class DeepSeekAdapter {
      async chat(messages, options) {
        // 调用DeepSeek API
        // 支持流式输出
      }
    }
    
  • 实现Qwen适配器

    class QwenAdapter {
      async chat(messages, options) {
        // 调用DashScope API (Qwen)
        // 支持流式输出
      }
    }
    
  • 测试两个模型

    • 测试DeepSeek-V3调用
    • 测试Qwen3调用
    • 测试流式输出

验收: 两个LLM模型都能正常调用流式输出正常


Day 14-15: 对话系统(后端)

  • 上下文组装逻辑

    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客户端封装

  • 创建Dify客户端

    • backend/src/clients/dify.ts
  • 实现知识库API封装

    class DifyClient {
      // 创建知识库
      async createDataset(name: string, description: string)
    
      // 上传文档
      async uploadDocument(datasetId: string, file: Buffer, filename: string)
    
      // 获取文档处理状态
      async getDocumentStatus(documentId: string)
    
      // 检索知识库
      async retrieveKnowledge(datasetId: string, query: string, topK: number)
    
      // 删除文档
      async deleteDocument(documentId: string)
    }
    
  • 测试Dify API

    • 测试创建知识库
    • 测试上传文档
    • 测试查询文档状态
    • 测试检索功能

验收: Dify客户端能正常调用所有API


Day 19-20: 知识库管理(后端)

  • 知识库API

    • POST /api/v1/knowledge-bases - 创建知识库
    • GET /api/v1/knowledge-bases - 获取知识库列表
    • DELETE /api/v1/knowledge-bases/:id - 删除知识库
  • 文档上传API

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

    async function processDocument(kbId, file) {
      // 1. 上传到对象存储
      // 2. 创建document记录status: uploading
      // 3. 调用Dify上传API
      // 4. 异步轮询处理状态
      // 5. 更新document状态
    }
    
  • 实现配额检查

    • 检查知识库数量最多3个
    • 检查文档数量最多50个/知识库)
    • 检查文件格式PDF/DOCX
    • 检查文件大小最大50MB

验收: 知识库API全部实现配额限制正常工作


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
维护者: 项目经理