初始化提交: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 只排运行时日志、脚本备份副本与一次性探针输出,其余按原样入库。
This commit is contained in:
WorkBuddy committed 2026-10-08 08:13:02 +08:00
commit df56c2c137
1773 files changed
+205840

No files matched your search

@@ -0,0 +1,239 @@
# 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。)*