Files
AIclinicalresearch/docs/08-项目管理/下一阶段行动计划-V2.2-完整版.md
HaHafeng 66255368b7 feat(admin): Add user management and upgrade to module permission system
Features - User Management (Phase 4.1):
- Database: Add user_modules table for fine-grained module permissions
- Database: Add 4 user permissions (view/create/edit/delete) to role_permissions
- Backend: UserService (780 lines) - CRUD with tenant isolation
- Backend: UserController + UserRoutes (648 lines) - 13 API endpoints
- Backend: Batch import users from Excel
- Frontend: UserListPage (412 lines) - list/filter/search/pagination
- Frontend: UserFormPage (341 lines) - create/edit with module config
- Frontend: UserDetailPage (393 lines) - details/tenant/module management
- Frontend: 3 modal components (592 lines) - import/assign/configure
- API: GET/POST/PUT/DELETE /api/admin/users/* endpoints

Architecture Upgrade - Module Permission System:
- Backend: Add getUserModules() method in auth.service
- Backend: Login API returns modules array in user object
- Frontend: AuthContext adds hasModule() method
- Frontend: Navigation filters modules based on user.modules
- Frontend: RouteGuard checks requiredModule instead of requiredVersion
- Frontend: Remove deprecated version-based permission system
- UX: Only show accessible modules in navigation (clean UI)
- UX: Smart redirect after login (avoid 403 for regular users)

Fixes:
- Fix UTF-8 encoding corruption in ~100 docs files
- Fix pageSize type conversion in userService (String to Number)
- Fix authUser undefined error in TopNavigation
- Fix login redirect logic with role-based access check
- Update Git commit guidelines v1.2 with UTF-8 safety rules

Database Changes:
- CREATE TABLE user_modules (user_id, tenant_id, module_code, is_enabled)
- ADD UNIQUE CONSTRAINT (user_id, tenant_id, module_code)
- INSERT 4 permissions + role assignments
- UPDATE PUBLIC tenant with 8 module subscriptions

Technical:
- Backend: 5 new files (~2400 lines)
- Frontend: 10 new files (~2500 lines)
- Docs: 1 development record + 2 status updates + 1 guideline update
- Total: ~4900 lines of code

Status: User management 100% complete, module permission system operational
2026-01-16 13:42:10 +08:00

52 KiB
Raw Blame History

下一阶段行动计划 V2.2 - 完整版

计划周期: 2025-11-07 至 2025-12-064周
核心目标: Schema隔离 + 前端统一架构 + ASL核心功能 + 4个LLM集成
制定时间: 2025-11-09
版本: V2.2完整版融合V2.1详细内容 + V2.2整体思路)
最后更新: 2025-11-12 18:00
当前进度: Week 1完成 + Week 2 Day 6完成13/25任务52% 🎉


📊 实时进度报告

更新时间: 2025-11-13
总体进度: 15/25 任务完成60%
当前阶段: Week 1完成Week 2 Day 7完成准备进入Day 8-9

Week 1 进度11/14 完成

任务 状态 完成时间 备注
任务110个Schema架构规划 完成 2025-11-12 完整架构文档已创建
任务2platform_schema设计 完成 2025-11-12 1个表从public迁移
任务3aia_schema设计 完成 2025-11-12 5个表完整设计
任务4pkb_schema设计 完成 2025-11-12 5个表含Phase 3
任务57空Schema+迁移脚本 完成 2025-11-12 5个SQL脚本
任务6执行Schema迁移 完成 2025-11-12 100%数据迁移成功
任务7验证现有功能 完成 2025-11-12 API测试全部通过
任务8Prisma多Schema配置 完成 2025-11-12 13个models配置完成
任务9创建AIA数据库文档 完成 2025-11-12 含完整ER图和业务规则
任务10创建PKB数据库文档 完成 2025-11-12 含Phase 3说明
任务11代码适配新Schema 🎉 取消 - Prisma自动处理无需修改
⏸️ 任务12补充API设计文档 待定 - 可延后到开发中迭代
⏸️ 任务13Week 1总结验收 待定 - 可与Week 2一起验收
⏸️ 任务14Week 2准备工作 待定 - 已开始思考前端架构

重大发现 💡

Prisma多Schema自动路由机制

  • 代码无需修改Prisma自动处理schema前缀
  • 所有现有API自动工作
  • 跨Schema外键透明支持
  • 🎉 节省了任务11代码适配的3-4小时工作量

交付成果 📦

架构文档:

  • Schema隔离架构设计10个
  • AIA数据库设计文档5个表+完整ER图
  • PKB数据库设计文档5个表+Phase 3说明

迁移脚本:

  • 001-create-all-10-schemas.sql
  • 002-migrate-platform.sql
  • 003-migrate-aia.sql
  • 004-migrate-pkb.sql
  • 005-validate-simple.sql

验证报告:

  • Schema迁移完成报告
  • Prisma配置完成报告
  • 数据库验证通过报告
  • 快速功能测试报告

Week 2 进度4/6 完成

任务 状态 完成时间 备注
任务15前端架构设计 完成 2025-11-12 前后端模块化架构设计-V2.md867行
任务16创建统一布局框架 完成 2025-11-12 Frontend-v2项目顶部导航+6模块
任务17实现模块注册机制 完成 2025-11-13 权限系统+错误边界+路由守卫
任务18整合和测试 完成 2025-11-13 合并到任务17一起完成
任务19后端代码分层 完成 2025-11-14 增量演进架构,新旧并存
任务20Week 2验收 待开始 - Week 2 Day 10

核心成果 🎉

Frontend-v2项目

  • React 19 + TypeScript + Vite
  • Ant Design 5 + Tailwind CSS 3
  • 顶部导航系统
  • 模块注册中心
  • 6个业务模块占位按架构文档顺序
  • 首页和路由系统
  • 访问地址:http://localhost:3000

Backend 增量演进架构: 新增

  • 三层目录结构legacy/common/modules
  • 新旧代码并存,零风险改造
  • 通用能力层LLM适配器、RAG、文档处理
  • 现有模块稳定运行AIA/PKB/RVW
  • 新模块标准化开发ASL准备就绪
  • 所有功能测试通过

文档体系:

  • START-HERE-FOR-AI.md - 新AI快速入口
  • [AI对接] 项目状态与下一步指南.md - 详细交接文档
  • 前后端模块化架构设计-V2.md - 架构总纲867行
  • 后端架构增量演进方案.md - 后端分层策略450行 新增
  • 2025-11-14-任务19完成总结.md - 后端分层实施记录 新增

下一步 🚀

立即开始: Week 2 Day 10 - Week 2 验收与总结任务20 后续计划: Week 3-4 ASL开发 已完成: Week 2 Day 6-9前端架构+模块注册+后端分层)


💡 V2.2版核心调整

🎯 最大变化前端统一架构提前到Week 2

为什么调整?

原V2.1版问题:

  • Week 2只做后端分层 + LLM网关
  • Week 3开发ASL时前端还是散乱的
  • 开发完ASL后再重构前端 → 大量返工

V2.2版优化:

  • Week 2先建立前端统一架构
  • 所有模块插件化接入,一次到位
  • Week 3开发ASL时直接在统一框架下
  • LLM网关推迟到Week 5现有调用已够用4个LLM已配置

🎯 V2.2 vs V2.1 关键差异

项目 V2.1版 V2.2版 原因
Week 1 Schema隔离3+7 相同,保留详细内容 架构基础
Week 2重点 后端分层 + LLM网关 前端架构 + 后端分层 架构先行,避免返工
前端架构 未明确时机 Week 2上半周完成 ASL在统一框架下开发
LLM网关 Week 2开发 推迟到Week 5 现有调用已work
CloseAI集成 未提及 已完成配置 4个LLM可用

📊 整体规划 - 四周四阶段

Week 1              Week 2                      Week 3-4           Week 5+
Schema隔离    →   前端架构+后端分层    →    ASL核心开发   →   LLM网关+其他模块
(3详细+7空)      (统一导航+插件化)         (4个LLM筛选)      (抽取统一网关)
阶段 时间 核心任务 交付成果 优先级
阶段1 Week 1 Schema隔离3详细+7空 10个Schema完成 P0
阶段2 Week 2 前端统一架构 + 后端分层 统一导航+模块插件化 P0
阶段3 Week 3-4 ASL核心功能4个LLM 文献筛选完整流程 P0
阶段4 Week 5+ LLM网关统一 + 其他模块 LLM网关+DC/RVW P1

🚀 阶段1Schema隔离Week 1

时间: 2025-11-07 至 2025-11-137天
策略: 3个详细迁移 + 7个空Schema预留
原则: 聚焦当前架构预留Just-in-time设计

核心原则3详细+7空

全部创建的Schema10个

详细设计+迁移3个 Week 1重点

1. platform_schema - 平台基础

  • 迁移现有的users表~10条数据
  • 为平台基础服务预留

2. aia_schema - AI智能问答 现有功能

  • 迁移5个表projects, conversations, messages, general_conversations, general_messages
  • 数据量:~20个项目~50条对话~500条消息

3. pkb_schema - 个人知识库 现有功能

  • 迁移2个表knowledge_bases, documents
  • 数据量:~5个知识库~30个文档

只创建空Schema7个📋 命名空间预留

4. asl_schema - AI智能文献

  • 📋 Week 3开发前再详细设计
  • 避免现在过度设计,需求更明确时再做

5. common_schema - 通用能力

  • 📋 需要时再创建表LLM使用记录、Feature Flags

6. dc_schema - 数据清洗 7. rvw_schema - 审稿系统 8. admin_schema - 运营管理 9. ssa_schema - 智能统计分析 10. st_schema - 统计分析工具


为什么采用"3详细+7空"策略?

核心原则:聚焦当前,架构预留

成本分析:

  • Week 1只处理3个Schema的迁移
  • 其余7个只是CREATE SCHEMA(几秒钟)
  • 总工作量从2天降低到1.5天

收益分析:

  1. 聚焦当前需求 - Week 1专注架构和迁移
  2. 避免过度设计 - ASL等模块需求未最终确定
  3. Just-in-time设计 - 开发前再详细设计,更准确
  4. 架构完整 - 10个命名空间已预留随时扩展
  5. 降低返工风险 - Week 3需求可能调整

Day 1-2Schema迁移准备聚焦3个

Day 1上午10个Schema架构规划

任务规划完整的10个Schema架构

  • 绘制10个Schema的完整架构图架构层面
  • 明确3个需要迁移的Schema
  • 明确7个空Schema的用途
  • 编写Schema架构文档

输出文档:

  • 09-架构实施/01-Schema隔离架构设计10个.md

Schema依赖关系

业务模块SchemaAIA/PKB/ASL/DC/RVW/ADMIN/SSA/ST
    ↓ 引用
Common Schema通用数据暂为空
    ↓ 引用  
Platform Schema用户、权限

Day 1下午-Day 2上午3个Schema详细设计 核心工作

只详细设计需要迁移的3个Schema

1. platform_schema平台基础

CREATE SCHEMA platform_schema;

-- 用户表从public.users迁移
CREATE TABLE platform_schema.users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    name VARCHAR(255),
    avatar_url VARCHAR(500),
    role VARCHAR(50) NOT NULL DEFAULT 'user',
    status VARCHAR(50) DEFAULT 'active',
    kb_quota INT DEFAULT 3, -- 知识库配额
    kb_used INT DEFAULT 0,  -- 已使用
    trial_ends_at TIMESTAMP,
    is_trial BOOLEAN DEFAULT true,
    last_login_at TIMESTAMP,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

说明: 用户表是所有Schema的基础其他Schema的user_id都引用platform_schema.users。


2. aia_schemaAI智能问答 现有功能迁移

CREATE SCHEMA aia_schema;

-- 项目管理从public.projects迁移
CREATE TABLE aia_schema.projects (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL, -- 引用platform_schema.users
    name VARCHAR(255) NOT NULL,
    background TEXT DEFAULT '',
    research_type VARCHAR(50) DEFAULT 'observational',
    conversation_count INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

-- 对话从public.conversations迁移
CREATE TABLE aia_schema.conversations (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    project_id UUID REFERENCES aia_schema.projects(id) ON DELETE CASCADE,
    agent_id VARCHAR(100) NOT NULL,
    title VARCHAR(255) NOT NULL,
    model_name VARCHAR(50) DEFAULT 'deepseek-v3',
    message_count INT DEFAULT 0,
    total_tokens INT DEFAULT 0,
    metadata JSONB,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

-- 消息从public.messages迁移
CREATE TABLE aia_schema.messages (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    conversation_id UUID REFERENCES aia_schema.conversations(id) ON DELETE CASCADE,
    role VARCHAR(20) NOT NULL, -- user/assistant
    content TEXT NOT NULL,
    model VARCHAR(50),
    metadata JSONB,
    tokens INT,
    is_pinned BOOLEAN DEFAULT false,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 通用对话从public.general_conversations迁移
CREATE TABLE aia_schema.general_conversations (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL,
    title VARCHAR(255) NOT NULL,
    model_name VARCHAR(50),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP
);

-- 通用消息从public.general_messages迁移
CREATE TABLE aia_schema.general_messages (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    conversation_id UUID REFERENCES aia_schema.general_conversations(id) ON DELETE CASCADE,
    role VARCHAR(20) NOT NULL,
    content TEXT NOT NULL,
    model VARCHAR(50),
    metadata JSONB,
    tokens INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

3. pkb_schema个人知识库 现有功能迁移

CREATE SCHEMA pkb_schema;

-- 知识库从public.knowledge_bases迁移
CREATE TABLE pkb_schema.knowledge_bases (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    user_id UUID NOT NULL, -- 引用platform_schema.users
    name VARCHAR(255) NOT NULL,
    description TEXT,
    dify_dataset_id VARCHAR(255) NOT NULL, -- Dify知识库ID
    file_count INT DEFAULT 0,
    total_size_bytes BIGINT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 文档从public.documents迁移
CREATE TABLE pkb_schema.documents (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    kb_id UUID REFERENCES pkb_schema.knowledge_bases(id) ON DELETE CASCADE,
    user_id UUID NOT NULL,
    filename VARCHAR(255) NOT NULL,
    file_type VARCHAR(50) NOT NULL,
    file_size_bytes BIGINT NOT NULL,
    file_url TEXT NOT NULL,
    dify_document_id VARCHAR(255) NOT NULL, -- Dify文档ID
    status VARCHAR(50) DEFAULT 'uploading', -- uploading/processing/completed/failed
    progress INT DEFAULT 0,
    error_message TEXT,
    segments_count INT,
    tokens_count INT,
    -- Phase 2: 全文阅读模式字段
    extraction_method VARCHAR(50), -- pymupdf/nougat/mammoth/direct
    extraction_quality FLOAT, -- 0-1质量分数
    char_count INT,
    language VARCHAR(20), -- chinese/english
    extracted_text TEXT,
    uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    processed_at TIMESTAMP
);

Day 2下午7个空Schema创建SQL 📋

只需创建空Schema不设计表结构

-- 创建7个空Schema命名空间预留
CREATE SCHEMA IF NOT EXISTS asl_schema;     -- AI智能文献Week 3开发前再设计
CREATE SCHEMA IF NOT EXISTS common_schema;  -- 通用能力,需要时再创建表
CREATE SCHEMA IF NOT EXISTS dc_schema;      -- 数据清洗
CREATE SCHEMA IF NOT EXISTS rvw_schema;     -- 审稿系统
CREATE SCHEMA IF NOT EXISTS admin_schema;   -- 运营管理
CREATE SCHEMA IF NOT EXISTS ssa_schema;     -- 智能统计分析
CREATE SCHEMA IF NOT EXISTS st_schema;      -- 统计分析工具

说明:

  • 只需几秒钟执行完成
  • 命名空间已预留,不会冲突
  • 需要时随时可以在对应Schema中创建表
  • Prisma配置中可以先预留暂不定义模型

Day 2下午迁移脚本编写

任务:

  • 编写创建10个Schema的SQL脚本3个详细+7个空
  • 编写3个Schema的数据迁移脚本
  • 编写数据验证脚本
  • 在本地测试环境验证

迁移策略:

  1. 创建10个新Schema3个详细+7个空一次性
  2. 在3个Schema中创建表结构并迁移数据
  3. 验证数据完整性
  4. 清理public schema旧表可选因为是测试系统

输出脚本5个

脚本 说明 工作量
001-create-all-10-schemas.sql 创建10个Schema 5分钟
002-migrate-platform.sql 迁移users表到platform_schema 15分钟
003-migrate-aia.sql 迁移5个表到aia_schema 30分钟
004-migrate-pkb.sql 迁移2个表到pkb_schema 20分钟
005-validate-all.sql 验证数据完整性 10分钟

总工作量: ~1.5小时


Day 3执行3个Schema迁移

上午:执行迁移

  • 备份当前数据库(虽然是测试数据,但还是备份)
  • 执行001脚本创建10个Schema3详细+7空
  • 执行002-004脚本迁移3个Schema的数据platform/aia/pkb
  • 执行005脚本验证数据完整性

下午:验证现有功能

  • 测试AI智能问答功能使用aia_schema
  • 测试知识库功能使用pkb_schema
  • 验证10个Schema全部创建
  • 修复发现的问题

验收标准:

  • 10个Schema全部创建成功
  • 7个空Schema验证通过ASL/Common/DC/RVW/ADMIN/SSA/ST
  • 现有功能AIA、PKB正常运行
  • 数据迁移100%成功(~10条用户 + 50+对话 + 30+文档)

预计时间: 2-3小时


Day 4-5Prisma Schema更新 + 补充文档

Day 4上午Prisma多Schema配置3个详细+7个预留

任务:

  • 更新Prisma配置支持10个Schema
  • 为3个Schema创建完整的Prisma模型Platform/AIA/PKB
  • 为7个空Schema预留配置只配置Schema名无模型
  • 生成Prisma Client
  • 单元测试

Prisma配置示例

// schema.prisma
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["multiSchema"]
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
  schemas  = [
    "platform_schema",     // ✅ 已迁移,有模型
    "aia_schema",          // ✅ 已迁移,有模型
    "pkb_schema",          // ✅ 已迁移,有模型
    "asl_schema",          // 📋 空SchemaWeek 3再定义模型
    "common_schema",       // 📋 空Schema需要时再定义
    "dc_schema",           // 📋 空Schema
    "rvw_schema",          // 📋 空Schema
    "admin_schema",        // 📋 空Schema
    "ssa_schema",          // 📋 空Schema
    "st_schema"            // 📋 空Schema
  ]
}

// ===== 1. Platform Schema平台基础=====
model User {
  id           String   @id @default(uuid())
  email        String   @unique
  passwordHash String   @map("password_hash")
  name         String?
  avatarUrl    String?  @map("avatar_url")
  role         String   @default("user")
  status       String   @default("active")
  kbQuota      Int      @default(3) @map("kb_quota")
  kbUsed       Int      @default(0) @map("kb_used")
  trialEndsAt  DateTime? @map("trial_ends_at")
  isTrial      Boolean  @default(true) @map("is_trial")
  lastLoginAt  DateTime? @map("last_login_at")
  createdAt    DateTime @default(now()) @map("created_at")
  updatedAt    DateTime @updatedAt @map("updated_at")
  
  @@map("users")
  @@schema("platform_schema")
}

// ===== 2. AIA SchemaAI智能问答 - 迁移现有表)=====
model Project {
  id          String   @id @default(uuid())
  userId      String   @map("user_id")
  name        String
  description String?
  createdAt   DateTime @default(now()) @map("created_at")
  
  conversations Conversation[]
  
  @@map("projects")
  @@schema("aia_schema")
}

// ... 其他AIA模型Conversation, Message, GeneralConversation等

// ===== 3. PKB Schema个人知识库 - 迁移现有表)=====
model KnowledgeBase {
  id             String   @id @default(uuid())
  userId         String   @map("user_id")
  name           String
  description    String?
  difyDatasetId  String   @map("dify_dataset_id")
  fileCount      Int      @default(0) @map("file_count")
  totalSizeBytes BigInt   @default(0) @map("total_size_bytes")
  createdAt      DateTime @default(now()) @map("created_at")
  updatedAt      DateTime @updatedAt @map("updated_at")
  
  documents Document[]
  
  @@map("knowledge_bases")
  @@schema("pkb_schema")
}

model Document {
  id                 String   @id @default(uuid())
  kbId               String   @map("kb_id")
  userId             String   @map("user_id")
  filename           String
  fileType           String   @map("file_type")
  fileSizeBytes      BigInt   @map("file_size_bytes")
  fileUrl            String   @map("file_url")
  difyDocumentId     String   @map("dify_document_id")
  status             String   @default("uploading")
  progress           Int      @default(0)
  errorMessage       String?  @map("error_message") @db.Text
  segmentsCount      Int?     @map("segments_count")
  tokensCount        Int?     @map("tokens_count")
  // Phase 2: 全文阅读字段
  extractionMethod   String?  @map("extraction_method")
  extractionQuality  Float?   @map("extraction_quality")
  charCount          Int?     @map("char_count")
  language           String?
  extractedText      String?  @map("extracted_text") @db.Text
  uploadedAt         DateTime @default(now()) @map("uploaded_at")
  processedAt        DateTime? @map("processed_at")
  
  knowledgeBase      KnowledgeBase @relation(fields: [kbId], references: [id], onDelete: Cascade)
  
  @@map("documents")
  @@schema("pkb_schema")
}

说明:

  • 只为3个已迁移的Schema定义模型
  • 📋 7个空Schema已在schemas列表中但暂无模型
  • 📋 ASL模型将在Week 3开发前定义
  • 📋 Common模型需要时再添加

Day 4下午补充AIA和PKB设计文档 新增任务

任务为已迁移的2个模块补充完整设计文档

1. 创建AIA数据库设计文档

  • 创建 03-业务模块/AIA-AI智能问答/02-技术设计/01-数据库设计.md
  • 基于已迁移的5个表编写完整文档
  • 包括:表结构、字段说明、索引设计、关系说明

2. 创建PKB数据库设计文档

  • 创建 03-业务模块/PKB-个人知识库/02-技术设计/01-数据库设计.md
  • 基于已迁移的2个表编写完整文档
  • 重点说明Phase 2全文阅读相关字段

工作量估算: 各1小时共2小时

为什么现在补充?

  • 趁着对表结构熟悉,立即文档化
  • 为Week 2代码重构提供文档支持
  • 与ASL保持一致的文档结构

Day 5上午代码适配 + API文档补充

任务1更新代码以使用新Schema

  • 更新所有数据库查询代码
  • 使用新的Prisma Client
  • 更新API路由
  • 运行集成测试

任务2补充API设计文档

  • 创建 03-业务模块/AIA-AI智能问答/02-技术设计/02-API设计规范.md
  • 创建 03-业务模块/PKB-个人知识库/02-技术设计/02-API设计规范.md
  • 基于现有API routes整理文档

验收标准:

  • 所有API正常工作
  • 测试通过
  • 现有功能无回归
  • AIA和PKB模块文档完整数据库+API

Day 5下午Week 1总结 + Week 2准备

任务:

  • 验证10个Schema全部创建
  • 验证3个详细Schema数据迁移完整
  • 更新文档:记录迁移过程和结果
  • 编写Week 1总结报告
  • 规划Week 2代码重构细节

Week 1交付物检查清单

  • 10个Schema全部创建3详细+7空
  • Platform/AIA/PKB数据100%迁移
  • Prisma模型更新完成3个详细Schema
  • 现有功能正常运行
  • AIA和PKB完整文档数据库+API
  • 迁移脚本文档化

🎨 阶段2前端统一架构 + 后端分层Week 2

时间: 2025-11-14 至 2025-11-207天
核心: 建立统一前端导航框架,所有模块插件化接入
目标: Week 3开发ASL时直接在统一架构下

核心原则:架构先行,一次到位

为什么前端架构要优先?

  1. 避免ASL开发完后再重构前端
  2. 一开始就在统一框架下开发
  3. 其他模块AIA、PKB、审稿直接接入
  4. 导航、布局、路由一次到位

Day 6-7上半周前端统一架构 核心任务

Day 6上午前端架构设计 关键设计

任务:前端架构整体设计

  • 梳理前端架构需求和目标
  • 确定前端技术栈和工具链
  • 设计模块注册机制
  • 设计统一导航和布局方案
  • 编写前端架构设计文档

需要解决的核心问题:

1. 技术栈选择

  • UI组件库选择Ant Design? Material-UI? 自研?)
  • 路由方案React Router配置
  • 状态管理Redux? Zustand? 不用?)
  • 构建工具当前Vite是否需要调整

2. 统一布局设计

  • 顶部导航栏设计Logo、模块切换、用户信息
  • 侧边菜单设计(模块内导航、收缩/展开)
  • 面包屑设计(当前位置指示)
  • 主内容区布局

3. 模块插件化机制

  • 模块如何注册到主应用?
  • 模块路由如何动态加载?
  • 模块权限如何控制?
  • 模块样式如何隔离?

4. 导航结构设计

  • 一级导航模块级AIA、PKB、ASL、审稿等
  • 二级导航:功能级(项目管理、对话、文献筛选等)
  • 导航如何响应式适配?

输出文档:

  • 01-平台基础层/06-前端架构/04-前端架构实施方案-V2.md
  • 更新:01-平台基础层/06-前端架构/01-前端总体架构设计.md
  • 更新:01-平台基础层/06-前端架构/02-导航结构设计.md

参考文档:

  • 01-平台基础层/06-前端架构/01-前端总体架构设计.md(现有设计)
  • 01-平台基础层/06-前端架构/02-导航结构设计.md(现有导航)
  • 01-平台基础层/06-前端架构/03-架构原型图.html(原型参考)

设计要点:

主要考虑:
1. 简单易维护(单人开发)
2. 模块化清晰(支持独立开发)
3. 扩展性好(新模块快速接入)
4. 用户体验佳(统一的交互风格)

Day 6下午-Day 7前端架构实施

任务1创建统一布局框架

  • 创建 frontend/src/layouts/MainLayout.tsx
    • 顶部导航栏组件
    • 侧边菜单组件
    • 主内容区
    • 面包屑导航
  • 创建 frontend/src/components/TopNav.tsx
  • 创建 frontend/src/components/SideMenu.tsx

任务2实现模块注册机制

  • 创建 frontend/src/router/moduleRegistry.ts
  • 定义模块配置接口
  • 实现动态路由加载
  • 实现模块权限控制

任务3整合现有模块

  • 重构AIA模块接入统一导航现有功能
  • 重构PKB模块接入统一导航现有功能
  • 重构审稿模块接入统一导航(现有功能)

任务4为未来模块预留入口

  • ASL模块入口占位符显示"开发中"
  • 数据清洗入口(占位符)
  • 统计分析入口(占位符)
  • 运营管理入口(占位符)

前端目录结构:

frontend/
├── src/
│   ├── layouts/                    # 布局组件
│   │   └── MainLayout.tsx         # 统一布局:顶部导航+侧边栏
│   ├── components/                # 通用组件
│   │   ├── TopNav.tsx             # 顶部导航栏
│   │   ├── SideMenu.tsx           # 侧边菜单
│   │   └── Breadcrumb.tsx         # 面包屑
│   ├── router/                    # 路由管理
│   │   ├── index.tsx              # 主路由配置
│   │   └── moduleRegistry.ts      # 模块注册中心
│   ├── modules/                   # 模块化目录
│   │   ├── aia/                   # AI智能问答已有
│   │   │   ├── routes.tsx         # 模块路由
│   │   │   ├── pages/             # 页面组件
│   │   │   └── index.ts           # 模块导出
│   │   ├── pkb/                   # 个人知识库(已有)
│   │   ├── review/                # 审稿系统(已有)
│   │   ├── asl/                   # AI智能文献占位
│   │   ├── dataClean/             # 数据清洗(占位)
│   │   ├── statistics/            # 统计分析(占位)
│   │   └── admin/                 # 运营管理(占位)
│   └── App.tsx                    # 应用入口

验收标准:

  • 统一布局创建完成
  • 3个现有模块成功接入统一导航
  • 模块切换流畅,路由正常
  • 占位模块显示"开发中"状态
  • 前端架构文档完善

Day 8-9下半周后端代码分层

任务:建立三层代码结构

  • 创建 platform/common/modules 三层目录
  • 迁移现有代码到新结构
  • 建立统一错误处理
  • 建立统一日志系统

后端目录结构:

backend/src/
├── platform/           # L1平台基础层
│   ├── auth/          # 认证JWT、Session
│   ├── permissions/   # 权限管理RBAC
│   └── users/         # 用户服务
├── common/            # L2通用能力层
│   ├── llm/           # LLM调用保留简单实现
│   │   ├── deepseek.ts
│   │   ├── closeai.ts  # ⭐ GPT-5 + Claude-4.5
│   │   └── qwen.ts
│   ├── files/         # 文件处理
│   └── utils/         # 工具函数
└── modules/           # L3业务模块层
    ├── aia/           # AI智能问答
    ├── pkb/           # 个人知识库
    ├── review/        # 审稿系统
    └── asl/           # AI智能文献准备目录

说明:

  • LLM调用暂时保留简单实现已够用
  • CloseAI配置已完成可直接使用4个LLM
  • Week 5再统一抽取LLM网关

验收标准:

  • 三层目录结构清晰
  • 现有代码迁移完成
  • 统一错误处理和日志系统
  • 现有功能无回归

Day 10周末Week 2验收 + Week 3准备

任务1Week 2总体验收

  • 前端统一架构验收
  • 后端代码分层验收
  • 编写Week 2总结报告

任务2ASL准备工作

  • 阅读ASL需求文档
  • 测试CloseAI连接4个LLM
  • 规划Week 3详细任务

Week 2交付物清单

  • 前端统一布局框架
  • 模块注册和动态路由机制
  • 3个现有模块整合完成
  • 后端三层代码结构
  • 前端架构设计文档
  • ASL可以在统一框架下开始开发

📚 阶段3ASL核心功能开发Week 3-4

时间: 2025-11-21 至 2025-12-042周
优势: 在统一前端架构下开发4个LLM已配置好
重点: 文献筛选核心功能(双模型对比+三模型仲裁)

4个LLM配置已完成

可用的4个LLM

  1. DeepSeek-V3 (直连)

    • 用途:快速初筛,成本低
    • 价格¥0.001/1K tokens
    • 准确率:~85%
  2. GPT-5-Pro (CloseAI代理) 最新

    • 用途:精准筛选,质量高
    • 价格¥0.10/1K tokens
    • 准确率:~95%
    • Model ID: gpt-5-pro
  3. Claude-4.5-Sonnet (CloseAI代理) 最新

    • 用途:冲突仲裁,结构化输出
    • 价格¥0.021/1K tokens
    • 准确率:~93%
    • Model ID: claude-sonnet-4-5-20250929
  4. Qwen-Max (备选)

    • 用途:长文本处理,性价比高
    • 价格¥0.004/1K tokens

配置文档:

  • 02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md
  • 07-运维文档/01-环境配置指南.md
  • backend/CLOSEAI-CONFIG.md

Week 3 Day 1-2ASL详细设计

Day 1上午4个LLM集成测试

任务验证4个LLM可用性

  • 测试DeepSeek-V3连接
  • 测试GPT-5-Pro连接CloseAI
  • 测试Claude-4.5连接CloseAI
  • 测试Qwen-Max连接
  • 编写LLM统一调用服务

参考文档:

  • 02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md

Day 1下午ASL数据库设计

任务设计asl_schema表结构

  • 文献项目表literature_projects
  • PICO配置表pico_configs
  • 文献条目表literature_items
    • 包含4个模型的筛选结果字段
    • 共识决策字段
    • 成本统计字段

ASL文献条目表设计示例

CREATE TABLE asl_schema.literature_items (
    id UUID PRIMARY KEY,
    project_id UUID REFERENCES asl_schema.literature_projects(id),
    title TEXT NOT NULL,
    abstract TEXT,
    authors TEXT,
    journal VARCHAR(200),
    year INTEGER,
    doi VARCHAR(200),
    
    -- 4个模型的筛选结果
    deepseek_decision VARCHAR(50),      -- include/exclude/uncertain
    deepseek_reason TEXT,
    deepseek_confidence FLOAT,          -- 0-1置信度
    
    gpt5_decision VARCHAR(50),
    gpt5_reason TEXT,
    gpt5_confidence FLOAT,
    
    claude_decision VARCHAR(50),
    claude_reason TEXT,
    claude_confidence FLOAT,
    
    qwen_decision VARCHAR(50),          -- 备用
    qwen_reason TEXT,
    qwen_confidence FLOAT,
    
    -- 最终决策(可能基于多模型投票)
    final_decision VARCHAR(50),
    consensus_level VARCHAR(50),        -- high/medium/low
    
    -- 成本追踪
    total_tokens INT,
    estimated_cost DECIMAL(10,4),
    
    created_at TIMESTAMP,
    updated_at TIMESTAMP
);

输出文档:

  • 03-业务模块/ASL-AI智能文献/02-技术设计/01-数据库设计.md

Day 2ASL API和前端设计

任务1API设计

  • 项目管理API
  • 文献导入API
  • 4模型筛选API核心
  • 结果查询API

任务2前端页面设计

  • frontend/src/modules/asl/ 下设计页面结构
  • 自动接入统一导航(已有框架)
  • 设计筛选结果展示显示4个模型意见

输出文档:

  • 03-业务模块/ASL-AI智能文献/02-技术设计/02-API设计规范.md
  • 03-业务模块/ASL-AI智能文献/02-技术设计/03-前端页面设计.md

Week 3 Day 3-5 + Week 4ASL核心功能开发

功能1文献项目管理

  • 创建/编辑/删除项目
  • PICO配置
  • 项目列表展示

功能2文献导入

  • CSV格式解析
  • 批量导入
  • 数据验证

功能34模型智能筛选 核心功能

  • 双模型并行筛选DeepSeek + GPT-5
  • 结果一致性判断
  • 冲突时启用Claude仲裁
  • 成本统计和优化

筛选策略参考CloseAI集成指南

策略1双模型对比推荐

async screenWithTwoModels(literature) {
  const [deepseek, gpt5] = await Promise.all([
    llm.chat('deepseek', prompt),
    llm.chat('gpt5', prompt),
  ]);
  
  if (deepseek.decision === gpt5.decision) {
    return { consensus: 'high', decision: deepseek.decision };
  }
  
  // 启用Claude仲裁
  const claude = await llm.chat('claude', prompt);
  return resolveConflict([deepseek, gpt5, claude]);
}

策略2成本优化

// 第一轮用DeepSeek快速初筛便宜
const quickScreen = await llm.chat('deepseek', prompt);

// 只有uncertain的才用GPT-5复核
if (quickScreen.decision === 'uncertain') {
  const detailedScreen = await llm.chat('gpt5', prompt);
  return detailedScreen;
}

return quickScreen;

功能4筛选结果管理

  • 结果展示4个模型对比
  • 共识度展示
  • 人工复核界面
  • 导出功能

Week 4交付物

  • ASL Phase 1完整功能
  • 4个LLM集成完成
  • 双模型对比+三模型仲裁实现
  • 筛选结果对比展示
  • 完整测试通过

🔧 阶段4LLM网关统一 + 其他模块Week 5+

时间: 2025-12-05 开始
策略: 有了多个模块实践统一抽取LLM网关

Week 5-6LLM网关重构

为什么Week 5再做

  • Week 3-4 ASL开发时已有4个模型实践
  • 有了具体使用场景,抽取更合理
  • 避免过度设计

任务:

  • 统一LLM调用接口
  • 版本分级(专业版/高级版/旗舰版)
  • 配额管理和限流
  • Token计数和计费
  • 使用记录和监控

商业模式支持:

专业版 → DeepSeek-V3便宜¥0.001/1K tokens
高级版 → DeepSeek + GPT-5
旗舰版 → DeepSeek + GPT-5 + Claude-4.5 + Qwen

参考:

  • 02-通用能力层/01-LLM大模型网关/[AI对接] LLM网关快速上下文.md

Week 7+:其他模块

  • 数据清洗模块DC- 设计dc_schema
  • 智能统计分析SSA- 设计ssa_schema
  • 统计分析工具ST- 设计st_schema
  • 运营管理ADMIN- 设计admin_schema

📊 工作量总结

阶段 任务 预计工作量 关键输出
Week 1 Schema隔离3+7 2天 10个Schema + 文档
Week 2 前端架构+后端分层 3.5天 统一导航 + 三层代码
Week 3-4 ASL开发4个LLM 2周 文献筛选完整功能
Week 5+ LLM网关+其他模块 持续 LLM网关 + 其他模块

总体: 4周核心开发 + 持续优化扩展


🎯 成功标准

Week 1成功标准

  • 10个Schema全部创建3详细+7空
  • Platform/AIA/PKB数据100%迁移
  • AIA和PKB文档完整
  • 现有功能正常运行

Week 2成功标准

  • 前端统一布局框架完成
  • 3个现有模块成功接入统一导航
  • 模块注册机制清晰
  • 后端三层代码结构清晰
  • ASL可以在统一框架下开始开发

Week 3-4成功标准

  • ASL文献筛选功能完整
  • 4个LLM集成成功DeepSeek/GPT-5/Claude-4.5/Qwen
  • 双模型对比+三模型仲裁实现
  • 筛选结果对比展示完善

Week 5+成功标准

  • LLM网关统一调用接口
  • 配额管理和计费系统
  • 其他模块逐步开发

💡 关键优势总结

V2.2版的核心优势

1. 架构先行,避免返工

  • 前端统一架构先完成
  • ASL在统一框架下开发
  • 不需要开发后再重构

2. 聚焦核心价值

  • Week 1: 数据架构基础
  • Week 2: 前端+后端架构统一
  • Week 3-4: ASL核心功能
  • Week 5+: 优化和扩展

3. Just-in-time开发

  • Schema: 3详细+7空需要时再设计
  • LLM网关Week 5有实践再抽取
  • 其他模块:按需逐步开发
  • 避免过度设计

4. 4个LLM已就绪

  • DeepSeek-V3 快速便宜
  • GPT-5-Pro 高质量CloseAI
  • Claude-4.5 结构化好CloseAI
  • Qwen-Max 长文本

🔗 相关文档

核心参考文档

前端架构:

LLM配置

Schema设计


📋 详细任务清单To Do List

共25项核心任务涵盖Week 1至Week 4的完整开发计划

🎯 Week 1Schema隔离3详细+7空- 14项任务

Day 1-2架构规划与设计前5项

任务110个Schema架构规划 📐 - 已完成 2025-11-12

  • 绘制10个Schema的完整架构图架构层面
  • 明确3个需要迁移的SchemaPlatform/AIA/PKB
  • 明确7个空Schema的用途ASL/Common/DC/RVW/ADMIN/SSA/ST
  • 编写Schema架构文档
  • 📄 输出:09-架构实施/01-Schema隔离架构设计10个.md
  • ⏱️ 实际时间2小时

任务2platform_schema设计 - 已完成 2025-11-12

  • 设计用户表结构从public.users迁移
  • 定义字段:用户信息、权限、配额、试用状态等
  • 编写SQL建表语句
  • ⏱️ 实际时间包含在任务1

任务3aia_schema设计 - 已完成 2025-11-12

  • 设计5个表projects, conversations, messages, general_conversations, general_messages
  • 定义表关系和外键约束
  • 编写SQL建表语句
  • ⏱️ 实际时间包含在任务1

任务4pkb_schema设计 - 已完成 2025-11-12

  • 设计5个表包含Phase 3的批处理任务表
  • 包含Phase 2全文阅读字段full_text, full_text_length等
  • 编写SQL建表语句
  • ⏱️ 实际时间包含在任务1

任务57个空Schema的SQL + 迁移脚本 - 已完成 2025-11-12

  • 编写7个空Schema的CREATE SCHEMA语句ASL/Common/DC/RVW/ADMIN/SSA/ST
  • 编写001脚本创建10个Schema
  • 编写002脚本迁移platform_schema
  • 编写003脚本迁移aia_schema
  • 编写004脚本迁移pkb_schema
  • 编写005脚本验证数据完整性
  • 📄 输出5个SQL迁移脚本
  • ⏱️ 实际时间1小时

Day 3执行迁移第6-7项

任务6执行Schema迁移 - 已完成 2025-11-12

  • 备份当前数据库(测试环境,已确认可接受数据丢失)
  • 执行001脚本创建10个Schema3详细+7空
  • 执行002-004脚本迁移3个Schema的数据
  • 执行005脚本验证数据完整性
  • 记录迁移日志
  • 📄 输出:
    • 09-架构实施/Schema迁移完成报告.md
    • 09-架构实施/数据库验证通过.md
  • ⏱️ 实际时间30分钟
  • 💡 遇到问题列名映射问题rawOutput/outputFields已修复

任务7验证现有功能 - 已完成 2025-11-12

  • 测试AI智能问答功能使用aia_schema- 项目API、对话API正常
  • 测试知识库功能使用pkb_schema- 知识库API正常
  • 验证10个Schema全部创建
  • 修复发现的问题 - 无需修复Prisma自动处理
  • 验收标准现有功能正常运行数据迁移100%成功
  • 📄 输出:09-架构实施/快速功能测试报告.md
  • ⏱️ 实际时间15分钟

Day 4Prisma配置与文档第8-10项

任务8Prisma多Schema配置 - 已完成 2025-11-12

  • 更新schema.prisma支持11个Schema10个+public
  • 为13个models添加@@schema()标签
  • 配置datasource.schemas数组
  • 生成Prisma Client成功
  • 验证API功能正常无需单元测试集成测试已通过
  • 📄 输出:
    • backend/prisma/schema.prisma 已更新
    • 09-架构实施/Prisma配置完成报告.md
  • ⏱️ 实际时间30分钟
  • 💡 发现移除了deprecated的previewFeatures

任务9创建AIA数据库设计文档 - 已完成 2025-11-12

  • 创建 03-业务模块/AIA-AI智能问答/02-技术设计/01-数据库设计.md
  • 基于已迁移的5个表编写完整文档
  • 包括表结构、Prisma Model、业务规则、索引设计、ER关系图
  • 添加跨Schema引用说明
  • 📄 输出完整文档523行含Mermaid图表
  • ⏱️ 实际时间30分钟

任务10创建PKB数据库设计文档 - 已完成 2025-11-12

  • 创建 03-业务模块/PKB-个人知识库/02-技术设计/01-数据库设计.md
  • 基于已迁移的5个表编写完整文档含Phase 3的3个批处理表
  • 重点说明Phase 2全文阅读相关字段full_text, full_text_length, metadata
  • 详细说明Phase 3批处理工作流程
  • 📄 输出完整文档592行含Mermaid图表和流程图
  • ⏱️ 实际时间30分钟

Day 5代码适配与验收第11-14项

任务11代码适配新Schema - 🎉 取消无需执行2025-11-12

  • [ ] 更新所有数据库查询代码
  • [ ] 使用新的Prisma Client
  • [ ] 更新API路由
  • [ ] 运行集成测试
  • 💡 重大发现Prisma自动处理Schema路由
    • 代码无需修改
    • 所有API自动工作
    • 跨Schema外键透明支持
  • 🎉 节省时间3-4小时工作量
  • ⏱️ 实际时间0小时

⏸️ 任务12补充API设计文档 - ⏸️ 延后执行

  • 创建 03-业务模块/AIA-AI智能问答/02-技术设计/02-API设计规范.md
  • 创建 03-业务模块/PKB-个人知识库/02-技术设计/02-API设计规范.md
  • 基于现有API routes整理文档
  • 📌 建议可在Week 2-3开发过程中边开发边完善
  • ⏱️ 预计时间1小时

⏸️ 任务13Week 1总结验收 📊 - ⏸️ 延后执行

  • 验证10个Schema全部创建
  • 验证3个详细Schema数据迁移完整
  • 更新文档:记录迁移过程和结果 4个验证报告
  • 编写Week 1总结报告可与Week 2一起验收
  • 交付物检查清单:
    • 10个Schema全部创建3详细+7空
    • Platform/AIA/PKB数据100%迁移
    • Prisma模型更新完成
    • 现有功能正常运行
    • AIA和PKB完整文档数据库
    • 迁移脚本文档化
    • API设计文档延后
  • 📌 核心任务已完成11/14任务79%
  • ⏱️ 剩余时间1小时

⏸️ 任务14Week 2准备工作 - ⏸️ 部分完成

  • 规划Week 2重点任务前端架构优先
  • 阅读前端架构设计文档
  • 准备前端架构设计会议议题
  • 📌 建议直接进入Week 2任务15前端架构设计
  • ⏱️ 预计时间30分钟

🎨 Week 2前端统一架构 + 后端分层 - 6项任务

Day 6-7前端架构上半周第15-18项

任务15前端架构设计 核心任务

  • 梳理前端架构需求和目标
  • 确定前端技术栈和工具链UI组件库、路由、状态管理
  • 设计模块注册机制
  • 设计统一导航和布局方案(顶部导航、侧边菜单、面包屑)
  • 编写前端架构设计文档
  • 📄 输出:
    • 01-平台基础层/06-前端架构/04-前端架构实施方案-V2.md
    • 更新:01-平台基础层/06-前端架构/01-前端总体架构设计.md
    • 更新:01-平台基础层/06-前端架构/02-导航结构设计.md
  • 📖 参考文档:
    • 01-平台基础层/06-前端架构/01-前端总体架构设计.md
    • 01-平台基础层/06-前端架构/02-导航结构设计.md
    • 01-平台基础层/06-前端架构/03-架构原型图.html
  • ⏱️ 预计时间半天4小时

任务16创建统一布局框架

  • 创建 frontend/src/layouts/MainLayout.tsx
    • 顶部导航栏组件
    • 侧边菜单组件
    • 主内容区
    • 面包屑导航
  • 创建 frontend/src/components/TopNav.tsx
  • 创建 frontend/src/components/SideMenu.tsx
  • 创建 frontend/src/components/Breadcrumb.tsx
  • ⏱️ 预计时间半天4小时

任务17实现模块注册机制

  • 创建 frontend/src/router/moduleRegistry.ts
  • 定义模块配置接口
  • 实现动态路由加载
  • 实现模块权限控制
  • ⏱️ 预计时间3小时

任务18整合现有模块 + 创建占位模块

  • 重构AIA模块接入统一导航现有功能
  • 重构PKB模块接入统一导航现有功能
  • 重构审稿模块接入统一导航(现有功能)
  • 创建ASL模块入口占位符显示"开发中"
  • 创建数据清洗入口(占位符)
  • 创建统计分析入口(占位符)
  • 创建运营管理入口(占位符)
  • 验收标准:
    • 3个现有模块成功接入统一导航
    • 模块切换流畅,路由正常
    • 占位模块显示"开发中"状态
  • ⏱️ 预计时间1天

Day 8-9后端分层下半周第19项

任务19后端代码分层

  • 创建 platform/common/modules 三层目录
  • 迁移现有代码到新结构
    • platform/auth, permissions, users
    • common/llm (deepseek.ts, closeai.ts, qwen.ts), files, utils
    • modules/aia, pkb, review, asl准备目录
  • 建立统一错误处理
  • 建立统一日志系统
  • 验收标准:
    • 三层目录结构清晰
    • 现有代码迁移完成
    • 现有功能无回归
  • ⏱️ 预计时间2天

Day 10验收第20项

任务20Week 2验收 + Week 3准备 📊

  • 前端统一架构验收
    • 统一布局创建完成
    • 模块注册和动态路由机制
    • 3个现有模块整合完成
  • 后端代码分层验收
    • 三层代码结构
    • 统一错误处理和日志系统
  • 编写Week 2总结报告
  • 阅读ASL需求文档
  • 测试CloseAI连接4个LLM
  • 规划Week 3详细任务
  • 交付物清单:
    • 前端统一布局框架
    • 模块注册和动态路由机制
    • 3个现有模块整合完成
    • 后端三层代码结构
    • 前端架构设计文档
    • ASL可以在统一框架下开始开发
  • ⏱️ 预计时间1天

📚 Week 3-4ASL核心功能开发 - 5项任务

Week 3 Day 1-2设计第21-24项

任务214个LLM集成测试

  • 测试DeepSeek-V3连接直连
  • 测试GPT-5-Pro连接CloseAI代理
  • 测试Claude-4.5-Sonnet连接CloseAI代理
  • 测试Qwen-Max连接备选
  • 编写LLM统一调用服务
  • 📖 参考文档:
    • 02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md
    • 07-运维文档/01-环境配置指南.md
    • backend/CLOSEAI-CONFIG.md
  • ⏱️ 预计时间:半天

任务22ASL数据库设计

  • 设计asl_schema表结构
    • literature_projects文献项目表
    • pico_configsPICO配置表
    • literature_items文献条目表包含4个模型的筛选结果字段
  • 包含4个模型的筛选结果字段decision, reason, confidence
  • 包含共识决策字段final_decision, consensus_level
  • 包含成本统计字段total_tokens, estimated_cost
  • 编写SQL建表语句
  • 📄 输出:03-业务模块/ASL-AI智能文献/02-技术设计/01-数据库设计.md
  • ⏱️ 预计时间:半天

任务23ASL API设计

  • 项目管理API创建、编辑、删除、列表
  • 文献导入APICSV解析、批量导入
  • 4模型筛选API核心API
  • 结果查询API
  • 📄 输出:03-业务模块/ASL-AI智能文献/02-技术设计/02-API设计规范.md
  • ⏱️ 预计时间3小时

任务24ASL前端页面设计

  • frontend/src/modules/asl/ 下设计页面结构
  • 自动接入统一导航(已有框架)
  • 设计筛选结果展示显示4个模型意见
  • 设计人工复核界面
  • 📄 输出:03-业务模块/ASL-AI智能文献/02-技术设计/03-前端页面设计.md
  • ⏱️ 预计时间3小时

Week 3 Day 3-5 + Week 4开发第25项

任务25ASL核心功能开发 最重要

  • 功能1文献项目管理
    • 创建/编辑/删除项目
    • PICO配置
    • 项目列表展示
  • 功能2文献导入
    • CSV格式解析
    • 批量导入
    • 数据验证
  • 功能34模型智能筛选 核心功能
    • 双模型并行筛选DeepSeek + GPT-5
    • 结果一致性判断
    • 冲突时启用Claude仲裁
    • 成本统计和优化
    • 筛选策略实现:
      • 策略1双模型对比推荐
      • 策略2成本优化DeepSeek快速初筛 → GPT-5精准复核
  • 功能4筛选结果管理
    • 结果展示4个模型对比
    • 共识度展示
    • 人工复核界面
    • 导出功能
  • Week 4交付物
    • ASL Phase 1完整功能
    • 4个LLM集成完成
    • 双模型对比+三模型仲裁实现
    • 筛选结果对比展示
    • 完整测试通过
  • ⏱️ 预计时间1.5周9-10天

📊 任务统计

阶段 任务数量 预计工作量 关键输出
Week 1 14项 2天 10个Schema + Prisma配置 + 文档
Week 2 6项 3.5天 统一前端架构 + 三层后端代码
Week 3-4 5项 2周 ASL完整功能4个LLM集成
总计 25项 约4周 完整架构 + ASL核心功能

🎯 下一步行动

立即开始如果还没开始Week 1

  1. 任务110个Schema架构规划 📐

    • 创建 09-架构实施/01-Schema隔离架构设计10个.md
    • 绘制架构图
  2. 任务2-5详细设计3个Schema + 7个空Schema

    • 编写SQL建表语句
    • 编写5个迁移脚本
  3. 任务6执行Schema迁移

如果Week 1已完成

  1. 任务15:前端架构设计会议

    • 确定技术栈
    • 设计模块注册机制
    • 设计导航结构
  2. 任务16-18:实施前端统一架构

  3. 任务19:后端代码分层


制定人: AI助手
版本: V2.2完整版融合V2.1+V2.2
最后更新: 2025-11-09
核心策略:

  • Schema隔离3详细+7空- V2.1详细内容
  • 前端统一架构优先 - V2.2核心调整
  • 后端代码分层 - 模块清晰
  • ASL在统一框架下开发 - 高效开发
  • 4个LLM已就绪CloseAI配置完成- 质量保证
  • LLM网关延后到Week 5 - Just-in-time开发

核心理念:架构先行 + 聚焦核心 + Just-in-time = 高效务实!