06-首页分发与合集字段要求
06-首页分发与合集字段要求
Section titled “06-首页分发与合集字段要求”文档性质:Phase 1 首页分发与合集字段目标规格
用途:从首页 V1 固定模块反推内容项、合集、首页分发位需要的最小字段与承载对象
边界:
- 这份文档定义的是目标理想与字段要求,不证明当前服务端已经正式落库什么
- 当前系统现实仍以
./02-当前系统现实.md为准 - 这份文档只回答首页 V1 要成立需要什么,不扩写 Phase 2 的推荐、搜索和复杂学习机制
- 视觉层级、模块节奏和页面表达看
./07-视觉与页面表达.md - 不允许把
source、visibility、scene、source_brand、series_unit混写成首页模块字段 默认读者:产品 / Backend / iOS / Admin / Content Ops
最后更新:2026-04-16
1. 这份文档解决什么问题
Section titled “1. 这份文档解决什么问题”首页 V1 的核心表达现在已经冻结,但主目录里还缺一份 active 文档,明确回答:
- 首页 6 个必需模块和 1 个可选模块,背后分别需要什么对象承接
- 内容系统下一步该补哪些字段
- 哪些现有字段继续保留
- 哪些字段不能继续语义过载
这份文档的作用,就是把首页表达、字段要求和对象边界收进一份当前规格,避免 active、plan、archive 再次分叉。
2. 首页 V1 核心表达冻结表
Section titled “2. 首页 V1 核心表达冻结表”| 用户价值 | 首页表达 | 推荐承载对象 | V1 是否必需 |
|---|---|---|---|
| 今天这里有值得看的日语内容 | 今日新闻速递 | 首页 Hero / 当日内容路由 | 是 |
| 我不用自己筛,已经帮我挑好了 | 热门推荐 | Collection 列表 | 是 |
| 我现在就能开始 | 轻松入门 | 低门槛 Collection 列表 | 是 |
| 我想听的时候,也能直接开始听 | 播客精选 | 单个 Collection + 外露 item | 是 |
| 这里真的在更新,不是空货架 | 今天正在更新 | 单个强 Collection + 外露 item | 是 |
| 看完第一波以后,还能继续逛下去 | 还能继续逛 | 合格 Collection feed | 是 |
| 如果第二梯队内容足够,还能看到更多可能想看的方向 | 更多你可能想看 | 第二梯队 Collection 横滑流 | 否,库存充足时才显示 |
补充冻结:
今日新闻速递不是长期Collection热门推荐、轻松入门、还能继续逛、更多你可能想看的基础承载都是Collection播客精选、今天正在更新是Collection+ 外露 item,不是两个新的内容主对象- 首页模块属于分发层,不反写成内容长期归属
3. 首页 V1 需要三层 Readiness
Section titled “3. 首页 V1 需要三层 Readiness”首页 V1 不是靠一个对象模型撑起来的,至少要同时成立三层:
Content Item Readiness回答一条内容能不能安全出现在卡片、详情入口和外露内容行里Collection Readiness回答一个方向能不能成为前台稳定发现单元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 三层,再加显示映射,前端才能稳定组装页面。
4. 现有字段里哪些继续保留
Section titled “4. 现有字段里哪些继续保留”这些字段或判断方向仍然是对的,不需要推翻:
typelevelscenechannel_idvisibilitysourcerecommended_channelrecommended_collection_directionseries_candidatephase1_fit
原因:
- 它们仍然适合回答“内容属于哪里”与“内容值不值得进入下一层判断”
- 它们可以继续服务研究、入库判断、合集规划和首页候选筛选
- 问题不在这些字段方向错了,而在首页需要的
Collection和Slot层还没有 active 规格冻结
5. 这些字段不能再继续语义过载
Section titled “5. 这些字段不能再继续语义过载”以下字段或概念,不允许拿来直接顶替首页 V1 所需能力:
source只回答进入路径:news / importsvisibility只回答用户能不能看见scene可以帮助展示映射,但不承载首页模块归属和运营位配置source_brand仍是研究映射字段,不是首页正式字段series_unit仍是研究映射字段,不是正式Series或首页模块字段
同时停止新增这类字段:
is_hot_recommendis_beginneris_podcast_featuredis_today_updatingis_continue_browsingis_more_you_may_like
原因很简单:
- 这些不是内容长期属性,而是首页分发层配置
- 把首页模块名写回内容对象,只会让后续模块调整越来越脏
6. 需要正式承接的最小字段
Section titled “6. 需要正式承接的最小字段”6.1 Content Item Readiness
Section titled “6.1 Content Item Readiness”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 能不能上首页外露模块”
6.2 Collection Readiness
Section titled “6.2 Collection Readiness”Collection 最少需要稳定承接这些字段:
| 字段 | 用途 |
|---|---|
id | 合集主键 |
slug | 稳定路由标识 |
title | 合集标题 |
subtitle | 一句话价值定位 |
description | 厚页与详情承接 |
cover_image_url | 首页与详情图面 |
collection_type | 如 news / beginner / travel / anime / podcast |
primary_scene | 主方向提示 |
primary_level_hint | 主难度提示 |
is_visible | 合集能不能被看到 |
distribution_eligibility | 能不能进分发层 |
homepage_eligibility | 能不能进首页候选层 |
sort_rank | 合集排序 |
补充规则:
热门推荐、轻松入门、还能继续逛、更多你可能想看的差异主要是分组和排序,不是四套不同基础模型homepage_eligibility可以是字段、状态机或稳定规则,但必须可查询、可运营、可解释
6.3 CollectionItem
Section titled “6.3 CollectionItem”只要首页要靠 Collection 承接,就需要一层稳定成员关系:
| 字段 | 用途 |
|---|---|
collection_id | 所属合集 |
news_id | 所属内容 |
rank | 集合内排序 |
is_pinned | 是否强制置顶 |
editorial_reason | 选编理由或运营说明 |
补充规则:
播客精选和今天正在更新这种模块,不能只靠临时manual_news_ids[]长期撑住manual_news_ids[]只能做兜底,不能取代正式CollectionItem
6.4 Homepage Slot Readiness
Section titled “6.4 Homepage Slot Readiness”首页固定模块至少需要一层正式分发配置:
| 字段 | 用途 |
|---|---|
module_key | 模块名,如 hero / hot_collections |
slot_key | 模块内部具体坑位 |
rank | 坑位顺序 |
target_type | 指向 collection、collection_list 或其他稳定对象 |
target_id | 指向对象 ID |
editorial_title_override | 首页运营标题 |
editorial_subtitle_override | 首页运营副标题 |
editorial_cover_override | 首页图面覆盖 |
theme_color_token | Hero 或卡片所用主题色 token |
artwork_palette_hint | 来自封面图或预计算调色结果的颜色提示 |
is_active | 是否启用 |
start_at | 生效时间 |
end_at | 失效时间 |
fallback_rule | 内容不足时怎么降级 |
模块扩展字段:
今日新闻速递还需要play_queue_rule、hero_artwork_fill_mode播客精选、今天正在更新还需要item_query_strategy、min_exposed_item_count、hide_if_insufficient还能继续逛还需要latest_item_strategy、artwork_palette_mode更多你可能想看需要明确它是库存型可选层,不允许空占位
补充规则:
- 首页 V1 active 视觉不再消费
editorial_tag_list - Hero 已明确不显示 tags,因此“标签外露”不再是首页主 Hero 的最小依赖字段
- 颜色相关字段必须能同时服务 Hero 的主题色和续逛卡片的图片主色背景
6.5 Homepage Tabs / Display Mapping
Section titled “6.5 Homepage Tabs / Display Mapping”Tabs 不需要新建内容主对象,但需要一层稳定显示映射:
| 字段 | 用途 |
|---|---|
tab_key | 稳定 key |
tab_title | 前台显示名 |
tab_rank | 顺序 |
mapping_scene_set | 映射到哪些方向 |
is_active | 是否启用 |
补充规则:
- Tabs 是展示分类,不是内容容器
- Tabs 的变化不应反写进
scene主标签体系 - 首页一级 tabs 的默认行为是页内状态切换,不是跳
Collection List 推荐是默认命中态,激活态统一使用品牌红,不为单个 tab 发明独立色彩逻辑
6.6 组件反推字段对照表
Section titled “6.6 组件反推字段对照表”首页 active 视觉已经冻结成有限几种组件原型,因此字段讨论不能再只停留在“对象最小字段”,还要明确“哪个组件实际消费哪些字段”。
| 组件原型 | 主要承接对象 | 最少需要的字段 | 说明 |
|---|---|---|---|
| Hero Banner | Homepage Slot + 指向的 Collection / item | editorial_title_override、editorial_subtitle_override、editorial_cover_override 或 artwork_slot、theme_color_token、play_queue_rule、target_id | 用于首页第一主视觉位;不再依赖标签字段;副文案按一行密度设计 |
| 合集纵向列表样式 | Collection | title、subtitle、cover_image_url、collection_marker_kind、id / slug | 只保留封面、标题、副标题、合集 icon 与跳转;不再依赖第三层 metadata |
| 合集横向滑动样式 | Collection | title、subtitle、cover_image_url、collection_marker_kind、id / slug | 轻松入门 与 更多你可能想看 复用同一套基础字段;不再需要文字 tag |
| 单集纵向列表样式 | Collection + 外露 Content Item | item.title、item.cover_image_url、item.duration_sec 或 item.duration_text、item.tag_list[]、item.content_kind、item.id | tag 必须是可枚举列表,不能只靠拼接后的 metadata 文本 |
| 合集单卡片变体 | Collection + latest item snapshot | title、subtitle、cover_image_url 或 artwork_slot、artwork_palette_hint、latest_update_label、latest_item_title、direct_play_capability、id / slug | 用于 还能继续逛、首页分类态合集流和当前 active Collection List;不显示统一合集 icon 标签 |
补充规则:
更多你可能想看与轻松入门共享同一套合集横滑字段,不单独发明字段族还能继续逛与首页分类态共享同一套合集单卡片变体字段- 单集行若需要显示
东京 · 咖啡店 · 街区 · 6 分钟,则 tag 必须以列表形式可取,时长必须单独可取 artwork_palette_hint既要能服务 Hero 的主题色,也要能服务合集单卡片变体的大色块背景- 暂时拿不到图片主色时,可以使用确定性的 fallback 色,但 contract 必须保留
artwork_palette_hint - 视图层不应长期依赖
title / subtitle / metadata这种模糊拼装字段来推断组件展示逻辑
7. 增删改动作冻结表
Section titled “7. 增删改动作冻结表”7.1 需要新增
Section titled “7.1 需要新增”Collection最小字段规格CollectionItem最小关系规格Homepage Slot ConfigHomepage Tabs / Display MappingDistribution Eligibility的正式承接方式Homepage Eligibility的正式承接方式
7.2 需要修改
Section titled “7.2 需要修改”- active 文档后续统一使用这套语言:
今日新闻速递热门推荐轻松入门播客精选今天正在更新还能继续逛更多你可能想看
更多你可能想看固定为库存充足时才显示的可选层Homepage Tabs默认是首页页内状态切换层,不默认跳Collection List- Hero 不再依赖标签外露字段
- 首页相关讨论统一拆成:
- 内容项层
- 合集层
- 首页分发层
7.3 需要删除或停止新增
Section titled “7.3 需要删除或停止新增”- 把首页模块名直接写回内容对象的布尔字段
- 用
source代替分发资格 - 用
visibility代替首页推荐资格 - 用
scene代替首页模块配置 - 在库存不足时硬保留
更多你可能想看
8. 一句话总结
Section titled “8. 一句话总结”首页 V1 现在已经不是“还缺哪些抽象概念”,而是明确缺三层正式承接:Content Item Readiness、Collection Readiness、Homepage Slot Readiness;其中 今日新闻速递 属于首页分发层,热门推荐 / 轻松入门 / 还能继续逛 / 更多你可能想看 属于合集层,播客精选 / 今天正在更新 属于合集层加 item 外露。