M2-02 Workspace & KnowledgeBase Module #22

Open
opened 2026-05-22 21:09:49 +08:00 by wangdl · 0 comments
Owner

目标

设计知习 C 端工作空间与知识库模块,为 C 端用户提供知识库容器、文件夹组织和权限管理。

本 Issue 只做模块架构设计,不直接实现代码。

背景说明

知习的核心使用场景是用户创建知识库、在知识库中上传资料、基于知识库进行 RAG 问答和学习。Workspace 是顶层工作空间容器(预留多租户扩展),KnowledgeBase 是知识管理的基本单元,Folder 用于组织知识库内的资料。

这一模块是所有知识库相关操作的入口,Material、Ingestion、RAG Chat、Learning 等模块都以 KnowledgeBase 为锚点。

模块职责

  1. 本模块负责:

    • Workspace CRUD(预留 tenantId,当前单用户单 Workspace)
    • KnowledgeBase CRUD(名称、描述、封面、设置)
    • Folder CRUD(知识库内文件夹树)
    • 知识库权限基础模型(所有者/成员,预留共享扩展)
    • 系统内置知识库(如"新手引导知识库")
    • 知识库元数据(资料数量、知识点数量、最后学习时间等聚合数据)
  2. 本模块不负责:

    • 知识库内的资料管理(走 Material & Source)
    • 知识库内的学习/复习逻辑
    • 知识库内的 AI 问答(走 RAG Chat)
    • 知识库内的具体内容检索

候选数据对象

  • Workspace
  • KnowledgeBase
  • KnowledgeFolder
  • KnowledgeBaseMember(预留共享成员关系)
  • KnowledgeBasePermission(预留权限模型)

基础设施依赖判断

  • MySQL:是
  • Redis:需判断(知识库元数据缓存)
  • BullMQ:否
  • Qdrant:否
  • AI Gateway:否
  • COS:否(知识库封面通过 File Storage 处理)
  • Content Safety:是(知识库名称和描述需要审核)

API 设计

  1. CAPI:

    • Workspace CRUD
    • KnowledgeBase CRUD
    • Folder CRUD
    • 知识库列表和搜索
    • 知识库概览(聚合数据)
  2. AAPI:

    • 知识库列表(全量,按用户筛选)
    • 知识库详情
    • 系统内置知识库管理

Domain Event 设计

  • KnowledgeBaseCreated
  • KnowledgeBaseUpdated
  • KnowledgeBaseDeleted
  • FolderCreated/Updated/Deleted

Admin 视图设计

  1. 知识库管理页:
    • 全量知识库列表(所有用户)
    • 知识库详情(含聚合数据:资料数、知识点数、最近活动)
    • 系统内置知识库管理

交付检查

  • 路由归属:CAPI + AAPI
  • 是否需要 Prisma migration:是
  • 是否需要 MySQL:是
  • 是否需要 Redis:需判断
  • 是否需要 BullMQ:否
  • 是否需要 Content Safety:是
  • 是否需要 AuditLog:否(常规操作不需要审计)
  • 是否需要 Domain Event:是
  • 是否需要 Admin 视图:是

验收标准

  1. Workspace / KnowledgeBase / KnowledgeFolder Prisma schema
  2. 知识库 CRUD API 设计
  3. 文件夹树结构设计
  4. 权限模型(当前为所有者独占,预留成员/共享扩展)
  5. Admin 知识库管理视图设计
  6. 集成测试覆盖知识库创建和基础操作

禁止事项

  • 禁止知识库删除同步删除关联数据(应标记删除,异步清理关联的 Material/Chunk/Vector)
  • 禁止在 KnowledgeBase 表中冗余存储资料数量(应通过 QueryService 聚合查询)
  • 禁止跨知识库直接访问(每个知识库的数据隔离)

不建议当前阶段实现

  • 知识库共享和协作
  • 公开知识库/社区模板
  • 知识库导入/导出
  • 多 Workspace 支持(先单 Workspace)
