Files
contentm_agent/docs/pm/mcn-shortvideo-agent/research/1a-需求文档.md
T
WorkBuddy df56c2c137 初始化提交:contentm_agent 工作区全量快照
内容分四块:
1、产品规划产出 —— MCN 短视频整合营销工作台的①段五份(1a 需求/1b 竞品/1c 画像/1d 策略/1e 场景)、②段两份(2a 功能/2b 布局)、③段界面(DESIGN.md 契约与令牌表 + mcn-workbench.html 原型 + 实测/会诊/审查三份 + 23 张闸门截图)。
2、开源竞品调研 —— 5 个内容工作台项目的取证原始件与 1b 系列分析文档。
3、参考资料 —— 竞品视频抽帧 1145 张 + 2 个源视频 + 功能点截图。
4、机制侧 —— 协作脚本与状态台账、工作区记忆日志、抽帧/OCR 脚本。

.gitignore 只排运行时日志、脚本备份副本与一次性探针输出,其余按原样入库。
2026-10-08 08:13:02 +08:00

202 lines
15 KiB
Markdown
Raw 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.
# MCN 短视频内容整合营销智能体 · 需求文档(1a)
> 项目 slug:`mcn-shortvideo-agent`|性质:**汇总型需求**(不是 grill 澄清出来的,来源见 §二)
> 汇总时间:2026-10-07 | 状态行:**已确认 6 项 / 模型补全 9 项(其中 9 项未经用户确认)**
> 本文档由三类输入汇总:① 视频关键帧梳理(AI 内容工作台 2.0 / 3.0);② 6 份开源竞品分析(`content-workbench`);③ MCN 场景约束(多账号矩阵、短视频为主、整合营销)。
> 凡模型自补的内容标【假设】,凡来自具体来源的标【源:…】。
> 🔴 **上游状态(2026-10-07 21:35 补记,别漏读这一行)**:三类输入里,**第 ②类(6 份开源竞品分析)正在按 1b 方法论重写** —— 原版缺产品面(没写「给谁用 / 用户在什么处境下用它 / 界面上具体怎么操作」)。
> ⇒ 本文档凡引 【源:附卷…】或【源:竞品主份…】的条目都是**待复核状态,⛔ 不得当终稿用**:F5、F7、F8、F9、F13、F10 的后半(Easel 归因回写),§三 三条差位,§四 后两条,§七 该抄八条与该避五条。
> ⇒ 第 ①类(视频关键帧梳理)是独立证据,不受影响:F1、F2、F3、F4、F6、F14 整条,F10 的前半(四分离复盘)。
> ⇒ 处理时机:5 份独立分析体重写完成后,拿新版逐条复核上面那份清单。
---
## 一、一句话
**做什么**:给 MCN 机构的内容团队做一套智能体工作台,把「找选题 → 做内容 → 多账号多平台发布 → 投放与商业化留痕 → 复盘回写」串成一条可复用、可追溯到单条素材的链路。
**为谁**:MCN 内容负责人、编导与文案、剪辑与投放。面向的是**一个账号矩阵**,不是单个账号。
**不做什么**:不做平台自动化代发(发布是人的动作);不自建投放系统(只对接与留痕);不做个人版单账号工具;不做数据仓库。
---
## 二、这份需求汇总了什么
| 来源 | 性质 | 证据等级 | 落点 |
|---|---|---|---|
| AI 内容工作台 2.0 / 3.0(作者「小曾」) | 关键帧视觉梳理,Obsidian 插件形态 | 视频画面级(532 加 772 帧逐帧读) | `参考资料/AI内容工作台_功能点梳理.md`、`参考资料/Bilibili_BV1gsHn6AEk6/`、`参考资料/YouTube_jVHyoCYidLM/` |
| Easel | 开源竞品,源码级 | 文件树加源码加官方文档 | `content-workbench/证据附卷/1b-竞品分析-Easel.md` |
| OpenCreator | 开源竞品,源码级 | 同上(2182 blob) | `…/1b-竞品分析-OpenCreator.md` |
| 文到 AI | 闭源商业产品 | **文档级**(仓库无源码,全仓 5 blob) | `…/1b-竞品分析-文到AI.md` |
| Postiz 与 PostSider | 开源竞品,源码级 | 文件树加源码,含 fork 差异量化 | `…/1b-竞品分析-Postiz与PostSider同源双形态.md` |
| 跨项目汇总对比 | 主份,10 节骨架 | 综合上述四份 | `content-workbench/research/1b-竞品分析.md` |
**证据强度要带着看**:文到 AI 那一列只有文档级证据,它的结论不能与另四个源码级项目同权;AI 内容工作台的结论来自视频画面,能确认「界面上有什么」,不能确认「它内部怎么实现」。
---
## 三、产品定位与边界
一句话定位:**矩阵级的内容生产与经营中枢**,不是又一把写作工具。
和已有的三类工具比,差位有三条(这三条也正好是竞品分析主份 §9.3 里写明的三个空白):
1. **发现热点这一段普遍弱**。做内容的三家里两家只是「有」,做发布的两家几乎不管。【源:竞品主份 §8、§9.3①】
2. **合规的自动发布是空白**。现在只有「浏览器自动化(有账号风险)」和「官方 OAuth 或只填充(要人工)」两条路,没有第三条。【源:竞品主份 §9.3②】
3. **做内容与发内容仍是两套产品**,用户要在两处搬一次。机会在只做中间那段可复用的桥,而不是再造一个全链路。【源:竞品主份 §9.3③】
本产品选的是第 1 条与第 3 条,第 2 条按 §六 F5 的边界处理:只做分级闸门,不做自动代发。
---
## 四、为谁做
**内容负责人**(主用户):定选题方向、审内容、看矩阵效果。他每天要回答的是「今天哪个账号发什么」。(【源:视频关键帧·对标与热点、发布与经营】)
**编导与文案**(高频用户):把一个选题做成成稿,走完创作流水线。他要的是「不用记 skill 名字,点就行」。(【源:视频关键帧·创作 Tab;Easel 三层加载设计】)
**剪辑与投放**(协作用户):拿到成稿做视频,管发布与投留痕。他要的是「素材和文案对得上」。(【假设:视频关键帧里只出现「生成录制卡片」和「收支」,投放侧没有画面证据】)
---
## 五、使用场景
按用户故事写,四个槽位缺一不成立(谁、什么处境、要办成什么、得到什么结果)。
**S1 找选题**
作为编导,当我面对一个矩阵下十个账号、每天要出三条内容时,我要知道「哪个赛道的哪条内容数据异常地好」,这样我不用逐个平台刷榜。
【源:视频关键帧·对标博主监控四指标卡与「N 倍平时互动」异常值;竞品主份 §9.3①】
**S2 选题进资产库**
作为内容负责人,当我把一条爆款拆完,我要它的「角度、结构、开场白、标题」进资产库,这样下一次创作不是凭空写。
【源:视频关键帧·拆解与沉淀·资产库;文到 AI 的「能力库」把稳定步骤沉淀为可复用方案】
**S3 走完创作流水线**
作为文案,当我要把一条选题做成短视频,我要在同一条流水线里走完「聊思路 → 写文案 → 起标题 → 做封面 → 发布检查 → 生成录制卡片」,不用记每个 skill 的名字。
【源:视频关键帧·创作 Tab 子流程】
**S4 一份母版变多份**
作为运营,当一条母版内容做好,我要它变成矩阵下多个账号、多个平台各自的版本,这样我不用手工改十遍。
【源:Easel 发布中心「一份母版内容到多平台版本」;文到 AI 卡片工坊「一稿多形态」】
**S5 发之前先过闸**
作为内容负责人,当我要把内容交出去发,我要在发之前看到「哪里有风险、具体改哪一句」,而且不可逆的动作必须由人确认。
【源:Easel 发布前分级闸门(硬拦加软劝);PostSider read-first / draft-first(发布仍是人的动作)】
**S6 效果回写**
作为负责人,当一条内容跑完,我要它的表现沉淀回账号画像,这样下一轮选题自己会变准。
【源:Easel 归因回写账号画像;视频关键帧·数据复盘「四分离」分析】
**S7 看整个矩阵**
作为机构负责人,当我的矩阵有二十个账号,我要一个界面回答「每个账号今天该发什么、发了什么、效果如何」。
【假设:五个竞品都只做单账号或单团队视角,矩阵级视图是推断出来的差位,视频画面里也只看到单账号工作台】
**S8 商单与内容对账**
作为商务,当一条内容带了商单,我要内容、发布记录与收支能对上。
【假设:视频关键帧里有「收支」Tab,但它记录的是什么口径没有画面证据;MCN 结算场景是推断的】
---
## 六、功能范围
每条给功能名、来自哪条场景、优先级、来源。优先级判据只有一句话,不给数字打分。
| # | 功能 | 来自 | 优先级 | 来源与说明 |
|---|---|---|---|---|
| F1 | 对标账号监控与爆款异常值识别 | S1 | P0 | 视频关键帧;不做则 S1 整条办不成 |
| F2 | 选题库与灵感速记(落本地知识库) | S1 S2 | P0 | 视频关键帧·首页随手记录加选题 |
| F3 | 评论区洞察找选题 | S1 | P1 | 视频关键帧;不做仍能从 F1 得选题,只是少一路输入 |
| F4 | 爆款拆解与资产库(角度、结构、开场白、标题四库) | S2 | P0 | 视频关键帧·关键差异化;这一条决定了「越用越准」 |
| F5 | 发布前分级闸门(敏感词与事实检测,硬拦加软劝) | S5 | P0 | Easel `content_guard` 加 `persona_gate`;不过闸就不许发 |
| F6 | 创作流水线(聊思路到录制卡片七个环节) | S3 | P0 | 视频关键帧·创作 Tab |
| F7 | 一份母版到多账号多平台版本 | S4 | P0 | Easel 发布中心;不做则 S4 办不成 |
| F8 | 内容与素材的版本管理(改稿新建版本不覆盖) | S3 S4 | P1 | OpenCreator 的「修订产生新版本」;文到 AI 也独立出现过同一条 |
| F9 | 多账号画像与记忆(每账号独立,互不覆盖) | S6 S7 | P0 | Easel 画像六维加记忆作用域收敛到画像目录 |
| F10 | 效果复盘与归因回写 | S6 | P0 | 视频关键帧·四分离复盘;Easel 归因回写 |
| F11 | 矩阵级看板(每账号该发什么、发了什么、效果如何) | S7 | P1 | 【假设】竞品无此形态 |
| F12 | 商单与收支记录、内容对账 | S8 | P2 | 【假设】视频关键帧有「收支」Tab,口径未证实 |
| F13 | 发布留痕与人工确认记录 | S5 | P1 | PostSider 的审计与审批流思路 |
| F14 | 录制卡片与画板(Excalidraw 形态) | S3 | P2 | 视频关键帧·画板模块;不影响场景办成,只是更好用 |
**六项治理要在每条功能条目里各自交代**(失败恢复路径、持久化范围、并发冲突、幂等、超时迁移目标、不可逆操作二次确认)。这几条在本版只列要求,具体落在②段 P0 条目上。其中「不可逆操作二次确认」与 F5、F13 直接相关:发布、删帖、组织级暂停三类动作必须人来做。【源:PostSider 把 `destructiveHint` 只留给删帖与组织级暂停】
---
## 七、能力底座(从竞品抄什么、避什么)
**该抄的八条**(都能追溯到具体项目):
1. **技能即能力**:技能不是名词,配可运行脚本,成品落盘。【源:Easel 114 技能,含 146 个 `.py`】
2. **三层加载加 `SKILL.md` 不超过 200 行**:Metadata 常驻、Instructions 触发、Resources 按需。这是让能力持续变多而不炸 prompt 的唯一解。【源:Easel `SKILL-SPEC.md`】
3. **契约层独立成包**:三端同源,版本号明文可读。【源:OpenCreator `packages/protocol` 与 `protocolVersion`】
4. **状态机加版本号加幂等键三件套**,并为「远端到底收没收」专设 `unknown_remote_acceptance` 与 `abandoned_unknown` 两个状态。【源:OpenCreator】
5. **read-first / draft-first**:Agent 可以准备、排期、送审,发布仍是人的动作。这条把「自动化」与「不可逆」分开。【源:PostSider】
6. **发布前分级闸门**:不可逆的硬拦,可商量的软劝,不做一刀切。【源:Easel】
7. **本地与免密钥 provider 作一等公民**:用户不必先配 Key 才能开始用。【源:OpenCreator、文到 AI、Easel 共同】
8. **独立更新清单**:`channel`、逐包 `sha256`、`minimumSupportedVersion`、`allowSkip`、`remindAfterHours`。【源:文到 AI `stable.json`】
**该避的五条**:
避浏览器自动化发平台(账号风控是真实风险,Easel 自己在 README 里承认)。避 README 与发行状态脱钩(文到 AI 的文档停在「尚未发布」,实际已发 10 个版本)。避上游强耦合的薄壳路线(OpenCreator 把 Agent loop 全交给 Codex,一次破坏性变更就可能整体不可用)。避命名双轨(产品改名了,内嵌件还用旧名)。避素材授权未核实就用(一律先设 `draft`)。
---
## 八、明确不做
**第一版不做**:自动代发到平台(走 F5 加 F13 的人确认路径)。矩阵级的自动投放优化。跨机构协作与权限体系。移动端 App。把平台数据抓回来做数仓。
**这一版只留的三个入口**(其余先不铺):找选题、走创作流水线、看矩阵复盘。
---
## 九、假设与风险
| # | 假设或风险 | 类型 | 影响面 |
|---|---|---|---|
| A1 | MCN 的账号数在 10 到 50 之间,超出会让 F11 的看板要重新设计 | 假设 | F11、F9 |
| A2 | 平台数据靠官方接口或授权方式拿,不靠抓取 | 假设 | F1、F10;若拿不到,S1 与 S6 要降级 |
| A3 | 收支记录的口径是「内容级」而不是「月级」 | 假设 | F12 |
| A4 | 团队 5 到 20 人,不超过三层审批 | 假设 | F5、F13 |
| R1 | 上游模型或 Agent 引擎的破坏性变更 | 风险 | 全链路;对策是契约层加可用版本回退 |
| R2 | 平台发布规则变动导致合规路线失效 | 风险 | F5、F7;对策是分级闸门加人工确认 |
| R3 | 资产库沉淀质量差,变成垃圾场 | 风险 | F4;对策是入库前设门禁,参照 OpenCreator 模板治理的 `draft` 做法 |
| R4 | 多账号并发写同一份状态互相覆盖 | 风险 | F9;对策是记忆作用域收敛到画像目录,不写全局 |
---
## 十、待复核清单
以下 9 条是模型补全的,未经用户确认,不得在②段当事实用:
1、A1 的账号数区间(10 到 50)。
2、A2 的数据获取方式(官方接口优先)。
3、A3 的收支口径。
4、A4 的团队规模与审批层数。
5、S7 矩阵级视图是否真的需要,还是先只做单账号复制。
6、S8 商单对账是否进第一版。
7、F3 评论洞察的数据来源与频率。
8、「整合营销」到底含不含投放(若含,需要新增一条场景)。
9、本产品只服务一个机构自用,还是要做成可交付给别的机构的产品。
---
## 附:来源对照
| 功能或结论 | 主要来源 |
|---|---|
| F1 F2 F3 F4 F6 F10 F14 | `参考资料/AI内容工作台_功能点梳理.md`(视频关键帧梳理) |
| F5 | `…/1b-竞品分析-Easel.md` §8.2 发布安全闸门 |
| F7 F8 | Easel 发布中心;`…/1b-竞品分析-OpenCreator.md` §4.2 与 §十一 |
| F9 | `…/1b-竞品分析-Easel.md` §九 账号画像 |
| F13 | `…/1b-竞品分析-Postiz与PostSider同源双形态.md` §4.1 与 §七 |
| §三 三条差位 | `content-workbench/research/1b-竞品分析.md` §8、§9.3 |
| §七 该抄与该避 | 四份单项目附卷的可借鉴点与风险段 |
| S7 S8 A1—A4 | 【假设】,无外部来源 |
🔴 **这张表里凡指向 `1b` 系列的行,上游都在重写中**(原因见文首「上游状态」行):F5 / F7 / F8 / F9 / F13、F10 的后半(Easel 归因回写)、§三 三条差位、§七 该抄该避 —— 复核完才能算数;指向视频关键帧梳理的行不受影响(F1 / F2 / F3 / F4 / F6 / F14,以及 F10 的前半四分离复盘)。
---
*本文档是「MCN 短视频内容整合营销智能体」的①段 1a 需求文档(汇总型)。上游取证见 `content-workbench` 的 1b 系列与 `参考资料/` 下的视频抽帧材料。*