hongguo-shortdrama-screenwriting · 第 3 次运行

写了《这个家的账,我算了十五年》。被逼净身出户的全职太太凭十五年手写账本,向周家和商会会长逐笔讨回公道

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

写出的文件

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

01-主要人物小传.md 人物小传 4,671 字
# 《这个家的账,我算了十五年》· 立项说明 + 主要人物小传

## 〇、立项卡

| 项 | 内容 |
|---|---|
| 类型 | 女频大女主 × 家庭伦理 × 轻商战(都市现实) |
| 体裁 / 档位 | 竖屏实拍短剧 · 标准档(单集 90~120 秒,正文 350~500 字,≤2 场景) |
| 集数 | 60 集 |
| 目标受众 | 25~55 岁女性为主,下沉市场为基本盘;情绪导向=**获得感**(夺回属于自己的东西)+**关系感**(母女) |
| 流派 | **情绪流**(观众追的是"他们什么时候认账、什么时候还钱",不是"接下来发生什么") |
| 情绪契约 | **让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。** |
| 单元划分 | A 1–22 离婚净身出户之战 / B 23–44 名字被偷背债之战 / C 45–60 三百个名字总清算 |
| 付费墙 | 一级墙 第10集 / 二级墙 第22集 / 三级墙 第44集 |

**一句话故事**:被丈夫逼着净身出户的全职太太许佩云(主角),要从丈夫、大姑姐和他们背后的商会会长手里,把十五年的家务和被转走的钱一笔一笔算回来(目标);可她账本被烧、签名被冒用、名字背上八百六十万的债(阻碍)——**她唯一的武器,是十五年手写的账本和一个记得住每笔数的脑子**(亮点)。

### 选题五问

1. **目标用户**:做过或正在做全职妈妈、在家里"出力不被看见"的女性,以及她们的女儿。
2. **核心情绪**:"我在家干了十五年,凭什么说我吃白饭"——付出不被认可是女频两大痛点之一(课 07);落点是解恨和正名。
3. **视觉化难度**:低。核心道具是蓝皮账本、计算器、金镯子、发票;主场景是一户人家、一个菜市场卤菜铺、一间办公室、一间调解室/法庭。不用夜外景大场面,也没有特效。
4. **政策红线**:主角每一步都走合法途径(律师、证据保全、法院判决),不用违法手段赢;出轨、转移财产、冒用身份全部受到惩处;婆婆这条线以认错收尾,不靠羞辱老人出气;全剧不出现真实机关名,调查执法只在台词里一笔带过,并且是正面形象。
5. **市场数据**:离婚逆袭、全职妈妈翻身、"妈妈不干了"类题材在红果热播榜上常年有位置。本剧的**微创新**(课 02 人设创新+金手指创新)是把金手指换成接地气的"账"——不靠系统,也不靠重生,靠的是一项观众一眼就看懂、自己家里也有人具备的真本事。

### 信息差主模型

- 主模型 4(主角+观众知道,反派不知道):她记得每一笔账;周家只当她是个做饭的。
- 辅助模型 2(观众知道,主角/配角不知道):最要命的第 15 本账藏在女儿的旧书包夹层里,女儿自己不知道(第 12–20 集)。
- 单元 B 改用模型 1(主角知道,观众和反派不知道):她在空白纸签名里藏了日期暗记,第 41 集才揭开。

---

## 一、核心人物(5 人)

### 1. 许佩云 —— 主角

- **外貌年龄**:44 岁。素净短发,常年系一条洗旧的蓝围裙,耳后夹一截铅笔。
- **身份**:明面上是全职太太;实际上是周家建材生意的"地下会计"。中专财会专业第一名,2011 年和周建平摆地摊起家,头一笔进货款八千块是她的陪嫁。女儿出生后被劝"回家管家",但公司的账、家里的账,她每天晚上都在厨房里记,十五年记了十五本蓝皮账本。
- **性格**:能忍,嘴不快,心里每笔都有数。不吵不闹,一开口就是数字和日期。
- **欲望(可拍)**:拿回该她的那一半,拿回十五年的家务补偿,拿回女儿的尊重。
- **秘密/软肋**:①2019 年第一次发现暗账后,她失眠了半年,去医院看过失眠门诊,这份病历会被周家拿来说她"精神有问题"(第 14–15 集);②她 2016 年替公司"报税"签过二十张空白纸,2020 年又被大姑姐骗去银行签过开户材料,**她的签名是真的**,这是她最难自证的地方。
- **弧光(打法跟着单元升级)**:
  - 单元 A:被动自证,用账本和记忆一项项推翻指控(隐忍→第 11 集首次翻盘);
  - 单元 B:主动入局,进大姑姐的公司当记账员,在签名里埋暗记(第 28 集攻守转换);
  - 单元 C:掌控规则,带着三百个被冒名的普通人一起算总账,从"替自己讨账"变成"替所有被当成白纸的人讨账"。
  - 终点:在菜市场挂出"许佩云记账"的招牌。
- **语言指纹**:句子短,必带数字和日期("上个月十五号,进账四百六十万")。口头禅"**一笔归一笔**""账要对得上"。不骂人,最狠的一句也只是"这笔账,我记下了"。
- **记忆点**:耳后夹铅笔,紧张时右手拇指在指腹上"拨算盘";手腕上是亡母留下的金镯子。

### 2. 周建平 —— 单元 A 主施压反派(贯穿全剧)

- **外貌年龄**:46 岁。啤酒肚,名牌皮带,总把车钥匙在手里转。
- **身份**:建平建材老板。生意是夫妻俩一起做起来的,他却把功劳全算在自己头上。
- **欲望**:离婚、娶秘书唐薇,让许佩云净身出户;把公司账上 1200 万转到姐姐周建红名下"保管"。
- **秘密/软肋**:①他其实看不懂账,公司账一直是老婆和姐姐在管,这就是他的命门;②他以为那 1200 万在姐姐手里,**不知道姐姐早把钱转进了钱国栋的商会**(第 40 集爆出)。
- **弧光**:嚣张(A)→被姐姐当枪使(B)→众叛亲离、卖车替工人结工资(C 第 55 集)。不洗白,只给一个"认账"的结局。
- **语言指纹**:老板腔,爱说"你懂什么""我养你十五年",开口闭口"我的公司"。
- **记忆点**:转车钥匙;一心虚就去摸领带。

### 3. 周建红 —— 单元 B 主反派(大姑姐)

- **外貌年龄**:50 岁。金丝眼镜,珍珠项链,笑得很客气。
- **身份**:周建平的亲姐姐,建平建材财务总监。周家真正的操盘手。
- **欲望**:把弟弟公司掏空,钱转进钱国栋的盘子里,换一个"商会理事"的位置。
- **秘密/软肋**:2020 年 4 月 17 日许母做手术那天,她冒充"陪护"登记签字,同一天拿着许佩云签过的材料注册了"佩云商贸有限公司",后来这家公司欠下 860 万;她自己也只是钱国栋手里的一枚棋子。
- **弧光**:笑面虎(A 后段登场)→正面压制(B)→被钱国栋抛弃(第 42 集)→在看守所里松口,交出钱国栋真账的下落(第 48 集)。
- **语言指纹**:一口一个"弟妹",越客气越危险;爱说"按老规矩"。
- **记忆点**:推眼镜;手里永远拿着一叠空白 A4 纸。

### 4. 周小禾 —— 情感锚点(女儿)

- **外貌年龄**:16 岁,高一。校服,耳机不离耳。
- **身份**:许佩云和周建平的独生女。
- **欲望**:别再丢人,想去出国游学(父亲拿这个名额收买她)。
- **秘密**:第 2 集她从火盆边捡走一页烧焦的残账(2020 年 4 月那一页,第 24 集兑现);她不知道,母亲把最要命的第 15 本账缝在了她旧书包的夹层里。
- **弧光**:站父亲一边(1–12)→看见母亲的字迹,开始动摇(13–17)→深夜带着第 15 本冲进法庭(第 20 集)→成为母亲的帮手(B/C)→自己核对出自己账户里的问题,主动上报(第 54 集,"妈,这笔账我自己对过了")。
- **语言指纹**:前期句句带刺,"你能不能别再丢我的人";后期变短变稳,开始像妈妈一样说数字。
- **记忆点**:一摘耳机,就是要说真话了。

### 5. 钱国栋 —— 单元 C 终极反派

- **外貌年龄**:58 岁。唐装,盘一对核桃,说话慢条斯理。
- **身份**:滨江建材商会会长。用家庭主妇、老人、菜市场小摊主的身份证注册了七家空壳公司,借这些名字套取工程款和贷款,三百个普通人的名字被他当成了"白纸"。
- **欲望**:靠一个 2 亿的项目把钱洗干净上岸。
- **秘密/软肋**:钱从没出境,全压在他儿子名下的本地三处物业里,这条资金路径被许佩云在第 30 集瞄过一眼的内账记了下来(第 53 集兑现)。
- **弧光**:幕后(第 35 集只闻其名、第 36 集现身)→至暗施压(第 42–44 集)→在商会年会上被当众清算(第 50–53 集)→终审(第 59 集)。
- **语言指纹**:从不提高声音,爱用账房词反讽人,"许会计,账算得好,可惜算错了人"。
- **记忆点**:核桃一停,就是要动手了。

---

## 二、关键配角(4 人)

### 6. 唐薇 —— 反转棋子

- 28 岁,周建平的秘书兼情人,左撇子(第 2 集左手晃镯子,第 8–9 集靠这一点认出监控里冒充许佩云取钱的人)。
- **欲望**:上位,给母亲在城里买房。
- **秘密**:她自己也被周建红登记成了一家空壳公司的法人,下个月有一笔 400 万的借款到期,她本人不知道。
- **弧光**:嚣张小三(A)→发现自己是弃子(第 31–32 集)→偷拷内账 U 盘(第 33–34 集)→法院门口当众倒戈(第 40 集)。
- **语言指纹**:一口一个"姐",嗲中带刺。

### 7. 秦大妹 —— 盟友 / 市井喜剧担当

- 52 岁,菜市场卤菜铺老板,许佩云二十年前摆地摊时的邻摊。嗓门大,护短,拿铁勺敲锅当惊堂木。
- **功能**:给主角落脚的地方;在菜市场替她起哄造势;第 37 集被查出自己的身份证也被冒用,主角从"连累朋友"到"替朋友讨账",弧光就从这里升级。
- **语言指纹**:东北味市井话,"姓周的白眼狼""这口气我替你出"。

### 8. 林知夏 —— 律师 / 法理担当

- 32 岁,法律援助律师,冷静,说话像念条文。第 5 集登场,一眼看出放弃声明用的是 2023 年才启用的公司新抬头纸。
- **功能**:把许佩云的"记性"转成法庭认的"证据",一路提醒观众"合法途径"在哪。
- **语言指纹**:"证据链""这一条,不成立"。

### 9. 王桂芬 —— 婆婆(单元 A 帮凶)

- 68 岁,市井刻薄,烧账本的人。口头禅"吃白饭的"。
- **秘密**:她的养老房首付是 2019 年从公司账上挪出来的(第 11 集当众翻出)。
- **弧光**:烧账、闹菜市场(A)→养老房因涉案被查封(第 43 集)→第 49 集拎着当年的嫁妆清单来卤菜铺,说出一句"白饭是我说错了"。不靠下跪,只给一句认错。

---

## 三、功能角色(≤3 人,不建完整小传)

| 角色 | 出场 | 必须存在的理由 |
|---|---|---|
| 邻居大妈 | 第 3 集 | 拍下"原配陪嫁送小三"的视频,第 5 集这段视频在菜市场反转舆论 |
| 刘大勇(包工头) | 第 23、55 集 | 860 万欠款背后是工人的工资,让单元 B 的债有分量;第 55 集收下周建平卖车凑出的工资 |
| 王满仓(摊主) | 第 43、46、58 集 | 三百个名字的代表,从骂许佩云到第一个回到联名单上 |

**角色总量**:核心 5 人+配角 4 人+功能角色 3 人=12 名具名角色,其余为群演。
02-60集分集大纲.md 分集大纲 10,545 字
# 《这个家的账,我算了十五年》· 60 集分集大纲

> 标准档竖屏实拍,单集 90~120 秒。情绪流,三单元链。
> **情绪契约**:让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。

---

## 一、全剧骨架

### 四幕

| 幕 | 集数 | 任务 | 情绪 |
|---|---|---|---|
| 一幕·入局压迫 | 1–12 | 净身出户、烧账、扫地出门;第 11 集首次翻盘 | 憋屈 ➔ 震惊 ➔ 期待 |
| 二幕·升级纠缠 | 13–34 | 精神病历合围 ➔ 女儿带账出庭 ➔ 打赢离婚 ➔ 名字背债 ➔ 以身入局 | 爽 ➔ 步步紧逼 |
| 三幕·风暴危机 | 35–49 | 幕后会长现身、盟友被牵连、三百个名字反咬、认罪书二选一 | 虐心 ➔ 窒息 ➔ 绝地翻盘 |
| 四幕·决战封神 | 50–60 | 商会年会当众清算、女儿自证、终审、挂招牌 | 狂爽 ➔ 情感释放 |

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

| | 单元 A(1–22) | 单元 B(23–44) | 单元 C(45–60) |
|---|---|---|---|
| 矛盾 | 周家咬死她"吃了十五年白饭,一分不该拿" | 她的名字被偷了:签名是真的,人却毫不知情,背上 860 万 | 三百个普通人的名字被当成白纸 |
| 对手 | 丈夫周建平+婆婆王桂芬(唐薇帮凶) | 大姑姐周建红(A 对手背后的操盘手) | 商会会长钱国栋(B 对手背后的靠山) |
| 打法 | 被动自证 | 主动入局 | 掌控规则,带着三百人一起算账 |
| 闭环 | 第 21 集判决:转移财产被认定,她分得应得份额+家务补偿 | 第 41 集:冒用身份被认定,860 万与她无关,周建红被立案 | 第 59–60 集:终审宣判,三百人债务解除 |
| 火种 | 第 22 集:赢了官司,当场被告知自己是一家欠债公司的法人 | 第 42 集:周建红改口,钱国栋甩出三百人名单 | 第 60 集尾钩:又一个签过空白纸的女人推门进来 |

### 付费墙

| 墙 | 集 | 断法 | 墙前蓄水 | 下一集前 15 秒兑现 |
|---|---|---|---|---|
| **一级墙** | **第10集** | 亮底牌前 0.5 秒:她翻开账本第 37 页,周建平扑上来抢 | 第 7–9 集:80 万流水、监控、320 万审计接连压上来 | 第 11 集开场逐笔念出 320 万的去向 |
| **二级墙** | **第22集** | A/B 接缝:刚赢官司,裁定书上的法人签名是她自己的字 | 第 20–21 集:开庭、判决,爽感拉满 | 第 23 集开场:"公司成立那天,我在医院陪我妈做手术" |
| **三级墙** | **第44集** | 全剧最低谷+绝境二选一:认罪书,笔尖落纸 | 第 41–43 集:赢了周建红,却输掉三百人、秦姐摊位和房产 | 第 45 集开场:签完照着念出时间地点在场人,口袋里的电话一直没挂 |

### 大情绪点排布(每集 1 个小情绪点,每 5–10 集 1 个大情绪点)

第 5 集视频反转 / **第 11 集逐笔还原 320 万** / **第 16 集菜市场对账会** / **第 20 集女儿抱账出庭** / **第 21 集打赢离婚** / 第 28 集以身入局 / **第 40 集唐薇法院门口倒戈** / **第 41 集签名暗记揭穿伪造** / **第 45 集认罪书反杀** / **第 52 集三百人当场指认** / **第 54 集"妈,这笔账我自己对过了"** / **第 60 集挂招牌**

### 主要场景(控制在 6 个常驻景)

周家饭厅/厨房/小禾房间(同一套宅子)、周家门外楼道、菜市场卤菜铺(前铺+后屋)、建平建材办公室/档案室(同一层)、法院调解室/法庭、滨江商会茶室/宴会厅(同一处)。夜戏集中在宅子和卤菜铺两景,不写外景大场面。

---

## 二、分集大纲

> 每集一行:**集名 | 本集核心(含本集小情绪点)| 集尾断章**。★=大情绪点;💰=付费墙。

### 第一幕 · 入局压迫(1–12)|单元 A

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 1 | 十五周年·净身出户 | 结婚十五周年,离婚协议拍在蛋糕上,"吃了十五年白饭";女儿说"我跟爸"。佩云一口报出公司上个月进账 460 万,周建平变脸。她去米缸取账本,铁盒空了 | 婆婆在灶台上烧账本,佩云双手伸进火盆 |
| 2 | 火里抢账·扫地出门 | 徒手抢出三本残账(2011、2019、2023);念出"第一笔进货款八千,付款人许佩云,我的陪嫁"。被赶出门,女儿后退半步,却偷偷捡走一页残纸 | 楼道里,唐薇戴着她亡母留下的金镯子出现 |
| 3 | 金镯认主·白纸黑字 | 唐薇反咬"打人";佩云翻出贴在账本里的 1998 年发票,夺回陪嫁,邻居拍下视频。秦大妹收留她 | 周建平发来照片:她亲笔签名的《自愿放弃财产声明》 |
| 4 | 空白纸的秘密 | 她想起 2016 年替"报税"签过二十张空白纸。法院传票当众送到菜市场,摊主议论纷纷;她当场心算,识破送货商冻肉注水、短秤 12 斤,摊主第一次服她 | 婆婆带亲戚闯进菜市场,一勺滚卤汤泼过来 |
| 5 | 视频反转 | 秦大妹抄铁勺挡开卤汤;邻居拍的"原配陪嫁送小三"视频在摊主群疯传,婆婆灰溜溜走了(小爽)。法律援助窗口,林知夏说"空白纸上的签名,很难推翻" | 林知夏盯着声明页脚的地址:"这张纸,2016 年还不存在。" |
| 6 | 抬头纸破绽 | 公司 2023 年才搬到滨江路,声明用的是新抬头纸,先签后打的伪造坐实一半;她连夜给八家摊位做账,挣证据保全费。代价是被婆家换锁、停卡,女儿把她拉黑 | 公司律师函:"许佩云挪用公司八十万,三日内不还即报案。" |
| 7 | 八十万流水 | 大姑姐周建红在家族会议上首次登场,笑着放出 80 万转进佩云名下银行卡的流水,亲戚围攻。佩云说:"那张卡,开户第二天就被建平拿走了。" | 周建红推了推眼镜:"取现监控,要不要放给大家看看?" |
| 8 | 监控里的女人 | 监控里,一个穿着她旧大衣、戴口罩的女人在取现;女儿问"妈,你真拿了?"她申请调取银行原始取款单,逐帧盯着画面 | 定格:"她是左手签的字。" |
| 9 | 左撇子 | 唐薇来菜市场炫耀婚纱照,佩云递笔让她签"镯子归还确认",唐薇用左手签了,秦大妹偷偷拍下。周建平宣布明天调解,带审计报告来 | 审计报告封面:十五年累计侵占三百二十万。"要么净身出户,要么坐牢。" |
| 10 💰 | 调解室对质 | **一级墙**。审计员念报告,左手签字的视频被驳"说明不了是谁",婆婆撒泼,女儿缩在角落。佩云掏出抢救出来的 2019 年那本账 | 她翻到第 37 页:"这三百二十万每一笔去了哪,我都记着——"周建平扑上来抢账本(黑屏) |
| 11 ★ | 第37页 | 开场 15 秒兑现:63 万是婆婆养老房首付,28 万是大姑姐的车……逐笔念完,合计正好 320 万;审计员承认只看过周建红提供的材料。全场翻盘 | 走廊里周建平冷笑"剩下十一本早成灰了";她说"最要命那本,没烧",他一把揪住她:"在哪?" |
| 12 | 书包夹层 | 只对观众揭开:第 15 本缝在女儿旧书包的夹层里;可旧书包刚被婆婆扔到阳台准备卖废品。女儿收拾时摸到硬本子,拆开了线 | 周建平推开房门:"小禾,干嘛呢?" |

