跳转到内容

06-首页分发与合集字段要求

文档性质:Phase 1 首页分发与合集字段目标规格
用途:从首页 V1 固定模块反推内容项、合集、首页分发位需要的最小字段与承载对象
边界

  • 这份文档定义的是目标理想与字段要求,不证明当前服务端已经正式落库什么
  • 当前系统现实仍以 ./02-当前系统现实.md 为准
  • 这份文档只回答首页 V1 要成立需要什么,不扩写 Phase 2 的推荐、搜索和复杂学习机制
  • 视觉层级、模块节奏和页面表达看 ./07-视觉与页面表达.md
  • 不允许把 sourcevisibilityscenesource_brandseries_unit 混写成首页模块字段 默认读者:产品 / Backend / iOS / Admin / Content Ops
    最后更新:2026-04-16

首页 V1 的核心表达现在已经冻结,但主目录里还缺一份 active 文档,明确回答:

  1. 首页 6 个必需模块和 1 个可选模块,背后分别需要什么对象承接
  2. 内容系统下一步该补哪些字段
  3. 哪些现有字段继续保留
  4. 哪些字段不能继续语义过载

这份文档的作用,就是把首页表达、字段要求和对象边界收进一份当前规格,避免 active、plan、archive 再次分叉。


用户价值首页表达推荐承载对象V1 是否必需
今天这里有值得看的日语内容今日新闻速递首页 Hero / 当日内容路由
我不用自己筛,已经帮我挑好了热门推荐Collection 列表
我现在就能开始轻松入门低门槛 Collection 列表
我想听的时候,也能直接开始听播客精选单个 Collection + 外露 item
这里真的在更新,不是空货架今天正在更新单个强 Collection + 外露 item
看完第一波以后,还能继续逛下去还能继续逛合格 Collection feed
如果第二梯队内容足够,还能看到更多可能想看的方向更多你可能想看第二梯队 Collection 横滑流否,库存充足时才显示

补充冻结:

  • 今日新闻速递 不是长期 Collection
  • 热门推荐轻松入门还能继续逛更多你可能想看 的基础承载都是 Collection
  • 播客精选今天正在更新Collection + 外露 item,不是两个新的内容主对象
  • 首页模块属于分发层,不反写成内容长期归属

首页 V1 不是靠一个对象模型撑起来的,至少要同时成立三层:

  1. Content Item Readiness 回答一条内容能不能安全出现在卡片、详情入口和外露内容行里
  2. Collection Readiness 回答一个方向能不能成为前台稳定发现单元
  3. Homepage Slot Readiness 回答首页模块能不能在不写死前端逻辑的前提下稳定运营
flowchart TD
  A[首页 V1 成立] --> B[Content Item Readiness]
  A --> C[Collection Readiness]
  A --> D[Homepage Slot Readiness]
  B --> E[可安全出现在卡片与外露内容行]
  C --> F[可成为稳定前台发现单元]
  D --> G[可进入首页固定分发位]

当前首页模块和这三层的关系如下:

首页表达主要依赖层
今日新闻速递Homepage Slot Readiness + 当日内容聚合
热门推荐Collection Readiness
轻松入门Collection Readiness
播客精选Collection Readiness + Content Item Readiness
今天正在更新Collection Readiness + Content Item Readiness
还能继续逛Collection Readiness
更多你可能想看Collection Readiness

3.1 一张图看懂首页数据怎么被组装出来

Section titled “3.1 一张图看懂首页数据怎么被组装出来”
flowchart TD
  A[Content Item Readiness] --> B[CollectionItem 关系]
  B --> C[Collection Readiness]
  C --> D[Homepage Slot Readiness]
  A --> E[外露 item 行]
  C --> F[合集卡片 / 合集列表]
  D --> G[Hero / 模块排序 / 运营覆盖]
  H[Homepage Tabs / Display Mapping] --> I[首页状态切换]
  E --> J[首页模块渲染]
  F --> J
  G --> J
  I --> J

这张图的重点是:首页不是直接吃单条内容;它至少要先有 item、collection、slot 三层,再加显示映射,前端才能稳定组装页面。


这些字段或判断方向仍然是对的,不需要推翻:

  • type
  • level
  • scene
  • channel_id
  • visibility
  • source
  • recommended_channel
  • recommended_collection_direction
  • series_candidate
  • phase1_fit