## 目标 设计知习 C 端工作空间与知识库模块,为 C 端用户提供知识库容器、文件夹组织和权限管理。 本 Issue 只做模块架构设计,不直接实现代码。 ## 背景说明 知习的核心使用场景是用户创建知识库、在知识库中上传资料、基于知识库进行 RAG 问答和学习。Workspace 是顶层工作空间容器(预留多租户扩展),KnowledgeBase 是知识管理的基本单元,Folder 用于组织知识库内的资料。 这一模块是所有知识库相关操作的入口,Material、Ingestion、RAG Chat、Learning 等模块都以 KnowledgeBase 为锚点。 ## 模块职责 1. 本模块负责: - Workspace CRUD(预留 tenantId,当前单用户单 Workspace) - KnowledgeBase CRUD(名称、描述、封面、设置) - Folder CRUD(知识库内文件夹树) - 知识库权限基础模型(所有者/成员,预留共享扩展) - 系统内置知识库(如"新手引导知识库") - 知识库元数据(资料数量、知识点数量、最后学习时间等聚合数据) 2. 本模块不负责: - 知识库内的资料管理(走 Material & Source) - 知识库内的学习/复习逻辑 - 知识库内的 AI 问答(走 RAG Chat) - 知识库内的具体内容检索 ## 候选数据对象 - Workspace - KnowledgeBase - KnowledgeFolder - KnowledgeBaseMember(预留共享成员关系) - KnowledgeBasePermission(预留权限模型) ## 基础设施依赖判断 - MySQL:是 - Redis:需判断(知识库元数据缓存) - BullMQ:否 - Qdrant:否 - AI Gateway:否 - COS:否(知识库封面通过 File Storage 处理) - Content Safety:是(知识库名称和描述需要审核) ## API 设计 1. CAPI: - Workspace CRUD - KnowledgeBase CRUD - Folder CRUD - 知识库列表和搜索 - 知识库概览(聚合数据) 2. AAPI: - 知识库列表(全量,按用户筛选) - 知识库详情 - 系统内置知识库管理 ## Domain Event 设计 - KnowledgeBaseCreated - KnowledgeBaseUpdated - KnowledgeBaseDeleted - FolderCreated/Updated/Deleted ## Admin 视图设计 1. 知识库管理页: - 全量知识库列表(所有用户) - 知识库详情(含聚合数据:资料数、知识点数、最近活动) - 系统内置知识库管理 ## 交付检查 - [ ] 路由归属:CAPI + AAPI - [ ] 是否需要 Prisma migration:是 - [ ] 是否需要 MySQL:是 - [ ] 是否需要 Redis:需判断 - [ ] 是否需要 BullMQ:否 - [ ] 是否需要 Content Safety:是 - [ ] 是否需要 AuditLog:否(常规操作不需要审计) - [ ] 是否需要 Domain Event:是 - [ ] 是否需要 Admin 视图:是 ## 验收标准 1. Workspace / KnowledgeBase / KnowledgeFolder Prisma schema 2. 知识库 CRUD API 设计 3. 文件夹树结构设计 4. 权限模型(当前为所有者独占,预留成员/共享扩展) 5. Admin 知识库管理视图设计 6. 集成测试覆盖知识库创建和基础操作 ## 禁止事项 - 禁止知识库删除同步删除关联数据(应标记删除,异步清理关联的 Material/Chunk/Vector) - 禁止在 KnowledgeBase 表中冗余存储资料数量(应通过 QueryService 聚合查询) - 禁止跨知识库直接访问(每个知识库的数据隔离) ## 不建议当前阶段实现 - 知识库共享和协作 - 公开知识库/社区模板 - 知识库导入/导出 - 多 Workspace 支持(先单 Workspace)
wangdl added this to the M2:知识库主链路闭环(P1) milestone 2026-05-22 21:09:49 +08:00
wangdl self-assigned this 2026-05-22 21:09:49 +08:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/api-server#22
No description provided.