### 第二幕 · 升级纠缠(13–34)|单元 A 收束 ➔ 单元 B

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 13 | 妈妈的字 | 女儿把本子藏起来,深夜翻看:每页都写着"小禾学费""小禾补课""肺炎押金,卖金耳环"。周家把"疯女人半夜对空气念数"的视频发进小区群 | 同学把视频甩给小禾:"这你妈吧?疯了吧?" |
| 14 | 菜市场母女吵 | 女儿冲到菜市场吼"你能不能别再丢我的人";摊主们替佩云说话:"你妈一个月给七家对账,一分没错。"女儿愣住走了,没交出账本 | 林知夏来电:周家提交了她 2019 年的失眠门诊病历,申请变更抚养权 |
| 15 | 失眠病历 | 病历是真的,她没法否认。她押上一切当众宣布:三天后在菜市场开对账会,凭记忆核对十家摊位三年的流水,错一笔就自认"脑子有病",撤诉 | 周建红把一张调包发票塞给唐薇:"放进第七家的票夹。" |
| 16 ★ | 菜市场对账会 | 当众背账;到第七家时她说"这张票的税号三月就作废了",揪出调包,秦大妹拍到唐薇。"全职妈妈脑子是台计算器"的视频走红 | 周建平对女儿说:"开庭那天说跟我,出国名额就是你的。" |
| 17 | 出国名额 | 女儿左右为难;佩云对律师说"她选谁都行,我只要她别学会撒谎",女儿在帘子后面听见了 | 唐薇私下找来:"我知道一千二百万去哪了。给我五十万,我告诉你。" |
| 18 | 唐薇的价码 | 佩云不买证词:"你左手签的取款单已经交法院了,你是证人还是同案,自己选。"唐薇去找周建平,撞见他打电话给姐姐:"唐薇妈那个账户,也清掉。" | 开庭前夜,周建平在女儿房间翻出了第 15 本 |
| 19 | 父女抢账 | 周建平要撕账本,女儿抢回来:"第 42 页,我十岁肺炎住院,妈卖耳环交押金,你七个电话都没接。"她抱着本子冲出家门 | 周建平打给佩云:"小禾跑了,账本在她手里,你满意了?" |
| 20 ★ | 开庭 | 周家三证齐出:声明、病历、审计,佩云被压得抬不起头。法庭门开,女儿头发湿透,抱着第 15 本走进来:"这是我妈的账。" | 法官:"请被告说明,第 15 本第 8 页所载'转周建红一千二百万'——"周建平脸色煞白 |
| 21 ★ | 一笔归一笔 | **单元 A 闭环**。判决:声明无效,转移财产被认定,审计报告不予采信,佩云多分财产并获家务补偿,女儿随母亲生活。婆婆在法院门口第一次说不出话 | 周建平并不慌:"你赢了,又怎样?"他看了一眼路边的黑色轿车 |
| 22 💰 | 赢了官司,背上八百六十万 | **二级墙**(A/B 接缝)。秦大妹带摊主拉横幅、送卤味庆功;银行催收电话打进来,法院送达书也到了:她是"佩云商贸有限公司"的法定代表人,欠款 860 万,刚判给她的房产份额已被查封。黑色轿车车窗落下,周建红说:"弟妹,账,你才算到一半。" | 裁定书末页,法定代表人签名:许佩云。是她自己的字(黑屏) |
| 23 | 八百六十万 | **单元 B 开局**。开场兑现:"公司成立那天,2020 年 4 月 17 日,我在医院陪我妈做手术。"包工头刘大勇带工人来讨薪,她不躲:"钱不是我欠的,但欠钱的人我一定找出来。" | 医院陪护登记,那天的陪护人签名是:周建红 |
| 24 | 残页 | 周建红早有布局;2020 年那本账已经烧了。女儿掏出第 2 集捡的残页,正是那一页:"4 月 17 日,妈手术缴费 32000,窗口,许" | 周建红:"我这有你亲笔签的股东会决议,还有你坐在银行柜台的视频。" |
| 25 | 开户视频 | 视频里她确实在柜台签字:2020 年周建红带她去"给你妈办医保报销账户"。签名是真的,林知夏也说难 | "老赖许佩云"的横幅挂上卤菜铺,秦大妹抄起铁勺:"这口气我替你出!" |
| 26 | 笔迹鉴定 | 鉴定结论:系本人书写。工人们更愤怒了;林知夏说"只能证明你被骗签,得证明你不知情" | 周建平捧着花来到卤菜铺:"复婚吧,债我替你扛。" |
| 27 | 回头草 | 复婚的条件是撤回 1200 万的执行。她识破这是周建红写的剧本,假意考虑,偷偷录音;周建平说漏一句"公司是我姐让注册的",随即改口 | 女儿看见父母站在一起,摔门而去:"你又要回去给他们当白纸?" |
| 28 ★ | 以身入局 | **攻守转换**。佩云宣布去周建红的公司当记账员"打工还债";摊主们拦她"羊入虎口",她说:"账在哪,我就去哪。" | 上班第一天,周建红推来一叠空白纸:"按老规矩,先签几张。" |
| 29 | 空白纸上的暗记 | 她签了。手部特写:每个签名的最后一笔里都多了一个极小的记号,不作解释(只有主角知道,第 41 集揭开) | 深夜档案室,一束手电光照过来:"找什么呢,弟妹?" |
| 30 | 档案室 | 她借口加班对账;周建红拿一本假账试她,她替周建红挑出一个错,赢得信任;三秒内记下内账上的一串账户尾号 | 档案柜里的另一张营业执照,法定代表人:唐薇 |
| 31 | 第二个法人 | 唐薇不信,佩云说:"你那家公司,下个月十号有四百万借款到期。" | 唐薇母亲哭着来电,账户被冻结了。唐薇打给周建平,没人接;镜头一转,周建平就坐在姐姐对面看着手机响 |
| 32 | 弃子 | 唐薇喝醉了来到卤菜铺,佩云给她盛了碗卤汤,一句没教训。唐薇说:"周建红的内账,在一个 U 盘里。" | "我帮你,你保我妈没事。"铺子外,一辆黑色轿车熄了灯 |
| 33 | U盘 | 佩云谎称"下午有税务抽查",把周建红拖在会议室;唐薇在财务室拷 U 盘 | 进度条走到 98%,门把手转动 |
| 34 | 卤菜打包盒 | 唐薇把 U 盘塞进秦大妹刚送来的卤菜打包盒,周建红搜身扑空,转头叫保安:"封了许佩云的工位,公司丢了一个 U 盘。" | 两名保安架住佩云,周建红贴着她耳朵说:"这回,你签什么都没用了。" |

### 第三幕 · 风暴危机(35–49)|单元 B 收束 ➔ 至暗 ➔ 单元 C

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 35 | 失窃案 | 公司以"员工窃取商业秘密"报案,她被叫去问话一夜,查无实据放回。可那只打包盒已经当外卖送出去了,订单是滨江商会钱会长订的二十份卤味 | "滨江建材商会"的牌匾 |
| 36 | 钱国栋 | 她和秦大妹去商会取盒子,钱国栋亲手把盒子递回来,U 盘还在:"许会计,账算得好,可惜算错了人。" | U 盘插上电脑,数据全空,只剩一个文件名:"下一个,秦大妹" |
| 37 | 秦姐的名字 | 秦大妹多年前把身份证借给周建红"办摊位证",如今也成了一家空壳公司的法人;债主上门贴封条。佩云第一次觉得是自己连累了朋友 | 封条贴上卤菜铺的门,秦大妹第一次没骂人,蹲在门口一声不吭 |
| 38 | 闭环图 | 她把档案室记下的数字、唐薇知道的事、秦姐的遭遇,画成一张"资金闭环图",写满后屋白墙:七家空壳公司,七个法人全是主妇、老人和摊主。她押上一切实名公开,图错一处就是诽谤 | 唐薇失联,手机最后的定位在周建红公司 |
| 39 | 唐薇失联 | 周建红以"出差"为名控制唐薇,逼她写"U 盘是许佩云伪造的"。佩云通过唐薇母亲找到线索 | 陌生号码发来短信:"明早九点,法院门口。——唐" |
| 40 ★ | 法院门口 | 唐薇当众倒戈,交出第二份备份 U 盘(她拷了两份)和亲笔证词。内账显示,1200 万早就从周建红的账户转进了商会 | 周建平盯着姐姐:"姐……那一千二百万,不在你那?" |
| 41 ★ | 暗记 | **单元 B 闭环**。周建红当庭拿出一份"许佩云自认实际控制人声明";佩云请法庭放大签名,最后一笔里藏着日期"9.17",而声明落款写的是 2020 年,这张纸其实是她入职那天签的。伪造坐实,冒用身份被认定,860 万与她无关,周建红被立案,工人从冻结账户拿到部分工资 | 庆功宴上,林知夏的手机一震:"周建红改口了。" |
| 42 | 改口 | 周建红在看守所里改口,称佩云才是主谋、U 盘是伪造的,唐薇也被调查;钱国栋的律师送来三百份身份信息:"你说他们是受害人,我能让他们都成被告。"女儿送给妈妈一支旧录音笔和一本新账本,"第 16 本" | 名单第一页的第一个名字:王满仓,菜市场卖豆腐的王大哥 |
| 43 | 三百个名字 | **至暗**。摊主们收到律师函,王满仓带头骂"都怪你捅出来";秦大妹的摊位被收,佩云的房产份额和婆婆的养老房都因"涉案"被查封,女儿在学校被人议论 | 秦大妹晕倒在空摊位前 |
| 44 💰 | 认罪书 | **三级墙**(绝境二选一)。商会茶室里,钱国栋推来认罪书:"签了,三百人的债一笔勾销,秦大妹的摊位还她,你女儿干干净净;不签,三百人一起被追,秦大妹担保的两百万她自己背。"核桃停住,倒数十秒。女儿来电:"妈,你在哪?" | 笔尖落在纸上,墨迹洇开第一笔(黑屏) |
| 45 ★ | 签下的那一刻 | **单元 C 开局**。开场兑现:她签完,照着念出"签署时间、地点、在场人钱国栋";围裙口袋里,和女儿的通话一直没挂,女儿用录音笔全程录了下来。胁迫下签的认罪书不作数,更要紧的是钱国栋亲口念过的三百人名单和金额 | 保镖堵住茶室门,核桃"咔"地碎了一颗 |
| 46 | 一个一个对账 | 她说"我女儿在楼下,律师也在",走出茶室。接下来挨家挨户找那三百人,从骂她最凶的王满仓开始,证明他"欠"的贷款一分都没到过他手里。王满仓签上联名 | 商会通知:全市批发市场停止向菜市场供货 |
| 47 | 断货 | 菜市场断货,摊主们慌了。她翻出 2011 年那本残账,第一页记着当年地摊进货的外县农户电话;连夜打过去,二十年前的老供货人还在 | 看守所来电:周建红要见她 |
| 48 | 大姑姐的底牌 | 周建红被钱国栋抛弃,想谈条件;佩云说:"我不跟你做交易,只跟你对账。"周建红说出:钱国栋的真账就在商会年会的会员签到簿里,三百个签名全是代签;三天后的年会上,他要签一个 2 亿的项目 | "三天后,他就上岸了。" |
| 49 | 三天 | 周建平众叛亲离;婆婆拎着当年的嫁妆清单来到卤菜铺,说了句"白饭……是我说错了" | 一张烫金请柬送到卤菜铺:"诚邀许佩云女士出席滨江商会年会——钱国栋" |

### 第四幕 · 决战封神(50–60)|单元 C

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 50 | 年会 | 钱国栋当众让她"给各位老板倒茶",三百人的代表被拦在门外;项目签约,笔递到开发方手里 | 佩云起身:"这个字,签不得。" |
| 51 | 一张图 | 女儿在大屏上放出闭环图;钱国栋说"推测而已,证据呢?" | 宴会厅的门推开,唐薇抱着会员签到簿走进来 |
| 52 ★ | 三百个签名 | 秦大妹带着摊主们进场,一个个指着签到簿说"名字是我,字不是我写的",王满仓第一个站出来 | 钱国栋拍手笑:"就算全是代签,钱也早出境了。" |
| 53 | 钱在哪 | 她报出第 30 集记下的那串账户尾号,一路追到钱国栋儿子名下的三处本地物业:"钱一分都没出过滨江。"开发方当场撤约,调查人员进场 | 钱国栋被带走前回头冷笑:"你女儿的账户,过过我三十万。" |
| 54 ★ | 女儿的账 | 全场都看向小禾。女儿摘下耳机,平静地说:"那笔钱上个月进来,我第二天就报给学校和银行了,回执在这。妈,这笔账我自己对过了。"佩云第一次当众掉泪 | 门口,周建平捧着花:"佩云,我们重新开始?" |
| 55 | 先结工资 | 她递给周建平一张账单:"家务补偿法院判了,可你欠工人的工资还没结。先把工人的钱结了,再跟我谈。"周建平卖了车,把钱交到刘大勇手里 | 刘大勇:"许会计,公司几百号人的账,以后谁来管?" |
| 56 | 新账本 | 建平建材破产清算,林知夏担任管理人律师,佩云负责做账;摊主们凑钱给她在菜市场支起一个记账铺 | 法院传票:钱国栋取保候审,反诉许佩云母女诽谤,索赔五百万 |
| 57 | 反诉 | 钱方开始收买,三百人里四十多人撤回联名;秦大妹也被许诺"摊位翻倍",劝她撤 | 秦大妹拎着铁勺走进来,"当"地拍在撤回书上 |
| 58 | 一个都不能少 | 秦大妹撕了撤回书;佩云带着女儿挨家走,王满仓陪着;联名从 258 人回到 296 人 | 终审开庭,钱国栋西装笔挺地坐在被告席,冲她点头微笑 |
| 59 | 终审 | 最后一份证据:她十五本账里从 2012 年起每年都记着交给商会的"会费"和经周建红之手的"咨询费",钱国栋从周家起步就在吃这条线 | 法官起立:"现在宣判——" |
| 60 ★ | 这个家的账 | **大结局**。钱国栋、周建红依法获刑,三百人的债务解除;婆婆来卤菜铺买卤菜,第一次叫她"佩云";菜市场挂起"许佩云记账"的招牌;女儿在第 16 本首页写下"2026 年,妈妈的账,从她自己开始" | 尾钩:一个陌生女人推门进来:"许会计,我丈夫也让我签过空白纸。"(全剧终) |

---

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

### 单元 A(1–22)|执念:周家咬死她"吃了十五年白饭,一分不该拿"|闭环:第 21 集判决

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1–3 | 档1 口头羞辱:"吃白饭""公司亏了只剩三万" | 档1→2 口报 460 万暗账,火中抢账,凭发票夺回陪嫁 | 亲笔签名的放弃声明 |
| 2 | 4–6 | 档2 可抵赖物证:声明+起诉 | 档2 质疑效力:签的是空白纸,抬头纸 2023 年才启用;代价是被换锁、停卡、女儿拉黑 | 八十万挪用律师函 |
| 3 | 7–9 | 档3 看似铁证:80 万流水+取现监控 | 档3 挑战程序:调原始取款单,揪出左手签字的人;代价是亲戚集体站队,女儿起疑 | 320 万审计报告 |
| 4 | 10–12 | 档4 权威:第三方审计+法院调解 | 档4 公开对质,逐笔还原 320 万(单元内小转换) | 第 15 本在女儿书包里 |
| 5 | 13–17 | 档5 合围:失眠病历+"疯女人"视频+抚养权+出国名额收买 | 档5 赌上一切:菜市场当众对账,错一笔即撤诉 | 唐薇开价五十万 |
| 6 | 18–22 | 档6 开庭,三证齐出 | 档6 女儿带第 15 本出庭,专属铁证落地 | 第 22 集火种:860 万 |

### 单元 B(23–44)|执念:签名是真的,可我不知情|闭环:第 41 集认定冒用身份

| 回合 | 集 | 施压 | 反驳 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 23–25 | 档2 公司成立日+周建红冒名的陪护登记 | 档2 母亲手术日不在场;女儿的残页兑现 | "老赖"横幅 |
| 2 | 26–27 | 档4 笔迹鉴定"系本人书写"+复婚诱饵 | 档3 假意考虑,录音套话 | 女儿误会 |
| 3 | 28–30 | 档4 "按老规矩"再签空白纸 | 档6 以身入局(攻守转换),签名埋暗记,记下账户尾号 | 唐薇也是法人 |
| 4 | 31–34 | 档4 清空唐薇母亲账户,弃子 | 档4 策反唐薇,偷拷 U 盘 | 被栽赃窃密,工位被封 |
| 5 | 35–38 | 档5 窃密报案+U 盘被清空+秦大妹也是法人 | 档5 实名公开闭环图,图错即诽谤 | 唐薇失联 |
| 6 | 39–41 | 档6 伪造"自认实控人声明" | 档6 唐薇倒戈+签名暗记揭穿伪造 | 周建红改口(火种) |
| 余震 | 42–44 | 三百人名单反咬,盟友连坐,房产再被查封 | ——(至暗,无牌可打) | 💰认罪书二选一 |

### 单元 C(45–60)|执念:三百个名字不是白纸|闭环:第 59–60 集终审

| 回合 | 集 | 施压 | 反驳 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 45–47 | 胁迫认罪+全市断货 | 通话录音反杀;挨户对账;旧账本里找到老供货人 | 周建红要见她 |
| 2 | 48–49 | 2 亿项目三天倒计时 | 不交易,只对账;婆婆认错 | 年会请柬 |
| 3 | 50–52 | 年会当众羞辱,"推测而已" | 闭环图+签到簿+三百人当场指认 | "钱早出境了" |
| 4 | 53–54 | 钱已出境,女儿账户被牵扯 | 账户尾号追到三处物业;女儿自证 | 前夫求复合 |
| 5 | 55–58 | 五百万诽谤反诉,四十多人撤回联名 | 先结工资;挨家挨户,联名回到 296 人 | 终审开庭 |
| 6 | 59–60 | 终审 | 十五本账里的"商会会费"线 | 宣判,挂招牌 |

---

## 四、伏笔回收表