原因:

  • 它们仍然适合回答“内容属于哪里”与“内容值不值得进入下一层判断”
  • 它们可以继续服务研究、入库判断、合集规划和首页候选筛选
  • 问题不在这些字段方向错了,而在首页需要的 CollectionSlot 层还没有 active 规格冻结

5. 这些字段不能再继续语义过载

Section titled “5. 这些字段不能再继续语义过载”

以下字段或概念,不允许拿来直接顶替首页 V1 所需能力:

  • source 只回答进入路径:news / imports
  • visibility 只回答用户能不能看见
  • scene 可以帮助展示映射,但不承载首页模块归属和运营位配置
  • source_brand 仍是研究映射字段,不是首页正式字段
  • series_unit 仍是研究映射字段,不是正式 Series 或首页模块字段

同时停止新增这类字段:

  • is_hot_recommend
  • is_beginner
  • is_podcast_featured
  • is_today_updating
  • is_continue_browsing
  • is_more_you_may_like

原因很简单:

  • 这些不是内容长期属性,而是首页分发层配置
  • 把首页模块名写回内容对象,只会让后续模块调整越来越脏

Content Item 最少需要稳定回答这些问题:

字段用途
id / news_id稳定内容主键
title卡片与内容行标题
type区分 webpage / video / audio
channel_id长期一级归属
level难度提示
scene主方向判断
visibility可见性判断
distribution_eligibility能不能进入分发层
cover_image_url首页卡片与列表图面
summary / excerpt卡片摘要或列表副文案
published_at新鲜度信号
duration_sec音频 / 视频时长提示

补充规则:

  • distribution_eligibility 必须和 visibility 分离
  • 首页纵向外露 item 不能只返回 title
  • 即使暂时不把 homepage_eligibility 独立成字段,也必须有稳定规则回答“这条 item 能不能上首页外露模块”

Collection 最少需要稳定承接这些字段:

字段用途
id合集主键
slug稳定路由标识
title合集标题
subtitle一句话价值定位
description厚页与详情承接
cover_image_url首页与详情图面
collection_typenews / beginner / travel / anime / podcast
primary_scene主方向提示
primary_level_hint主难度提示
is_visible合集能不能被看到
distribution_eligibility能不能进分发层
homepage_eligibility能不能进首页候选层
sort_rank合集排序

补充规则:

  • 热门推荐轻松入门还能继续逛更多你可能想看 的差异主要是分组和排序,不是四套不同基础模型
  • homepage_eligibility 可以是字段、状态机或稳定规则,但必须可查询、可运营、可解释

只要首页要靠 Collection 承接,就需要一层稳定成员关系:

字段用途
collection_id所属合集
news_id所属内容
rank集合内排序
is_pinned是否强制置顶
editorial_reason选编理由或运营说明

补充规则:

  • 播客精选今天正在更新 这种模块,不能只靠临时 manual_news_ids[] 长期撑住
  • manual_news_ids[] 只能做兜底,不能取代正式 CollectionItem

首页固定模块至少需要一层正式分发配置:

字段用途
module_key模块名,如 hero / hot_collections
slot_key模块内部具体坑位
rank坑位顺序
target_type指向 collectioncollection_list 或其他稳定对象
target_id指向对象 ID
editorial_title_override首页运营标题
editorial_subtitle_override首页运营副标题
editorial_cover_override首页图面覆盖
theme_color_tokenHero 或卡片所用主题色 token
artwork_palette_hint来自封面图或预计算调色结果的颜色提示
is_active是否启用
start_at生效时间
end_at失效时间
fallback_rule内容不足时怎么降级

模块扩展字段:

  • 今日新闻速递 还需要 play_queue_rulehero_artwork_fill_mode
  • 播客精选今天正在更新 还需要 item_query_strategymin_exposed_item_counthide_if_insufficient
  • 还能继续逛 还需要 latest_item_strategyartwork_palette_mode
  • 更多你可能想看 需要明确它是库存型可选层,不允许空占位

补充规则:

  • 首页 V1 active 视觉不再消费 editorial_tag_list
  • Hero 已明确不显示 tags,因此“标签外露”不再是首页主 Hero 的最小依赖字段
  • 颜色相关字段必须能同时服务 Hero 的主题色和续逛卡片的图片主色背景

