commit ccbbd2ebb78b2e3dfbe0eabfbf759fbf96b83985 Author: seaislee1209 Date: Wed Feb 11 18:28:57 2026 +0800 docs: 瀹屾垚 AirLabs Project V1 PRD 鏂囨。锛屽惈涓夐樁娈靛垎宸ヤ笌鎴愭湰鍒嗘憡瑙勫垯 Co-authored-by: Cursor diff --git a/AirLabs Project PRD.md b/AirLabs Project PRD.md new file mode 100644 index 0000000..4929a38 --- /dev/null +++ b/AirLabs Project PRD.md @@ -0,0 +1,519 @@ +# 内容组 · 项目制周期 / 成本 / 产出管理系统 +## AirLabs · Project +### V1 产品需求文档(PRD) + +--- + +## 1. 产品背景与使用场景 + +本系统服务于一家**以 AI 动画 / 视觉内容为核心产出的内容团队**(团队规模 30 人以内)。 + +### 团队真实工作方式 + +- 团队以**项目制**运作 +- 项目类型包括: + - 原创动画项目(季播 / 单季) + - 客户项目(TVC / 定制广告 / 内容委托) +- 每个项目在开始时即可明确: + - 单集成片时长 + - 集数 + - 最终目标总时长 +- 制作过程中: + - 大量使用 AI 工具(动画、图像、视频) + - 单日可能产出大量动画片段 + - 最终在剪辑软件中拼接为完整成片 +- 项目过程中普遍存在: + - 测试 / 试错 + - 重做 + - 内部制作 + 外包混合 + +### 内容组阶段分工 + +内容组按制作阶段分为三个小组,各组产出物与计量方式不同: + +| 阶段组 | 主要产出物 | 能否用秒数衡量 | +|--------|-----------|:---:| +| 前期组 | 剧本、策划方案、角色/场景设定图 | ❌ | +| 制作组(中期) | 动画片段、部分图片 | ✅ | +| 后期组 | 剪辑成片、补拍修改镜头(≤10%) | 部分可以 | + +--- + +## 2. 当前管理问题 + +现有日报 / 表格方式无法解决以下问题: + +- 一个项目**到底投入了多少成本** +- 实际产出是否匹配项目目标 +- 测试与损耗占比情况 +- 项目是否超期 +- 项目结束后是否盈利 + +--- + +## 3. 产品目标 + +构建一个: + +> **以项目为核心, +> 以内容提交为最小记录单位, +> 自动汇总产出、进度、成本与损耗, +> 支持项目完成后统一结算的内部系统。** + +--- + +## 4. 使用范围(V1) + +### 覆盖范围 +- 内容组 +- 内容类项目 +- 动画 / 视觉内容生产 +- PC 端 Web 应用(预留响应式结构,V2 适配移动端) + +### 不包含 +- 产品研发周期管理 +- 精细工时系统 +- 人事绩效考核 +- 审批 / 验收流程(保持提交轻量化) +- 移动端专属适配(V2) + +--- + +## 5. 核心设计原则 + +1. 项目是最高层级单位 +2. 内容提交是真实发生的工作记录 +3. 员工只填"发生了什么",计算交给系统 +4. **提交过程尽量简单**,不给制作人员增加负担 +5. 项目完成前不展示财务结果 +6. 项目完成后统一结算 + +--- + +## 6. 核心对象与逻辑结构 + +--- + +### 6.1 项目(Project) + +项目在创建时即明确目标,用于后续一切对照与计算。 + +**项目字段:** + +- 项目名称 +- 项目来源类型 + - 内部原创项目 + - 客户项目(TVC / 定制内容) +- 项目状态 + - 制作中 + - 已完成(结算) +- 项目负责人 +- 项目阶段结构 + - 前期 / 制作 / 后期 +- 项目目标产出 + - 单集正片时长(分钟) + - 集数 + - 系统自动计算目标总时长 = 单集时长 × 集数(换算为秒) +- 项目预估完成时间(日期) + - 由管理层基于前期测试后填写 +- 客户回款金额(仅客户项目) + - 项目创建时即填写 + - 内部原创项目此字段不显示 +- 项目创建日期(系统自动记录) + +--- + +### 6.2 用户(User) + +- 姓名 +- 所属团队(内容组) +- 所属阶段组 + - 前期 / 制作 / 后期 + - 用于后台按组筛选和统计 + - 不影响成本分摊逻辑(分摊由提交内容自动决定) +- 角色权限 + - 成员 / 组长 / 主管 / Owner +- 月度人力成本(工资) +- 日成本(系统自动计算) + - **日成本 = 月薪 ÷ 22 个工作日** + +--- + +### 6.3 内容提交(Submission)【系统核心】 + +**一条内容提交 = 一次真实发生的内容交付或试错** + +> 设计原则:成员只需如实填写"做了什么、产出多少",系统自动完成分类与计算。 +> MVP 阶段不设审批流程,提交即生效。 + +#### 提交字段: + +- 提交人(自动关联当前用户) +- 所属项目(下拉选择当前参与的项目) +- 项目阶段 + - 前期 / 制作 / 后期 +- 工作类型 + - 制作 / 测试 / 方案 +- 内容制作类型 + - 内容制作 + - 设定 / 策划 + - 剪辑 / 后期 + - 其他 +- 产出时长输入 + - 分钟(可选) + - 秒(可选) + - 系统自动换算为总秒数 + - 若无产出可填 0 +- 投入时长(可选) + - 单位:小时 + - 非必填,鼓励填写 + - 用于后续效率分析 +- 提交对象 + - 组长 / 制片 / 内部 / 外部 +- 制作描述(简要说明) +- 提交日期(默认当天,可修改为过去日期补填) + +--- + +## 7. 成本结构设计 + +--- + +### 7.1 人力成本(自动计算) + +#### 基础规则 +- 日成本 = 月薪 ÷ 22 +- 项目人力成本 = 参与该项目的所有人员日成本按分摊规则累计 + +#### 分摊核心规则 + +> **系统根据提交的产出秒数自动判定分摊方式,成员无需额外操作。** + +**规则一:有产出秒数 → 按秒数比例分摊** +适用于:制作组动画产出、后期组补拍镜头等有秒数的提交 + +**示例:** +小王(制作组)日成本 909 元,某天提交情况: +- A 项目:产出 60 秒 +- B 项目:产出 30 秒 + +分摊结果: +- A 项目承担:909 × (60/90) = 606 元 +- B 项目承担:909 × (30/90) = 303 元 + +**规则二:无产出秒数(秒数为 0) → 按提交条数比例分摊** +适用于:前期组策划/剧本/设定、后期组剪辑等无秒数产出的提交 + +**示例:** +小李(前期组)日成本 682 元,某天提交情况: +- A 项目:提交 2 条(剧本 + 角色设定) +- B 项目:提交 1 条(策划方案) + +分摊结果: +- A 项目承担:682 × (2/3) = 455 元 +- B 项目承担:682 × (1/3) = 227 元 + +**规则三:混合情况(同一天既有有秒数的提交,又有无秒数的提交)** +- 有秒数的提交按秒数参与分摊 +- 无秒数的提交按 1 条 = 该日平均每秒对应的成本折算 +- 简化处理:全部按提交条数比例分摊 + +**其他规则:** +- 若某天仅为一个项目提交 → 全部日成本归该项目 +- 管理员可在后台**手动修改**任意一天的分摊结果 + +#### 各阶段组成本分摊方式汇总 + +| 阶段组 | 典型提交 | 产出秒数 | 分摊方式 | +|--------|---------|:--------:|---------| +| 前期组 | 剧本、策划、设定图 | 0 | 按提交条数比例 | +| 制作组 | 动画片段 | 有 | 按产出秒数比例 | +| 后期组 — 剪辑 | 剪辑成片 | 0 | 按提交条数比例 | +| 后期组 — 补拍 | 修改镜头(≤10%) | 有 | 按产出秒数比例 | + +--- + +### 7.2 AI 工具成本(订阅类,可扩展) + +#### 设计要求 +- 后台支持**自定义添加 AI 工具** +- 工具种类可随时扩展 +- 由主管或组长录入,每月录入一次或每次购买时录入 + +#### 字段: +- 工具名称(自定义) +- 订阅周期(月 / 年) +- 费用金额 +- 录入日期 +- 录入人 +- 成本归属方式 + - 指定项目(100% 归属某项目) + - 内容组整体(按当月各项目产出秒数比例自动分摊) + - 手动分摊比例(自定义各项目占比) + +--- + +### 7.3 外包成本(项目级) + +#### 字段: +- 所属项目 +- 外包类型 + - 动画 / 剪辑 / 整集 +- 外包范围 + - 第 X–Y 集 +- 外包金额 +- 录入人 +- 录入日期 + +--- + +### 7.4 内制 + 外包混合项目处理逻辑 + +- 项目目标仍按全集数计算 +- 外包部分: + - 直接计入外包成本 + - 不产生内部内容提交 +- 内制部分: + - 通过内容提交产生动画时长 + - 计入人力成本 + +--- + +## 8. 损耗计算逻辑 + +--- + +### 8.1 项目级损耗(仅计算有秒数的提交) + +> **项目损耗 = 项目累计提交总秒数 − 项目目标总秒数** + +- 仅当累计提交 > 目标时长时产生损耗 +- 损耗率 = 损耗秒数 ÷ 目标总秒数 × 100% +- **仅统计有产出秒数的提交**(制作组动画 + 后期组补拍) +- 前期组和后期剪辑的提交(秒数为 0)不参与损耗计算 + +**示例:** +项目目标:13 集 × 5 分钟 = 3,900 秒 +制作组累计提交:5,000 秒 +后期补拍累计提交:200 秒 +有效提交总计:5,200 秒 +损耗:5,200 − 3,900 = 1,300 秒 +损耗率:1,300 ÷ 3,900 = 33.3% + +--- + +### 8.2 个人损耗追溯 + +- 每位成员在该项目中的总提交秒数可查 +- 组长分配工作时基本均分,因此个人提交总量偏高者 = 损耗较多 +- 系统提供**按人汇总**的提交统计视图 + +--- + +### 8.3 损耗构成分析 + +- 按工作类型统计:制作 / 测试 / 方案各产出多少秒 +- 工作类型为"测试"的提交 → 天然属于试错成本 +- 后期补拍的秒数 → 属于返工损耗(原内容需重做) +- 可辅助管理层判断损耗来源 + +--- + +### 8.4 各阶段组损耗说明 + +| 阶段组 | 是否计算秒数损耗 | 说明 | +|--------|:---:|------| +| 前期组 | ❌ | 方案推翻重做属于正常创作流程,不按秒数计损耗 | +| 制作组 | ✅ | 核心损耗来源,超出目标秒数的部分即为损耗 | +| 后期组 — 剪辑 | ❌ | 剪辑为组装工作,无新增秒数 | +| 后期组 — 补拍 | ✅ | 补拍秒数计入损耗(属于返工) | + +--- + +## 9. 项目进度与时间管理 + +--- + +### 9.1 进度计算逻辑 + +- 完成百分比 = 当前累计提交秒数(有秒数的提交)÷ 项目目标总秒数 × 100% +- 仅统计有产出秒数的提交(制作组 + 后期补拍) +- 前期组和后期剪辑的工作不影响进度百分比(但其成本计入项目总成本) +- 进度上限不封顶(可超过 100%,超出部分即为损耗) + +> **说明**:前期全部完成但制作未开始时,进度仍为 0%。 +> 这是合理的——进度条反映的是"内容产出进度",不是"项目整体工作量进度"。 + +--- + +### 9.2 进度条可视化 + +- 显示项目进度条 +- 预估完成时间作为基准 +- 当前时间位置实时标注 + +#### 颜色规则 +- 预估周期内:绿色 +- 超出预估周期:红色延展 + +--- + +### 9.3 预估 vs 实际完成 + +- 项目完成后记录: + - 实际完成日期 + - 与预估完成日期的偏差(天) + +--- + +## 10. 项目完成与结算机制 + +### 规则 + +- 项目是否完成: + - 仅由 Owner 或指定高权限角色**手动确认** +- 系统可提示但不自动结算: + - 已达到目标产出 + - 已超过预估完成时间 +- 在手动确认前: + - 项目始终处于制作阶段 + - 不触发任何结算逻辑 + +--- + +## 11. 项目结算(仅项目完成后) + +### 结算内容(仅 Owner 可见) + +- 项目总人力成本 +- 项目 AI 工具成本 +- 项目外包成本 +- **项目总成本 = 人力 + AI 工具 + 外包** +- 项目总损耗(秒数 + 损耗率) + +#### 若为客户项目: +- 项目回款金额(创建时已填写) +- **项目盈亏 = 回款金额 − 项目总成本** + +#### 若为原创项目: +- 仅展示项目总成本 +- 无盈亏计算 + +> 项目进行中不展示任何盈利或亏损信息。 + +--- + +## 12. 仪表盘(Dashboard) + +### 全局总览(Owner 可见) + +提供公司级一目了然的运营视图: + +#### 项目概览 +- 当前进行中项目数量 +- 各项目进度条一览 +- 超期项目高亮提醒 + +#### 成本概览 +- 本月总人力成本 +- 本月 AI 工具总成本 +- 各项目成本排行 + +#### 产出概览 +- 本月总产出秒数 +- 各项目产出对比 +- 团队人均日产出秒数 + +#### 损耗概览 +- 各项目损耗率排行 +- 损耗趋势图(按周/月) + +#### 已结算项目 +- 已完成项目列表 +- 客户项目盈亏汇总 + +--- + +## 13. 权限与历史记录 + +### 权限层级 + +| 角色 | 可见范围 | 可操作 | +|------|----------|--------| +| Owner | 全量数据 + 结算 + 仪表盘 | 一切操作、确认结算、修改历史 | +| 主管 / 制片 | 所有项目进度与产出数据 | 录入 AI 工具成本、外包成本 | +| 组长 | 所负责项目 + 组内成员提交 | 查看组员提交、录入成本 | +| 成员 | 本人提交记录 + 所属项目公开信息 | 提交内容、查看项目进度 | + +--- + +### 历史修改规则 + +- 普通成员不可修改已提交的历史记录 +- 高权限角色(组长及以上)修改时: + - 必须填写修改原因 + - 系统自动生成版本记录 + - Owner 接收修改通知 +- 页面默认显示最新版本 +- 支持查看历史版本对比 + +--- + +## 14. 技术架构(V1) + +### 技术栈 + +| 层级 | 技术选型 | 说明 | +|------|----------|------| +| 前端 | Vue 3 + Element Plus | 成熟的后台管理 UI 组件库 | +| 后端 | Python FastAPI | 高性能 API 框架 | +| 数据库 | SQLite(MVP) | 30 人以内完全够用,零配置 | +| 图表 | ECharts | 仪表盘可视化 | +| 认证 | JWT Token | 登录鉴权与权限控制 | + +### 部署方式 + +- 阿里云轻量服务器 +- 前端静态文件 + 后端 API 服务 +- SQLite 数据库文件定期备份 + +### 后续扩展路径 +- V2:移动端响应式适配 +- V2:数据库升级至 PostgreSQL(如用户量增长) +- V2:数据导出(Excel / PDF) + +--- + +## 15. MVP 开发优先级 + +| 优先级 | 模块 | 内容 | +|--------|------|------| +| P0 | 登录与权限 | 4 级角色登录、鉴权、权限控制 | +| P0 | 项目管理 | 项目创建 / 编辑 / 状态管理 / 目标设定 | +| P0 | 内容提交 | 成员提交表单(核心功能) | +| P0 | 项目详情 | 进度条、提交记录列表、损耗统计 | +| P1 | 成本管理 | 人力成本自动计算、AI 工具成本录入、外包成本录入 | +| P1 | 仪表盘 | 全局总览:项目进度、成本、损耗、收益 | +| P1 | 项目结算 | Owner 手动结算、盈亏计算 | +| P2 | 历史修改记录 | 版本追溯、修改原因、通知 | +| P2 | 用户管理 | 新增 / 编辑成员、薪资设定 | + +--- + +## 16. 系统最终产出价值 + +通过该系统,管理层可以清晰看到: + +- 项目是否超期 +- 项目节奏是否失控 +- 各项目实际成本与损耗 +- 内容组真实生产能力 +- 客户项目是否盈利 +- 项目结束后是否值得继续投入 + +--- + +## 最终定义 + +> **这是一个让内容生产过程保持自由, +> 但让项目进度、成本与结果无法模糊的系统。**