| 伏笔 | 埋 | 收 |
|---|---|---|
| 唐薇是左撇子 | 2 | 8–9 |
| 女儿捡走的 2020 年残页 | 2 | 24 |
| 第 15 本缝在女儿旧书包里 | 3("最要命那本不在铁盒里") | 12–20 |
| 2011 年残账第一页的老供货人电话 | 2 | 47 |
| 失眠门诊病历 | 小传 | 14–15 |
| 签名里的暗记 | 29 | 41 |
| 档案室记下的账户尾号 | 30 | 53 |
| 黑色轿车(周建红) | 21 | 22、32 |
| 旧录音笔 | 42 | 45 |
| 女儿的"摘耳机" | 1(低头刷手机不理人) | 54 |
剧本/第01集.md 第 1–3 集剧本 887 字
第【1】集:【十五周年·净身出户】
【所属阶段】:第一幕・入局压迫期(第 1/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(结婚纪念日当众甩离婚协议)
【情绪流变】:当众受辱 ➔ 冷脸算账 ➔ 一口报出暗账 ➔ 账本遭焚 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・周家饭厅连厨房・夜
[人物]:许佩云(全职太太,44)、周建平(丈夫,建材公司老板)、王桂芬(婆婆)、周小禾(女儿,16)

△ 特写:一份离婚协议"啪"地拍在结婚十五周年蛋糕上,奶油溅满许佩云的围裙。
△ 中景:一桌八个菜冒着热气。周建平扯松领带,王桂芬抱臂冷笑,周小禾低头刷手机。
周建平(不耐烦):签字。房子、车、公司,跟你没关系。
王桂芬(戳她额头):在家吃了十五年白饭,还想分钱?
许佩云(抹掉协议上的奶油):小禾,你也这么想?
周小禾(不抬头):妈,爸说了,我跟他。
△ 特写:许佩云翻到第三页,指甲停在一行字上:"女方自愿净身出户"。
许佩云:公司账上那一千二百万呢?
周建平(嗤笑):公司亏了,账上就剩三万。
许佩云(平静):上个月十五号,进账四百六十万。南湖工地的尾款。
△ 特写:周建平端酒杯的手停在半空,酒液晃出杯沿。
周建平(压低声):……谁告诉你的?
许佩云:我是这个家的会计。十五年,一天没停过。
许佩云:婚可以离。这个家的账,我必须一笔一笔算清楚。
王桂芬(一把掀翻汤碗):会计?你就是个做饭的!
△ 许佩云没躲,起身进厨房,掀开米缸,手往米底一探——摸了个空。
△ 特写:米缸底只剩一个方方正正的铁盒印子。
王桂芬(倚着门框,晃着打火机):找你那堆破本子?
△ 灶台上的铁盆里,十四本蓝皮账本卷着火苗,纸页一页页发黑翻卷。
王桂芬:烧了干净,省得你半夜还念叨数。
许佩云(声音发紧):那是十五年的账……
△ 饭厅里,周建平没动,拿起手机拨了个号:"过来吧,她今晚就走。"

【本集断章卡点】:火舌舔上最后一本账本的封皮,"2011"四个数字正在发黑。许佩云猛地把双手伸进火盆——(黑屏:下滑立即解锁第2集)
剧本/第02集.md 第 1–3 集剧本 853 字
第【2】集:【火里抢账・扫地出门】
【所属阶段】:第一幕・入局压迫期(第 2/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档2)
【黄金前3秒钩子】:生死绝境(徒手入火抢账本)
【情绪流变】:火中抢账 ➔ 被嘲三本破纸 ➔ 一笔旧账镇场 ➔ 女儿后退 ➔ 陪嫁镯子戴在别人手上 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・周家厨房・夜
[人物]:许佩云(全职太太)、周建平(丈夫)、王桂芬(婆婆)、周小禾(女儿)

△ 特写:许佩云双手探进火盆,一把抄出三本冒烟的账本,摔在湿抹布上拼命拍打。
△ 她的手背烫得通红,起了一串水泡。她咬着牙,没出声。
周小禾(冲进厨房):妈!你疯了?
王桂芬(一脚踢开火盆):抢出三本破纸,还当自己是老板娘?
周建平(倚着门框):你脑子里那点数,法官认吗?
△ 许佩云翻开焦黑的第一本,纸边还在往下掉渣。
许佩云(念):二〇一一年三月,建材店第一笔进货款,八千。
许佩云(抬眼):付款人,许佩云。我妈给的陪嫁钱。
△ 王桂芬张了张嘴,没接上话。
许佩云:这个家第一块砖,是我的钱垒的。
周建平(拖出一个行李箱,踹到她脚边):一个做饭的,还跟我讲砖?今晚就滚。
许佩云(把三本残账塞进箱子):我走。这笔账,我要回来收。
许佩云:小禾,跟妈走吗?
△ 周小禾看了父亲一眼,后退半步,躲到周建平身后。
△ 许佩云拎起箱子转身。身后,周小禾弯腰捡起一页烧焦的残纸,飞快塞进校服口袋。

[场景]:内景・周家门外楼道・夜
△ 防盗门"砰"地摔上。电梯门开,高跟鞋声由远及近。
△ 唐薇左手拎着周建平的车钥匙走出电梯,手腕上一只老式金镯晃了一下。
唐薇(笑):姐,这么晚还出门呀?
△ 特写:许佩云盯住那只金镯,内圈刻着一个小小的"许"字。
许佩云:这镯子,哪来的?
唐薇(左手抬起来晃了晃):建平送的。他说你戴着土,压箱底可惜了。

【本集断章卡点】:许佩云一把攥住唐薇的手腕,唐薇尖叫着往后挣,楼道感应灯"啪"地灭了——(黑屏:下滑立即解锁第3集)
剧本/第03集.md 第 1–3 集剧本 894 字
第【3】集:【金镯认主・白纸黑字】
【所属阶段】:第一幕・入局压迫期(第 3/60 集 | 单元A | 往返第 1 回合尾・证据档1→档2/反驳档2)
【黄金前3秒钩子】:极端羞辱(被反咬"打人")
【情绪流变】:被反咬撒泼 ➔ 发票认主 ➔ 当众夺回陪嫁 ➔ 落脚卤菜铺 ➔ 亲笔签名的放弃声明 ➔ 绝命断章
【本集时长】:约 115 秒

[场景]:内景・周家门外楼道・夜
[人物]:许佩云(被扫地出门)、唐薇(周建平秘书)、周建平(丈夫)、邻居大妈(对门住户)

△ 感应灯重新亮起。唐薇被攥着手腕,扯着嗓子喊。
唐薇(尖叫):打人了!她抢我镯子!
△ 防盗门猛地拉开,周建平冲出来。
周建平:许佩云,你撒什么泼!
许佩云(不松手):内圈刻着"许",一九九八年县百货买的。
许佩云:发票,我贴在第一本账里。
△ 她单手翻开焦黑的账本,第一页夹着一张褪色发票:"足金手镯一只,购买人许秀英"。
许佩云:许秀英,我妈。陪嫁是我的个人财产,你送得着吗?
△ 对门开了一条缝,邻居大妈探出头,举起手机。
邻居大妈:哟,原配的陪嫁拿去送人啊?
△ 唐薇脸涨得通红,撸下镯子砸进许佩云手心,扭头钻进屋。
周建平(咬牙):一只镯子而已。出了这个门,你一分钱都别想拿。
许佩云(把镯子套回手腕):周建平,咱们的账,才刚开始算。

[场景]:内景・菜市场卤菜铺后屋・夜
[人物]:许佩云、秦大妹(卤菜铺老板,老邻居)

△ 卤锅咕嘟冒泡。秦大妹把一管烫伤膏拍在案板上。
秦大妹:手伸过来!姓周的白眼狼,当年摆地摊连秤都不会看!
许佩云(任她抹药,盯着三本残账):十四本烧剩三本。最要命那本,不在铁盒里。
秦大妹:那在哪?
△ 许佩云刚张嘴,手机震动。周建平发来一张照片和一条语音。
△ 特写:手机屏幕——《自愿放弃夫妻共同财产声明》,落款二〇一六年,签名:许佩云。
周建平(语音,冷笑):白纸黑字,你亲手签的。起诉状我已经递了,法院见。

【本集断章卡点】:许佩云把照片放大,那三个字的每一笔都是她自己的笔迹。她手一抖,金镯磕在案板上"当"的一声——"这……是我签的?"(黑屏:下滑立即解锁第4集)
台账.md 2,196 字
# 台账:《这个家的账,我算了十五年》
当前集: 3
总集数: 60
档位: 标准档(90~120 秒)
流派: 情绪流
情绪契约: 让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。
单元划分: A(1-22) / B(23-44) / C(45-60)

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 | 唐薇左撇子(左手拎钥匙、左手晃镯) | 2 | 9 | 埋 | 第8集监控左手签字,第9集坐实 |
| FB-02 | 小禾从火盆边捡走 2020 年 4 月残页 | 2 | 24 | 埋 | 证明母亲手术日不在场 |
| FB-03 | "最要命那本不在铁盒里"=第15本缝在小禾旧书包夹层 | 3 | 20 | 埋 | 第12集只对观众揭开,第20集出庭 |
| FB-04 | 2011 年残账第一页:地摊时期外县供货人电话 | 2 | 47 | 埋 | 断货危机解法 |
| FB-05 | 王桂芬"半夜念叨数" | 1 | 13 | 埋 | 演变为"疯女人"视频 |
| FB-06 | 周建平第1集结尾的电话:"过来吧,她今晚就走" | 1 | 2 | 收 | 打给唐薇,第2集唐薇到场 |
| FB-07 | 公司上月进账 460 万(南湖工地尾款) | 1 | 20 | 埋 | 并入 1200 万转移链 |
| FB-08 | 2016 年《自愿放弃财产声明》 | 3 | 6 | 埋 | 抬头纸 2023 年才启用 |

## 人物账
| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
|---|---|---|---|---|---|
| 许佩云 | 1 | 存活 | 主角;被扫地出门,暂住卤菜铺后屋 | 3 | 手背烫伤;金镯已夺回 |
| 周建平 | 1 | 存活 | 敌(单元A主施压) | 3 | 已起诉离婚 |
| 王桂芬 | 1 | 存活 | 敌(帮凶) | 2 | 烧了十四本账中的十一本 |
| 周小禾 | 1 | 存活 | 站父亲一边,暗藏残页 | 2 | |
| 唐薇 | 2 | 存活 | 敌(帮凶) | 3 | 镯子被当众夺回 |
| 邻居大妈 | 3 | 存活 | 中立偏我 | 3 | 群演,手机视频为第5集伏笔 |
| 秦大妹 | 3 | 存活 | 盟友 | 3 | 收留主角 |
| 周建红 | 7 | 未出场 | 敌(单元B主反派) | — | |
| 林知夏 | 5 | 未出场 | 盟友(律师) | — | |
| 钱国栋 | 35 | 未出场 | 终极反派 | — | 第35集只闻其名,第36集现身 |
| 刘大勇 | 23 | 未出场 | 中立→盟友 | — | 功能角色 |
| 王满仓 | 42 | 未出场 | 中立→敌→盟友 | — | 功能角色 |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
| 残账三本(2011/2019/2023) | 许佩云 | 焦边,可读 | 2 |
| 第15本账(2025—2026) | 小禾旧书包夹层(无人知情) | 完好 | 3 |
| 2020 年 4 月残页 | 周小禾校服口袋 | 半焦 | 2 |
| 金镯(内圈刻"许") | 许佩云 | 戴在手上 | 3 |
| 1998 年镯子发票 | 许佩云(夹在2011账第一页) | 完好 | 3 |
| 放弃财产声明(照片) | 周建平 | 原件在其手中 | 3 |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
| 账本一年一本,蓝皮,共十五本;十四本旧账放米缸铁盒 | 1 | 2,3 | 否 |
| 许佩云对数字和日期过目不忘,但"脑子里的数"法庭不认,必须落到纸面证据 | 2 | 5,11 | 否 |
| 主角只走合法途径(律师、保全、判决),不买证词、不用违法手段 | 3 | 18 | 否 |
| 嫁妆属于个人财产 | 3 | 21 | 否 |

## 往返回合表(单元A)
| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1-3 | 档1:吃白饭、公司只剩三万 | 档1→2:口报460万;火中抢账;发票夺回陪嫁 | 亲笔签名的放弃声明 |
| 2 | 4-6 | 档2:放弃声明+起诉 | 档2:空白纸、新抬头纸 | 八十万律师函 |
| 3 | 7-9 | 档3:流水+监控 | 档3:左手签字 | 320万审计 |
| 4 | 10-12 | 档4:审计+调解 | 档4:第37页逐笔对质 | 第15本在书包 |
| 5 | 13-17 | 档5:病历+视频+抚养权 | 档5:菜市场对账会 | 唐薇开价 |
| 6 | 18-22 | 档6:开庭三证 | 档6:女儿带账出庭 | 860万火种 |

## 付费墙落位
一级墙 第10集(亮底牌前0.5秒:第37页)
二级墙 第22集(A/B接缝:法人签名是她自己的字)
三级墙 第44集(全剧最低谷:认罪书二选一)

过程

按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 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 23:08 .
drwxr-xr-x  5 user  wheel  160 Oct 17 23:08 ..
drwxr-xr-x  4 user  wheel  128 Oct 17 23:08 .claude
-rw-r--r--  1 user  wheel  244 Oct 17 23:08 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

思考

Bash Read beat sheet, format template, example

输入

cd .claude/skills/hongguo-shortdrama-screenwriting && wc -l references/* templates/* examples/* scripts/* && cat references/hongguo-beat-sheet.md templates/episode-format.md examples/ep01-longwang-demo.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)不变,但动画允许"同景多机位"不算换场景;
- 回合表/付费墙逻辑完全同实拍,不动。
# 单集剧本标准排版(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集)
报错 Bash Read emotion-flow, templates, character bible, ledger refs

输入

cd .claude/skills/hongguo-shortdrama-screenwriting && cat references/emotion-flow-roundtrip.md templates/outline.md templates/ledger.md references/character-bible.md references/continuity-ledger.md

返回

Exit code 1
(eval):cd:1: no such file or directory: .claude/skills/hongguo-shortdrama-screenwriting
报错 Bash Read episode validator

输入

cd .claude/skills/hongguo-shortdrama-screenwriting && cat scripts/validate_episode.py

返回

Exit code 1
(eval):cd:1: no such file or directory: .claude/skills/hongguo-shortdrama-screenwriting
报错 Bash Read series validator

输入

cd .claude/skills/hongguo-shortdrama-screenwriting && cat scripts/validate_series.py

返回

Exit code 1
(eval):cd:1: no such file or directory: .claude/skills/hongguo-shortdrama-screenwriting
Bash Read emotion-flow, templates, character bible, ledger refs

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting; cat $S/references/emotion-flow-roundtrip.md $S/templates/outline.md $S/templates/ledger.md $S/references/character-bible.md $S/references/continuity-ledger.md

返回

<persisted-output>
Output too large (29.9KB). Full output saved to: /Users/user/.claude/projects/-scratch-evals2-ws-001-open-brief-zhu5859243-free--hongguo-shortdrama-screenwriting-run-3/77890359-04f4-42f4-a7b3-3e2c38924e84/tool-results/bscfmwovo.txt

Preview (first 2KB):
# 情绪流单元链往返法引擎(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 开局前最低谷。**每单元内部各跑一张§六回合表**。

---

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

...
</persisted-output>
Bash Read episode validator

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting; cat $S/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

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting; cat $S/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())
被拦下 Read /Users/user/.claude/projects/-scratch-evals2-ws-001-open-brief-zhu5859243-free--hongguo-shortdrama-screenwriting-run-3/77890359-04f4-42f4-a7

输入

{
 "file_path": "/Users/user/.claude/projects/-scratch-evals2-ws-001-open-brief-zhu5859243-free--hongguo-shortdrama-screenwriting-run-3/77890359-04f4-42f4-a7b3-3e2c38924e84/tool-results/bscfmwovo.txt",
 "offset": 40
}

返回

<tool_use_error>File is in a directory that is denied by your permission settings.</tool_use_error>
Read ./.claude/skills/hongguo-shortdrama-screenwriting/references/emotion-flow-roundtrip.md

输入

{
 "file_path": "/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references/emotion-flow-roundtrip.md",
 "offset": 50
}

返回

50	| 矛盾 | 执念1(如造谣构陷) | 执念2(如身份被窃/财产侵吞) | 执念3(终极对手总清算) |
51	| 对手 | 前台反派(造谣者) | 换层升级(幕后+制度帮凶) | 终极反派(契约总根源) |
52	| 闭环 | 反杀+当众认罪 | 夺回实体利益 | 彻底翻盘+情绪封顶 |
53	| 情绪 | 憋屈→吐气 | 憋屈2.0(更亲更狠) | 大爽大释放 |
54	
55	三缝合一规则(单元接缝处理,做不好=断追):
56	1. **旧单元残渣生出新矛盾**:A 闭环时的爽点余温里必须埋 B 的火种(反杀时当众暴露出更大的黑手/被吞掉的更贵的东西),观众情绪无缝续期,付费墙不塌;
57	2. **对手换层不换欲**:新对手是旧对手背后的层级(造谣者→指使人→吃人的规则),贪/势/妒同一种逻辑,情绪烈度天然升档;
58	3. **主角弧光跟着单元走**:A 被动自证→B 主动设局→C 掌控规则,每个单元换一次打法(对应§五攻守转换从"全剧中点"改挂"单元 B 开局")。
59	
60	**60 集=2~3 单元;80 集=3 单元;100 集=3~4 单元**。付费墙重排:一级墙≈单元A中点(10~15),二级墙≈A/B 接缝(28~32,断在"新矛盾露头、主角还没接招"),三级墙≈C 开局前最低谷。**每单元内部各跑一张§六回合表**。
61	
62	---
63	
64	## 三、 证据烈度六档阶梯(施压方模板)
65	
66	外界向主角执念砸的证据,按可抵赖程度递减分六档。**任何执念题材按序拉一遍即得 6 回合骨架**:
67	
68	| 档 | 证据类型 | 可抵赖性 | 观众预期 |
69	|---|---|---|---|
70	| 1 | 道听途说/旁人告知 | 极高("他们懂什么") | 起步:执念合理 |
71	| 2 | 可抵赖的物证(随身物品等) | 高("物在≠人在") | 微皱 |
72	| 3 | 看似铁证但有程序/外观漏洞(体貌吻合的遗体) | 中("外观不能定论") | 着急 |
73	| 4 | 权威技术证据(DNA/鉴定)但可质疑程序 | 中低("样本污染,复检!") | 憋屈峰值 |
74	| 5 | 多重证据合围(人证+记录+轨迹全吻合) | 低("仍未见确凿死讯") | 怒其不醒 |
75	| 6 | 不可推翻的专属铁证 + **主角亲历确证**(亲自验看专属特征) | 零 | 防线崩溃/闭环 |
76	
77	**实例 A(《错位的母爱》·执念=母亲不信女儿已死)**:回合1旁人告知→回合2随身物品→回合3体貌吻合遗体→回合4DNA(要求复检)→回合5人证通话轨迹全合围→回合6亲自验看专属身体特征,防线瓦解。——恰好六档逐档走完。
78	**实例 B(《被造谣后我以身入局》·反向使用)**:反派施压同样按 1→5 走(当众控诉→编造细节引站队→抱假孩子索赔→伪造亲子鉴定),但主角在第 4 拍攻守转换,第 6 档换成**主角亮官方身份证明**反杀闭环。——证明阶梯双方可用。
79	
80	**单元帽提醒**:两案例都是 6 回合≈20 集量级的**单元级**结构——这正是"一个矛盾只能烧一个单元"的证据;把它们硬拉 80 集不换矛盾,就是在写第 7、8、9 回合重复阶梯,观众必疲(参§二铁律 1)。
81	
82	---
83	
84	## 四、 反驳成本六档阶梯(自证方模板)
85	
86	主角每回合的反驳必须比上一回合付出更多或冒更大风险,**反驳话术禁止复读**(validate_episode 复读检测对应):
87	
88	| 档 | 反驳形态 | 代价 |
89	|---|---|---|
90	| 1 | 口头否认("不可能") | 零 |
91	| 2 | 质疑证据效力("说明不了什么") | 零,但开始得罪施压方 |
92	| 3 | 挑战权威程序("样本污染,复检") | 消耗人情/金钱 |
93	| 4 | 对抗体制/求助更高层(复检、找律师、公开对质) | 社会成本 |
94	| 5 | 赌上一切(当众立誓、押上财产/名分/自由) | 不可逆风险 |
95	| 6 | 无牌可打 → 崩溃 或 最后一搏(以身入局/反守为攻) | 剧情转折点 |
96	
97	**增量铁律**:第 N 回合的反驳必须含 新信息/新行动/新代价 至少其一;只重复第 N-1 回合话术的回合直接作废重写。
98	
99	---
100	
101	## 五、 攻守转换(防疲劳阀;全剧挂单元B开局,单元内可小转换)
102	
103	一味挨打到第 4 回合观众就疲了。标准做法(实例 B 第 4 回合):
104	
105	```text
106	被动反驳 ×3 回合 → 【转换:主角改变策略】假意认下/以身入局/主动设局
107	→ 反派误判得逞、变本加厉(施压方反成暴露方)
108	→ 主角收集反证 → 闭环反杀
109	```
110	
111	- 单元A(被动憋屈期):可以不大转换,但**代价必须见血**(卖房自证、当众下跪要说法),用自毁式执念加压;
112	- **全剧级攻守转换放在单元 B 开局**:A 单元反杀成功后,主角从"自证者"变"追债者",主动查向幕后——这一转换本身就是 A/B 接缝的引擎;
113	- 单元内小转换(如§二·五 B 单元中段)按实例 B 打:转换点≈该单元第 4 回合,且转换瞬间必须可断章(付费墙对位见§二·五)。
114	
115	---
116	
117	## 六、 回合表输出格式(情绪流项目 /全剧大纲 必产:**每单元一张**)
118	
119	```text
120	【情绪契约】:一句话(观众每集要续的那口气)
121	【单元 A】执念=____ |对手=____ |闭环=____
122	  【回合 1】(第 1-3 集):证据=档1 ____ |反驳=档1 ____ |回合尾断章:____
123	  【回合 2】(第 4-6 集):证据=档2 ____ |反驳=档2 ____ |回合尾断章:____
124	  …(6 回合,总长 ≤25~30 集)
125	  【A 闭环+火种】(第 __ 集):反杀兑现情绪 |但当场暴露 ____ → 单元B矛盾立项
126	【单元 B】执念=____ |对手=____(A 的对手背后一层)|打法=主动入局
127	  …同构 6 回合,证据/反驳阶梯可从档2起步(主角已会战)
128	【单元 C】执念=____ |终极清算 |弧光封顶
129	```
130	
131	与付费墙挂线:单元内墙断在"回合末尾+证据刚升档+反驳未出口"的缝上;二级墙断在 A/B 接缝"新矛盾露头"瞬间(详见 `hongguo-beat-sheet.md` §二)。
132	
133	**长档项目(约 3 分钟/集)**:回合表填法不变,只把集区间按「1 长档集 ≈ 2 标准集」折算(同一回合跨的集数减半,如回合1 由 1-3 集变为 1-2 集);单元硬帽同步折半为 10~15 长档集。长档一集内同时容纳施压拍与反驳拍,故单集正文必须写出"回合A ➔ 中点小钩 ➔ 回合B"三段(见 `hongguo-beat-sheet.md` §四)。
134	
135	---
136	
137	## 七、 下沉题材批量生成器(六档阶梯模板套用示范)
138	
139	任何"一方死活不认、另一方反复自证"的题材都能 10 分钟拉出 6 回合:
140	
141	**身份错位**(执念:明明是男生,对方偏说是女生):
142	口头条约争执→体检单据被指造假→同性衣物在其房中发现→医院旧档案疑遭涂改→当事人当众自证反被解读→决定性生物证据落地。
143	
144	**邻里噪音**(楼下非说你家吵):
145	**注意:单一噪音指控最多烧 25~30 集,硬拉到 60 集即废稿(粉丝意见 2026-09-15)。** 60 集应拆三单元,情绪契约="让不信我的人亲耳听见真相":A 单元(1-22)噪音构陷→六档阶梯→第22集示证翻案收小尾;B 单元(23-44)反查发现"被针对"另有利益动机(开发商逼迁/老徐收好处),新矛盾新对手换层;C 单元(45-60)真凶浮出:楼栋结构病害+物业隐瞒维修基金,从自证变成全楼维权。每单元内部各跑一张六档表。
146	
147	**健身房退卡**(商家坚决不退):
148	合同条款扯皮→口头承诺录音→会员卡被暗停→市监投诉被"合规"驳回→集体受害者联署→监管现场检查一锤定音。
149	
150	生成口诀:**契约一句话 → 单元切两三块 → 每单元:执念一句话 → 证据升六档 → 反驳付六次代价 → 闭环留火种 → 换矛盾不换情绪**。
151	
Read ./.claude/skills/hongguo-shortdrama-screenwriting/templates/outline.md

输入

{
 "file_path": "/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/templates/outline.md"
}

返回

1	# 立项大纲模板(课程 04)
2	
3	> 来源:刀锋工作室·周怀宇《揭秘主线设计的底层逻辑》(红果《短剧编剧第一课》04 期)。
4	> 用途:立项模式(`/立项大纲`)的交付格式。
5	> **铁律:大纲不是「给编辑看的敲门砖」,是施工图纸。** 房子盖好了再画图纸毫无意义;没图纸就动工,盖到一半必然歪。
6	
7	---
8	
9	## 一、 一句话故事(第一道门槛)
10	
11	四个核心要素必须齐全:**主角 + 目标 + 阻碍 + 亮点(金手指或独特设定)**
12	
13	> ❌ 不合格:「一个男孩重生复仇的故事。」——点出了类型,但没有具体信息,无法传递独特性和情绪张力。
14	>
15	> ✅ 合格:「首富男主重生归来,利用先知能力,向如今位高权重、并已对自己起杀心的背叛兄弟发起复仇。」
16	> 拆开看:主角身份(曾是首富,现已重生)、终极目标(复仇)、主要阻碍(兄弟权势滔天且已布下杀局)、核心亮点(重生带来的先知能力赋予翻盘底气)。
17	
18	**判断标准**:这句话同时也是投稿时编辑判断「是否值得推进」的关键。
19	
20	---
21	
22	## 二、 大纲三部曲(写什么)
23	
24	### 1. 故事梗概 —— 抓住灵魂
25	
26	不要从「盘古开天地」写起。**聚焦主线,只写关键高光桥段**——尤其是那些「让你半夜兴奋到睡不着」的情节。
27	
28	先把这些精彩碎片记下来防止遗忘,**这也是你故事最核心的吸引力所在**。
29	
30	### 2. 人物小传 —— 赋予血肉
31	
32	为主角、反派及关键配角建立档案,明确:**背景、性格、核心目标、记忆点**。
33	
34	> 作用:确保角色行为逻辑自洽,避免「脸谱化」。
35	> 例:一个爱吃棒棒糖的「反差萌总裁」,就比千篇一律的「高冷总裁」更具辨识度。
36	
37	人物小传格式与「四件套」(动机/秘密/弧光/语言指纹)见 `references/character-bible.md`。角色数量配额见 `references/shooting-feasibility.md` §四.3。
38	
39	### 3. 看点亮点 —— 锁定靶心
40	
41	用一两句话总结「这个故事凭什么成为爆款」——是极致的反转打脸,还是细腻的情感拉扯?
42	
43	> 这一步是写给自己看的「定心丸」,确保全程不偏离核心卖点。
44	
45	---
46	
47	## 三、 篇幅与格式
48	
49	- **阶段撰写**:按阶段写(如前 10 集),不是一次写完全剧。
50	- **总字数控制在 500 字左右**。过长不如直接写正文;过短则无法展现核心情节与人设。
51	- **合格大纲必须包含**:故事背景、出场人物、阶段核心事件、关键悬念/冲突/高光卡点。
52	
53	---
54	
55	## 四、 模板
56	
57	```text
58	剧名:《XXX》
59	类型:都市情感 / 古装权谋 / 悬疑 / 穿越 / 男频逆袭 …
60	体裁:竖屏微短剧
61	档位:标准档(90~120 秒)/ 长档(约 3 分钟)/ 漫剧档(60~90 秒)
62	集数:60 / 80 / 100(长档 30 / 40 / 50)
63	故事亮点:一句话卖点
64	目标受众:人群 + 情绪导向(获得感 / 关系感)
65	
66	【一句话故事】
67	主角(        )+ 目标(        )+ 阻碍(        )+ 亮点(        )
68	
69	【故事背景】
70	100~200 字,讲清世界、身份、起点困境。
71	
72	【出场人物】
73	主角名:外貌年龄 __,身份 __。性格 __。核心目标 __。记忆点 __。
74	反派名:……
75	关键配角:……
76	(核心 3~5 人;其余角色不超过 20 人)
77	
78	【阶段规划】
79	第一阶段·开场       :绝境建立 + 主线目标亮相 + 第一个情绪点
80	第二阶段·剧情发展   :______
81	第二阶段·剧情深入   :______
82	第四阶段·结局       :______(注意:一定要多做剧情高光点,尤其结尾处)
83	
84	【核心悬念与高光】
85	开场高光:______(第一个高光点必须写好)
86	中段反转:______
87	终局对决:______
88	
89	【主要信息差】
90	本剧主要采用的信息差模型:______(见 references/expectation-suspense-hook.md §三)
91	
92	【主线目标拆解】
93	终极目标:______
94	阶段目标 1:______    阶段目标 2:______    阶段目标 3:______
95	```
96	
97	---
98	
99	## 五、 主线构思三问(动笔前先自问)
100	
101	### 1. 你的故事能否用「一句话」讲清?
102	
103	见 §一。**这是检验主线是否成立的第一道门槛。**
104	
105	### 2. 你的主角能否让人「一秒共情」?
106	
107	> 「共情的基础是激发情绪,但更关键的是让观众喜欢并心疼主角。」
108	
109	主角被欺辱会引发愤怒;但如果主角本身**善良努力,却遭遇恩将仇报**,这种情绪会更强烈、更持久。
110	
111	> 例(《七零辣妻治家手册》):女主任劳任怨、朴实善良,却在家中得不到应有尊重,受尽忽视和苛待。这种「**良善受欺**」的反差,瞬间让观众产生「好人不该受这罪」的共鸣,并期待她接下来的反击与翻身。
112	
113	### 3. 你的故事是为谁而写?
114	
115	不同的主线天然吸引不同受众,构思阶段就必须明确:
116	
117	| 维度 | 倾向 |
118	|---|---|
119	| 男频 | 偏好「小人物逆袭」带来的情绪和新奇体验 |
120	| 女频 | 更注重情感细腻度、CP 感和人设吸引力 |
121	| 年轻观众 | 对「重生」「系统」「穿书」等创意接受度更高 |
122	| 更成熟的观众 | 更喜欢接地气、能引发深刻情绪共鸣的现实题材 |
123	
124	---
125	
126	## 六、 主线的作用:定调 / 串联 / 聚焦
127	
128	> 主线就像人的脊梁骨。它决定了你站得直不直、走得稳不稳。没有这根「脊梁」,故事就无法定调、串联和聚焦。
129	
130	| 作用 | 含义 |
131	|---|---|
132	| **定调** | 告诉观众这是什么类型的故事。复仇线:紧张、压抑、充满对抗;甜宠线:轻松、温暖、带糖分。目的是让观众在前几集就能判断「哦,这是我爱看的!」 |
133	| **串联** | 把看似独立的情节串成一条线 |
134	| **聚焦** | 在有限篇幅里做减法。短剧一集通常只有 1~3 分钟、全剧多为 80~100 集,主线不清很容易堆砌「看起来很热闹但没用」的剧情 |
135	
136	> **对短剧来说,主线不是「锦上添花」,而是「重要准绳」。时长越短,主线越要清晰和突出。**
137	
138	**主线模糊的三大困境**:
139	
140	1. 编剧写不清、观众看不懂——追了十几集还不知道主角究竟想做什么。
141	2. 情节散掉——东一榔头西一棒槌,情绪无法层层累积,观感如同流水账。
142	3. 创作跑偏——开篇是热血复仇,中途沉迷恋爱日常,主线不知不觉断裂。
143	
144	---
145	
146	## 七、 改编与原创的主线孵化
147	
148	### IP 改编:淘金与串珠
149	
150	> 「已有的 IP 故事就像一座富矿。里面有闪闪发光的金子和宝石——高能情节、情绪爆点;但也掺杂着大量泥土——日常铺垫、支线冗余。我们的工作,就是找到一条最闪光的'主线之线',把所有精华串成一条夺目的项链,而那些无关紧要的部分,该舍弃就要果断舍弃。」
151	
152	> 例(《被读心后成了万人迷》):原著人物繁多、感情线庞杂。改编团队没有拘泥于原设定,而是**原创了一条清晰的核心目标**——「穿书女主为拯救即将被害死的哥哥们,不断改变命运」。这条新主线情感驱动力强,又能自然串联原著高光片段,最终形成节奏紧凑、情绪连贯的 95 集短剧。
153	
154	### 原创开发:让点子「长」成故事
155	
156	从一个微小灵感出发,通过**拓展、戏剧化、目标化**构建叙事骨架。
157	
158	> 例:「裁员裁到大动脉」这个点子太小,撑不起一部剧。升级路径:
159	> 主角被裁后目标是什么?仅仅是「不被裁」吗?不够。升级为「**完成个人和职场的双重逆袭**」。
160	> 目标一旦确立就能衍生剧情:潜心收集证据、深挖公司黑幕 → 联合曾被不公对待的前同事反向创业 → 最终在行业峰会当众揭露真相,打脸前老板。
161	
162	> **无论是改编还是原创,好主线的本质,都是用一个清晰的目标点燃观众期待,并一路高能到底。**
163	
164	---
165	
166	## 八、 主线验收:自检 + 他审
167	
168	### 1. 自我检查
169	
170	- 主角的**终极目标是否具体、有情绪张力**?
171	- 拆出的**阶段性目标**能否形成层层递进、环环相扣的剧情线?
172	- 每一集的行动是否都围绕核心展开?
173	
174	> 例(《白月光悖论》):终极目标非常明确——在爷爷寿宴上顺利与男配离婚。阶段性任务:通过接近男配的兄弟们搜集丈夫出轨的关键证据。每一集都围绕这个核心展开——拉拢盟友、设局取证、应对反扑。
175	
176	### 2. 第三方评估(他者视角扫雷)
177	
178	专业审稿人常从两个角度质疑:
179	
180	- **主线是否「断裂」或「迷失」**:写到十几集,主角核心目标已经达成,后续失去驱动力,只能硬编日常或强行加新冲突。
181	- **主线是否「缺乏吸引力」**:女主的目标缺乏情感张力,而剧中感情副线更精彩,导致主线被边缘化、故事内核松散。
182	
183	> 「创作容易陷入自我沉浸,而最浅显的问题往往自己看不见。主动向平台编审或行业伙伴请教,不是能力不足,而是对作品负责。」
184	
185	---
186	
187	## 九、 三大坑
188	
189	### 坑 1:把大纲写成「流水账」
190	
191	按时间顺序罗列事件——「女主 7 岁被欺负 → 18 岁考上医学院 → 22 岁进家族医馆 → 23 岁被赶出门」。
192	
193	> **大纲不是「记事本」。** 它应聚焦于**改变人物命运、推动核心目标的关键事件**,而非平铺直叙的人生历程。观众关心的不是「她过去经历了什么」,而是「她接下来要做什么、能不能赢」。
194	
195	### 坑 2:让「副线」喧宾夺主
196	
197	主线本是「女主复仇夺回家产」,却用大量篇幅写她与男配的情感拉扯、帮闺蜜调解矛盾、参加无关聚会。这些支线或许能「丰富人设」,但**若与主线目标无关,便会持续稀释故事的张力与观众的期待**。
198	
199	> 好的副线应是主线的「助攻」,而非分散注意力的「杂音」。
200	
201	### 坑 3:陷入「幸存者偏差」
202	
203	「为什么有些剧看起来主线模糊,甚至没有主线,却照样爆了?」——这种观察忽略了两个事实:
204	
205	1. 你只看到了极少数「例外」成功的案例,却忽视了背后**无数因主线薄弱而被市场淘汰的作品**。
206	2. 个别作品或许能依靠强大演员阵容、精美制作或高概念视觉呈现来暂时弥补主线不足——那是制作方用其他资源填补了故事短板,**并不意味着「主线不重要」**。
207	
208	> 「对新人来说,你无法控制演员、预算或宣发,唯一能牢牢把握的,就是一条清晰、有力、贯穿始终的主线。」
209	
210	---
211	
212	## 十、 参考范例(结构示意)
213	
214	> 以下是原文给出的工作室内部案例《替君语落阶》大纲的**结构骨架**(内容已改写,仅示范格式):
215	
216	```text
217	故事背景
218	女主穿书成侯府嫡女。穿书前她是不受宠的真千金,未婚夫为假千金将她推入河中并百般嘲讽。
219	穿书后绑定「吃瓜系统」,得知自己只是书中的炮灰,于是发誓改变命运,做系统任务、
220	打脸渣男、让假千金付出代价。
221	
222	出场人物
223	女主:外貌年龄 20-25,侯府嫡女。活泼开朗、蔫坏、嘴毒、嫉恶如仇。
224	      背景:靠系统改变炮灰命运,揭露假千金真面目,逐渐成为团宠。
225	男主:外貌年龄 23-25,太子。外表高冷实则傲娇。前期昏迷,被女主救醒后能听到女主心声,
226	      本想利用女主夺权,却在相处中逐渐沦陷。
227	反派:外貌年龄 23-25,玄王。狂妄自大、目中无人。原与女主有婚约,
228	      却因轻视她而转娶假千金。在女主「替夫上朝」后屡屡吃瘪、颜面尽失,最终后悔莫及。
229	
230	第一阶段·开场
231	女主被逼至绝境、悬梁未遂;渣男踹门而入并讥讽。女主穿书觉醒,闪回交代背景,
232	决定改写炮灰命运,当场暴打渣男(做出性格反差,塑造第一个情绪点)。
233	结尾绑定系统,拉出主线。
234	
235	第二阶段·剧情发展
236	通过系统任务,女主智救娘亲,点醒傻白甜哥哥与父亲,揭露假千金真面目,
237	在家中完成地位逆袭。
238	
239	第三阶段·剧情深入
240	女主替夫上朝、舌战群臣,凭心声系统预判对手屡出奇招;
241	与太子从互相利用到暗生情愫,感情线稳步推进。
242	
243	第四阶段·结局
244	女主通过系统完成拯救炮灰命运。
245	(特别注意:一定要多做剧情高光点,尤其是结尾处。)
246	
247	核心悬念与高光
248	开场打脸:女主上吊,渣男以为是荡秋千,随后被暴打。(第一个高光点要写好)
249	朝堂反转:皇帝欲杀女主,因系统看到太爷爷,立刻将女主从妖孽视为祥瑞。
250	雄竞对决:太子 VS 玄王,多轮智斗 + 情感碾压。(可以多写点转折)
251	```
252	
Read ./.claude/skills/hongguo-shortdrama-screenwriting/templates/ledger.md

输入

{
 "file_path": "/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/templates/ledger.md"
}

返回

1	# 台账:《项目名》
2	当前集: 0
3	总集数: 80
4	档位: 标准档    # 标准档 60/80/100 集(90~120 秒)| 长档 30/40/50 集(165~195 秒)| 漫剧档 60~90 秒
5	流派: 情绪流/剧情流
6	情绪契约: (一句话,全剧不变的那口气)
7	单元划分: A(1-__) / B(__-__) / C(__-__)  # 一个矛盾≤30集(长档按内容量折半:一单元 10~15 集)
8	
9	## 伏笔账
10	| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
11	|---|---|---|---|---|---|
12	| FB-01 |  |  |  | 埋 |  |
13	
14	## 人物账
15	| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
16	|---|---|---|---|---|---|
17	|  | 1 | 存活 |  |  |  |
18	
19	## 道具账
20	| 道具 | 持有 | 状态 | 变动集 |
21	|---|---|---|---|
22	|  |  |  |  |
23	
24	## 世界观规则账
25	| 规则 | 确立集 | 引用集 | 违反 |
26	|---|---|---|---|
27	|  |  |  | 否 |
28	
29	## 往返回合表(情绪流项目必填·每单元一张)
30	> 长档项目:集区间按「1 长档集 ≈ 2 标准集」折算;长档一集内含两拍(回合A/回合B)+ 中段小钩,回合尾断章仍按回合记。
31	| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
32	|---|---|---|---|---|
33	| 1 | 1-3 | 档1: | 档1: |  |
34	
35	## 付费墙落位
36	一级墙 第__集(中点转换/首次亮底牌前0.5秒)
37	二级墙 第__集
38	三级墙 第__集
39	
Read ./.claude/skills/hongguo-shortdrama-screenwriting/references/character-bible.md

输入

{
 "file_path": "/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references/character-bible.md"
}

返回

1	# 人物圣经(Character Bible)
2	
3	> v3.0 恢复 v1.x 人物体系并升级:**先建圣经,后出大纲**。任何具名角色拿到台词前必须在圣经建档并入人物账(`continuity-ledger.md` §一.2)。
4	
5	---
6	
7	## 一、 单角色四件套(缺一不得建档)
8	
9	| 件 | 要求 | 反例 |
10	|---|---|---|
11	| 1. 欲望(Want) | 一句话、可被镜头拍到("要回女儿的名分") | "想要幸福"(不可拍) |
12	| 2. 秘密/软肋(Secret) | 最怕被谁知道什么;决定其在往返回合里的反驳底线 | 无秘密=无拉扯资本 |
13	| 3. 弧光档位 | 情绪流角色弧光=**打法随单元升级**:单元A被动自证→单元B主动入局→单元C掌控规则(单元素内再分 坚不认→质疑→崩溃/反杀 小弧);标好在哪单元哪回合变 | 80 集性格原地不动 |
14	| 4. 语言指纹 | 遮名字能认出是谁:口头禅/句长/称谓习惯/市井or书面(对应 dialogue-doctor 维度1) | 全员播音腔 |
15	
16	## 二、 建档模板
17	
18	```text
19	【角色】:林辰(男,28,明:上门赘婿/暗:龙王)
20	【欲望】:护住妻女,等一个"配得上说出身份"的时机
21	【秘密/软肋】:女儿非他血脉的误会(第 28 集被反派利用)
22	【弧光】:隐忍(回合1-3)→中点入局(回合4)→掌控(回合5-6);终点:不再等时机,当众亮令
23	【语言指纹】:≤10 字短句、反问收尾、从不自称"我"用"本少/我"随身份切换
24	【功能位】:主角 |【出场】:第1集 |【状态机】:见台账
25	```
26	
27	## 三、 全员名册与功能位配额
28	
29	- 一部 80 集情绪流标配:**主角 1 + 核心施压反派 1 + 换层反派 3~4(手下/堂主/家主/终极)+ 情感锚点 1~2(被护者/白月光)+ 助力工具人 ≤2 + 反转棋子 1**;
30	- 具名角色总数 ≤12:短剧观众记不住第 13 张脸,多余的降群演;
31	- 每个换层反派必须携带"证据升档职能":TA 出现=往证据阶梯推一档,不推档的反派不立;
32	- 反派语言指纹要求:**市井刻薄+傲慢黑话**(红线5),且每层反派的恶要同一种逻辑(贪/势/妒选一),换人不换欲。
33	

思考 2 秒

Agent:
正在读技能里的方法论文件(选题、开场、合规、断章),读完就定题动笔。
Bash Read genre map, cliffhanger, compliance, dialogue refs

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references; cat $S/genre-map.md $S/cliffhanger-master-formulas.md $S/screenplay-compliance-rules.md $S/dialogue-doctor-anti-ai.md $S/golden-3s-hook-library.md

返回

# 短剧赛道题材全图(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。
# 红果爆款绝命断章与付费滑屏卡点公式库

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

---

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

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

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

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

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

---

## 二、 断章规范格式

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

```text
【本集断章卡点】:陈峰颤抖着接通父亲的电话,电话那头传来绝望的哭嚎:“逆子,你到底得罪了谁?陈家彻底完了!” 林辰一步踏出,俯视陈峰。(黑屏:下滑立即解锁第XX集)
```
# 抖音/红果平台短剧内容合规与审核风控红线指南

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

---

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

---

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

| 禁用/高危词汇 | 推荐合规替换词 |
|---|---|
| “杀了他 / 要你的狗命” | `废了他 / 让你付出代价 / 让他从江城消失` |
| “黑社会 / 堂口” | `灰色势力 / 地下商会 / 暗处势力` |
| “黑卡无限透支(违法犯罪资金)” | `环球至尊黑卡 / 家族信托基金` |
| “买凶杀人” | `雇佣打手制造麻烦` |
# 短剧剧本医生台词七维诊断与去 AI 说明书反灌输手册

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

---

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

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

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

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

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

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

---

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

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

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

---

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

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

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

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

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

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

---

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

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

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references; sed -n 1,150p $S/topic-and-ip-selection.md; sed -n 1,136p $S/golden-opening-toolbox.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 改编起名尽量**保留原著核心关键词**,降低用户认知成本(如《穿越古代儿孙满堂》直接沿用书名)。
- 原创起名要**抓卖点**:让审核一眼知道「讲的是什么、有什么看点」。
- 剧名应与内容基调和目标受众预期相契合;偏叙事/艺术表达的作品可保留一定调性,关键是整体协调,避免理解错位。

---

## 十、 能力闭环

选题能力不是与生俱来,而是靠 **观察 → 分析 → 创作 → 复盘** 的闭环积累出来的。定期观察榜单变化,深入拆解优质案例,才能从「旁观热闹」走向「掌握门道」。
# 黄金开场工具箱(课程 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 秒见冲突。
- [ ] 「合」是悬而未决,不是把一集讲完、观众心满意足地离开。
- [ ] 每句台词要么推进剧情、要么塑造人物,没有纯寒暄。
- [ ] 主角的困境能让目标观众自问「如果是我会怎么办」。
- [ ] 主角的欲望、愤怒、困境扎根于目标受众的真实生活经验。
Bash Read shooting feasibility and emotion point refs

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references; sed -n 1,220p $S/shooting-feasibility.md; sed -n 1,196p $S/emotion-point-playbook.md | head -120

返回

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

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

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

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

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

新人三个常见陷阱:

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

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

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

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

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

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

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

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

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

---

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

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

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

---

## 六、 三个写作病

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

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

反例:写人物悲伤写成「他心碎了一地,仿佛整个世界都崩塌了,陷入无尽的绝望。」——导演和演员看了会很抓狂,因为不知道怎么拍、怎么演。

**改写对照(原文给的完整示例)**

| | 优化前(文学化、难拍摄) | 优化后(镜头化、可执行) |
|---|---|---|
| 环境 | 「林薇独坐于咖啡厅的幽僻角落,面前那杯咖啡早已凉透,丝丝冷意似她此刻的心绪。她静静地凝望着窗外,夜色如墨,而她的眼神,宛如被浓雾遮蔽的星辰,空洞而迷茫。」 | 「(林薇坐在角落,面前放着一杯凉了的咖啡。她望着窗外,眼神空洞)」 |
| 台词 | 「'所有'二字,何其轻巧,又怎能承载起这三年岁月的重量?……」 | 「(苦笑)'所有'这两个字真轻啊,轻到承载不起这三年的重量。」 |
| 情绪 | 依赖长 OS 描述内心 | 用可表演的外在行为传递——苦笑、流泪、沉默 |

**改写后**:台词更简洁自然,情绪通过可表演的外在行为传递,并在结尾巧妙抛出悬念(「医院?什么检验单?」),激发追看欲望。

原版存在的五个问题:缺乏镜头语言、内心独白冗长、信息密度过低、节奏拖沓、缺乏剧情张力。

### 病 2:陷入「上帝视角」,忽视观众的理解门槛

> 「剧本是'拍摄的蓝图',不是'文学作品'。」

编剧熟知每个人物的前史、每个事件的因果,但**观众接收到的只有屏幕上按顺序播放的剧情**。这种视角错位常导致关键信息缺失、逻辑跳跃或情感转变生硬。

> 反例:编剧写「女主突然对男主冷淡」。问他为什么?他说「我在人物小传里交代过,她发现男主和前任还有联系」。但**剧本正文里既没交代「前任存在」,也没展现「发现过程」**。最终呈现的效果只能是人物行为突兀、情节逻辑断裂。

**铁律**:「编剧需要**从正文第一行开始**,就站在观众的认知起点去推进故事。关键信息应通过情节、对白或行为传递,而不能依赖任何剧本之外的『脑补』。」

(本 skill 红线 10;机检项 E13)

### 病 3:忽视「落地性」考量,脱离制作现实

> 「只要故事足够精彩,制作方总会想办法拍出来」——在当前短剧市场基本上是**一厢情愿**。

市场已告别为「天才创意」盲目烧钱的狂热期。制片方评估剧本时,首要考虑的往往不是「这个故事有多好」,而是「**这个故事我们能不能又好又快地拍出来**」。

> **「能被拍出来的故事,才有资格成为爆款故事。」**

编剧必须明白,短剧是「**戴着镣铐跳舞**」的艺术。真正的专业能力,体现在如何在有限的预算、周期和审查框架内最大化实现故事的魅力。

**动笔前应主动了解的行业常识**:一个常规剧组的单日拍摄量、常见场景的租赁成本、特效镜头的价格区间。「这不是让你变成制片人,而是让你成为一个懂得合作、理解现实的创作者。」

**每写一集都问**:导演怎么拍?演员怎么演?观众怎么看懂?

---

## 七、 落地性自查清单

**制作**

- [ ] 场景可集中拍摄(室内为主,布景微调区分功能)。
- [ ] 新场景数量可控,没有「每集一个新地方」。
- [ ] 夜戏、外景不是非必要的叙事手段。
- [ ] 无大群演场面(除非是主线关键节点)。
- [ ] 无水下、高空、飙车、爆破等高危镜头(除非是核心卖点)。
- [ ] 特效需求低、道具常见。

**角色**

- [ ] 核心人物 3~5 人,其余角色不超过 20 人。
- [ ] 日常集没有引入新角色;高潮集新角色不超过 2 个。
- [ ] 每个有名字的角色都能回答「为什么必须存在」。
- [ ] 每个配角至少承担「推动情节 / 衬托主角 / 提供关键信息」之一。
- [ ] 没有「重要但戏份少」「功能重复」「有设定无后续」的角色。

**内容**

- [ ] 前三集立住主线(背景 + 身份 + 核心冲突 + 期待)。
- [ ] 主线目标明确,支线没有喧宾夺主。
- [ ] 主角有可记忆的标签(口头禅 / 标志动作 / 特殊身份)。
- [ ] 每分钟都有看点,无大段抒情与无效对话。
- [ ] 每句台词都能转化为演员的行动或表情。

**合规**

- [ ] 无价值观与伦理风险(畸形婚恋观、违法手段得逞、戏谑化历史人物)。
- [ ] 无政策与法律硬伤(时政宗教民族敏感、刑讯、无证据定罪、真实公共事件虚构演绎)。
- [ ] 无表现尺度问题(过度血腥暴力、性暗示、未成年人不良引导)。
- [ ] 打脸对象是主要反派,不是随意龙套或弱群体。

**观众视角**

- [ ] 关键信息全部在正文里交代,不依赖小传或设定脑补。
- [ ] 第一次看的人能分清谁是谁、能理解他们为什么这么做。
# 情绪点设计手册(课程 07)

> 来源:咪呜文化·小西《详解短剧情绪点设计的实操技巧》(红果《短剧编剧第一课》07 期)。
> 用途:立项阶段的受众锚定 + 分集规划阶段的情绪排布。与 `emotion-flow-roundtrip.md`(结构层)配合使用——那份管「矛盾怎么循环」,这份管「观众每一集拿到什么情绪」。

---

## 一、 第一原理

> 「编剧的任务,不是表达自我,而在于能否精准读懂屏幕背后那些未被言说的渴望、焦虑与梦想。」
> **短剧本质上是一种「情绪商品」。**

创作的第一步**不是构思剧情,而是锁定观众**。不同人群内心渴望被满足的情绪不同。只有先明确那个「对的人」,才谈得上「打动 TA 的心」。

---

## 二、 受众分层

### 1. 两种情绪导向

| 导向 | 观众要什么 | 特征 |
|---|---|---|
| **获得感** | 主角获得财富、权力、地位,以及最重要的他人的认可与尊重;再对所有轻视羞辱过自己的人完成「打脸」 | 目标明确、路径清晰,较少大段虐心 |
| **关系感** | 角色之间细腻的情感联结、深刻的心理互动、关系的发展变化 | 一个眼神交汇、一句含蓄试探、一次默契携手都是触动点;重氛围营造、情感积累、人物弧光 |

> 两者都能容纳「强者成长」——获得感看的是**结果**,关系感看的是**博弈过程与掌控感**。

### 2. 圈层差异(以男频为例的三类)

| 人群 | 特征 | 偏好 |
|---|---|---|
| 现实题材受众 | 多处于奋斗阶段,对家庭责任、职场压力感同身受 | 「从低谷崛起」「守护家人」,渴望现实困境的映照与突破 |
| 轻松娱乐的年轻受众 | 网络原住民 | 节奏明快、带幽默感或流行元素(直播、电竞、校园),诉求是即时快乐与新鲜感 |
| 幻想类受众 | 偏好脱离日常 | 玄幻、仙侠、悬疑,提供精神抽离与想象空间 |

**融合趋势**:市场已出现跨性别、跨圈层的融合,关键在于找到**共通情绪痛点**——对公平的渴望、对尊严的捍卫、对爱的向往。融合的本质不是拼接元素,而是在更深的维度上寻找共通的情感诉求。

---

## 三、 痛点:制造愉悦的前提

> 「如果说情绪点是观众最终获得的愉悦,那么痛点就是制造这种愉悦的前提。没有痛点的铺垫,情绪点就会显得空洞无力。」

### 男频三大核心痛点

1. **安全感被打破**:伴侣背叛、失业、被家庭驱逐。
2. **尊严受损**:被贴「窝囊废」「没用的人」标签,或在公开场合遭嘲讽排挤。**这种「被质疑」的状态,比单纯的贫穷更能刺痛人心。**
3. **无法保护家人**:利用主角对家庭的责任感制造共鸣,为后续「宠妻护女、奋起复仇」铺垫。

### 女频两大核心痛点

1. **情感安全感被打破**:伴侣出轨、闺蜜背叛、被陷害入狱。「我为你付出了所有,你却伤我伤得最深」——这也是「重生」题材长盛不衰的核心驱动力。
2. **自我价值不被认可**:在关系中付出却得不到回应,在职场中努力却难获应有位置。

### 痛点挖掘两法

- **从目标受众的真实生活中找素材**:关注普通人在人际关系、职场、家庭中的困境与微妙变化。痛点越真实,共鸣越强。
- **将抽象情绪转化为具体场景**:「尊严被践踏」写成「在酒席上被反派当众泼酒」;「付出不被认可」写成「省吃俭用给男友买礼物,他却转手送给了别人」。细节越真实,代入感越强。

---

## 四、 四类爆点(情绪点的兑现)

### 1. 逆袭成功 —— 小人物需要「合理崛起」

核心是让观众获得「逆袭翻盘」的满足感。

> **铁律:小人物的崛起需要一个理由。** 不能突然变强,否则逻辑缺失。

**填补方法**:**奇遇 / 金手指**。奇遇本身很离谱,但对观众来说,这种离谱反而激发代入感——所以大多数短剧都用奇遇来让小人物合理崛起。

> 例(《我能看见东西价值,成了富贵花》):小人物遭受歧视 → 获得奇遇 → 逆袭人生。

### 2. 反转打脸 —— 意料之外,情理之中

男女频通用的核心情绪点。**前期必须埋下伏笔、做好铺垫**,让反转显得自然合理。

> 例(《疯狂动物城 2》):反派宝伯特的黑化,早在他漠视盖瑞怕冷却不给衣服的细节里就暗示了——表面温和,内里冷漠。
> 例(《你一个武夫,谁让你炼剑的?》):观众很清楚主角最终会赢,亮点在于**赢的方式不断出人意料**——看似莽撞的武夫,竟能以巧破力、以智取胜。每一次打脸都建立在前期细节上。

### 3. 意外收获 —— 避免「不劳而获」的悬浮感

**「意外」不等于「凭空」。要给所有意外收获一个合理的来源。**

> 例(《我能看见东西价值,成了富贵花》):女主为追明星梦被黑心经纪公司诱骗接受近视手术,却意外获得「物品价值透视」异能。能力植根于**「因祸得福」**的情节设定,既有明确因果铺垫,又在故事逻辑中自洽。

### 4. CP 甜宠 —— 激发对美好爱情的向往

女频核心情绪点,在男频融合剧中亦占重要地位。

- 通过台词与情节塑造**有张力**的角色关系,设计细腻的互动细节,把握情感发展的层次感。
- **男频向**侧重男主对妻女的保护与宠爱,满足受众对「责任与担当」的期待。
- **女频向**侧重男女主的双向奔赴与情感共鸣。

> 例(《她璀璨如炬》):男女主角外形亮眼、气质契合,配合精心设计的浪漫桥段——既满足「养眼 CP」的视觉期待,也唤起对理想亲密关系的情感共鸣,让甜宠落在具体而温暖的互动中,而不是流于表面。

---

## 五、 多情绪点组合(单一情绪留不住人)

观众的情绪需求越来越多元,单一情绪点很难留住人,也无法支撑长期吸引力。

**组合的三大好处**:

1. **吸引更广泛受众**:有人爱看主角翻身,有人看重亲情团圆,有人爱看萌娃,有人爱权谋。元素多,就更容易被不同口味的人接受。
2. **避免剧情单调**:一直打脸或一直哭惨,观众会腻。紧张之后来点轻松或温暖,观感更舒服。
3. **让人愿意追下去**:开头因一个点被吸引,后面不断出现新看点——刚赚了钱又救了家人,接着还让看不起他的人低头——「下一集还有看头」。

> 拆解范例(《能聊鬼魂的千金:符箓一出手就知有没有》):
> - 多重设定:真假千金 + 大女主 + 探案 + 古董
> - 逆袭上位:被丢失十八年的千金回家,核心框架明确
> - 反转打脸:主线靠玄门法术打脸反派的具体事件推进,每集结尾设悬念
> - 情绪点反差:民俗玄学 × 传统豪门千金,形成意料之外又合乎逻辑的戏剧张力

### 传统情绪点的创新方向

核心方向是「**更贴近现实、更注重情感共鸣**」:

- 逆袭:从「一路开挂」升级为「真实挣扎后的崛起」——让主角面临现实困境,靠自身努力逐步突破。
- CP 甜宠:从「霸道总裁单方面守护」升级为「双向奔赴、势均力敌」——塑造职场精英、创业伙伴等平等角色关系,更符合当代受众价值观。

思考 127 秒

Bash Read info-gap models and pacing phases

输入

S=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/.claude/skills/hongguo-shortdrama-screenwriting/references; sed -n 40,110p $S/expectation-suspense-hook.md; grep -n "窗口期\|发展期\|收束期\|30/60/30" $S/pace-and-dialogue-craft.md | head -20

返回

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

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

---

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

---

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

### 黄金法则

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

很多新人习惯在一集内完成完整的「起承转合」闭环——剧情圆满了,观众心满意足,然后就没有然后了。

**原理**:「人是会为冲动付费的,但不会为已经得到的东西付费。」要让观众始终处在「即将得到但还没得到」的状态。

### 两类实现方式

**A. 有张力的台词**——不必冗长,但要有冲突感和指向性:

- 一句未说完的质问
5:> 与工厂文件的分工:`hongguo-beat-sheet.md` 定**四幕比例与付费墙**,`cliffhanger-master-formulas.md` 定**断章格式**,`dialogue-doctor-anti-ai.md` 定**七维诊断**;本文件给**单集 30/60/30 骨架、题材差异化节奏、台词的功能与活人感**。
23:| **黄金窗口期** | 1–10 集 | 迅速确立主线 + 亮出最具吸引力的核心看点,让观众理解「这是个什么故事」并产生「后来呢?」的好奇。吸引力可以来自:反击的畅快感 / 引人入胜的悬念 / 不公遭遇引发共情后的反转期待 |
24:| **稳固发展期** | 11–30 集 | 从「抓住人」转向「留住人」。主线需实质推进,避免重复或停滞;复仇类要让计划落地并取得成果,甜宠类要让关系从试探走向明确进展;适度引入支线丰富世界观 |
25:| **高潮收束期** | 31–80 集 | 前期伏笔与悬念逐一揭晓,通过多轮反转与对抗维持兴趣。保持起伏:既有激烈冲突,也有情感升温或生活化调剂。前期积累的愤怒、期待、喜爱在此集中释放 |
31:- 窗口期:开场即穿越回七十年代,闪回快速交代所受不公 → 获得金手指 → 迅速展开首次反击 → 与核心反派正面冲突。主线冲突之间穿插「不再委屈求全」「与男主温馨互动」等日常片段。**到第 9–10 集逐步铺垫高潮**:长辈带人上门兴师问罪,男主恰好不在,女主孤身应对——紧张感与悬念同步拉满。
32:- 发展期:第 10 集冲突直接延续,女主与反派激烈对峙,关键时刻男主现身维护,推动实现第一个重要目标——**分家**。随后安排温馨日常缓冲,缓解高强度冲突带来的疲劳感,体现「张弛有度」。
33:- 收束期:女主经营新生活,反派不断制造麻烦(指使骚扰、散布谣言),女主凭智慧一次次化解,与男主感情线在共渡难关中升温,导向事业与感情双线圆满。
45:> 与工厂口径的换算:本课按 1 分 30 秒单集给 30/60/30;工厂标准档按 90–120 秒给「铺垫 30% / 冲突危机 50% / 转折卡点 20%」。两者一致,按档位取用即可。

思考 231 秒

思考

Write ./剧本/第01集.md

输入

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

第【1】集:【十五周年·净身出户】
【所属阶段】:第一幕・入局压迫期(第 1/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档1)
【黄金前3秒钩子】:极端羞辱(结婚纪念日当众甩离婚协议)
【情绪流变】:当众受辱 ➔ 冷脸算账 ➔ 一口报出暗账 ➔ 账本遭焚 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・周家饭厅连厨房・夜
[人物]:许佩云(全职太太,44)、周建平(丈夫,建材公司老板)、王桂芬(婆婆)、周小禾(女儿,16)

△ 特写:一份离婚协议"啪"地拍在结婚十五周年蛋糕上,奶油溅满许佩云的围裙。
△ 中景:一桌八个菜冒着热气。周建平扯松领带,王桂芬抱臂冷笑,周小禾低头刷手机。
周建平(不耐烦):签字。房子、车、公司,跟你没关系。
王桂芬(戳她额头):在家吃了十五年白饭,还想分钱?
许佩云(抹掉协议上的奶油):小禾,你也这么想?
周小禾(不抬头):妈,爸说了,我跟他。
△ 特写:许佩云翻到第三页,指甲停在一行字上:"女方自愿净身出户"。
许佩云:公司账上那一千二百万呢?
周建平(嗤笑):公司亏了,账上就剩三万。
许佩云(平静):上个月十五号,进账四百六十万。南湖工地的尾款。
△ 特写:周建平端酒杯的手停在半空,酒液晃出杯沿。
周建平(压低声):……谁告诉你的?
许佩云:我是这个家的会计。十五年,一天没停过。
许佩云:婚可以离。这个家的账,我必须一笔一笔算清楚。
王桂芬(一把掀翻汤碗):会计?你就是个做饭的!
△ 许佩云没躲,起身进厨房,掀开米缸,手往米底一探——摸了个空。
△ 特写:米缸底只剩一个方方正正的铁盒印子。
王桂芬(倚着门框,晃着打火机):找你那堆破本子?
△ 灶台上的铁盆里,十四本蓝皮账本卷着火苗,纸页一页页发黑翻卷。
王桂芬:烧了干净,省得你半夜还念叨数。
许佩云(声音发紧):那是十五年的账……
△ 饭厅里,周建平没动,拿起手机拨了个号:"过来吧,她今晚就走。"

【本集断章卡点】:火舌舔上最后一本账本的封皮,"2011"四个数字正在发黑。许佩云猛地把双手伸进火盆——(黑屏:下滑立即解锁第2集)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第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-3/剧本/第02集.md

第【2】集:【火里抢账・扫地出门】
【所属阶段】:第一幕・入局压迫期(第 2/60 集 | 单元A | 往返第 1 回合・证据档1/反驳档2)
【黄金前3秒钩子】:生死绝境(徒手入火抢账本)
【情绪流变】:火中抢账 ➔ 被嘲三本破纸 ➔ 一笔旧账镇场 ➔ 女儿后退 ➔ 陪嫁镯子戴在别人手上 ➔ 绝命断章
【本集时长】:约 110 秒

[场景]:内景・周家厨房・夜
[人物]:许佩云(全职太太)、周建平(丈夫)、王桂芬(婆婆)、周小禾(女儿)

△ 特写:许佩云双手探进火盆,一把抄出三本冒烟的账本,摔在湿抹布上拼命拍打。
△ 她的手背烫得通红,起了一串水泡。她咬着牙,没出声。
周小禾(冲进厨房):妈!你疯了?
王桂芬(一脚踢开火盆):抢出三本破纸,能顶什么用?
周建平(倚着门框):你脑子里那点数,法官认吗?
△ 许佩云翻开焦黑的第一本,纸边还在往下掉渣。
许佩云(念):二〇一一年三月,建材店第一笔进货款,八千。
许佩云(抬眼):付款人,许佩云。我妈给的陪嫁钱。
△ 王桂芬张了张嘴,没接上话。
周建平(拖出一个行李箱,踹到她脚边):收拾东西,今晚就滚。
许佩云:我走。小禾,跟妈走吗?
△ 周小禾看了父亲一眼,后退半步,躲到周建平身后。
△ 许佩云拎起箱子转身。身后,周小禾弯腰捡起一页烧焦的残纸,飞快塞进校服口袋。

[场景]:内景・周家门外楼道・夜
△ 防盗门"砰"地摔上。电梯门开,高跟鞋声由远及近。
△ 唐薇左手拎着周建平的车钥匙走出电梯,手腕上一只老式金镯晃了一下。
唐薇(笑):姐,这么晚还出门呀?
△ 特写:许佩云盯住那只金镯,内圈刻着一个小小的"许"字。
许佩云:这镯子,哪来的?
唐薇(左手抬起来晃了晃):建平送的。他说你戴着土,压箱底可惜了。

【本集断章卡点】:许佩云一把攥住唐薇的手腕,唐薇尖叫着往后挣,楼道感应灯"啪"地灭了——(黑屏:下滑立即解锁第3集)

返回

File created successfully at: /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第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-3/剧本/第03集.md

第【3】集:【金镯认主・白纸黑字】
【所属阶段】:第一幕・入局压迫期(第 3/60 集 | 单元A | 往返第 1 回合尾・证据档1→档2/反驳档2)
【黄金前3秒钩子】:极端羞辱(被反咬"打人")
【情绪流变】:被反咬撒泼 ➔ 发票认主 ➔ 当众夺回陪嫁 ➔ 落脚卤菜铺 ➔ 亲笔签名的放弃声明 ➔ 绝命断章
【本集时长】:约 115 秒

[场景]:内景・周家门外楼道・夜
[人物]:许佩云(被扫地出门)、唐薇(周建平秘书)、周建平(丈夫)、邻居大妈(对门住户)

△ 感应灯重新亮起。唐薇被攥着手腕,扯着嗓子喊。
唐薇(尖叫):打人了!她抢我镯子!
△ 防盗门猛地拉开,周建平冲出来。
周建平:许佩云,你撒什么泼!
许佩云(不松手):内圈刻"许",一九九八年县百货买的。发票,我贴在第一本账里。
△ 她单手翻开焦黑的账本,第一页夹着一张褪色发票:"足金手镯一只,购买人许秀英"。
许佩云:许秀英,我妈。陪嫁是我的个人财产,你送得着吗?
△ 对门开了一条缝,邻居大妈探出头,举起手机。
邻居大妈:哟,原配的陪嫁拿去送人啊?
△ 唐薇脸涨得通红,撸下镯子砸进许佩云手心,扭头钻进屋。
周建平(咬牙):一只镯子而已。出了这个门,你一分钱都别想拿。
许佩云(把镯子套回手腕):周建平,咱们的账,才刚开始算。

[场景]:内景・菜市场卤菜铺后屋・夜
[人物]:许佩云、秦大妹(卤菜铺老板,老邻居)

△ 卤锅咕嘟冒泡。秦大妹把一管烫伤膏拍在案板上。
秦大妹:手伸过来!姓周的白眼狼,当年摆地摊连秤都不会看!
许佩云(任她抹药,盯着三本残账):十四本烧剩三本。最要命那本,不在铁盒里。
秦大妹:那在哪?
△ 许佩云刚张嘴,手机震动。周建平发来一张照片和一条语音。
△ 特写:手机屏幕——《自愿放弃夫妻共同财产声明》,落款二〇一六年,签名:许佩云。
周建平(语音,冷笑):白纸黑字,你亲手签的。起诉状我已经递了,法院见。

【本集断章卡点】:许佩云把照片放大,那三个字的每一笔都是她自己的笔迹。她手一抖,金镯磕在案板上"当"的一声——"这……是我签的?"(黑屏:下滑立即解锁第4集)

返回

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

思考

Bash Run episode validator on episodes 1-3

输入

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

返回

[+] self-test PASSED
== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第01集.md  [standard 标准档 90~120 秒]  正文体量≈407 ==
结果: PASSED
== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第02集.md  [standard 标准档 90~120 秒]  正文体量≈350 ==
[!] WARN: E12 黄金三角缺项: 身份/目标(前 30 秒须讲清 我是谁 / 我面临什么危机 / 我要做什么)
结果: PASSED(含 WARN 请复核)
== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第03集.md  [standard 标准档 90~120 秒]  正文体量≈397 ==
[!] WARN: E2 单句台词 26 字(>25): 内圈刻"许"一九九八年县百货买的发票…
结果: PASSED(含 WARN 请复核)

思考 3 秒

Edit ./剧本/第02集.md

输入

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

—— 原文 ——
△ 王桂芬张了张嘴,没接上话。
周建平(拖出一个行李箱,踹到她脚边):收拾东西,今晚就滚。
许佩云:我走。小禾,跟妈走吗?

—— 改成 ——
△ 王桂芬张了张嘴,没接上话。
许佩云:这个家第一块砖,是我的钱垒的。
周建平(拖出一个行李箱,踹到她脚边):一个做饭的,还跟我讲砖?今晚就滚。
许佩云(把三本残账塞进箱子):我走。可我是要回来收账的。
许佩云:小禾,跟妈走吗?

返回

The file /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第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-3/剧本/第03集.md

—— 原文 ——
许佩云(不松手):内圈刻"许",一九九八年县百货买的。发票,我贴在第一本账里。

—— 改成 ——
许佩云(不松手):内圈刻着"许",一九九八年县百货买的。
许佩云:发票,我贴在第一本账里。

返回

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

输入

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

返回

== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第02集.md  [standard 标准档 90~120 秒]  正文体量≈378 ==
[!] WARN: E12 黄金三角缺项: 目标(前 30 秒须讲清 我是谁 / 我面临什么危机 / 我要做什么)
结果: PASSED(含 WARN 请复核)
== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本/第03集.md  [standard 标准档 90~120 秒]  正文体量≈398 ==
结果: PASSED

思考

Edit ./剧本/第02集.md

输入

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

—— 原文 ——
我走。可我是要回来收账的。

—— 改成 ——
我走。这笔账,我要回来收。

返回

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

思考

Agent:
Three episodes pass. Now the character bible.
Write ./01-主要人物小传.md

输入

/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/01-主要人物小传.md

# 《这个家的账,我算了十五年》· 立项说明 + 主要人物小传

## 〇、立项卡

| 项 | 内容 |
|---|---|
| 类型 | 女频大女主 × 家庭伦理 × 轻商战(都市现实) |
| 体裁 / 档位 | 竖屏实拍短剧 · 标准档(单集 90~120 秒,正文 350~500 字,≤2 场景) |
| 集数 | 60 集 |
| 目标受众 | 25~55 岁女性为主,下沉市场为基本盘;情绪导向=**获得感**(夺回属于自己的东西)+**关系感**(母女) |
| 流派 | **情绪流**(观众追的是"他们什么时候认账、什么时候还钱",不是"接下来发生什么") |
| 情绪契约 | **让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。** |
| 单元划分 | A 1–22 离婚净身出户之战 / B 23–44 名字被偷背债之战 / C 45–60 三百个名字总清算 |
| 付费墙 | 一级墙 第10集 / 二级墙 第22集 / 三级墙 第44集 |

**一句话故事**:被丈夫逼着净身出户的全职太太许佩云(主角),要从丈夫、大姑姐和他们背后的商会会长手里,把十五年的家务和被转走的钱一笔一笔算回来(目标);可她账本被烧、签名被冒用、名字背上八百六十万的债(阻碍)——**她唯一的武器,是十五年手写的账本和一个记得住每笔数的脑子**(亮点)。

### 选题五问

1. **目标用户**:做过或正在做全职妈妈、在家里"出力不被看见"的女性,以及她们的女儿。
2. **核心情绪**:"我在家干了十五年,凭什么说我吃白饭"——付出不被认可是女频两大痛点之一(课 07);落点是解恨和正名。
3. **视觉化难度**:低。核心道具是蓝皮账本、计算器、金镯子、发票;主场景是一户人家、一个菜市场卤菜铺、一间办公室、一间调解室/法庭。不用夜外景大场面,也没有特效。
4. **政策红线**:主角每一步都走合法途径(律师、证据保全、法院判决),不用违法手段赢;出轨、转移财产、冒用身份全部受到惩处;婆婆这条线以认错收尾,不靠羞辱老人出气;全剧不出现真实机关名,调查执法只在台词里一笔带过,并且是正面形象。
5. **市场数据**:离婚逆袭、全职妈妈翻身、"妈妈不干了"类题材在红果热播榜上常年有位置。本剧的**微创新**(课 02 人设创新+金手指创新)是把金手指换成接地气的"账"——不靠系统,也不靠重生,靠的是一项观众一眼就看懂、自己家里也有人具备的真本事。

### 信息差主模型

- 主模型 4(主角+观众知道,反派不知道):她记得每一笔账;周家只当她是个做饭的。
- 辅助模型 2(观众知道,主角/配角不知道):最要命的第 15 本账藏在女儿的旧书包夹层里,女儿自己不知道(第 12–20 集)。
- 单元 B 改用模型 1(主角知道,观众和反派不知道):她在空白纸签名里藏了日期暗记,第 41 集才揭开。

---

## 一、核心人物(5 人)

### 1. 许佩云 —— 主角

- **外貌年龄**:44 岁。素净短发,常年系一条洗旧的蓝围裙,耳后夹一截铅笔。
- **身份**:明面上是全职太太;实际上是周家建材生意的"地下会计"。中专财会专业第一名,2011 年和周建平摆地摊起家,头一笔进货款八千块是她的陪嫁。女儿出生后被劝"回家管家",但公司的账、家里的账,她每天晚上都在厨房里记,十五年记了十五本蓝皮账本。
- **性格**:能忍,嘴不快,心里每笔都有数。不吵不闹,一开口就是数字和日期。
- **欲望(可拍)**:拿回该她的那一半,拿回十五年的家务补偿,拿回女儿的尊重。
- **秘密/软肋**:①2019 年第一次发现暗账后,她失眠了半年,去医院看过失眠门诊,这份病历会被周家拿来说她"精神有问题"(第 14–15 集);②她 2016 年替公司"报税"签过二十张空白纸,2020 年又被大姑姐骗去银行签过开户材料,**她的签名是真的**,这是她最难自证的地方。
- **弧光(打法跟着单元升级)**:
  - 单元 A:被动自证,用账本和记忆一项项推翻指控(隐忍→第 11 集首次翻盘);
  - 单元 B:主动入局,进大姑姐的公司当记账员,在签名里埋暗记(第 28 集攻守转换);
  - 单元 C:掌控规则,带着三百个被冒名的普通人一起算总账,从"替自己讨账"变成"替所有被当成白纸的人讨账"。
  - 终点:在菜市场挂出"许佩云记账"的招牌。
- **语言指纹**:句子短,必带数字和日期("上个月十五号,进账四百六十万")。口头禅"**一笔归一笔**""账要对得上"。不骂人,最狠的一句也只是"这笔账,我记下了"。
- **记忆点**:耳后夹铅笔,紧张时右手拇指在指腹上"拨算盘";手腕上是亡母留下的金镯子。

### 2. 周建平 —— 单元 A 主施压反派(贯穿全剧)

- **外貌年龄**:46 岁。啤酒肚,名牌皮带,总把车钥匙在手里转。
- **身份**:建平建材老板。生意是夫妻俩一起做起来的,他却把功劳全算在自己头上。
- **欲望**:离婚、娶秘书唐薇,让许佩云净身出户;把公司账上 1200 万转到姐姐周建红名下"保管"。
- **秘密/软肋**:①他其实看不懂账,公司账一直是老婆和姐姐在管,这就是他的命门;②他以为那 1200 万在姐姐手里,**不知道姐姐早把钱转进了钱国栋的商会**(第 40 集爆出)。
- **弧光**:嚣张(A)→被姐姐当枪使(B)→众叛亲离、卖车替工人结工资(C 第 55 集)。不洗白,只给一个"认账"的结局。
- **语言指纹**:老板腔,爱说"你懂什么""我养你十五年",开口闭口"我的公司"。
- **记忆点**:转车钥匙;一心虚就去摸领带。

### 3. 周建红 —— 单元 B 主反派(大姑姐)

- **外貌年龄**:50 岁。金丝眼镜,珍珠项链,笑得很客气。
- **身份**:周建平的亲姐姐,建平建材财务总监。周家真正的操盘手。
- **欲望**:把弟弟公司掏空,钱转进钱国栋的盘子里,换一个"商会理事"的位置。
- **秘密/软肋**:2020 年 4 月 17 日许母做手术那天,她冒充"陪护"登记签字,同一天拿着许佩云签过的材料注册了"佩云商贸有限公司",后来这家公司欠下 860 万;她自己也只是钱国栋手里的一枚棋子。
- **弧光**:笑面虎(A 后段登场)→正面压制(B)→被钱国栋抛弃(第 42 集)→在看守所里松口,交出钱国栋真账的下落(第 48 集)。
- **语言指纹**:一口一个"弟妹",越客气越危险;爱说"按老规矩"。
- **记忆点**:推眼镜;手里永远拿着一叠空白 A4 纸。

### 4. 周小禾 —— 情感锚点(女儿)

- **外貌年龄**:16 岁,高一。校服,耳机不离耳。
- **身份**:许佩云和周建平的独生女。
- **欲望**:别再丢人,想去出国游学(父亲拿这个名额收买她)。
- **秘密**:第 2 集她从火盆边捡走一页烧焦的残账(2020 年 4 月那一页,第 24 集兑现);她不知道,母亲把最要命的第 15 本账缝在了她旧书包的夹层里。
- **弧光**:站父亲一边(1–12)→看见母亲的字迹,开始动摇(13–17)→深夜带着第 15 本冲进法庭(第 20 集)→成为母亲的帮手(B/C)→自己核对出自己账户里的问题,主动上报(第 54 集,"妈,这笔账我自己对过了")。
- **语言指纹**:前期句句带刺,"你能不能别再丢我的人";后期变短变稳,开始像妈妈一样说数字。
- **记忆点**:一摘耳机,就是要说真话了。

### 5. 钱国栋 —— 单元 C 终极反派

- **外貌年龄**:58 岁。唐装,盘一对核桃,说话慢条斯理。
- **身份**:滨江建材商会会长。用家庭主妇、老人、菜市场小摊主的身份证注册了七家空壳公司,借这些名字套取工程款和贷款,三百个普通人的名字被他当成了"白纸"。
- **欲望**:靠一个 2 亿的项目把钱洗干净上岸。
- **秘密/软肋**:钱从没出境,全压在他儿子名下的本地三处物业里,这条资金路径被许佩云在第 30 集瞄过一眼的内账记了下来(第 53 集兑现)。
- **弧光**:幕后(第 35 集只闻其名、第 36 集现身)→至暗施压(第 42–44 集)→在商会年会上被当众清算(第 50–53 集)→终审(第 59 集)。
- **语言指纹**:从不提高声音,爱用账房词反讽人,"许会计,账算得好,可惜算错了人"。
- **记忆点**:核桃一停,就是要动手了。

---

## 二、关键配角(4 人)

### 6. 唐薇 —— 反转棋子

- 28 岁,周建平的秘书兼情人,左撇子(第 2 集左手晃镯子,第 8–9 集靠这一点认出监控里冒充许佩云取钱的人)。
- **欲望**:上位,给母亲在城里买房。
- **秘密**:她自己也被周建红登记成了一家空壳公司的法人,下个月有一笔 400 万的借款到期,她本人不知道。
- **弧光**:嚣张小三(A)→发现自己是弃子(第 31–32 集)→偷拷内账 U 盘(第 33–34 集)→法院门口当众倒戈(第 40 集)。
- **语言指纹**:一口一个"姐",嗲中带刺。

### 7. 秦大妹 —— 盟友 / 市井喜剧担当

- 52 岁,菜市场卤菜铺老板,许佩云二十年前摆地摊时的邻摊。嗓门大,护短,拿铁勺敲锅当惊堂木。
- **功能**:给主角落脚的地方;在菜市场替她起哄造势;第 37 集被查出自己的身份证也被冒用,主角从"连累朋友"到"替朋友讨账",弧光就从这里升级。
- **语言指纹**:东北味市井话,"姓周的白眼狼""这口气我替你出"。

### 8. 林知夏 —— 律师 / 法理担当

- 32 岁,法律援助律师,冷静,说话像念条文。第 5 集登场,一眼看出放弃声明用的是 2023 年才启用的公司新抬头纸。
- **功能**:把许佩云的"记性"转成法庭认的"证据",一路提醒观众"合法途径"在哪。
- **语言指纹**:"证据链""这一条,不成立"。

### 9. 王桂芬 —— 婆婆(单元 A 帮凶)

- 68 岁,市井刻薄,烧账本的人。口头禅"吃白饭的"。
- **秘密**:她的养老房首付是 2019 年从公司账上挪出来的(第 11 集当众翻出)。
- **弧光**:烧账、闹菜市场(A)→养老房因涉案被查封(第 43 集)→第 49 集拎着当年的嫁妆清单来卤菜铺,说出一句"白饭是我说错了"。不靠下跪,只给一句认错。

---

## 三、功能角色(≤3 人,不建完整小传)

| 角色 | 出场 | 必须存在的理由 |
|---|---|---|
| 邻居大妈 | 第 3 集 | 拍下"原配陪嫁送小三"的视频,第 5 集这段视频在菜市场反转舆论 |
| 刘大勇(包工头) | 第 23、55 集 | 860 万欠款背后是工人的工资,让单元 B 的债有分量;第 55 集收下周建平卖车凑出的工资 |
| 王满仓(摊主) | 第 43、46、58 集 | 三百个名字的代表,从骂许佩云到第一个回到联名单上 |

**角色总量**:核心 5 人+配角 4 人+功能角色 3 人=12 名具名角色,其余为群演。

返回

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

思考 110 秒

Agent:
人物小传写完了。接下来写 60 集分集大纲。
Write ./02-60集分集大纲.md

输入

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

# 《这个家的账,我算了十五年》· 60 集分集大纲

> 标准档竖屏实拍,单集 90~120 秒。情绪流,三单元链。
> **情绪契约**:让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。

---

## 一、全剧骨架

### 四幕

| 幕 | 集数 | 任务 | 情绪 |
|---|---|---|---|
| 一幕·入局压迫 | 1–12 | 净身出户、烧账、扫地出门;第 11 集首次翻盘 | 憋屈 ➔ 震惊 ➔ 期待 |
| 二幕·升级纠缠 | 13–34 | 精神病历合围 ➔ 女儿带账出庭 ➔ 打赢离婚 ➔ 名字背债 ➔ 以身入局 | 爽 ➔ 步步紧逼 |
| 三幕·风暴危机 | 35–49 | 幕后会长现身、盟友被牵连、三百个名字反咬、认罪书二选一 | 虐心 ➔ 窒息 ➔ 绝地翻盘 |
| 四幕·决战封神 | 50–60 | 商会年会当众清算、女儿自证、终审、挂招牌 | 狂爽 ➔ 情感释放 |

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

| | 单元 A(1–22) | 单元 B(23–44) | 单元 C(45–60) |
|---|---|---|---|
| 矛盾 | 周家咬死她"吃了十五年白饭,一分不该拿" | 她的名字被偷了:签名是真的,人却毫不知情,背上 860 万 | 三百个普通人的名字被当成白纸 |
| 对手 | 丈夫周建平+婆婆王桂芬(唐薇帮凶) | 大姑姐周建红(A 对手背后的操盘手) | 商会会长钱国栋(B 对手背后的靠山) |
| 打法 | 被动自证 | 主动入局 | 掌控规则,带着三百人一起算账 |
| 闭环 | 第 21 集判决:转移财产被认定,她分得应得份额+家务补偿 | 第 41 集:冒用身份被认定,860 万与她无关,周建红被立案 | 第 59–60 集:终审宣判,三百人债务解除 |
| 火种 | 第 22 集:赢了官司,当场被告知自己是一家欠债公司的法人 | 第 42 集:周建红改口,钱国栋甩出三百人名单 | 第 60 集尾钩:又一个签过空白纸的女人推门进来 |

### 付费墙

| 墙 | 集 | 断法 | 墙前蓄水 | 下一集前 15 秒兑现 |
|---|---|---|---|---|
| **一级墙** | **第10集** | 亮底牌前 0.5 秒:她翻开账本第 37 页,周建平扑上来抢 | 第 7–9 集:80 万流水、监控、320 万审计接连压上来 | 第 11 集开场逐笔念出 320 万的去向 |
| **二级墙** | **第22集** | A/B 接缝:刚赢官司,裁定书上的法人签名是她自己的字 | 第 20–21 集:开庭、判决,爽感拉满 | 第 23 集开场:"公司成立那天,我在医院陪我妈做手术" |
| **三级墙** | **第44集** | 全剧最低谷+绝境二选一:认罪书,笔尖落纸 | 第 41–43 集:赢了周建红,却输掉三百人、秦姐摊位和房产 | 第 45 集开场:签完照着念出时间地点在场人,口袋里的电话一直没挂 |

### 大情绪点排布(每集 1 个小情绪点,每 5–10 集 1 个大情绪点)

第 5 集视频反转 / **第 11 集逐笔还原 320 万** / **第 16 集菜市场对账会** / **第 20 集女儿抱账出庭** / **第 21 集打赢离婚** / 第 28 集以身入局 / **第 40 集唐薇法院门口倒戈** / **第 41 集签名暗记揭穿伪造** / **第 45 集认罪书反杀** / **第 52 集三百人当场指认** / **第 54 集"妈,这笔账我自己对过了"** / **第 60 集挂招牌**

### 主要场景(控制在 6 个常驻景)

周家饭厅/厨房/小禾房间(同一套宅子)、周家门外楼道、菜市场卤菜铺(前铺+后屋)、建平建材办公室/档案室(同一层)、法院调解室/法庭、滨江商会茶室/宴会厅(同一处)。夜戏集中在宅子和卤菜铺两景,不写外景大场面。

---

## 二、分集大纲

> 每集一行:**集名 | 本集核心(含本集小情绪点)| 集尾断章**。★=大情绪点;💰=付费墙。

### 第一幕 · 入局压迫(1–12)|单元 A

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 1 | 十五周年·净身出户 | 结婚十五周年,离婚协议拍在蛋糕上,"吃了十五年白饭";女儿说"我跟爸"。佩云一口报出公司上个月进账 460 万,周建平变脸。她去米缸取账本,铁盒空了 | 婆婆在灶台上烧账本,佩云双手伸进火盆 |
| 2 | 火里抢账·扫地出门 | 徒手抢出三本残账(2011、2019、2023);念出"第一笔进货款八千,付款人许佩云,我的陪嫁"。被赶出门,女儿后退半步,却偷偷捡走一页残纸 | 楼道里,唐薇戴着她亡母留下的金镯子出现 |
| 3 | 金镯认主·白纸黑字 | 唐薇反咬"打人";佩云翻出贴在账本里的 1998 年发票,夺回陪嫁,邻居拍下视频。秦大妹收留她 | 周建平发来照片:她亲笔签名的《自愿放弃财产声明》 |
| 4 | 空白纸的秘密 | 她想起 2016 年替"报税"签过二十张空白纸。法院传票当众送到菜市场,摊主议论纷纷;她当场心算,识破送货商冻肉注水、短秤 12 斤,摊主第一次服她 | 婆婆带亲戚闯进菜市场,一勺滚卤汤泼过来 |
| 5 | 视频反转 | 秦大妹抄铁勺挡开卤汤;邻居拍的"原配陪嫁送小三"视频在摊主群疯传,婆婆灰溜溜走了(小爽)。法律援助窗口,林知夏说"空白纸上的签名,很难推翻" | 林知夏盯着声明页脚的地址:"这张纸,2016 年还不存在。" |
| 6 | 抬头纸破绽 | 公司 2023 年才搬到滨江路,声明用的是新抬头纸,先签后打的伪造坐实一半;她连夜给八家摊位做账,挣证据保全费。代价是被婆家换锁、停卡,女儿把她拉黑 | 公司律师函:"许佩云挪用公司八十万,三日内不还即报案。" |
| 7 | 八十万流水 | 大姑姐周建红在家族会议上首次登场,笑着放出 80 万转进佩云名下银行卡的流水,亲戚围攻。佩云说:"那张卡,开户第二天就被建平拿走了。" | 周建红推了推眼镜:"取现监控,要不要放给大家看看?" |
| 8 | 监控里的女人 | 监控里,一个穿着她旧大衣、戴口罩的女人在取现;女儿问"妈,你真拿了?"她申请调取银行原始取款单,逐帧盯着画面 | 定格:"她是左手签的字。" |
| 9 | 左撇子 | 唐薇来菜市场炫耀婚纱照,佩云递笔让她签"镯子归还确认",唐薇用左手签了,秦大妹偷偷拍下。周建平宣布明天调解,带审计报告来 | 审计报告封面:十五年累计侵占三百二十万。"要么净身出户,要么坐牢。" |
| 10 💰 | 调解室对质 | **一级墙**。审计员念报告,左手签字的视频被驳"说明不了是谁",婆婆撒泼,女儿缩在角落。佩云掏出抢救出来的 2019 年那本账 | 她翻到第 37 页:"这三百二十万每一笔去了哪,我都记着——"周建平扑上来抢账本(黑屏) |
| 11 ★ | 第37页 | 开场 15 秒兑现:63 万是婆婆养老房首付,28 万是大姑姐的车……逐笔念完,合计正好 320 万;审计员承认只看过周建红提供的材料。全场翻盘 | 走廊里周建平冷笑"剩下十一本早成灰了";她说"最要命那本,没烧",他一把揪住她:"在哪?" |
| 12 | 书包夹层 | 只对观众揭开:第 15 本缝在女儿旧书包的夹层里;可旧书包刚被婆婆扔到阳台准备卖废品。女儿收拾时摸到硬本子,拆开了线 | 周建平推开房门:"小禾,干嘛呢?" |

### 第二幕 · 升级纠缠(13–34)|单元 A 收束 ➔ 单元 B

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 13 | 妈妈的字 | 女儿把本子藏起来,深夜翻看:每页都写着"小禾学费""小禾补课""肺炎押金,卖金耳环"。周家把"疯女人半夜对空气念数"的视频发进小区群 | 同学把视频甩给小禾:"这你妈吧?疯了吧?" |
| 14 | 菜市场母女吵 | 女儿冲到菜市场吼"你能不能别再丢我的人";摊主们替佩云说话:"你妈一个月给七家对账,一分没错。"女儿愣住走了,没交出账本 | 林知夏来电:周家提交了她 2019 年的失眠门诊病历,申请变更抚养权 |
| 15 | 失眠病历 | 病历是真的,她没法否认。她押上一切当众宣布:三天后在菜市场开对账会,凭记忆核对十家摊位三年的流水,错一笔就自认"脑子有病",撤诉 | 周建红把一张调包发票塞给唐薇:"放进第七家的票夹。" |
| 16 ★ | 菜市场对账会 | 当众背账;到第七家时她说"这张票的税号三月就作废了",揪出调包,秦大妹拍到唐薇。"全职妈妈脑子是台计算器"的视频走红 | 周建平对女儿说:"开庭那天说跟我,出国名额就是你的。" |
| 17 | 出国名额 | 女儿左右为难;佩云对律师说"她选谁都行,我只要她别学会撒谎",女儿在帘子后面听见了 | 唐薇私下找来:"我知道一千二百万去哪了。给我五十万,我告诉你。" |
| 18 | 唐薇的价码 | 佩云不买证词:"你左手签的取款单已经交法院了,你是证人还是同案,自己选。"唐薇去找周建平,撞见他打电话给姐姐:"唐薇妈那个账户,也清掉。" | 开庭前夜,周建平在女儿房间翻出了第 15 本 |
| 19 | 父女抢账 | 周建平要撕账本,女儿抢回来:"第 42 页,我十岁肺炎住院,妈卖耳环交押金,你七个电话都没接。"她抱着本子冲出家门 | 周建平打给佩云:"小禾跑了,账本在她手里,你满意了?" |
| 20 ★ | 开庭 | 周家三证齐出:声明、病历、审计,佩云被压得抬不起头。法庭门开,女儿头发湿透,抱着第 15 本走进来:"这是我妈的账。" | 法官:"请被告说明,第 15 本第 8 页所载'转周建红一千二百万'——"周建平脸色煞白 |
| 21 ★ | 一笔归一笔 | **单元 A 闭环**。判决:声明无效,转移财产被认定,审计报告不予采信,佩云多分财产并获家务补偿,女儿随母亲生活。婆婆在法院门口第一次说不出话 | 周建平并不慌:"你赢了,又怎样?"他看了一眼路边的黑色轿车 |
| 22 💰 | 赢了官司,背上八百六十万 | **二级墙**(A/B 接缝)。秦大妹带摊主拉横幅、送卤味庆功;银行催收电话打进来,法院送达书也到了:她是"佩云商贸有限公司"的法定代表人,欠款 860 万,刚判给她的房产份额已被查封。黑色轿车车窗落下,周建红说:"弟妹,账,你才算到一半。" | 裁定书末页,法定代表人签名:许佩云。是她自己的字(黑屏) |
| 23 | 八百六十万 | **单元 B 开局**。开场兑现:"公司成立那天,2020 年 4 月 17 日,我在医院陪我妈做手术。"包工头刘大勇带工人来讨薪,她不躲:"钱不是我欠的,但欠钱的人我一定找出来。" | 医院陪护登记,那天的陪护人签名是:周建红 |
| 24 | 残页 | 周建红早有布局;2020 年那本账已经烧了。女儿掏出第 2 集捡的残页,正是那一页:"4 月 17 日,妈手术缴费 32000,窗口,许" | 周建红:"我这有你亲笔签的股东会决议,还有你坐在银行柜台的视频。" |
| 25 | 开户视频 | 视频里她确实在柜台签字:2020 年周建红带她去"给你妈办医保报销账户"。签名是真的,林知夏也说难 | "老赖许佩云"的横幅挂上卤菜铺,秦大妹抄起铁勺:"这口气我替你出!" |
| 26 | 笔迹鉴定 | 鉴定结论:系本人书写。工人们更愤怒了;林知夏说"只能证明你被骗签,得证明你不知情" | 周建平捧着花来到卤菜铺:"复婚吧,债我替你扛。" |
| 27 | 回头草 | 复婚的条件是撤回 1200 万的执行。她识破这是周建红写的剧本,假意考虑,偷偷录音;周建平说漏一句"公司是我姐让注册的",随即改口 | 女儿看见父母站在一起,摔门而去:"你又要回去给他们当白纸?" |
| 28 ★ | 以身入局 | **攻守转换**。佩云宣布去周建红的公司当记账员"打工还债";摊主们拦她"羊入虎口",她说:"账在哪,我就去哪。" | 上班第一天,周建红推来一叠空白纸:"按老规矩,先签几张。" |
| 29 | 空白纸上的暗记 | 她签了。手部特写:每个签名的最后一笔里都多了一个极小的记号,不作解释(只有主角知道,第 41 集揭开) | 深夜档案室,一束手电光照过来:"找什么呢,弟妹?" |
| 30 | 档案室 | 她借口加班对账;周建红拿一本假账试她,她替周建红挑出一个错,赢得信任;三秒内记下内账上的一串账户尾号 | 档案柜里的另一张营业执照,法定代表人:唐薇 |
| 31 | 第二个法人 | 唐薇不信,佩云说:"你那家公司,下个月十号有四百万借款到期。" | 唐薇母亲哭着来电,账户被冻结了。唐薇打给周建平,没人接;镜头一转,周建平就坐在姐姐对面看着手机响 |
| 32 | 弃子 | 唐薇喝醉了来到卤菜铺,佩云给她盛了碗卤汤,一句没教训。唐薇说:"周建红的内账,在一个 U 盘里。" | "我帮你,你保我妈没事。"铺子外,一辆黑色轿车熄了灯 |
| 33 | U盘 | 佩云谎称"下午有税务抽查",把周建红拖在会议室;唐薇在财务室拷 U 盘 | 进度条走到 98%,门把手转动 |
| 34 | 卤菜打包盒 | 唐薇把 U 盘塞进秦大妹刚送来的卤菜打包盒,周建红搜身扑空,转头叫保安:"封了许佩云的工位,公司丢了一个 U 盘。" | 两名保安架住佩云,周建红贴着她耳朵说:"这回,你签什么都没用了。" |

### 第三幕 · 风暴危机(35–49)|单元 B 收束 ➔ 至暗 ➔ 单元 C

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 35 | 失窃案 | 公司以"员工窃取商业秘密"报案,她被叫去问话一夜,查无实据放回。可那只打包盒已经当外卖送出去了,订单是滨江商会钱会长订的二十份卤味 | "滨江建材商会"的牌匾 |
| 36 | 钱国栋 | 她和秦大妹去商会取盒子,钱国栋亲手把盒子递回来,U 盘还在:"许会计,账算得好,可惜算错了人。" | U 盘插上电脑,数据全空,只剩一个文件名:"下一个,秦大妹" |
| 37 | 秦姐的名字 | 秦大妹多年前把身份证借给周建红"办摊位证",如今也成了一家空壳公司的法人;债主上门贴封条。佩云第一次觉得是自己连累了朋友 | 封条贴上卤菜铺的门,秦大妹第一次没骂人,蹲在门口一声不吭 |
| 38 | 闭环图 | 她把档案室记下的数字、唐薇知道的事、秦姐的遭遇,画成一张"资金闭环图",写满后屋白墙:七家空壳公司,七个法人全是主妇、老人和摊主。她押上一切实名公开,图错一处就是诽谤 | 唐薇失联,手机最后的定位在周建红公司 |
| 39 | 唐薇失联 | 周建红以"出差"为名控制唐薇,逼她写"U 盘是许佩云伪造的"。佩云通过唐薇母亲找到线索 | 陌生号码发来短信:"明早九点,法院门口。——唐" |
| 40 ★ | 法院门口 | 唐薇当众倒戈,交出第二份备份 U 盘(她拷了两份)和亲笔证词。内账显示,1200 万早就从周建红的账户转进了商会 | 周建平盯着姐姐:"姐……那一千二百万,不在你那?" |
| 41 ★ | 暗记 | **单元 B 闭环**。周建红当庭拿出一份"许佩云自认实际控制人声明";佩云请法庭放大签名,最后一笔里藏着日期"9.17",而声明落款写的是 2020 年,这张纸其实是她入职那天签的。伪造坐实,冒用身份被认定,860 万与她无关,周建红被立案,工人从冻结账户拿到部分工资 | 庆功宴上,林知夏的手机一震:"周建红改口了。" |
| 42 | 改口 | 周建红在看守所里改口,称佩云才是主谋、U 盘是伪造的,唐薇也被调查;钱国栋的律师送来三百份身份信息:"你说他们是受害人,我能让他们都成被告。"女儿送给妈妈一支旧录音笔和一本新账本,"第 16 本" | 名单第一页的第一个名字:王满仓,菜市场卖豆腐的王大哥 |
| 43 | 三百个名字 | **至暗**。摊主们收到律师函,王满仓带头骂"都怪你捅出来";秦大妹的摊位被收,佩云的房产份额和婆婆的养老房都因"涉案"被查封,女儿在学校被人议论 | 秦大妹晕倒在空摊位前 |
| 44 💰 | 认罪书 | **三级墙**(绝境二选一)。商会茶室里,钱国栋推来认罪书:"签了,三百人的债一笔勾销,秦大妹的摊位还她,你女儿干干净净;不签,三百人一起被追,秦大妹担保的两百万她自己背。"核桃停住,倒数十秒。女儿来电:"妈,你在哪?" | 笔尖落在纸上,墨迹洇开第一笔(黑屏) |
| 45 ★ | 签下的那一刻 | **单元 C 开局**。开场兑现:她签完,照着念出"签署时间、地点、在场人钱国栋";围裙口袋里,和女儿的通话一直没挂,女儿用录音笔全程录了下来。胁迫下签的认罪书不作数,更要紧的是钱国栋亲口念过的三百人名单和金额 | 保镖堵住茶室门,核桃"咔"地碎了一颗 |
| 46 | 一个一个对账 | 她说"我女儿在楼下,律师也在",走出茶室。接下来挨家挨户找那三百人,从骂她最凶的王满仓开始,证明他"欠"的贷款一分都没到过他手里。王满仓签上联名 | 商会通知:全市批发市场停止向菜市场供货 |
| 47 | 断货 | 菜市场断货,摊主们慌了。她翻出 2011 年那本残账,第一页记着当年地摊进货的外县农户电话;连夜打过去,二十年前的老供货人还在 | 看守所来电:周建红要见她 |
| 48 | 大姑姐的底牌 | 周建红被钱国栋抛弃,想谈条件;佩云说:"我不跟你做交易,只跟你对账。"周建红说出:钱国栋的真账就在商会年会的会员签到簿里,三百个签名全是代签;三天后的年会上,他要签一个 2 亿的项目 | "三天后,他就上岸了。" |
| 49 | 三天 | 周建平众叛亲离;婆婆拎着当年的嫁妆清单来到卤菜铺,说了句"白饭……是我说错了" | 一张烫金请柬送到卤菜铺:"诚邀许佩云女士出席滨江商会年会——钱国栋" |

### 第四幕 · 决战封神(50–60)|单元 C

| 集 | 集名 | 本集核心 | 集尾断章 |
|---|---|---|---|
| 50 | 年会 | 钱国栋当众让她"给各位老板倒茶",三百人的代表被拦在门外;项目签约,笔递到开发方手里 | 佩云起身:"这个字,签不得。" |
| 51 | 一张图 | 女儿在大屏上放出闭环图;钱国栋说"推测而已,证据呢?" | 宴会厅的门推开,唐薇抱着会员签到簿走进来 |
| 52 ★ | 三百个签名 | 秦大妹带着摊主们进场,一个个指着签到簿说"名字是我,字不是我写的",王满仓第一个站出来 | 钱国栋拍手笑:"就算全是代签,钱也早出境了。" |
| 53 | 钱在哪 | 她报出第 30 集记下的那串账户尾号,一路追到钱国栋儿子名下的三处本地物业:"钱一分都没出过滨江。"开发方当场撤约,调查人员进场 | 钱国栋被带走前回头冷笑:"你女儿的账户,过过我三十万。" |
| 54 ★ | 女儿的账 | 全场都看向小禾。女儿摘下耳机,平静地说:"那笔钱上个月进来,我第二天就报给学校和银行了,回执在这。妈,这笔账我自己对过了。"佩云第一次当众掉泪 | 门口,周建平捧着花:"佩云,我们重新开始?" |
| 55 | 先结工资 | 她递给周建平一张账单:"家务补偿法院判了,可你欠工人的工资还没结。先把工人的钱结了,再跟我谈。"周建平卖了车,把钱交到刘大勇手里 | 刘大勇:"许会计,公司几百号人的账,以后谁来管?" |
| 56 | 新账本 | 建平建材破产清算,林知夏担任管理人律师,佩云负责做账;摊主们凑钱给她在菜市场支起一个记账铺 | 法院传票:钱国栋取保候审,反诉许佩云母女诽谤,索赔五百万 |
| 57 | 反诉 | 钱方开始收买,三百人里四十多人撤回联名;秦大妹也被许诺"摊位翻倍",劝她撤 | 秦大妹拎着铁勺走进来,"当"地拍在撤回书上 |
| 58 | 一个都不能少 | 秦大妹撕了撤回书;佩云带着女儿挨家走,王满仓陪着;联名从 258 人回到 296 人 | 终审开庭,钱国栋西装笔挺地坐在被告席,冲她点头微笑 |
| 59 | 终审 | 最后一份证据:她十五本账里从 2012 年起每年都记着交给商会的"会费"和经周建红之手的"咨询费",钱国栋从周家起步就在吃这条线 | 法官起立:"现在宣判——" |
| 60 ★ | 这个家的账 | **大结局**。钱国栋、周建红依法获刑,三百人的债务解除;婆婆来卤菜铺买卤菜,第一次叫她"佩云";菜市场挂起"许佩云记账"的招牌;女儿在第 16 本首页写下"2026 年,妈妈的账,从她自己开始" | 尾钩:一个陌生女人推门进来:"许会计,我丈夫也让我签过空白纸。"(全剧终) |

---

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

### 单元 A(1–22)|执念:周家咬死她"吃了十五年白饭,一分不该拿"|闭环:第 21 集判决

| 回合 | 集 | 施压(证据档) | 反驳(成本档) | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1–3 | 档1 口头羞辱:"吃白饭""公司亏了只剩三万" | 档1→2 口报 460 万暗账,火中抢账,凭发票夺回陪嫁 | 亲笔签名的放弃声明 |
| 2 | 4–6 | 档2 可抵赖物证:声明+起诉 | 档2 质疑效力:签的是空白纸,抬头纸 2023 年才启用;代价是被换锁、停卡、女儿拉黑 | 八十万挪用律师函 |
| 3 | 7–9 | 档3 看似铁证:80 万流水+取现监控 | 档3 挑战程序:调原始取款单,揪出左手签字的人;代价是亲戚集体站队,女儿起疑 | 320 万审计报告 |
| 4 | 10–12 | 档4 权威:第三方审计+法院调解 | 档4 公开对质,逐笔还原 320 万(单元内小转换) | 第 15 本在女儿书包里 |
| 5 | 13–17 | 档5 合围:失眠病历+"疯女人"视频+抚养权+出国名额收买 | 档5 赌上一切:菜市场当众对账,错一笔即撤诉 | 唐薇开价五十万 |
| 6 | 18–22 | 档6 开庭,三证齐出 | 档6 女儿带第 15 本出庭,专属铁证落地 | 第 22 集火种:860 万 |

### 单元 B(23–44)|执念:签名是真的,可我不知情|闭环:第 41 集认定冒用身份

| 回合 | 集 | 施压 | 反驳 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 23–25 | 档2 公司成立日+周建红冒名的陪护登记 | 档2 母亲手术日不在场;女儿的残页兑现 | "老赖"横幅 |
| 2 | 26–27 | 档4 笔迹鉴定"系本人书写"+复婚诱饵 | 档3 假意考虑,录音套话 | 女儿误会 |
| 3 | 28–30 | 档4 "按老规矩"再签空白纸 | 档6 以身入局(攻守转换),签名埋暗记,记下账户尾号 | 唐薇也是法人 |
| 4 | 31–34 | 档4 清空唐薇母亲账户,弃子 | 档4 策反唐薇,偷拷 U 盘 | 被栽赃窃密,工位被封 |
| 5 | 35–38 | 档5 窃密报案+U 盘被清空+秦大妹也是法人 | 档5 实名公开闭环图,图错即诽谤 | 唐薇失联 |
| 6 | 39–41 | 档6 伪造"自认实控人声明" | 档6 唐薇倒戈+签名暗记揭穿伪造 | 周建红改口(火种) |
| 余震 | 42–44 | 三百人名单反咬,盟友连坐,房产再被查封 | ——(至暗,无牌可打) | 💰认罪书二选一 |

### 单元 C(45–60)|执念:三百个名字不是白纸|闭环:第 59–60 集终审

| 回合 | 集 | 施压 | 反驳 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 45–47 | 胁迫认罪+全市断货 | 通话录音反杀;挨户对账;旧账本里找到老供货人 | 周建红要见她 |
| 2 | 48–49 | 2 亿项目三天倒计时 | 不交易,只对账;婆婆认错 | 年会请柬 |
| 3 | 50–52 | 年会当众羞辱,"推测而已" | 闭环图+签到簿+三百人当场指认 | "钱早出境了" |
| 4 | 53–54 | 钱已出境,女儿账户被牵扯 | 账户尾号追到三处物业;女儿自证 | 前夫求复合 |
| 5 | 55–58 | 五百万诽谤反诉,四十多人撤回联名 | 先结工资;挨家挨户,联名回到 296 人 | 终审开庭 |
| 6 | 59–60 | 终审 | 十五本账里的"商会会费"线 | 宣判,挂招牌 |

---

## 四、伏笔回收表

| 伏笔 | 埋 | 收 |
|---|---|---|
| 唐薇是左撇子 | 2 | 8–9 |
| 女儿捡走的 2020 年残页 | 2 | 24 |
| 第 15 本缝在女儿旧书包里 | 3("最要命那本不在铁盒里") | 12–20 |
| 2011 年残账第一页的老供货人电话 | 2 | 47 |
| 失眠门诊病历 | 小传 | 14–15 |
| 签名里的暗记 | 29 | 41 |
| 档案室记下的账户尾号 | 30 | 53 |
| 黑色轿车(周建红) | 21 | 22、32 |
| 旧录音笔 | 42 | 45 |
| 女儿的"摘耳机" | 1(低头刷手机不理人) | 54 |

返回

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

思考 3 秒

Agent:
大纲写完了。最后建跨集台账,再跑全剧机检。
Write ./台账.md

输入

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

# 台账:《这个家的账,我算了十五年》
当前集: 3
总集数: 60
档位: 标准档(90~120 秒)
流派: 情绪流
情绪契约: 让说我"在家吃白饭"的人,把十五年的账一笔一笔还回来。
单元划分: A(1-22) / B(23-44) / C(45-60)

## 伏笔账
| ID | 内容 | 埋于 | 拟收 | 状态 | 备注 |
|---|---|---|---|---|---|
| FB-01 | 唐薇左撇子(左手拎钥匙、左手晃镯) | 2 | 9 | 埋 | 第8集监控左手签字,第9集坐实 |
| FB-02 | 小禾从火盆边捡走 2020 年 4 月残页 | 2 | 24 | 埋 | 证明母亲手术日不在场 |
| FB-03 | "最要命那本不在铁盒里"=第15本缝在小禾旧书包夹层 | 3 | 20 | 埋 | 第12集只对观众揭开,第20集出庭 |
| FB-04 | 2011 年残账第一页:地摊时期外县供货人电话 | 2 | 47 | 埋 | 断货危机解法 |
| FB-05 | 王桂芬"半夜念叨数" | 1 | 13 | 埋 | 演变为"疯女人"视频 |
| FB-06 | 周建平第1集结尾的电话:"过来吧,她今晚就走" | 1 | 2 | 收 | 打给唐薇,第2集唐薇到场 |
| FB-07 | 公司上月进账 460 万(南湖工地尾款) | 1 | 20 | 埋 | 并入 1200 万转移链 |
| FB-08 | 2016 年《自愿放弃财产声明》 | 3 | 6 | 埋 | 抬头纸 2023 年才启用 |

## 人物账
| 角色 | 首出 | 状态 | 关系现值 | 变动集 | 备注 |
|---|---|---|---|---|---|
| 许佩云 | 1 | 存活 | 主角;被扫地出门,暂住卤菜铺后屋 | 3 | 手背烫伤;金镯已夺回 |
| 周建平 | 1 | 存活 | 敌(单元A主施压) | 3 | 已起诉离婚 |
| 王桂芬 | 1 | 存活 | 敌(帮凶) | 2 | 烧了十四本账中的十一本 |
| 周小禾 | 1 | 存活 | 站父亲一边,暗藏残页 | 2 | |
| 唐薇 | 2 | 存活 | 敌(帮凶) | 3 | 镯子被当众夺回 |
| 邻居大妈 | 3 | 存活 | 中立偏我 | 3 | 群演,手机视频为第5集伏笔 |
| 秦大妹 | 3 | 存活 | 盟友 | 3 | 收留主角 |
| 周建红 | 7 | 未出场 | 敌(单元B主反派) | — | |
| 林知夏 | 5 | 未出场 | 盟友(律师) | — | |
| 钱国栋 | 35 | 未出场 | 终极反派 | — | 第35集只闻其名,第36集现身 |
| 刘大勇 | 23 | 未出场 | 中立→盟友 | — | 功能角色 |
| 王满仓 | 42 | 未出场 | 中立→敌→盟友 | — | 功能角色 |

## 道具账
| 道具 | 持有 | 状态 | 变动集 |
|---|---|---|---|
| 残账三本(2011/2019/2023) | 许佩云 | 焦边,可读 | 2 |
| 第15本账(2025—2026) | 小禾旧书包夹层(无人知情) | 完好 | 3 |
| 2020 年 4 月残页 | 周小禾校服口袋 | 半焦 | 2 |
| 金镯(内圈刻"许") | 许佩云 | 戴在手上 | 3 |
| 1998 年镯子发票 | 许佩云(夹在2011账第一页) | 完好 | 3 |
| 放弃财产声明(照片) | 周建平 | 原件在其手中 | 3 |

## 世界观规则账
| 规则 | 确立集 | 引用集 | 违反 |
|---|---|---|---|
| 账本一年一本,蓝皮,共十五本;十四本旧账放米缸铁盒 | 1 | 2,3 | 否 |
| 许佩云对数字和日期过目不忘,但"脑子里的数"法庭不认,必须落到纸面证据 | 2 | 5,11 | 否 |
| 主角只走合法途径(律师、保全、判决),不买证词、不用违法手段 | 3 | 18 | 否 |
| 嫁妆属于个人财产 | 3 | 21 | 否 |

## 往返回合表(单元A)
| 回合 | 集区间 | 证据档/内容 | 反驳档/内容 | 回合尾断章 |
|---|---|---|---|---|
| 1 | 1-3 | 档1:吃白饭、公司只剩三万 | 档1→2:口报460万;火中抢账;发票夺回陪嫁 | 亲笔签名的放弃声明 |
| 2 | 4-6 | 档2:放弃声明+起诉 | 档2:空白纸、新抬头纸 | 八十万律师函 |
| 3 | 7-9 | 档3:流水+监控 | 档3:左手签字 | 320万审计 |
| 4 | 10-12 | 档4:审计+调解 | 档4:第37页逐笔对质 | 第15本在书包 |
| 5 | 13-17 | 档5:病历+视频+抚养权 | 档5:菜市场对账会 | 唐薇开价 |
| 6 | 18-22 | 档6:开庭三证 | 档6:女儿带账出庭 | 860万火种 |

## 付费墙落位
一级墙 第10集(亮底牌前0.5秒:第37页)
二级墙 第22集(A/B接缝:法人签名是她自己的字)
三级墙 第44集(全剧最低谷:认罪书二选一)

返回

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

思考 1 秒

Bash Run series validator and episode validators

输入

R=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3; S=$R/.claude/skills/hongguo-shortdrama-screenwriting/scripts; python3 -I $S/validate_series.py --self-test; python3 -I $S/validate_series.py $R/台账.md --episodes 60 --script-dir $R/剧本; for i in 1 2 3; do python3 -I $S/validate_episode.py $R/剧本/第0$i.md --format standard $( [ $i -gt 1 ] && echo --prev $R/剧本/第0$((i-1))集.md ) 2>&1 | tail -n +2; done; ls $R

返回

[+] self-test PASSED
== /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/台账.md  总集数=60 当前集=3 ==
结果: PASSED
01-主要人物小传.md
02-60集分集大纲.md
premise.md
剧本
台账.md
Agent:
My loop had a filename typo (第0$i.md instead of 第0$i集.md), so I'm running the per-episode checks again.
Bash Re-run episode validators with correct filenames

输入

R=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3; V=$R/.claude/skills/hongguo-shortdrama-screenwriting/scripts/validate_episode.py; cd $R/剧本; 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 秒]  正文体量≈407 ==
结果: PASSED
== 第02集.md  [standard 标准档 90~120 秒]  正文体量≈377 ==
[!] WARN: E12 黄金三角缺项: 身份(前 30 秒须讲清 我是谁 / 我面临什么危机 / 我要做什么)
结果: PASSED(含 WARN 请复核)
== 第03集.md  [standard 标准档 90~120 秒]  正文体量≈398 ==
结果: PASSED

思考 2 秒

Edit ./剧本/第02集.md

输入

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

—— 原文 ——
王桂芬(一脚踢开火盆):抢出三本破纸,能顶什么用?

—— 改成 ——
王桂芬(一脚踢开火盆):抢出三本破纸,还当自己是老板娘?

返回

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

输入

R=/scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3; S=$R/.claude/skills/hongguo-shortdrama-screenwriting/scripts; cd $R/剧本; python3 -I $S/validate_episode.py 第02集.md --format standard --prev 第01集.md; python3 -I $S/validate_series.py $R/台账.md --episodes 60 --script-dir $R/剧本 | tail -1

返回

== 第02集.md  [standard 标准档 90~120 秒]  正文体量≈380 ==
结果: PASSED
结果: PASSED

思考 9 秒

Agent:
剧本写完了:**《这个家的账,我算了十五年》**,60 集,每集约 110 秒,三项交付都已放在当前目录。第 1–3 集三个单集和全剧台账都过了技能自带的机检,没有失败项,也没有剩下的警告。

**故事核心**
- **一句话**:44 岁的全职太太许佩云被丈夫逼着净身出户,婆家说她"在家吃了十五年白饭"。其实公司的账、家里的账,都是她每天晚上在厨房里记的,十五年记了十五本。她靠这些账本,加上记得住每一笔数的脑子,把账一笔一笔算回来。
- **定位**:女频大女主加家庭伦理,主打"付出不被认可"这个痛点。观众每一集等的都是同一口气:"让说我吃白饭的人,把账还回来。"
- **新意**:主角的本事不是系统、也不是重生,就是会记账。观众一眼能懂,自己家里也可能有这样的人。
- **好拍**:常驻场景控制在 6 个,没有大群演、特效、外景大场面。主角每一步都走律师、证据、判决这类合法途径。

**全剧结构**
三个单元,每个单元换一个对手,观众追的那口气不变:

| 单元 | 集数 | 矛盾 | 对手 |
|---|---|---|---|
| A | 1–22 | 离婚、净身出户之战 | 丈夫、婆婆 |
| B | 23–44 | 身份被冒用,背上 860 万债务 | 大姑姐 |
| C | 45–60 | 三百个普通人的名字被冒用,总清算 | 商会会长 |

**付费卡点**
- **第 10 集**:她翻开账本第 37 页,正要念出 320 万的去向,丈夫扑上来抢。
- **第 22 集**:刚打赢离婚官司,裁定书上欠债公司的法人签名,是她自己的字。
- **第 44 集**:全剧最低谷。签认罪书,就连累不到恩人;不签,三百人一起被追债。笔尖落在纸上,黑屏。

每个卡点下一集开场 15 秒内都会兑现。

**第 1–3 集**
- **第 1 集**:结婚十五周年,离婚协议拍在蛋糕上。她一口报出丈夫藏起来的 460 万。结尾婆婆在烧账本,她把双手伸进火盆。
- **第 2 集**:她从火里抢出三本账,被赶出家门。楼道里,丈夫的秘书戴着她亡母留下的金镯子出现。
- **第 3 集**:她拿出贴在账本里的发票,当众夺回镯子。结尾手机上收到一张"自愿放弃财产声明",签名是她的亲笔。

第 1、2 集里埋了"秘书是左撇子""女儿偷偷捡走一页烧焦的账"等伏笔,回收位置在台账和大纲末尾都列了。

**文件**
- `01-主要人物小传.md`:立项卡、选题评估,以及 9 个主要人物的小传(另附 3 个功能角色,全剧 12 个有名字的角色)
- `02-60集分集大纲.md`:四幕、三单元、60 集每集一行,含付费卡点、三张对抗回合表、伏笔回收表
- `剧本/第01集.md`、`第02集.md`、`第03集.md`
- `台账.md`:我额外建的跨集连续性台账,记录伏笔、人物、道具和设定规则,往后续写第 4 集起可以接着用

需要的话,可以接着按大纲连写第 4–10 集,一直写到第一个付费卡点。

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

第 2 轮

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

思考 1 秒

Bash Verify deliverable files and rerun checks

输入

ls -la . 剧本 && grep -c "^| [0-9]" 02-60集分集大纲.md && grep -n "💰" 02-60集分集大纲.md | cut -c1-40 && S=.claude/skills/hongguo-shortdrama-screenwriting/scripts && for f in 剧本/第0*集.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

返回

.:
total 104
drwxr-xr-x  8 user  wheel    256 Oct 17 23:21 .
drwxr-xr-x  5 user  wheel    160 Oct 17 23:08 ..
drwxr-xr-x  4 user  wheel    128 Oct 17 23:08 .claude
-rw-r--r--  1 user  wheel  11435 Oct 17 23:17 01-主要人物小传.md
-rw-r--r--  1 user  wheel  25020 Oct 17 23:21 02-60集分集大纲.md
-rw-r--r--  1 user  wheel    244 Oct 17 23:08 premise.md
drwxr-xr-x  6 user  wheel    192 Oct 17 23:22 剧本
-rw-r--r--  1 user  wheel   4156 Oct 17 23:21 台账.md

剧本:
total 24
drwxr-xr-x  6 user  wheel   192 Oct 17 23:22 .
drwxr-xr-x  8 user  wheel   256 Oct 17 23:21 ..
drwxr-xr-x  3 user  wheel    96 Oct 17 23:22 .claude
-rw-r--r--  1 user  wheel  2472 Oct 17 23:15 第01集.md
-rw-r--r--  1 user  wheel  2379 Oct 17 23:21 第02集.md
-rw-r--r--  1 user  wheel  2488 Oct 17 23:16 第03集.md
79
49:> 每集一行:**集名 | 本集核心(含本集小情绪点)| 集尾断章**。★
64:| 10 💰 | 调解室对质 | **一级墙**。审计员念报告,左手签字的
81:| 22 💰 | 赢了官司,背上八百六十万 | **二级墙**(A/B 接
108:| 44 💰 | 认罪书 | **三级墙**(绝境二选一)。商会茶室里,
156:| 余震 | 42–44 | 三百人名单反咬,盟友连坐,房产再被查封 |
结果: PASSED
结果: PASSED
结果: PASSED
结果: PASSED

思考 1 秒

报错 Bash Inspect stray folder and confirm all 60 episodes listed

输入

cd /scratch/evals2/ws/001-open-brief/zhu5859243-free__hongguo-shortdrama-screenwriting/run-3/剧本 && find .claude -type f | head; for n in $(seq 1 60); do grep -q "^| $n[ |]" ../02-60集分集大纲.md || echo "missing $n"; done

返回

Exit code 1
(eval):1: bad math expression: operand expected at `|'
Bash Inspect stray folder and check episode coverage

输入

find 剧本/.claude | head; python3 -I -c "
import re;t=open('02-60集分集大纲.md',encoding='utf-8').read()
s={int(m) for m in re.findall(r'^\| (\d+)(?: [★💰])? \|',t,re.M)};print('missing',[i for i in range(1,61) if i not in s])"

返回

剧本/.claude
剧本/.claude/.cc-writes
missing []

思考 7 秒

Agent:
premise.md 要的三项交付上一轮已经全部写成文件。我刚核对了一遍:60 集都在大纲里,三个付费卡点都标了,第 1–3 集和台账重新跑机检,全部通过。

关于"选第 3 个方案":上一轮我没有拿几个方案让你挑,直接按技能的选题评估定了一个题材,所以这一条没有可用的地方。题材还是 **《这个家的账,我算了十五年》**,没有改。按你说的,其他需要定的都已按我的推荐定好。

**交付文件**(都在当前目录)
1. **主要人物小传**:`01-主要人物小传.md`。开头是立项卡和选题评估,后面是主角、反派和关键配角共 9 人的小传,另附 3 个功能角色,全剧 12 个有名字的角色。
2. **60 集分集大纲**:`02-60集分集大纲.md`。每集一行,写了集名、本集内容和集尾钩子。付费卡点在第 10、22、44 集,用 💰 标出。另外附了三个单元各自的对抗回合表和伏笔回收表。
3. **第 1–3 集完整剧本**:`剧本/第01集.md`、`剧本/第02集.md`、`剧本/第03集.md`。按每集约 110 秒的标准篇幅写,每集不超过 2 个场景。

**额外文件**:`台账.md`,记录跨集的伏笔、人物、道具和设定规则,往后续写第 4 集时可以接着用。

`剧本/` 里还有一个 `.claude/.cc-writes` 文件夹,是工具运行时自动生成的,不是剧本内容,我没动它。

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