active / System Design Archive

Collection Stack

Collection Stack 用堆叠封面和主题聚合把多本相关书组织成知识专题,目标是让书架更像私人图书馆和档案馆,而不是文件列表。

BookshelfCollection CardStacked CoversKnowledge Topic
Inspiration

借鉴对象

  • Apple Books Collections
  • Plex Collections
  • Are.na Channels
  • Calibre library
Rejected

拒绝的方案

  • 完全平铺所有书,因为资料库增长后信息密度和策展感都会下降。
  • 把 Collection 等同文件夹,因为知识主题可以跨目录和来源聚合。
  • 展示过多封面,因为 Top 3 + count 更克制,也更接近成熟媒体库。
Runtime

运行方式

  • OpenList original 目录提供书源并决定哪些书存在;public-data/books/books-index.json 是可再生文件索引投影,public-data/books/books.metadata.json 只提供 keyed metadata layer,不能把 OpenList 已删除的书重新带回 UI。
  • 当前 `/books/` 与首页 Feed 默认一书一卡:books-index.json 返回多少本具体书,就渲染多少张具体书卡;前台不得在访客请求里 live-list OpenList。
  • Collection 是后续 Knowledge Topic 视图,不再替代默认书籍清单,也不能让具体书籍在主书架里消失。
Tradeoff

取舍

  • 自动聚类可以减少维护,但早期人工 collection 更可靠。
  • 堆叠封面需要真实封面缓存完整,否则视觉质量受封面覆盖率影响。
  • Collection 提高策展感,但也需要后续 Graph、Timeline 和 Related Topic 承接。
Future Direction

后续方向

  • 根据书名、作者、标签和路径自动建议 Collection。
  • 为历史类 Collection 增加 Timeline 和地图视角。
  • 让 Collection 进入 Knowledge Graph,成为 Room / Topic 节点。