35 KiB
开发里程碑与ToDo清单
项目周期: 10-11周(2.5-3个月)
开发策略: MVP优先 + 技术验证第一
团队规模: 2人(1全栈 + 1前端)
开始日期: 2025-10-10
预计完成: 2025-12-25
📊 总体进度
设计阶段 ████████████████████ 100% (已完成)
里程碑1 MVP ████████████████████ 100% (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: 核心MVP(Week 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 Key(DeepSeek、Qwen)
📅 里程碑1:核心MVP + 技术验证(Week 1-4)⭐⭐⭐
这是整个项目最关键的阶段!
目标: 验证核心技术可行性,开发1个完整可用的智能体
时间: 3-4周
验证内容: Dify、LobeChat、对话系统、知识库完整流程
核心目标
必须完成的功能:
- ✅ 环境搭建(Docker、数据库、Dify)
- ✅ 前端完整布局(包含占位符)
- ✅ 1个智能体(选题评价)+ 配置系统
- ✅ 项目管理功能
- ✅ 对话系统(上下文组装 + 流式输出)
- ✅ 知识库完整流程(创建 → 上传 → 处理 → @引用 → 问答 → 溯源)
- ✅ 模型切换(DeepSeek-V3 ↔ Qwen3)
暂不实现:
- ❌ 用户注册登录(等对接已有系统)
- ❌ 历史记录筛选(后续)
- ❌ 其他11个智能体(验证成功后再做)
- ❌ 运营后台(最后)
- ❌ 文档导出(后续)
Week 1(Day 4-10):基础搭建 + 前端布局
Day 4: 环境搭建 ✅ 核心完成
- 创建项目目录结构(frontend/ + backend/)
- 初始化Git仓库(完整文档体系)
- 安装Docker Desktop(已完成)
- 启动PostgreSQL + Redis(Docker Compose)
- 部署Dify(Docker)⏸️ 暂时跳过(网络问题)
- 验证Dify可访问(http://localhost)⏸️ 暂时跳过
- 创建Dify账号并获取API Key ⏸️ 暂时跳过
验收: ✅ PostgreSQL和Redis已启动,核心开发环境就绪 决策:
- ✅ 暂时跳过Dify部署(网络不稳定,EOF错误)
- ✅ Dify代码已完整下载,配置文件已就绪
- ✅ 不影响Day 5-8开发,Dify主要用于知识库RAG功能(里程碑1后期)
- ✅ 等网络稳定后再部署(预计10分钟即可完成)
- 详见:
docs/05-每日进度/Dify部署状态-Day4-Day5.mdDify完整部署方案.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 ORM(schema.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状态管理库
-
创建项目状态store(useProjectStore.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 2(Day 10-17):智能体配置 + 对话系统
Day 10-11: 智能体配置系统 ✅ 已完成
-
创建配置文件
backend/config/agents.yaml(348行)- 定义12个智能体的完整配置
- 包含基本信息、模型参数、功能开关
- 详细的配置说明注释
-
创建Prompt模板
-
backend/prompts/topic_evaluation_system.txt(143行)- 2000+字专业系统Prompt
- 四维度评价框架(创新性、临床价值、科学性、可行性)
- 详细的评分标准(1-10分制)
- 结构化输出格式规范
-
backend/prompts/topic_evaluation_user.txt(12行)- 支持变量替换({{projectBackground}}, {{userInput}}, {{knowledgeBaseContext}})
- 条件渲染({{#if}}...{{/if}})
-
-
智能体服务层
backend/src/services/agentService.ts(232行)- 配置加载和管理
- Prompt模板缓存
- 变量替换和条件渲染
- 热更新支持
-
API控制器和路由
backend/src/controllers/agentController.ts(197行)backend/src/routes/agents.ts(52行)- RESTful API设计
- 完整的CRUD操作
-
前端集成
frontend/src/api/agentApi.ts(76行)- 更新AgentChatPage动态加载配置
- 添加loading和错误处理
验收:
- ✅ 后端构建成功
- ✅ 前端构建成功(9.29s)
- ✅ TypeScript编译无错误
- ✅ 智能体配置可正常加载
- ✅ Prompt模板可正常渲染
成果物:
backend/config/agents.yaml- 智能体配置backend/prompts/topic_evaluation_system.txt- 系统Promptbackend/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.ts(57行)ILLMAdapter接口定义Message,LLMOptions,LLMResponse,StreamChunk类型
-
实现DeepSeek适配器
src/adapters/DeepSeekAdapter.ts(150行)- 非流式调用:
chat() - 流式调用:
chatStream()- SSE数据解析 - 完整错误处理和Token统计
-
实现Qwen适配器
src/adapters/QwenAdapter.ts(162行)- DashScope API集成
- 流式调用支持
incremental_output - X-DashScope-SSE头设置
-
创建LLM Factory
src/adapters/LLMFactory.ts(75行)getAdapter(modelType)- 单例模式- 支持模型:deepseek-v3, qwen3-72b, gemini-pro(预留)
-
环境配置
src/config/env.ts(56行).env.example(36行)- API Keys配置
- 环境验证函数
-
对话服务层
src/services/conversationService.ts(381行)- 创建对话、获取列表、获取详情
- 上下文组装(系统Prompt + 历史消息 + 项目背景)
- 非流式发送:
sendMessage() - 流式发送:
sendMessageStream() - 软删除对话
-
对话控制器和路由
src/controllers/conversationController.ts(247行)src/routes/conversations.ts(36行)- RESTful API设计
- SSE流式输出支持
- 模型类型验证
-
数据库更新
- 更新
prisma/schema.prisma Conversation添加:metadata,deletedAtMessage添加: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 3(Day 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 4(Day 25-28):测试优化 + 技术验证
Day 25: 模型切换功能
-
后端支持
- 对话API支持modelName参数
- 根据modelName选择对应的LLM适配器
-
前端实现
- 聊天界面显示当前模型
- 模型切换下拉菜单(DeepSeek-V3、Qwen3)
- 切换后立即生效
-
测试
- 测试DeepSeek-V3回答
- 测试Qwen3回答
- 测试切换是否立即生效
验收: 模型切换正常,两个模型都能正常工作
Day 26-27: 完整流程测试 ⭐⭐⭐
-
准备测试数据
- 创建测试项目:"骨质疏松研究"
- 项目背景:"探索肠道菌群与老年女性骨质疏松的关系"
- 上传测试PDF文档(医学文献)
-
测试完整流程
- 创建项目 ✓
- 编辑项目背景 ✓
- 选择"选题评价"智能体 ✓
- 创建知识库"骨质疏松专题" ✓
- 上传文档(等待处理完成)✓
- 在对话中@骨质疏松专题 ✓
- 提问:"请评价骨质疏松研究的创新性" ✓
- 验证回答:
- 包含项目背景信息 ✓
- 引用了知识库内容 ✓
- 有明确的溯源标注 ✓
- 切换到Qwen3模型,再次提问 ✓
- 验证回答质量 ✓
-
性能测试
- 首字响应时间 < 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 5(Day 29-35):开发4个智能体
Day 29-30: 科学问题梳理 + PICOS构建
-
科学问题梳理智能体
- 编写System Prompt(0.5天)
- 编写User Prompt Template(0.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 6(Day 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 7(Day 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 8(Day 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 9(Day 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 10(Day 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 11(Day 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
维护者: 项目经理