Files
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

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