Files
yingqing/Airshelf_二期功能清单_1.md
2026-08-18 14:11:05 +08:00

152 lines
25 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Airshelf 二期功能清单
> 由《二期需求整理总纲》拆解而来,颗粒度到「可派活/可估时」的功能项。
> 分期:**上**=二期上半程(骨架,先做);**下**=二期下半程;**并**=可并行支线。
> 状态:**明确**=可开工;**待确认**=需先对齐(对象见备注)。
> 编号:模块.序号(1=主流程 2=电商内容 3=本地生活 4=自由创作 5=保存模板)。
> 开发进度:**已完成**=代码已落地可验收;**部分完成**=已做一半,缺口见备注;**第N段**=按文末《开发分段》排期,尚未开工。
---
## 模块 1 · 主流程优化(核心骨架,对应 PDF 9 条)
| 编号 | 功能 | 说明 | 分期 | 状态 | 开发进度 |
| ---- | ----------------- | -------------------------------------------------------- | --- | --------------------- | ----------------------------------------------------------------------------------------------------------- |
| 1.1 | 取消项目创建阶段的视频时长选择 | 时长移到脚本阶段(见 1.9) | 上 | 明确 | **已完成**(第2段补齐)。新建向导里本就没有时长控件;脚本设定卡现在有「时长」那一栏(5–60 秒、5 秒一档),死值 60 秒已去掉 |
| 1.2 | 删除脚本创建的「AI 全生」按钮 | 流程简化 | 上 | 明确 | **已完成**(第1段) |
| 1.3 | 「一句话主题」改名「脚本辅助生成」 | 含删除一句话主题框(PDF 第4条) | 上 | 明确 | **已完成**(第1段)。改后确认风格人物即直接出稿,少一轮「追问主题」的来回 |
| 1.4 | 脚本创建三种方式入口 | 辅助生成 / 上传脚本 / **上传视频提炼**(功能A) | 上 | 明确 | **已完成**(第5段补齐)。三个入口都在脚本页空态并排;生成后脚本卡的「来源」徽标能分清是哪个入口出的稿(原先三种都记成「脚本辅助生成」) |
| 1.5 | 脚本辅助生成三选栏 | 表现形式 × 视频结构 × 时长;系统按商品信息**推荐默认值 + 保留用户选择权** | 上 | 明确 | **已完成**(第2段)。设定卡改成「表现形式 × 视频结构 × 人物 × 时长」四栏,进卡即带推荐值,每栏下方一句话说明 |
| 1.6 | 表现形式选项 | 口播 / 短剧 / Vlog | 上 | 待确认(需求方:选项是否定死/可增删) | **已完成**(第2段)。三个选项前后端共用一份枚举,加一个 = 前后端各加一行 + 补一份套路文档 |
| 1.7 | 视频结构选项 | 痛点解决 / 前后对比 / 测评验证 / 场景种草 | 上 | 待确认(同上) | **已完成**(第2段)。同 1.6,可增删 |
| 1.8 | 组合联动筛选 | 表现形式为主,视频结构按其筛选,禁矛盾组合(如口播+短剧) | 上 | 待确认(产品:组合规则) | **已完成**(第2段)。表现形式为主筛结构;目前只禁一组「短剧 × 测评验证」(演出来的实测没可信度),要加规则改一张表即可 |
| 1.9 | 时长逻辑 | **复用另一平台现成「完全自由 5s 步长 5–60s」实现** + 表现形式推荐默认;后端单镜≤15s 切镜 | 上 | 待确认(开发:可移植/单镜约束) | **已完成**(第2段,并进来一起做了)。总时长 5–60 秒 5 秒一档,单镜 4–15 秒不等长、加总精确等于总时长;写死 15 秒的六处已全打掉,脚本镜时长会同步到视频段(已出片的段不动)。真跑验证:40 秒短剧×痛点 → 5 镜 8/6/10/8/8;15 秒口播×前后对比 → 3 镜 4/7/4 |
| 1.10 | 上传脚本 | 仅 docx/txt;平台识别结构后**优化、补齐钩子/卖点证明/转化内容** | 上 | 明确 | **已完成**(第1段)。docx 用标准库在后端拆,没加新依赖;提示词已改为先识别结构、保留原意,再补钩子/卖点证明/转化 |
| 1.11 | 上传视频提炼(功能A) | 视频→结构化分镜(对齐画面描述七要素)→**可人工逐镜编辑**→喂脚本。⚠️必须可编辑(AI拆解有5类已知毛病) | 上 | 待确认(客户:是否要"迁移到新商品"步骤) | **已完成**(第5段)。**开工前那句「唯一一条新基建」经核实是高估了**:现在的脚本模型本身就会读图(已实测),拆视频的 ffmpeg 也早就装在后端(第5阶段导出一直在用),真正新写的只有「按时间轴均匀抽帧」这一小段。链路:传视频 → 抽 4–12 帧 → 模型逐镜还原 → **中文分镜稿直接落在输入框里让人改** → 改完才交给脚本 agent 按你自己的商品重写。上限 3 分钟 / 200 MB,整条约 30–60 秒,计一次文本生成的费。**语音转写没做**,理由见下方「第5段」说明 |
| 1.12 | 三视图资产:双通道 | **AI 生成 + 用户上传 均保留**;样式调整:单独上传框、取消替换按钮 | 上 | 明确 | **已完成**(第1段)。替换按钮已删,改成「上传三视图」直接选文件;还没图时预览区本身就是虚线上传框 |
| 1.13 | 三视图:重新生成入口确认 | 「取消替换按钮」不等于取消「重新生成三视图」能力,需保留生成入口 | 上 | 待确认(开发) | **已完成**(第1段)。开发侧结论:**不受影响**——「AI 重新生成三视图」和「替换」本就是两个独立按钮,删一个不动另一个,预览面板里的「重跑」也在 |
| 1.14 | 故事板进页面自动生成 | 不再手动点「开始生成」;**防刷新/返回/切页重复创建** | 上 | 明确 | **暂缓,需先补后端防重复**。这条听起来是「删掉一个手动按钮」,但那个按钮正是目前唯一的防重复措施——后端收到一次请求就新建一次任务、预扣一次积分,本身不检查「这段是不是已经在跑了」。改成进页面自动触发后,用户每刷新一次页面就重新触发一次。前置工作 = 给后端补「已经在跑就不重复建」的判断,对用户不可见,但省掉它这功能不能上线 |
| 1.15 | 视频进页面自动生成 | 同 1.14;防重复创建视频任务 | 上 | 明确 | **暂缓,风险高于 1.14**。视频是全流程最贵的一步,而提交侧后端**完全没有**防重复:点两次就是两个任务、扣两份积分。现在只有前端按钮禁用挡着,绕开它(刷新、开两个标签页、点太快)就会重扣。**不补后端就上线 = 用户刷新一次重扣一批**。补法与 1.14 同源,视频优先做 |
| 1.16 | 全流程积分消耗展示 | 生成前预估 + 结束后明细。⚠️依赖各环节**计费标准先定清** | 上 | 待确认(PM:计费标准) | **部分完成,余下待 PM**。余额、每步单价、单任务预估、实际扣除、消费流水都已经有了;缺的只是流程级汇总(进条前总预估 + 出片后一次性明细)。⚠️这个汇总**不能让前端把各步单价加起来自己算**:视频按实际时长和用量动态计价,还有重跑次数、团队折扣两步取整,前端算的数跟最后真扣的对不上,用户会觉得平台乱扣钱。得先定清计费口径,再由后端出数 |
| 1.17 | 保存模板 | 见模块 5(同一功能) | 下 | — | **已完成**(第7段,见模块 5) |
---
## 模块 2 · 电商脚本内容(并入模块1,内容层)
| 编号 | 功能 | 说明 | 分期 | 状态 | 开发进度 |
| --- | ------------------ | ---------------------------------- | --- | ------------- | ----------------------------------------------------------------- |
| 2.1 | 表现形式 × 视频结构 套路内容沉淀 | 每个(合理)组合对应一份套路:结构骨架、镜头逻辑、钩子/CTA 规则 | 上 | 待确认(PM:内容谁沉淀) | **草稿已落地**(第2段)。3 份表现形式 + 4 份视频结构 + 1 份组合矩阵,共 8 份套路文档已进技能库并生效。**内容质量待 PM / 内容同学过一遍**,改的是 md 文档,不用动代码 |
| 2.2 | 电商专家知识 v0.1 → 扩展 | 已有客户 SOP + 益生菌案例打底,扩为多组合 | 上 | 待确认(内容归属) | **已完成**(第2段)。技能库新增「表现形式 × 视频结构」两个维度,按用户所选**只加载对应的两份套路**,不再一次性灌全部提示词 |
| 2.3 | 系统按商品信息推荐默认组合 | 品类/人群/卖点 → 推荐表现形式+结构默认值 | 上 | 明确 | **已完成**(第2段)。按品类关键词推荐组合 + 时长(如数码 3C → 口播 × 测评验证 · 30 秒),推荐值可随时改,「重新推荐」可退回 |
---
## 模块 3 · 本地生活(依赖模块1先落地)
| 编号 | 功能 | 说明 | 分期 | 状态 | 开发进度 |
| --- | ------------- | ----------------------------------- | --- | --------------- | ----------------------------------------------------------------------------- |
| 3.1 | 商品库新增「类目」字段 | 电商/本地生活;驱动后续挂 skill 与节点屏蔽。⚠️涉及商品库结构 | 下 | **已完成(第8段)** | **已完成**。新开 `Product.business_type``ecommerce` / `local_life`),**没有复用现有「品类」字段**。存量商品默认电商。新建抽屉、详情编辑、商品库筛选都单独有「类目」这一维;选本地生活后品类下拉换成餐饮/丽人/酒店那一套 |
| 3.2 | 团购 = 虚拟商品建模 | 无实物商品,沿用主流程 SOP | 下 | **已完成(第8段)** | **已完成**。本地生活允许不传主图也能建(团购没有实物可拍),卖点仍必填。建完照常走「生成视频」进主流程:脚本 → 基础资产 → 故事板 → 出片。脚本提示词会带上「业务类型:本地生活(团购/到店核销,无实物)」,模型按虚拟商品写,不按货架 SKU 写 |
| 3.3 | 探店脚本结构 + 镜头语言 | 达人→门店→点餐→试吃→环境→到店核销;探店镜头语言 | 下 | 跳过(等原料) | **跳过**。跟 2.1/2.2 同类:**内容活不是代码活**。没有探店案例和镜头语言稿,硬写一套会把脚本质量钉死在瞎编上。3.2 已经能用现有 SOP 出片;等客户补原料再单独立一段挂 skill |
| 3.4 | 本地生活节点屏蔽 | 三视图可跳过、模特上身图入口隐藏(按类目标签自动) | 下 | **已完成(第8段)** | **已完成**。按 `business_type=local_life` 自动:商品库卡不标「缺三视图」;详情页藏「AI 生成三视图」和「模特上身图」;流水线基础资产页三视图按钮换成「无需商品三视图,可直接进入下一步」;模特上身图工作台侧栏也不列出本地生活商品。**不挡进入下一步** |
| 3.5 | 是否覆盖图片线(平台套图) | 覆盖则平台清单换(美团/点评/抖音本地生活…) | 下 | 跳过(等 PM) | **跳过**。平台套图入口还在(本地生活也能用现有电商平台清单出图)。要换成美团/点评/抖音本地生活封面规范,得先有各平台尺寸清单和是否覆盖图片线的明确答复,否则会做错一版再推翻 |
---
## 模块 4 · 自由创作打通(相对独立,可并行)
| 编号 | 功能 | 说明 | 分期 | 状态 | 开发进度 |
| --- | ----------- | ------------------------------------ | --- | --- | --------------------------------------------------------------------- |
| 4.1 | 三库接入自由创作 | 商品库/模特库/资产库可 @引用(现状完全不能引用) | 并 | 明确 | **已完成(第6段)**。自由创作页新增「引用平台素材」入口(页头按钮 + 输入条图标),弹窗里三个 tab 切换资产库 / 模特库 / 商品库;商品要先点进商品再挑它的素材;模特卡上直接给「形象图 / 三视图」两个引用按钮。挑中的素材和上传的一样进参考区、支持 @ 引用,首尾帧模式也能用 |
| 4.2 | 审核状态跟资产走机制 | 平台生成=已审免审;用户上传=审一次打标记;**避免按库免审架空审核** | 并 | 明确 | **已完成(第6段)**。判断只看素材的「来源」和「审核状态」两个字段,**不看它在不在库里**——按库免审就是架空审核:用户传一张图进资产库、再从自由创作引用出去,整套人像审核就白做了。表现:平台生成的直接可用;用户上传的没审过会显示黄色「待送审」并挡住,卡片上给一个「送审」按钮,审核通过后自动变成可引用。审核中/未通过都有明确文案,不会让用户一脸问号 |
| 4.3 | 分步实施 | 资产库先行(最干净)→ 模特库 → 商品库 | 并 | 明确 | **已完成(第6段)**。三个库一次接完。后端只认一种「引用平台素材」,三个库的差别全在挑素材的界面上——以后再加第四个库也不用动后端 |
| 4.4 | 存量资产补审核状态标记 | 数据迁移:平台生成批量标已审、用户上传标待审 | 并 | 明确 | **跳过,不需要做**。原计划是跑一次数据迁移给老资产批量打标记,实际不用:4.2 的判断是「按来源实时算」,平台生成的老资产天然免审、用户上传的老资产天然显示「待送审」,不刷数据结论也一样。**少跑一次全表刷新 = 少一个出错的机会**,故不做 |
---
## 模块 5 · 保存模板 / 视频替换(PDF 第9条)
| 编号 | 功能 | 说明 | 分期 | 状态 | 开发进度 |
| --- | -------------- | --------------------------------------------- | --- | -------------- | ------------------------------------------------------------------ |
| 5.1 | 保存模板 | 存带货套路/脚本结构/人物场景风格/镜头节奏/转化方式 | 下 | **已完成(第7段)** | 脚本页底栏加「存为模板」。存的是**套路不是文案**:带货套路(表现形式 × 视频结构)、脚本结构(每镜作用序列 钩子→痛点→卖点→CTA)、镜头节奏(镜数 + 每镜秒数)、人物设定、商品露出方式、结尾转化写法。**旧商品的口播文案一律不进模板**,弹窗里把「会存进去的内容」逐条摊开给用户看,并写明文案不存 |
| 5.2 | 换商品重跑 pipeline | 换商品后重做商品理解、卖点适配、资产生成、故事板生成(=满足「视频商品替换」需求,路径②) | 下 | **已完成(第7段)** | 新建项目第 2 步多一个「套路模板(可选)」下拉。选中后**后端按库里的模板回填**表现形式/结构/时长/人物到 `metadata.wizard`(前端只传 template_id,不留两份真相),脚本页设定卡自动带好,生成时把镜序节奏并进提示词。因为是**开新项目**,商品理解、卖点适配、基础资产、故事板全都按新商品重跑一遍,没有走「复制旧项目」的捷径 |
| 5.3 | 视频替换预期管理 | 产出为「同套路重出新视频」,非「仅换商品的原片」,需告知用户 | 下 | **已完成(第7段)** | 两处说明,都在用户点下去之前:① 新建项目选中模板时展开模板镜序 + 一句「文案、画面、模特与故事板都会按新商品重新生成 —— 不是把上一条片子换个商品名」;② 脚本页设定卡顶部再提示一次。**客户口径仍需签字前当面对齐**(见文末第 2 条) |
| 5.4 | 模板私有 vs 平台公共库 | 公共库价值大但复杂 | 下 | 跳过(等 PM) | **本期只做团队私有模板**,按建议执行。跳过理由:公共库要额外解决审核(谁能上架)、跨团队权限(模板里带的人物/场景设定是不是商业机密)、下架与版本治理三件事,都是产品先定规则、代码才好写的活。私有模板的数据结构已经预留 `team` 维度,将来加公共库=加一个「可见范围」字段,不用推翻重做 |
---
## 明确不做(防蔓延,一并记录)
| 项 | 处置 |
| ------------- | ------------------ |
| 模特库改造 | 独立立项(已备《模特库机制设计》) |
| 商品链接解析入库 | backlog(爬虫维护+合规风险) |
| 一键白底图 | backlog(定位漂移) |
| 视频成片直接替换(路径①) | 不做,用模块5 路径②替代 |
---
## 待确认汇总(按对象,便于对齐)
**需求方 / 客户**1.6/1.7 选项是否可增删 · ~~1.11 是否要迁移到新商品~~(**已按「要迁移」实现**:拆完的分镜稿会自动按当前项目的商品重写,参考视频里的商品/品牌/人物一律不保留;若客户其实想要「原样还原参考片」,回来改一句提示词即可)· 1.11 是否要接语音转写拿原片口播(**当前没接**,理由见第5段) · ~~3.5 是否覆盖图片线~~(**本期不覆盖**:本地生活仍用现有电商平台套图;要换美团/点评/抖音本地生活封面规范,需先给平台清单) · 5.3 替换确切含义 · 3.3 本地生活案例原料
**PM**:2.1/2.2 内容谁沉淀(★最高)· 1.16 计费标准 · ~~3.1 商品库改动排期~~**已做**:新开 `business_type` 字段,不碰现有品类筛选)· ~~5.4 模板公共化~~(**本期按建议只做团队私有模板**;公共库要先定审核、跨团队权限、下架治理三条规则,规则定了再另立一期,数据结构已预留)· 全局分期
**开发**:1.9 时长现成方案可移植/单镜约束 ~~(已验证可移植,见 1.9 进度栏)~~ · 1.13 三视图重新生成入口 ~~(已确认不受影响)~~ · 4.x 自由创作从0做引用工作量
---
## 开发分段(「开发进度」列里「第N段」的含义)
| 段 | 内容 | 说明 |
| ------- | --------------------------------------------------- | ------------------------- |
| **第1段** | 脚本入口清扫:1.2 · 1.3 · 1.4(上传脚本部分) · 1.10 · 1.12 · 1.13 | 无前置依赖,纯前端 + 一个小接口。**已完成** |
| **第2段** | 表现形式 × 视频结构 + 时长:1.5 · 1.6 · 1.7 · 1.8 · 2.1 · 2.2 · 2.3 · 1.9 · 1.1 | 第3段的时长并进来一起做了(同一排选项,不搭两遍)。**已完成**,2.1 套路内容是草稿,待内容同学过一遍 |
| ~~**第3段**~~ | ~~时长自由化:1.9 + 补 1.1 遗留的脚本阶段时长控件~~ | **已并入第2段** |
| ~~**第4段**~~ | ~~自动生成 + 积分汇总:1.14 · 1.15 · 1.16~~ | **暂缓**。1.14/1.15 的前置(后端防重复)没做完之前不开工,否则用户刷新一次重扣一批;1.16 等 PM 定计费口径 |
| **第5段** | 上传视频提炼:1.11 · 补 1.4 的第三个入口 | **已完成**。原判「唯一一条新基建」偏保守:读图能力和 ffmpeg 都是现成的,实际只新写了抽帧。**两件要跟需求方说清的**:① **没接语音转写** —— 拆解只看画面,口播词只能从画面上的字幕读;带货参考片绝大多数带硬字幕,且口播本来就要按新商品重写,所以先不接。真要原片口播,需另开火山语音识别服务(新凭证 + 新计价,约 1 段工作量)。② **拆解稿是给人改的,不是直接出片** —— 稿子落在输入框里,用户逐镜校对完再点确定;AI 自己会在稿尾列「拆解存疑」提示该重点核对哪几条 |
| **第6段** | 自由创作接三库:模块 4 | 独立支线,不碰主流程 → 提前做掉。**已完成**(4.4 数据迁移经判断不需要做,理由见该行) |
| **第7段** | 保存模板 + 换商品重跑:模块 5(含 1.17) | **已完成**。5.1/5.2/5.3 做掉,5.4 公共库按建议跳过(只做团队私有)。做法比预想轻:模板存的是「怎么讲」的一页大纲(镜数 / 每镜作用 / 秒数 / 商品露出 / 转化写法),换商品=**照常新建项目**,只是把这页大纲喂给脚本助手,后面商品理解、卖点、资产、故事板全部按新商品正常跑。**一条要跟需求方说清的**:模板里**不存旧商品的口播文案**(存了就会把上一个品牌漏进新片),所以「同套路重出」拿到的是结构一致、文案全新的一条片子 |
| **第8段** | 本地生活:模块 3 | **已完成能做的部分**。3.1 新开类目字段、3.2 团购无实物可建、3.4 按类目自动屏蔽三视图/上身图。**3.3 探店镜头语言跳过**(没案例原料)、**3.5 平台套图换清单跳过**(等需求方是否覆盖图片线) |
主链:**第1 → 2 → 6 → 5 → 7 → 8 已全部完成能做的部分**(第3段并入第2段;第4段暂缓,等后端防重复补完 + PM 定计费口径再回来)。剩下的都是卡原料/口径的:2.1/2.2 内容过一遍、3.3 探店案例、3.5 是否覆盖图片线、1.14/1.15/1.16 自动生成。
**模块 1(脚本)除 1.14/1.15/1.16 三条暂缓项外全部做完**;**模块 3(本地生活)工程侧做完**(3.3/3.5 等原料);**模块 4(自由创作)、模块 5(模板 / 换商品重跑)已完成**。
### ⚠️ 需要跟 PM / 客户提前说清楚的四条(听起来简单、实际有雷)
0. **1.11「画面描述七要素」的具体七项,需求文档里没给**。开发按「下游重拍时最少需要哪些信息」定了这七项,**请需求方比对确认**:① 主体(谁/什么在画面里)② 动作 ③ 场景/环境 ④ 景别(特写/中景/全景)⑤ 运镜(固定/推拉摇移/跟拍)⑥ 光线氛围 ⑦ 商品露出方式(手持/特写/使用中/未出现)。这七项是照着平台脚本已有的字段挑的,**改一项要连着改脚本结构**,所以趁早对齐;纯加一项文字描述则很便宜。
1. **1.14 / 1.15 自动生成** —— 见上,删按钮 = 拆掉唯一的防重复措施,会重复扣积分。**已暂缓**。
2. **5.3 视频替换** —— 客户很可能理解成「原片不动,只把里面的商品换掉」,平台实际能做的是「沿用同一套路,重新生成一条新视频」。这两件事在客户脑子里是一回事,在验收现场是两回事。**代码量很小,说不清楚的代价是整批返工**,务必在签字前对齐。**产品侧已按「同套路重出」实现并在界面上写明**(选模板时、生成前各提示一次),但**口径本身仍要当面跟客户确认**:如果客户坚持要「原片不动只换商品」,那是另一条技术路线(逐帧抠像 + 商品贴合),不在本期范围内,需单独评估。
3. **3.1 商品库「类目」字段** —— **已按建议新开字段**`business_type` = 电商 / 本地生活),没有塞进现有「品类」。筛选、新建、编辑、节点屏蔽都认这一维。存量商品默认电商,老数据不用迁。
---
*功能清单 v1。与《二期需求整理总纲》配套,随分期与对齐结论更新。*