M3-04 Workspace Experience Module #32

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

目标

设计知习工作空间体验模块,为 C 端 Web 和 iOS 提供最近打开、收藏、标签、搜索和工作台聚合数据能力。

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

背景说明

随着用户知识库和学习内容的增长,需要快速找到最近使用的知识库、收藏的知识点、通过标签和搜索定位内容。Workspace Experience 模块提供这些"体验增强"功能,支撑 Web 工作台和 iOS 快速入口。

它不涉及核心学习逻辑,但直接影响用户的日常使用体验。

模块职责

  1. 本模块负责:

    • 最近打开记录(知识库/知识点/学习会话/对话)
    • 收藏功能(知识库/知识点/资料)
    • 标签管理(CRUD + 关联 KnowledgeItem/Material)
    • 全局搜索(跨知识库搜索,基于 MySQL 全文索引或 Qdrant)
    • 工作台聚合数据(今日待复习数、本周学习时长、最近知识库等)
  2. 本模块不负责:

    • 知识库管理(走 Workspace & KnowledgeBase)
    • 学习引擎(走 Learning Engine)
    • 知识点管理(走 Artifact & KnowledgeItem)

候选数据对象

  • RecentItem(最近打开)
  • Favorite(收藏)
  • Tag(标签)
  • KnowledgeItemTag(知识点-标签关联)
  • WorkspaceDashboard(工作台聚合数据)
  • SearchHistory(搜索历史)

基础设施依赖判断

  • MySQL:是(最近记录、收藏、标签)
  • Redis:是(Dashboard 缓存、热门标签缓存)
  • BullMQ:否
  • Qdrant:需判断(全局搜索是否走 Qdrant 语义搜索)
  • AI Gateway:否
  • Content Safety:是(标签名称需要审核)

API 设计

  1. CAPI:
    • 最近打开列表
    • 收藏/取消收藏
    • 收藏列表
    • 标签 CRUD + 关联管理
    • 全局搜索
    • 工作台聚合数据

Domain Event 设计

  • ItemFavorited / ItemUnfavorited
  • TagCreated / TagDeleted
  • SearchPerformed

交付检查

  • 是否需要 Prisma migration:是
  • 是否需要 MySQL:是
  • 是否需要 Redis:是
  • 是否需要 Qdrant:需判断(搜索场景)
  • 是否需要 AI Gateway:否
  • 是否需要 Content Safety:是
  • 是否需要 Cost 记录:否
  • 是否需要 Domain Event:是
  • 是否需要 Admin 视图:否
  • 是否需要 E2E/集成测试:是

验收标准

  1. RecentItem / Favorite / Tag Prisma schema
  2. 最近打开记录策略(记录哪些类型、保留多少条)
  3. 收藏功能设计
  4. 标签系统设计
  5. 全局搜索方案设计(MySQL 全文索引或 Qdrant,请判断)
  6. 工作台聚合数据接口设计
  7. 集成测试覆盖搜索和收藏流程

禁止事项

  • 禁止搜索功能跨用户泄露数据
  • 禁止标签名称不经过 Content Safety
  • 禁止 Dashboard 数据实时计算(应缓存)

不建议当前阶段实现

  • 高级搜索筛选(按日期/类型/知识库多条件组合)
  • 搜索建议和自动补全
  • 标签推荐和自动标签
  • 知识图谱可视化
## 目标 设计知习工作空间体验模块,为 C 端 Web 和 iOS 提供最近打开、收藏、标签、搜索和工作台聚合数据能力。 本 Issue 只做模块架构设计,不直接实现代码。 ## 背景说明 随着用户知识库和学习内容的增长,需要快速找到最近使用的知识库、收藏的知识点、通过标签和搜索定位内容。Workspace Experience 模块提供这些"体验增强"功能,支撑 Web 工作台和 iOS 快速入口。 它不涉及核心学习逻辑,但直接影响用户的日常使用体验。 ## 模块职责 1. 本模块负责: - 最近打开记录(知识库/知识点/学习会话/对话) - 收藏功能(知识库/知识点/资料) - 标签管理(CRUD + 关联 KnowledgeItem/Material) - 全局搜索(跨知识库搜索,基于 MySQL 全文索引或 Qdrant) - 工作台聚合数据(今日待复习数、本周学习时长、最近知识库等) 2. 本模块不负责: - 知识库管理(走 Workspace & KnowledgeBase) - 学习引擎(走 Learning Engine) - 知识点管理(走 Artifact & KnowledgeItem) ## 候选数据对象 - RecentItem(最近打开) - Favorite(收藏) - Tag(标签) - KnowledgeItemTag(知识点-标签关联) - WorkspaceDashboard(工作台聚合数据) - SearchHistory(搜索历史) ## 基础设施依赖判断 - MySQL:是(最近记录、收藏、标签) - Redis:是(Dashboard 缓存、热门标签缓存) - BullMQ:否 - Qdrant:需判断(全局搜索是否走 Qdrant 语义搜索) - AI Gateway:否 - Content Safety:是(标签名称需要审核) ## API 设计 1. CAPI: - 最近打开列表 - 收藏/取消收藏 - 收藏列表 - 标签 CRUD + 关联管理 - 全局搜索 - 工作台聚合数据 ## Domain Event 设计 - ItemFavorited / ItemUnfavorited - TagCreated / TagDeleted - SearchPerformed ## 交付检查 - [ ] 是否需要 Prisma migration:是 - [ ] 是否需要 MySQL:是 - [ ] 是否需要 Redis:是 - [ ] 是否需要 Qdrant:需判断(搜索场景) - [ ] 是否需要 AI Gateway:否 - [ ] 是否需要 Content Safety:是 - [ ] 是否需要 Cost 记录:否 - [ ] 是否需要 Domain Event:是 - [ ] 是否需要 Admin 视图:否 - [ ] 是否需要 E2E/集成测试:是 ## 验收标准 1. RecentItem / Favorite / Tag Prisma schema 2. 最近打开记录策略(记录哪些类型、保留多少条) 3. 收藏功能设计 4. 标签系统设计 5. 全局搜索方案设计(MySQL 全文索引或 Qdrant,请判断) 6. 工作台聚合数据接口设计 7. 集成测试覆盖搜索和收藏流程 ## 禁止事项 - 禁止搜索功能跨用户泄露数据 - 禁止标签名称不经过 Content Safety - 禁止 Dashboard 数据实时计算(应缓存) ## 不建议当前阶段实现 - 高级搜索筛选(按日期/类型/知识库多条件组合) - 搜索建议和自动补全 - 标签推荐和自动标签 - 知识图谱可视化
wangdl added this to the M3:学习复习闭环(P2) milestone 2026-05-22 21:09:50 +08:00
wangdl self-assigned this 2026-05-22 21:09:50 +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#32
No description provided.