Tabs 不需要新建内容主对象,但需要一层稳定显示映射:

字段用途
tab_key稳定 key
tab_title前台显示名
tab_rank顺序
mapping_scene_set映射到哪些方向
is_active是否启用

补充规则:

  • Tabs 是展示分类,不是内容容器
  • Tabs 的变化不应反写进 scene 主标签体系
  • 首页一级 tabs 的默认行为是页内状态切换,不是跳 Collection List
  • 推荐 是默认命中态,激活态统一使用品牌红,不为单个 tab 发明独立色彩逻辑

首页 active 视觉已经冻结成有限几种组件原型,因此字段讨论不能再只停留在“对象最小字段”,还要明确“哪个组件实际消费哪些字段”。

组件原型主要承接对象最少需要的字段说明
Hero BannerHomepage Slot + 指向的 Collection / itemeditorial_title_overrideeditorial_subtitle_overrideeditorial_cover_overrideartwork_slottheme_color_tokenplay_queue_ruletarget_id用于首页第一主视觉位;不再依赖标签字段;副文案按一行密度设计
合集纵向列表样式Collectiontitlesubtitlecover_image_urlcollection_marker_kindid / slug只保留封面、标题、副标题、合集 icon 与跳转;不再依赖第三层 metadata
合集横向滑动样式Collectiontitlesubtitlecover_image_urlcollection_marker_kindid / slug轻松入门更多你可能想看 复用同一套基础字段;不再需要文字 tag
单集纵向列表样式Collection + 外露 Content Itemitem.titleitem.cover_image_urlitem.duration_secitem.duration_textitem.tag_list[]item.content_kinditem.idtag 必须是可枚举列表,不能只靠拼接后的 metadata 文本
合集单卡片变体Collection + latest item snapshottitlesubtitlecover_image_urlartwork_slotartwork_palette_hintlatest_update_labellatest_item_titledirect_play_capabilityid / slug用于 还能继续逛、首页分类态合集流和当前 active Collection List;不显示统一合集 icon 标签

补充规则:

  • 更多你可能想看轻松入门 共享同一套合集横滑字段,不单独发明字段族
  • 还能继续逛 与首页分类态共享同一套合集单卡片变体字段
  • 单集行若需要显示 东京 · 咖啡店 · 街区 · 6 分钟,则 tag 必须以列表形式可取,时长必须单独可取
  • artwork_palette_hint 既要能服务 Hero 的主题色,也要能服务合集单卡片变体的大色块背景
  • 暂时拿不到图片主色时,可以使用确定性的 fallback 色,但 contract 必须保留 artwork_palette_hint
  • 视图层不应长期依赖 title / subtitle / metadata 这种模糊拼装字段来推断组件展示逻辑

  • Collection 最小字段规格
  • CollectionItem 最小关系规格
  • Homepage Slot Config
  • Homepage Tabs / Display Mapping
  • Distribution Eligibility 的正式承接方式
  • Homepage Eligibility 的正式承接方式
  • active 文档后续统一使用这套语言:
    • 今日新闻速递
    • 热门推荐
    • 轻松入门
    • 播客精选
    • 今天正在更新
    • 还能继续逛
    • 更多你可能想看
  • 更多你可能想看 固定为库存充足时才显示的可选层
  • Homepage Tabs 默认是首页页内状态切换层,不默认跳 Collection List
  • Hero 不再依赖标签外露字段
  • 首页相关讨论统一拆成:
    • 内容项层
    • 合集层
    • 首页分发层
  • 把首页模块名直接写回内容对象的布尔字段
  • source 代替分发资格
  • visibility 代替首页推荐资格
  • scene 代替首页模块配置
  • 在库存不足时硬保留 更多你可能想看

首页 V1 现在已经不是“还缺哪些抽象概念”,而是明确缺三层正式承接:Content Item ReadinessCollection ReadinessHomepage Slot Readiness;其中 今日新闻速递 属于首页分发层,热门推荐 / 轻松入门 / 还能继续逛 / 更多你可能想看 属于合集层,播客精选 / 今天正在更新 属于合集层加 item 外露。