hongguo-shortdrama-screenwriting · 第 2 次运行

写了《离婚后,婆家招牌菜做不出来了》。被婆家冒名八年的真掌勺沈知味离婚后,凭一条舌头夺回署名和外婆的沈记招牌。

skill
zhu5859243-free/hongguo-shortdrama-screenwriting@d9c235a6
装进工作目录的 skill
hongguo-shortdrama-screenwriting
时间
2026-10-18 13:47–14:05(北京时间),18 分钟
轮数
2 轮,工具调用 28 次,按 API 价格折算 $7.08
匿名编号
453(评审只看到这个编号)· 故事卡
盲比
剧本:和对照组第 2 次比 · 人物大纲:和对照组第 2 次比
原始文件
产出和问答记录 · 原始日志

写出的文件

标了标签的是认定为三项交付、拿去匿名打包的文件(deliverables.toml)。

人物小传.md 人物小传 4,025 字
# 《离婚后,婆家招牌菜做不出来了》· 主要人物小传

> 竖屏短剧 | 标准档(每集 90~120 秒)| 全剧 60 集 | 女频·大女主事业复仇(厨艺专业碾压)| 情绪流
>
> **情绪契约(全剧不变的那口气)**:手艺是我的——谁偷的,谁当着所有人的面还回来。
>
> 具名角色共 10 人(核心 5 人:沈知味 / 顾承宇 / 林振东 / 陆砚 / 林薇薇),其余全部为无名群演或功能位(检测员、评委、老食客、保安、助理),符合「核心 3~5 人、具名 ≤12」的配额。

---

## 一、核心人物

### 1. 沈知味 —— 女主

| 项 | 内容 |
|---|---|
| 年龄 / 外形 | 32 岁。素面,常年挽袖,右手腕一道旧烫疤。 |
| 明面身份 | 顾记酒楼"后厨帮工"、顾家儿媳 |
| 真实身份 | 顾记八年来的真正掌勺;江城老字号「沈记」末代掌柜沈玉茹的外孙女,从小在沈记灶台边长大 |
| 欲望(可拍的) | 让自己的名字回到每一道菜上;把女儿小满接回身边;最终把「沈记」的招牌重新挂起来 |
| 秘密 / 软肋 | ① 右手腕旧伤,连续颠勺半小时就抖——她一直用技巧瞒着,第三幕复发成"底牌失效";② 外婆留下的手写菜谱缺最后一页,她不知道那页写了什么;③ 小满——所有反派都拿女儿当筹码 |
| 金手指(低理解成本) | 舌头极准:一口汤能尝出加了什么、凉过没有、火候差几分钟。不是系统,不是超能力,是三十年灶台边练出来的 |
| 弧光 | **单元A 被动自证**("汤是我吊的")→ **单元B 主动入局**(假意投靠鼎盛当"沈记总厨",从内部取证)→ **单元C 掌控规则**(手废了也能掌勺:用舌头指挥一整个后厨,立自己的招牌)。终点:从"想要被承认"变成"不需要谁来承认" |
| 语言指纹 | 话短,不骂人;越生气语速越慢;爱用灶上的话打比方——"汤浑了,就得重吊""火候没到""最后一扫,你自己来"。标志动作:拇指抹过刀背上的"沈"字 |
| 记忆点 | 开水白菜的"最后一扫"——一勺鸡茸压下去,浑汤清得像白水。全剧三次关键翻盘都落在这一扫上(第1集留着不扫、第21集当众一扫、第58集左手一扫) |
| 一句话为什么必须存在 | 她是"隐形劳动被署了别人名字"这一共鸣的化身 |

### 2. 顾承宇 —— 前夫 / 单元A 前台反派

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 35 岁,顾记酒楼老板,对外是"开水白菜传人""江城名厨" |
| 欲望 | 把顾记卖给鼎盛换股份,娶林薇薇进林家 |
| 秘密 | 他根本不会吊汤,连"扫汤"这一步都不知道怎么下勺;顾记账上亏空,急着卖店还债 |
| 弧光 | 体面 → 慌 → 撕破脸 → 被林家收编当"沈记挂名主厨"(单元B,给前妻打下手)→ 被林家当弃子 → 作伪证 → 败露,最后在别家后厨洗碗 |
| 语言指纹 | 体面腔:"为你好""顾全大局""别闹"。**心虚就摸袖扣**——这个小动作第 52 集被小满当众点破 |
| 功能位 | 证据阶梯推动者:每次出场都拿出一档新"证据"(协议 → 手写菜谱 → 名厨证书 → 起诉 → 伪证) |

### 3. 林振东 —— 鼎盛餐饮集团董事长 / 终极反派

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 56 岁,鼎盛餐饮集团董事长,江城最大的餐饮资本 |
| 欲望 | 把江城老字号一家家吞下来做成"标准化品牌";拿到沈记"头汤"的完整方子 |
| 秘密 | ① 他是沈玉茹当年的大徒弟,因偷方子被逐出师门;② 十年前用"借款+后补转让条款"的套路吞了沈记,转让书正文是事后打印的;③ 他撕走的菜谱最后一页,正面是头汤方子,背面是沈玉茹左手写的"借款不卖招牌"声明和手印——他一直没读懂那几行歪字,因为贪那面方子,一直没舍得毁 |
| 弧光 | 旁观者(尝汤的收购方)→ 单元B 幕后主使 → 单元C 正面终极对手 → 被自己的贪心亲手亮出铁证 |
| 语言指纹 | 笑面,语速慢,讲"规矩"和"标准化"。口头禅:"手艺,是要变成钱的。" |
| 一句话为什么必须存在 | 他是"偷手艺"这份恶的源头。顾家偷她的名,他偷整个沈记——换层不换欲 |

### 4. 陆砚 —— 男主 / 助力

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 34 岁,陆氏餐饮总裁(鼎盛的竞争对手) |
| 欲望 | 找到八年前在市一院门口给他病重的母亲送汤的姑娘。母亲临终前只咽得下那一碗 |
| 秘密 | 他父亲陆鸣是十年前沈记转让书上的见证人,收过林振东的钱。陆砚查到后买下了要被拆的沈记老楼,原样保住老灶,却一直不敢告诉她 |
| 弧光 | 沉默食客(每天来喝第一碗)→ 关键证人(第10集行车记录仪)→ 借门不借灶 → 第43集身份被揭、信任崩塌 → 第50集自曝家丑交出原始录像,还沈家清白 |
| 语言指纹 | 话少,只问不答,句末从不带语气词。"这汤,谁做的。""明早,第一碗。" |
| 设计原则 | **他不替女主赢**。他只提供"门"和"证据",灶前的每一次翻盘都是沈知味自己完成的 |

### 5. 林薇薇 —— 林振东之女 / 舆论施压者 → 反转棋子

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 27 岁,美食网红"薇薇吃遍江城",顾承宇的新欢;单元B 任鼎盛"沈记"品牌主理人 |
| 欲望 | 证明自己不是靠爹 |
| 秘密 | 鼎盛"沈记"料包线是她负责的;她用沈知味的电子签章倒签了"料包研发确认单" |
| 弧光 | 直播造谣(单元A)→ 架空总厨、甩锅(单元B)→ 被父亲当众推出去顶罪(第41集)→ 当场反手播放父亲语音(第42集)→ 单元C 带着账本倒戈、投案自首 |
| 语言指纹 | 直播腔"家人们",甜嗓转刻薄只要半秒;永远把手机镜头怼到别人脸上 |

---

## 二、关键配角

### 6. 周桂芬 —— 婆婆

58 岁,市井刻薄。口头禅:"吃我们顾家的饭""一个外人"。
**秘密**:当年是她看中沈知味是沈记的外孙女,才撺掇儿子娶她——"娶回来的是一双手"。
**功能**:单元A 前台施压(扔帽、搜身、烧刀、砸招牌、教小满说谎)。结局不被羞辱,只是端着空碗来讨一碗汤——打脸留给主要反派,不践踏已经失势的人。

### 7. 秦师傅(秦德厚)—— 老厨工 / 反转棋子

61 岁,顾记烧火的老厨工,其实是当年沈记的学徒,看着沈知味长大。
**软肋**:孙子在鼎盛实习,被顾承宇拿来要挟。
**弧光**:沉默 → 被逼当众作伪证(第17集)→ 擂台上解下围裙倒戈(第21集)→ 单元B 去鼎盛中央厨房卧底 → 单元C 带着孙子一起站上金灶宴。
**语言指纹**:叫她"知味",叫沈玉茹"老掌柜";话说一半就咽回去。

### 8. 唐小棠 —— 闺蜜 / 律师

31 岁,社区律所律师,把亡父留下的小饭馆借给沈知味开"知味小馆"。
**功能**:所有"程序"上的反驳都由她落地——抚养权变更、公证、调取签章日志、当场比对手印。保证女主每次赢都**有法律逻辑**,不是靠一张嘴。
**语言指纹**:快、直、带术语,"证据链""先公证"。

### 9. 小满 —— 女儿 / 情感锚点

6 岁,爱画画,把妈妈做的每道菜都画下来。
**功能**:痛点来源(被拽走、被教着说"爸爸做的汤"、被同学叫"骗子的女儿")和情绪释放口(第17集手表语音、第22集扑进妈妈怀里、第60集踩着小板凳完成"最后一扫")。
**合规**:涉及未成年人的情节只写被大人利用的"后果"与反派被惩罚,不渲染伤害。

### 10. 王伯 —— 王记面馆老板 / 单元C 群像代表

67 岁,江城老字号王记的老板,第44集在鼎盛收购签约台上手抖。
**功能**:揭开林振东"借款+后补转让"的通用套路,让单元C 从"沈家一家的冤"升级为"一城老字号的账"。高潮集只带他一个具名,其余老字号老板做群演。

---

## 三、人物关系一览

```text
【沈家】  沈玉茹(已故,沈记末代掌柜)──外祖孙── 沈知味 ──母女── 小满
【顾家】  顾承宇 ──前夫── 沈知味 ;周桂芬 ──母子── 顾承宇
【林家】  林振东 ──父女── 林薇薇 ;林薇薇 ──恋人── 顾承宇
【陆家】  陆鸣(已故)──父子── 陆砚 ;陆砚 ──守护/暗生情愫── 沈知味
【旧账】  林振东 = 沈玉茹逐出师门的大徒弟;十年前吞沈记时,陆鸣收钱当见证人
【盟友】  秦师傅(沈记旧学徒)、唐小棠(闺蜜/律师)、王伯(单元C 老字号代表)
```

## 四、角色出场与功能配额核查

| 角色 | 首出集 | 主战单元 | 推剧情 / 衬主角 / 给信息 |
|---|---|---|---|
| 沈知味 | 1 | 全剧 | — |
| 顾承宇 | 1 | A(B、C 作配) | 推剧情 |
| 周桂芬 | 1 | A | 推剧情 + 衬主角 |
| 秦师傅 | 1 | A→C | 给信息(反转棋子) |
| 小满 | 1 | 全剧 | 衬主角(情感锚) |
| 林薇薇 | 2 | A→B(C 倒戈) | 推剧情 + 给信息 |
| 林振东 | 2 | B→C | 推剧情(终极) |
| 唐小棠 | 3 | 全剧 | 给信息(程序反驳) |
| 陆砚 | 3(断章) | 全剧 | 给信息 + 衬主角 |
| 王伯 | 44 | C | 给信息(群像) |

日常集不引入新具名角色;新具名角色只在第 44 集(单元C 开局)引入 1 人。
分集大纲.md 分集大纲 13,621 字
# 《离婚后,婆家招牌菜做不出来了》· 60 集分集大纲

## 一、立项单

| 项 | 内容 |
|---|---|
| 剧名 | 《离婚后,婆家招牌菜做不出来了》(剧名即卖点:一眼知道"谁才是真厨子") |
| 类型 | 女频 · 大女主事业复仇 × 专业碾压(厨艺)× 家庭伦理 |
| 体裁 / 档位 | 竖屏实拍短剧 · **标准档**:每集 90~120 秒,正文 350~500 字,≤2 场 |
| 集数 | 60 集 |
| 流派 | **情绪流**。观众追的不是"接下来发生什么",而是"他们什么时候认——这菜是她做的" |
| 赛道锚定 | 女频「大女主复仇/事业线」为主(每回合赢一单)+ 男频向「逆袭打脸·专业碾压」调味(每集一个灶台名场面) |
| 情绪契约 | **手艺是我的——谁偷的,谁当着所有人的面还回来。** |
| 目标受众 | 25~50 岁女性为主,已婚/有孩子、做过"没人看见的活"的人;美食与家庭题材兼顾中老年观众。情绪导向:获得感(被看见、被正名)+ 关系感(母女、师徒) |
| 看点一句话 | 八年来顾记的每一碗招牌汤都是她吊的,名字却是丈夫的——她一走,婆家的招牌菜就做不出来了。 |

### 一句话故事(主角 + 目标 + 阻碍 + 亮点)

被婆家当"帮工"使唤八年的真掌勺**沈知味**(主角),离婚后要**把自己的名字拿回每一道菜上、再把外婆的「沈记」招牌重新挂起来**(目标),对手是冒名顶替的前夫一家,和他们背后十年前吞掉沈记、如今要把老字号做成料包的餐饮资本**鼎盛**(阻碍);她手里只有一把刻着"沈"字的刀,和一条一口就能尝出真假的舌头(亮点)。

### 选题门 · 五问

| 问 | 回答 |
|---|---|
| 1. 目标用户是谁? | 女频主力(25~50 岁),尤其是在家庭或职场里"干了活、功劳归别人"的女性;美食元素对中老年观众友好 |
| 2. 核心情绪共鸣点明确吗? | 明确:**隐形劳动被署了别人的名字**。痛点→爆点链条清楚:被抢署名(痛)→ 他一做就露馅(爽)|
| 3. 视觉化落地难吗? | 难度低、辨识度高:开水白菜"一勺扫清"的视觉魔术、灶火、颠勺、菜品特写。主场景集中在 2~3 个室内景 |
| 4. 踩政策红线吗? | 不踩。无封建迷信、无血腥;"食物中毒"是诬陷且被证伪;调查机关一律虚写;不攻击"预制菜"本身,只打"料包冒充现熬"的欺骗 |
| 5. 有市场依据吗? | 有赛道依据:离婚逆袭、真假身份、专业碾压(神医/鉴宝类)都是平台常青赛道(见 skill 的 `genre-map.md`)。**说明:本次未扫红果实时榜单**,立项前建议对一遍当周热播/飙升榜 |

### 微创新(课 02 三法)

- **人设创新**:女主不是隐藏千金或战神,是"后厨帮工"——身份低到尘埃里,本事却实打实,观众天然站她。
- **背景创新**:老字号酒楼后厨 → 资本中央厨房。行业细节(吊汤、扫汤、料包、品控抽检)给出新鲜感。
- **金手指具体化**:不用"系统",用"舌头"。理解成本为零,每集都能拍成名场面。

### 主要信息差(课 06)

| 单元 | 模型 | 用法 |
|---|---|---|
| A | 模型 4:主角和观众知道,配角不知道 | 观众从第 1 集就看见是她在扫汤,全江城却认顾承宇——期待"他什么时候露馅" |
| B | 模型 1:主角知道,观众和配角只知一半 | 她"认贼作父"去鼎盛当总厨,观众只看到她在收集东西,到第 41 集才看清全盘布局 |
| C | 模型 2:配角和观众知道,主角不知道 | 观众第 29 集就看见陆砚认出父亲的签名,她第 43 集才知道——信任危机的炸点 |

---

## 二、全剧结构(四幕 × 三单元)

| 幕 | 集 | 单元 / 回合 | 任务 | 情绪 |
|---|---|---|---|---|
| 一幕·入局压迫 | 1~12 | A·回合1~3 | 离婚夺女、污名偷配方、小馆开张、食物中毒构陷与翻案(一级墙) | 憋屈 ➔ 震惊 ➔ 第一口气 |
| 二幕·升级纠缠 | 13~34 | A·回合4~6 → **A 闭环(第22集)** → B·回合1~4 | 协会背书、女儿被利用、擂台"最后一扫";接缝露出沈记旧账(二级墙);她"认贼作父"进鼎盛当总厨,千人盲品 | 爽 ➔ 步步紧逼 |
| 三幕·风暴危机 | 35~49 | B·回合5~6 → **B 闭环(第42集)** → 至暗(三级墙)→ C·回合1~2 | 被甩锅成"预制菜骗子"、72 小时透明后厨、发布会翻盘;随即外婆"卖招牌"视频曝光、手伤复发、陆砚身份揭穿 | 虐 ➔ 紧迫 ➔ 窒息 |
| 四幕·决战封神 | 50~60 | C·回合3~6 → **C 闭环(第57~58集)** | 陆砚交出原始录像、林薇薇倒戈、金灶宴上逼林振东亲手亮出最后一页、左手最后一扫、沈记重挂招牌 | 狂爽 ➔ 释放 |

### 单元链(换矛盾不换情绪)

| | 单元 A(1~22) | 单元 B(23~42) | 单元 C(43~60) |
|---|---|---|---|
| 核心执念 | 全江城咬定"顾记的招牌是顾承宇做的,她是偷方子的帮工" | 鼎盛咬定"沈记十年前就卖给我们了",拿料包冒充"沈记百年手作" | 全城认定"沈玉茹收钱卖了招牌",林振东是合法买家 |
| 对手 | 顾承宇、周桂芬(前台);林薇薇(舆论) | 林振东(幕后)、林薇薇(前台主理人)、顾承宇(挂名主厨) | 林振东(终极)及他背后"借款吞老字号"的那套规则 |
| 女主打法 | 被动自证:一口灶、一碗汤 | 主动入局:假意投靠,从内部取证 | 掌控规则:手废了,用舌头指挥整个后厨;联合老字号立新规矩 |
| 闭环 | 第21~22集擂台"最后一扫",顾承宇当众承认 | 第41~42集融资发布会,料包线叫停,林薇薇反手放出父亲语音 | 第56~58集金灶宴,林振东亲手翻出最后一页背面;左手最后一扫 |
| 火种(埋下一单元) | 林振东亮出菜谱残页:"沈记的招牌,十年前就姓林了" | 外婆"收钱卖招牌"视频上热搜,转让书见证人是陆砚的父亲 | —— |
| 情绪 | 憋屈 → 吐气 | 憋屈 2.0(对手更强、她亲手走进虎口) | 至暗 → 大爽大释放 |

换层不换欲:三层对手都是同一种恶——**偷手艺换钱**。顾家偷她的名字,林振东偷整个沈记,那套"借款+后补转让"的规则偷一城老字号。

---

## 三、付费卡点

| 卡点 | 集 | 断法 | 前置蓄水 | 下一集前 15 秒兑现 |
|---|---|---|---|---|
| 💰 **一级墙** | **第 10 集** | 公式1 身份掉马前一秒 + 反击前 0.5 秒:她当众喝下"证物汤",尝出料是凉透后才下的;林薇薇冷笑"没监控你空口白牙"——门口男人举起行车记录仪,林薇薇失声"陆……陆总?",播放键按下前黑屏 | 第 8~9 集:小馆被贴封条、硬盘被盗、顾承宇逼签认罪书、小满隔着车窗看她 | 第 11 集开场即播放视频:凌晨,林薇薇的助理撬窗往汤桶里倒东西 |
| 💰 **二级墙** | **第 22 集** | A/B 接缝·新矛盾露头:刚赢下擂台、抱回小满,林振东亮出一张泛黄的菜谱残页:"你外婆的菜谱,缺了最后一页吧?沈记的招牌,十年前就姓林了。"她伸手,残页被收回——"想要?来鼎盛。" | 第 19~21 集:规则被临时改、秦师傅被逼作伪证、擂台汤底打平 | 第 23 集开场:鼎盛官宣"沈记旗舰店"开业,律师函送到知味小馆,禁用"沈记"二字 |
| 💰 **三级墙** | **第 43 集** | 公式4 绝境二选一:外婆"收钱卖招牌"视频全网疯传、医生说"再颠勺这只手就废"、她发现陆砚的父亲就是转让书见证人。林振东推来一份配方永久转让书:"签,我删视频、还你最后一页;不签,你外婆永远是卖招牌的人。明早九点。" | 第 41~42 集:她赢下发布会,主角赢了每一场、却眼看输掉全局 | 第 44 集开场:她把转让书推回去,"外婆的名声,我自己洗" |

单元内的大情绪点(每 5~10 集一个):第 5、11、17、21~22、28、34、41~42、50、54、57~58、60 集。

---

## 四、往返回合表(每单元一张)

【情绪契约】:手艺是我的——谁偷的,谁当着所有人的面还回来。

### 单元 A|执念 = 顾家咬死"招牌是顾承宇的" | 对手 = 顾承宇、周桂芬、林薇薇 | 闭环 = 擂台最后一扫

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1~3 | 档1 旁人口说:婆家与直播称她是"偷配方的帮工" | 档1 口头:"封皮写着沈记""刀背刻的是沈" | 陆砚推门:"八年前那碗汤,是不是你送的?" |
| 2 | 4~7 | 档2 可抵赖物证:顾氏"手写菜谱"、名厨榜证书 | 档2 质疑效力:"本子能抄,火候抄不走"——开小馆用一碗汤回应 | 清晨三名食客倒在小馆门口 |
| 3 | 8~11 | 档3 看似铁证:食物中毒 + 检测报告 + 封店 | 档3 挑战程序:当众喝证物汤,指出样本"凉过";调出行车记录仪 | 💰一级墙(第10集);第11集翻案后推送"行业失信名单" |
| 4 | 12~15 | 档4 权威背书:协会认证顾承宇为传承人,她进黑名单、被起诉侵犯商业秘密 | 档4 对抗体制:自找货源、下架署名菜另创新汤、找秦师傅问真相 | 林薇薇直播小满:"爸爸做的汤最好喝" |
| 5 | 16~19 | 档5 多重合围:证书 + 菜谱 + 协会 + 秦师傅伪证 + 女儿视频 | 档5 赌上一切:签擂台赌约,输了当众折刀、永不掌勺 | 擂台当天,顾承宇的汤底和她的一模一样 |
| 6 | 20~22 | 档6 擂台定局:评委盲品汤底打平 | 档6 最后一搏:"最后一扫,顾大厨请"——秦师傅倒戈 | 💰二级墙(第22集):最后一页残页 |

### 单元 B|执念 = 鼎盛咬定"沈记早就是我们的" | 对手 = 林振东、林薇薇、顾承宇 | 打法 = 主动入局

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 23~25 | 档2 物证:律师函 + 外婆亲笔签名的转让合同 | 档2→攻守转换:她答应去鼎盛当"沈记总厨",背上"认贼作父"的骂名 | 冷库满墙料包,印着"沈记·百年手作" |
| 2 | 26~28 | 档3 看似铁证:监控拍到她偷拿料包,被扣"商业间谍" | 档3 程序:总厨品控抽检职责 + 抽检记录早已公证 | 林振东甩出老照片:"论辈分,你该叫我师伯" |
| 3 | 29~31 | 档4 权威:公证过的转让书、见证人"陆鸣" | 档4 质疑程序:闻出签名页有沈记油烟、正文页没有——纸不是同一天的 | 吊汤夜右腕剧痛,汤勺掉进锅里 |
| 4 | 32~34 | 档4+ 林薇薇踹翻汤锅、千人盲品被她设局 | **单元内小转换**:秦师傅按她教的吊出第二锅;千人盲品九成选手熬 | 林振东反手甩锅:料包"是沈总厨研发的" |
| 5 | 35~38 | 档5 合围:盖着她电子签章的确认单 + 前夫作证 + 网暴 + 抚养权被申请变更 | 档5 赌上一切:72 小时透明后厨直播,手抖也不关 | HR 日志:调用签章的账号是林薇薇 |
| 6 | 39~42 | 档6 林振东抢开融资发布会套现 | 档6 借陆氏的门闯会场,出货单 + 日志 + 录音 | 💰三级墙前夜:外婆"收钱卖招牌"视频上热搜 |

### 单元 C|执念 = 全城认定"沈玉茹卖了招牌" | 对手 = 林振东及其套路 | 打法 = 掌控规则

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 43~45 | 档1/2 视频 + 舆论 + 手伤 + 陆砚身份 | 档2 拒签、赶走陆砚、改练左手 | 王伯敲门:"他当年也是这么'借'我钱的" |
| 2 | 46~48 | 档3 外婆"收到转让款"收据 + 公证手印 | 档3 外婆右手早废,收据却是右手写的——收据伪造 | 沈记老楼里,陆砚站在擦得发亮的老灶前 |
| 3 | 49~51 | 档4 林振东把原始录像说成陆家伪造;金灶宴邀她"尝尝外婆的头汤" | 档4 陆砚自曝家丑交出原带;她联合老字号赴宴 | 顾承宇站到林振东身边,准备作证 |
| 4 | 52~54 | 档5 前夫伪证 + 协会再除名 + 婆婆直播 | 档5 接过林薇薇的账本;手废了,带一整个后厨练"沈记十三道" | 秦师傅:"他们说我明天敢上台,就……" |
| 5 | 55~56 | 档5+ 鼎盛头汤博得满堂彩,林振东称"方子在我手里" | 档6 激他当众亮出残页:"林董,翻过来。" | 镜头推近背面:一行歪字,一个红手印 |
| 6 | 57~58 | —— | 档6 收官:沈玉茹左手写的"借款,不卖招牌";她解开夹板,左手最后一扫 | 前夫跪求复婚 |

---

## 五、60 集分集大纲

> 每集统一结构:前 3 秒冲突 → 本集一拍(施压 ➔ 反驳/升级)→ 一个小情绪点 → 断章。💰 = 付费卡点;★ = 大情绪点。

### 第一幕 · 入局压迫(1~12)|单元 A 回合 1~3

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 1 | 离婚协议拍在案板上 | 鼎盛收购试菜夜,婆婆把她的厨师帽扔进泔水桶,顾承宇拍下离婚协议:署名归他、小满归顾家、她留后厨当帮工。她扫清半锅汤,签字,撕掉"帮工"那条丢进灶火:婚我离,帮工不当,最后一扫你自己来 | 小:撕条款、甩下半锅汤 | 顾承宇对着重新变浑的汤手抖,小满光脚喊"妈妈",她停在门槛 |
| 2 | 这碗汤,不是同一个人做的 | 婆婆拽走小满、当众搜身,搜出封皮写着"沈记"的手写菜谱;林薇薇直播"抓到偷配方的帮工"。林振东尝出汤不对,顾承宇甩锅,不敢让她碰灶。林振东:"三天后还是这个味,收购作废。" | 小:林董一句"不敢让她碰?" | 婆婆把刀包扔进灶火 |
| 3 | 刀背上刻的是"沈" | 她徒手从火里抢回刀,刀背刻"沈";林振东听到"沈玉茹"指尖一紧。被逐出门,秦师傅偷偷塞回洗净的厨师帽;唐小棠借出亡父的小铺,灶火重燃 | 小:师徒关系感 | 陆砚推门:"八年前市一院门口那碗汤,是不是你送的?" |
| 4 | 本子能抄,火候抄不走 | 她只回"认错人了",陆砚留下预付:"明早,第一碗。"知味小馆开张只卖一碗汤;顾承宇在网上晒"顾氏手写菜谱"和名厨证书,林薇薇带节奏"偷方子开山寨店" | 小:开张就排队 | 婆婆带人抡起拖把砸招牌 |
| 5 | ★砸招牌的人先喝了汤 | 招牌被砸,顾记十年的老食客端起她的汤喝了一口:"顾记那碗,就是这个味!"围观倒戈,婆婆灰溜溜退场。第三天,顾记端出一碗清亮的汤 | **大①**:第一次当众正名 | 林振东舀起顾记的汤——送到嘴边 |
| 6 | 拿女儿换一锅汤 | 林振东:"七分像。意向书先签,正式合同等名厨认证。"顾承宇深夜找她:回来偷偷吊汤补齐那三分,每周让她见小满一次。她隔着铁门接过小满的画,拒绝,唐小棠递交抚养权变更申请 | 小:母女隔门 | 秦师傅塞来纸条:"他们要动你的汤桶" |
| 7 | 汤桶上的锁 | 小馆排长队,林薇薇来"探店"笑里藏刀。她给汤桶加锁,唐小棠装上监控 | 小:林薇薇探店吃瘪 | 清晨,三名食客捂着肚子倒在小馆门口,林薇薇的镜头第一时间赶到 |
| 8 | 食物中毒 | 检测机构抽样,报告称汤底含违规添加物;小馆被贴封条,全网骂"偷方子还下料" | 痛点:被封店 | 唐小棠:"监控硬盘,被人拆走了。" |
| 9 | 认罪书 | 顾承宇带来声明:认下偷配方和下料,他就"撤诉赔钱摆平"。小满坐在他车里隔着车窗看她。她撕了声明 | 痛点峰值(蓄水) | 封条前,她看见街角那辆黑色轿车——已经停了七天 |
| 10 | 💰喝下证物汤 | 公开对质会:检测员、三名食客、顾家、林薇薇直播。她当众喝下封存的证物汤:"料是汤凉透以后才下的。我的汤一个钟头就卖空,从没凉过。"林薇薇:"没监控,你空口白牙!" | 小:喝证物汤的胆 | **一级墙**:陆砚举起行车记录仪,林薇薇失声"陆……陆总?"——播放前黑屏 |
| 11 | ★行车记录仪 | 视频:凌晨,林薇薇的助理撬窗往汤桶倒东西;三名"食客"是顾记的洗碗工。林薇薇甩锅助理,顾承宇撇清。封条揭下,陆砚:"明早第一碗,留给我。" | **大②**:翻案 | 手机推送:江城烹饪协会"行业失信名单",第一行写着沈知味 |
| 12 | 黑名单 | 供应商全线断货,菜市场没人卖她鸡;顾记老食客从乡下拉来一笼土鸡。协会给顾承宇发了"开水白菜传承人"牌匾,顾记重新上架开水白菜 | 小:老食客送鸡 | 她尝了一口顾记的外卖:"这是我的火候。看过我吊汤八年的,只有一个人。" |

### 第二幕 · 升级纠缠(13~34)|单元 A 回合 4~6 → 二级墙 → 单元 B 回合 1~4

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 13 | 偷师的人 | 是秦师傅——孙子在鼎盛实习,被顾承宇拿来要挟。秦师傅避开她的眼睛。陆砚递来陆氏"江城味道"盲品会邀请,她:"我只借灶,不借名。" | 小:拒绝被"救" | 法院传票:她被诉侵犯商业秘密,传票里夹着小满的画 |
| 14 | 不叫开水白菜 | 协议里的署名条款让她不能再卖开水白菜。她当场改出一道"知味清汤",食客反而更多 | 小:现场创新菜 | 协会施压,陆氏盲品会被叫停,她被取消一切比赛资格 |
| 15 | 老照片 | 她去找秦师傅,秦拿出一张老照片:年轻的他站在沈玉茹身边,穿沈记围裙。"知味,师傅对不起老掌柜。" | 小:身世线首露 | 林薇薇直播放出小满的视频:"爸爸做的汤最好喝" |
| 16 | 女儿说"爸爸做的汤" | 证书、菜谱、协会、女儿视频一起压下来;小馆门口被泼红漆写"贼" | 痛点峰值 | 鼎盛签约发布会预告:秦师傅将出镜作证 |
| 17 | ★秦师傅的声明 | 秦师傅在镜头前念"汤是顾老板吊的",手一直抖;她没怪他。深夜,小满用儿童手表偷偷发来语音:"妈妈,奶奶给我糖,让我那么说的。" | **大③**:母女泪点 | 她拨给林振东:"签约那天,给我一口灶,和顾承宇同台。" |
| 18 | 赌约 | 林振东答应——他想亲眼看沈家的手。赌约:她输,当众折刀、永不掌勺;顾承宇输,当众承认冒名、撤诉道歉。婆婆笑着签字 | 小:赌上一切的气势 | 练汤时她右腕一抖,汤勺落地——陆砚在门口看见 |
| 19 | 规则被改了 | 林振东临时改规则:"各带汤底,不现场吊汤。"——对秦师傅吊的汤底有利。唐小棠急了,她:"汤底能带,最后一扫带不走。" | 小:一句话稳住 | 擂台当天,顾承宇揭开汤底,汤色和她的一模一样 |
| 20 | 最后一扫 | 评委盲品汤底:打平。她:"开水白菜,最后一步叫扫汤。顾大厨,请。"顾承宇捏着鸡茸,不知道往哪下 | 小:前夫当众卡壳 | 顾承宇回头望后台的秦师傅——秦师傅解下了围裙 |
| 21 | ★秦师傅倒戈 | 秦师傅走上台:"这一扫,八年只有知味会。我只烧火。"顾承宇硬扫,汤越扫越浑;她一勺压下,汤清得像白水。评委全票 | **大④**:擂台翻盘 | 顾承宇被推到话筒前,嘴唇发抖:"顾记的汤……" |
| 22 | 💰招牌摘下 | 顾承宇承认"不是我做的"。林振东当场撤回收购:"顾记没了她,一文不值。"秦师傅作证当年是被逼签字,顾承宇签下抚养权变更,小满扑进她怀里。顾记关门,后厨帮工们摘下围裙,站到她身后 | **大④续**:A 单元闭环 | **二级墙**:林振东亮出泛黄的菜谱残页:"沈记的招牌,十年前就姓林了。"她伸手,残页被收回——"想要?来鼎盛。" |
| 23 | 沈记是我们的 | 鼎盛官宣"沈记旗舰店"开业,林薇薇任主理人,顾承宇被林家收编为"沈记主厨"。律师函送到小馆:禁用"沈记"二字 | 憋屈 2.0 | 林振东:"来沈记当总厨,最后一页给你看一眼。" |
| 24 | 外婆的签字 | 鼎盛出示十年前的转让合同,签名确实是外婆的字,她动摇。秦师傅:"老掌柜说过,沈记不卖。" | 痛点:信念动摇 | 她拨给林振东:"总厨,我当。" |
| 25 | 认贼作父 | 她签约鼎盛,全网骂她"认贼作父",唐小棠跟她吵翻,陆砚只问"汤还卖吗"。她跟小满说:"妈妈去坏人家后厨,拿回外婆的东西。" | 小:攻守转换的决心 | 入职第一天,她拉开冷库——满墙料包,印着"沈记·百年手作·现熬" |
| 26 | 前夫给我打下手 | 林薇薇架空她:"总厨只管站台拍照。"顾承宇成了她的副手,端汤手抖,被她一句"凉了,重端"打回去 | 小:身份倒置的爽 | 她尝了一口料包汤:"这里面,有我外婆的头汤味。" |
| 27 | 头汤 | 她推断残页上是沈记头汤方子,鼎盛拿它批量做料包。她偷拍料包配料表交唐小棠公证 | 小:取证得手 | 林薇薇调出监控:她把料包装进包里——保安堵门,"商业间谍" |
| 28 | ★抽检记录 | 她亮出总厨的品控抽检职责,以及前天就公证的抽检记录;林薇薇当众吃瘪,被父亲训斥 | **大⑤**:卧底反杀第一局 | 林振东甩出老照片:年轻的他穿着沈记围裙站在沈玉茹身边——"论辈分,你该叫我师伯。" |
| 29 | 逐出师门的人 | 秦师傅证实:林振东是沈记大徒弟,二十多年前偷方子被逐。林振东拿出公证过的转让书 | 小:反派动机落地 | 公证书见证人一栏写着"陆鸣"——陆砚看见,手里的汤碗一晃 |
| 30 | 纸是哪天的 | 她问"陆鸣是谁",陆砚只说"一个不在了的人"。她闻出签名页沾着沈记后厨的油烟味,正文页没有——两页纸不是同一天的 | 小:舌头之外的鼻子 | 林薇薇官宣"沈记千人盲品",由沈总厨主持 |
| 31 | 将计就计 | 她答应主持,暗中准备两锅汤:一锅料包,一锅手熬。她把"最后一扫"第一次教给秦师傅;鼎盛请秦师傅去中央厨房当"沈记老学徒"品控站台,他将计就计 | 小:师徒传承 | 吊汤夜右腕剧痛,汤勺掉进锅里 |
| 32 | 左手吊汤 | 她换左手吊汤,小满半夜爬起来给她递毛巾,唐小棠赶来看火——和好 | 小:闺蜜和好 | 林薇薇带人冲进小馆,一脚踹向汤锅 |
| 33 | 汤锅翻了 | 一锅汤全洒在地上,来不及重吊。秦师傅从中央厨房打来电话:"知味,我也吊了一锅——按你教的。" | 小:师徒反哺 | 千人盲品开场:"认为 A 碗是现熬的,请举手——" |
| 34 | ★千人举碗 | 九成食客选了她那碗,料包汤当场被识破。林振东却走上台:"感谢沈总厨研发料包,口味已达九成。"大屏投出盖着她电子签章的研发确认单 | **大⑥**:赢了盲品 | 全场哗然,有人把碗砸向她 |

