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
52 KiB
下一阶段行动计划 V2.2 - 完整版
计划周期: 2025-11-07 至 2025-12-06(4周)
核心目标: 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 完成 ✅
| 任务 | 状态 | 完成时间 | 备注 |
|---|---|---|---|
| ✅ 任务1:10个Schema架构规划 | ✅ 完成 | 2025-11-12 | 完整架构文档已创建 |
| ✅ 任务2:platform_schema设计 | ✅ 完成 | 2025-11-12 | 1个表,从public迁移 |
| ✅ 任务3:aia_schema设计 | ✅ 完成 | 2025-11-12 | 5个表,完整设计 |
| ✅ 任务4:pkb_schema设计 | ✅ 完成 | 2025-11-12 | 5个表(含Phase 3) |
| ✅ 任务5:7空Schema+迁移脚本 | ✅ 完成 | 2025-11-12 | 5个SQL脚本 |
| ✅ 任务6:执行Schema迁移 | ✅ 完成 | 2025-11-12 | 100%数据迁移成功 |
| ✅ 任务7:验证现有功能 | ✅ 完成 | 2025-11-12 | API测试全部通过 |
| ✅ 任务8:Prisma多Schema配置 | ✅ 完成 | 2025-11-12 | 13个models配置完成 |
| ✅ 任务9:创建AIA数据库文档 | ✅ 完成 | 2025-11-12 | 含完整ER图和业务规则 |
| ✅ 任务10:创建PKB数据库文档 | ✅ 完成 | 2025-11-12 | 含Phase 3说明 |
| ❌ 任务11:代码适配新Schema | 🎉 取消 | - | Prisma自动处理,无需修改! |
| ⏸️ 任务12:补充API设计文档 | 待定 | - | 可延后到开发中迭代 |
| ⏸️ 任务13:Week 1总结验收 | 待定 | - | 可与Week 2一起验收 |
| ⏸️ 任务14:Week 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.md(867行) |
| ✅ 任务16:创建统一布局框架 | ✅ 完成 | 2025-11-12 | Frontend-v2项目,顶部导航+6模块 |
| ✅ 任务17:实现模块注册机制 | ✅ 完成 | 2025-11-13 | 权限系统+错误边界+路由守卫 ⭐ |
| ✅ 任务18:整合和测试 | ✅ 完成 | 2025-11-13 | 合并到任务17一起完成 |
| ✅ 任务19:后端代码分层 | ✅ 完成 | 2025-11-14 | 增量演进架构,新旧并存 ⭐⭐⭐ |
| ⏳ 任务20:Week 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 ⭐⭐ |
🚀 阶段1:Schema隔离(Week 1)
时间: 2025-11-07 至 2025-11-13(7天)
策略: 3个详细迁移 + 7个空Schema预留
原则: 聚焦当前,架构预留,Just-in-time设计
核心原则:3详细+7空 ⭐⭐⭐
全部创建的Schema(10个):
详细设计+迁移(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个文档
只创建空Schema(7个)📋 命名空间预留
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天 ✅
收益分析:
- ✅ 聚焦当前需求 - Week 1专注架构和迁移
- ✅ 避免过度设计 - ASL等模块需求未最终确定
- ✅ Just-in-time设计 - 开发前再详细设计,更准确
- ✅ 架构完整 - 10个命名空间已预留,随时扩展
- ✅ 降低返工风险 - Week 3需求可能调整
Day 1-2:Schema迁移准备(聚焦3个)
Day 1上午:10个Schema架构规划
任务:规划完整的10个Schema架构
- 绘制10个Schema的完整架构图(架构层面)
- 明确3个需要迁移的Schema
- 明确7个空Schema的用途
- 编写Schema架构文档
输出文档:
09-架构实施/01-Schema隔离架构设计(10个).md
Schema依赖关系:
业务模块Schema(AIA/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_schema(AI智能问答) ⭐ 现有功能迁移
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的数据迁移脚本
- 编写数据验证脚本
- 在本地测试环境验证
迁移策略:
- 创建10个新Schema(3个详细+7个空,一次性)
- 在3个Schema中创建表结构并迁移数据
- 验证数据完整性
- 清理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个Schema(3详细+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-5:Prisma 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", // 📋 空Schema,Week 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 Schema(AI智能问答 - 迁移现有表)=====
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-20(7天)
核心: 建立统一前端导航框架,所有模块插件化接入
目标: Week 3开发ASL时,直接在统一架构下
核心原则:架构先行,一次到位 ⭐⭐⭐
为什么前端架构要优先?
- ✅ 避免ASL开发完后再重构前端
- ✅ 一开始就在统一框架下开发
- ✅ 其他模块(AIA、PKB、审稿)直接接入
- ✅ 导航、布局、路由一次到位
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准备
任务1:Week 2总体验收
- 前端统一架构验收
- 后端代码分层验收
- 编写Week 2总结报告
任务2:ASL准备工作
- 阅读ASL需求文档
- 测试CloseAI连接(4个LLM)
- 规划Week 3详细任务
Week 2交付物清单:
- ✅ 前端统一布局框架
- ✅ 模块注册和动态路由机制
- ✅ 3个现有模块整合完成
- ✅ 后端三层代码结构
- ✅ 前端架构设计文档
- ✅ ASL可以在统一框架下开始开发
📚 阶段3:ASL核心功能开发(Week 3-4)
时间: 2025-11-21 至 2025-12-04(2周)
优势: 在统一前端架构下开发,4个LLM已配置好
重点: 文献筛选核心功能(双模型对比+三模型仲裁)
4个LLM配置(已完成)⭐⭐⭐
可用的4个LLM:
-
DeepSeek-V3 (直连)
- 用途:快速初筛,成本低
- 价格:¥0.001/1K tokens
- 准确率:~85%
-
GPT-5-Pro (CloseAI代理) ⭐ 最新
- 用途:精准筛选,质量高
- 价格:¥0.10/1K tokens
- 准确率:~95%
- Model ID:
gpt-5-pro
-
Claude-4.5-Sonnet (CloseAI代理) ⭐ 最新
- 用途:冲突仲裁,结构化输出
- 价格:¥0.021/1K tokens
- 准确率:~93%
- Model ID:
claude-sonnet-4-5-20250929
-
Qwen-Max (备选)
- 用途:长文本处理,性价比高
- 价格:¥0.004/1K tokens
配置文档:
02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md⭐07-运维文档/01-环境配置指南.mdbackend/CLOSEAI-CONFIG.md
Week 3 Day 1-2:ASL详细设计
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 2:ASL API和前端设计
任务1:API设计
- 项目管理API
- 文献导入API
- 4模型筛选API(核心)
- 结果查询API
任务2:前端页面设计
- 在
frontend/src/modules/asl/下设计页面结构 - 自动接入统一导航(已有框架)
- 设计筛选结果展示(显示4个模型意见)
输出文档:
03-业务模块/ASL-AI智能文献/02-技术设计/02-API设计规范.md03-业务模块/ASL-AI智能文献/02-技术设计/03-前端页面设计.md
Week 3 Day 3-5 + Week 4:ASL核心功能开发
功能1:文献项目管理
- 创建/编辑/删除项目
- PICO配置
- 项目列表展示
功能2:文献导入
- CSV格式解析
- 批量导入
- 数据验证
功能3:4模型智能筛选 ⭐⭐⭐ 核心功能
- 双模型并行筛选(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集成完成
- ✅ 双模型对比+三模型仲裁实现
- ✅ 筛选结果对比展示
- ✅ 完整测试通过
🔧 阶段4:LLM网关统一 + 其他模块(Week 5+)
时间: 2025-12-05 开始
策略: 有了多个模块实践,统一抽取LLM网关
Week 5-6:LLM网关重构 ⭐
为什么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 1:Schema隔离(3详细+7空)- 14项任务
Day 1-2:架构规划与设计(前5项)
✅ 任务1:10个Schema架构规划 📐 - ✅ 已完成 2025-11-12
- 绘制10个Schema的完整架构图(架构层面)
- 明确3个需要迁移的Schema(Platform/AIA/PKB)
- 明确7个空Schema的用途(ASL/Common/DC/RVW/ADMIN/SSA/ST)
- 编写Schema架构文档
- 📄 输出:
09-架构实施/01-Schema隔离架构设计(10个).md✅ - ⏱️ 实际时间:2小时
✅ 任务2:platform_schema设计 - ✅ 已完成 2025-11-12
- 设计用户表结构(从public.users迁移)
- 定义字段:用户信息、权限、配额、试用状态等
- 编写SQL建表语句
- ⏱️ 实际时间:包含在任务1
✅ 任务3:aia_schema设计 - ✅ 已完成 2025-11-12
- 设计5个表:projects, conversations, messages, general_conversations, general_messages
- 定义表关系和外键约束
- 编写SQL建表语句
- ⏱️ 实际时间:包含在任务1
✅ 任务4:pkb_schema设计 - ✅ 已完成 2025-11-12
- 设计5个表(包含Phase 3的批处理任务表)
- 包含Phase 2全文阅读字段(full_text, full_text_length等)
- 编写SQL建表语句
- ⏱️ 实际时间:包含在任务1
✅ 任务5:7个空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个Schema(3详细+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 4:Prisma配置与文档(第8-10项)
✅ 任务8:Prisma多Schema配置 ⭐ - ✅ 已完成 2025-11-12
- 更新schema.prisma支持11个Schema(10个+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小时
⏸️ 任务13:Week 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小时
⏸️ 任务14:Week 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-前端总体架构设计.md01-平台基础层/06-前端架构/02-导航结构设计.md01-平台基础层/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项)
✅ 任务20:Week 2验收 + Week 3准备 📊
- 前端统一架构验收
- 统一布局创建完成
- 模块注册和动态路由机制
- 3个现有模块整合完成
- 后端代码分层验收
- 三层代码结构
- 统一错误处理和日志系统
- 编写Week 2总结报告
- 阅读ASL需求文档
- 测试CloseAI连接(4个LLM)
- 规划Week 3详细任务
- ✅ 交付物清单:
- 前端统一布局框架
- 模块注册和动态路由机制
- 3个现有模块整合完成
- 后端三层代码结构
- 前端架构设计文档
- ASL可以在统一框架下开始开发
- ⏱️ 预计时间:1天
📚 Week 3-4:ASL核心功能开发 - 5项任务
Week 3 Day 1-2:设计(第21-24项)
✅ 任务21:4个LLM集成测试 ⭐
- 测试DeepSeek-V3连接(直连)
- 测试GPT-5-Pro连接(CloseAI代理)
- 测试Claude-4.5-Sonnet连接(CloseAI代理)
- 测试Qwen-Max连接(备选)
- 编写LLM统一调用服务
- 📖 参考文档:
02-通用能力层/01-LLM大模型网关/03-CloseAI集成指南.md⭐07-运维文档/01-环境配置指南.mdbackend/CLOSEAI-CONFIG.md
- ⏱️ 预计时间:半天
✅ 任务22:ASL数据库设计
- 设计asl_schema表结构
- literature_projects(文献项目表)
- pico_configs(PICO配置表)
- literature_items(文献条目表,包含4个模型的筛选结果字段)
- 包含4个模型的筛选结果字段(decision, reason, confidence)
- 包含共识决策字段(final_decision, consensus_level)
- 包含成本统计字段(total_tokens, estimated_cost)
- 编写SQL建表语句
- 📄 输出:
03-业务模块/ASL-AI智能文献/02-技术设计/01-数据库设计.md - ⏱️ 预计时间:半天
✅ 任务23:ASL API设计
- 项目管理API(创建、编辑、删除、列表)
- 文献导入API(CSV解析、批量导入)
- 4模型筛选API(核心API)
- 结果查询API
- 📄 输出:
03-业务模块/ASL-AI智能文献/02-技术设计/02-API设计规范.md - ⏱️ 预计时间:3小时
✅ 任务24:ASL前端页面设计
- 在
frontend/src/modules/asl/下设计页面结构 - 自动接入统一导航(已有框架)
- 设计筛选结果展示(显示4个模型意见)
- 设计人工复核界面
- 📄 输出:
03-业务模块/ASL-AI智能文献/02-技术设计/03-前端页面设计.md - ⏱️ 预计时间:3小时
Week 3 Day 3-5 + Week 4:开发(第25项)⭐⭐⭐
✅ 任务25:ASL核心功能开发 ⭐⭐⭐ 最重要
- 功能1:文献项目管理
- 创建/编辑/删除项目
- PICO配置
- 项目列表展示
- 功能2:文献导入
- CSV格式解析
- 批量导入
- 数据验证
- 功能3:4模型智能筛选 ⭐核心功能
- 双模型并行筛选(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:10个Schema架构规划 📐
- 创建
09-架构实施/01-Schema隔离架构设计(10个).md - 绘制架构图
- 创建
-
任务2-5:详细设计3个Schema + 7个空Schema
- 编写SQL建表语句
- 编写5个迁移脚本
-
任务6:执行Schema迁移 ⭐
如果Week 1已完成
-
任务15:前端架构设计会议 ⭐⭐⭐
- 确定技术栈
- 设计模块注册机制
- 设计导航结构
-
任务16-18:实施前端统一架构
-
任务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 = 高效务实! ⭐⭐⭐