### 第三幕 · 风暴危机(35~49)|单元 B 回合 5~6 → 三级墙 → 单元 C 回合 1~2

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 35 | 预制菜骗子 | 全网骂她"研发料包冒充现熬";鼎盛解约并索赔;小馆被砸;顾承宇趁机申请恢复抚养权 | 痛点 | 传票:抚养权听证,七天后 |
| 36 | 黑色的汤 | 小满被同学叫"骗子的女儿",回家不说话,画了一碗黑色的汤。唐小棠:要翻盘,得拿到鼎盛 HR 系统的签章日志。她看见林薇薇接父亲电话被骂"废物" | 痛点峰值 | 她把小满的画贴在灶台上:"我当着全江城,把料包一包一包拆开。" |
| 37 | 透明后厨 | 72 小时直播不关机。她拆开料包,指出生产日期早于她入职——"研发确认单"是倒签的 | 小:直播逆转第一波 | 第 40 小时,她右手抽搐,汤勺脱手,弹幕刷"演的" |
| 38 | 第 48 小时 | 她用毛巾把右手绑在灶台边,左手继续。秦师傅从中央厨房传回出货单:鼎盛三年前就在产"沈记"料包 | 小:人气爆了 | 唐小棠拿到 HR 日志:调用她签章的账号——林薇薇 |
| 39 | 签章是谁盖的 | 林薇薇去求父亲,林振东:"你自己的事,自己扛。"他把融资发布会提前到后天,要抢在真相之前套现 | 小:反派父女裂缝 | 发布会受邀投资方名单里,有陆氏 |
| 40 | 借门 | 她不想再欠陆砚。陆砚:"这次不借灶,借门。" | 小:CP 推进 | 发布会门口保安拦她:"黑名单,不许进。"陆砚递出邀请函:"她是陆氏的代表。" |
| 41 | ★发布会 | 她端上一碗手熬汤和一包料包,当着投资人播放出货单、HR 日志,和秦师傅录下的林薇薇原话"反正吃的人分不出来"。投资人撤资,林振东当场把女儿推出去:"她个人行为。" | **大⑦** | 林薇薇看着父亲,举起手机:"爸,那你听听这个——" |
| 42 | ★料包下架 | 林薇薇放出父亲亲口指示"料包冒充现熬"的语音。鼎盛"沈记"线叫停召回,顾承宇被林家赶走,撤回抚养权申请。B 单元闭环 | **大⑦续**:B 闭环 | 当晚热搜:沈玉茹十年前收钱卖招牌——视频里,外婆接过一沓钱 |
| 43 | 💰明早九点 | 视频全网疯传,外婆成了"卖招牌的人";医生说她"再颠勺,这只手就废了";她认出视频里年轻的见证人陆鸣,和陆砚办公室照片上是同一张脸 | 至暗 | **三级墙**:林振东推来配方永久转让书:"签,我删视频、还你最后一页;不签,你外婆永远是卖招牌的人。明早九点。" |
| 44 | 外婆的名声,我自己洗 | 她把转让书推回去。转身质问陆砚:"你喝的每一碗汤,都是来查我的?"陆砚说不出话,离开 | 痛点:信任崩塌 | 林振东官宣收购江城十家老字号,签约台上,王记面馆的王伯手在抖 |
| 45 | 左手 | 右手打着夹板,小馆冷清。小满踩着小板凳学扫汤。秦师傅:"老掌柜右手废了,左手照样掌了二十年勺。" | 小:传承泪点 | 王伯深夜敲门:"沈丫头,林振东当年也是这么'借'我钱的。" |
| 46 | 借条 | 老字号们的账一对:林振东先放借款,再在附件里塞转让条款。林振东亮出外婆的"收到转让款"收据,她一眼认出:外婆右手早废,这张收据却是右手写的 | 小:收据被证伪 | 林振东的律师:"那份公证书上,可是她本人的手印。" |
| 47 | 手印 | 手印是真的。她怀疑外婆是在空白纸上按的手印、正文事后才打上去,却证明不了 | 憋屈 | 秦师傅:"签字那天屋里还有一个人在录像——陆鸣。" |
| 48 | 去找陆砚 | 她放下面子去陆氏,助理说陆总去了"沈记老楼" | 小:主动低头 | 她推开老楼的门:老灶擦得发亮,墙上挂着外婆的照片,陆砚站在灶前 |
| 49 | 老楼 | 陆砚说出全部:父亲收钱当见证人,临终后悔,留下一盒原始录像;他买下老楼不让拆;他早就查到父亲的事,一直不敢说 | 小:真相与愧疚 | 陆砚把录像带放进她手心:"里面也有我父亲收钱的画面。放不放,你决定。" |

### 第四幕 · 决战封神(50~60)|单元 C 回合 3~6

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 50 | ★陆家欠沈家的 | 她没放,是陆砚自己开发布会自曝家丑、退还父亲当年拿的钱,播出原带片段——外婆说:"钱我借,招牌不卖。"舆论回转一半 | **大⑧**:信任修复 | 林振东称原带是陆家伪造,并邀她赴"江城金灶宴":"来尝尝你外婆的头汤。" |
| 51 | 头汤 | 鼎盛要在金灶宴首发"沈记头汤",同场签下十家老字号。她决定赴宴,王伯带老字号们联名 | 小:群像集结 | 顾承宇出现在林振东身边:"他会作证,你亲口说过外婆卖了招牌。" |
| 52 | 前夫作伪证 | 顾承宇发视频作伪证,婆婆直播帮腔,协会再次除她的名。小满看着视频说:"爸爸说谎的时候,会摸袖扣。"——视频里他一直在摸 | 小:童言破谎 | 林薇薇出现在小馆门口,抱着一本账本:"我爸的东西,都在这儿。" |
| 53 | 林薇薇的账本 | 她不信这个害过她的人。林薇薇:"我会去自首。但我要你当着我爸的面赢。"账本记着十家老字号的借款套路,还有沈记转让书正文的真实打印日期 | 小:反派倒戈 | 唐小棠:"账本能证他坑了别人,证不了你外婆那份。要证那份,只有最后一页。" |
| 54 | ★只差最后一页 | 她想明白:林振东舍不得毁残页,因为正面是头汤方子。她设局逼他当众亮页。手不能掌勺,她把顾记旧后厨跟过来的帮工们召回小馆,用舌头一道道教"沈记十三道" | **大⑨**:掌控规则 | 秦师傅来电:"我孙子被开除了,他们说我明天敢上台……"她:"师傅,你来不来,我都等你。" |
| 55 | 金灶宴 | 全城直播,老字号签约台就位。她带后厨入场,右手夹板,只尝、只说。秦师傅带着孙子来了。鼎盛的头汤博得满堂彩 | 小:一个后厨的入场 | 林振东:"这就是沈玉茹的头汤,方子在我手里。" |
| 56 | 林董,翻过来 | 她尝了一口:"缺一味。外婆写在方子上的,你没看全。"林振东为证正统,把残页投上大屏。她:"林董,翻过来。" | 小:激将得手 | 镜头推近残页背面——一行歪歪扭扭的字,一个红手印 |
| 57 | ★沈记不卖 | 背面是沈玉茹的左手字:"借款,不卖招牌。"日期早于转让书一天。唐小棠比对:两枚手印是同一次按下的,转让书正文是后打的,林薇薇的账本作证。王伯带头撕掉收购协议。林振东扑上来抢残页,被陆砚拦住 | **大⑩**:真相落地 | 她站起来,解开夹板,用左手握住外婆的刀:"最后一道,我自己来。" |
| 58 | 左手最后一扫 | 她左手一扫,汤清得像白水,全场安静。评委认定沈记头汤正宗。调查人员入场带走林振东,老字号收购全部叫停;顾承宇的伪证被揭穿 | **大⑩续**:C 闭环 | 顾承宇跪到她面前:"知味,回顾记吧,我们复婚。" |
| 59 | 招牌重挂 | 她:"汤浑了,就得重吊。人,不必。"小满扑过来抱住她。陆砚把老楼产权还给沈家,她说按市价一点点还,陆砚:"那就一碗一碗还。" | 小:CP 落定 | 开业前夜,周桂芬端着一只空碗站在沈记门外 |
| 60 | ★沈记 | 沈记重挂招牌。周桂芬说顾承宇如今在别家后厨洗碗。她给周桂芬盛了一碗开水白菜,不收钱:"汤给你,招牌不给。"小满踩着小板凳,完成人生第一次"最后一扫"。陆砚掏出钱:"八年前那碗,还没付。" | **大⑪**:情绪封顶 | 小满举起汤勺:"妈妈,我以后也要当掌勺的。"(黑屏:全剧终) |

---

## 六、可拍性 · 经济账

| 项 | 方案 |
|---|---|
| 主场景 | ① 顾记酒楼(后厨+大堂,一栋楼拍完单元A)② 知味小馆(贯穿全剧,最便宜的景)③ 鼎盛"沈记旗舰店"后厨——**直接改陈设复用顾记后厨** ④ 陆氏办公室(1 间)⑤ 沈记老楼(单元C,可用老旧民居)|
| 大场面 | 只有 4 场"群像戏":第21集擂台、第34集千人盲品、第41集发布会、第55~58集金灶宴。千人盲品用"举碗"特写 + 30 名群演反打实现;第55~58集共用一个宴会厅景连拍 |
| 夜戏/外景 | 后厨夜戏集中在单元A 前 3 集;外景只有小馆门口与巷口,全部可在一条街完成 |
| 高危元素 | 无水下、高空、飙车、爆破。灶火用常规燃气灶,"扔进灶火"用插入镜头 |
| 未成年演员 | 小满戏份集中在小馆与顾记,单集不超过 3 个镜头,避开夜戏长拍 |

## 七、合规自查

- **价值观**:女主每一次翻盘都靠手艺与合法程序(公证、日志、抚养权变更),不靠违法手段;渣男、婆婆、资本方都有后果;不美化出轨,不写强制爱。
- **法律常识**:抚养权通过"胁迫签署+自愿变更协议"解决,不拿孩子做赌注;擂台赌约只赌名誉和职业;调查机关一律写作"检测机构""调查人员",不出现真实机构名称。
- **行业表述**:不贬低"预制菜"品类本身,只针对"料包冒充现熬、欺骗消费者"。
- **表现尺度**:无血腥;伤害只写"烫伤、手腕抽搐、夹板";未成年人只写被利用的后果,不渲染欺凌过程。
- **称谓与机构**:江城、鼎盛、陆氏、江城烹饪协会均为虚构。
剧本/第01集.md 第 1–3 集剧本 803 字
第【1】集:【离婚协议拍在案板上】
【所属阶段】:第一幕・入局压迫期(第 1/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(厨师帽被扔进泔水桶)
【情绪流变】:当众受辱 ➔ 以女儿相逼 ➔ 签字撕条款 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・顾记酒楼后厨・夜
[人物]:沈知味(顾家儿媳,名义帮工,实为掌勺)、顾承宇(顾记老板,对外"名厨")、周桂芬(婆婆)、秦师傅(老厨工)、小满(女儿,6岁)

△ 特写:一只手揪下沈知味头上的厨师帽,狠狠扔进泔水桶。
周桂芬(叉腰):一个帮工,也配戴厨师帽?
△ 沈知味没回头,握着长柄汤勺,盯着锅里翻滚的浑汤。
△ 顾承宇把一份离婚协议拍在案板上,指尖点着第七条。
顾承宇:签了。顾记的菜,以后只署我的名。
顾承宇:小满归顾家。你留后厨当帮工,月薪三千。
沈知味(手没停):离了婚,还要我给你吊汤?
周桂芬:吃了顾家八年饭,让你干活是抬举你!
△ 秦师傅掀帘探头,压低嗓子。
秦师傅:知味,鼎盛林董的车到了,就等这碗开水白菜。
△ 沈知味舀起一勺鸡茸,缓缓压进汤面。浑黄的汤,清出了一半。
△ 顾承宇盯着那半锅清汤,一把攥住她手腕。
顾承宇:签字。不签,明天就把小满送回乡下。
△ 特写:她右腕一道旧烫疤,被攥得发白。
△ 她松开汤勺,提笔签名,随即撕下第七条,丢进灶火。
沈知味:婚,我离。帮工,我不当了。
沈知味:我要我的名字,回到每一道菜上。
△ 她解下围裙,卷起案板上那包旧刀,转身就走。
顾承宇(变色):站住!汤还差最后一扫!
沈知味(不回头):最后一扫,你自己来。
△ 大堂传来男人低沉的声音:"顾老板,汤呢?"

【本集断章卡点】:顾承宇攥着汤勺,手腕直抖,锅里那半锅清汤又泛起浑沫。楼梯口,小满光着脚扑出来:"妈妈!"沈知味的脚,钉在后门门槛上。(黑屏:下滑立即解锁第2集)
剧本/第02集.md 第 1–3 集剧本 844 字
第【2】集:【这碗汤,不是同一个人做的】
【所属阶段】:第一幕・入局压迫期(第 2/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(当众搜身、女儿被拽走)
【情绪流变】:母女被拆 ➔ 直播污名"偷配方" ➔ 林董尝出破绽 ➔ 绝命断章
【本集时长】:约 105 秒

[场景]:内景・顾记酒楼后厨・夜(接上集)
[人物]:沈知味(刚签离婚)、顾承宇(顾记老板)、周桂芬(婆婆)、小满(女儿)、林薇薇(美食网红,顾承宇新欢)、林振东(鼎盛餐饮董事长,收购方)

△ 周桂芬一把将小满从沈知味怀里拽开,把她推到灶台边。
周桂芬:想走?先把偷顾家的东西交出来!
小满(哭):妈妈别走!妈妈——
△ 小满被保姆抱上楼,小手还朝她伸着。
△ 周桂芬扯开刀包,一本发黄的手写菜谱"啪"地掉在地上。
周桂芬:大伙看看,这不是顾家的方子是什么?
沈知味(捡起,拍掉灰):封皮写着"沈记"。您认得字。
△ 门帘被掀开,林薇薇举着手机直播,身后跟着林振东。
林薇薇(甜笑):家人们,顾记后厨抓到偷配方的帮工啦!
△ 林振东的目光在"沈记"两个字上停了一秒。
△ 他端起那碗半浑的汤,抿了一口,把勺子搁下。
林振东:顾老板,这汤,和上个月不是一个人做的。
顾承宇(摸袖扣):是她走前往锅里乱放了料。
沈知味:林董,给我一口灶,一炷香。
沈知味:上个月那碗,我原样还您。
△ 顾承宇横跨一步,堵死灶台。
顾承宇:顾家的灶,你碰一下试试。
林薇薇(把镜头怼到她脸上):一个帮工,还想跟顾大厨比?
林振东(看向顾承宇,笑):顾老板,不敢让她碰?
林振东:三天。三天后还是这个味,收购作废。
沈知味(直视镜头):三天后,我要大家尝尝,顾记的汤到底姓什么。
△ 顾承宇脸色煞白。周桂芬抓起刀包,冲向灶膛。
周桂芬:我烧了它,看你还拿什么偷!

【本集断章卡点】:刀包脱手,直直飞进熊熊灶火,刀背上一个"沈"字被火光映得通红。沈知味扑向灶口——(黑屏:下滑立即解锁第3集)
剧本/第03集.md 第 1–3 集剧本 860 字
第【3】集:【刀背上刻的是"沈"】
【所属阶段】:第一幕・入局压迫期(第 3/60 集 | 单元A | 往返第 1 回合尾・证据档1/反驳档1)
【黄金前3秒钩子】:生死绝境(徒手从灶火里抢刀)
【情绪流变】:火中抢刀 ➔ 亮出外婆之名 ➔ 被逐出顾家 ➔ 小铺重燃灶火 ➔ 绝命断章
【本集时长】:约 115 秒

[场景]:内景・顾记酒楼后厨・夜(接上集)
[人物]:沈知味、周桂芬、顾承宇、林振东、秦师傅

△ 沈知味右手探进灶膛,攥住着火的刀包,狠狠砸进水池。
△ 水汽"嗤"地炸开。她右腕抖个不停,旧疤旁又添一道红痕。
秦师傅(冲上来):知味!你的手——
△ 她抽出一把刀,刀背上刻着一个"沈"字。
沈知味:这把刀,跟了我外婆四十年。
沈知味(盯着周桂芬):顾家要烧,先烧我这只手。
林振东(盯着刀背):沈玉茹,是你什么人?
沈知味:我外婆。
△ 林振东捏着茶杯的手指一紧,又松开,笑了。
林振东:好。三天后,我来尝顾老板的汤。
△ 林振东离开。顾承宇追到后门,压低声音。
顾承宇:出了这道门,江城没一家后厨敢用你。
沈知味:那我自己开一口灶。
△ 秦师傅追出来,把一团白布塞进她手里——是那顶厨师帽,已经洗净拧干。

[场景]:内景・巷口闲置小饭馆・夜
[人物]:沈知味、唐小棠(闺蜜,律师)、陆砚(陌生男人)

△ 唐小棠拉起卷帘门,灰尘扑面。灶台上盖着一块旧油布。
唐小棠:我爸留下的铺子,三年没开过火。
△ 唐小棠把手机递过来。屏幕上,林薇薇的直播标题:顾记帮工偷配方被抓,在线十万人。
唐小棠:协议是被逼签的。抚养权,我陪你打。
沈知味(戴上那顶厨师帽):汤浑了,就得重吊。
△ 沈知味掀开油布,拧开灶阀。蓝火"噗"地窜起。
沈知味:三天。我要全江城尝出来,那锅汤是谁的。
△ 卷帘门外,一辆黑色轿车停下。男人推门进来,目光落在她手里的刀上。

【本集断章卡点】:陆砚走到灶前,声音很低:"八年前,市一院门口,给我母亲送汤的姑娘——是不是你?"沈知味握刀的手,停在半空。(黑屏:下滑立即解锁第4集)
台账.md 2,090 字
# 台账:《离婚后,婆家招牌菜做不出来了》
当前集: 3
总集数: 60
档位: 标准档(90~120 秒)
流派: 情绪流
情绪契约: 手艺是我的——谁偷的,谁当着所有人的面还回来。
单元划分: A(1-22) / B(23-42) / C(43-60)

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 | 开水白菜"最后一扫"只有她会 | 1 | 21 | 埋 | 第21集擂台兑现;第58集左手再扫 |
| FB-02 | 右腕旧烫疤(颠勺久了会抖) | 1 | 43 | 埋 | 第3集火中抢刀添新伤;第18、31、37集逐步加重 |
| FB-03 | 菜谱封皮"沈记",林振东目光停留 | 2 | 28 | 埋 | 第28集揭示林振东是沈玉茹大徒弟 |
| FB-04 | 林振东听到"沈玉茹"指尖一紧 | 3 | 22 | 埋 | 第22集亮出菜谱残页 |
| FB-05 | 陆砚:"八年前市一院门口那碗汤" | 3 | 49 | 埋 | 第4集起每天来喝第一碗;第49集说出全部 |
| FB-06 | 秦师傅塞回洗净的厨师帽 | 3 | 21 | 埋 | 师徒关系的第一个动作,第21集倒戈 |
| FB-07 | 顾承宇心虚就摸袖扣 | 2 | 52 | 埋 | 第52集被小满当众点破 |
| FB-08 | 协议是被逼签的("不签就送小满回乡下",秦师傅在场) | 1 | 22 | 埋 | 第22集抚养权变更的证据 |

## 人物账
| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
|---|---|---|---|---|---|
| 沈知味 | 1 | 存活 | 已离婚,失去小满抚养权,被逐出顾家 | 3 | 右腕新伤 |
| 顾承宇 | 1 | 存活 | 前夫,敌 | 3 | 林振东给了三天期限 |
| 周桂芬 | 1 | 存活 | 前婆婆,敌 | 3 | |
| 秦师傅 | 1 | 存活 | 暗中站她这边,明面仍在顾记 | 3 | |
| 小满 | 1 | 存活 | 在顾家 | 2 | |
| 林薇薇 | 2 | 存活 | 敌(直播造谣) | 2 | |
| 林振东 | 2 | 存活 | 旁观的收购方,对"沈玉茹"有反应 | 3 | |
| 唐小棠 | 3 | 存活 | 闺蜜、律师,借出小铺 | 3 | |
| 陆砚 | 3 | 存活 | 陌生人,寻人 | 3 | 只在断章中出场 |
| 王伯 | 44 | 未出场 | — | — | 单元C 引入 |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
| 外婆的刀包(刀背刻"沈") | 沈知味 | 被扔进灶火后抢回,刀包烧焦 | 3 |
| 沈记手写菜谱(缺最后一页) | 沈知味 | 第2集被搜出后拿回 | 2 |
| 菜谱最后一页残页 | 林振东 | 未出场 | — |
| 离婚协议 | 顾承宇 | 已签,第七条被撕掉烧毁 | 1 |
| 厨师帽 | 沈知味 | 被扔进泔水桶,秦师傅洗净还给她 | 3 |
| 唐小棠亡父的小铺 | 沈知味(借用) | 灶火重燃,第4集挂牌"知味小馆" | 3 |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
| 开水白菜成汤的关键是最后的"扫汤",不扫汤会重新变浑 | 1 | 1,20,21,58 | 否 |
| 林振东的期限:三天后试菜,还是这个味收购作废 | 2 | 5,6 | 否 |
| 她能一口尝出汤里加过什么、凉过没有 | 2 | 10,26,56 | 否 |

## 往返回合表(单元A)
| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1-3 | 档1:婆家、直播称她"偷配方的帮工" | 档1:封皮写着沈记、刀背刻着沈 | 陆砚问八年前那碗汤 |
| 2 | 4-7 | 档2:顾氏手写菜谱、名厨证书 | 档2:本子能抄,火候抄不走 | 三名食客倒在门口 |
| 3 | 8-11 | 档3:食物中毒+检测报告 | 档3:喝证物汤、行车记录仪 | 一级墙;失信名单 |
| 4 | 12-15 | 档4:协会认证、起诉 | 档4:自找货源、另创新汤 | 小满视频 |
| 5 | 16-19 | 档5:多重合围+秦师傅伪证 | 档5:赌约,输了折刀 | 汤底一模一样 |
| 6 | 20-22 | 档6:汤底打平 | 档6:最后一扫+秦师傅倒戈 | 二级墙:残页 |

(单元B、C 回合表见 `分集大纲.md` §四)

## 付费墙落位
一级墙 第10集(陆砚掉马、播放行车记录仪前0.5秒)
二级墙 第22集(A/B 接缝:菜谱残页露头)
三级墙 第43集(全剧至暗:配方转让二选一)

过程

按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 Claude Code 不对外输出,日志里只有「在这里思考过多久」。

第 1 轮

输入:
/hongguo-shortdrama-screenwriting 我要写一部短剧,要求在 premise.md 里。

思考

Bash List workspace and read premise

输入

ls -la && cat premise.md && ls .claude/skills/hongguo-shortdrama-screenwriting/*

返回

total 8
drwxr-xr-x  4 user  wheel  128 Oct 17 22:47 .
drwxr-xr-x  4 user  wheel  128 Oct 17 22:47 ..
drwxr-xr-x  4 user  wheel  128 Oct 17 22:47 .claude
-rw-r--r--  1 user  wheel  244 Oct 17 22:47 premise.md
# 001 · 开放题

写一部竖屏短剧。

- 篇幅:全剧 60 集,每集 1–2 分钟
- 交付(写成文件,放在当前目录):
  1. 主要人物小传
  2. 60 集分集大纲,标出付费卡点
  3. 第 1–3 集完整剧本
.claude/skills/hongguo-shortdrama-screenwriting/LICENSE
.claude/skills/hongguo-shortdrama-screenwriting/README.md
.claude/skills/hongguo-shortdrama-screenwriting/SKILL-选型分析.md
.claude/skills/hongguo-shortdrama-screenwriting/SKILL.md

.claude/skills/hongguo-shortdrama-screenwriting/agents:
openai.yaml

.claude/skills/hongguo-shortdrama-screenwriting/examples:
ep01-longwang-demo.md
long-format-3min-demo.md

.claude/skills/hongguo-shortdrama-screenwriting/references:
character-bible.md
cliffhanger-master-formulas.md
continuity-ledger.md
dialogue-doctor-anti-ai.md
emotion-flow-roundtrip.md
emotion-point-playbook.md
expectation-suspense-hook.md
genre-map.md
golden-3s-hook-library.md
golden-opening-toolbox.md
hongguo-beat-sheet.md
hongguo-course-01-10.md
mechanism-imitation.md
pace-and-dialogue-craft.md
screenplay-compliance-rules.md
shooting-feasibility.md
topic-and-ip-selection.md
webnovel-adaptation.md

.claude/skills/hongguo-shortdrama-screenwriting/scripts:
validate_episode.py
validate_series.py

.claude/skills/hongguo-shortdrama-screenwriting/templates:
episode-format.md
ledger.md
outline.md

思考 1 秒

Bash Show file sizes and read beat sheet

输入

cd .claude/skills/hongguo-shortdrama-screenwriting && wc -l references/* templates/* examples/* scripts/* && cat references/hongguo-beat-sheet.md

返回

      32 references/character-bible.md
      41 references/cliffhanger-master-formulas.md
      65 references/continuity-ledger.md
      47 references/dialogue-doctor-anti-ai.md
     150 references/emotion-flow-roundtrip.md
     196 references/emotion-point-playbook.md
     157 references/expectation-suspense-hook.md
      44 references/genre-map.md
      53 references/golden-3s-hook-library.md
     136 references/golden-opening-toolbox.md
     107 references/hongguo-beat-sheet.md
     205 references/hongguo-course-01-10.md
      24 references/mechanism-imitation.md
     183 references/pace-and-dialogue-craft.md
      22 references/screenplay-compliance-rules.md
     220 references/shooting-feasibility.md
     150 references/topic-and-ip-selection.md
      39 references/webnovel-adaptation.md
      59 templates/episode-format.md
      38 templates/ledger.md
     251 templates/outline.md
      25 examples/ep01-longwang-demo.md
      59 examples/long-format-3min-demo.md
     486 scripts/validate_episode.py
     269 scripts/validate_series.py
    3058 total
# 红果/抖音 全剧架构、节奏曲线与付费卡点排布(标准 60/80/100 集 · 长档 30/40/50 集)

> ★权威(v3.0 扩容):v2.0 只有 80 集单模板;v3.0 扩为 60/80/100 三档变体,并新增"情绪契约+单元链+每单元一张往返回合表"挂线(情绪流项目专用,详见 `emotion-flow-roundtrip.md`)与漫剧/竖屏动画适配位。
>
> **v3.2(2026-09-17 升级)**:新增**长档(约 3 分钟)**篇幅制式——单集 165~195 秒、一集装双往返回合 + ≈90 秒中段小钩;全剧按内容量守恒折算为 **30/40/50 集**三档,四幕、单元链、付费墙同步换算。详见 §三、§四。

---

## 一、 三档结构总表(以 80 集为基准,另两档按占比折算)

| 幕 | 80集 | 60集 | 100集 | 核心任务 | 情绪核心 |
|---|---|---|---|---|---|
| 一幕·入局极限压迫 | 1~15 (20%) | 1~12 | 1~20 | 核爆钩、阶层对立、隐忍受辱、首轮小反击 | 憋屈➔震惊➔期待 |
| 二幕·升级与纠缠 | 16~45 (35%) | 13~34 | 21~55 | 单元循环/往返回合主体区 | 爽感➔步步紧逼 |
| 三幕·风暴与危机 | 46~65 (25%) | 35~49 | 56~80 | 终极反派反扑、底牌失效、最大信任危机 | 虐心➔紧迫➔窒息 |
| 四幕·决战与封神 | 66~80 (20%) | 50~60 | 81~100 | 底牌全开、伏笔全收、极致释放 | 狂爽➔情感释放 |

**长档(约 3 分钟/集)集数折算**:内容量守恒 **1 长档集 ≈ 2 标准集**,集数减半、四幕占比不变(20 / 35 / 25 / 20),即 **30 / 40 / 50 集**三档,详见 §四.3。

## 二、 付费墙三级卡点(四档换算)

| 卡点 | 80集 | 60集 | 100集 | 长档40集 | 长档30集 | 长档50集 | 断法 |
|---|---|---|---|---|---|---|---|
| 一级(黄金) | 10~15 | 8~11 | 13~19 | 5~8 | 4~6 | 7~10 | 首次露顶级底牌/中点攻守转换,反派大祸临头前一瞬 |
| 二级 | 28~32 | 21~24 | 35~40 | 14~16 | 10~12 | 17~20 | 核心身世/大阴谋初现、重要配角倒戈 |
| 三级 | 55~58 | 41~44 | 68~73 | 27~29 | 20~22 | 34~37 | 全剧最低谷、生死二选一 |

**付费墙三法则**(不变):①前置蓄水(付费集前 2~3 集疯狂拉高反派嚣张与主角隐忍成本);②断在反击前 0.5 秒/掉马一瞬间,严禁断在爽完之后;③付费后下一集前 15 秒必须兑现,严禁挂羊头。

**与单元链挂线(情绪流必做,2026-09-15 修订)**:单一矛盾一单元烧 20~30 集必须闭环,严禁拉满全剧;一级墙≈单元A内攻守小转换或首次亮底牌前;二级墙≈**A/B 单元接缝**(旧矛盾闭环当场暴露新矛盾、主角还没接招的瞬间);三级墙≈单元C开局前全剧最低谷(主角赢了每场、输了全局式的至暗)。免费区必须完成:情绪契约确立+单元A 档1/2 两回合,让观众记住"他要讨的那口气是什么"。80集标配三单元;单元间对手换层不换欲。

- **长档换算**:集区间按"1 长档集 ≈ 2 标准集"折算即可,不必逐档对号,只需守住两条不变量——**中点转换落在一级墙区间内**、**三级墙落在单元C开局前的至暗**;台账"单元划分"行同步折半(40集=3单元:A 1~13 / B 14~27 / C 28~40)。
- **长档免费区更短**:长档单集信息量大,情绪契约确立+档1 回合必须在第 1~2 集内完成,拖到第 5 集才立契约=免费区废掉。
- **中段小钩不得当付费墙**:小钩只抬价,付费点必须是完整断章公式(掉马前 0.5 秒/绝境二选一)。

## 三、 单集体量(分档硬约束,validate_episode 机检项)

| 档位 | 时长 | 正文体量(实拍 / 漫剧) | 场景 | 单集拍数 | 对白行 | 机检 |
|---|---|---|---|---|---|---|
| **标准档**(默认) | 90~120 秒 | 350~500 / 260~400 | ≤2 | 1 拍(施压→反驳/升级) | ≥4 | `--format standard` |
| **长档** | **165~195 秒(约 3 分钟)** | **650~850 / 520~680** | **≤3** | **2 拍 + 中段小钩** | **≥8** | `--format long` |
| 漫剧档 | 60~90 秒 | 260~400 | ≤2 | 1 拍 | ≥4 | `--format manju` |

- 正文体量口径 = 对白行 + △动作行 + 【本集断章卡点】画面(不计【】字段行与 [场景]/[人物] 标记行),以 `scripts/validate_episode.py` 为准;脚本对含"长档/漫剧"字样的剧本自动分档,也可用 `--format` 显式指定;
- 语速基准三档统一 3.5~4.5 字/秒(漫剧取上限);
- 标准档每集结构:前3秒钩 → 本集往返回合一拍(施压→反驳/升级)→ 情绪顶点 → 断章卡点(黑屏+下滑解锁文案);
- 标准档单集三幕时间比例:铺垫 30% → 冲突危机 50% → 转折卡点 20%;
- **长档不是把标准档注水拉长**:一集必须装两个往返回合 + 一个中段小钩(写法见 §四);用标准档单拍结构硬凑 3 分钟 → 机检与人工都判废稿。

## 四、 长档(约 3 分钟)单集写法

> 触发指令:`/全剧大纲 长档 40集`、`/写剧本 长档 第N集`、`/写长档 第N集`、`/连写 长档 1-10`。
> 一句话原则:**多出来的 90 秒由"升级"填满,不由"重复"填满。**

### 1. 时间骨架(165~195 秒 · 正文 650~850 字)

| 段 | 秒位 | 内容 | 硬指标 |
|---|---|---|---|
| 钩子 | 0~8 | 黄金前 3 秒直接切入冲突顶点 | 与标准档同标准,禁铺垫 |
| 回合A | 8~80 | 施压 ➔ 反驳(第一拍) | 反驳必须带代价或新信息 |
| 中段小钩 | ≈90(全集 50%) | 新信息/新威胁/反转半步,抬价 | **必设**,防 90 秒滑走 |
| 回合B | 95~170 | 升级施压 ➔ 升级反驳/翻盘未遂 | 施压与反驳各升一档,禁复读回合A |
| 顶点+断章 | 170~195 | 情绪顶点落地 + 四大断章公式 | 断章必须比标准档更狠 |

### 2. 双回合硬规则(六条)

1. **中点必设小钩**:≈90 秒处必须出现新信息或新威胁;`validate_episode.py` 长档模式缺【本集中段小钩】直接 FAIL。
2. **回合B 双升级**:施压升级(新证据/新代价/新人证)+ 反驳升级(策略/身份/底牌前移),照抄回合A 话术=废稿。
3. **每 30 秒一个新增量**:新信息、新行动、新代价三者至少一现;连续 30 秒无新增量即注水。
4. **中段小钩不是断章**:小钩只做"抬价 + 新悬念",全集最高潮必须留在集尾断章;小钩写成高潮=集尾塌方。
5. **场景 ≤3 且必须是升级场**:第 2/3 场要换空间、换对手或换压力等级;平移到隔壁房间继续同一段对话不算一场。
6. **断章优先级**:长档压强更大,优先公式1(身份掉马前一秒)或公式4(绝境二选一);用公式3(金句落地)时必须配全场静默反应镜头。

### 3. 全剧折算(内容量守恒,1 长档集 ≈ 2 标准集)

四幕占比不变(20 / 35 / 25 / 20),集数减半:

| 幕 | 长档 40 集 | 长档 30 集 | 长档 50 集 | 任务 |
|---|---|---|---|---|
| 一幕·入局压迫 | 1~8 | 1~6 | 1~10 | 核爆钩+阶层对立+首轮小反击 |
| 二幕·升级纠缠 | 9~22 | 7~16 | 11~28 | 双回合主体区 |
| 三幕·风暴危机 | 23~32 | 17~23 | 29~38 | 反扑+底牌失效+最大信任危机 |
| 四幕·决战封神 | 33~40 | 24~30 | 39~50 | 底牌全开、伏笔全收、极致释放 |

**单元链折算**:单矛盾硬帽同步折半为**一单元 10~15 长档集**(30 集=2~3 单元 / 40 集=3 单元 / 50 集=3~4 单元);40 集标准划分示例——A 1~13 / B 14~27 / C 28~40。付费墙见 §二;台账"单元划分"行按此填(`continuity-ledger.md` §三)。

### 4. 长档特有崩坏点(写前自检)

| 崩坏点 | 症状 | 修法 |
|---|---|---|
| 中段泄气 | 90 秒后开始复述回合A | 回合B 强制双升级 |
| 假高潮 | 中段小钩写得比集尾断章更炸 | 小钩只抬价,爆点后移 |
| 注水凑字 | 为凑 850 字加无新增量对白 | 每 30 秒一个新增量 |
| 场景超载 | 塞到 5~6 场,全是过场 | 锁 ≤3,砍过场场,只留升级场 |
| 断章疲软 | 3 分钟拉完只想收尾 | 换公式1/公式4,加静默反应镜头 |
| 回合打飘 | 两个回合打的是不同矛盾 | 情绪流项目:两回合必须打同一执念(同一单元内) |

## 五、 剧情流变体(不套往返表时)

悬疑/规则怪谈/智斗:二幕改为**信息阶梯循环**——每 3~5 集一个"新线索→误判→翻案→更大谜团"单元;付费墙改断在"真相即将揭晓的一半"(如亲子鉴定撕开封条露一角)。三幕危机必须是"信息体系本身被证伪",而非单纯武力压迫。**长档变体**:一集内走完"新线索→误判"两步,翻案留给下一集,中段小钩即"误判坐实"的那半秒。

## 六、 漫剧/竖屏动画适配位(本包用户向)

- 漫剧单集可压至 60~90 秒、正文体量 260~400(配音语速略高、无实拍转场损耗),机检 `--format manju`;
- **漫剧长档**:140~170 秒、正文体量 520~680(语速取 4.5 上限、动画同景多机位省转场),场景 ≤3,双回合与中段小钩规则完全同实拍;
- 场景 ≤2(长档 ≤3)不变,但动画允许"同景多机位"不算换场景;
- 回合表/付费墙逻辑完全同实拍,不动。
Bash Read engine, formats, example, ledger, character bible

输入

cat references/emotion-flow-roundtrip.md templates/episode-format.md examples/ep01-longwang-demo.md templates/ledger.md references/character-bible.md

返回

# 情绪流单元链往返法引擎(Emotion-Flow Roundtrip Engine)

> ★权威(v3.0·2026-09-15 按粉丝意见修订):情绪流的锚是**情绪契约**(观众每集要续期的那种情绪体验),**不是钉死的单一矛盾**。本文件管两件事:①一个矛盾单元内如何 6 回合高烈度拉扯(中观层);②60~100 集全剧如何用 2~3 个单元串成链、情绪不变换战场(宏观层)。**单个矛盾硬拉超过 30 集=剧本废稿**。

---

## 一、 流派判定二分法(立项第一道门,判错全白写)

| | 情绪流 | 剧情流 |
|---|---|---|
| 代表 | 大众看到的"无脑爽剧"几乎全是 | 悬疑、规则怪谈、强情节智斗 |
| 全剧锚点 | **情绪契约不变**(如"让欺压我们的人低头");矛盾按单元跑,一单元 20~30 集闭环后**换矛盾不换情绪** | 信息阶梯推进,矛盾随真相转移 |
| 快节奏本质 | **情绪叠情绪**,不是事件叠事件 | 事件叠事件(每事件改写信息格局) |
| 观众动力 | 憋屈→期待释放 的循环加压;单元闭环前观众要的就是"这口气什么时候吐" | 好奇→解谜→新谜 的信息牵引 |
| 骨架工具 | 本文件§二往返公式 + §二·五单元链 | 事件链+信息阶梯(`hongguo-beat-sheet.md`) |
| 判定问句 | "能不能用一句话说清观众追的是哪种情绪?"能→情绪流 | "观众追的是'接下来发生什么'还是'他什么时候信/认/跪'?"后者→情绪流 |

混合剧:主线走情绪流(情绪契约贯穿),支线走剧情流(信息推进调味)。

---

## 二、 单一矛盾往返法核心公式(单元内用,一单元一个矛盾)

```text
找准本单元核心执念(一句话:谁,坚决不信/不认/不服的那件事)
→ 外界施压(证据/人证/压力升级一档)
→ 主角反驳/自证(代价或策略升级一档)
→ 形成往返回合(几集一回合,全单元 6 回合上下)
→ 层层递进直至:心理防线崩溃 或 真相反转闭环 → 单元收束
```

四条铁律:
1. **单元时长帽**:一个矛盾最多烧 20~30 集(6 回合×3~5 集;**长档按内容量折算为 10~15 集**)。到点必须闭环——要么真相落地要么防线崩塌,**不许拖着再拉一个阶梯**;拖过 30 集观众从"憋屈"变"疲劳",剧本废(2026-09-15 粉丝意见,采纳为硬规);
2. **换矛盾不换情绪**:下一单元换新矛盾、新对手、新战场,但兑现的必须是同一份情绪契约(见§二·五);
3. **每回合双升档**:证据烈度升一档 + 反驳成本升一档,两档都不升=废回合;
4. **快节奏=情绪叠情绪**:回合内不塞新事件凑数,把本回合情绪打穿比推进剧情重要。

---

## 二·五、 单元链法(60~100 集情绪流的全剧骨架)

**情绪契约**:立项时一句话说死的观众情绪体验,贯穿全剧不换。例:
- 《被造谣后我以身入局》="让诬陷我的人当众跪着道歉";
- 赘婿战神="让看不起我的人一个个高攀不起"。

**单元链结构**(80 集标准):

| | 单元 A(1~25) | 单元 B(26~52) | 单元 C(53~80) |
|---|---|---|---|
| 矛盾 | 执念1(如造谣构陷) | 执念2(如身份被窃/财产侵吞) | 执念3(终极对手总清算) |
| 对手 | 前台反派(造谣者) | 换层升级(幕后+制度帮凶) | 终极反派(契约总根源) |
| 闭环 | 反杀+当众认罪 | 夺回实体利益 | 彻底翻盘+情绪封顶 |
| 情绪 | 憋屈→吐气 | 憋屈2.0(更亲更狠) | 大爽大释放 |

三缝合一规则(单元接缝处理,做不好=断追):
1. **旧单元残渣生出新矛盾**:A 闭环时的爽点余温里必须埋 B 的火种(反杀时当众暴露出更大的黑手/被吞掉的更贵的东西),观众情绪无缝续期,付费墙不塌;
2. **对手换层不换欲**:新对手是旧对手背后的层级(造谣者→指使人→吃人的规则),贪/势/妒同一种逻辑,情绪烈度天然升档;
3. **主角弧光跟着单元走**:A 被动自证→B 主动设局→C 掌控规则,每个单元换一次打法(对应§五攻守转换从"全剧中点"改挂"单元 B 开局")。

**60 集=2~3 单元;80 集=3 单元;100 集=3~4 单元**。付费墙重排:一级墙≈单元A中点(10~15),二级墙≈A/B 接缝(28~32,断在"新矛盾露头、主角还没接招"),三级墙≈C 开局前最低谷。**每单元内部各跑一张§六回合表**。

---

## 三、 证据烈度六档阶梯(施压方模板)

外界向主角执念砸的证据,按可抵赖程度递减分六档。**任何执念题材按序拉一遍即得 6 回合骨架**:

| 档 | 证据类型 | 可抵赖性 | 观众预期 |
|---|---|---|---|
| 1 | 道听途说/旁人告知 | 极高("他们懂什么") | 起步:执念合理 |
| 2 | 可抵赖的物证(随身物品等) | 高("物在≠人在") | 微皱 |
| 3 | 看似铁证但有程序/外观漏洞(体貌吻合的遗体) | 中("外观不能定论") | 着急 |
| 4 | 权威技术证据(DNA/鉴定)但可质疑程序 | 中低("样本污染,复检!") | 憋屈峰值 |
| 5 | 多重证据合围(人证+记录+轨迹全吻合) | 低("仍未见确凿死讯") | 怒其不醒 |
| 6 | 不可推翻的专属铁证 + **主角亲历确证**(亲自验看专属特征) | 零 | 防线崩溃/闭环 |

**实例 A(《错位的母爱》·执念=母亲不信女儿已死)**:回合1旁人告知→回合2随身物品→回合3体貌吻合遗体→回合4DNA(要求复检)→回合5人证通话轨迹全合围→回合6亲自验看专属身体特征,防线瓦解。——恰好六档逐档走完。
**实例 B(《被造谣后我以身入局》·反向使用)**:反派施压同样按 1→5 走(当众控诉→编造细节引站队→抱假孩子索赔→伪造亲子鉴定),但主角在第 4 拍攻守转换,第 6 档换成**主角亮官方身份证明**反杀闭环。——证明阶梯双方可用。

**单元帽提醒**:两案例都是 6 回合≈20 集量级的**单元级**结构——这正是"一个矛盾只能烧一个单元"的证据;把它们硬拉 80 集不换矛盾,就是在写第 7、8、9 回合重复阶梯,观众必疲(参§二铁律 1)。

---

## 四、 反驳成本六档阶梯(自证方模板)

主角每回合的反驳必须比上一回合付出更多或冒更大风险,**反驳话术禁止复读**(validate_episode 复读检测对应):

| 档 | 反驳形态 | 代价 |
|---|---|---|
| 1 | 口头否认("不可能") | 零 |
| 2 | 质疑证据效力("说明不了什么") | 零,但开始得罪施压方 |
| 3 | 挑战权威程序("样本污染,复检") | 消耗人情/金钱 |
| 4 | 对抗体制/求助更高层(复检、找律师、公开对质) | 社会成本 |
| 5 | 赌上一切(当众立誓、押上财产/名分/自由) | 不可逆风险 |
| 6 | 无牌可打 → 崩溃 或 最后一搏(以身入局/反守为攻) | 剧情转折点 |

**增量铁律**:第 N 回合的反驳必须含 新信息/新行动/新代价 至少其一;只重复第 N-1 回合话术的回合直接作废重写。

---

## 五、 攻守转换(防疲劳阀;全剧挂单元B开局,单元内可小转换)

一味挨打到第 4 回合观众就疲了。标准做法(实例 B 第 4 回合):

```text
被动反驳 ×3 回合 → 【转换:主角改变策略】假意认下/以身入局/主动设局
→ 反派误判得逞、变本加厉(施压方反成暴露方)
→ 主角收集反证 → 闭环反杀
```

- 单元A(被动憋屈期):可以不大转换,但**代价必须见血**(卖房自证、当众下跪要说法),用自毁式执念加压;
- **全剧级攻守转换放在单元 B 开局**:A 单元反杀成功后,主角从"自证者"变"追债者",主动查向幕后——这一转换本身就是 A/B 接缝的引擎;
- 单元内小转换(如§二·五 B 单元中段)按实例 B 打:转换点≈该单元第 4 回合,且转换瞬间必须可断章(付费墙对位见§二·五)。

---

## 六、 回合表输出格式(情绪流项目 /全剧大纲 必产:**每单元一张**)

```text
【情绪契约】:一句话(观众每集要续的那口气)
【单元 A】执念=____ |对手=____ |闭环=____
  【回合 1】(第 1-3 集):证据=档1 ____ |反驳=档1 ____ |回合尾断章:____
  【回合 2】(第 4-6 集):证据=档2 ____ |反驳=档2 ____ |回合尾断章:____
  …(6 回合,总长 ≤25~30 集)
  【A 闭环+火种】(第 __ 集):反杀兑现情绪 |但当场暴露 ____ → 单元B矛盾立项
【单元 B】执念=____ |对手=____(A 的对手背后一层)|打法=主动入局
  …同构 6 回合,证据/反驳阶梯可从档2起步(主角已会战)
【单元 C】执念=____ |终极清算 |弧光封顶
```

与付费墙挂线:单元内墙断在"回合末尾+证据刚升档+反驳未出口"的缝上;二级墙断在 A/B 接缝"新矛盾露头"瞬间(详见 `hongguo-beat-sheet.md` §二)。

**长档项目(约 3 分钟/集)**:回合表填法不变,只把集区间按「1 长档集 ≈ 2 标准集」折算(同一回合跨的集数减半,如回合1 由 1-3 集变为 1-2 集);单元硬帽同步折半为 10~15 长档集。长档一集内同时容纳施压拍与反驳拍,故单集正文必须写出"回合A ➔ 中点小钩 ➔ 回合B"三段(见 `hongguo-beat-sheet.md` §四)。

---

## 七、 下沉题材批量生成器(六档阶梯模板套用示范)

任何"一方死活不认、另一方反复自证"的题材都能 10 分钟拉出 6 回合:

**身份错位**(执念:明明是男生,对方偏说是女生):
口头条约争执→体检单据被指造假→同性衣物在其房中发现→医院旧档案疑遭涂改→当事人当众自证反被解读→决定性生物证据落地。

**邻里噪音**(楼下非说你家吵):
**注意:单一噪音指控最多烧 25~30 集,硬拉到 60 集即废稿(粉丝意见 2026-09-15)。** 60 集应拆三单元,情绪契约="让不信我的人亲耳听见真相":A 单元(1-22)噪音构陷→六档阶梯→第22集示证翻案收小尾;B 单元(23-44)反查发现"被针对"另有利益动机(开发商逼迁/老徐收好处),新矛盾新对手换层;C 单元(45-60)真凶浮出:楼栋结构病害+物业隐瞒维修基金,从自证变成全楼维权。每单元内部各跑一张六档表。

**健身房退卡**(商家坚决不退):
合同条款扯皮→口头承诺录音→会员卡被暗停→市监投诉被"合规"驳回→集体受害者联署→监管现场检查一锤定音。

生成口诀:**契约一句话 → 单元切两三块 → 每单元:执念一句话 → 证据升六档 → 反驳付六次代价 → 闭环留火种 → 换矛盾不换情绪**。
# 单集剧本标准排版(Episode Format)

> 交付格式模板。写完必须过 `python3 scripts/validate_episode.py <文件>`(`--format standard|long|manju`,默认自动分档)。

**先定档位再动笔**(篇幅制式,三选一;规格见 `references/hongguo-beat-sheet.md` §三):

| 档位 | 时长 | 正文体量(实拍 / 漫剧) | 场景 | 单集拍数 | 机检 |
|---|---|---|---|---|---|
| 标准档(默认) | 90~120 秒 | 350~500 / 260~400 | ≤2 | 1 拍 | `--format standard` |
| 长档 | 165~195 秒 | 650~850 / 520~680 | ≤3 | 2 拍 + 中段小钩 | `--format long` |
| 漫剧档 | 60~90 秒 | 260~400 | ≤2 | 1 拍 | `--format manju` |

## 一、 标准档 / 漫剧档模板

```text
第【XX】集:【集名/核心爽点标签】
【所属阶段】:第X幕・(第 X/80 集 | 往返第 N 回合・证据档X/反驳档X)
【黄金前3秒钩子】:五母型之一(生死绝境/极端羞辱/身份暴涨/物证背叛/规则悬念)
【情绪流变】:A ➔ B ➔ C ➔ 绝命断章
【本集时长】:__ 秒(约 __ 字)

[场景]:内景/外景・地点・日/夜        ← 全集 ≤2 个
[人物]:名(状态标签)、名(标签)      ← 名字须在人物账

△ 特写/中景:只写生理可观测动作与物理事件,禁抽象心理词。
角色名(神态短语):
"台词。"                              ← 常规 12~18 字 / 爆发金句 8~12,硬上限 ≤25 字;对白行 ≥4

【本集断章卡点】:画面停格描述。(黑屏:下滑立即解锁第XX集)
```

## 二、 长档模板(约 3 分钟)

```text
第【XX】集:【集名/核心爽点标签】(长档·约3分钟)
【所属阶段】:第X幕・(第 X/40 集 | 单元A | 往返第 N 回合・证据档X/反驳档X)
【黄金前3秒钩子】:五母型之一
【情绪流变】:A ➔ B ➔ C ➔ D ➔ 绝命断章
【本集时长】:__ 秒(约 __ 字)
【本集结构】:双回合(回合A ____ ➔ 回合B ____)    ← 本集时间骨架:钩 0~8s / 回合A 8~80s / 小钩≈90s / 回合B 95~170s / 断章 170~195s

[场景]:内景/外景・地点・日/夜        ← 全集 ≤3 个,第 2/3 场必须是升级场(换空间/换对手/换压力等级)
[人物]:名(状态标签)、名(标签)

△ 特写/中景:钩子——直接切入冲突顶点,禁铺垫。
角色名(神态短语):
"台词。"                              ← 回合A:施压 ➔ 反驳,反驳必须带代价或新信息;对白行 ≥8

【本集中段小钩】:≈90 秒处的新信息/新威胁/反转半步,只抬价不爆点。(机检必查)

△ 中景:回合B —— 升级施压(新证据/新代价/新人证)。
角色名(神态短语):
"台词。"                              ← 升级反驳/翻盘未遂,禁复读回合A 话术
△ 中景:情绪顶点落地 + 静默反应镜头

【本集断章卡点】:画面停格描述。(黑屏:下滑立即解锁第XX集)
```

**写前**:读台账 + 回合表定位本集档位与拍数;**写后**:更新台账四账 + 按档跑机检。
第【1】集:【龙王令·开局羞辱】
【所属阶段】:第一幕・入局压迫期(第 1/80 集 | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱
【情绪流变】:当众受辱 ➔ 隐忍握拳 ➔ 亮令反杀 ➔ 绝命断章
【本集时长】:105 秒

[场景]:内景·顶级私人会所·夜
[人物]:林辰(隐忍龙王)、陈峰(嚣张富二代)、苏清雪(未婚妻)

△ 特写:点燃的雪茄狠狠摁在林辰洗得发白的衣领上,青烟直冒,火星坠落。
△ 中景:陈峰搂着苏清雪,满脸鄙夷,包厢内保镖环立。
陈峰(吐出烟圈):跪下,把这杯脏水喝了,十万块救命钱,本少当场转给你。
苏清雪(冷漠):林辰,别不知好歹,认清你自己的身份。
△ 特写:林辰低垂的眼眸骤抬,垂在身侧的右拳缓缓握紧,指节泛白。
林辰(声音极低):三年前你陈家跪着求我救命时,也是这副嘴脸?
陈峰(恼羞成怒):你找死!给我废了他双手!
△ 四名保镖暴起扑上,林辰反手抓住领头手腕顺势一拧,骨裂声起,保镖倒飞砸碎整面酒柜。
△ 玻璃碎裂,酒水横流,全场死寂,陈峰踉跄后退撞翻茶几。
陈峰(色厉内荏):你……你敢动手?你知道我爸是谁吗?
林辰:在江城,能让我跪的,只有已故的先人。
△ 林辰从怀中掏出一枚九龙玄铁令,重重拍在桌上,震得酒杯齐齐炸裂。
林辰(字字如刀):传我龙王令,十分钟内,让江城陈氏集团彻底破产。
△ 特写:陈峰死死盯着令牌上的九龙图腾,双腿剧烈发抖,手机疯狂震动,来电显示"父亲"。

【本集断章卡点】:陈峰颤抖着接通电话,那头传来绝望哭嚎:"逆子,你到底得罪了谁?陈家彻底完了!"林辰一步踏出,居高临下逼近。(黑屏:下滑立即解锁第2集)
# 台账:《项目名》
当前集: 0
总集数: 80
档位: 标准档    # 标准档 60/80/100 集(90~120 秒)| 长档 30/40/50 集(165~195 秒)| 漫剧档 60~90 秒
流派: 情绪流/剧情流
情绪契约: (一句话,全剧不变的那口气)
单元划分: A(1-__) / B(__-__) / C(__-__)  # 一个矛盾≤30集(长档按内容量折半:一单元 10~15 集)

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 |  |  |  | 埋 |  |

## 人物账
| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
|---|---|---|---|---|---|
|  | 1 | 存活 |  |  |  |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
|  |  |  |  |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
|  |  |  | 否 |

## 往返回合表(情绪流项目必填·每单元一张)
> 长档项目:集区间按「1 长档集 ≈ 2 标准集」折算;长档一集内含两拍(回合A/回合B)+ 中段小钩,回合尾断章仍按回合记。
| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1-3 | 档1: | 档1: |  |

## 付费墙落位
一级墙 第__集(中点转换/首次亮底牌前0.5秒)
二级墙 第__集
三级墙 第__集
# 人物圣经(Character Bible)

> v3.0 恢复 v1.x 人物体系并升级:**先建圣经,后出大纲**。任何具名角色拿到台词前必须在圣经建档并入人物账(`continuity-ledger.md` §一.2)。

---

## 一、 单角色四件套(缺一不得建档)

| 件 | 要求 | 反例 |
|---|---|---|
| 1. 欲望(Want) | 一句话、可被镜头拍到("要回女儿的名分") | "想要幸福"(不可拍) |
| 2. 秘密/软肋(Secret) | 最怕被谁知道什么;决定其在往返回合里的反驳底线 | 无秘密=无拉扯资本 |
| 3. 弧光档位 | 情绪流角色弧光=**打法随单元升级**:单元A被动自证→单元B主动入局→单元C掌控规则(单元素内再分 坚不认→质疑→崩溃/反杀 小弧);标好在哪单元哪回合变 | 80 集性格原地不动 |
| 4. 语言指纹 | 遮名字能认出是谁:口头禅/句长/称谓习惯/市井or书面(对应 dialogue-doctor 维度1) | 全员播音腔 |

## 二、 建档模板

```text
【角色】:林辰(男,28,明:上门赘婿/暗:龙王)
【欲望】:护住妻女,等一个"配得上说出身份"的时机
【秘密/软肋】:女儿非他血脉的误会(第 28 集被反派利用)
【弧光】:隐忍(回合1-3)→中点入局(回合4)→掌控(回合5-6);终点:不再等时机,当众亮令
【语言指纹】:≤10 字短句、反问收尾、从不自称"我"用"本少/我"随身份切换
【功能位】:主角 |【出场】:第1集 |【状态机】:见台账
```

## 三、 全员名册与功能位配额

- 一部 80 集情绪流标配:**主角 1 + 核心施压反派 1 + 换层反派 3~4(手下/堂主/家主/终极)+ 情感锚点 1~2(被护者/白月光)+ 助力工具人 ≤2 + 反转棋子 1**;
- 具名角色总数 ≤12:短剧观众记不住第 13 张脸,多余的降群演;
- 每个换层反派必须携带"证据升档职能":TA 出现=往证据阶梯推一档,不推档的反派不立;
- 反派语言指纹要求:**市井刻薄+傲慢黑话**(红线5),且每层反派的恶要同一种逻辑(贪/势/妒选一),换人不换欲。
Bash Read episode validator script

输入

cat scripts/validate_episode.py

返回

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""short-drama-factory v3.2 单集剧本机检(分档)

用法:
    python3 validate_episode.py <单集剧本.md> [--format auto|standard|long|manju] [--prev 前集.md ...]
    python3 validate_episode.py --self-test

档位 profile (--format; 默认 auto = 按正文自检: 含"长档"→long, 含"漫剧"→manju, 否则 standard):
    standard  标准档 90~120 秒   正文体量 实拍 350~500 / 漫剧 260~400   场景 <=2   对白行 >=4
    long      长档   165~195 秒  正文体量 实拍 650~850 / 漫剧 520~680   场景 <=3   对白行 >=8   必设【本集中段小钩】
    manju     漫剧档 60~90 秒    正文体量 260~400                       场景 <=2   对白行 >=4

检查项 (FAIL=拦截必须修复, WARN=告警复核):
    E1  剧本文本体量(对白+动作行+断章画面, 不含【】字段行/[场景][人物])  FAIL(超区间)
          标准档 实拍 350~500 / 漫剧 260~400 ;长档 实拍 650~850 / 漫剧 520~680
    E2  单句台词(常规 12~18 字 / 爆发金句 8~12) 硬上限 25 字   WARN(逐句 >25)
    E3  场景数 <=2 ([场景] 标记计数)                FAIL(>2)
    E4  黄金前3秒: 首个动作/台词行含冲突信号词       FAIL(无)
    E5  开篇禁词(起床/拉窗帘/太阳升起/走在路上等)     WARN
    E6  断章卡点: 存在【本集断章卡点】且含黑屏/悬念   FAIL(缺)
    E7  情绪流变词: 存在【情绪流变】链条(-> 或 ➔)    WARN(缺)
    E8  复读检测: 主角台词与前集传入(--prev)重复     WARN(重复句)
    E9  对白行数: >= 本档位下限(标准/漫剧 4 行, 长档 8 行)  WARN(不足)
    E10 合规红线词(断肢/开膛/下蛊等一票否决直观描写)  FAIL
    E11 长档中段小钩: 存在【本集中段小钩】(long 档)      FAIL(长档缺)
    E12 黄金三角(课03): 正文含 身份/困境/目标 三类信号    WARN(缺项)
    E13 上帝视角/心理描写(课08): △动作行与 OS/VO 行的抽象心理词 + OS 单行过长  WARN
    E14 对白为主(课09): OS/VO 行不超过对白的 1/3         WARN(超标)
退出码: 0=通过(可含WARN), 1=FAIL, 2=用法错误
"""
import re
import sys

# 剧本文本体量阈值(仅计正文: 对白行 + △动作行 + 断章卡点画面描述)
NET_MIN, NET_MAX = 350, 500          # 实拍短剧
NET_MIN_ANIME, NET_MAX_ANIME = 260, 400  # 漫剧/竖屏动画
NET_LONG_MIN, NET_LONG_MAX = 650, 850          # 长档(约3分钟) 实拍
NET_LONG_ANIME_MIN, NET_LONG_ANIME_MAX = 520, 680  # 长档 漫剧/竖屏动画
SENT_MAX = 25                        # 单句台词硬上限(常规 12~18)

# 档位 profile(体量区间另按 profile + 是否漫剧解析,见 net_band())
PROFILES = {
    "auto":     {"scenes": 2, "lines": 4, "midhook": False, "label": "自动分档"},
    "standard": {"scenes": 2, "lines": 4, "midhook": False, "label": "标准档 90~120 秒"},
    "long":     {"scenes": 3, "lines": 8, "midhook": True,  "label": "长档 约3分钟"},
    "manju":    {"scenes": 2, "lines": 4, "midhook": False, "label": "漫剧档 60~90 秒"},
}

OPEN_BAN_WORDS = ["早晨起床", "起床", "拉窗帘", "太阳升起", "醒过来", "走在路上",
                  "整理衣服", "开车上班", "喝咖啡闲聊", "悠闲的清晨", "阳光明媚的早晨"]

# 注: 不含 "△" —— 动作行本身不等于冲突, 否则任何以动作开场的剧本恒过 E4
CONFLICT_SIGNALS = ["!?", "!", "枪", "刀", "巴掌", "扔", "砸", "吼", "冷笑",
                    "逼", "跪", "撕", "拍在", "顶在", "推", "踹", "骂", "羞辱", "退婚",
                    "病危", "签字", "死", "滚", "住手", "救", "断裂", "炸", "烧", "血"]

BREAK_WORDS = ["断章", "卡点", "黑屏", "悬念"]

REDLINE_WORDS = ["断肢", "开膛", "破肚", "身首异处", "凌迟", "活埋", "注射死刑", "吸毒",
                 "制毒", "自杀方法", "下蛊害人", "蛊毒害人", "真实的国家机关"]

# --- 课程门(红果《短剧编剧第一课》)词表 ---
# E12 黄金三角: 第一集须讲清「我是谁 / 我面临什么危机 / 我要做什么」(课03)
IDENTITY_WORDS = ["身份", "我是", "出身", "职业", "少爷", "小姐", "千金", "嫡女", "赘婿",
                  "上门女婿", "战神", "龙王", "神医", "大佬", "首富", "总裁", "董事长",
                  "老板", "世子", "城主", "太子", "太子妃", "王爷", "皇后", "女帝",
                  "将军", "侯爷", "家主", "掌门", "夫人", "质子", "弃妃",
                  "医生", "律师", "警察", "学生", "外卖员", "打工人", "农民工"]
PLIGHT_WORDS = ["绝境", "死", "杀", "废", "赶出", "逐出", "跪下", "病危", "破产", "逼",
                "陷害", "诬", "夺", "抢", "辱", "威胁", "危机", "危险", "车祸", "重病",
                "离婚", "背叛", "失业", "欠", "债"]
GOAL_WORDS = ["我要", "必须", "一定要", "发誓", "报仇", "复仇", "逆袭", "夺回", "找回",
              "救", "守护", "任务", "目标", "扳倒", "揭穿"]

# E13 上帝视角/心理描写: 不可拍摄的抽象心理词(课08: 少写"心理", 多写"行为")
ABSTRACT_WORDS = ["心碎", "心如刀割", "痛彻心扉", "绝望", "崩溃", "仿佛", "似乎", "无尽的",
                  "深渊", "百感交集", "五味杂陈", "涌上心头", "万千思绪", "内心", "心里",
                  "心底", "思绪", "感慨", "惆怅", "黯然", "恍惚", "空洞", "迷茫",
                  "整个世界", "天崩地裂"]

OS_VO_PAT = r"(OS|VO|内心独白|画外音)"


def _is_dialogue(line):
    """对白行: 角色名(可选括号提示): 台词  —— 不以[ △ 【开头"""
    s = line.strip()
    if not s or s.startswith(("[", "△", "【", "#", ">")):
        return None
    m = re.match(r"^([\u4e00-\u9fa5A-Za-z0-9]{1,8})(([^)]*)|\([^)]*\))?\s*[::]\s*(.+)$", s)
    return m.group(3) if m else None


def _os_lines(text):
    """OS/VO 行: 含 OS/VO/内心独白/画外音 标记的台词行 -> [(行号, 原文)]"""
    out = []
    for i, line in enumerate(text.splitlines(), 1):
        s = line.strip()
        if s and re.search(OS_VO_PAT + r"\s*[::]", s):
            out.append((i, s))
    return out


def net_chars(text):
    """剧本文本体量: 仅计
        - 对白行台词
        - △ 动作指示行内容
        - 【本集断章卡点】画面描述
    剔除: 【所属阶段】【黄金前3秒钩子】【情绪流变】【本集时长】等字段行,
          以及 [场景]/[人物] 标记行(结构性元数据, 非剧本正文)
    """
    total = 0
    for line in text.splitlines():
        s = line.strip()
        if not s:
            continue
        d = _is_dialogue(s)
        if d is not None:
            body = d
        elif s.startswith("△"):
            body = re.sub(r"^△\s*", "", s)
        elif s.startswith("【本集断章卡点】"):
            body = re.sub(r"^【本集断章卡点】\s*[::]?\s*", "", s)
        else:
            continue  # 字段行【】/标记行[]/普通行 一律不计
        body = re.sub(r"[\s,。!?;:、…—\-·“”\"'‘’()()《》!?.]", "", body)
        total += len(body)
    return total


def is_anime(text):
    """漫剧/竖屏动画项目: 文本含 '漫剧' 即按漫剧体量档判 E1"""
    return "漫剧" in text


def is_long(text):
    """长档项目: 文本含 '长档' 即按长档体量判 E1/E3/E9/E11"""
    return "长档" in text


def resolve_profile(text, profile="auto"):
    """auto 档按正文自检: 含"长档"→long, 含"漫剧"→manju, 否则 standard"""
    if profile != "auto":
        return profile if profile in PROFILES else "standard"
    if is_long(text):
        return "long"
    if is_anime(text):
        return "manju"
    return "standard"


def net_band(text, profile):
    """按档位 + 是否漫剧返回正文体量区间"""
    if profile == "long":
        return (NET_LONG_ANIME_MIN, NET_LONG_ANIME_MAX) if is_anime(text) else (NET_LONG_MIN, NET_LONG_MAX)
    if profile == "manju":
        return NET_MIN_ANIME, NET_MAX_ANIME
    return (NET_MIN_ANIME, NET_MAX_ANIME) if is_anime(text) else (NET_MIN, NET_MAX)


def scene_count(text):
    return len(re.findall(r"^\[场景\]|^【场景】|^##?\s*场景", text, re.M))


def first_content_lines(text, n=3):
    out = []
    for line in text.splitlines():
        s = line.strip()
        if not s or s.startswith(("#", ">", "第", "【所属", "【黄金", "【情绪", "【本集时长", "[场景", "[人物", "【场景", "【人物")):
            continue
        out.append(s)
        if len(out) >= n:
            break
    return out


def validate(text, prev_texts=(), profile="auto"):
    profile = resolve_profile(text, profile)
    prof = PROFILES[profile]
    fails, warns = [], []
    nc = net_chars(text)
    lo, hi = net_band(text, profile)
    if not (lo <= nc <= hi):
        kind = "漫剧" if is_anime(text) else "实拍"
        fails.append(f"E1 [{profile}] 剧本文本体量 {nc} 不在 {lo}~{hi} 区间({kind}档)")

    for line in text.splitlines():
        d = _is_dialogue(line)
        if d:
            clean = re.sub(r"[\s,。!?;:、…—]", "", d)
            if len(clean) > SENT_MAX:
                warns.append(f"E2 单句台词 {len(clean)} 字(>{SENT_MAX}): {clean[:18]}…")

    sc = scene_count(text)
    if sc > prof["scenes"]:
        fails.append(f"E3 [{profile}] 场景数 {sc} >{prof['scenes']}")
    if sc == 0:
        warns.append("E3 未检出 [场景] 标记,无法核对场景数")

    head = "".join(first_content_lines(text))
    banned_hit = any(w in head for w in OPEN_BAN_WORDS)
    if banned_hit or not any(w in head for w in CONFLICT_SIGNALS):
        fails.append("E4 前3秒无冲突/命中开篇废镜头词(须直接切入冲突顶点,禁铺垫)")
    for w in OPEN_BAN_WORDS:
        if w in head:
            warns.append(f"E5 开篇疑似废镜头禁词「{w}」")

    if not re.search(r"【本集断章卡点】|\[本集断章", text):
        fails.append("E6 缺【本集断章卡点】段")
    else:
        seg = re.search(r"【本集断章卡点】(.{0,200})", text, re.S)
        if seg and not any(w in seg.group(1) for w in ["黑屏", "悬念", "下滑", "解锁"]):
            warns.append("E6 断章卡点缺黑屏/下滑解锁落点词")

    if not re.search(r"【情绪流变】.*(->|➔|➔|→)", text):
        warns.append("E7 缺【情绪流变】链条(应标: 遭受刁难 ➔ … ➔ 绝命断章)")

    rounds = 0
    my_lines = [d for d in (_is_dialogue(l) for l in text.splitlines()) if d]
    rounds = len(my_lines)
    if prof["midhook"] and not re.search(r"【本集中段小钩】|\[本集中段小钩", text):
        fails.append("E11 长档缺【本集中段小钩】(≈90 秒处必设新信息/新威胁,防滑走)")
    if rounds < prof["lines"]:
        warns.append(f"E9 [{profile}] 对白行仅 {rounds} 行(<{prof['lines']}),攻防结构不足")

    for prev in prev_texts:
        prev_set = set(re.sub(r"\s", "", p) for p in (_is_dialogue(l) for l in prev.splitlines()) if p)
        for d in my_lines:
            dd = re.sub(r"\s", "", d)
            if dd in prev_set and len(dd) >= 8:
                warns.append(f"E8 台词与前集复读: {dd[:16]}…")

    for w in REDLINE_WORDS:
        if w in text:
            fails.append(f"E10 合规一票否决类直观描写「{w}」")

    # E12 黄金三角(课03): 身份 / 困境 / 目标 三类信号至少各出现一次
    tri_missing = [name for name, words in
                   (("身份", IDENTITY_WORDS), ("困境", PLIGHT_WORDS), ("目标", GOAL_WORDS))
                   if not any(w in text for w in words)]
    if tri_missing:
        warns.append(f"E12 黄金三角缺项: {'/'.join(tri_missing)}"
                     "(前 30 秒须讲清 我是谁 / 我面临什么危机 / 我要做什么)")

    # E13 上帝视角/心理描写(课08): △动作行与 OS/VO 行的抽象心理词 + OS 单行过长
    os_lines = _os_lines(text)
    psych_scan = [l.strip() for l in text.splitlines() if l.strip().startswith("△")]
    psych_scan += [s for _, s in os_lines]
    shown = 0
    for s in psych_scan:
        for w in ABSTRACT_WORDS:
            if w in s:
                if shown < 3:
                    warns.append(f"E13 疑似上帝视角/心理描写「{w}」: {s[:36]}…"
                                 "(改为可被镜头拍到的行为/表情)")
                    shown += 1
                break
    for i, s in os_lines:
        body = re.sub(r"[\s,。!?;:、…—]", "", re.split(r"[::]", s, maxsplit=1)[-1])
        if len(body) > 50:
            warns.append(f"E13 第{i}行 OS/VO 过长({len(body)}字),"
                         "应转成对白或可表演动作(课09)")

    # E14 对白为主(课09): OS/VO 行数不得超过纯对白行的 1/3
    raws = [l.strip() for l in text.splitlines() if l.strip()]
    dlg_all = [l for l in raws if _is_dialogue(l) is not None]
    dlg_plain = [l for l in dlg_all if not re.search(OS_VO_PAT, l)]
    if os_lines and len(os_lines) > max(1, len(dlg_plain) // 3):
        warns.append(f"E14 OS/VO 行 {len(os_lines)} 条,超过对白行 {len(dlg_plain)} 的 1/3"
                     "(课09:对白为主,OS/VO 仅作辅助)")

    return fails, warns, nc


GOOD = """第【1】集:【龙王令·开局羞辱】
【黄金前3秒钩子】:极端羞辱
【情绪流变】:当众受辱 ➔ 隐忍握拳 ➔ 亮令反杀 ➔ 绝命断章
【本集时长】:105 秒
[场景]:内景·顶级私人会所·夜
[人物]:林辰(隐忍龙王)、陈峰(嚣张富二代)、苏清雪(未婚妻)

△ 特写:点燃的雪茄狠狠摁在林辰洗得发白的衣领上,青烟直冒,火星坠落。
△ 中景:陈峰搂着苏清雪,满脸鄙夷,包厢内保镖环立。
陈峰(吐出烟圈):跪下,把这杯脏水喝了,十万块救命钱,本少当场转给你。
苏清雪(冷漠):林辰,别不知好歹,认清你自己的身份。
△ 特写:林辰低垂的眼眸骤抬,垂在身侧的右拳缓缓握紧,指节泛白。
林辰(声音极低):三年前你陈家跪着求我救命时,也是这副嘴脸?
陈峰(恼羞成怒):你找死!给我废了他双手!
△ 四名保镖暴起扑上,林辰反手抓住领头手腕顺势一拧,骨裂声起,保镖倒飞砸碎整面酒柜。
△ 玻璃碎裂,酒水横流,全场死寂,陈峰踉跄后退撞翻茶几。
陈峰(色厉内荏):你……你敢动手?你知道我爸是谁吗?
林辰:在江城,能让我跪的,只有已故的先人。
△ 林辰从怀中掏出一枚九龙玄铁令,重重拍在桌上,震得酒杯齐齐炸裂。
林辰(字字如刀):传我龙王令,十分钟内,让江城陈氏集团彻底破产。
△ 特写:陈峰死死盯着令牌上的九龙图腾,双腿剧烈发抖,手机疯狂震动,来电显示"父亲"。

【本集断章卡点】:陈峰颤抖着接通电话,那头传来绝望哭嚎:"逆子,你到底得罪了谁?陈家彻底完了!"林辰一步踏出,居高临下逼近。(黑屏:下滑立即解锁第2集)
"""

BAD = """第【1】集
清晨,林辰起床拉开窗帘,太阳升起。他在路上慢慢走。
陈峰:林辰,你要知道,三年前你害死了我父亲,侵占了我们家三千万的财产,今天我一定要让你血债血偿,把我的东西全部还回来!
林辰:好的。
△ 他把断肢捡起来。
"""


def self_test():
    ok = 1
    f, w, nc = validate(GOOD)
    if f:
        print("FAIL self-test: GOOD 样例不应 FAIL:", f); ok = 0
    if nc < 100:
        print("FAIL self-test: GOOD 净字数异常", nc); ok = 0
    f, w, _ = validate(BAD)
    if not any("E1" in x for x in f):
        print("FAIL self-test: BAD 应报 E1 或字数异常"); ok = 0
    if not any("E4" in x for x in f):
        print("FAIL self-test: BAD 应报 E4 前3秒无冲突"); ok = 0
    if not any("E6" in x for x in f):
        print("FAIL self-test: BAD 应报 E6 缺断章"); ok = 0
    if not any("E10" in x for x in f):
        print("FAIL self-test: BAD 应报 E10 红线词"); ok = 0
    if not any("E5" in x for x in w):
        print("FAIL self-test: BAD 应报 E5 开篇禁词"); ok = 0

    # 回归1: 字段行不应灌入 E1 体量
    hdr_only = "第【1】集\n【所属阶段】:第X幕・(第 1/80 集 | 往返第 N 回合)\n【黄金前3秒钩子】:极端羞辱型(婚礼当众)\n【情绪流变】:受辱 ➔ 隐忍 ➔ 反杀 ➔ 绝命断章\n【本集时长】:108 秒\n[场景]:内景·会所·夜\n[人物]:林辰、陈峰\n"
    if net_chars(hdr_only) != 0:
        print("FAIL self-test: 纯字段/标记行应计 0 字,实得", net_chars(hdr_only)); ok = 0

    # 回归2: 以 △ 开场的废镜头剧本,E4 必须拦截
    boring = "第【1】集\n[场景]:内景·客厅·日\n[人物]:甲、乙\n△ 他慢慢走进客厅,端起茶杯喝了一口。\n△ 他看了看窗外。\n甲:今天天气不错。\n乙:是啊。\n甲:那先这样。\n乙:好。\n【本集断章卡点】:两人告别。(黑屏)\n"
    f, w, _ = validate(boring)
    if not any("E4" in x for x in f):
        print("FAIL self-test: △ 开场的废镜头剧本应报 E4"); ok = 0

    # 回归3: 漫剧档体量(260~400)应可用
    anime = "第【1】集:漫剧\n【情绪流变】:受辱 ➔ 隐忍 ➔ 反杀 ➔ 绝命断章\n[场景]:内景·堂·日\n[人物]:甲、乙\n" + "".join(f"△ 具体的物理动作行编号{i},可被镜头拍到的行为事件推进本集冲突。\n" for i in range(9)) + "甲:你确定要这么做?\n乙:我确定。\n甲:那就别怪我。\n乙:来吧。\n【本集断章卡点】:灯灭人散,只余一击。(黑屏:下滑解锁)\n"
    f, w, _ = validate(anime)
    if any("E1" in x for x in f):
        print("FAIL self-test: 漫剧档不应报 E1 区冲突:", [x for x in f if 'E1' in x]); ok = 0

    # 回归4: 台词硬上限 25
    longline = "第【1】集\n[场景]:内景\n[人物]:甲\n△ 拍桌。\n甲:这是超过二十五个字的长复合句用来触发告警检查是否生效一二三四五六七八。\n【本集断章卡点】:黑屏(黑屏)\n"
    f, w, _ = validate(longline)
    if not any("E2" in x for x in w):
        print("FAIL self-test: >25 字台词应报 E2"); ok = 0

    # 回归5: 长档(约3分钟)—— 双回合 + 中段小钩 + 体量 650~850,auto 档自检
    long_body = ("".join(f"△ 特写:巴掌扇到半空被反手抓住,第{i}个受力事件推进冲突升级。\n" for i in range(18))
                 + "".join(f"林辰:第{i}句短台词,带新信息与代价。\n" for i in range(14)))
    long_good = ("第【1】集:长档样例(长档·约3分钟)\n【本集时长】:180 秒\n"
                 "[场景]:内景·会所·夜\n[场景]:内景·走廊·夜\n[人物]:林辰、陈峰\n"
                 + long_body
                 + "【本集中段小钩】:手机亮起病危通知单,缴费截止今晚,对面按下挂断键。\n"
                 + "△ 林辰反手拧腕,骨裂声起,铁棍滚落。\n"
                 + "【本集断章卡点】:电话那头传来绝望哭嚎,陈峰双腿发抖。(黑屏:下滑解锁第2集)\n")
    f, w, nc = validate(long_good)
    if f:
        print("FAIL self-test: 长档样例不应 FAIL:", f, "体量", nc); ok = 0
    if not (NET_LONG_MIN <= nc <= NET_LONG_MAX):
        print(f"FAIL self-test: 长档样例体量 {nc} 应在 {NET_LONG_MIN}~{NET_LONG_MAX}"); ok = 0
    # 长档缺中段小钩 → E11
    f, _, _ = validate(long_good.replace("【本集中段小钩】", "【中段】"))
    if not any("E11" in x for x in f):
        print("FAIL self-test: 长档缺中段小钩应报 E11"); ok = 0
    # 显式 --format long 检标准档样本 → E1 + E11
    f, w, _ = validate(GOOD, profile="long")
    if not any("E1" in x for x in f):
        print("FAIL self-test: 标准档样本按 long 显式机检应报 E1"); ok = 0
    if not any("E11" in x for x in f):
        print("FAIL self-test: 标准档样本按 long 显式机检应报 E11"); ok = 0
    # 长档场景上限 3:4 场应报 E3
    f, _, _ = validate(long_good + "[场景]:内景·车库·夜\n[场景]:内景·天台·夜\n")
    if not any("E3" in x for x in f):
        print("FAIL self-test: 长档 4 场景应报 E3"); ok = 0

    # 回归6: 课程门 E12 —— 身份/困境/目标 三类信号全缺应告警
    tri_bad = ("第【1】集\n[场景]:内景·客厅·日\n[人物]:甲、乙\n"
               "△ 甲把杯子放在桌上,乙看了一眼。\n甲:今天天气不错。\n乙:是啊。\n"
               "【本集断章卡点】:两人各自低头。(黑屏)\n")
    _, w, _ = validate(tri_bad)
    if not any("E12" in x for x in w):
        print("FAIL self-test: 黄金三角三类信号全缺应报 E12"); ok = 0
    # GOOD 样例应同时具备三类信号,不得报 E12
    _, w, _ = validate(GOOD)
    if any("E12" in x for x in w):
        print("FAIL self-test: GOOD 样例不应报 E12:", [x for x in w if "E12" in x]); ok = 0

    # 回归7: 课程门 E13 —— 抽象心理描写应告警
    psych = ("第【1】集\n[场景]:内景·咖啡厅·夜\n[人物]:甲、乙\n"
             "△ 甲心碎了一地,仿佛整个世界都崩塌了,陷入无尽的绝望。\n"
             "甲:你走吧。\n【本集断章卡点】:咖啡凉透,人已离开。(黑屏)\n")
    _, w, _ = validate(psych)
    if not any("E13" in x for x in w):
        print("FAIL self-test: 抽象心理描写应报 E13"); ok = 0

    # 回归8: 课程门 E14 —— OS/VO 占比过高应告警
    osy = ("第【1】集\n[场景]:内景·客厅·日\n[人物]:甲\n"
           "甲OS:我在想我到底应不应该把昨天发生的那件事情告诉我的父亲由他来做决定。\n"
           "甲OS:可我又担心他会因此对我彻底失望,再也不肯相信我一次。\n"
           "甲OS:所以我决定先自己扛着,慢慢想办法把这件事解决掉。\n"
           "甲:好。\n【本集断章卡点】:甲把信折好放回口袋。(黑屏)\n")
    _, w, _ = validate(osy)
    if not any("E14" in x for x in w):
        print("FAIL self-test: OS/VO 占比过高应报 E14"); ok = 0
    # GOOD 样例无 OS/VO,不应报 E14
    _, w, _ = validate(GOOD)
    if any("E14" in x for x in w):
        print("FAIL self-test: GOOD 样例不应报 E14"); ok = 0

    print("[+] self-test PASSED" if ok else "[-] self-test FAILED")
    return 0 if ok else 1


def parse_args(args):
    """返回 (path, profile, prev_paths);用法错误抛 SystemExit(2)"""
    path, profile, prevs = None, "auto", []
    i = 0
    while i < len(args):
        a = args[i]
        if a == "--prev":
            i += 1
            while i < len(args) and not args[i].startswith("--"):
                prevs.append(args[i]); i += 1
            continue
        if a == "--long":
            profile = "long"
        elif a == "--manju":
            profile = "manju"
        elif a == "--format" or a.startswith("--format="):
            val = a.split("=", 1)[1] if "=" in a else (args[i + 1] if i + 1 < len(args) else "")
            if "=" not in a:
                i += 1
            if val not in PROFILES:
                print(f"[-] --format 只接受 {'/'.join(PROFILES)},收到「{val}」"); raise SystemExit(2)
            profile = val
        elif a.startswith("--"):
            print(f"[-] 未知参数「{a}」"); raise SystemExit(2)
        elif path is None:
            path = a
        i += 1
    return path, profile, prevs


def main():
    args = sys.argv[1:]
    if not args:
        print(__doc__); return 2
    if args[0] == "--self-test":
        return self_test()
    try:
        path, profile, prevs = parse_args(args)
    except SystemExit as e:
        return e.code or 2
    if not path:
        print(__doc__); return 2
    # 友好处理缺文件/编码错误(避免裸 traceback)
    try:
        text = open(path, encoding="utf-8").read()
    except FileNotFoundError:
        print(f"[-] 找不到剧本文件: {path}"); return 2
    except UnicodeDecodeError:
        print(f"[-] 文件不是 UTF-8 文本,无法读取: {path}"); return 2
    for p in prevs:
        try:
            open(p, encoding="utf-8").read()
        except (FileNotFoundError, UnicodeDecodeError):
            print(f"[-] 找不到或无法读取前集文件: {p}"); return 2
    prev_texts = [open(p, encoding="utf-8").read() for p in prevs]
    profile = resolve_profile(text, profile)
    fails, warns, nc = validate(text, prev_texts, profile)
    print(f"== {path}  [{profile} {PROFILES[profile]['label']}]  正文体量≈{nc} ==")
    for x in fails:
        print("[-] FAIL:", x)
    for x in warns:
        print("[!] WARN:", x)
    if fails:
        print("结果: FAILED(修复后重跑)"); return 1
    print("结果: PASSED" + ("(含 WARN 请复核)" if warns else ""))
    return 0


if __name__ == "__main__":
    sys.exit(main())
Bash Read series validator script

输入

cat scripts/validate_series.py

返回

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""short-drama-factory v3.2 全剧台账机检

用法:
    python3 validate_series.py <台账.md> [--episodes 80] [--script-dir 剧本目录]
    python3 validate_series.py --self-test

台账为 markdown 表格文件(templates/ledger.md 格式),四类账:
    伏笔账 / 人物账 / 道具账 / 世界观规则账

总集数 --episodes 决定付费墙区间:标准档 60/80/100 集;长档(约3分钟/集)30/40/50 集
(1 长档集 ≈ 2 标准集,墙集数减半,见 references/hongguo-beat-sheet.md §二/§四)。

检查项:
    S1  伏笔"拟收"超期: 状态含 埋/养/未收 且 当前集>拟收+3      WARN
    S2  伏笔废置: 状态"废"但正文未给废弃说明列               WARN
    S3  死人开口: 人物账状态含 死/失踪 但剧本目录中其后集数该角色有对白行  FAIL
    S4  人物无档案: 剧本目录出现【角色】名册外人名            WARN(需--script-dir)
    S5  断章缺失扫描: --script-dir 时逐集查【本集断章卡点】    FAIL(缺)
    S6  付费墙落位: 三档总集数下墙集区间内无"墙"标记行         WARN
    S7  台账必备四表齐全                                      FAIL(缺表)
退出码: 0=通过, 1=FAIL, 2=用法错误
"""
import re
import sys
import pathlib

WALL_RANGES = {60: [(8, 11), (21, 24), (41, 44)], 80: [(10, 15), (28, 32), (55, 58)], 100: [(13, 19), (35, 40), (68, 73)],
               # 长档(约 3 分钟/集):集数减半,墙集区间同步折算
               30: [(4, 6), (10, 12), (20, 22)], 40: [(5, 8), (14, 16), (27, 29)], 50: [(7, 10), (17, 20), (34, 37)]}
TABLE_KEYS = {"伏笔": "伏笔账", "人物": "人物账", "道具": "道具账", "规则": "世界观规则账"}


def _rows(text, section_kw):
    """取某账小节后的 markdown 表格数据行"""
    m = re.search(r"#+.*?" + section_kw + r".*?\n(.*?)(?=\n#+\s|\Z)", text, re.S)
    if not m:
        return None
    rows = []
    for line in m.group(1).splitlines():
        s = line.strip()
        if s.startswith("|") and not re.match(r"^\|[\s\-:|]+\|$", s):
            cells = [c.strip() for c in s.strip("|").split("|")]
            rows.append(cells)
    return rows[1:] if rows else []  # 去表头


def validate_ledger(text, total_eps=80, scripts=None):
    fails, warns = [], []
    # S7 四表存在
    for kw in TABLE_KEYS.values():
        if not re.search(r"#+.*?" + kw, text):
            fails.append(f"S7 台账缺「{kw}」表")
    # 当前集 = 台账"最后更新集"或剧本最大集数
    mm = re.search(r"当前集[::]\s*(\d+)", text)
    cur = int(mm.group(1)) if mm else (max(scripts) if scripts else total_eps)

    # S1/S2 伏笔账
    fb = _rows(text, "伏笔") or []
    for r in fb:
        if len(r) < 5:
            continue
        plan, state = r[3], r[4].strip()
        try:
            pn = int(plan)
        except ValueError:
            warns.append(f"S1 伏笔「{r[1][:12]}」拟收集数非数字: {plan}"); continue
        # 状态宽松匹配: 埋/养/未收 归为待收; "收"开头视为已收
        is_open = ("埋" in state or "养" in state or "未收" in state) and not state.startswith("收")
        if is_open and cur > pn + 3:
            warns.append(f"S1 伏笔「{r[1][:12]}」超期未收(拟收{pn}集,现{cur}集,状态{state})")
        if state.startswith("废") and (len(r) < 6 or not r[5]):
            warns.append(f"S2 伏笔「{r[1][:12]}」标废但未写原因")

    # S3 死人开口
    dead = {}
    for r in (_rows(text, "人物") or []):
        if len(r) < 3:
            continue
        if re.search(r"死|殒|失踪", r[2]):
            mm2 = re.search(r"(\d+)", r[4] if len(r) > 4 else r[2])
            dead[r[0].strip()] = int(mm2.group(1)) if mm2 else cur
    if scripts:
        for ep in sorted(scripts):
            for name, at in dead.items():
                if ep > at:
                    body = scripts[ep]
                    if re.search(r"^" + re.escape(name[:4]) + r"(\(|(|[::])", body, re.M):
                        fails.append(f"S3 「{name}」第{at}集后状态死亡/失踪,但第{ep}集有对白")

    # S4 名册外角色
    roster = {r[0].strip() for r in (_rows(text, "人物") or []) if len(r) > 0}
    if scripts and roster:
        NOISE = {"第", "场景", "人物", "本集", "所属", "黄金", "情绪", "备注", "接上",
                 "声音", "旁白", "画外音", "内心独白", "镜头", "字幕", "提示", "音效"}
        for ep in sorted(scripts):
            seen = set()
            for m2 in re.finditer(r"^([\u4e00-\u9fa5A-Za-z0-9]{1,8})(?:([^)]*)|\([^)]*\))?\s*[::]", scripts[ep], re.M):
                nm = m2.group(1)
                if nm in NOISE or nm in seen:
                    continue
                seen.add(nm)
                if nm not in roster and not any(nm in x or x in nm for x in roster):
                    warns.append(f"S4 第{ep}集台词角色「{nm}」不在人物账名册")

    # S5 断章缺失
    if scripts:
        for ep in sorted(scripts):
            if not re.search(r"【本集断章卡点】|\[本集断章", scripts[ep]):
                fails.append(f"S5 第{ep}集缺【本集断章卡点】")

    # S6 付费墙标记
    ranges = WALL_RANGES.get(total_eps, WALL_RANGES[80])
    # 收集台账中"墙+集数"标记: 如 "一级墙 第12集" 或 "第12集(墙)"
    marks = []
    for m in re.finditer(r"墙[^\n]{0,12}?(\d+)\s*[-~至]?\s*(\d+)?", text):
        marks.append(int(m.group(1)))
        if m.group(2):
            marks.append(int(m.group(2)))
    for lo, hi in ranges:
        if not any(lo <= x <= hi for x in marks):
            warns.append(f"S6 未见付费墙落在第{lo}~{hi}集区间(三档各需一条'X级墙 第N集'标记)")
    return fails, warns, cur


LEDGER_GOOD = """# 台账:demo 项目
当前集: 30

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 | 旧怀表 | 3 | 28 | 收 | 已当众展开 |
| FB-02 | 神秘来电 | 12 | 31 | 养 | 反派内讧线 |

## 人物账
| 角色 | 首出 | 状态 | 关系 | 变动集 | 备注 |
|---|---|---|---|---|---|
| 林辰 | 1 | 存活 | 主角 | 30 | |
| 陈峰 | 1 | 死亡 | 敌 | 25 | 第25集坠楼 |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
| 玄铁令 | 林辰 | 怀中 | 12 |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
| 龙王令只一次 | 12 | 25 | 否 |

付费墙落位: 一级墙 第12集(中点转换) / 二级墙 第30集 / 三级墙 第56集
"""

EP_GOOD = """第【3】集
[场景]:内景·大堂
△ 巴掌甩到半空停住。
陈峰:签了它。
林辰:你确定?
【本集断章卡点】:门外齐跪,"参见殿下"喊到一半——(黑屏)
"""
EP_BAD = """第【4】集
[场景]:内景·大堂
△ 对峙。
林辰:滚。
陈峰:好。
"""


def self_test():
    ok = 1
    scripts = {3: EP_GOOD, 4: EP_BAD}
    f, w, cur = validate_ledger(LEDGER_GOOD, 80, scripts)
    if not any("S5" in x and "第4集" in x for x in f):
        print("FAIL self-test: 第4集缺断章应报 S5:", f); ok = 0
    if any("S1" in x for x in w):
        print("FAIL self-test: 未超期不应报 S1:", w); ok = 0
    # 死人开口: 给第30集加陈峰对白
    scripts2 = {3: EP_GOOD, 4: EP_BAD, 30: "第【30】集\n[场景]:内景·大宅\n△ 对峙。\n陈峰(阴笑):我回来了。\n【本集断章卡点】:灯灭。(黑屏)\n"}
    f2, _, _ = validate_ledger(LEDGER_GOOD, 80, scripts2)
    if not any("S3" in x for x in f2):
        print("FAIL self-test: 死人开口应报 S3:", f2); ok = 0
    if any("S5" in x and "第30集" in x for x in f2):
        print("FAIL self-test: 第30集有断章不该报 S5"); ok = 0
    f3, _, _ = validate_ledger("空台账", 80)
    if len([x for x in f3 if x.startswith("S7")]) < 4:
        print("FAIL self-test: 空台账应报 4 条 S7:", f3); ok = 0

    # 回归: S1 状态宽松(已埋/未收 也算待收) + S4 噪音名过滤
    led2 = LEDGER_GOOD.replace("| FB-02 | 神秘来电 | 12 | 31 | 养 | 反派内讧线 |",
                               "| FB-02 | 神秘来电 | 12 | 8 | 已埋 | 反派内讧线 |")
    f4, w4, _ = validate_ledger(led2, 80, scripts)
    if not any("S1" in x and "FB" not in x or "神秘来电" in x for x in w4):
        print("FAIL self-test: 状态'已埋'超期应报 S1:", w4); ok = 0
    ep_noise = {5: "第【5】集\n[场景]:内景\n△ 拍桌。\n声音:轰鸣。\n林辰:谁?\n陈峰:我。\n【本集断章卡点】:黑屏(黑屏)\n"}
    _, w5, _ = validate_ledger(LEDGER_GOOD, 80, ep_noise)
    if any("「声音」" in x for x in w5):
        print("FAIL self-test: '声音:' 旁白不应报 S4:", w5); ok = 0

    # 回归: S4 同集同角色多行台词只报一次(去重)
    ep_dup = {9: "第【9】集\n[场景]:内景\n△ 对峙。\n陌生人:你是谁?\n陌生人:说话!\n陌生人:再不说我动手了。\n林辰:别急。\n【本集断章卡点】:黑屏(黑屏)\n"}
    _, w6, _ = validate_ledger(LEDGER_GOOD, 80, ep_dup)
    dup_cnt = sum(1 for x in w6 if "「陌生人」" in x)
    if dup_cnt != 1:
        print(f"FAIL self-test: S4 同名角色应只报 1 次,实得 {dup_cnt}", w6); ok = 0

    # 回归: 长档付费墙区间(40 集长档:一级 5~8 / 二级 14~16 / 三级 27~29)
    led_long = LEDGER_GOOD.replace(
        "付费墙落位: 一级墙 第12集(中点转换) / 二级墙 第30集 / 三级墙 第56集",
        "付费墙落位: 一级墙 第6集(中点转换) / 二级墙 第15集 / 三级墙 第28集")
    _, w7, _ = validate_ledger(led_long, 40)
    if any("S6" in x for x in w7):
        print("FAIL self-test: 长档 40 集墙落位不应报 S6:", w7); ok = 0
    _, w8, _ = validate_ledger(LEDGER_GOOD, 40)
    if not any("S6" in x for x in w8):
        print("FAIL self-test: 标准档墙集数按长档 40 集核对应报 S6:", w8); ok = 0

    print("[+] self-test PASSED" if ok else "[-] self-test FAILED")
    return 0 if ok else 1


def main():
    args = sys.argv[1:]
    if not args:
        print(__doc__); return 2
    if args[0] == "--self-test":
        return self_test()
    try:
        led = pathlib.Path(args[0]).read_text(encoding="utf-8")
    except FileNotFoundError:
        print(f"[-] 找不到台账文件: {args[0]}"); return 2
    except UnicodeDecodeError:
        print(f"[-] 台账不是 UTF-8 文本: {args[0]}"); return 2
    total = 80
    if "--episodes" in args:
        try:
            total = int(args[args.index("--episodes") + 1])
        except (IndexError, ValueError):
            print("[-] --episodes 需要一个整数"); return 2
    scripts = None
    if "--script-dir" in args:
        try:
            d = pathlib.Path(args[args.index("--script-dir") + 1])
        except IndexError:
            print("[-] --script-dir 需要一个目录路径"); return 2
        if not d.is_dir():
            print(f"[-] 剧本目录不存在: {d}"); return 2
        scripts = {}
        for p in sorted(d.glob("*.md")):
            m = re.search(r"(\d+)", p.stem)
            if m:
                try:
                    scripts[int(m.group(1))] = p.read_text(encoding="utf-8")
                except UnicodeDecodeError:
                    print(f"[-] 跳过非 UTF-8 剧本: {p}")
    fails, warns, cur = validate_ledger(led, total, scripts)
    print(f"== {args[0]}  总集数={total} 当前集={cur} ==")
    for x in fails:
        print("[-] FAIL:", x)
    for x in warns:
        print("[!] WARN:", x)
    if fails:
        print("结果: FAILED"); return 1
    print("结果: PASSED" + ("(含 WARN)" if warns else ""))
    return 0


if __name__ == "__main__":
    sys.exit(main())

思考 1 秒

Bash Read topic selection, genre map, outline template

输入

cat references/topic-and-ip-selection.md references/genre-map.md templates/outline.md

返回

# 选题与 IP 判断(课程 02 + 课程 10 微创新)

> 来源:白羊工作室·刘扬《揭秘题材与 IP 选择的底层逻辑》(红果《短剧编剧第一课》02 期)、燕北《网文作者转型实战指南》(10 期)。
> 用途:**选题门**的权威文件。立项第一步读本文件;判不过不许动笔。

---

## 一、 第一原则

> **题材本身没有高下与优劣之分。决定其生命力的,是情绪的普适性和创意的新鲜度。**

市场三阶段演进(用来判断一个题材处在什么生命周期):

| 阶段 | 特征 | 拼什么 |
|---|---|---|
| 强情绪驱动(早期) | 脱胎于小说投流,贴近生活、节奏紧凑、人设鲜明 | 情绪张力 |
| 微创新过渡 | 单一模板泛滥,开始改身份、加「预知未来/特殊能力」 | 新鲜感 |
| 精品化多元(免费模式后) | 变现转向停留时长 + 广告分成,生活流、年代/历史题材兴起 | 质感与完成度 |

**理解成本铁律**:观众看不懂的设定活不下来。「系统」类设定因部分用户难以理解,业内常改成「透视眼」「修仙」等更具体的形态。

---

## 二、 常青题材 vs 脑洞设定

| | 常青型题材 | 脑洞设定题材 |
|---|---|---|
| 代表 | 都市情感、古装传奇、奇幻玄幻、家庭伦理 | 一眼抓人的强设定 |
| 优势 | 天然承载普世情绪,不依赖特殊设定 | 开篇抓人快、差异化明显 |
| 风险 | 容易同质化 | 第一部惊艳,同套路多了审美疲劳 |
| 拼什么 | **完成度**:情感真实、逻辑自洽、人物塑造有层次 | **差异化创新**:能否在已有设定上做出有效创新 |

热门题材的破法:「把新酒装进旧瓶」。市场上很多爆款都是对已有题材的再创作,关键在于两点——**有没有找到新的切入点**,以及**在剧情密度、节奏控制、人设立体度上是否做得比别人更扎实**。

---

## 三、 IP 改编 vs 原创

**IP 改编**:自带粉丝、内核经过市场验证、试错成本低;但赛道拥挤,原著粉对改编极敏感,两边都可能落空。

- 参考做法(《冒姓琅琊》):坚持**充分尊重原著内核**——能从海量作品里脱颖而出,其内核必然有市场吸引力。保留约 **60% 核心剧情**,在叙事节奏上按短剧受众习惯调整。改编不是照搬,是一次精心设计的短剧再创作。

**原创**:不拥挤、不撞车,创作自由度高;但极度依赖编剧个人能力,且没有粉丝托底、没有市场数据验证。

- 参考做法(《我在天庭收破烂》):用鲜明身份反差打破固有认知——「收破烂」×「天庭」。

---

## 四、 四条黄金准则(判断一个 IP 值不值得投)

### 准则 1:核心创新点 —— 人无我有,人有我优

两种主要创新形式:

- **梗的创新**:热门题材 × 网络热梗。例:《九个太阳,我们是九个外甥女》把「舅舅带外甥女」热梗融进都市传奇。
- **金手指的创新**:跳出常规设定。例:《重生五八,我靠拒绝系统发家致富》不做「绑系统做任务」,而做「拒绝系统」——主角面对道德绑架只要说「不」就获奖励,既新鲜又击中情绪共鸣点。

### 准则 2:情绪张力足、节奏快、矛盾冲突密集

- **强烈的情绪点**:自带清晰、鲜明、有穿透力的情绪内核。不需要复杂铺垫,但要足够直接真实,能让观众迅速产生「想看下去」的冲动。
- **节奏为王**:开篇即入戏,结尾留悬念。每一句台词、每一个镜头都要服务于推进剧情、强化情绪或制造张力,全程「无尿点」。
- **冲突密度**:遵循「平衡—打破—重建—再打破」的高频循环。每次冲突都推动人物关系或故事走向,而不是原地打转。

### 准则 3:视觉化程度高,场景易落地

要有鲜明视觉符号、典型场景或可具象化的设定。高难度视觉化要谨慎——原创妖兽带来建模渲染成本翻倍;湖面打斗仅威亚与搭景就极贵。新人优先选「场景简单、道具常见、特效需求低」的 IP。

### 准则 4:人设立得住,共鸣感强

> **好人设的黄金法则只有一条——代入感 > 脸谱化。**

能让观众追下去的不是完美无缺的「龙傲天/傻白甜」,而是有真实动机、成长弧光、甚至带点小缺陷的「活人」。融合传统文化、家国情怀等高价值题材时,人物更要「接地气」——宏大主题只有通过具象化的人物经历传递,才不会悬浮空洞。

---

## 五、 选题评估五问(选题门的执行清单)

拿到任何题材/IP,先**把模糊的「感觉」变成清晰的判断维度**:

1. 目标用户是谁?
2. 核心情绪共鸣点是否明确?
3. 视觉化落地难度高不高?
4. 有没有踩政策红线?
5. 有没有市场数据支撑?

五问里任意一个答不上来,先改题,不要动笔。

---

## 六、 选题三步法(怎么找到该写什么)

1. **扫榜,而非凭空想象**。红果短剧 App 的热播榜、飙升榜是最真实即时的市场反馈,背后是千万用户的点击与完播数据。养成每日观察的习惯。扫榜时不只看「什么在火」,更要问「**为何会火**」和「**趋势能持续多久**」。
2. **在模仿中建立手感**。选一部近期热门短剧,拆解开场节奏、冲突设置、台词密度,用自己的语言重写一集(**仅供学习,严禁投稿**)。
3. **选择能让你「写嗨」和让观众「看嗨」的题材**。再精准的市场判断也抵不过创作者内心的共鸣;读某个 IP 时若迅速产生画面感、情绪涌动、迫不及待想动笔,说明你与这个内核有化学反应。

**时机**:若某题材已经火了一个月才跟进,「等你上桌后菜已经不热了」。但剧情向、精品化内容不必盲目求快,核心在「稳」和「深」。

---

## 七、 微创新三法(避免同质化的突围路径)

新人**循序渐进**地使用,不要一上来就做高阶融合。

| 层级 | 方法 | 要点与示例 |
|---|---|---|
| 入门 | **人设创新**(最安全的突破口) | 调整角色身份或性格。某爆款女主做了三重差异化:新颖职业身份 + 「萌妹外表」×「干练强势」的反差 + 甜妹属性 |
| 进阶 | **背景创新** | 把场景从都市写字楼/高档公寓移到乡村、边陲小镇或特定行业。**要求对该环境有了解或做过调研**,避免细节失真削弱代入感 |
| 高阶 | **叙事视角与情绪逻辑创新** | 击中观众「未言之痛」。当多数作品还在走「隐忍—爆发—逆袭」时,调整角色的情绪反应方式。例:《穿越古代儿孙满堂》男主面对父母过度要求时不妥协也不说教,而是「放下包袱、不按常理出牌」——精准呼应现实中许多人「想说却不敢说」的挣扎 |

更高阶的元素融合(民俗、国学经典)或情怀升华上限极高,但要求严苛。**建议先掌握人设、背景等基础维度,积累 2–3 部成功作品后再尝试复杂融合。**

**(课程 10 补充的三条思路)** 形式创新(性转、时代背景互换)/ 题材融合(年代重生 + 东北方言 + 家庭群像 + 喜剧)/ 人设创新(打破非黑即白的扁平角色)。

> 创新不是颠覆,那样试错成本太高,微创新就很好。创新的目的是更好地抓住观众,而不是为了创新而创新。

---

## 八、 三大雷区(新人高频踩坑)

### 雷区 1:价值观导向偏差

敏感元素和价值观问题处理不当,会直接影响作品呈现并带来风险。「合规是底线,不是选项」——务必在**动笔前**厘清创作边界,优先选择积极正向、符合主流价值的叙事方向。细化清单见 `shooting-feasibility.md` §二。

### 雷区 2:人设脱离目标用户

男频题材里热衷律师、投行精英、海归博士等「高知」角色,却忽视了核心受众(尤其三四线市场观众)对这类身份的天然距离感。

**补救方式**:通过剧情把精英「落地」——让精英律师回乡为村民免费打官司,让金融才俊返乡创业种地。只有人物行为逻辑贴近真实生活,才能打破身份壁垒建立情感连接。

**更需警惕的是风格与画像的严重错位**:目标用户是三四线城市中年人,却塑造一个日系二次元男主——这种根本性偏差会让作品从源头失去触达目标受众的可能。

### 雷区 3:制作难度过高

动辄写百万大军攻城,或执意安排湖面打斗场景——视觉冲击强,但预算、技术、调度要求极高。**市场是否接受才是最终评判标准**:如果某创意在市场上已有多个同类项目失败的先例,那就是最真实的反馈信号。

---

## 九、 剧本命名

剧本名是**过稿的第一道关卡**——审核人员精力有限,一个抓眼的名字能让你的剧本在海量稿件中获得「被点开」的机会。

- IP 改编起名尽量**保留原著核心关键词**,降低用户认知成本(如《穿越古代儿孙满堂》直接沿用书名)。
- 原创起名要**抓卖点**:让审核一眼知道「讲的是什么、有什么看点」。
- 剧名应与内容基调和目标受众预期相契合;偏叙事/艺术表达的作品可保留一定调性,关键是整体协调,避免理解错位。

---

## 十、 能力闭环

选题能力不是与生俱来,而是靠 **观察 → 分析 → 创作 → 复盘** 的闭环积累出来的。定期观察榜单变化,深入拆解优质案例,才能从「旁观热闹」走向「掌握门道」。
# 短剧赛道题材全图(Genre Map · 男频/女频/中性 12+ 赛道)

> v3.0 扩容:v2.0 仅 4 条赛道。本图为 `/立项大纲` Step 0 的赛道锚定权威,每条含:底层心理、情绪契约与单元执念模板(情绪流用)、标准爽点密度、代表套路链。立项单四件套之"执念一句话"= **单元A 执念**,全剧锚另填"情绪契约一句话"。

---

## 一、 男频(核心情绪:尊严翻盘、碾压、护短、补偿)

| 赛道 | 底层心理 | 一句话执念模板 | 爽点密度 |
|---|---|---|---|
| 战神/龙王归来 | 权力补偿 | 他不信/不跪:你们口中废物真是你们的王 | 每集1小爽(打脸),每回合1大爽(跪拜) |
| 万亿神豪 | 金钱跃迁 | 不认:你买得起的东西我买不起? | 消费碾压连击,付费墙断在"亮卡前一瞬" |
| 赘婿隐忍 | 尊严延迟兑现 | 不服:今天你们踩我,明天我踩你们全家 | 憋屈:释放≈3:1,中点前密集憋屈 |
| 出狱/归乡复仇 | 因果清算 | 不认:我坐的牢你们忘了? | 每出一个旧敌=一档证据 |
| 逆袭打脸(职场/鉴宝/医术) | 专业碾压 | 不信:你这行我玩剩下的 | 每集1个专业名场面 |
| 规则怪谈(男频向) | 智斗掌控 | **剧情流**:不遵守就死,遵守到最后一格赢 | 每3集揭一条规则,规则=武器 |

## 二、 女频(核心情绪:解恨、代偿、被爱证明、手撕伪善)

| 赛道 | 底层心理 | 执念模板 | 爽点密度 |
|---|---|---|---|
| 重生虐渣 | 重来掌控 | 不饶:上一世的账这一世一笔一笔收 | 每集撕一层伪装 |
| 真假千金 | 身份正名 | 不认:我血里的身份轮不到你们盖章 | 掉马节奏:三档掉马(小圈层→家族→天下) |
| 带球跑/追妻火葬场 | 高傲者低头 | 不给:当年你爱答不理 | 男频结构反转:施压方=男主,观众爽点是"他跪" |
| 大女主复仇/事业线 | 能力自证 | 不让:位置是我拿命换的 | 商战/技艺回合化,每回合赢一单 |
| 手撕婆媳/绿茶 | 清算伪善 | 忍够:你们作的每个谣我都记着 | 反灌输:谣言档档升级,反击集集见效 |
| 极致虐恋先虐后甜 | 情感确认 | 不信:他说的爱是有期限的骗局 | 付费墙断在"误会证据档4" |

## 三、 中性/合家欢

| 赛道 | 底层心理 | 执念模板 |
|---|---|---|
| 萌宝神助攻 | 亲情+爽感 | 不认:我爸不认识我,我认识我爸 |
| 中老年/家庭伦理(下沉市场) | 公道回报 | 不甘:我养大的孩子不认我 |
| 悬疑脑洞 | 解谜 | **剧情流**:不闭环不罢休 |
| 年代/逆袭 | 时代补偿 | 不信:这个时代亏欠我的我亲手拿回 |

---

## 四、 赛道×流派速查

- 情绪流主场:男频前 5、女频全部、萌宝、家庭伦理、年代 → 走 `emotion-flow-roundtrip.md`;
- 剧情流主场:规则怪谈、悬疑脑洞、部分智斗职场 → 走 `hongguo-beat-sheet.md` §四;
- 立项单必须写:`赛道=__ |流派=__ |执念一句话=__ |爽点密度=__`,四项缺一不进 Step 1。
# 立项大纲模板(课程 04)

> 来源:刀锋工作室·周怀宇《揭秘主线设计的底层逻辑》(红果《短剧编剧第一课》04 期)。
> 用途:立项模式(`/立项大纲`)的交付格式。
> **铁律:大纲不是「给编辑看的敲门砖」,是施工图纸。** 房子盖好了再画图纸毫无意义;没图纸就动工,盖到一半必然歪。

---

## 一、 一句话故事(第一道门槛)

四个核心要素必须齐全:**主角 + 目标 + 阻碍 + 亮点(金手指或独特设定)**

> ❌ 不合格:「一个男孩重生复仇的故事。」——点出了类型,但没有具体信息,无法传递独特性和情绪张力。
>
> ✅ 合格:「首富男主重生归来,利用先知能力,向如今位高权重、并已对自己起杀心的背叛兄弟发起复仇。」
> 拆开看:主角身份(曾是首富,现已重生)、终极目标(复仇)、主要阻碍(兄弟权势滔天且已布下杀局)、核心亮点(重生带来的先知能力赋予翻盘底气)。

**判断标准**:这句话同时也是投稿时编辑判断「是否值得推进」的关键。

---

## 二、 大纲三部曲(写什么)

### 1. 故事梗概 —— 抓住灵魂

不要从「盘古开天地」写起。**聚焦主线,只写关键高光桥段**——尤其是那些「让你半夜兴奋到睡不着」的情节。

先把这些精彩碎片记下来防止遗忘,**这也是你故事最核心的吸引力所在**。

### 2. 人物小传 —— 赋予血肉

为主角、反派及关键配角建立档案,明确:**背景、性格、核心目标、记忆点**。

> 作用:确保角色行为逻辑自洽,避免「脸谱化」。
> 例:一个爱吃棒棒糖的「反差萌总裁」,就比千篇一律的「高冷总裁」更具辨识度。

人物小传格式与「四件套」(动机/秘密/弧光/语言指纹)见 `references/character-bible.md`。角色数量配额见 `references/shooting-feasibility.md` §四.3。

### 3. 看点亮点 —— 锁定靶心

用一两句话总结「这个故事凭什么成为爆款」——是极致的反转打脸,还是细腻的情感拉扯?

> 这一步是写给自己看的「定心丸」,确保全程不偏离核心卖点。

---

## 三、 篇幅与格式

- **阶段撰写**:按阶段写(如前 10 集),不是一次写完全剧。
- **总字数控制在 500 字左右**。过长不如直接写正文;过短则无法展现核心情节与人设。
- **合格大纲必须包含**:故事背景、出场人物、阶段核心事件、关键悬念/冲突/高光卡点。

---

## 四、 模板

```text
剧名:《XXX》
类型:都市情感 / 古装权谋 / 悬疑 / 穿越 / 男频逆袭 …
体裁:竖屏微短剧
档位:标准档(90~120 秒)/ 长档(约 3 分钟)/ 漫剧档(60~90 秒)
集数:60 / 80 / 100(长档 30 / 40 / 50)
故事亮点:一句话卖点
目标受众:人群 + 情绪导向(获得感 / 关系感)

【一句话故事】
主角(        )+ 目标(        )+ 阻碍(        )+ 亮点(        )

【故事背景】
100~200 字,讲清世界、身份、起点困境。

【出场人物】
主角名:外貌年龄 __,身份 __。性格 __。核心目标 __。记忆点 __。
反派名:……
关键配角:……
(核心 3~5 人;其余角色不超过 20 人)

【阶段规划】
第一阶段·开场       :绝境建立 + 主线目标亮相 + 第一个情绪点
第二阶段·剧情发展   :______
第二阶段·剧情深入   :______
第四阶段·结局       :______(注意:一定要多做剧情高光点,尤其结尾处)

【核心悬念与高光】
开场高光:______(第一个高光点必须写好)
中段反转:______
终局对决:______

【主要信息差】
本剧主要采用的信息差模型:______(见 references/expectation-suspense-hook.md §三)

【主线目标拆解】
终极目标:______
阶段目标 1:______    阶段目标 2:______    阶段目标 3:______
```

---

## 五、 主线构思三问(动笔前先自问)

### 1. 你的故事能否用「一句话」讲清?

见 §一。**这是检验主线是否成立的第一道门槛。**

### 2. 你的主角能否让人「一秒共情」?

> 「共情的基础是激发情绪,但更关键的是让观众喜欢并心疼主角。」

主角被欺辱会引发愤怒;但如果主角本身**善良努力,却遭遇恩将仇报**,这种情绪会更强烈、更持久。

> 例(《七零辣妻治家手册》):女主任劳任怨、朴实善良,却在家中得不到应有尊重,受尽忽视和苛待。这种「**良善受欺**」的反差,瞬间让观众产生「好人不该受这罪」的共鸣,并期待她接下来的反击与翻身。

### 3. 你的故事是为谁而写?

不同的主线天然吸引不同受众,构思阶段就必须明确:

| 维度 | 倾向 |
|---|---|
| 男频 | 偏好「小人物逆袭」带来的情绪和新奇体验 |
| 女频 | 更注重情感细腻度、CP 感和人设吸引力 |
| 年轻观众 | 对「重生」「系统」「穿书」等创意接受度更高 |
| 更成熟的观众 | 更喜欢接地气、能引发深刻情绪共鸣的现实题材 |

---

## 六、 主线的作用:定调 / 串联 / 聚焦

> 主线就像人的脊梁骨。它决定了你站得直不直、走得稳不稳。没有这根「脊梁」,故事就无法定调、串联和聚焦。

| 作用 | 含义 |
|---|---|
| **定调** | 告诉观众这是什么类型的故事。复仇线:紧张、压抑、充满对抗;甜宠线:轻松、温暖、带糖分。目的是让观众在前几集就能判断「哦,这是我爱看的!」 |
| **串联** | 把看似独立的情节串成一条线 |
| **聚焦** | 在有限篇幅里做减法。短剧一集通常只有 1~3 分钟、全剧多为 80~100 集,主线不清很容易堆砌「看起来很热闹但没用」的剧情 |

> **对短剧来说,主线不是「锦上添花」,而是「重要准绳」。时长越短,主线越要清晰和突出。**

**主线模糊的三大困境**:

1. 编剧写不清、观众看不懂——追了十几集还不知道主角究竟想做什么。
2. 情节散掉——东一榔头西一棒槌,情绪无法层层累积,观感如同流水账。
3. 创作跑偏——开篇是热血复仇,中途沉迷恋爱日常,主线不知不觉断裂。

---

## 七、 改编与原创的主线孵化

### IP 改编:淘金与串珠

> 「已有的 IP 故事就像一座富矿。里面有闪闪发光的金子和宝石——高能情节、情绪爆点;但也掺杂着大量泥土——日常铺垫、支线冗余。我们的工作,就是找到一条最闪光的'主线之线',把所有精华串成一条夺目的项链,而那些无关紧要的部分,该舍弃就要果断舍弃。」

> 例(《被读心后成了万人迷》):原著人物繁多、感情线庞杂。改编团队没有拘泥于原设定,而是**原创了一条清晰的核心目标**——「穿书女主为拯救即将被害死的哥哥们,不断改变命运」。这条新主线情感驱动力强,又能自然串联原著高光片段,最终形成节奏紧凑、情绪连贯的 95 集短剧。

### 原创开发:让点子「长」成故事

从一个微小灵感出发,通过**拓展、戏剧化、目标化**构建叙事骨架。

> 例:「裁员裁到大动脉」这个点子太小,撑不起一部剧。升级路径:
> 主角被裁后目标是什么?仅仅是「不被裁」吗?不够。升级为「**完成个人和职场的双重逆袭**」。
> 目标一旦确立就能衍生剧情:潜心收集证据、深挖公司黑幕 → 联合曾被不公对待的前同事反向创业 → 最终在行业峰会当众揭露真相,打脸前老板。

> **无论是改编还是原创,好主线的本质,都是用一个清晰的目标点燃观众期待,并一路高能到底。**

---

## 八、 主线验收:自检 + 他审

### 1. 自我检查

- 主角的**终极目标是否具体、有情绪张力**?
- 拆出的**阶段性目标**能否形成层层递进、环环相扣的剧情线?
- 每一集的行动是否都围绕核心展开?

> 例(《白月光悖论》):终极目标非常明确——在爷爷寿宴上顺利与男配离婚。阶段性任务:通过接近男配的兄弟们搜集丈夫出轨的关键证据。每一集都围绕这个核心展开——拉拢盟友、设局取证、应对反扑。

### 2. 第三方评估(他者视角扫雷)

专业审稿人常从两个角度质疑:

- **主线是否「断裂」或「迷失」**:写到十几集,主角核心目标已经达成,后续失去驱动力,只能硬编日常或强行加新冲突。
- **主线是否「缺乏吸引力」**:女主的目标缺乏情感张力,而剧中感情副线更精彩,导致主线被边缘化、故事内核松散。

> 「创作容易陷入自我沉浸,而最浅显的问题往往自己看不见。主动向平台编审或行业伙伴请教,不是能力不足,而是对作品负责。」

---

## 九、 三大坑

### 坑 1:把大纲写成「流水账」

按时间顺序罗列事件——「女主 7 岁被欺负 → 18 岁考上医学院 → 22 岁进家族医馆 → 23 岁被赶出门」。

> **大纲不是「记事本」。** 它应聚焦于**改变人物命运、推动核心目标的关键事件**,而非平铺直叙的人生历程。观众关心的不是「她过去经历了什么」,而是「她接下来要做什么、能不能赢」。

### 坑 2:让「副线」喧宾夺主

主线本是「女主复仇夺回家产」,却用大量篇幅写她与男配的情感拉扯、帮闺蜜调解矛盾、参加无关聚会。这些支线或许能「丰富人设」,但**若与主线目标无关,便会持续稀释故事的张力与观众的期待**。

> 好的副线应是主线的「助攻」,而非分散注意力的「杂音」。

### 坑 3:陷入「幸存者偏差」

「为什么有些剧看起来主线模糊,甚至没有主线,却照样爆了?」——这种观察忽略了两个事实:

1. 你只看到了极少数「例外」成功的案例,却忽视了背后**无数因主线薄弱而被市场淘汰的作品**。
2. 个别作品或许能依靠强大演员阵容、精美制作或高概念视觉呈现来暂时弥补主线不足——那是制作方用其他资源填补了故事短板,**并不意味着「主线不重要」**。

> 「对新人来说,你无法控制演员、预算或宣发,唯一能牢牢把握的,就是一条清晰、有力、贯穿始终的主线。」

---

## 十、 参考范例(结构示意)

> 以下是原文给出的工作室内部案例《替君语落阶》大纲的**结构骨架**(内容已改写,仅示范格式):

```text
故事背景
女主穿书成侯府嫡女。穿书前她是不受宠的真千金,未婚夫为假千金将她推入河中并百般嘲讽。
穿书后绑定「吃瓜系统」,得知自己只是书中的炮灰,于是发誓改变命运,做系统任务、
打脸渣男、让假千金付出代价。

出场人物
女主:外貌年龄 20-25,侯府嫡女。活泼开朗、蔫坏、嘴毒、嫉恶如仇。
      背景:靠系统改变炮灰命运,揭露假千金真面目,逐渐成为团宠。
男主:外貌年龄 23-25,太子。外表高冷实则傲娇。前期昏迷,被女主救醒后能听到女主心声,
      本想利用女主夺权,却在相处中逐渐沦陷。
反派:外貌年龄 23-25,玄王。狂妄自大、目中无人。原与女主有婚约,
      却因轻视她而转娶假千金。在女主「替夫上朝」后屡屡吃瘪、颜面尽失,最终后悔莫及。

第一阶段·开场
女主被逼至绝境、悬梁未遂;渣男踹门而入并讥讽。女主穿书觉醒,闪回交代背景,
决定改写炮灰命运,当场暴打渣男(做出性格反差,塑造第一个情绪点)。
结尾绑定系统,拉出主线。

第二阶段·剧情发展
通过系统任务,女主智救娘亲,点醒傻白甜哥哥与父亲,揭露假千金真面目,
在家中完成地位逆袭。

第三阶段·剧情深入
女主替夫上朝、舌战群臣,凭心声系统预判对手屡出奇招;
与太子从互相利用到暗生情愫,感情线稳步推进。

第四阶段·结局
女主通过系统完成拯救炮灰命运。
(特别注意:一定要多做剧情高光点,尤其是结尾处。)

核心悬念与高光
开场打脸:女主上吊,渣男以为是荡秋千,随后被暴打。(第一个高光点要写好)
朝堂反转:皇帝欲杀女主,因系统看到太爷爷,立刻将女主从妖孽视为祥瑞。
雄竞对决:太子 VS 玄王,多轮智斗 + 情感碾压。(可以多写点转折)
```
Bash Read opening, cliffhanger, dialogue, compliance refs

输入

cat references/golden-opening-toolbox.md references/cliffhanger-master-formulas.md references/dialogue-doctor-anti-ai.md references/screenplay-compliance-rules.md references/golden-3s-hook-library.md

返回

# 黄金开场工具箱(课程 03)

> 来源:白羊工作室·刘扬《如何打造吸睛的黄金开场》(红果《短剧编剧第一课》03 期)。
> 用途:单集撰写的前 30 秒;立项/大纲阶段的「1-1 能不能立住」的判据。与工厂的 `golden-3s-hook-library.md`(前 3 秒五母型 × 20 变体 + 开篇禁令)配套使用——本文件管**前 30 秒到第一集末的完整开场结构**,五母型管**第一句话第一帧**。

---

## 一、 为什么开场是胜负手

| 关卡 | 逻辑 |
|---|---|
| 第一关·过筛 | 平台与制作方不可能逐字通读,最先看、也最依赖的就是 **「1-1」第一集第一场**。开场平淡拖沓、只做背景交代,剧本直接进「待定/淘汰」——连被拍的机会都没有 |
| 第二关·作品下限 | 后续剧情决定**上限**,开场锁定**下限**。木桶效应:80 分开场 + 100 分故事 > 80 分;60 分开场 + 100 分故事 < 60 分。「开场不好,就像地基不稳」 |
| 第三关·留存 | 弃剧率高度集中在第一集。流量漏斗:开场 100 人只留下 50 人,后面所有精彩都只能在这 50 人基础上展示 |

反例:某剧设定新颖(男主企业濒临破产仍捐出最后资金触发系统奖励),但开场写成「员工主动筹钱救公司」,观感如同「让员工填坑」,冲淡了主角行为的正当性。后续再高能,完播率始终低迷。

> **黄金开场的核心任务不是「交代背景」,而是在极短时间内完成对用户的强吸引、强期待、强留存。**

---

## 二、 开场五要素(创作工具箱)

### 要素 1:清晰的人设建立

观众不需要知道主角的童年经历或星座血型,但必须在开场快速理解:**身份是什么?社会地位如何?当前处于何种情绪状态?**

关键是**通过具体事件展示,而非靠旁白说明**。男主被岳母当众泼茶骂「废物」,远比一句「我是个赘婿」更具冲击力。

> 例(《丹帝转世:从修为被废开始》):唐炎一出场就毫无形象地瘫在躺椅上睡觉,随即被唐老爷子拎着戒尺追打责骂「非礼城主千金未遂,唐家的脸都被你丢尽了」——几句责骂同时点明纨绔人设、家族背景与社会关系。而他惊醒后第一反应是呵斥「竟敢欺侮本尊!」,瞬间暗示「身体是唐炎,灵魂是丹帝」的双重身份。

### 要素 2:明确的主线目标

开场要点明核心诉求:复仇?翻身?守护家人?考取功名?找回爱情?

> **主线目标越具体,观众的追剧意愿就越强。**

> 例(《开局签到,陆地神仙修为》):李烬作为被弃质子身处绝境——即将被楚国祭旗处死。生死关头系统激活,发布首个任务「前往楚皇宫宣武门打卡,奖励陆地神仙修为」。核心目标「打卡成神、逆天改命」即刻成立。

### 要素 3:强烈的困境代入

主角需面临**即时、具体、有压迫感**的危机:被逐出家门、修为被废、亲人垂危、生死威胁。

> 困境的价值不在于「惨」,而在于能否引发共情,让用户自问:「如果是我,会怎么办?」

> 例(《寒门武状元》):「双重绝境」。现代线中主角被敌军追杀、弹尽粮绝、中枪坠崖;穿越后刚苏醒便遭「沉河」私刑——被诬陷偷盗青苗即将溺毙。两段绝境紧密衔接,牢牢锁住观众对「主角能否活下来」的关注。

### 要素 4:持续的情绪推进

在极短时间内制造密集情绪波动:上一秒锦衣玉马,下一秒当众被揭穿扫地出门;前一刻满心委屈,后一刻眼神一凛暗下决心。

> 「正是这种密集的、戏剧性的情绪转换,如同让观众坐上过山车。」

> 例(《说我是反派,污蔑竟然成真了》):秦洛一穿越即被群起指控为杀人盗宝的罪人,辩解无人听信;情势急转直下时「超级反派系统」激活——若主动认下所有罪名,可换取修为战力。从「无辜穿越者」到「被迫认罪」再到「黑化觉醒、战力加身」,一场戏完成三重反转:身份错位、道德困境、立场颠覆。

### 要素 5:有效的信息密度

台词不能只停留在简单对话,而应同时承载:推进剧情 + 揭示关系 + 暴露矛盾 + 强化人设。

> 例(《冒姓琅琊》):少年与壮汉关于「穿越」的争论瞬间点明四人集体穿越的设定。许编称王扬为「博士」,壮汉讥讽其是「文科废物」——寥寥数语揭示四人不同的社会背景与价值观。王扬与许编试图借「魂瓶」返回现代,被壮汉夺过砸碎并威胁「谁都不许走!」——立场划定,矛盾推到高潮。随后王扬用一句「How are you」试探偷听者,既强化学者敏锐冷静的形象,又立刻引爆新危机(瘦子并非穿越者,身份可能暴露)。

---

## 三、 组装方式:起承转合

新人从经典结构入手练习。

| 结构 | 任务 | 做法 |
|---|---|---|
| **起** | 建立矛盾、引爆冲突、抓住眼球 | 用强画面或强烈反差锁定注意力。「人天生爱看热闹——开篇冲突越强,越容易让人停下来看一眼」 |
| **承 + 转** | 推进行动、升级冲突 | 承接开场冲突,展开主角解决问题的具体行动,建立人物关系、情绪基调与主线目标;再推动剧情反转——遭遇更强阻力、冲突不断升级,推向小高潮 |
| **合** | **悬而未决**,引发期待 | 传统「合」讲收束,短剧的「合」必须悬而未决 |

「合」的三种常用手法:

- **话说到一半戛然而止**:「你根本不知道,当年那场车祸……」
- **动作推至高潮瞬间定格**:拳头即将落下、门把手被转动
- **真相呼之欲出却未揭晓**:假千金的谎言被当众拆穿,管家即将宣布真相

### 拆解范例(《丹帝转世:从修为被废开始》,140 秒内完成起承转合)

| 时间 | 内容 | 起承转合 |
|---|---|---|
| 前 20 秒 | 唐老爷子暴怒训斥「非礼城主千金未遂」,快速抓人并带出危机 | 起 |
| 20–90 秒 | 【闪回】唐炎炼化天地造化鼎、鼎裂爆炸、被火光吞噬——建立「丹皇重生」核心设定 | 承 |
| 90–120 秒 | 爷孙冲突持续升级,台词强化男主「废物」人设;小翠闯入报「城主带人来抓少爷」,外部压力从「家庭训斥」升级为「城主围剿」 | 转 |
| 120–140 秒 | 林城主出掌轰碎唐家大门,怒喝交人——全集结束于「大门破碎、强敌压境」的高张力画面 | 合(悬而未决) |

---

## 四、 有效开场 vs 无效开场(两个改编案例)

### 无效:过于忠于原著,失了节奏

某穿越题材 IP,第一集几乎照搬原著开篇:男主穿越后家人端来一碗粥,全集在温吞对话和日常细节中缓缓推进。

> 小说里这或许能营造氛围,短剧里却是致命的。没有冲突、没有危机、没有情绪爆点,观众既感受不到困境,也看不到方向。**「一碗平淡无奇的粥,撑不起共情与张力。」**

(例外:少数生活流作品,或由经验丰富的编剧驾驭的特殊题材。)

### 有效:提取核心,重构戏剧张力

《被赶出侯府:假世子靠科举逆袭全城》原著开篇铺垫长、节奏舒缓。编剧没有照搬,而是原创了一个极具冲击力的开场:

富家公子 → 被扫地出门的酒吧调酒师 → 穿越回「侯府世子」→ 随即被当众揭穿、驱逐出府。**三次身份反转压缩在三分钟内。** 更妙的是用「信息差」制造期待:观众知道主角是现代人、通晓天文地理,剧中人却视他为废物——「何时逆袭」成为追看期待点。

> **改编不是照搬,而是紧扣短剧的节奏逻辑,对原作进行提炼与重构。**

---

## 五、 六大坑(新人几乎都踩过)

1. **节奏拖沓**:习惯用数千字铺陈人物成长,或缓缓营造氛围。短剧一集通常仅 **500–800 字**,有人花两集才交代清「主角是谁、身处何境」。「短剧的节奏不在'展开',而在'爆破'。」
2. **台词冗余**:充斥「唠嗑式」对话,看似真实却稀释张力。「不是不能聊天,是要有信息的聊。把无效对话放在最宝贵的开场时间,无异于慢性自杀。」
3. **人设模糊**:没能快速写清三个核心问题——**我是谁?我想要什么?我正面临什么危机?**
4. **受众错位**:开场看似有情绪,实则与目标受众的生活经验、情感结构严重脱节,属于「自嗨式创作」。
5. **情绪空洞**:只有形式没有内核。仍在机械套用几年前的「下跪、扇巴掌、磕头」三件套,或滥用「喝洗脚水」式桥段。**观众共情的从来不是「喝洗脚水」这个行为,而是「尊严被践踏」的情感带入。**
6. **缺少创新**:只管形式模仿而忽视情感真实,陷入同质化。**桥段不怕老,怕的是表达旧。**

> 反例转化(《相亲遇甜妹,偷娶她闺蜜》):把「相亲对象」从脸谱化刻薄女改成说话中英文夹杂、自带喜感的「伪精英」;冲突采用「先扬后抑」的轻喜剧风格——男主自称「世界五百强精英」(实则外卖员)、「有房」(租房)、「有车」(电驴),观众在会心一笑中完成身份认知与情绪代入。

---

## 六、 开场自查(写完必过)

> **黄金三角:是否在 1 集内清晰传递了「身份 + 困境 + 目标」?**

若答案是否定,回头完善开场。这是本 skill 机检项 E12 的判据。

其余自查:

- [ ] 开场是「爆破」不是「铺陈」——前 3 秒见冲突。
- [ ] 「合」是悬而未决,不是把一集讲完、观众心满意足地离开。
- [ ] 每句台词要么推进剧情、要么塑造人物,没有纯寒暄。
- [ ] 主角的困境能让目标观众自问「如果是我会怎么办」。
- [ ] 主角的欲望、愤怒、困境扎根于目标受众的真实生活经验。
# 红果爆款绝命断章与付费滑屏卡点公式库

短剧的灵魂在于“卡点(Cliffhanger)”。一个顶级的卡点能让观众产生生理性的下滑冲动。本模块总结了短剧 4 大核心断章公式。

---

## 一、 四大核心断章公式

### 公式 1:【身份掉马前一秒】(好奇心拉爆)
* **原理**:核心人物的隐藏马甲(龙王、首富、前妻、真千金)即将被反派或全场识破,在揭开的刹那切断。
* **卡点动作与文案**:
  * 反派夺过合同,看到最后一页盖着的九龙玄天印,瞳孔骤缩:“这印章……怎么会是你?!”(黑屏)
  * 总裁不耐烦地撕开 DNA 检测报告,当看清“亲生女儿”四个大字的一刹那,整个人僵死在原地。(黑屏)

### 公式 2:【物理危机绝命悬停】(生存悬念拉爆)
* **原理**:致命危险已经爆发,在伤害即将造成的前 0.1 秒强行切断。
* **卡点动作与文案**:
  * 呼啸的货车车灯刺眼亮起,直直撞向女主,男主飞身扑出双手刚够到女主衣角的瞬间!(黑屏)
  * 锋利的匕首刺破主角胸口布料,鲜血刚渗出一滴,主角嘴角突然扬起一抹诡异冷笑。(黑屏)

### 公式 3:【反差金句霸道落地】(情绪高潮留白)
* **原理**:在全场嘲讽压抑到极致时,主角突然抛出一句震碎三观的霸道台词,全场陷入死寂。
* **卡点动作与文案**:
  * 反派狂笑:“整个江南省,谁能救你?”林辰缓缓抬眼:“江南省?不好意思,整个天下,都是我的!”(全场震惊停格,黑屏)
  * 恶婆婆:“你净身出户,一分钱也别想拿走!”女主冷笑拿出房产证:“老太太,你看清楚,这栋别墅写的是我林晚的名字,现在,请你们全家滚出去!”(黑屏)

### 公式 4:【生死/利益绝境二选一】(极致纠结与道德困境)
* **原理**:反派逼迫主角在两个同样惨烈的代价中做出抉择,时间倒数读秒。
* **卡点动作与文案**:
  * “左边是你亲妈的氧气管,右边是你妹妹的大学录取通知书,你只有十秒钟选!”(伴随秒表滴答声,黑屏)
  * “签了认罪书,你身败名裂;不签,你女儿今晚就得死在手术台上!”(黑屏)

---

## 二、 断章规范格式

在每集剧本末尾,必须单列一段标准的【本集断章卡点】:

```text
【本集断章卡点】:陈峰颤抖着接通父亲的电话,电话那头传来绝望的哭嚎:“逆子,你到底得罪了谁?陈家彻底完了!” 林辰一步踏出,俯视陈峰。(黑屏:下滑立即解锁第XX集)
```
# 短剧剧本医生台词七维诊断与去 AI 说明书反灌输手册

本模块专用于对剧本台词进行外科手术式精修,彻底拔除 AI 生成中常见的“说明书味、播音腔、假大空与反向灌输”。

---

## 一、 七维台词诊断与重构维度

### 维度 1:角色辨识度与语言指纹 (Voice Print)
* **诊断核心**:遮住人名,能否一眼看出是谁在说话?
* **重构法则**:
  * 恶霸/反派:用短促施压词、命令句、市井俚语(“老子”、“听懂没有”、“跪下说话”);
  * 隐忍主角:字数极少、情绪低沉、字字如刀,不废话,用反问与断句制造威慑(“你确定?”、“最后一次机会”);
  * 谋士/管家:用恭敬短句、利落干脆(“属下明白”、“三分钟内办妥”)。
* **红线**:严禁全员文绉绉、全员哲学教授。

### 维度 2:反向灌输死刑法 (Anti-Exposition)
* **病灶表现**:角色对着对手念出对方本来就清楚的背景(如“三年前你害死了我爸,侵占了我们林家三千万财产…”)。
* **外科手术改写法**:
  * ❌ *原错误台词*:“三年前你害死了我爸,侵占了我们林家三千万财产,今天我一定要让你血债血偿!”
  * ✅ *改写后台词*:林辰将染血的旧怀表拍在桌上,冷冷盯着他:“三年前林家老宅的那场火,火候挺旺啊,赵董。”(通过物证与反讽带出旧账,不念设定)。

### 维度 3:攻防对白回合制 (Conflict & Subtext)
* **诊断核心**:拒绝单方面说教,每句台词必须形成“施压 ➔ 反弹 ➔ 刺探 ➔ 绝杀”。
* **结构示例**:
  * 反派(施压):“十万块,签了这份谅解书。”
  * 主角(反刺探):“十万?你儿子的命,就值这点?”
  * 反派(恼羞):“你别给脸不要脸!”
  * 主角(绝杀):“回去告诉你主子,明早九点,我亲自去收他的命。”

* **与中观层挂线**:这场戏的攻防四拍就是 `emotion-flow-roundtrip.md` 往返回合的缩时版——施压=本集证据落档一拍,绝杀=反驳升档一拍;单场内解决不了就该留到下一回合(断章),不许一场戏把六档烧完。

### 维度 4:单句字数限额 (Length Limit)
* **短剧台词铁律**:
  * 常规对白:单句严格控制在 **12 ~ 18 字** 以内;
  * 爆发金句:控制在 **8 ~ 12 字**(短促有力,如“今天,神仙也救不了你”);
  * 严禁超过 25 字的长复合句。

---

## 二、 剧本医生实战改写案例库

| 场景题材 | AI 常见机器感台词 (病灶) | 剧本医生暴改后台词 (爆款) | 诊断依据 |
|---|---|---|---|
| **战神/打脸** | “你不过是一个区区江城首富,在我华夏龙王眼里,连一只蝼蚁都不如,我一通电话就能让你破产!” | “江城首富?(轻蔑冷笑)给你三分钟,问问你背后的主子,见我该行什么礼。” | 剔除自夸,增加冷冽压迫感与神秘威慑。 |
| **女频/虐渣** | “顾沉舟,我为你付出了整整五年的青春,甚至为你捐了一颗肾,你怎么能这么对我?” | (把带血的离婚协议撕成两半砸在脸上)“顾沉舟,这五年算我瞎了眼。从今天起,你欠我的,一笔一笔还!” | 删减委屈抱怨,强化决裂与反击行动。 |
| **真假千金** | “爸爸妈妈,虽然我才是你们的亲生女儿,但如果姐姐不高兴,我可以回到乡下去住的。” | (低头擦拭眼泪,手指却悄悄捏紧名牌包挂件)“姐姐说的对,我这种乡下长大的,哪配叫你们一声爸妈……” | 注入绿茶潜台词与以退为进的茶言茶语。 |
# 抖音/红果平台短剧内容合规与审核风控红线指南

为了确保剧本顺利通过抖音、红果等短剧平台的机器与人工审核,严禁触犯以下红线:

---

## 一、 平台绝对禁止类(一票否决)
1. **封建迷信与违规导向**:严禁宣扬命理改命、下蛊害人等封建迷信,穿越/重生等设定需做轻量化、虚构化处理。
2. **极度血腥暴力**:严禁出现断肢、开膛破肚等直观血腥描写,动作戏以“受力震飞、骨裂声响、制服倒地”等写意手法替代。
3. **低俗与不良婚恋观**:严禁宣扬重婚、出轨合法化、恶意物化女性或贩卖人口等内容。
4. **涉政涉军涉警违规**:严禁丑化军警公职人员形象,严禁违规调用真实国家机关名称。

---

## 二、 敏感词与替换转译库

| 禁用/高危词汇 | 推荐合规替换词 |
|---|---|
| “杀了他 / 要你的狗命” | `废了他 / 让你付出代价 / 让他从江城消失` |
| “黑社会 / 堂口” | `灰色势力 / 地下商会 / 暗处势力` |
| “黑卡无限透支(违法犯罪资金)” | `环球至尊黑卡 / 家族信托基金` |
| “买凶杀人” | `雇佣打手制造麻烦` |
# 短剧黄金前 3 秒与开篇必杀钩子库(五母型 · 17 变体)

在抖音、红果等短视频短剧平台中,前 3 秒的完播率决定了 90% 的算法推荐量。本模块整理了经过实战验证的开篇必杀钩子模型。

---

## 一、 五大核心钩子母型

### 1. 【生死绝境 / 物理威胁型】(最强视觉与生存刺激)
* **特征**:开场直接把主角推向生死边缘,制造极度紧迫感。
* **经典变体**:
  * ① 刀尖/枪口直接顶在主角咽喉,反派手指正缓缓扣下扳机;
  * ② 急救室红灯狂闪,医生推门而出:“病危通知书,家属签字,还差最后十分钟”;
  * ③ 大雨磅礴中,主角满身是泥被按在悬崖边,反派一脚踩在主角手指上;
  * ④ 毒药已被灌下半碗,主角嘴角溢血,反派冷笑着逼其交出家族印鉴。

### 2. 【极端羞辱 / 地位反差型】(最强憋屈感与代入愤怒)
* **特征**:反派肆意践踏主角尊严,极度拉满观众的代入憋屈情绪。
* **经典变体**:
  * ① 厚厚一叠现金扔进泔水桶:“用嘴叼出来,这就是你妈今晚的医药费”;
  * ② 婚礼现场,新娘当众把婚戒扔在地上踩碎,挽着富二代:“林辰,你也配娶我?”;
  * ③ 主角送外卖进顶级包厢,发现跪在地上倒酒的正是欺压自己多年的恶毒亲戚;
  * ④ 家族年会上,主角被安排在狗食盆旁坐下,亲生父母冷眼旁观。

### 3. 【身份暴跌 / 狂飙暴涨型】(强烈认知冲击)
* **特征**:前一秒极度卑微,后一秒顶级势力跪拜;或前一秒高高在上,瞬间被剥夺一切。
* **经典变体**:
  * ① 刚签下离婚协议扫地出门,门外八架武装直升机同时降落,九大财阀跪呼“恭迎少帅”;
  * ② 总裁当众开除落魄保洁,保洁缓缓脱下手套,亮出握有集团 51% 股权的绝密印章;
  * ③ 乞丐在路边被踢翻破碗,碗底赫然雕刻着统御四海的龙王九龙令。

### 4. 【物证背叛 / 捉奸现场型】(女频/伦理最强杀伤力)
* **特征**:亲眼目睹最信任之人的残酷背叛,彻底击碎幻想。
* **经典变体**:
  * ① 妻子生日推开家门,发现丈夫正将属于自己母亲的传家玉镯戴在闺蜜手上;
  * ② 亲子鉴定结果赫然显示 0.01%,深爱五年的孩子竟是仇人的血脉;
  * ③ 刚为男友顶罪出狱五年,走到门口却看到男友正挽着自己的亲妹妹举办世纪婚礼。

### 5. 【反常理惊悚 / 规则悬念型】(悬疑/脑洞赛道必杀)
* **特征**:抛出违背常理的世界观规则或反常现象,诱发极强好奇心。
* **经典变体**:
  * ① “这个家里,除了我,所有人都在装死”;
  * ② 手机突然收到一条来自 10 年后的未来短信:“今晚 8 点,千万不要给你妻子开门”;
  * ③ 镜子里的自己,在没有眨眼的时候,突然对自己诡异地笑了一下。

---

## 二、 黄金 3 秒避坑禁令

1. **严禁“早晨起床拉窗帘”**;
2. **严禁“汽车在公路上行驶超过 2 秒”**;
3. **严禁“大段旁白交代时代背景”**;
4. **严禁“角色坐在咖啡厅无意义闲聊倒水”**。
Bash Read feasibility, emotion point, hook, ledger refs

输入

cat references/shooting-feasibility.md references/emotion-point-playbook.md | head -420; sed -n 1,160p references/expectation-suspense-hook.md; cat references/continuity-ledger.md

返回

<persisted-output>
Output too large (36.1KB). Full output saved to: /Users/user/.claude/projects/-scratch-evals2-ws-001-open-brief-zhu5859243-free--hongguo-shortdrama-screenwriting-run-2/c171e58f-32c3-4edf-817b-0a278aaa474a/tool-results/b6q1jvmk7.txt

Preview (first 2KB):
# 可拍性、过稿与合规(课程 08)

> 来源:骏乐编剧机构·吴文尧《如何让你的剧本「更好过稿」并顺利落地?》(红果《短剧编剧第一课》08 期)。
> 用途:合规自检模式(`/合规审核` `/落地自检`)的权威文件;分集规划与单集撰写时的制作约束。与 `screenplay-compliance-rules.md`(平台红线 + 敏感词替换库)配套——那份管**词级替换**,本文件管**结构级可执行性**。

---

## 一、 三方都变了

| 变化 | 含义 | 对编剧的要求 |
|---|---|---|
| **用户变了** | 观众不再局限于早期三四线群体,覆盖更广年龄层与兴趣圈层,期待更多元 | 单一类型或固定套路越来越难满足所有人;制作方更关注**能否精准打动某一类目标受众** |
| **制作方变了** | 行业走出早期快速扩张、广撒网阶段。团队已摸索出相对清晰的内容方向,知道自己擅长什么、资源适配什么 | 不再「什么都试试看」,而是结合团队特点、平台策略、受众偏好,挑**匹配度高的剧本** |
| **平台变了** | 以红果短剧创作服务平台为代表的头部平台调整筛选机制:过去主要靠内部编审主观判断,正逐步过渡为**由市场制作方参与评估** | **「剧本能否落地」已成为重要的入选标准** |

---

## 二、 三类合规雷区(动笔前厘清创作边界)

> 「再好的创意,一旦踩了红线,就直接出局,侥幸上线也难以大爆。」
> 平台对剧本的合规要求已不仅限于「不低俗」,更关注**价值观导向、法律常识和公共影响**。

### 雷区 1:价值观与伦理

- 宣扬「替身文学」「强制爱无后果」等畸形婚恋观
- 主角通过违法手段达成目的却未受惩罚
- 对历史人物、民族形象进行戏谑化处理

### 雷区 2:政策与法律

- 涉及时政、宗教、民族等敏感议题
- 刑侦剧中出现「私自刑讯」「无证据定罪」等明显法律硬伤
- 对真实公共事件进行虚构演绎

### 雷区 3:表现尺度

- 过度血腥暴力
- 带有性暗示的镜头描写
- 包含对未成年人不良引导的情节(大尺度血腥恐怖、美化校园霸凌等)

> 词级替换与一票否决清单见 `screenplay-compliance-rules.md`;机检项 E10 覆盖一票否决类直观描写。

---

## 三、 内容评估四标准(通过合规初筛后,制作方怎么看)

> 核心问题:**这个故事能不能打动目标用户?能不能撑起 80~100 集的节奏?**

1. **前三集立住主线**:背景、主角身份、核心冲突、观众期待,要在极短时间内交代清楚。导演、演员、平台编辑可能**只看前几集**就决定是否继续。
2. **主线清晰、不跑偏**:整个故事围绕一个明确目标推进(复仇、逆袭、追爱),避免中途插入过多支线导致看点分散。
3. **人设有记忆点**:不需要完美,但要有鲜明标签——一句口头禅、一个标志性动作、一种特殊身份(「疯批美人」「忠犬保镖」),能让观众快速记住。
4. **节奏干净、信息密集**:每分钟都要有「看点」——情绪爆发、剧情反转或关键信息推进。避免大段抒情、无效对话或拖沓铺垫。

> **好剧本的一句话标准:一个卖点撑起一个故事,让观众一口气追完,并牢牢记住一个角色。**

> 参考案例(《不装了,霍总每天都想复婚》):选题时就知道同类作品已很多,很容易被觉得没新意;剧本按成熟经验打磨。上线初期因同类扎堆成绩不起眼,但播出一段时间后,观众在同类剧中更愿意看这部,最终整体数据表现不错。

---

## 四、 可执行性:剧本落地三条

> 「我们经常遇到本子故事很好,但一看制作需求,就知道很难拍,这无形中就降低了剧本被选中的机会。」

### 1. 写剧本时,心中要有本「经济账」

**标准竖屏短剧的制作现实**:

- 拍摄周期通常只有 **7–10 天**
- 预算多在 **十几万到几十万元** 区间
- 团队规模有限,**日拍量很高**

**推论**:

- 每增加一个新场景,就可能增加一天拍摄时间。
- 每一场夜戏或外景,都意味着更高的协调成本与天气风险。

**应对建议**:构思阶段就考虑「能不能集中拍」——把多个室内戏合并到同一个宅子或办公室里,通过布景微调区分功能,既省成本又不影响剧情推进。

### 2. 谨慎使用高难度、特殊元素

动作戏、特效、群演本身不是问题,但**大量出现会显著拉高制作难度与不确定性**。

- 一场需要 100 个群演的街头冲突戏,听起来很燃,实际要考虑场地审批、人员调度、安全管控、天气影响。**如果不是推动主线的关键节点,建议删减或简化。**
...
</persisted-output>

思考

被拦下 Bash Read feasibility quota and emotion point rhythm

输入

cd /Users/user/.claude/projects/-scratch-evals2-ws-001-open-brief-zhu5859243-free--hongguo-shortdrama-screenwriting-run-2/c171e58f-32c3-4edf-817b-0a278aaa474a/tool-results/ && sed -n 60,140p b6q1jvmk7.txt; grep -n "大情绪点\|小情绪点\|5~10\|每集" b6q1jvmk7.txt | head -40

返回

sed: b6q1jvmk7.txt: Operation not permitted
grep: b6q1jvmk7.txt: Operation not permitted
Shell cwd was reset to /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2
Agent:
I'm reading the skill's reference files (structure, paywall placement, validator rules). Next I'll pick a topic and write the deliverables.
Bash Read feasibility quota and emotion point rhythm

输入

cd .claude/skills/hongguo-shortdrama-screenwriting/references && sed -n 60,140p shooting-feasibility.md; grep -n "大情绪点\|小情绪点\|5~10" emotion-point-playbook.md | head -20

返回

## 四、 可执行性:剧本落地三条

> 「我们经常遇到本子故事很好,但一看制作需求,就知道很难拍,这无形中就降低了剧本被选中的机会。」

### 1. 写剧本时,心中要有本「经济账」

**标准竖屏短剧的制作现实**:

- 拍摄周期通常只有 **7–10 天**
- 预算多在 **十几万到几十万元** 区间
- 团队规模有限,**日拍量很高**

**推论**:

- 每增加一个新场景,就可能增加一天拍摄时间。
- 每一场夜戏或外景,都意味着更高的协调成本与天气风险。

**应对建议**:构思阶段就考虑「能不能集中拍」——把多个室内戏合并到同一个宅子或办公室里,通过布景微调区分功能,既省成本又不影响剧情推进。

### 2. 谨慎使用高难度、特殊元素

动作戏、特效、群演本身不是问题,但**大量出现会显著拉高制作难度与不确定性**。

- 一场需要 100 个群演的街头冲突戏,听起来很燃,实际要考虑场地审批、人员调度、安全管控、天气影响。**如果不是推动主线的关键节点,建议删减或简化。**
- 水下、高空、飙车、爆破等高危镜头,**除非是故事的核心卖点**,否则很容易因安全或成本原因被调整甚至放弃。

> 反面案例:某以「水下考古」为背景的悬疑短剧,结构精巧、悬念迭起,但多达 1/3 的关键情节发生在深海或沉船内部,需要大量水下摄影棚和特技演员。多位编审都认可其创意,但最终因制作成本与风险完全不可控而放弃。
>
> 这就是只考虑了故事的「上限」(能有多酷),而忽略了制作的「底线」(最少需要多少钱和时间)。

### 3. 角色设计是评估可拍性的关键要素

> 「一个出色的角色设定往往比复杂的情节更能抓住观众。」「人物设计在于精,而不在于多。」

**核心原则:每个角色都必须「有用且有亮点」。**

新人三个常见陷阱:

- ❌ 人物重要但戏份稀少(角色浪费)
- ❌ 角色众多但功能重复(叙事冗余)
- ❌ 配角设定精彩却无后续(线索断裂)

**80 集主流短剧的量化配额(骏乐影视口径)**:

| 维度 | 建议 |
|---|---|
| 角色总量 | **核心人物 3–5 人,其余角色不超过 20 人** |
| 新角色引入 | 高潮集可引入不超过 2 个新角色;**日常集尽量不引入新角色** |
| 角色功能 | 每个配角至少承担「推动情节」「衬托主角」「提供关键信息」三项之一 |

**叙事连贯性**(降低观众理解成本):

> 「短剧观众没有'回看'习惯,看不懂往往意味着直接弃剧。」

- 一个场景同时出现太多新角色,或频繁切换视角,观众难以建立清晰的人物图谱。
- 保持叙事连贯,避免观众在后续角色再出场时产生困惑。

**创作自查**:写完后,试着为剧本中**每个有名字的角色写一句话描述——「这个角色为什么必须存在?」** 如果答案模糊,重新审视其必要性。

**观众视角检验**:写完每集后,想象自己是第一次看的观众——能分清谁是谁吗?能理解他们为什么这样做吗?

> **限制催生创意**:有时正是「不能随便加角色」的限制,倒逼编剧写出更精妙的人物关系。弹性不是妥协,而是为导演、演员、制片人留出共创空间。

---

## 五、 交稿前的三步自查

成熟编剧通常遵循 **先看「内容」→ 再看「落地性」→ 最后看「完整度」** 的路径:

1. **检视故事内核**:抛开所有细节,用一句话说清故事核心,判断其是否足够独特、有吸引力且符合市场需求。**放下作者视角**,以读者角度检验自己能否迅速被吸引、理解卖点。
2. **落地性优化**(最关键):拿着「放大镜」逐一检查场景、预算、审核等风险点,确保剧本符合短剧市场的制作标准。
3. **完整度检查**:快速通读全剧,检查主线是否清晰、节奏张弛有度、人物设定统一,确保「顺下来」没有逻辑硬伤;同时**避免大量抽象、内心化的对白,确保每句台词都能转化为演员的行动或表情**。

---

## 六、 三个写作病

### 病 1:缺乏「镜头化」思维,表达抽象难以拍摄

> **少写「心理」,多写「行为」。**

124:## 六、 情绪节奏:大情绪点与小情绪点
126:像一场音乐会:既要有震撼人心的高潮(大情绪点),也要有悦耳动听的间奏(小情绪点)。
130:| **大情绪点** | 推动剧情走向高潮的核心爆发点,让受众情绪集中释放 | 彻底打败终极反派、实现人生逆袭、达成核心目标 |
131:| **小情绪点** | 单集内的释放点,持续积累受众情绪 | 解决小难题、小范围打脸对手、获得小收获 |
133:> **布局基准:每集设置 1 个小情绪点,每 5~10 集设置 1 个大情绪点。**
134:> 用小情绪点持续调动情绪避免前期弃剧,用大情绪点实现高潮释放、强化记忆点。
140:| 1 | 男主意外穿越,睁眼成了女帝钦点的「正宫夫君」,同时激活强者系统 | 实力型小情绪点 |
141:| 2 | 凭女帝夫君身份地位超然,只想做清闲「闲散王爷」 | 权力型小情绪点(击中「躺赢」幻想) |
142:| 3 | 杀手深夜突袭寝宫,男主临危不惧还慢悠悠让反派准备轿子 | 反转型小情绪点(掌控感) |
144:| 5 | 反手镇压刺客,众目睽睽下展露真实修为——原来并非靠女帝庇护的软饭男,而是曾横压一界的绝世强者 | **首个大情绪点**(集中兑现前四集伏笔) |
193:| 每集 1 小情绪点 | 分集规划时在台账「情绪点」列登记;单集里由「情绪流变」字段承载(机检 E7) |
194:| 每 5~10 集 1 大情绪点 | 与 `hongguo-beat-sheet.md` 的单元闭环、付费墙卡点对齐 |

思考 617 秒

Bash Read information-gap models section

输入

cd .claude/skills/hongguo-shortdrama-screenwriting/references 2>/dev/null || cd /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/.claude/skills/hongguo-shortdrama-screenwriting/references; sed -n 40,100p expectation-suspense-hook.md

返回

| 1–20 集 | 策反哥哥,拿到家族账本 |
| 21–40 集 | 揭露反派当年的阴谋 |
| 41–60 集 | 联合盟友,夺回家产 |
| 61–80 集 | 当众揭穿反派,完成复仇 |

> 与工厂引擎的对应:小期待=`emotion-flow-roundtrip.md` 里「单元链 + 往返回合表」的观众侧表述。工厂管**怎么在结构上撑住 20~30 集一个单元**,本课管**怎么让观众感知到阶段目标**。

---

## 三、 悬念:信息差三元理论

短剧的「悬念」不同于悬疑剧。它的核心是**「已知目标,但不知过程」**——主角如何克服万难去实现那个阶段性期待?

制造悬念的核心工具是**信息差**:剧中人物(主角、配角)和剧外观众,对同一件事的「知情程度」不同。这种「你知道我不知道」或「我知道你不知道」的错位,天然产生好奇与张力。

三个角色:**观众 / 主角 / 配角(通常是反派或关键人物)**。排列组合形成多种模型,四种最常用:

### 模型 1:主角知道,观众和配角不知道

**典型**:《柯南》——凶手已锁定、手法已破解(主角知道),但观众和其他角色还蒙在鼓里。

**悬念感**:解谜型。「主角什么时候揭晓?真相会有多震撼?」

### 模型 2:配角和观众知道,主角不知道

**典型**:身份觉醒类短剧。观众和配角都知道主角的亲生父母是顶级富豪、正在到处找他,只有主角自己以为自己是孤儿,在底层苦苦挣扎。

**悬念感**:利用观众「先知先觉」的优越感与对主角反应的期待。「主角什么时候才知道?知道后会是什么反应?」

### 模型 3:观众知道,主角和配角不知道

**典型**:穿越文、年代文。主角带着现代记忆回到过去,那个时代的人对此一无所知。观众看着主角用未来常识「降维打击」,悬念不在「能不能成」,而在「古人会被震惊成什么样」。

> ⚠️ **这条优势必须建立在合理的认知落差之上。** 动辄拿九九乘法表这类基础常识当「神技」碾压古人,既削弱可信度,也让观众觉得被刻意降智。

### 模型 4:主角和观众知道,配角不知道(短剧最经典、最常用)

**典型**:主角是隐藏大佬(战神、神医、首富),观众通过开篇暗示或旁白也知道了,唯独剧中配角(恶毒反派、嚣张情敌、势利眼同事)不知道,还在疯狂嘲讽。

**悬念感**:期待打脸最大化。「这个配角还能作死到什么程度?」「主角到底第几集才亮身份?」「亮身份时他们的表情会有多精彩?」

> **关键提醒**:一部短剧往往同时包含多种信息差,而**仅仅是「知道/不知道」的切换就能衍生出无穷张力**。所以在设计每一个小期待时,要有意识地**切换信息差组合**,而不是一套用到黑。

### 拆解范例(《我有八个姐姐,但是她们都是弟控》,红果累计观看 15 亿+)

| 集 | 信息差运用 | 悬念重心 |
|---|---|---|
| 第 1 集 | 用台词建立大期待(师父告知「该下山寻亲」),结尾突发车祸 | 视觉钩子制造紧张感与突发危机 |
| 第 2 集 | 观众已知王思琪是姐姐,主角与其他角色未知 | 「能否相认」 |
| 第 3 集 | 姐姐开始怀疑主角身份,但尚未确认 | 「何时相认」「如何相认」 |
| 第 6 集 | 姐姐确认身份(观众知情,主角和反派仍不知情) | 重心转向「相认瞬间」与「姐姐为弟出头」的情绪点 |

> 「三元理论不是固定的,越变化剧情越好看。」

---

## 四、 钩子:把高潮切成两半

### 黄金法则

> **让一集结束在「高潮」即将爆发的前一秒。**

思考 3 秒

Agent:
Topic chosen: a 女频 career-revenge drama set in a restaurant kitchen. Writing episode 1–3 first so I can run them through the validator.
Write ./剧本/第01集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第01集.md

第【1】集:【离婚协议拍在案板上】
【所属阶段】:第一幕・入局压迫期(第 1/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(厨师帽被扔进泔水桶)
【情绪流变】:当众受辱 ➔ 以女儿相逼 ➔ 签字撕条款 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・顾记酒楼后厨・夜
[人物]:沈知味(顾家儿媳,名义帮工,实为掌勺)、顾承宇(顾记老板,对外"名厨")、周桂芬(婆婆)、秦师傅(老厨工)、小满(女儿,6岁)

△ 特写:一只手揪下沈知味头上的厨师帽,狠狠扔进泔水桶。
周桂芬(叉腰):一个帮工,也配戴厨师帽?
△ 沈知味没回头,握着长柄汤勺,盯着锅里翻滚的浑汤。
△ 顾承宇把一份离婚协议拍在案板上,指尖点着第七条。
顾承宇:签了。顾记的菜,以后只署我的名。
顾承宇:小满归顾家。你留后厨当帮工,月薪三千。
沈知味(手没停):离了婚,还要我给你吊汤?
周桂芬:吃了顾家八年饭,让你干活是抬举你!
△ 秦师傅掀帘探头,压低嗓子。
秦师傅:知味,鼎盛林董的车到了,就等这碗开水白菜。
△ 沈知味舀起一勺鸡茸,缓缓压进汤面。浑黄的汤,清出了一半。
△ 顾承宇盯着那半锅清汤,一把攥住她手腕。
顾承宇:签字。不签,明天就把小满送回乡下。
△ 特写:她右腕一道旧烫疤,被攥得发白。
△ 她松开汤勺,提笔签名,随即撕下第七条,丢进灶火。
沈知味:婚,我离。帮工,我不当了。
沈知味:我要我的名字,回到每一道菜上。
△ 她解下围裙,卷起案板上那包旧刀,转身就走。
顾承宇(变色):站住!汤还差最后一扫!
沈知味(不回头):最后一扫,你自己来。
△ 大堂传来男人低沉的声音:"顾老板,汤呢?"

【本集断章卡点】:顾承宇攥着汤勺,手腕直抖,锅里那半锅清汤又泛起浑沫。楼梯口,小满光着脚扑出来:"妈妈!"沈知味的脚,钉在后门门槛上。(黑屏:下滑立即解锁第2集)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第01集.md (file state is current in your context — no need to Read it back)
Write ./剧本/第02集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md

第【2】集:【这碗汤,不是同一个人做的】
【所属阶段】:第一幕・入局压迫期(第 2/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(当众搜身、女儿被拽走)
【情绪流变】:母女被拆 ➔ 直播污名"偷配方" ➔ 林董尝出破绽 ➔ 绝命断章
【本集时长】:约 115 秒

[场景]:内景・顾记酒楼后厨・夜(接上集)
[人物]:沈知味(刚签离婚)、顾承宇(顾记老板)、周桂芬(婆婆)、小满(女儿)、林薇薇(美食网红,顾承宇新欢)、林振东(鼎盛餐饮董事长,收购方)

△ 周桂芬一把将小满从沈知味怀里拽开,把她推到灶台边。
周桂芬:想走?先把偷顾家的东西交出来!
△ 小满哭喊着被保姆抱上楼,小手还朝她伸着。
△ 周桂芬扯开刀包,一本发黄的手写菜谱"啪"地掉在地上。
周桂芬:大伙看看,这不是顾家的方子是什么?
沈知味(捡起,拍掉灰):封皮写着"沈记"。您认得字。
△ 门帘被掀开,林薇薇举着手机直播,身后跟着林振东。
林薇薇(甜笑):家人们,顾记后厨抓到偷配方的帮工啦!
△ 林振东的目光在"沈记"两个字上停了一秒。
△ 他端起那碗半浑的汤,抿了一口,把勺子搁下。
林振东:顾老板,这汤,和上个月不是一个人做的。
顾承宇(摸袖扣):是她走前往锅里乱放了料。
沈知味:林董,给我一口灶,一炷香。
沈知味:上个月那碗,我原样还您。
△ 顾承宇横跨一步,堵死灶台。
顾承宇:顾家的灶,你碰一下试试。
林振东(看向顾承宇,笑):顾老板,不敢让她碰?
林振东:三天。三天后还是这个味,收购作废。
△ 顾承宇脸色煞白。周桂芬抓起刀包,冲向灶膛。
周桂芬:我烧了它,看你还拿什么偷!

【本集断章卡点】:刀包脱手,直直飞进熊熊灶火,刀背上一个"沈"字被火光映得通红。沈知味扑向灶口——(黑屏:下滑立即解锁第3集)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md (file state is current in your context — no need to Read it back)
Write ./剧本/第03集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md

第【3】集:【刀背上刻的是"沈"】
【所属阶段】:第一幕・入局压迫期(第 3/60 集 | 单元A | 往返第 1 回合尾・证据档1/反驳档1)
【黄金前3秒钩子】:生死绝境(徒手从灶火里抢刀)
【情绪流变】:火中抢刀 ➔ 亮出外婆之名 ➔ 被逐出顾家 ➔ 小铺重燃灶火 ➔ 绝命断章
【本集时长】:约 115 秒

[场景]:内景・顾记酒楼后厨・夜(接上集)
[人物]:沈知味、周桂芬、顾承宇、林振东、秦师傅

△ 沈知味右手探进灶膛,攥住着火的刀包,狠狠砸进水池。
△ 水汽"嗤"地炸开。她右腕抖个不停,旧疤旁又添一道红痕。
秦师傅(冲上来):知味!你的手——
△ 她抽出一把刀,刀背上刻着一个"沈"字。
沈知味:这把刀,跟了我外婆四十年。
沈知味(盯着周桂芬):顾家要烧,先烧我这只手。
林振东(盯着刀背):沈玉茹,是你什么人?
沈知味:我外婆。
△ 林振东捏着茶杯的手指一紧,又松开,笑了。
林振东:好。三天后,我来尝顾老板的汤。
△ 林振东离开。顾承宇追到后门,压低声音。
顾承宇:出了这道门,江城没一家后厨敢用你。
沈知味:那我自己开一口灶。

[场景]:内景・巷口闲置小饭馆・夜
[人物]:沈知味、唐小棠(闺蜜,律师)、陆砚(陌生男人)

△ 唐小棠拉起卷帘门,灰尘扑面。灶台上盖着一块旧油布。
唐小棠:我爸留下的铺子,三年没开过火。
唐小棠:协议是被逼签的。抚养权,我陪你打。
△ 沈知味掀开油布,拧开灶阀。蓝火"噗"地窜起。
沈知味:三天。我要全江城尝出来,那锅汤是谁的。
△ 卷帘门外,一辆黑色轿车停下。男人推门进来,目光落在她手里的刀上。

【本集断章卡点】:陆砚走到灶前,声音很低:"八年前,市一院门口,给我母亲送汤的姑娘——是不是你?"沈知味握刀的手,停在半空。(黑屏:下滑立即解锁第4集)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md (file state is current in your context — no need to Read it back)
报错 Bash Run episode validator on episodes 1-3

输入

cd /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2 && V=.claude/skills/hongguo-shortdrama-screenwriting/scripts/validate_episode.py && python3 -I $V --self-test && python3 -I $V 剧本/第01集.md --format standard; python3 -I $V 剧本/第02集.md --format standard --prev 剧本/第01集.md; python3 -I $V 剧本/第03集.md --format standard --prev 剧本/第01集.md 剧本/第02集.md

返回

Exit code 1
[+] self-test PASSED
== 剧本/第01集.md  [standard 标准档 90~120 秒]  正文体量≈381 ==
结果: PASSED
== 剧本/第02集.md  [standard 标准档 90~120 秒]  正文体量≈336 ==
[-] FAIL: E1 [standard] 剧本文本体量 336 不在 350~500 区间(实拍档)
[!] WARN: E12 黄金三角缺项: 目标(前 30 秒须讲清 我是谁 / 我面临什么危机 / 我要做什么)
结果: FAILED(修复后重跑)
== 剧本/第03集.md  [standard 标准档 90~120 秒]  正文体量≈327 ==
[-] FAIL: E1 [standard] 剧本文本体量 327 不在 350~500 区间(实拍档)
结果: FAILED(修复后重跑)

思考 7 秒

Agent:
Episode 1 passes; 2 and 3 are under the word floor (336/327, need 350–500). Adding beats that carry new information rather than padding.
Edit ./剧本/第02集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md

—— 原文 ——
△ 小满哭喊着被保姆抱上楼,小手还朝她伸着。

—— 改成 ——
小满(哭):妈妈别走!妈妈——
△ 小满被保姆抱上楼,小手还朝她伸着。

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./剧本/第02集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md

—— 原文 ——
林振东(看向顾承宇,笑):顾老板,不敢让她碰?
林振东:三天。三天后还是这个味,收购作废。

—— 改成 ——
林薇薇(把镜头怼到她脸上):一个帮工,还想跟顾大厨比?
林振东(看向顾承宇,笑):顾老板,不敢让她碰?
林振东:三天。三天后还是这个味,收购作废。
沈知味(直视镜头):三天后,我要大家尝尝,顾记的汤到底姓什么。

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./剧本/第03集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md

—— 原文 ——
顾承宇:出了这道门,江城没一家后厨敢用你。
沈知味:那我自己开一口灶。

—— 改成 ——
顾承宇:出了这道门,江城没一家后厨敢用你。
沈知味:那我自己开一口灶。
△ 秦师傅追出来,把一团白布塞进她手里——是那顶厨师帽,已经洗净拧干。

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md has been updated successfully. (file state is current in your context — no need to Read it back)
Edit ./剧本/第03集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md

—— 原文 ——
唐小棠:协议是被逼签的。抚养权,我陪你打。

—— 改成 ——
△ 唐小棠把手机递过来。屏幕上,林薇薇的直播标题:顾记帮工偷配方被抓,在线十万人。
唐小棠:协议是被逼签的。抚养权,我陪你打。
沈知味(戴上那顶厨师帽):汤浑了,就得重吊。

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第03集.md has been updated successfully. (file state is current in your context — no need to Read it back)

思考

Bash Re-run episode validator on episodes 1-3

输入

cd /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2 && V=.claude/skills/hongguo-shortdrama-screenwriting/scripts/validate_episode.py && python3 -I $V 剧本/第01集.md --format standard; python3 -I $V 剧本/第02集.md --format standard --prev 剧本/第01集.md; python3 -I $V 剧本/第03集.md --format standard --prev 剧本/第01集.md 剧本/第02集.md

返回

== 剧本/第01集.md  [standard 标准档 90~120 秒]  正文体量≈381 ==
结果: PASSED
== 剧本/第02集.md  [standard 标准档 90~120 秒]  正文体量≈368 ==
结果: PASSED
== 剧本/第03集.md  [standard 标准档 90~120 秒]  正文体量≈396 ==
结果: PASSED

思考 2 秒

Edit ./剧本/第02集.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md

—— 原文 ——
【本集时长】:约 115 秒

—— 改成 ——
【本集时长】:约 105 秒

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/剧本/第02集.md has been updated successfully. (file state is current in your context — no need to Read it back)
Write ./人物小传.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/人物小传.md

# 《离婚后,婆家招牌菜做不出来了》· 主要人物小传

> 竖屏短剧 | 标准档(每集 90~120 秒)| 全剧 60 集 | 女频·大女主事业复仇(厨艺专业碾压)| 情绪流
>
> **情绪契约(全剧不变的那口气)**:手艺是我的——谁偷的,谁当着所有人的面还回来。
>
> 具名角色共 10 人(核心 5 人:沈知味 / 顾承宇 / 林振东 / 陆砚 / 林薇薇),其余全部为无名群演或功能位(检测员、评委、老食客、保安、助理),符合「核心 3~5 人、具名 ≤12」的配额。

---

## 一、核心人物

### 1. 沈知味 —— 女主

| 项 | 内容 |
|---|---|
| 年龄 / 外形 | 32 岁。素面,常年挽袖,右手腕一道旧烫疤。 |
| 明面身份 | 顾记酒楼"后厨帮工"、顾家儿媳 |
| 真实身份 | 顾记八年来的真正掌勺;江城老字号「沈记」末代掌柜沈玉茹的外孙女,从小在沈记灶台边长大 |
| 欲望(可拍的) | 让自己的名字回到每一道菜上;把女儿小满接回身边;最终把「沈记」的招牌重新挂起来 |
| 秘密 / 软肋 | ① 右手腕旧伤,连续颠勺半小时就抖——她一直用技巧瞒着,第三幕复发成"底牌失效";② 外婆留下的手写菜谱缺最后一页,她不知道那页写了什么;③ 小满——所有反派都拿女儿当筹码 |
| 金手指(低理解成本) | 舌头极准:一口汤能尝出加了什么、凉过没有、火候差几分钟。不是系统,不是超能力,是三十年灶台边练出来的 |
| 弧光 | **单元A 被动自证**("汤是我吊的")→ **单元B 主动入局**(假意投靠鼎盛当"沈记总厨",从内部取证)→ **单元C 掌控规则**(手废了也能掌勺:用舌头指挥一整个后厨,立自己的招牌)。终点:从"想要被承认"变成"不需要谁来承认" |
| 语言指纹 | 话短,不骂人;越生气语速越慢;爱用灶上的话打比方——"汤浑了,就得重吊""火候没到""最后一扫,你自己来"。标志动作:拇指抹过刀背上的"沈"字 |
| 记忆点 | 开水白菜的"最后一扫"——一勺鸡茸压下去,浑汤清得像白水。全剧三次关键翻盘都落在这一扫上(第1集留着不扫、第21集当众一扫、第58集左手一扫) |
| 一句话为什么必须存在 | 她是"隐形劳动被署了别人名字"这一共鸣的化身 |

### 2. 顾承宇 —— 前夫 / 单元A 前台反派

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 35 岁,顾记酒楼老板,对外是"开水白菜传人""江城名厨" |
| 欲望 | 把顾记卖给鼎盛换股份,娶林薇薇进林家 |
| 秘密 | 他根本不会吊汤,连"扫汤"这一步都不知道怎么下勺;顾记账上亏空,急着卖店还债 |
| 弧光 | 体面 → 慌 → 撕破脸 → 被林家收编当"沈记挂名主厨"(单元B,给前妻打下手)→ 被林家当弃子 → 作伪证 → 败露,最后在别家后厨洗碗 |
| 语言指纹 | 体面腔:"为你好""顾全大局""别闹"。**心虚就摸袖扣**——这个小动作第 52 集被小满当众点破 |
| 功能位 | 证据阶梯推动者:每次出场都拿出一档新"证据"(协议 → 手写菜谱 → 名厨证书 → 起诉 → 伪证) |

### 3. 林振东 —— 鼎盛餐饮集团董事长 / 终极反派

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 56 岁,鼎盛餐饮集团董事长,江城最大的餐饮资本 |
| 欲望 | 把江城老字号一家家吞下来做成"标准化品牌";拿到沈记"头汤"的完整方子 |
| 秘密 | ① 他是沈玉茹当年的大徒弟,因偷方子被逐出师门;② 十年前用"借款+后补转让条款"的套路吞了沈记,转让书正文是事后打印的;③ 他撕走的菜谱最后一页,正面是头汤方子,背面是沈玉茹左手写的"借款不卖招牌"声明和手印——他一直没读懂那几行歪字,因为贪那面方子,一直没舍得毁 |
| 弧光 | 旁观者(尝汤的收购方)→ 单元B 幕后主使 → 单元C 正面终极对手 → 被自己的贪心亲手亮出铁证 |
| 语言指纹 | 笑面,语速慢,讲"规矩"和"标准化"。口头禅:"手艺,是要变成钱的。" |
| 一句话为什么必须存在 | 他是"偷手艺"这份恶的源头。顾家偷她的名,他偷整个沈记——换层不换欲 |

### 4. 陆砚 —— 男主 / 助力

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 34 岁,陆氏餐饮总裁(鼎盛的竞争对手) |
| 欲望 | 找到八年前在市一院门口给他病重的母亲送汤的姑娘。母亲临终前只咽得下那一碗 |
| 秘密 | 他父亲陆鸣是十年前沈记转让书上的见证人,收过林振东的钱。陆砚查到后买下了要被拆的沈记老楼,原样保住老灶,却一直不敢告诉她 |
| 弧光 | 沉默食客(每天来喝第一碗)→ 关键证人(第10集行车记录仪)→ 借门不借灶 → 第43集身份被揭、信任崩塌 → 第50集自曝家丑交出原始录像,还沈家清白 |
| 语言指纹 | 话少,只问不答,句末从不带语气词。"这汤,谁做的。""明早,第一碗。" |
| 设计原则 | **他不替女主赢**。他只提供"门"和"证据",灶前的每一次翻盘都是沈知味自己完成的 |

### 5. 林薇薇 —— 林振东之女 / 舆论施压者 → 反转棋子

| 项 | 内容 |
|---|---|
| 年龄 / 身份 | 27 岁,美食网红"薇薇吃遍江城",顾承宇的新欢;单元B 任鼎盛"沈记"品牌主理人 |
| 欲望 | 证明自己不是靠爹 |
| 秘密 | 鼎盛"沈记"料包线是她负责的;她用沈知味的电子签章倒签了"料包研发确认单" |
| 弧光 | 直播造谣(单元A)→ 架空总厨、甩锅(单元B)→ 被父亲当众推出去顶罪(第41集)→ 当场反手播放父亲语音(第42集)→ 单元C 带着账本倒戈、投案自首 |
| 语言指纹 | 直播腔"家人们",甜嗓转刻薄只要半秒;永远把手机镜头怼到别人脸上 |

---

## 二、关键配角

### 6. 周桂芬 —— 婆婆

58 岁,市井刻薄。口头禅:"吃我们顾家的饭""一个外人"。
**秘密**:当年是她看中沈知味是沈记的外孙女,才撺掇儿子娶她——"娶回来的是一双手"。
**功能**:单元A 前台施压(扔帽、搜身、烧刀、砸招牌、教小满说谎)。结局不被羞辱,只是端着空碗来讨一碗汤——打脸留给主要反派,不践踏已经失势的人。

### 7. 秦师傅(秦德厚)—— 老厨工 / 反转棋子

61 岁,顾记烧火的老厨工,其实是当年沈记的学徒,看着沈知味长大。
**软肋**:孙子在鼎盛实习,被顾承宇拿来要挟。
**弧光**:沉默 → 被逼当众作伪证(第17集)→ 擂台上解下围裙倒戈(第21集)→ 单元B 去鼎盛中央厨房卧底 → 单元C 带着孙子一起站上金灶宴。
**语言指纹**:叫她"知味",叫沈玉茹"老掌柜";话说一半就咽回去。

### 8. 唐小棠 —— 闺蜜 / 律师

31 岁,社区律所律师,把亡父留下的小饭馆借给沈知味开"知味小馆"。
**功能**:所有"程序"上的反驳都由她落地——抚养权变更、公证、调取签章日志、当场比对手印。保证女主每次赢都**有法律逻辑**,不是靠一张嘴。
**语言指纹**:快、直、带术语,"证据链""先公证"。

### 9. 小满 —— 女儿 / 情感锚点

6 岁,爱画画,把妈妈做的每道菜都画下来。
**功能**:痛点来源(被拽走、被教着说"爸爸做的汤"、被同学叫"骗子的女儿")和情绪释放口(第17集手表语音、第22集扑进妈妈怀里、第60集踩着小板凳完成"最后一扫")。
**合规**:涉及未成年人的情节只写被大人利用的"后果"与反派被惩罚,不渲染伤害。

### 10. 王伯 —— 王记面馆老板 / 单元C 群像代表

67 岁,江城老字号王记的老板,第44集在鼎盛收购签约台上手抖。
**功能**:揭开林振东"借款+后补转让"的通用套路,让单元C 从"沈家一家的冤"升级为"一城老字号的账"。高潮集只带他一个具名,其余老字号老板做群演。

---

## 三、人物关系一览

```text
                  林振东(鼎盛董事长 · 沈玉茹逐出的大徒弟)
                 /          │             \
          父女              收编              十年前收买
          /                 │                 \
     林薇薇 ──恋人── 顾承宇(前夫)          陆鸣(已故,见证人)
       │               │      \                 │ 父子
   直播造谣         离婚夺女   母子               陆砚 ──守护/暗恋── 沈知味
       │               │        周桂芬                              │
       └──────────→ 沈知味 ←──────────┘                    母女:小满
                    │      \
         师徒:秦师傅      闺蜜:唐小棠           盟友(单元C):王伯
                    │
           外婆:沈玉茹(已故,沈记末代掌柜)
```

## 四、角色出场与功能配额核查

| 角色 | 首出集 | 主战单元 | 推剧情 / 衬主角 / 给信息 |
|---|---|---|---|
| 沈知味 | 1 | 全剧 | — |
| 顾承宇 | 1 | A(B、C 作配) | 推剧情 |
| 周桂芬 | 1 | A | 推剧情 + 衬主角 |
| 秦师傅 | 1 | A→C | 给信息(反转棋子) |
| 小满 | 1 | 全剧 | 衬主角(情感锚) |
| 林薇薇 | 2 | A→B(C 倒戈) | 推剧情 + 给信息 |
| 林振东 | 2 | B→C | 推剧情(终极) |
| 唐小棠 | 3 | 全剧 | 给信息(程序反驳) |
| 陆砚 | 3(断章) | 全剧 | 给信息 + 衬主角 |
| 王伯 | 44 | C | 给信息(群像) |

日常集不引入新具名角色;新具名角色只在第 44 集(单元C 开局)引入 1 人。

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/人物小传.md (file state is current in your context — no need to Read it back)

思考 1 秒

Edit ./人物小传.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/人物小传.md

—— 原文 ——
```text
                  林振东(鼎盛董事长 · 沈玉茹逐出的大徒弟)
                 /          │             \
          父女              收编              十年前收买
          /                 │                 \
     林薇薇 ──恋人── 顾承宇(前夫)          陆鸣(已故,见证人)
       │               │      \                 │ 父子
   直播造谣         离婚夺女   母子               陆砚 ──守护/暗恋── 沈知味
       │               │        周桂芬                              │
       └──────────→ 沈知味 ←──────────┘                    母女:小满
                    │      \
         师徒:秦师傅      闺蜜:唐小棠           盟友(单元C):王伯
                    │
           外婆:沈玉茹(已故,沈记末代掌柜)
```

—— 改成 ——
```text
【沈家】  沈玉茹(已故,沈记末代掌柜)──外祖孙── 沈知味 ──母女── 小满
【顾家】  顾承宇 ──前夫── 沈知味 ;周桂芬 ──母子── 顾承宇
【林家】  林振东 ──父女── 林薇薇 ;林薇薇 ──恋人── 顾承宇
【陆家】  陆鸣(已故)──父子── 陆砚 ;陆砚 ──守护/暗生情愫── 沈知味
【旧账】  林振东 = 沈玉茹逐出师门的大徒弟;十年前吞沈记时,陆鸣收钱当见证人
【盟友】  秦师傅(沈记旧学徒)、唐小棠(闺蜜/律师)、王伯(单元C 老字号代表)
```

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/人物小传.md has been updated successfully. (file state is current in your context — no need to Read it back)

思考 12 秒

Agent:
Character bible done. Now the 60-episode outline with paywalls and the per-unit round tables.
Write ./分集大纲.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/分集大纲.md

# 《离婚后,婆家招牌菜做不出来了》· 60 集分集大纲

## 一、立项单

| 项 | 内容 |
|---|---|
| 剧名 | 《离婚后,婆家招牌菜做不出来了》(剧名即卖点:一眼知道"谁才是真厨子") |
| 类型 | 女频 · 大女主事业复仇 × 专业碾压(厨艺)× 家庭伦理 |
| 体裁 / 档位 | 竖屏实拍短剧 · **标准档**:每集 90~120 秒,正文 350~500 字,≤2 场 |
| 集数 | 60 集 |
| 流派 | **情绪流**。观众追的不是"接下来发生什么",而是"他们什么时候认——这菜是她做的" |
| 赛道锚定 | 女频「大女主复仇/事业线」为主(每回合赢一单)+ 男频向「逆袭打脸·专业碾压」调味(每集一个灶台名场面) |
| 情绪契约 | **手艺是我的——谁偷的,谁当着所有人的面还回来。** |
| 目标受众 | 25~50 岁女性为主,已婚/有孩子、做过"没人看见的活"的人;美食与家庭题材兼顾中老年观众。情绪导向:获得感(被看见、被正名)+ 关系感(母女、师徒) |
| 看点一句话 | 八年来顾记的每一碗招牌汤都是她吊的,名字却是丈夫的——她一走,婆家的招牌菜就做不出来了。 |

### 一句话故事(主角 + 目标 + 阻碍 + 亮点)

被婆家当"帮工"使唤八年的真掌勺**沈知味**(主角),离婚后要**把自己的名字拿回每一道菜上、再把外婆的「沈记」招牌重新挂起来**(目标),对手是冒名顶替的前夫一家,和他们背后十年前吞掉沈记、如今要把老字号做成料包的餐饮资本**鼎盛**(阻碍);她手里只有一把刻着"沈"字的刀,和一条一口就能尝出真假的舌头(亮点)。

### 选题门 · 五问

| 问 | 回答 |
|---|---|
| 1. 目标用户是谁? | 女频主力(25~50 岁),尤其是在家庭或职场里"干了活、功劳归别人"的女性;美食元素对中老年观众友好 |
| 2. 核心情绪共鸣点明确吗? | 明确:**隐形劳动被署了别人的名字**。痛点→爆点链条清楚:被抢署名(痛)→ 他一做就露馅(爽)|
| 3. 视觉化落地难吗? | 难度低、辨识度高:开水白菜"一勺扫清"的视觉魔术、灶火、颠勺、菜品特写。主场景集中在 2~3 个室内景 |
| 4. 踩政策红线吗? | 不踩。无封建迷信、无血腥;"食物中毒"是诬陷且被证伪;调查机关一律虚写;不攻击"预制菜"本身,只打"料包冒充现熬"的欺骗 |
| 5. 有市场依据吗? | 有赛道依据:离婚逆袭、真假身份、专业碾压(神医/鉴宝类)都是平台常青赛道(见 skill 的 `genre-map.md`)。**说明:本次未扫红果实时榜单**,立项前建议对一遍当周热播/飙升榜 |

### 微创新(课 02 三法)

- **人设创新**:女主不是隐藏千金或战神,是"后厨帮工"——身份低到尘埃里,本事却实打实,观众天然站她。
- **背景创新**:老字号酒楼后厨 → 资本中央厨房。行业细节(吊汤、扫汤、料包、品控抽检)给出新鲜感。
- **金手指具体化**:不用"系统",用"舌头"。理解成本为零,每集都能拍成名场面。

### 主要信息差(课 06)

| 单元 | 模型 | 用法 |
|---|---|---|
| A | 模型 4:主角和观众知道,配角不知道 | 观众从第 1 集就看见是她在扫汤,全江城却认顾承宇——期待"他什么时候露馅" |
| B | 模型 1:主角知道,观众和配角只知一半 | 她"认贼作父"去鼎盛当总厨,观众只看到她在收集东西,到第 41 集才看清全盘布局 |
| C | 模型 2:配角和观众知道,主角不知道 | 观众第 29 集就看见陆砚认出父亲的签名,她第 43 集才知道——信任危机的炸点 |

---

## 二、全剧结构(四幕 × 三单元)

| 幕 | 集 | 单元 / 回合 | 任务 | 情绪 |
|---|---|---|---|---|
| 一幕·入局压迫 | 1~12 | A·回合1~3 | 离婚夺女、污名偷配方、小馆开张、食物中毒构陷与翻案(一级墙) | 憋屈 ➔ 震惊 ➔ 第一口气 |
| 二幕·升级纠缠 | 13~34 | A·回合4~6 → **A 闭环(第22集)** → B·回合1~4 | 协会背书、女儿被利用、擂台"最后一扫";接缝露出沈记旧账(二级墙);她"认贼作父"进鼎盛当总厨,千人盲品 | 爽 ➔ 步步紧逼 |
| 三幕·风暴危机 | 35~49 | B·回合5~6 → **B 闭环(第42集)** → 至暗(三级墙)→ C·回合1~2 | 被甩锅成"预制菜骗子"、72 小时透明后厨、发布会翻盘;随即外婆"卖招牌"视频曝光、手伤复发、陆砚身份揭穿 | 虐 ➔ 紧迫 ➔ 窒息 |
| 四幕·决战封神 | 50~60 | C·回合3~6 → **C 闭环(第57~58集)** | 陆砚交出原始录像、林薇薇倒戈、金灶宴上逼林振东亲手亮出最后一页、左手最后一扫、沈记重挂招牌 | 狂爽 ➔ 释放 |

### 单元链(换矛盾不换情绪)

| | 单元 A(1~22) | 单元 B(23~42) | 单元 C(43~60) |
|---|---|---|---|
| 核心执念 | 全江城咬定"顾记的招牌是顾承宇做的,她是偷方子的帮工" | 鼎盛咬定"沈记十年前就卖给我们了",拿料包冒充"沈记百年手作" | 全城认定"沈玉茹收钱卖了招牌",林振东是合法买家 |
| 对手 | 顾承宇、周桂芬(前台);林薇薇(舆论) | 林振东(幕后)、林薇薇(前台主理人)、顾承宇(挂名主厨) | 林振东(终极)及他背后"借款吞老字号"的那套规则 |
| 女主打法 | 被动自证:一口灶、一碗汤 | 主动入局:假意投靠,从内部取证 | 掌控规则:手废了,用舌头指挥整个后厨;联合老字号立新规矩 |
| 闭环 | 第21~22集擂台"最后一扫",顾承宇当众承认 | 第41~42集融资发布会,料包线叫停,林薇薇反手放出父亲语音 | 第56~58集金灶宴,林振东亲手翻出最后一页背面;左手最后一扫 |
| 火种(埋下一单元) | 林振东亮出菜谱残页:"沈记的招牌,十年前就姓林了" | 外婆"收钱卖招牌"视频上热搜,转让书见证人是陆砚的父亲 | —— |
| 情绪 | 憋屈 → 吐气 | 憋屈 2.0(对手更强、她亲手走进虎口) | 至暗 → 大爽大释放 |

换层不换欲:三层对手都是同一种恶——**偷手艺换钱**。顾家偷她的名字,林振东偷整个沈记,那套"借款+后补转让"的规则偷一城老字号。

---

## 三、付费卡点

| 卡点 | 集 | 断法 | 前置蓄水 | 下一集前 15 秒兑现 |
|---|---|---|---|---|
| 💰 **一级墙** | **第 10 集** | 公式1 身份掉马前一秒 + 反击前 0.5 秒:她当众喝下"证物汤",尝出料是凉透后才下的;林薇薇冷笑"没监控你空口白牙"——门口男人举起行车记录仪,林薇薇失声"陆……陆总?",播放键按下前黑屏 | 第 8~9 集:小馆被贴封条、硬盘被盗、顾承宇逼签认罪书、小满隔着车窗看她 | 第 11 集开场即播放视频:凌晨,林薇薇的助理撬窗往汤桶里倒东西 |
| 💰 **二级墙** | **第 22 集** | A/B 接缝·新矛盾露头:刚赢下擂台、抱回小满,林振东亮出一张泛黄的菜谱残页:"你外婆的菜谱,缺了最后一页吧?沈记的招牌,十年前就姓林了。"她伸手,残页被收回——"想要?来鼎盛。" | 第 19~21 集:规则被临时改、秦师傅被逼作伪证、擂台汤底打平 | 第 23 集开场:鼎盛官宣"沈记旗舰店"开业,律师函送到知味小馆,禁用"沈记"二字 |
| 💰 **三级墙** | **第 43 集** | 公式4 绝境二选一:外婆"收钱卖招牌"视频全网疯传、医生说"再颠勺这只手就废"、她发现陆砚的父亲就是转让书见证人。林振东推来一份配方永久转让书:"签,我删视频、还你最后一页;不签,你外婆永远是卖招牌的人。明早九点。" | 第 41~42 集:她赢下发布会,主角赢了每一场、却眼看输掉全局 | 第 44 集开场:她把转让书推回去,"外婆的名声,我自己洗" |

单元内的大情绪点(每 5~10 集一个):第 5、11、17、21~22、28、34、41~42、50、54、57~58、60 集。

---

## 四、往返回合表(每单元一张)

【情绪契约】:手艺是我的——谁偷的,谁当着所有人的面还回来。

### 单元 A|执念 = 顾家咬死"招牌是顾承宇的" | 对手 = 顾承宇、周桂芬、林薇薇 | 闭环 = 擂台最后一扫

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1~3 | 档1 旁人口说:婆家与直播称她是"偷配方的帮工" | 档1 口头:"封皮写着沈记""刀背刻的是沈" | 陆砚推门:"八年前那碗汤,是不是你送的?" |
| 2 | 4~7 | 档2 可抵赖物证:顾氏"手写菜谱"、名厨榜证书 | 档2 质疑效力:"本子能抄,火候抄不走"——开小馆用一碗汤回应 | 清晨三名食客倒在小馆门口 |
| 3 | 8~11 | 档3 看似铁证:食物中毒 + 检测报告 + 封店 | 档3 挑战程序:当众喝证物汤,指出样本"凉过";调出行车记录仪 | 💰一级墙(第10集);第11集翻案后推送"行业失信名单" |
| 4 | 12~15 | 档4 权威背书:协会认证顾承宇为传承人,她进黑名单、被起诉侵犯商业秘密 | 档4 对抗体制:自找货源、下架署名菜另创新汤、找秦师傅问真相 | 林薇薇直播小满:"爸爸做的汤最好喝" |
| 5 | 16~19 | 档5 多重合围:证书 + 菜谱 + 协会 + 秦师傅伪证 + 女儿视频 | 档5 赌上一切:签擂台赌约,输了当众折刀、永不掌勺 | 擂台当天,顾承宇的汤底和她的一模一样 |
| 6 | 20~22 | 档6 擂台定局:评委盲品汤底打平 | 档6 最后一搏:"最后一扫,顾大厨请"——秦师傅倒戈 | 💰二级墙(第22集):最后一页残页 |

### 单元 B|执念 = 鼎盛咬定"沈记早就是我们的" | 对手 = 林振东、林薇薇、顾承宇 | 打法 = 主动入局

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 23~25 | 档2 物证:律师函 + 外婆亲笔签名的转让合同 | 档2→攻守转换:她答应去鼎盛当"沈记总厨",背上"认贼作父"的骂名 | 冷库满墙料包,印着"沈记·百年手作" |
| 2 | 26~28 | 档3 看似铁证:监控拍到她偷拿料包,被扣"商业间谍" | 档3 程序:总厨品控抽检职责 + 抽检记录早已公证 | 林振东甩出老照片:"论辈分,你该叫我师伯" |
| 3 | 29~31 | 档4 权威:公证过的转让书、见证人"陆鸣" | 档4 质疑程序:闻出签名页有沈记油烟、正文页没有——纸不是同一天的 | 吊汤夜右腕剧痛,汤勺掉进锅里 |
| 4 | 32~34 | 档4+ 林薇薇踹翻汤锅、千人盲品被她设局 | **单元内小转换**:秦师傅按她教的吊出第二锅;千人盲品九成选手熬 | 林振东反手甩锅:料包"是沈总厨研发的" |
| 5 | 35~38 | 档5 合围:盖着她电子签章的确认单 + 前夫作证 + 网暴 + 抚养权被申请变更 | 档5 赌上一切:72 小时透明后厨直播,手抖也不关 | HR 日志:调用签章的账号是林薇薇 |
| 6 | 39~42 | 档6 林振东抢开融资发布会套现 | 档6 借陆氏的门闯会场,出货单 + 日志 + 录音 | 💰三级墙前夜:外婆"收钱卖招牌"视频上热搜 |

### 单元 C|执念 = 全城认定"沈玉茹卖了招牌" | 对手 = 林振东及其套路 | 打法 = 掌控规则

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 43~45 | 档1/2 视频 + 舆论 + 手伤 + 陆砚身份 | 档2 拒签、赶走陆砚、改练左手 | 王伯敲门:"他当年也是这么'借'我钱的" |
| 2 | 46~48 | 档3 外婆"收到转让款"收据 + 公证手印 | 档3 外婆右手早废,收据却是右手写的——收据伪造 | 沈记老楼里,陆砚站在擦得发亮的老灶前 |
| 3 | 49~51 | 档4 林振东把原始录像说成陆家伪造;金灶宴邀她"尝尝外婆的头汤" | 档4 陆砚自曝家丑交出原带;她联合老字号赴宴 | 顾承宇站到林振东身边,准备作证 |
| 4 | 52~54 | 档5 前夫伪证 + 协会再除名 + 婆婆直播 | 档5 接过林薇薇的账本;手废了,带一整个后厨练"沈记十三道" | 秦师傅:"他们说我明天敢上台,就……" |
| 5 | 55~56 | 档5+ 鼎盛头汤博得满堂彩,林振东称"方子在我手里" | 档6 激他当众亮出残页:"林董,翻过来。" | 镜头推近背面:一行歪字,一个红手印 |
| 6 | 57~58 | —— | 档6 收官:沈玉茹左手写的"借款,不卖招牌";她解开夹板,左手最后一扫 | 前夫跪求复婚 |

---

## 五、60 集分集大纲

> 每集统一结构:前 3 秒冲突 → 本集一拍(施压 ➔ 反驳/升级)→ 一个小情绪点 → 断章。💰 = 付费卡点;★ = 大情绪点。

### 第一幕 · 入局压迫(1~12)|单元 A 回合 1~3

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 1 | 离婚协议拍在案板上 | 鼎盛收购试菜夜,婆婆把她的厨师帽扔进泔水桶,顾承宇拍下离婚协议:署名归他、小满归顾家、她留后厨当帮工。她扫清半锅汤,签字,撕掉"帮工"那条丢进灶火:婚我离,帮工不当,最后一扫你自己来 | 小:撕条款、甩下半锅汤 | 顾承宇对着重新变浑的汤手抖,小满光脚喊"妈妈",她停在门槛 |
| 2 | 这碗汤,不是同一个人做的 | 婆婆拽走小满、当众搜身,搜出封皮写着"沈记"的手写菜谱;林薇薇直播"抓到偷配方的帮工"。林振东尝出汤不对,顾承宇甩锅,不敢让她碰灶。林振东:"三天后还是这个味,收购作废。" | 小:林董一句"不敢让她碰?" | 婆婆把刀包扔进灶火 |
| 3 | 刀背上刻的是"沈" | 她徒手从火里抢回刀,刀背刻"沈";林振东听到"沈玉茹"指尖一紧。被逐出门,秦师傅偷偷塞回洗净的厨师帽;唐小棠借出亡父的小铺,灶火重燃 | 小:师徒关系感 | 陆砚推门:"八年前市一院门口那碗汤,是不是你送的?" |
| 4 | 本子能抄,火候抄不走 | 她只回"认错人了",陆砚留下预付:"明早,第一碗。"知味小馆开张只卖一碗汤;顾承宇在网上晒"顾氏手写菜谱"和名厨证书,林薇薇带节奏"偷方子开山寨店" | 小:开张就排队 | 婆婆带人抡起拖把砸招牌 |
| 5 | ★砸招牌的人先喝了汤 | 招牌被砸,顾记十年的老食客端起她的汤喝了一口:"顾记那碗,就是这个味!"围观倒戈,婆婆灰溜溜退场。第三天,顾记端出一碗清亮的汤 | **大①**:第一次当众正名 | 林振东舀起顾记的汤——送到嘴边 |
| 6 | 拿女儿换一锅汤 | 林振东:"七分像。意向书先签,正式合同等名厨认证。"顾承宇深夜找她:回来偷偷吊汤补齐那三分,每周让她见小满一次。她隔着铁门接过小满的画,拒绝,唐小棠递交抚养权变更申请 | 小:母女隔门 | 秦师傅塞来纸条:"他们要动你的汤桶" |
| 7 | 汤桶上的锁 | 小馆排长队,林薇薇来"探店"笑里藏刀。她给汤桶加锁,唐小棠装上监控 | 小:林薇薇探店吃瘪 | 清晨,三名食客捂着肚子倒在小馆门口,林薇薇的镜头第一时间赶到 |
| 8 | 食物中毒 | 检测机构抽样,报告称汤底含违规添加物;小馆被贴封条,全网骂"偷方子还下料" | 痛点:被封店 | 唐小棠:"监控硬盘,被人拆走了。" |
| 9 | 认罪书 | 顾承宇带来声明:认下偷配方和下料,他就"撤诉赔钱摆平"。小满坐在他车里隔着车窗看她。她撕了声明 | 痛点峰值(蓄水) | 封条前,她看见街角那辆黑色轿车——已经停了七天 |
| 10 | 💰喝下证物汤 | 公开对质会:检测员、三名食客、顾家、林薇薇直播。她当众喝下封存的证物汤:"料是汤凉透以后才下的。我的汤一个钟头就卖空,从没凉过。"林薇薇:"没监控,你空口白牙!" | 小:喝证物汤的胆 | **一级墙**:陆砚举起行车记录仪,林薇薇失声"陆……陆总?"——播放前黑屏 |
| 11 | ★行车记录仪 | 视频:凌晨,林薇薇的助理撬窗往汤桶倒东西;三名"食客"是顾记的洗碗工。林薇薇甩锅助理,顾承宇撇清。封条揭下,陆砚:"明早第一碗,留给我。" | **大②**:翻案 | 手机推送:江城烹饪协会"行业失信名单",第一行写着沈知味 |
| 12 | 黑名单 | 供应商全线断货,菜市场没人卖她鸡;顾记老食客从乡下拉来一笼土鸡。协会仪式上,顾承宇当众"演示吊汤" | 小:老食客送鸡 | 她闻着隔街飘来的汤香:"这是我的火候。看过我吊汤八年的,只有一个人。" |

### 第二幕 · 升级纠缠(13~34)|单元 A 回合 4~6 → 二级墙 → 单元 B 回合 1~4

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 13 | 偷师的人 | 是秦师傅——孙子在鼎盛实习,被顾承宇拿来要挟。秦师傅避开她的眼睛。陆砚递来陆氏"江城味道"盲品会邀请,她:"我只借灶,不借名。" | 小:拒绝被"救" | 法院传票:她被诉侵犯商业秘密,传票里夹着小满的画 |
| 14 | 不叫开水白菜 | 协议里的署名条款让她不能再卖开水白菜。她当场改出一道"知味清汤",食客反而更多 | 小:现场创新菜 | 协会施压,陆氏盲品会被叫停,她被取消一切比赛资格 |
| 15 | 老照片 | 她去找秦师傅,秦拿出一张老照片:年轻的他站在沈玉茹身边,穿沈记围裙。"知味,师傅对不起老掌柜。" | 小:身世线首露 | 林薇薇直播放出小满的视频:"爸爸做的汤最好喝" |
| 16 | 女儿说"爸爸做的汤" | 证书、菜谱、协会、女儿视频一起压下来;小馆门口被泼红漆写"贼" | 痛点峰值 | 鼎盛签约发布会预告:秦师傅将出镜作证 |
| 17 | ★秦师傅的声明 | 秦师傅在镜头前念"汤是顾老板吊的",手一直抖;她没怪他。深夜,小满用儿童手表偷偷发来语音:"妈妈,奶奶给我糖,让我那么说的。" | **大③**:母女泪点 | 她拨给林振东:"签约那天,给我一口灶,和顾承宇同台。" |
| 18 | 赌约 | 林振东答应——他想亲眼看沈家的手。赌约:她输,当众折刀、永不掌勺;顾承宇输,当众承认冒名、撤诉道歉。婆婆笑着签字 | 小:赌上一切的气势 | 练汤时她右腕一抖,汤勺落地——陆砚在门口看见 |
| 19 | 规则被改了 | 林振东临时改规则:"各带汤底,不现场吊汤。"——对秦师傅吊的汤底有利。唐小棠急了,她:"汤底能带,最后一扫带不走。" | 小:一句话稳住 | 擂台当天,顾承宇揭开汤底,汤色和她的一模一样 |
| 20 | 最后一扫 | 评委盲品汤底:打平。她:"开水白菜,最后一步叫扫汤。顾大厨,请。"顾承宇捏着鸡茸,不知道往哪下 | 小:前夫当众卡壳 | 顾承宇回头望后台的秦师傅——秦师傅解下了围裙 |
| 21 | ★秦师傅倒戈 | 秦师傅走上台:"这一扫,八年只有知味会。我只烧火。"顾承宇硬扫,汤越扫越浑;她一勺压下,汤清得像白水。评委全票 | **大④**:擂台翻盘 | 顾承宇被推到话筒前,嘴唇发抖:"顾记的汤……" |
| 22 | 💰招牌摘下 | 顾承宇承认"不是我做的"。林振东当场撤回收购:"顾记没了她,一文不值。"秦师傅作证当年是被逼签字,顾承宇签下抚养权变更,小满扑进她怀里 | **大④续**:A 单元闭环 | **二级墙**:林振东亮出泛黄的菜谱残页:"沈记的招牌,十年前就姓林了。"她伸手,残页被收回——"想要?来鼎盛。" |
| 23 | 沈记是我们的 | 鼎盛官宣"沈记旗舰店"开业,林薇薇任主理人,顾承宇被林家收编为"沈记主厨"。律师函送到小馆:禁用"沈记"二字 | 憋屈 2.0 | 林振东:"来沈记当总厨,最后一页给你看一眼。" |
| 24 | 外婆的签字 | 鼎盛出示十年前的转让合同,签名确实是外婆的字,她动摇。秦师傅:"老掌柜说过,沈记不卖。" | 痛点:信念动摇 | 她拨给林振东:"总厨,我当。" |
| 25 | 认贼作父 | 她签约鼎盛,全网骂她"认贼作父",唐小棠跟她吵翻,陆砚只问"汤还卖吗"。她跟小满说:"妈妈去坏人家后厨,拿回外婆的东西。" | 小:攻守转换的决心 | 入职第一天,她拉开冷库——满墙料包,印着"沈记·百年手作·现熬" |
| 26 | 前夫给我打下手 | 林薇薇架空她:"总厨只管站台拍照。"顾承宇成了她的副手,端汤手抖,被她一句"凉了,重端"打回去 | 小:身份倒置的爽 | 她尝了一口料包汤:"这里面,有我外婆的头汤味。" |
| 27 | 头汤 | 她推断残页上是沈记头汤方子,鼎盛拿它批量做料包。她偷拍料包配料表交唐小棠公证 | 小:取证得手 | 林薇薇调出监控:她把料包装进包里——保安堵门,"商业间谍" |
| 28 | ★抽检记录 | 她亮出总厨的品控抽检职责,以及前天就公证的抽检记录;林薇薇当众吃瘪,被父亲训斥 | **大⑤**:卧底反杀第一局 | 林振东甩出老照片:年轻的他穿着沈记围裙站在沈玉茹身边——"论辈分,你该叫我师伯。" |
| 29 | 逐出师门的人 | 秦师傅证实:林振东是沈记大徒弟,二十多年前偷方子被逐。林振东拿出公证过的转让书 | 小:反派动机落地 | 公证书见证人一栏写着"陆鸣"——陆砚看见,手里的汤碗一晃 |
| 30 | 纸是哪天的 | 她问"陆鸣是谁",陆砚只说"一个不在了的人"。她闻出签名页沾着沈记后厨的油烟味,正文页没有——两页纸不是同一天的 | 小:舌头之外的鼻子 | 林薇薇官宣"沈记千人盲品",由沈总厨主持 |
| 31 | 将计就计 | 她答应主持,暗中准备两锅汤:一锅料包,一锅手熬。她把"最后一扫"第一次教给秦师傅;秦师傅应聘进鼎盛中央厨房当品控 | 小:师徒传承 | 吊汤夜右腕剧痛,汤勺掉进锅里 |
| 32 | 左手吊汤 | 她换左手吊汤,小满半夜爬起来给她递毛巾,唐小棠赶来看火——和好 | 小:闺蜜和好 | 林薇薇带人冲进小馆,一脚踹向汤锅 |
| 33 | 汤锅翻了 | 一锅汤全洒在地上,来不及重吊。秦师傅从中央厨房打来电话:"知味,我也吊了一锅——按你教的。" | 小:师徒反哺 | 千人盲品开场:"认为 A 碗是现熬的,请举手——" |
| 34 | ★千人举碗 | 九成食客选了她那碗,料包汤当场被识破。林振东却走上台:"感谢沈总厨研发料包,口味已达九成。"大屏投出盖着她电子签章的研发确认单 | **大⑥**:赢了盲品 | 全场哗然,有人把碗砸向她 |

### 第三幕 · 风暴危机(35~49)|单元 B 回合 5~6 → 三级墙 → 单元 C 回合 1~2

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 35 | 预制菜骗子 | 全网骂她"研发料包冒充现熬";鼎盛解约并索赔;小馆被砸;顾承宇趁机申请恢复抚养权 | 痛点 | 传票:抚养权听证,七天后 |
| 36 | 黑色的汤 | 小满被同学叫"骗子的女儿",回家不说话,画了一碗黑色的汤。唐小棠:要翻盘,得拿到鼎盛 HR 系统的签章日志。她看见林薇薇接父亲电话被骂"废物" | 痛点峰值 | 她把小满的画贴在灶台上:"我当着全江城,把料包一包一包拆开。" |
| 37 | 透明后厨 | 72 小时直播不关机。她拆开料包,指出生产日期早于她入职——"研发确认单"是倒签的 | 小:直播逆转第一波 | 第 40 小时,她右手抽搐,汤勺脱手,弹幕刷"演的" |
| 38 | 第 48 小时 | 她用毛巾把右手绑在灶台边,左手继续。秦师傅从中央厨房传回出货单:鼎盛三年前就在产"沈记"料包 | 小:人气爆了 | 唐小棠拿到 HR 日志:调用她签章的账号——林薇薇 |
| 39 | 签章是谁盖的 | 林薇薇去求父亲,林振东:"你自己的事,自己扛。"他把融资发布会提前到后天,要抢在真相之前套现 | 小:反派父女裂缝 | 发布会受邀投资方名单里,有陆氏 |
| 40 | 借门 | 她不想再欠陆砚。陆砚:"这次不借灶,借门。" | 小:CP 推进 | 发布会门口保安拦她:"黑名单,不许进。"陆砚递出邀请函:"她是陆氏的代表。" |
| 41 | ★发布会 | 她端上一碗手熬汤和一包料包,当着投资人播放出货单、HR 日志,和秦师傅录下的林薇薇原话"反正吃的人分不出来"。投资人撤资,林振东当场把女儿推出去:"她个人行为。" | **大⑦** | 林薇薇看着父亲,举起手机:"爸,那你听听这个——" |
| 42 | ★料包下架 | 林薇薇放出父亲亲口指示"料包冒充现熬"的语音。鼎盛"沈记"线叫停召回,顾承宇被林家赶走,撤回抚养权申请。B 单元闭环 | **大⑦续**:B 闭环 | 当晚热搜:沈玉茹十年前收钱卖招牌——视频里,外婆接过一沓钱 |
| 43 | 💰明早九点 | 视频全网疯传,外婆成了"卖招牌的人";医生说她"再颠勺,这只手就废了";她认出视频里年轻的见证人陆鸣,和陆砚办公室照片上是同一张脸 | 至暗 | **三级墙**:林振东推来配方永久转让书:"签,我删视频、还你最后一页;不签,你外婆永远是卖招牌的人。明早九点。" |
| 44 | 外婆的名声,我自己洗 | 她把转让书推回去。转身质问陆砚:"你喝的每一碗汤,都是来查我的?"陆砚说不出话,离开 | 痛点:信任崩塌 | 林振东官宣收购江城十家老字号,签约台上,王记面馆的王伯手在抖 |
| 45 | 左手 | 右手打着夹板,小馆冷清。小满踩着小板凳学扫汤。秦师傅:"老掌柜右手废了,左手照样掌了二十年勺。" | 小:传承泪点 | 王伯深夜敲门:"沈丫头,林振东当年也是这么'借'我钱的。" |
| 46 | 借条 | 老字号们的账一对:林振东先放借款,再在附件里塞转让条款。林振东亮出外婆的"收到转让款"收据,她一眼认出:外婆右手早废,这张收据却是右手写的 | 小:收据被证伪 | 林振东的律师:"那份公证书上,可是她本人的手印。" |
| 47 | 手印 | 手印是真的。她怀疑外婆是在空白纸上按的手印、正文事后才打上去,却证明不了 | 憋屈 | 秦师傅:"签字那天屋里还有一个人在录像——陆鸣。" |
| 48 | 去找陆砚 | 她放下面子去陆氏,助理说陆总去了"沈记老楼" | 小:主动低头 | 她推开老楼的门:老灶擦得发亮,墙上挂着外婆的照片,陆砚站在灶前 |
| 49 | 老楼 | 陆砚说出全部:父亲收钱当见证人,临终后悔,留下一盒原始录像;他买下老楼不让拆;他早就查到父亲的事,一直不敢说 | 小:真相与愧疚 | 陆砚把录像带放进她手心:"里面也有我父亲收钱的画面。放不放,你决定。" |

### 第四幕 · 决战封神(50~60)|单元 C 回合 3~6

| 集 | 集名 | 本集内容 | 情绪点 | 集尾钩子 |
|---|---|---|---|---|
| 50 | ★陆家欠沈家的 | 她没放,是陆砚自己开发布会自曝家丑、退还父亲当年拿的钱,播出原带片段——外婆说:"钱我借,招牌不卖。"舆论回转一半 | **大⑧**:信任修复 | 林振东称原带是陆家伪造,并邀她赴"江城金灶宴":"来尝尝你外婆的头汤。" |
| 51 | 头汤 | 鼎盛要在金灶宴首发"沈记头汤",同场签下十家老字号。她决定赴宴,王伯带老字号们联名 | 小:群像集结 | 顾承宇出现在林振东身边:"他会作证,你亲口说过外婆卖了招牌。" |
| 52 | 前夫作伪证 | 顾承宇发视频作伪证,婆婆直播帮腔,协会再次除她的名。小满看着视频说:"爸爸说谎的时候,会摸袖扣。"——视频里他一直在摸 | 小:童言破谎 | 林薇薇出现在小馆门口,抱着一本账本:"我爸的东西,都在这儿。" |
| 53 | 林薇薇的账本 | 她不信这个害过她的人。林薇薇:"我会去自首。但我要你当着我爸的面赢。"账本记着十家老字号的借款套路,还有沈记转让书正文的真实打印日期 | 小:反派倒戈 | 唐小棠:"账本能证他坑了别人,证不了你外婆那份。要证那份,只有最后一页。" |
| 54 | ★只差最后一页 | 她想明白:林振东舍不得毁残页,因为正面是头汤方子。她设局逼他当众亮页。手不能掌勺,她把顾记旧后厨跟过来的帮工们召回小馆,用舌头一道道教"沈记十三道" | **大⑨**:掌控规则 | 秦师傅来电:"我孙子被开除了,他们说我明天敢上台……"她:"师傅,你来不来,我都等你。" |
| 55 | 金灶宴 | 全城直播,老字号签约台就位。她带后厨入场,右手夹板,只尝、只说。秦师傅带着孙子来了。鼎盛的头汤博得满堂彩 | 小:一个后厨的入场 | 林振东:"这就是沈玉茹的头汤,方子在我手里。" |
| 56 | 林董,翻过来 | 她尝了一口:"缺一味。外婆写在方子上的,你没看全。"林振东为证正统,把残页投上大屏。她:"林董,翻过来。" | 小:激将得手 | 镜头推近残页背面——一行歪歪扭扭的字,一个红手印 |
| 57 | ★沈记不卖 | 背面是沈玉茹的左手字:"借款,不卖招牌。"日期早于转让书一天。唐小棠比对:两枚手印是同一次按下的,转让书正文是后打的,林薇薇的账本作证。王伯带头撕掉收购协议。林振东扑上来抢残页,被陆砚拦住 | **大⑩**:真相落地 | 她站起来,解开夹板,用左手握住外婆的刀:"最后一道,我自己来。" |
| 58 | 左手最后一扫 | 她左手一扫,汤清得像白水,全场安静。评委认定沈记头汤正宗。调查人员入场带走林振东,老字号收购全部叫停;顾承宇的伪证被揭穿 | **大⑩续**:C 闭环 | 顾承宇跪到她面前:"知味,回顾记吧,我们复婚。" |
| 59 | 招牌重挂 | 她:"汤浑了,就得重吊。人,不必。"小满扑过来抱住她。陆砚把老楼产权还给沈家,她说按市价一点点还,陆砚:"那就一碗一碗还。" | 小:CP 落定 | 开业前夜,周桂芬端着一只空碗站在沈记门外 |
| 60 | ★沈记 | 沈记重挂招牌。她给周桂芬盛了一碗开水白菜,不收钱:"汤给你,招牌不给。"小满踩着小板凳,完成人生第一次"最后一扫"。陆砚掏出钱:"八年前那碗,还没付。" | **大⑪**:情绪封顶 | 小满举起汤勺:"妈妈,我以后也要当掌勺的。"(黑屏:全剧终) |

---

## 六、可拍性 · 经济账

| 项 | 方案 |
|---|---|
| 主场景 | ① 顾记酒楼(后厨+大堂,一栋楼拍完单元A)② 知味小馆(贯穿全剧,最便宜的景)③ 鼎盛"沈记旗舰店"后厨——**直接改陈设复用顾记后厨** ④ 陆氏办公室(1 间)⑤ 沈记老楼(单元C,可用老旧民居)|
| 大场面 | 只有 4 场"群像戏":第21集擂台、第34集千人盲品、第41集发布会、第55~58集金灶宴。千人盲品用"举碗"特写 + 30 名群演反打实现;第55~58集共用一个宴会厅景连拍 |
| 夜戏/外景 | 后厨夜戏集中在单元A 前 3 集;外景只有小馆门口与巷口,全部可在一条街完成 |
| 高危元素 | 无水下、高空、飙车、爆破。灶火用常规燃气灶,"扔进灶火"用插入镜头 |
| 未成年演员 | 小满戏份集中在小馆与顾记,单集不超过 3 个镜头,避开夜戏长拍 |

## 七、合规自查

- **价值观**:女主每一次翻盘都靠手艺与合法程序(公证、日志、抚养权变更),不靠违法手段;渣男、婆婆、资本方都有后果;不美化出轨,不写强制爱。
- **法律常识**:抚养权通过"胁迫签署+自愿变更协议"解决,不拿孩子做赌注;擂台赌约只赌名誉和职业;调查机关一律写作"检测机构""调查人员",不出现真实机构名称。
- **行业表述**:不贬低"预制菜"品类本身,只针对"料包冒充现熬、欺骗消费者"。
- **表现尺度**:无血腥;伤害只写"烫伤、手腕抽搐、夹板";未成年人只写被利用的后果,不渲染欺凌过程。
- **称谓与机构**:江城、鼎盛、陆氏、江城烹饪协会均为虚构。

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/分集大纲.md (file state is current in your context — no need to Read it back)

思考 15 秒

Bash Apply consistency fixes to outline

输入

python3 -I - <<'EOF'
p='分集大纲.md'
s=open(p,encoding='utf-8').read()
reps=[
("顾记老食客从乡下拉来一笼土鸡。协会仪式上,顾承宇当众\"演示吊汤\" | 小:老食客送鸡 | 她闻着隔街飘来的汤香:\"这是我的火候。看过我吊汤八年的,只有一个人。\"",
 "顾记老食客从乡下拉来一笼土鸡。协会给顾承宇发了\"开水白菜传承人\"牌匾,顾记重新上架开水白菜 | 小:老食客送鸡 | 她尝了一口顾记的外卖:\"这是我的火候。看过我吊汤八年的,只有一个人。\""),
("顾承宇签下抚养权变更,小满扑进她怀里 |",
 "顾承宇签下抚养权变更,小满扑进她怀里。顾记关门,后厨帮工们摘下围裙,站到她身后 |"),
("她把\"最后一扫\"第一次教给秦师傅;秦师傅应聘进鼎盛中央厨房当品控",
 "她把\"最后一扫\"第一次教给秦师傅;鼎盛请秦师傅去中央厨房当\"沈记老学徒\"品控站台,他将计就计"),
("她给周桂芬盛了一碗开水白菜,不收钱:",
 "周桂芬说顾承宇如今在别家后厨洗碗。她给周桂芬盛了一碗开水白菜,不收钱:"),
]
for a,b in reps:
    assert s.count(a)==1,a[:20]
    s=s.replace(a,b)
open(p,'w',encoding='utf-8').write(s)
EOF

返回

(Bash completed with no output)

思考 2 秒

Agent:
Now the continuity ledger (needed for the series validator).
Write ./台账.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/台账.md

# 台账:《离婚后,婆家招牌菜做不出来了》
当前集: 3
总集数: 60
档位: 标准档(90~120 秒)
流派: 情绪流
情绪契约: 手艺是我的——谁偷的,谁当着所有人的面还回来。
单元划分: A(1-22) / B(23-42) / C(43-60)

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 | 开水白菜"最后一扫"只有她会 | 1 | 21 | 埋 | 第21集擂台兑现;第58集左手再扫 |
| FB-02 | 右腕旧烫疤(颠勺久了会抖) | 1 | 43 | 埋 | 第3集火中抢刀添新伤;第18、31、37集逐步加重 |
| FB-03 | 菜谱封皮"沈记",林振东目光停留 | 2 | 28 | 埋 | 第28集揭示林振东是沈玉茹大徒弟 |
| FB-04 | 林振东听到"沈玉茹"指尖一紧 | 3 | 22 | 埋 | 第22集亮出菜谱残页 |
| FB-05 | 陆砚:"八年前市一院门口那碗汤" | 3 | 49 | 埋 | 第4集起每天来喝第一碗;第49集说出全部 |
| FB-06 | 秦师傅塞回洗净的厨师帽 | 3 | 21 | 埋 | 师徒关系的第一个动作,第21集倒戈 |
| FB-07 | 顾承宇心虚就摸袖扣 | 2 | 52 | 埋 | 第52集被小满当众点破 |
| FB-08 | 协议是被逼签的("不签就送小满回乡下",秦师傅在场) | 1 | 22 | 埋 | 第22集抚养权变更的证据 |

## 人物账
| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
|---|---|---|---|---|---|
| 沈知味 | 1 | 存活 | 已离婚,失去小满抚养权,被逐出顾家 | 3 | 右腕新伤 |
| 顾承宇 | 1 | 存活 | 前夫,敌 | 3 | 林振东给了三天期限 |
| 周桂芬 | 1 | 存活 | 前婆婆,敌 | 3 | |
| 秦师傅 | 1 | 存活 | 暗中站她这边,明面仍在顾记 | 3 | |
| 小满 | 1 | 存活 | 在顾家 | 2 | |
| 林薇薇 | 2 | 存活 | 敌(直播造谣) | 2 | |
| 林振东 | 2 | 存活 | 旁观的收购方,对"沈玉茹"有反应 | 3 | |
| 唐小棠 | 3 | 存活 | 闺蜜、律师,借出小铺 | 3 | |
| 陆砚 | 3 | 存活 | 陌生人,寻人 | 3 | 只在断章中出场 |
| 王伯 | 44 | 未出场 | — | — | 单元C 引入 |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
| 外婆的刀包(刀背刻"沈") | 沈知味 | 被扔进灶火后抢回,刀包烧焦 | 3 |
| 沈记手写菜谱(缺最后一页) | 沈知味 | 第2集被搜出后拿回 | 2 |
| 菜谱最后一页残页 | 林振东 | 未出场 | — |
| 离婚协议 | 顾承宇 | 已签,第七条被撕掉烧毁 | 1 |
| 厨师帽 | 沈知味 | 被扔进泔水桶,秦师傅洗净还给她 | 3 |
| 唐小棠亡父的小铺 | 沈知味(借用) | 灶火重燃,第4集挂牌"知味小馆" | 3 |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
| 开水白菜成汤的关键是最后的"扫汤",不扫汤会重新变浑 | 1 | 1,20,21,58 | 否 |
| 林振东的期限:三天后试菜,还是这个味收购作废 | 2 | 5,6 | 否 |
| 她能一口尝出汤里加过什么、凉过没有 | 2 | 10,26,56 | 否 |

## 往返回合表(单元A)
| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1-3 | 档1:婆家、直播称她"偷配方的帮工" | 档1:封皮写着沈记、刀背刻着沈 | 陆砚问八年前那碗汤 |
| 2 | 4-7 | 档2:顾氏手写菜谱、名厨证书 | 档2:本子能抄,火候抄不走 | 三名食客倒在门口 |
| 3 | 8-11 | 档3:食物中毒+检测报告 | 档3:喝证物汤、行车记录仪 | 一级墙;失信名单 |
| 4 | 12-15 | 档4:协会认证、起诉 | 档4:自找货源、另创新汤 | 小满视频 |
| 5 | 16-19 | 档5:多重合围+秦师傅伪证 | 档5:赌约,输了折刀 | 汤底一模一样 |
| 6 | 20-22 | 档6:汤底打平 | 档6:最后一扫+秦师傅倒戈 | 二级墙:残页 |

(单元B、C 回合表见 `分集大纲.md` §四)

## 付费墙落位
一级墙 第10集(陆砚掉马、播放行车记录仪前0.5秒)
二级墙 第22集(A/B 接缝:菜谱残页露头)
三级墙 第43集(全剧至暗:配方转让二选一)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-2/台账.md (file state is current in your context — no need to Read it back)
Bash Run series validator and recheck episodes

输入

S=.claude/skills/hongguo-shortdrama-screenwriting/scripts && python3 -I $S/validate_series.py --self-test && python3 -I $S/validate_series.py 台账.md --episodes 60 --script-dir 剧本; for f in 剧本/*.md; do python3 -I $S/validate_episode.py "$f" --format standard | tail -1; done; ls -R

返回

[+] self-test PASSED
== 台账.md  总集数=60 当前集=3 ==
结果: PASSED
结果: PASSED
结果: PASSED
结果: PASSED
premise.md
人物小传.md
分集大纲.md
剧本
台账.md

./剧本:
第01集.md
第02集.md
第03集.md

思考 11 秒

Agent:
三份交付都写好了,放在当前目录。三集剧本过了 skill 自带的单集机检,台账过了全剧机检,没有 FAIL 也没有 WARN。

**题目:《离婚后,婆家招牌菜做不出来了》**
- 女频,大女主复仇,靠厨艺翻身。走"情绪流"路线,按每集 90~120 秒写,共 60 集。
- 一句话故事:顾记酒楼八年来的招牌开水白菜,其实都是"后厨帮工"儿媳沈知味做的,署的却是丈夫的名字。她离婚一走,婆家就做不出这道菜了。后来她一路查下去,查到十年前吞掉她外婆老字号「沈记」的餐饮集团。
- 全剧要给观众的那口气:手艺是我的,谁偷的,谁当着所有人的面还回来。
- 记忆点:开水白菜最后那一勺"扫汤"能把浑汤扫得像白水。第 1 集她故意留着不扫,第 21 集当众扫,第 58 集手伤后用左手扫,三次翻盘都落在这一下。

**交付文件**

| 文件 | 内容 |
|---|---|
| `人物小传.md` | 10 个有名字的角色,核心 5 人。每人写了欲望、秘密/软肋、成长变化、说话习惯,附关系图和出场配额核查 |
| `分集大纲.md` | 立项单(选题五问、一句话故事、信息差设计)、四幕结构、三段主线单元(1–22 / 23–42 / 43–60)、每段的攻防回合表,60 集逐集写了内容、情绪点和集尾钩子,最后是拍摄成本账和合规自查 |
| `剧本/第01集.md`~`第03集.md` | 完整剧本,正文分别约 381、368、396 字,每集不超过 2 个场景 |
| `台账.md` | 另附的跨集连续性台账(伏笔、人物、道具、规则),后面续写时用 |

**付费卡点**
- **第 10 集**:她当众喝下"证物汤",尝出毒是汤凉透以后才下的。陆砚举起行车记录仪,身份被叫破,断在按下播放之前。
- **第 22 集**:她刚赢下擂台、抱回女儿,鼎盛董事长林振东亮出外婆菜谱缺的那一页,说"沈记的招牌,十年前就姓林了"。
- **第 43 集**:全剧最低谷。外婆被曝"收钱卖招牌"、她的手伤复发、陆砚的父亲被发现是当年转让书上的见证人。林振东逼她明早九点前二选一。

三个卡点都落在 60 集规定的区间里。下一集开头 15 秒内都会给出回应。

**需要你知道的两点**
- 选题五问里"有没有市场数据"这一条,我只能按 skill 里的题材图回答,说明"离婚逆袭""专业碾压"是常青题材。**我没有看红果当周的热播榜和飙升榜**,投稿前建议对一下。
- 第 4~60 集现在是逐集大纲,还没写正文。要往下写可以用 `/连写 4-10`,每集写之前读台账,写完更新台账。

这一轮结束:耗时 17.2 分钟,按 API 价格折算 $3.48

第 2 轮

输入:
如果要我在几个题材或故事方案里选,就选第 2 个(没有第 2 个就选最后一个);其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的三项交付都写成文件。

思考 2 秒

Bash Verify deliverables are intact and still pass checks

输入

wc -l 人物小传.md 分集大纲.md 剧本/*.md 台账.md && grep -c '^| [0-9]' 分集大纲.md && grep -n '一级墙\|二级墙\|三级墙' 分集大纲.md | head && grep -n '顾记关门\|将计就计\|别家后厨洗碗\|顾记的外卖' 分集大纲.md | cut -c1-80; S=.claude/skills/hongguo-shortdrama-screenwriting/scripts; for f in 剧本/*.md; do python3 -I $S/validate_episode.py "$f" --format standard | tail -1; done; python3 -I $S/validate_series.py 台账.md --episodes 60 --script-dir 剧本 | tail -1

返回

     133 人物小传.md
     224 分集大纲.md
      32 剧本/第01集.md
      34 剧本/第02集.md
      37 剧本/第03集.md
      67 台账.md
     527 total
83
51:| 一幕·入局压迫 | 1~12 | A·回合1~3 | 离婚夺女、污名偷配方、小馆开张、食物中毒构陷与翻案(一级墙) | 憋屈 ➔ 震惊 ➔ 第一口气 |
52:| 二幕·升级纠缠 | 13~34 | A·回合4~6 → **A 闭环(第22集)** → B·回合1~4 | 协会背书、女儿被利用、擂台"最后一扫";接缝露出沈记旧账(二级墙);她"认贼作父"进鼎盛当总厨,千人盲品 | 爽 ➔ 步步紧逼 |
53:| 三幕·风暴危机 | 35~49 | B·回合5~6 → **B 闭环(第42集)** → 至暗(三级墙)→ C·回合1~2 | 被甩锅成"预制菜骗子"、72 小时透明后厨、发布会翻盘;随即外婆"卖招牌"视频曝光、手伤复发、陆砚身份揭穿 | 虐 ➔ 紧迫 ➔ 窒息 |
75:| 💰 **一级墙** | **第 10 集** | 公式1 身份掉马前一秒 + 反击前 0.5 秒:她当众喝下"证物汤",尝出料是凉透后才下的;林薇薇冷笑"没监控你空口白牙"——门口男人举起行车记录仪,林薇薇失声"陆……陆总?",播放键按下前黑屏 | 第 8~9 集:小馆被贴封条、硬盘被盗、顾承宇逼签认罪书、小满隔着车窗看她 | 第 11 集开场即播放视频:凌晨,林薇薇的助理撬窗往汤桶里倒东西 |
76:| 💰 **二级墙** | **第 22 集** | A/B 接缝·新矛盾露头:刚赢下擂台、抱回小满,林振东亮出一张泛黄的菜谱残页:"你外婆的菜谱,缺了最后一页吧?沈记的招牌,十年前就姓林了。"她伸手,残页被收回——"想要?来鼎盛。" | 第 19~21 集:规则被临时改、秦师傅被逼作伪证、擂台汤底打平 | 第 23 集开场:鼎盛官宣"沈记旗舰店"开业,律师函送到知味小馆,禁用"沈记"二字 |
77:| 💰 **三级墙** | **第 43 集** | 公式4 绝境二选一:外婆"收钱卖招牌"视频全网疯传、医生说"再颠勺这只手就废"、她发现陆砚的父亲就是转让书见证人。林振东推来一份配方永久转让书:"签,我删视频、还你最后一页;不签,你外婆永远是卖招牌的人。明早九点。" | 第 41~42 集:她赢下发布会,主角赢了每一场、却眼看输掉全局 | 第 44 集开场:她把转让书推回去,"外婆的名声,我自己洗" |
93:| 3 | 8~11 | 档3 看似铁证:食物中毒 + 检测报告 + 封店 | 档3 挑战程序:当众喝证物汤,指出样本"凉过";调出行车记录仪 | 💰一级墙(第10集);第11集翻案后推送"行业失信名单" |
96:| 6 | 20~22 | 档6 擂台定局:评委盲品汤底打平 | 档6 最后一搏:"最后一扫,顾大厨请"——秦师傅倒戈 | 💰二级墙(第22集):最后一页残页 |
107:| 6 | 39~42 | 档6 林振东抢开融资发布会套现 | 档6 借陆氏的门闯会场,出货单 + 日志 + 录音 | 💰三级墙前夜:外婆"收钱卖招牌"视频上热搜 |
139:| 10 | 💰喝下证物汤 | 公开对质会:检测员、三名食客、顾家、林薇薇直播。她当众喝下封存的证物汤:"料是汤凉透以后才下的。我的汤一个钟头就卖空,从没凉过。"林薇薇:"没监控,你空口白牙!" | 小:喝证物汤的胆 | **一级墙**:陆砚举起行车记录仪,林薇薇失声"陆……陆总?"——播放前黑屏 |
141:| 12 | 黑名单 | 供应商全线断货,菜市场没人卖她鸡;顾记老食客从乡下拉来一笼土鸡。协会给顾承宇发了"开水白菜传承人"牌匾,顾记重新上架开水白菜 
156:| 22 | 💰招牌摘下 | 顾承宇承认"不是我做的"。林振东当场撤回收购:"顾记没了她,一文不值。"秦师傅作证当年是被逼签字,顾承宇签下抚养权变更,小
165:| 31 | 将计就计 | 她答应主持,暗中准备两锅汤:一锅料包,一锅手熬。她把"最后一扫"第一次教给秦师傅;鼎盛请秦师傅去中央厨房当"沈记老学徒"品控
204:| 60 | ★沈记 | 沈记重挂招牌。周桂芬说顾承宇如今在别家后厨洗碗。她给周桂芬盛了一碗开水白菜,不收钱:"汤给你,招牌不给。"小满踩着小板凳,完成
结果: PASSED
结果: PASSED
结果: PASSED
结果: PASSED

思考 5 秒

Agent:
premise.md 要的三项交付已经全部写成文件,这一轮没有需要你定的事。上一轮我只出了一个故事方案,所以"选第 2 个"这条规则用不上,题材还是《离婚后,婆家招牌菜做不出来了》。

刚才我重新核对了一遍,文件都在,内容完整。3 集剧本重新跑了单集机检,台账重新跑了全剧机检,全部通过。

| premise 要求 | 文件 | 内容 |
|---|---|---|
| 1. 主要人物小传 | `人物小传.md` | 10 个有名字的角色,主角、前夫、终极反派、男主、林薇薇是核心 5 人。每人写了欲望、秘密/软肋、成长变化、说话习惯,附关系表和出场配额 |
| 2. 60 集分集大纲,标出付费卡点 | `分集大纲.md` | 60 集逐集写了集名、内容、情绪点和集尾钩子。三个付费卡点在第 10、22、43 集,都标了 💰,并写了卡在哪一刻、下一集开头怎么接上 |
| 3. 第 1–3 集完整剧本 | `剧本/第01集.md`、`第02集.md`、`第03集.md` | 每集约 105~115 秒,正文 368~396 字,每集不超过 2 个场景 |

另外附了一份 `台账.md`,记录伏笔、人物、道具和规则,方便以后续写第 4 集之后的正文。

这一轮结束:耗时 0.3 分钟,按 API 价格折算 $3.60