shuohao-skills · 第 2 次运行
写了《闪婚老公藏不住了》。被当众退婚的点心铺女孩闪婚隐藏身份的总裁,契约婚姻成真爱,联手扳倒幕后二叔。
- skill
- eternityspring/shuohao-skills@d28a9c53
- 装进工作目录的 skill
character-refs、novel-art、novel-characters、novel-outline、novel-script、novel-staging、novel-storyboard- 时间
- 2026-10-18 13:47–13:58(北京时间),11 分钟
- 轮数
- 5 轮,工具调用 66 次,按 API 价格折算 $20.97
- 匿名编号
- 170(评审只看到这个编号)· 故事卡
- 盲比
- 剧本:和对照组第 2 次比 · 人物大纲:和对照组第 2 次比
- 原始文件
- 产出和问答记录 · 原始日志
写出的文件
标了标签的是认定为三项交付、拿去匿名打包的文件(deliverables.toml)。
outline-report.html 188,674 字
<!doctype html>
<html lang="zh"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>闪婚老公藏不住了 · 短剧改编大纲</title>
<style>
:root{
--paper:#eceded; --panel:#f5f6f5; --side:#e4e6e3; --ink:#191d21; --ink-2:#5b636a; --ink-3:#8c9298;
--rule:#d2d5d0; --rule-2:#c2c6bf; --seal:#8a3324; --seal-2:#c56a4e; --seal-3:#e0a98c; --seal-soft:#8a332412; --ok:#3d6b4f;
--serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC",Georgia,serif;
--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
.page{max-width:1600px;margin:0 auto;padding:24px 32px 90px}
h1,h2,h3{margin:0;font-weight:400}
.hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:12px}
.hd h1{font:400 28px/1.1 var(--serif);letter-spacing:.06em}
.hd .sub{font-size:13px;color:var(--ink-2)}
.hd .right{margin-left:auto;display:flex;align-items:center;gap:10px}
.gatepill{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--sans);border-radius:99px;padding:6px 12px}
.gatepill.pass{color:var(--ok);border:1px solid var(--ok)}
.gatepill.fail{color:var(--seal);border:1px solid var(--seal);background:var(--seal-soft)}
.expo{font:500 11px/1 var(--sans);color:var(--ink-2);background:var(--panel);
border:1px solid var(--rule-2);border-radius:2px;padding:7px 11px;cursor:pointer;transition:.15s}
.expo:hover{border-color:var(--seal);color:var(--seal)}
.expo:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0 6px}
@media(max-width:980px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:11px 14px 9px}
.kpi .l{font:500 10px/1 var(--sans);letter-spacing:.18em;color:var(--ink-3)}
.kpi .v{font:400 28px/1.15 var(--serif);margin-top:5px}
.kpi .v small{font:400 14px var(--serif);color:var(--ink-2)}
.kpi .v.mode{font-size:21px;padding-top:5px}
.kpi .d{font-size:11px;color:var(--ink-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kpi.accent{border-top:2px solid var(--seal)}
.galert{margin:14px 0 0;border:1px solid var(--seal);background:var(--seal-soft);border-radius:2px;
padding:10px 14px;font-size:13px}
.galert b{color:var(--seal)}
.galert span{display:block;font-size:12px;color:var(--ink-2)}
section{margin-top:34px}
.sec-h{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule-2);padding-bottom:8px;margin-bottom:16px}
.sec-h .no{font:500 12px/1 var(--mono);color:var(--seal)}
.sec-h h2{font:400 20px/1.2 var(--serif);letter-spacing:.05em}
.sec-h .note{margin-left:auto;font-size:12px;color:var(--ink-3)}
/* beat-rhythm chart/table tabs */
.tabs{display:flex;width:max-content;margin-bottom:12px;border:1px solid var(--rule-2);
border-radius:2px;overflow:hidden}
.tab{font:500 12px/1 var(--sans);letter-spacing:.06em;padding:7px 16px;background:var(--panel);
border:0;cursor:pointer;color:var(--ink-2);transition:.15s}
.tab + .tab{border-left:1px solid var(--rule-2)}
.tab.on{background:var(--seal);color:#fff}
.tab:focus-visible{outline:2px solid var(--seal);outline-offset:-2px}
.tabpane{display:none}
.tabpane.on{display:block}
/* episode overview: first three cards, fade-out + expand */
.epswrap{position:relative}
.eps{position:relative}
.epswrap.clip .eps .ep:nth-child(n+4){display:none}
.epswrap.clip .eps::after{content:'';position:absolute;left:0;right:0;bottom:0;height:90px;
background:linear-gradient(180deg,transparent,var(--paper));pointer-events:none}
.epsmore{display:block;margin:10px auto 0;font:500 12px/1 var(--sans);letter-spacing:.06em;
color:var(--ink-2);background:var(--panel);border:1px solid var(--rule-2);border-radius:2px;
padding:8px 18px;cursor:pointer;transition:.15s}
.epsmore:hover{border-color:var(--seal);color:var(--seal)}
.epsmore:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
/* key decisions: the three sign-off items */
.dec3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}
@media(max-width:1080px){.dec3{grid-template-columns:1fr}}
.dcol{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:4px 18px 14px}
.dhead{margin:8px 0 0;font-size:12.5px;color:var(--ink-2)}
.dlist{list-style:none;margin:8px 0 0;padding:0}
.dlist li{padding:7px 0;border-top:1px solid var(--rule)}
.dlist li:first-child{border-top:0}
.dlist b{display:block;font:400 13.5px/1.6 var(--serif)}
.dlist small{display:block;font-size:11.5px;color:var(--ink-2);line-height:1.6}
.dnote{margin:10px 0 0;font-size:12px;color:var(--ink-2);line-height:1.7}
.dnote.seal{color:var(--seal);background:var(--seal-soft);padding:7px 10px;border-radius:2px}
.dmaj{list-style:none;margin:8px 0 0;padding:0}
.dmaj li{display:flex;gap:9px;align-items:baseline;padding:5.5px 0;border-top:1px solid var(--rule);font-size:12.5px}
.dmaj li:first-child{border-top:0}
.dmaj i{flex:none;font:500 11px/1 var(--mono);color:var(--seal);font-style:normal;min-width:38px}
.dmaj b{font:400 12.5px var(--serif)}
.dmaj span{min-width:0}
.dmaj em{flex:none;margin-left:auto;font:500 10px/1 var(--sans);letter-spacing:.1em;font-style:normal;
color:var(--seal);border:1px solid var(--seal);border-radius:99px;padding:2px 7px}
/* beat-rhythm timeline */
.chart{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:16px 20px 10px}
.chart .legend{display:flex;gap:18px;font-size:12px;color:var(--ink-2);margin-bottom:2px}
.chart .legend i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.dotk{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--seal-2)}
.dotk.major{width:12px;height:12px;background:var(--seal)}
.rhythm svg{display:block;width:100%;height:auto}
.rhythm .axis{stroke:var(--rule-2);stroke-width:1.5}
.rhythm .tick{font:400 10.5px var(--mono);fill:var(--ink-3);paint-order:stroke;stroke:var(--panel);stroke-width:3px}
.rhythm .stem{stroke:var(--seal-2);stroke-width:1.5}
.rhythm .stem.major{stroke:var(--seal)}
.rhythm .bdot{fill:var(--seal-2);stroke:var(--panel);stroke-width:2}
.rhythm .bdot.major{fill:var(--seal)}
.rhythm .blabel{font:500 12px var(--sans);fill:var(--ink)}
.rhythm .bsub{font:400 10.5px var(--sans);fill:var(--ink-2)}
.rhythm .gapnote{font:400 10.5px var(--sans);fill:var(--ink-3)}
.rhythm .gapnote.bad{fill:var(--seal);font-weight:500}
/* beat detail table + generic tables */
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--rule);font-size:13px}
th,td{padding:8px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
th{font:500 11px/1 var(--sans);letter-spacing:.1em;color:var(--ink-3);background:var(--side)}
tr:last-child td{border-bottom:0}
td:first-child{font-family:var(--mono);font-size:12px;color:var(--ink-2);white-space:nowrap}
q{quotes:"「" "」";font-family:var(--serif);border-left:2px solid var(--seal);padding-left:8px;display:inline-block}
/* episode cards */
.eps{display:grid;grid-template-columns:repeat(auto-fill,minmax(430px,1fr));gap:13px}
.ep{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:14px 16px 12px;position:relative}
.ep .num{position:absolute;top:10px;right:14px;font:400 30px/1 var(--serif);color:var(--rule-2)}
.ep header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-right:44px;flex-wrap:wrap}
.ep header b{font:500 15px var(--serif);letter-spacing:.04em}
.bt{font-style:normal;font-size:11px;padding:2px 8px;border:1px solid var(--seal);border-radius:99px;color:var(--seal)}
.bt.major{background:var(--seal);color:#fff}
.ep .syn{margin:0 0 8px;font-size:13px;line-height:1.75}
.hk{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px;font-size:12.5px;padding:6px 0;border-top:1px solid var(--rule)}
.hk b{font:500 11px/1.8 var(--sans);letter-spacing:.14em;color:var(--seal);white-space:nowrap}
:root[lang="en"] .hk b,html[lang="en"] .hk b{letter-spacing:.06em}
.ep .meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.ep .meta i{font-style:normal;font:400 10.5px/1.5 var(--mono);border:1px solid var(--rule-2);
border-radius:2px;padding:0 5px;background:var(--paper);color:var(--ink-2)}
.ep .meta .warn{border-color:var(--seal);color:var(--seal);background:var(--seal-soft)}
/* dispatch matrix */
.matrix{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:16px 18px;overflow-x:auto}
.matrix table{border-collapse:separate;border-spacing:3px;font-size:12px;background:none;border:0;width:auto}
.matrix th,.matrix td{border:0;padding:0}
.matrix th{font:500 10px/1 var(--sans);letter-spacing:.1em;color:var(--ink-3);background:none;
text-align:left;padding:0 8px 5px 0;white-space:nowrap}
.matrix th.ep-h{text-align:center;padding:0 0 5px;font-family:var(--mono)}
.matrix td.name{padding-right:10px;white-space:nowrap;font-family:var(--serif);font-size:13px}
.matrix td.tier{padding-right:10px;color:var(--ink-3);font-size:11px;white-space:nowrap}
.matrix td.mc{width:var(--cw,26px);min-width:var(--cw,26px);height:22px;border-radius:2px;
background:var(--paper);border:1px solid var(--rule)}
.matrix td.mc.on{background:var(--seal);border-color:var(--seal)}
.matrix td.mc.on.sc{background:var(--seal-2);border-color:var(--seal-2)}
.matrix td.mc.on.pp{background:var(--seal-3);border-color:var(--seal-3)}
.matrix td.n{padding-left:10px;font-family:var(--mono);font-size:11px;color:var(--ink-2);white-space:nowrap}
.matrix tr.div td{padding:8px 0 3px;font:500 10px/1 var(--sans);letter-spacing:.18em;color:var(--ink-3)}
.matrix .mnote{font-size:11px;color:var(--ink-3);margin:10px 0 0}
/* scene overview cards: full-width multi-column grid */
.scenes{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:13px;align-items:start}
.scard{position:relative;background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:14px 16px}
.snum{position:absolute;top:10px;right:16px;font:400 26px/1 var(--serif);color:var(--rule-2);letter-spacing:.04em}
.scard h3{font:400 16px/1.3 var(--serif);letter-spacing:.03em;display:flex;align-items:center;gap:8px;
padding-right:90px;flex-wrap:wrap}
.scard h3 .id{font:400 10.5px var(--mono);color:var(--ink-3)}
.badge{font:500 10.5px/1 var(--sans);padding:2px 8px;border-radius:99px;border:1px solid var(--seal);color:var(--seal)}
.badge.once{border-color:var(--seal-2);color:var(--seal-2)}
.strip{display:flex;flex-wrap:wrap;gap:3px;margin:7px 0 6px}
.strip i{width:16px;height:10px;border-radius:2px;background:var(--paper);border:1px solid var(--rule)}
.strip i.on{background:var(--seal);border-color:var(--seal)}
.strip i.on.lt{background:var(--seal-2);border-color:var(--seal-2)}
.srow{font-size:11.5px;color:var(--ink-2);display:flex;gap:6px;flex-wrap:wrap;align-items:baseline;margin-top:3px}
.srow b{font:500 10px/1.8 var(--sans);letter-spacing:.12em;color:var(--ink-3);flex:none}
.srow i{font-style:normal;font:400 10.5px/1.5 var(--mono);border:1px solid var(--rule-2);
border-radius:2px;padding:0 5px;background:var(--paper)}
.srow .reuse{color:var(--seal)}
/* asset conversion */
.plan{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:16px 18px}
.plan table{background:none;border:0}
.plan th{background:none;padding-left:0}
.plan td{padding-left:0;border-top:1px solid var(--rule);border-bottom:0}
.plan tr:first-child td{border-top:0}
.plan td:first-child{font-family:var(--serif);font-size:13px;color:var(--ink)}
/* adaptation notes */
.core{font:400 17px/1.9 var(--serif);margin:0 0 6px}
h3.sub{font:500 12px/1 var(--sans);letter-spacing:.18em;color:var(--seal);margin:20px 0 8px}
/* quality gates */
.gate{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 28px}
@media(max-width:900px){.gate{grid-template-columns:1fr}}
.gate li{display:flex;gap:8px;padding:5px 0;font-size:12.5px;line-height:1.55}
.gate .m{flex:none;font-weight:700}
.gate .ok .m,.gate li.ok .m{color:var(--ok)}
.gate li.bad .m{color:var(--seal)}
.gate li.bad{background:var(--seal-soft);border-radius:2px;padding-left:6px}
.gate small{display:block;color:var(--ink-3)}
.gsum{margin:10px 0 0;font-size:12px;color:var(--ink-2)}
.gsum b{color:var(--seal)}
.foot{margin-top:40px;font-size:11px;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:14px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* print: expand everything — both tab panes, all episode cards */
@media print{
.expo,.tabs,.epsmore{display:none!important}
.tabpane{display:block!important;margin-bottom:14px}
.epswrap.clip .eps .ep{display:block!important}
.epswrap.clip .eps::after{display:none}
.page{max-width:none;padding:0}
section,.ep,.scard{page-break-inside:avoid}
body{background:#fff}
}
</style></head><body>
<div class="page">
<header class="hd">
<h1>闪婚老公藏不住了</h1>
<span class="sub">短剧改编大纲 · 60 集 × 1.5 分钟 · 女频·先婚后爱甜宠(身份马甲 + 打脸) · 抽核改编</span>
<span class="right">
<span class="gatepill pass">✓ 质量门 14 / 14</span>
<button class="expo" data-name="闪婚老公藏不住了-outline.json">导出 JSON</button>
</span>
</header>
<div class="kpis">
<div class="kpi accent"><div class="l">总集数</div><div class="v">60 <small>× 1.5 分钟</small></div><div class="d">正片约 90 分钟</div></div>
<div class="kpi"><div class="l">爽点</div><div class="v">31</div><div class="d">8 大爆点 · 最大间隔 3 集</div></div>
<div class="kpi"><div class="l">角色</div><div class="v">19</div><div class="d">主角 4 · 配角 7 · 功能 8</div></div>
<div class="kpi"><div class="l">主场景</div><div class="v">10 <small>+1</small></div><div class="d">无一次性场景</div></div>
<div class="kpi"><div class="l">生成难点</div><div class="v">115</div><div class="d">肢体接触 ×32(第 1、3、4、6、9、10、…</div></div>
<div class="kpi"><div class="l">改编幅度</div><div class="v mode">抽核</div><div class="d">砍 6 线 · 合 3 组</div></div>
</div>
<section id="sec-rhythm">
<div class="sec-h"><span class="no">01</span><h2>爽点节奏</h2></div>
<div class="tabs" role="tablist">
<button class="tab on" data-pane="pane-timeline">时间轴</button>
<button class="tab" data-pane="pane-table">明细表</button>
</div>
<div class="tabpane on" id="pane-timeline"><div class="chart rhythm">
<div class="legend">
<i><span class="dotk major"></span>大爆点</i>
<i><span class="dotk"></span>常规爽点</i>
</div>
<svg viewBox="0 0 1520 528" role="img" aria-label="爽点节奏">
<line class="axis" x1="30" y1="92" x2="1490" y2="92"/>
<line class="axis" x1="66.5" y1="88" x2="66.5" y2="96"/>
<line class="axis" x1="139.5" y1="88" x2="139.5" y2="96"/>
<line class="axis" x1="212.5" y1="88" x2="212.5" y2="96"/>
<line class="axis" x1="285.5" y1="88" x2="285.5" y2="96"/>
<line class="axis" x1="358.5" y1="88" x2="358.5" y2="96"/>
<line class="axis" x1="431.5" y1="88" x2="431.5" y2="96"/>
<line class="axis" x1="504.5" y1="88" x2="504.5" y2="96"/>
<line class="axis" x1="577.5" y1="88" x2="577.5" y2="96"/>
<line class="axis" x1="650.5" y1="88" x2="650.5" y2="96"/>
<line class="axis" x1="723.5" y1="88" x2="723.5" y2="96"/>
<line class="axis" x1="796.5" y1="88" x2="796.5" y2="96"/>
<line class="axis" x1="869.5" y1="88" x2="869.5" y2="96"/>
<line class="axis" x1="942.5" y1="88" x2="942.5" y2="96"/>
<line class="axis" x1="1015.5" y1="88" x2="1015.5" y2="96"/>
<line class="axis" x1="1088.5" y1="88" x2="1088.5" y2="96"/>
<line class="axis" x1="1161.5" y1="88" x2="1161.5" y2="96"/>
<line class="axis" x1="1234.5" y1="88" x2="1234.5" y2="96"/>
<line class="axis" x1="1307.5" y1="88" x2="1307.5" y2="96"/>
<line class="axis" x1="1380.5" y1="88" x2="1380.5" y2="96"/>
<line class="axis" x1="1453.5" y1="88" x2="1453.5" y2="96"/>
<line class="axis" x1="30" y1="268" x2="1490" y2="268"/>
<line class="axis" x1="66.5" y1="264" x2="66.5" y2="272"/>
<line class="axis" x1="139.5" y1="264" x2="139.5" y2="272"/>
<line class="axis" x1="212.5" y1="264" x2="212.5" y2="272"/>
<line class="axis" x1="285.5" y1="264" x2="285.5" y2="272"/>
<line class="axis" x1="358.5" y1="264" x2="358.5" y2="272"/>
<line class="axis" x1="431.5" y1="264" x2="431.5" y2="272"/>
<line class="axis" x1="504.5" y1="264" x2="504.5" y2="272"/>
<line class="axis" x1="577.5" y1="264" x2="577.5" y2="272"/>
<line class="axis" x1="650.5" y1="264" x2="650.5" y2="272"/>
<line class="axis" x1="723.5" y1="264" x2="723.5" y2="272"/>
<line class="axis" x1="796.5" y1="264" x2="796.5" y2="272"/>
<line class="axis" x1="869.5" y1="264" x2="869.5" y2="272"/>
<line class="axis" x1="942.5" y1="264" x2="942.5" y2="272"/>
<line class="axis" x1="1015.5" y1="264" x2="1015.5" y2="272"/>
<line class="axis" x1="1088.5" y1="264" x2="1088.5" y2="272"/>
<line class="axis" x1="1161.5" y1="264" x2="1161.5" y2="272"/>
<line class="axis" x1="1234.5" y1="264" x2="1234.5" y2="272"/>
<line class="axis" x1="1307.5" y1="264" x2="1307.5" y2="272"/>
<line class="axis" x1="1380.5" y1="264" x2="1380.5" y2="272"/>
<line class="axis" x1="1453.5" y1="264" x2="1453.5" y2="272"/>
<line class="axis" x1="30" y1="444" x2="1490" y2="444"/>
<line class="axis" x1="66.5" y1="440" x2="66.5" y2="448"/>
<line class="axis" x1="139.5" y1="440" x2="139.5" y2="448"/>
<line class="axis" x1="212.5" y1="440" x2="212.5" y2="448"/>
<line class="axis" x1="285.5" y1="440" x2="285.5" y2="448"/>
<line class="axis" x1="358.5" y1="440" x2="358.5" y2="448"/>
<line class="axis" x1="431.5" y1="440" x2="431.5" y2="448"/>
<line class="axis" x1="504.5" y1="440" x2="504.5" y2="448"/>
<line class="axis" x1="577.5" y1="440" x2="577.5" y2="448"/>
<line class="axis" x1="650.5" y1="440" x2="650.5" y2="448"/>
<line class="axis" x1="723.5" y1="440" x2="723.5" y2="448"/>
<line class="axis" x1="796.5" y1="440" x2="796.5" y2="448"/>
<line class="axis" x1="869.5" y1="440" x2="869.5" y2="448"/>
<line class="axis" x1="942.5" y1="440" x2="942.5" y2="448"/>
<line class="axis" x1="1015.5" y1="440" x2="1015.5" y2="448"/>
<line class="axis" x1="1088.5" y1="440" x2="1088.5" y2="448"/>
<line class="axis" x1="1161.5" y1="440" x2="1161.5" y2="448"/>
<line class="axis" x1="1234.5" y1="440" x2="1234.5" y2="448"/>
<line class="axis" x1="1307.5" y1="440" x2="1307.5" y2="448"/>
<line class="axis" x1="1380.5" y1="440" x2="1380.5" y2="448"/>
<line class="axis" x1="1453.5" y1="440" x2="1453.5" y2="448"/>
<text class="gapnote" x="139.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="358.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="577.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="723.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="869.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1088.5" y="80" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1271" y="80" text-anchor="middle">— 2 集空档 —</text>
<text class="gapnote" x="285.5" y="256" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="431.5" y="256" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="577.5" y="256" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="760" y="256" text-anchor="middle">— 2 集空档 —</text>
<text class="gapnote" x="979" y="256" text-anchor="middle">— 2 集空档 —</text>
<text class="gapnote" x="1161.5" y="256" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1307.5" y="256" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="212.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="358.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="504.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="650.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="796.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="942.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1088.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1234.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<text class="gapnote" x="1380.5" y="432" text-anchor="middle">— 1 集空档 —</text>
<line class="stem" x1="66.5" y1="92" x2="66.5" y2="62"/>
<circle class="bdot" cx="66.5" cy="56" r="6"><title>B01 闪婚反杀|周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表 → 苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过</title></circle>
<text class="blabel" x="66.5" y="34" text-anchor="middle">闪婚反杀</text>
<text class="bsub" x="66.5" y="20" text-anchor="middle">周子昂搂着苏晴当众退婚,嘲笑…</text>
<line class="stem" x1="212.5" y1="92" x2="212.5" y2="122"/>
<circle class="bdot" cx="212.5" cy="128" r="6"><title>B02 打脸|继母带苏晴上门收铺,说铺子已抵给周家 → 苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的</title></circle>
<text class="blabel" x="212.5" y="150" text-anchor="middle">打脸</text>
<text class="bsub" x="212.5" y="164" text-anchor="middle">继母带苏晴上门收铺,说铺子已…</text>
<line class="stem" x1="285.5" y1="92" x2="285.5" y2="62"/>
<circle class="bdot" cx="285.5" cy="56" r="6"><title>B03 长辈认可|苏念带桂花糕去医院见奶奶,以为要被挑剔 → 奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术</title></circle>
<text class="blabel" x="285.5" y="34" text-anchor="middle">长辈认可</text>
<text class="bsub" x="285.5" y="20" text-anchor="middle">苏念带桂花糕去医院见奶奶,以…</text>
<line class="stem" x1="431.5" y1="92" x2="431.5" y2="122"/>
<circle class="bdot" cx="431.5" cy="128" r="6"><title>B04 护妻|混混在苏记门口泼漆摘招牌 → 顾承宴赶到录证报警,混混落荒而逃,招牌挂回去</title></circle>
<text class="blabel" x="431.5" y="150" text-anchor="middle">护妻</text>
<text class="bsub" x="431.5" y="164" text-anchor="middle">混混在苏记门口泼漆摘招牌</text>
<line class="stem" x1="504.5" y1="92" x2="504.5" y2="62"/>
<circle class="bdot" cx="504.5" cy="56" r="6"><title>B05 打脸|苏家寿宴上继母嘲讽顾承宴的茶叶寒酸 → 懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去</title></circle>
<text class="blabel" x="504.5" y="34" text-anchor="middle">打脸</text>
<text class="bsub" x="504.5" y="20" text-anchor="middle">苏家寿宴上继母嘲讽顾承宴的茶…</text>
<line class="stem major" x1="650.5" y1="92" x2="650.5" y2="127"/>
<circle class="bdot major" cx="650.5" cy="136" r="9"><title>B06 打脸|订婚宴上苏晴栽赃苏念偷钻戒,全场围观 → 酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑</title></circle>
<text class="blabel" x="650.5" y="158" text-anchor="middle">打脸</text>
<text class="bsub" x="650.5" y="172" text-anchor="middle">订婚宴上苏晴栽赃苏念偷钻戒,…</text>
<line class="stem" x1="796.5" y1="92" x2="796.5" y2="62"/>
<circle class="bdot" cx="796.5" cy="56" r="6"><title>B07 反转|拆迁通知落款顾氏总裁,三天后强拆 → 顾承宴查出是二叔伪签,当场叫停拆迁</title></circle>
<text class="blabel" x="796.5" y="34" text-anchor="middle">反转</text>
<text class="bsub" x="796.5" y="20" text-anchor="middle">拆迁通知落款顾氏总裁,三天后…</text>
<line class="stem" x1="942.5" y1="92" x2="942.5" y2="122"/>
<circle class="bdot" cx="942.5" cy="128" r="6"><title>B08 打脸|林薇薇上门自称顾承宴未婚妻,羞辱苏念 → 苏念亮出结婚证,林薇薇当场哑火</title></circle>
<text class="blabel" x="942.5" y="150" text-anchor="middle">打脸</text>
<text class="bsub" x="942.5" y="164" text-anchor="middle">林薇薇上门自称顾承宴未婚妻,…</text>
<line class="stem" x1="1015.5" y1="92" x2="1015.5" y2="62"/>
<circle class="bdot" cx="1015.5" cy="56" r="6"><title>B09 撒糖|苏念吃醋质问林薇薇的事,协议写着互不动心 → 停电夜意外的初吻</title></circle>
<text class="blabel" x="1015.5" y="34" text-anchor="middle">撒糖</text>
<text class="bsub" x="1015.5" y="20" text-anchor="middle">苏念吃醋质问林薇薇的事,协议…</text>
<line class="stem" x1="1161.5" y1="92" x2="1161.5" y2="122"/>
<circle class="bdot" cx="1161.5" cy="128" r="6"><title>B10 护妻|苏念去顾氏送饭,被前台当成蹭饭的赶出去 → 顾承宴下楼当众牵她进电梯,前台被调岗</title></circle>
<text class="blabel" x="1161.5" y="150" text-anchor="middle">护妻</text>
<text class="bsub" x="1161.5" y="164" text-anchor="middle">苏念去顾氏送饭,被前台当成蹭…</text>
<line class="stem major" x1="1380.5" y1="92" x2="1380.5" y2="57"/>
<circle class="bdot major" cx="1380.5" cy="48" r="9"><title>B11 反转|寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯 → 奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑</title></circle>
<text class="blabel" x="1380.5" y="26" text-anchor="middle">反转</text>
<text class="bsub" x="1380.5" y="12" text-anchor="middle">寿宴上林薇薇与苏晴设局,诬陷…</text>
<line class="stem major" x1="1453.5" y1="92" x2="1453.5" y2="127"/>
<circle class="bdot major" cx="1453.5" cy="136" r="9"><title>B12 身份揭破|主持人宣布有请顾氏集团总裁致辞 → 走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上</title></circle>
<text class="blabel" x="1453.5" y="158" text-anchor="middle">身份揭破</text>
<text class="bsub" x="1453.5" y="172" text-anchor="middle">主持人宣布有请顾氏集团总裁致…</text>
<line class="stem" x1="212.5" y1="268" x2="212.5" y2="238"/>
<circle class="bdot" cx="212.5" cy="232" r="6"><title>B13 真相澄清|苏念认定他骗婚就是为了拆铺子 → 律师当面鉴定拆迁合同上的签名是伪造的</title></circle>
<text class="blabel" x="212.5" y="210" text-anchor="middle">真相澄清</text>
<text class="bsub" x="212.5" y="196" text-anchor="middle">苏念认定他骗婚就是为了拆铺子</text>
<line class="stem" x1="358.5" y1="268" x2="358.5" y2="298"/>
<circle class="bdot" cx="358.5" cy="304" r="6"><title>B14 追妻撒糖|冷战中的苏念搬回点心铺 → 顾承宴在铺子门口学做桂花糕,苏念心软同意回家</title></circle>
<text class="blabel" x="358.5" y="326" text-anchor="middle">追妻撒糖</text>
<text class="bsub" x="358.5" y="340" text-anchor="middle">冷战中的苏念搬回点心铺</text>
<line class="stem" x1="504.5" y1="268" x2="504.5" y2="238"/>
<circle class="bdot" cx="504.5" cy="232" r="6"><title>B15 打脸|周子昂得知被苏晴骗,回头纠缠苏念 → 顾承宴一个电话终止周家所有分包,周子昂当场跪求</title></circle>
<text class="blabel" x="504.5" y="210" text-anchor="middle">打脸</text>
<text class="bsub" x="504.5" y="196" text-anchor="middle">周子昂得知被苏晴骗,回头纠缠…</text>
<line class="stem major" x1="650.5" y1="268" x2="650.5" y2="303"/>
<circle class="bdot major" cx="650.5" cy="312" r="9"><title>B16 反转|苏记被栽赃食物中毒,铺子被封、苏念被网暴 → 唐果直播放出监控,投毒的是二叔的人,苏记解封</title></circle>
<text class="blabel" x="650.5" y="334" text-anchor="middle">反转</text>
<text class="bsub" x="650.5" y="348" text-anchor="middle">苏记被栽赃食物中毒,铺子被封…</text>
<line class="stem" x1="869.5" y1="268" x2="869.5" y2="238"/>
<circle class="bdot" cx="869.5" cy="232" r="6"><title>B17 打脸|大赛海选,苏晴嘲笑苏念的手工点心土气 → 苏念以海选第一晋级,苏晴压线</title></circle>
<text class="blabel" x="869.5" y="210" text-anchor="middle">打脸</text>
<text class="bsub" x="869.5" y="196" text-anchor="middle">大赛海选,苏晴嘲笑苏念的手工…</text>
<line class="stem" x1="1088.5" y1="268" x2="1088.5" y2="298"/>
<circle class="bdot" cx="1088.5" cy="304" r="6"><title>B18 反转|半决赛苏念的原料被调包 → 苏念临场改做外婆的老式点心,反超晋级</title></circle>
<text class="blabel" x="1088.5" y="326" text-anchor="middle">反转</text>
<text class="bsub" x="1088.5" y="340" text-anchor="middle">半决赛苏念的原料被调包</text>
<line class="stem" x1="1234.5" y1="268" x2="1234.5" y2="238"/>
<circle class="bdot" cx="1234.5" cy="232" r="6"><title>B19 撒糖|被收买的评委当众质疑苏念走后门 → 顾承宴宣布退出赞助回避,只坐观众席为她加油</title></circle>
<text class="blabel" x="1234.5" y="210" text-anchor="middle">撒糖</text>
<text class="bsub" x="1234.5" y="196" text-anchor="middle">被收买的评委当众质疑苏念走后…</text>
<line class="stem major" x1="1380.5" y1="268" x2="1380.5" y2="303"/>
<circle class="bdot major" cx="1380.5" cy="312" r="9"><title>B20 夺冠打脸|苏晴用偷来的秘方与苏念同台决赛 → 苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买</title></circle>
<text class="blabel" x="1380.5" y="334" text-anchor="middle">夺冠打脸</text>
<text class="bsub" x="1380.5" y="348" text-anchor="middle">苏晴用偷来的秘方与苏念同台决…</text>
<line class="stem" x1="1453.5" y1="268" x2="1453.5" y2="238"/>
<circle class="bdot" cx="1453.5" cy="232" r="6"><title>B21 揭秘|苏念整理铁皮盒,发现夹层 → 旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷</title></circle>
<text class="blabel" x="1453.5" y="210" text-anchor="middle">揭秘</text>
<text class="bsub" x="1453.5" y="196" text-anchor="middle">苏念整理铁皮盒,发现夹层</text>
<line class="stem" x1="139.5" y1="444" x2="139.5" y2="474"/>
<circle class="bdot" cx="139.5" cy="480" r="6"><title>B22 相认撒糖|苏念拿照片问顾承宴 → 顾承宴承认自己就是那个少年,十五年只记得这一口甜</title></circle>
<text class="blabel" x="139.5" y="502" text-anchor="middle">相认撒糖</text>
<text class="bsub" x="139.5" y="516" text-anchor="middle">苏念拿照片问顾承宴</text>
<line class="stem major" x1="285.5" y1="444" x2="285.5" y2="409"/>
<circle class="bdot major" cx="285.5" cy="400" r="9"><title>B23 反转|二叔联合林薇薇在董事会发难,要罢免顾承宴 → 苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股</title></circle>
<text class="blabel" x="285.5" y="378" text-anchor="middle">反转</text>
<text class="bsub" x="285.5" y="364" text-anchor="middle">二叔联合林薇薇在董事会发难,…</text>
<line class="stem" x1="431.5" y1="444" x2="431.5" y2="474"/>
<circle class="bdot" cx="431.5" cy="480" r="6"><title>B24 倒戈|苏晴被二叔和周子昂一起抛弃 → 苏晴把偷录二叔的录音笔交给苏念</title></circle>
<text class="blabel" x="431.5" y="502" text-anchor="middle">倒戈</text>
<text class="bsub" x="431.5" y="516" text-anchor="middle">苏晴被二叔和周子昂一起抛弃</text>
<line class="stem" x1="577.5" y1="444" x2="577.5" y2="414"/>
<circle class="bdot" cx="577.5" cy="408" r="6"><title>B25 虐心误会|契约到期前夜,苏念听见顾承宴说协议到期就结束 → 苏念默默收拾行李,约他去民政局</title></circle>
<text class="blabel" x="577.5" y="386" text-anchor="middle">虐心误会</text>
<text class="bsub" x="577.5" y="372" text-anchor="middle">契约到期前夜,苏念听见顾承宴…</text>
<line class="stem" x1="723.5" y1="444" x2="723.5" y2="474"/>
<circle class="bdot" cx="723.5" cy="480" r="6"><title>B26 危机|苏念在民政局等不到人 → 电话打来:顾承宴的车刹车失灵,正在抢救</title></circle>
<text class="blabel" x="723.5" y="502" text-anchor="middle">危机</text>
<text class="bsub" x="723.5" y="516" text-anchor="middle">苏念在民政局等不到人</text>
<line class="stem" x1="869.5" y1="444" x2="869.5" y2="414"/>
<circle class="bdot" cx="869.5" cy="408" r="6"><title>B27 将计就计|二叔以为顾承宴昏迷,接管集团 → 顾承宴醒来与苏念联手装病,引二叔现形</title></circle>
<text class="blabel" x="869.5" y="386" text-anchor="middle">将计就计</text>
<text class="bsub" x="869.5" y="372" text-anchor="middle">二叔以为顾承宴昏迷,接管集团</text>
<line class="stem" x1="1015.5" y1="444" x2="1015.5" y2="474"/>
<circle class="bdot" cx="1015.5" cy="480" r="6"><title>B28 寻证|当年绑匪下落不明 → 陈默找到当年绑匪,对方愿意作证</title></circle>
<text class="blabel" x="1015.5" y="502" text-anchor="middle">寻证</text>
<text class="bsub" x="1015.5" y="516" text-anchor="middle">当年绑匪下落不明</text>
<line class="stem major" x1="1161.5" y1="444" x2="1161.5" y2="409"/>
<circle class="bdot major" cx="1161.5" cy="400" r="9"><title>B29 揭破|二叔把苏念绑进仓库逼要录音笔 → 顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网</title></circle>
<text class="blabel" x="1161.5" y="378" text-anchor="middle">揭破</text>
<text class="bsub" x="1161.5" y="364" text-anchor="middle">二叔把苏念绑进仓库逼要录音笔</text>
<line class="stem major" x1="1307.5" y1="444" x2="1307.5" y2="479"/>
<circle class="bdot major" cx="1307.5" cy="488" r="9"><title>B30 撒糖求婚|协议到期那天,苏念拿出婚前协议 → 顾承宴当面撕掉协议,用一盒桂花糕重新求婚</title></circle>
<text class="blabel" x="1307.5" y="510" text-anchor="middle">撒糖求婚</text>
<text class="bsub" x="1307.5" y="524" text-anchor="middle">协议到期那天,苏念拿出婚前协…</text>
<line class="stem" x1="1453.5" y1="444" x2="1453.5" y2="414"/>
<circle class="bdot" cx="1453.5" cy="408" r="6"><title>B31 圆满|老街保住,苏记招牌重新挂起 → 老街补办婚礼,一年后苏记开了第二家店</title></circle>
<text class="blabel" x="1453.5" y="386" text-anchor="middle">圆满</text>
<text class="bsub" x="1453.5" y="372" text-anchor="middle">老街保住,苏记招牌重新挂起</text>
<text class="tick" x="66.5" y="112" text-anchor="middle">1</text>
<text class="tick" x="139.5" y="112" text-anchor="middle">2</text>
<text class="tick" x="212.5" y="112" text-anchor="middle">3</text>
<text class="tick" x="285.5" y="112" text-anchor="middle">4</text>
<text class="tick" x="358.5" y="112" text-anchor="middle">5</text>
<text class="tick" x="431.5" y="112" text-anchor="middle">6</text>
<text class="tick" x="504.5" y="112" text-anchor="middle">7</text>
<text class="tick" x="577.5" y="112" text-anchor="middle">8</text>
<text class="tick" x="650.5" y="112" text-anchor="middle">9</text>
<text class="tick" x="723.5" y="112" text-anchor="middle">10</text>
<text class="tick" x="796.5" y="112" text-anchor="middle">11</text>
<text class="tick" x="869.5" y="112" text-anchor="middle">12</text>
<text class="tick" x="942.5" y="112" text-anchor="middle">13</text>
<text class="tick" x="1015.5" y="112" text-anchor="middle">14</text>
<text class="tick" x="1088.5" y="112" text-anchor="middle">15</text>
<text class="tick" x="1161.5" y="112" text-anchor="middle">16</text>
<text class="tick" x="1234.5" y="112" text-anchor="middle">17</text>
<text class="tick" x="1307.5" y="112" text-anchor="middle">18</text>
<text class="tick" x="1380.5" y="112" text-anchor="middle">19</text>
<text class="tick" x="1453.5" y="112" text-anchor="middle">20</text>
<text class="tick" x="66.5" y="288" text-anchor="middle">21</text>
<text class="tick" x="139.5" y="288" text-anchor="middle">22</text>
<text class="tick" x="212.5" y="288" text-anchor="middle">23</text>
<text class="tick" x="285.5" y="288" text-anchor="middle">24</text>
<text class="tick" x="358.5" y="288" text-anchor="middle">25</text>
<text class="tick" x="431.5" y="288" text-anchor="middle">26</text>
<text class="tick" x="504.5" y="288" text-anchor="middle">27</text>
<text class="tick" x="577.5" y="288" text-anchor="middle">28</text>
<text class="tick" x="650.5" y="288" text-anchor="middle">29</text>
<text class="tick" x="723.5" y="288" text-anchor="middle">30</text>
<text class="tick" x="796.5" y="288" text-anchor="middle">31</text>
<text class="tick" x="869.5" y="288" text-anchor="middle">32</text>
<text class="tick" x="942.5" y="288" text-anchor="middle">33</text>
<text class="tick" x="1015.5" y="288" text-anchor="middle">34</text>
<text class="tick" x="1088.5" y="288" text-anchor="middle">35</text>
<text class="tick" x="1161.5" y="288" text-anchor="middle">36</text>
<text class="tick" x="1234.5" y="288" text-anchor="middle">37</text>
<text class="tick" x="1307.5" y="288" text-anchor="middle">38</text>
<text class="tick" x="1380.5" y="288" text-anchor="middle">39</text>
<text class="tick" x="1453.5" y="288" text-anchor="middle">40</text>
<text class="tick" x="66.5" y="464" text-anchor="middle">41</text>
<text class="tick" x="139.5" y="464" text-anchor="middle">42</text>
<text class="tick" x="212.5" y="464" text-anchor="middle">43</text>
<text class="tick" x="285.5" y="464" text-anchor="middle">44</text>
<text class="tick" x="358.5" y="464" text-anchor="middle">45</text>
<text class="tick" x="431.5" y="464" text-anchor="middle">46</text>
<text class="tick" x="504.5" y="464" text-anchor="middle">47</text>
<text class="tick" x="577.5" y="464" text-anchor="middle">48</text>
<text class="tick" x="650.5" y="464" text-anchor="middle">49</text>
<text class="tick" x="723.5" y="464" text-anchor="middle">50</text>
<text class="tick" x="796.5" y="464" text-anchor="middle">51</text>
<text class="tick" x="869.5" y="464" text-anchor="middle">52</text>
<text class="tick" x="942.5" y="464" text-anchor="middle">53</text>
<text class="tick" x="1015.5" y="464" text-anchor="middle">54</text>
<text class="tick" x="1088.5" y="464" text-anchor="middle">55</text>
<text class="tick" x="1161.5" y="464" text-anchor="middle">56</text>
<text class="tick" x="1234.5" y="464" text-anchor="middle">57</text>
<text class="tick" x="1307.5" y="464" text-anchor="middle">58</text>
<text class="tick" x="1380.5" y="464" text-anchor="middle">59</text>
<text class="tick" x="1453.5" y="464" text-anchor="middle">60</text>
</svg>
</div></div>
<div class="tabpane" id="pane-table">
<table><thead><tr><th>ID</th><th>类型</th><th>量级</th><th>集</th><th>铺垫</th><th>兑现</th></tr></thead>
<tbody><tr><td>B01</td><td>闪婚反杀</td><td>常规</td><td>1</td><td>周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表</td><td>苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过</td></tr>
<tr><td>B02</td><td>打脸</td><td>常规</td><td>3</td><td>继母带苏晴上门收铺,说铺子已抵给周家</td><td>苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的</td></tr>
<tr><td>B03</td><td>长辈认可</td><td>常规</td><td>4</td><td>苏念带桂花糕去医院见奶奶,以为要被挑剔</td><td>奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术</td></tr>
<tr><td>B04</td><td>护妻</td><td>常规</td><td>6</td><td>混混在苏记门口泼漆摘招牌</td><td>顾承宴赶到录证报警,混混落荒而逃,招牌挂回去</td></tr>
<tr><td>B05</td><td>打脸</td><td>常规</td><td>7</td><td>苏家寿宴上继母嘲讽顾承宴的茶叶寒酸</td><td>懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去</td></tr>
<tr><td>B06</td><td>打脸</td><td>大爆点</td><td>9</td><td>订婚宴上苏晴栽赃苏念偷钻戒,全场围观</td><td>酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑</td></tr>
<tr><td>B07</td><td>反转</td><td>常规</td><td>11</td><td>拆迁通知落款顾氏总裁,三天后强拆</td><td>顾承宴查出是二叔伪签,当场叫停拆迁</td></tr>
<tr><td>B08</td><td>打脸</td><td>常规</td><td>13</td><td>林薇薇上门自称顾承宴未婚妻,羞辱苏念</td><td>苏念亮出结婚证,林薇薇当场哑火</td></tr>
<tr><td>B09</td><td>撒糖</td><td>常规</td><td>14</td><td>苏念吃醋质问林薇薇的事,协议写着互不动心</td><td>停电夜意外的初吻</td></tr>
<tr><td>B10</td><td>护妻</td><td>常规</td><td>16</td><td>苏念去顾氏送饭,被前台当成蹭饭的赶出去</td><td>顾承宴下楼当众牵她进电梯,前台被调岗</td></tr>
<tr><td>B11</td><td>反转</td><td>大爆点</td><td>19</td><td>寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯</td><td>奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑</td></tr>
<tr><td>B12</td><td>身份揭破</td><td>大爆点</td><td>20</td><td>主持人宣布有请顾氏集团总裁致辞</td><td>走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上</td></tr>
<tr><td>B13</td><td>真相澄清</td><td>常规</td><td>23</td><td>苏念认定他骗婚就是为了拆铺子</td><td>律师当面鉴定拆迁合同上的签名是伪造的</td></tr>
<tr><td>B14</td><td>追妻撒糖</td><td>常规</td><td>25</td><td>冷战中的苏念搬回点心铺</td><td>顾承宴在铺子门口学做桂花糕,苏念心软同意回家</td></tr>
<tr><td>B15</td><td>打脸</td><td>常规</td><td>27</td><td>周子昂得知被苏晴骗,回头纠缠苏念</td><td>顾承宴一个电话终止周家所有分包,周子昂当场跪求</td></tr>
<tr><td>B16</td><td>反转</td><td>大爆点</td><td>29</td><td>苏记被栽赃食物中毒,铺子被封、苏念被网暴</td><td>唐果直播放出监控,投毒的是二叔的人,苏记解封</td></tr>
<tr><td>B17</td><td>打脸</td><td>常规</td><td>32</td><td>大赛海选,苏晴嘲笑苏念的手工点心土气</td><td>苏念以海选第一晋级,苏晴压线</td></tr>
<tr><td>B18</td><td>反转</td><td>常规</td><td>35</td><td>半决赛苏念的原料被调包</td><td>苏念临场改做外婆的老式点心,反超晋级</td></tr>
<tr><td>B19</td><td>撒糖</td><td>常规</td><td>37</td><td>被收买的评委当众质疑苏念走后门</td><td>顾承宴宣布退出赞助回避,只坐观众席为她加油</td></tr>
<tr><td>B20</td><td>夺冠打脸</td><td>大爆点</td><td>39</td><td>苏晴用偷来的秘方与苏念同台决赛</td><td>苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买</td></tr>
<tr><td>B21</td><td>揭秘</td><td>常规</td><td>40</td><td>苏念整理铁皮盒,发现夹层</td><td>旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷</td></tr>
<tr><td>B22</td><td>相认撒糖</td><td>常规</td><td>42</td><td>苏念拿照片问顾承宴</td><td>顾承宴承认自己就是那个少年,十五年只记得这一口甜</td></tr>
<tr><td>B23</td><td>反转</td><td>大爆点</td><td>44</td><td>二叔联合林薇薇在董事会发难,要罢免顾承宴</td><td>苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股</td></tr>
<tr><td>B24</td><td>倒戈</td><td>常规</td><td>46</td><td>苏晴被二叔和周子昂一起抛弃</td><td>苏晴把偷录二叔的录音笔交给苏念</td></tr>
<tr><td>B25</td><td>虐心误会</td><td>常规</td><td>48</td><td>契约到期前夜,苏念听见顾承宴说协议到期就结束</td><td>苏念默默收拾行李,约他去民政局</td></tr>
<tr><td>B26</td><td>危机</td><td>常规</td><td>50</td><td>苏念在民政局等不到人</td><td>电话打来:顾承宴的车刹车失灵,正在抢救</td></tr>
<tr><td>B27</td><td>将计就计</td><td>常规</td><td>52</td><td>二叔以为顾承宴昏迷,接管集团</td><td>顾承宴醒来与苏念联手装病,引二叔现形</td></tr>
<tr><td>B28</td><td>寻证</td><td>常规</td><td>54</td><td>当年绑匪下落不明</td><td>陈默找到当年绑匪,对方愿意作证</td></tr>
<tr><td>B29</td><td>揭破</td><td>大爆点</td><td>56</td><td>二叔把苏念绑进仓库逼要录音笔</td><td>顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网</td></tr>
<tr><td>B30</td><td>撒糖求婚</td><td>大爆点</td><td>58</td><td>协议到期那天,苏念拿出婚前协议</td><td>顾承宴当面撕掉协议,用一盒桂花糕重新求婚</td></tr>
<tr><td>B31</td><td>圆满</td><td>常规</td><td>60</td><td>老街保住,苏记招牌重新挂起</td><td>老街补办婚礼,一年后苏记开了第二家店</td></tr></tbody></table>
</div>
</section>
<section id="sec-episodes">
<div class="sec-h"><span class="no">02</span><h2>分集概览</h2><span class="note">核心交付 · 每集三栏齐全</span></div>
<div class="epswrap clip">
<div class="eps">
<article class="ep" id="ep-1">
<span class="num">1</span>
<header><b>第 1 集</b><i class="bt">闪婚反杀</i></header>
<p class="syn">苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。</p>
<div class="hk"><b>钩子</b><span>刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?</span></div>
<div class="hk"><b>悬念</b><span>顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。</span></div>
<div class="meta"><i>S01</i><i>C01</i><i>C05</i><i>C03</i><i>C02</i><i>C12</i><i class="warn">肢体接触</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-2">
<span class="num">2</span>
<header><b>第 2 集</b></header>
<p class="syn">小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。</p>
<div class="hk"><b>钩子</b><span>他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?</span></div>
<div class="hk"><b>悬念</b><span>顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。</span></div>
<div class="meta"><i>S03</i><i>C02</i><i>C01</i><i class="warn">手部特写</i><i class="warn" title="两人戏,无三人同框,一场拍完。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-3">
<span class="num">3</span>
<header><b>第 3 集</b><i class="bt">打脸</i></header>
<p class="syn">继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。</p>
<div class="hk"><b>钩子</b><span>苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?</span></div>
<div class="hk"><b>悬念</b><span>老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。</span></div>
<div class="meta"><i>S02</i><i>C06</i><i>C03</i><i>C01</i><i class="warn">手部特写</i><i class="warn">肢体接触</i><i class="warn" title="一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-4">
<span class="num">4</span>
<header><b>第 4 集</b><i class="bt">长辈认可</i></header>
<p class="syn">苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。</p>
<div class="hk"><b>钩子</b><span>奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?</span></div>
<div class="hk"><b>悬念</b><span>奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。</span></div>
<div class="meta"><i>S07</i><i>C01</i><i>C02</i><i>C08</i><i>C13</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-5">
<span class="num">5</span>
<header><b>第 5 集</b></header>
<p class="syn">同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。</p>
<div class="hk"><b>钩子</b><span>苏念收到唐果的消息,铺子出事了,出了什么事?</span></div>
<div class="hk"><b>悬念</b><span>陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i>C09</i><i class="warn">手部特写</i><i class="warn" title="夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-6">
<span class="num">6</span>
<header><b>第 6 集</b><i class="bt">护妻</i></header>
<p class="syn">苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。</p>
<div class="hk"><b>钩子</b><span>苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么?</span></div>
<div class="hk"><b>悬念</b><span>拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。</span></div>
<div class="meta"><i>S09</i><i>S02</i><i>C15</i><i>C01</i><i>C02</i><i>C03</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-7">
<span class="num">7</span>
<header><b>第 7 集</b><i class="bt">打脸</i></header>
<p class="syn">苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。</p>
<div class="hk"><b>钩子</b><span>苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局?</span></div>
<div class="hk"><b>悬念</b><span>一个打工的哪来的母树茶;苏晴订婚宴上的算计。</span></div>
<div class="meta"><i>S06</i><i>C07</i><i>C06</i><i>C03</i><i>C05</i><i>C01</i><i>C02</i><i class="warn">手部特写</i><i class="warn" title="六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-8">
<span class="num">8</span>
<header><b>第 8 集</b></header>
<p class="syn">苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。</p>
<div class="hk"><b>钩子</b><span>苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么?</span></div>
<div class="hk"><b>悬念</b><span>订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。</span></div>
<div class="meta"><i>S02</i><i>C03</i><i>C10</i><i>C01</i><i>C02</i><i>C05</i><i class="warn">手部特写</i><i class="warn" title="分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-9">
<span class="num">9</span>
<header><b>第 9 集</b><i class="bt major">打脸</i></header>
<p class="syn">订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。</p>
<div class="hk"><b>钩子</b><span>周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么?</span></div>
<div class="hk"><b>悬念</b><span>酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。</span></div>
<div class="meta"><i>S08</i><i>C03</i><i>C05</i><i>C01</i><i>C02</i><i>C14</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn">肢体接触</i><i class="warn" title="分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-10">
<span class="num">10</span>
<header><b>第 10 集</b></header>
<p class="syn">奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。</p>
<div class="hk"><b>钩子</b><span>【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记?</span></div>
<div class="hk"><b>悬念</b><span>伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。</span></div>
<div class="meta"><i>S07</i><i>S02</i><i>C08</i><i>C01</i><i>C02</i><i>C15</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-11">
<span class="num">11</span>
<header><b>第 11 集</b><i class="bt">反转</i></header>
<p class="syn">顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。</p>
<div class="hk"><b>钩子</b><span>二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么?</span></div>
<div class="hk"><b>悬念</b><span>二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。</span></div>
<div class="meta"><i>S04</i><i>C02</i><i>C09</i><i>C04</i><i class="warn">手部特写</i><i class="warn" title="总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-12">
<span class="num">12</span>
<header><b>第 12 集</b></header>
<p class="syn">拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。</p>
<div class="hk"><b>钩子</b><span>门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁?</span></div>
<div class="hk"><b>悬念</b><span>唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。</span></div>
<div class="meta"><i>S09</i><i>S02</i><i>C15</i><i>C01</i><i>C02</i><i>C10</i><i>C11</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-13">
<span class="num">13</span>
<header><b>第 13 集</b><i class="bt">打脸</i></header>
<p class="syn">林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。</p>
<div class="hk"><b>钩子</b><span>林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念?</span></div>
<div class="hk"><b>悬念</b><span>林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。</span></div>
<div class="meta"><i>S02</i><i>C11</i><i>C01</i><i>C03</i><i class="warn">手部特写</i><i class="warn" title="店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-14">
<span class="num">14</span>
<header><b>第 14 集</b><i class="bt">撒糖</i></header>
<p class="syn">苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。</p>
<div class="hk"><b>钩子</b><span>来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗?</span></div>
<div class="hk"><b>悬念</b><span>两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-15">
<span class="num">15</span>
<header><b>第 15 集</b></header>
<p class="syn">奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。</p>
<div class="hk"><b>钩子</b><span>苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么?</span></div>
<div class="hk"><b>悬念</b><span>林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。</span></div>
<div class="meta"><i>S07</i><i>S02</i><i>C08</i><i>C01</i><i>C10</i><i>C03</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-16">
<span class="num">16</span>
<header><b>第 16 集</b><i class="bt">护妻</i></header>
<p class="syn">苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。</p>
<div class="hk"><b>钩子</b><span>二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗?</span></div>
<div class="hk"><b>悬念</b><span>顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。</span></div>
<div class="meta"><i>S04</i><i>C01</i><i>C02</i><i>C09</i><i>C04</i><i class="warn">肢体接触</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-17">
<span class="num">17</span>
<header><b>第 17 集</b></header>
<p class="syn">奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。</p>
<div class="hk"><b>钩子</b><span>坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗?</span></div>
<div class="hk"><b>悬念</b><span>奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。</span></div>
<div class="meta"><i>S05</i><i>S03</i><i>C08</i><i>C04</i><i>C02</i><i>C01</i><i class="warn">手部特写</i><i class="warn" title="分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-18">
<span class="num">18</span>
<header><b>第 18 集</b></header>
<p class="syn">奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。</p>
<div class="hk"><b>钩子</b><span>一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白?</span></div>
<div class="hk"><b>悬念</b><span>顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。</span></div>
<div class="meta"><i>S08</i><i>C08</i><i>C01</i><i>C11</i><i>C03</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-19">
<span class="num">19</span>
<header><b>第 19 集</b><i class="bt major">反转</i></header>
<p class="syn">宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。</p>
<div class="hk"><b>钩子</b><span>主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁?</span></div>
<div class="hk"><b>悬念</b><span>苏念仍不知道丈夫的身份;顾氏总裁即将登台。</span></div>
<div class="meta"><i>S08</i><i>C01</i><i>C11</i><i>C03</i><i>C08</i><i>C14</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-20">
<span class="num">20</span>
<header><b>第 20 集</b><i class="bt major">身份揭破</i></header>
<p class="syn">苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。</p>
<div class="hk"><b>钩子</b><span>【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗?</span></div>
<div class="hk"><b>悬念</b><span>苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。</span></div>
<div class="meta"><i>S08</i><i>C01</i><i>C02</i><i>C08</i><i>C14</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-21">
<span class="num">21</span>
<header><b>第 21 集</b></header>
<p class="syn">宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。</p>
<div class="hk"><b>钩子</b><span>签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗?</span></div>
<div class="hk"><b>悬念</b><span>拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。</span></div>
<div class="meta"><i>S09</i><i>S03</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-22">
<span class="num">22</span>
<header><b>第 22 集</b></header>
<p class="syn">苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。</p>
<div class="hk"><b>钩子</b><span>苏晴给二叔报信,两人下一步要趁冷战对苏记做什么?</span></div>
<div class="hk"><b>悬念</b><span>苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i>C02</i><i>C09</i><i>C03</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-23">
<span class="num">23</span>
<header><b>第 23 集</b><i class="bt">真相澄清</i></header>
<p class="syn">顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。</p>
<div class="hk"><b>钩子</b><span>听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁?</span></div>
<div class="hk"><b>悬念</b><span>外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i>C02</i><i>C19</i><i class="warn">手部特写</i><i class="warn" title="柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-24">
<span class="num">24</span>
<header><b>第 24 集</b></header>
<p class="syn">苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。</p>
<div class="hk"><b>钩子</b><span>被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么?</span></div>
<div class="hk"><b>悬念</b><span>刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。</span></div>
<div class="meta"><i>S02</i><i>S06</i><i>C07</i><i>C06</i><i>C01</i><i class="warn">肢体接触</i><i class="warn" title="分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-25">
<span class="num">25</span>
<header><b>第 25 集</b><i class="bt">追妻撒糖</i></header>
<p class="syn">顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。</p>
<div class="hk"><b>钩子</b><span>和好后回家的路上,那辆一直远远跟着的车里坐的是谁?</span></div>
<div class="hk"><b>悬念</b><span>跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。</span></div>
<div class="meta"><i>S02</i><i>S09</i><i>C02</i><i>C01</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-26">
<span class="num">26</span>
<header><b>第 26 集</b></header>
<p class="syn">和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。</p>
<div class="hk"><b>钩子</b><span>周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么?</span></div>
<div class="hk"><b>悬念</b><span>苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i>C05</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-27">
<span class="num">27</span>
<header><b>第 27 集</b><i class="bt">打脸</i></header>
<p class="syn">老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。</p>
<div class="hk"><b>钩子</b><span>周子昂被拖走前喊出苏晴背后另有其人,那个人是谁?</span></div>
<div class="hk"><b>悬念</b><span>苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。</span></div>
<div class="meta"><i>S09</i><i>C05</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn" title="纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-28">
<span class="num">28</span>
<header><b>第 28 集</b></header>
<p class="syn">苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。</p>
<div class="hk"><b>钩子</b><span>这包不属于苏记的添加剂,是谁趁夜放进后厨的?</span></div>
<div class="hk"><b>悬念</b><span>投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i>C10</i><i class="warn">人群</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-29">
<span class="num">29</span>
<header><b>第 29 集</b><i class="bt major">反转</i></header>
<p class="syn">唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。</p>
<div class="hk"><b>钩子</b><span>拆迁办经理被押走时一直望着的那辆车,是二叔的吗?</span></div>
<div class="hk"><b>悬念</b><span>拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。</span></div>
<div class="meta"><i>S02</i><i>S07</i><i>C10</i><i>C01</i><i>C15</i><i>C13</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn">肢体接触</i><i class="warn" title="分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-30">
<span class="num">30</span>
<header><b>第 30 集</b></header>
<p class="syn">全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。</p>
<div class="hk"><b>钩子</b><span>【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗?</span></div>
<div class="hk"><b>悬念</b><span>秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。</span></div>
<div class="meta"><i>S10</i><i>S02</i><i>C01</i><i>C03</i><i>C17</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-31">
<span class="num">31</span>
<header><b>第 31 集</b></header>
<p class="syn">苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。</p>
<div class="hk"><b>钩子</b><span>收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令?</span></div>
<div class="hk"><b>悬念</b><span>被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。</span></div>
<div class="meta"><i>S02</i><i>S04</i><i>C01</i><i>C10</i><i>C02</i><i>C04</i><i>C16</i><i class="warn">手部特写</i><i class="warn" title="分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-32">
<span class="num">32</span>
<header><b>第 32 集</b><i class="bt">打脸</i></header>
<p class="syn">美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。</p>
<div class="hk"><b>钩子</b><span>林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么?</span></div>
<div class="hk"><b>悬念</b><span>收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C03</i><i>C10</i><i>C16</i><i>C11</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-33">
<span class="num">33</span>
<header><b>第 33 集</b></header>
<p class="syn">备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。</p>
<div class="hk"><b>钩子</b><span>深夜溜进苏记原料间的黑影是谁,他动了什么?</span></div>
<div class="hk"><b>悬念</b><span>协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。</span></div>
<div class="meta"><i>S03</i><i>S02</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn" title="两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-34">
<span class="num">34</span>
<header><b>第 34 集</b></header>
<p class="syn">复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。</p>
<div class="hk"><b>钩子</b><span>半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做?</span></div>
<div class="hk"><b>悬念</b><span>调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C16</i><i>C11</i><i>C10</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-35">
<span class="num">35</span>
<header><b>第 35 集</b><i class="bt">反转</i></header>
<p class="syn">半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。</p>
<div class="hk"><b>钩子</b><span>接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招?</span></div>
<div class="hk"><b>悬念</b><span>原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C10</i><i>C16</i><i>C03</i><i>C11</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-36">
<span class="num">36</span>
<header><b>第 36 集</b></header>
<p class="syn">陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。</p>
<div class="hk"><b>钩子</b><span>董事会逼顾承宴回避赞助,他会怎么接这一刀?</span></div>
<div class="hk"><b>悬念</b><span>二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。</span></div>
<div class="meta"><i>S04</i><i>S03</i><i>C02</i><i>C09</i><i>C01</i><i>C04</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-37">
<span class="num">37</span>
<header><b>第 37 集</b><i class="bt">撒糖</i></header>
<p class="syn">决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。</p>
<div class="hk"><b>钩子</b><span>秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比?</span></div>
<div class="hk"><b>悬念</b><span>外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C02</i><i>C16</i><i>C17</i><i>C03</i><i>C10</i><i class="warn">人群</i><i class="warn" title="分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-38">
<span class="num">38</span>
<header><b>第 38 集</b></header>
<p class="syn">决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。</p>
<div class="hk"><b>钩子</b><span>苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅?</span></div>
<div class="hk"><b>悬念</b><span>秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C03</i><i>C16</i><i>C10</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-39">
<span class="num">39</span>
<header><b>第 39 集</b><i class="bt major">夺冠打脸</i></header>
<p class="syn">决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。</p>
<div class="hk"><b>钩子</b><span>苏晴喊出的二爷是谁,他为何要偷一张点心秘方?</span></div>
<div class="hk"><b>悬念</b><span>二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。</span></div>
<div class="meta"><i>S10</i><i>C01</i><i>C03</i><i>C16</i><i>C17</i><i>C02</i><i>C10</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-40">
<span class="num">40</span>
<header><b>第 40 集</b><i class="bt">揭秘</i></header>
<p class="syn">夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。</p>
<div class="hk"><b>钩子</b><span>【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过?</span></div>
<div class="hk"><b>悬念</b><span>照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i class="warn">手部特写</i><i class="warn" title="单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-41">
<span class="num">41</span>
<header><b>第 41 集</b></header>
<p class="syn">夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。</p>
<div class="hk"><b>钩子</b><span>他看见她手里的两张照片,会承认自己就是那个少年吗?</span></div>
<div class="hk"><b>悬念</b><span>照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-42">
<span class="num">42</span>
<header><b>第 42 集</b><i class="bt">相认撒糖</i></header>
<p class="syn">顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。</p>
<div class="hk"><b>钩子</b><span>那天追来的二爷,真的是顾承宴的亲二叔吗?</span></div>
<div class="hk"><b>悬念</b><span>二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-43">
<span class="num">43</span>
<header><b>第 43 集</b></header>
<p class="syn">顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。</p>
<div class="hk"><b>钩子</b><span>二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手?</span></div>
<div class="hk"><b>悬念</b><span>二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。</span></div>
<div class="meta"><i>S05</i><i>C01</i><i>C02</i><i>C08</i><i>C04</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-44">
<span class="num">44</span>
<header><b>第 44 集</b><i class="bt major">反转</i></header>
<p class="syn">董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。</p>
<div class="hk"><b>钩子</b><span>二叔一句外婆当年不知死活,外婆的死难道另有隐情?</span></div>
<div class="hk"><b>悬念</b><span>外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。</span></div>
<div class="meta"><i>S04</i><i>C01</i><i>C02</i><i>C04</i><i>C11</i><i>C19</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-45">
<span class="num">45</span>
<header><b>第 45 集</b></header>
<p class="syn">苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。</p>
<div class="hk"><b>钩子</b><span>一向和她作对的苏晴,为什么在雨夜湿透了找上门?</span></div>
<div class="hk"><b>悬念</b><span>苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。</span></div>
<div class="meta"><i>S07</i><i>S02</i><i>C01</i><i>C07</i><i>C03</i><i class="warn">雨戏</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-46">
<span class="num">46</span>
<header><b>第 46 集</b><i class="bt">倒戈</i></header>
<p class="syn">苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。</p>
<div class="hk"><b>钩子</b><span>外婆的死,难道是二叔一手造成的?</span></div>
<div class="hk"><b>悬念</b><span>外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i>C03</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-47">
<span class="num">47</span>
<header><b>第 47 集</b></header>
<p class="syn">苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。</p>
<div class="hk"><b>钩子</b><span>协议后天就到期,两人都没说出口的话,还来得及说吗?</span></div>
<div class="hk"><b>悬念</b><span>当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。</span></div>
<div class="meta"><i>S03</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-48">
<span class="num">48</span>
<header><b>第 48 集</b><i class="bt">虐心误会</i></header>
<p class="syn">协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。</p>
<div class="hk"><b>钩子</b><span>顾承宴口中的结束,真的是要和她离婚吗?</span></div>
<div class="hk"><b>悬念</b><span>顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。</span></div>
<div class="meta"><i>S04</i><i>S03</i><i>C01</i><i>C02</i><i>C09</i><i class="warn">手部特写</i><i class="warn" title="三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-49">
<span class="num">49</span>
<header><b>第 49 集</b></header>
<p class="syn">第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。</p>
<div class="hk"><b>钩子</b><span>顾承宴为什么失约,陈默这通电话要告诉她什么?</span></div>
<div class="hk"><b>悬念</b><span>顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。</span></div>
<div class="meta"><i>S01</i><i>C01</i><i>C12</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-50">
<span class="num">50</span>
<header><b>第 50 集</b><i class="bt">危机</i></header>
<p class="syn">陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。</p>
<div class="hk"><b>钩子</b><span>【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?</span></div>
<div class="hk"><b>悬念</b><span>刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。</span></div>
<div class="meta"><i>S01</i><i>S07</i><i>C01</i><i>C09</i><i>C13</i><i class="warn">手部特写</i><i class="warn" title="分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-51">
<span class="num">51</span>
<header><b>第 51 集</b></header>
<p class="syn">重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。</p>
<div class="hk"><b>钩子</b><span>顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉?</span></div>
<div class="hk"><b>悬念</b><span>二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。</span></div>
<div class="meta"><i>S07</i><i>C01</i><i>C02</i><i>C04</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-52">
<span class="num">52</span>
<header><b>第 52 集</b><i class="bt">将计就计</i></header>
<p class="syn">深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。</p>
<div class="hk"><b>钩子</b><span>假昏迷的消息放出去了,二叔会多快咬钩?</span></div>
<div class="hk"><b>悬念</b><span>动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。</span></div>
<div class="meta"><i>S07</i><i>C01</i><i>C02</i><i>C09</i><i>C13</i><i>C17</i><i class="warn">肢体接触</i><i class="warn">人群</i><i class="warn" title="病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-53">
<span class="num">53</span>
<header><b>第 53 集</b></header>
<p class="syn">顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。</p>
<div class="hk"><b>钩子</b><span>一周强拆令已下,苏念的铺子还撑得住几天?</span></div>
<div class="hk"><b>悬念</b><span>二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。</span></div>
<div class="meta"><i>S04</i><i>C04</i><i>C11</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-54">
<span class="num">54</span>
<header><b>第 54 集</b><i class="bt">寻证</i></header>
<p class="syn">陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,照外婆的方子蒸了一屉桂花糕,递过去一块。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。</p>
<div class="hk"><b>钩子</b><span>车里那双眼睛盯上了证人,二叔会先下手吗?</span></div>
<div class="hk"><b>悬念</b><span>修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。</span></div>
<div class="meta"><i>S09</i><i>S02</i><i>C01</i><i>C09</i><i>C18</i><i class="warn">手部特写</i><i class="warn" title="老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-55">
<span class="num">55</span>
<header><b>第 55 集</b></header>
<p class="syn">苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。</p>
<div class="hk"><b>钩子</b><span>顾承宴还躺在病房装昏迷,谁能赶来救苏念?</span></div>
<div class="hk"><b>悬念</b><span>苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。</span></div>
<div class="meta"><i>S09</i><i>S11</i><i>C01</i><i>C04</i><i>C18</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-56">
<span class="num">56</span>
<header><b>第 56 集</b><i class="bt major">揭破</i></header>
<p class="syn">苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。</p>
<div class="hk"><b>钩子</b><span>二叔临走那句林家不干净,林薇薇还藏着什么?</span></div>
<div class="hk"><b>悬念</b><span>林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。</span></div>
<div class="meta"><i>S11</i><i>C01</i><i>C02</i><i>C04</i><i>C09</i><i>C18</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn">人群</i><i class="warn" title="拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-57">
<span class="num">57</span>
<header><b>第 57 集</b></header>
<p class="syn">顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。</p>
<div class="hk"><b>钩子</b><span>顾承宴为什么不回答,这段婚姻在他心里到底算不算数?</span></div>
<div class="hk"><b>悬念</b><span>协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。</span></div>
<div class="meta"><i>S08</i><i>C01</i><i>C02</i><i>C07</i><i>C09</i><i>C11</i><i>C17</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-58">
<span class="num">58</span>
<header><b>第 58 集</b><i class="bt major">撒糖求婚</i></header>
<p class="syn">风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。</p>
<div class="hk"><b>钩子</b><span>求婚成了,奶奶憋了一年的婚礼要怎么办?</span></div>
<div class="hk"><b>悬念</b><span>二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。</span></div>
<div class="meta"><i>S02</i><i>C01</i><i>C02</i><i class="warn">肢体接触</i><i class="warn">手部特写</i></div>
</article>
<article class="ep" id="ep-59">
<span class="num">59</span>
<header><b>第 59 集</b></header>
<p class="syn">顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。</p>
<div class="hk"><b>钩子</b><span>匿名包裹是谁寄来的,那封信里写了什么?</span></div>
<div class="hk"><b>悬念</b><span>寄件人的身份;外婆年轻时的往事与苏记的来历。</span></div>
<div class="meta"><i>S05</i><i>S09</i><i>C01</i><i>C02</i><i>C08</i><i>C10</i><i class="warn">人群</i><i class="warn">手部特写</i><i class="warn" title="老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。">同框拆解 ✓</i></div>
</article>
<article class="ep" id="ep-60">
<span class="num">60</span>
<header><b>第 60 集</b><i class="bt">圆满</i></header>
<p class="syn">信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。</p>
<div class="hk"><b>钩子</b><span>苏念小腹里,是不是已经有了苏记的第四代传人?</span></div>
<div class="hk"><b>悬念</b><span>新生命的到来留白;远走的苏晴是否还会回到老街。</span></div>
<div class="meta"><i>S09</i><i>S01</i><i>C01</i><i>C02</i><i>C07</i><i>C08</i><i>C09</i><i>C10</i><i>C12</i><i class="warn">人群</i><i class="warn">肢体接触</i><i class="warn">手部特写</i><i class="warn" title="婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。">同框拆解 ✓</i></div>
</article>
</div>
<button class="epsmore">▾ 展开全部 60 集</button>
</div>
</section>
<section id="sec-scenes">
<div class="sec-h"><span class="no">03</span><h2>场景概览</h2><span class="note">右上 = 出现集</span></div>
<div class="scenes">
<article class="scard">
<span class="snum">1 · 49 · 50 · 60</span>
<h3><span class="id">S01</span>民政局<span class="badge">主场景</span></h3>
<div class="strip"><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i></div>
<div class="srow"><b>承载爽点</b><span>闪婚反杀 · 危机 · 圆满</span></div>
<div class="srow"><b>出场角色</b><i>C01</i><i>C05</i><i>C03</i><i>C02</i><i>C12</i><i>C09</i><i>C13</i><i>C07</i><i>C08</i><i>C10</i></div>
</article>
<article class="scard">
<span class="snum">21 集</span>
<h3><span class="id">S02</span>苏记点心铺<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>打脸 ×2 · 护妻 · 真相澄清 · 追妻撒糖 · 反转 · 揭秘 · 倒戈 · 寻证 · 撒糖求婚</span></div>
<div class="srow"><b>出场角色</b><i>C06</i><i>C03</i><i>C01</i><i>C15</i><i>C02</i><i>C10</i><i>C05</i><i>C08</i><i>C11</i><i>C09</i><i>C19</i><i>C07</i><i>C13</i><i>C17</i><i>C04</i><i>C16</i><i>C18</i></div>
</article>
<article class="scard">
<span class="snum">12 集</span>
<h3><span class="id">S03</span>小两居(顾承宴租的伪装公寓)<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>撒糖 · 相认撒糖 · 虐心误会</span></div>
<div class="srow"><b>出场角色</b><i>C02</i><i>C01</i><i>C09</i><i>C08</i><i>C04</i><i>C05</i></div>
</article>
<article class="scard">
<span class="snum">7 集</span>
<h3><span class="id">S04</span>顾氏集团总部(总裁办 / 会议室)<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>反转 ×2 · 护妻 · 虐心误会</span></div>
<div class="srow"><b>出场角色</b><i>C02</i><i>C09</i><i>C04</i><i>C01</i><i>C10</i><i>C16</i><i>C11</i><i>C19</i></div>
</article>
<article class="scard">
<span class="snum">17 · 43 · 59</span>
<h3><span class="id">S05</span>顾家老宅<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>—</span></div>
<div class="srow"><b>出场角色</b><i>C08</i><i>C04</i><i>C02</i><i>C01</i><i>C10</i></div>
</article>
<article class="scard">
<span class="snum">7 · 24</span>
<h3><span class="id">S06</span>苏家客厅<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>打脸</span></div>
<div class="srow"><b>出场角色</b><i>C07</i><i>C06</i><i>C03</i><i>C05</i><i>C01</i><i>C02</i></div>
</article>
<article class="scard">
<span class="snum">8 集</span>
<h3><span class="id">S07</span>医院病房<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>长辈认可 · 反转 · 危机 · 将计就计</span></div>
<div class="srow"><b>出场角色</b><i>C01</i><i>C02</i><i>C08</i><i>C13</i><i>C15</i><i>C10</i><i>C03</i><i>C07</i><i>C09</i><i>C04</i><i>C17</i></div>
</article>
<article class="scard">
<span class="snum">5 集</span>
<h3><span class="id">S08</span>酒店宴会厅<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>打脸 · 反转 · 身份揭破</span></div>
<div class="srow"><b>出场角色</b><i>C03</i><i>C05</i><i>C01</i><i>C02</i><i>C14</i><i>C08</i><i>C11</i><i>C07</i><i>C09</i><i>C17</i></div>
</article>
<article class="scard">
<span class="snum">9 集</span>
<h3><span class="id">S09</span>老街<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class="on"></i></div>
<div class="srow"><b>承载爽点</b><span>护妻 · 追妻撒糖 · 打脸 · 寻证 · 圆满</span></div>
<div class="srow"><b>出场角色</b><i>C15</i><i>C01</i><i>C02</i><i>C03</i><i>C10</i><i>C11</i><i>C05</i><i>C09</i><i>C18</i><i>C04</i><i>C08</i><i>C07</i><i>C12</i></div>
</article>
<article class="scard">
<span class="snum">7 集</span>
<h3><span class="id">S10</span>美食大赛演播厅<span class="badge">主场景</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class=""></i><i class="on"></i><i class="on"></i><i class=""></i><i class="on"></i><i class="on"></i><i class="on"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>打脸 · 反转 · 撒糖 · 夺冠打脸</span></div>
<div class="srow"><b>出场角色</b><i>C01</i><i>C03</i><i>C17</i><i>C10</i><i>C16</i><i>C11</i><i>C02</i></div>
</article>
<article class="scard">
<span class="snum">55–56</span>
<h3><span class="id">S11</span>废弃仓库<span class="badge once">一次性</span></h3>
<div class="strip"><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i><i class="on lt"></i><i class="on lt"></i><i class=""></i><i class=""></i><i class=""></i><i class=""></i></div>
<div class="srow"><b>承载爽点</b><span>揭破</span></div>
<div class="srow"><b>复用方案</b><span class="reuse">复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设</span></div>
</article>
</div>
</section>
<section id="sec-decisions">
<div class="sec-h"><span class="no">04</span><h2>关键决策</h2><span class="note">拍板过的三件事,落进纸面</span></div>
<div class="dec3">
<div class="dcol">
<h3 class="sub">砍了哪条线</h3>
<ul class="dlist"><li><b>唐果与陈默的欢喜冤家感情线</b><small>九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分</small></li><li><b>苏念出国进修三年的事业线</b><small>时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担</small></li><li><b>顾承宴母亲车祸旧案与大房二房三十年恩怨</b><small>与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住</small></li><li><b>周子昂破产后黑化跟踪的复仇线</b><small>反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏</small></li><li><b>苏晴的网红经纪公司与流量造假行业线</b><small>行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担</small></li><li><b>外婆与顾老夫人年轻时是闺中好友的往事</b><small>巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道</small></li></ul>
<p class="dnote seal">这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。</p>
</div>
<div class="dcol">
<h3 class="sub">合了哪些人</h3>
<p class="dhead">19 个角色位(主角组 4 · 重要配角 7 · 功能性 8)</p>
<p class="dhead">主角组:苏念、顾承宴、苏晴、顾远山</p>
<ul class="dlist"><li><b>林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能</b><small>同一个情敌兼二叔盟友,不需要两张脸</small></li><li><b>拆迁办经理兼任二叔派去老街闹事的现场执行人</b><small>强拆戏和闹事戏都由他出面,少一个功能角色</small></li><li><b>酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏</b><small>他对顾承宴的态度就是马甲的温度计,一张脸复用三次</small></li></ul>
<p class="dnote seal">主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。</p>
</div>
<div class="dcol">
<h3 class="sub">大爆点落在第几集</h3>
<ul class="dmaj"><li><i>ep9</i><span><b>打脸</b> 酒店经理对顾承宴毕恭毕敬调出监控,戒指是…</span><em>首个</em></li><li><i>ep19</i><span><b>反转</b> 奶奶亮出真镯,碎的是苏晴准备的假货,两人…</span></li><li><i>ep20</i><span><b>身份揭破</b> 走上台的是苏念的契约丈夫,她手里的蛋糕掉…</span></li><li><i>ep29</i><span><b>反转</b> 唐果直播放出监控,投毒的是二叔的人,苏记…</span></li><li><i>ep39</i><span><b>夺冠打脸</b> 苏晴做不出外婆的最后一步,苏念夺冠,评委…</span></li><li><i>ep44</i><span><b>反转</b> 苏念送来伪签拆迁合同的鉴定,二叔当场被停…</span></li><li><i>ep56</i><span><b>揭破</b> 顾承宴带警察赶到,录音与绑匪证词齐出,二…</span></li><li><i>ep58</i><span><b>撒糖求婚</b> 顾承宴当面撕掉协议,用一盒桂花糕重新求婚</span><em>终局</em></li></ul>
</div>
</div>
</section>
<section id="sec-matrix">
<div class="sec-h"><span class="no">05</span><h2>每集调度矩阵</h2><span class="note">一列 = 这一集要谁、在哪拍</span></div>
<div class="matrix" style="--cw:16px">
<table>
<tr><th>角色 / 场景 / 道具</th><th>层级</th><th class="ep-h">1</th><th class="ep-h">2</th><th class="ep-h">3</th><th class="ep-h">4</th><th class="ep-h">5</th><th class="ep-h">6</th><th class="ep-h">7</th><th class="ep-h">8</th><th class="ep-h">9</th><th class="ep-h">10</th><th class="ep-h">11</th><th class="ep-h">12</th><th class="ep-h">13</th><th class="ep-h">14</th><th class="ep-h">15</th><th class="ep-h">16</th><th class="ep-h">17</th><th class="ep-h">18</th><th class="ep-h">19</th><th class="ep-h">20</th><th class="ep-h">21</th><th class="ep-h">22</th><th class="ep-h">23</th><th class="ep-h">24</th><th class="ep-h">25</th><th class="ep-h">26</th><th class="ep-h">27</th><th class="ep-h">28</th><th class="ep-h">29</th><th class="ep-h">30</th><th class="ep-h">31</th><th class="ep-h">32</th><th class="ep-h">33</th><th class="ep-h">34</th><th class="ep-h">35</th><th class="ep-h">36</th><th class="ep-h">37</th><th class="ep-h">38</th><th class="ep-h">39</th><th class="ep-h">40</th><th class="ep-h">41</th><th class="ep-h">42</th><th class="ep-h">43</th><th class="ep-h">44</th><th class="ep-h">45</th><th class="ep-h">46</th><th class="ep-h">47</th><th class="ep-h">48</th><th class="ep-h">49</th><th class="ep-h">50</th><th class="ep-h">51</th><th class="ep-h">52</th><th class="ep-h">53</th><th class="ep-h">54</th><th class="ep-h">55</th><th class="ep-h">56</th><th class="ep-h">57</th><th class="ep-h">58</th><th class="ep-h">59</th><th class="ep-h">60</th><th>合计</th></tr>
<tr><td class="name">苏念</td><td class="tier">主角组</td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="n">58</td></tr>
<tr><td class="name">顾承宴</td><td class="tier">主角组</td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="n">39</td></tr>
<tr><td class="name">苏晴</td><td class="tier">主角组</td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">19</td></tr>
<tr><td class="name">顾远山</td><td class="tier">主角组</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">11</td></tr>
<tr><td class="name">周子昂</td><td class="tier">重要配角</td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">6</td></tr>
<tr><td class="name">刘美琴</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">3</td></tr>
<tr><td class="name">苏建国</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="n">5</td></tr>
<tr><td class="name">顾老夫人</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="n">10</td></tr>
<tr><td class="name">陈默</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="n">12</td></tr>
<tr><td class="name">唐果</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="n">14</td></tr>
<tr><td class="name">林薇薇</td><td class="tier">重要配角</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">10</td></tr>
<tr><td class="name">民政局工作人员</td><td class="tier">功能性角色</td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="n">3</td></tr>
<tr><td class="name">主治医生</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">4</td></tr>
<tr><td class="name">酒店经理</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">3</td></tr>
<tr><td class="name">拆迁办经理</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">4</td></tr>
<tr><td class="name">大赛评委</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">7</td></tr>
<tr><td class="name">记者</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">5</td></tr>
<tr><td class="name">当年绑匪</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc on"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">3</td></tr>
<tr><td class="name">律师</td><td class="tier">功能性角色</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">2</td></tr>
<tr class="div"><td colspan="63">场 景</td></tr>
<tr><td class="name">民政局</td><td class="tier">主场景</td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="n">4</td></tr>
<tr><td class="name">苏记点心铺</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="n">21</td></tr>
<tr><td class="name">小两居(顾承宴租的伪装公寓)</td><td class="tier">主场景</td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">12</td></tr>
<tr><td class="name">顾氏集团总部(总裁办 / 会议室)</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">7</td></tr>
<tr><td class="name">顾家老宅</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="n">3</td></tr>
<tr><td class="name">苏家客厅</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">2</td></tr>
<tr><td class="name">医院病房</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">8</td></tr>
<tr><td class="name">酒店宴会厅</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">5</td></tr>
<tr><td class="name">老街</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="n">9</td></tr>
<tr><td class="name">美食大赛演播厅</td><td class="tier">主场景</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">7</td></tr>
<tr><td class="name">废弃仓库</td><td class="tier">一次性</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on sc"></td><td class="mc on sc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">2</td></tr>
<tr class="div"><td colspan="63">道 具</td></tr>
<tr><td class="name">结婚证</td><td class="tier">B01、B08</td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="n">6</td></tr>
<tr><td class="name">婚前协议</td><td class="tier">B09、B25、B30</td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="n">6</td></tr>
<tr><td class="name">外婆的铁皮点心盒</td><td class="tier">B02、B20、B21、B22</td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">9</td></tr>
<tr><td class="name">顾家传家玉镯</td><td class="tier">B03、B11</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">4</td></tr>
<tr><td class="name">录音笔</td><td class="tier">B24、B29</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">4</td></tr>
<tr><td class="name">拆迁合同</td><td class="tier">B07、B13、B23</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="n">5</td></tr>
<tr><td class="name">苏记老招牌</td><td class="tier">B04、B31</td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc"></td><td class="mc on pp"></td><td class="mc on pp"></td><td class="n">3</td></tr>
</table>
</div>
</section>
<section id="sec-plan">
<div class="sec-h"><span class="no">06</span><h2>资产量折算</h2><span class="note">按档自动折算 · 不让模型写</span></div>
<div class="plan">
<table><thead><tr><th>层级</th><th>人数</th><th>角色</th><th>资产量</th></tr></thead>
<tbody><tr><td>主角组</td><td>4</td><td>苏念、顾承宴、苏晴、顾远山</td><td>全套角色设定图 + 逐镜一致性核对</td></tr>
<tr><td>重要配角</td><td>7</td><td>周子昂、刘美琴、苏建国、顾老夫人、陈默、唐果、林薇薇</td><td>半身参考图,关键戏核对</td></tr>
<tr><td>功能性角色</td><td>8</td><td>民政局工作人员、主治医生、酒店经理、拆迁办经理、大赛评委、记者、当年绑匪、律师</td><td>提示词直出,松散一致即可</td></tr>
<tr><td>场景环境</td><td>10</td><td>民政局、苏记点心铺、小两居(顾承宴租的伪装公寓)、顾氏集团总部(总裁办 / 会议室)、顾家老宅、苏家客厅、医院病房、酒店宴会厅、老街、美食大赛演播厅</td><td>主场景各一套环境参考 + 光照基调</td></tr>
<tr><td>叙事道具</td><td>7</td><td>结婚证、婚前协议、外婆的铁皮点心盒、顾家传家玉镯、录音笔、拆迁合同、苏记老招牌</td><td>每件一套白底设定图 + 状态变体,跨集要长一样</td></tr>
<tr><td>生成难点</td><td>115</td><td>肢体接触 ×32(第 1、3、4、6、9、10、12、14、15、16、18、19、21、22、24、26、27、29、33、35、39、42、43、45、47、51、52、55、56、57、58、60 集) · 人群 ×27(第 1、6、9、10、12、15、16、18、19、20、25、28、29、30、32、34、35、36、37、38、39、44、52、56、57、59、60 集) · 手部特写 ×55(第 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、25、26、28、29、30、31、32、34、35、36、38、39、40、41、42、43、44、45、46、47、48、49、50、51、53、54、55、56、57、58、59、60 集) · 雨戏 ×1(第 45 集)</td><td>拍摄前逐条过预警清单</td></tr></tbody></table>
</div>
</section>
<section id="sec-characters">
<div class="sec-h"><span class="no">07</span><h2>人物表</h2></div>
<table><thead><tr><th>ID</th><th>角色</th><th>层级</th><th>定位</th><th>人物弧</th><th>← 改动记录</th></tr></thead>
<tbody><tr><td>C01</td><td>苏念</td><td>主角组</td><td>女主·苏记点心铺第三代传人</td><td>从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻</td><td>原创</td></tr>
<tr><td>C02</td><td>顾承宴</td><td>主角组</td><td>男主·顾氏集团总裁,隐藏身份闪婚</td><td>从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚</td><td>原创</td></tr>
<tr><td>C03</td><td>苏晴</td><td>主角组</td><td>前期主反派·苏念的继妹</td><td>从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始</td><td>原创</td></tr>
<tr><td>C04</td><td>顾远山</td><td>主角组</td><td>幕后主反派·顾承宴的二叔</td><td>笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网</td><td>原创</td></tr>
<tr><td>C05</td><td>周子昂</td><td>重要配角</td><td>渣前任·周家少爷</td><td>当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局</td><td>原创</td></tr>
<tr><td>C06</td><td>刘美琴</td><td>重要配角</td><td>继母</td><td>一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门</td><td>原创</td></tr>
<tr><td>C07</td><td>苏建国</td><td>重要配角</td><td>苏念的父亲</td><td>被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂</td><td>原创</td></tr>
<tr><td>C08</td><td>顾老夫人</td><td>重要配角</td><td>顾承宴的奶奶,CP 头号助攻</td><td>以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台</td><td>原创</td></tr>
<tr><td>C09</td><td>陈默</td><td>重要配角</td><td>顾承宴的特助,马甲维护员</td><td>从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人</td><td>原创;合并:唐果陈默感情线砍掉后只留功能</td></tr>
<tr><td>C10</td><td>唐果</td><td>重要配角</td><td>苏念的闺蜜,美食博主</td><td>最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清</td><td>原创</td></tr>
<tr><td>C11</td><td>林薇薇</td><td>重要配角</td><td>情敌·顾家世交千金</td><td>自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂</td><td>原创;合并:联姻对象 + 股东代表</td></tr>
<tr><td>C12</td><td>民政局工作人员</td><td>功能性角色</td><td>见证闪婚与离婚预约</td><td>—</td><td>原创</td></tr>
<tr><td>C13</td><td>主治医生</td><td>功能性角色</td><td>奶奶与顾承宴的医生</td><td>—</td><td>原创</td></tr>
<tr><td>C14</td><td>酒店经理</td><td>功能性角色</td><td>顾氏旗下酒店经理,马甲温度计</td><td>—</td><td>原创;合并:订婚宴、寿宴、发布会三场的酒店方</td></tr>
<tr><td>C15</td><td>拆迁办经理</td><td>功能性角色</td><td>二叔的强拆执行人</td><td>—</td><td>原创;合并:老街闹事的现场执行人</td></tr>
<tr><td>C16</td><td>大赛评委</td><td>功能性角色</td><td>美食大赛主评委,被二叔收买又倒戈</td><td>—</td><td>原创</td></tr>
<tr><td>C17</td><td>记者</td><td>功能性角色</td><td>发布会与赛场的媒体</td><td>—</td><td>原创</td></tr>
<tr><td>C18</td><td>当年绑匪</td><td>功能性角色</td><td>十五年前被二叔雇用的绑匪,关键证人</td><td>—</td><td>原创</td></tr>
<tr><td>C19</td><td>律师</td><td>功能性角色</td><td>顾承宴的律师,处理遗嘱、伪签与报案</td><td>—</td><td>原创</td></tr></tbody></table>
</section>
<section id="sec-adaptation">
<div class="sec-h"><span class="no">08</span><h2>改编说明</h2><span class="note">为什么这么改 · 附原文依据</span></div>
<p class="core">被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。</p>
<h3 class="sub">保留</h3><table><thead><tr><th>内容</th><th>理由</th><th>原文依据</th></tr></thead>
<tbody><tr><td>民政局门口当众退婚、当场闪婚的开局</td><td>第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手</td><td><q>苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。</q></td></tr>
<tr><td>顾承宴隐藏身份、租小两居扮打工人</td><td>马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点</td><td><q>顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。</q></td></tr>
<tr><td>外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)</td><td>一件道具串起护铺、比赛、十五年前旧案三段,前后呼应</td><td><q>外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。</q></td></tr>
<tr><td>十五年前点心铺救下少年的旧缘</td><td>把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量</td><td><q>照片背后外婆写着:那天追来的人,叫他二爷。</q></td></tr>
<tr><td>撕婚前协议、桂花糕求婚的结局</td><td>契约婚姻的标准收束,道具闭环</td><td><q>顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。</q></td></tr></tbody></table>
<h3 class="sub">砍掉</h3><table><thead><tr><th>内容</th><th>理由</th></tr></thead>
<tbody><tr><td>唐果与陈默的欢喜冤家感情线</td><td>九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分</td></tr>
<tr><td>苏念出国进修三年的事业线</td><td>时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担</td></tr>
<tr><td>顾承宴母亲车祸旧案与大房二房三十年恩怨</td><td>与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住</td></tr>
<tr><td>周子昂破产后黑化跟踪的复仇线</td><td>反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏</td></tr>
<tr><td>苏晴的网红经纪公司与流量造假行业线</td><td>行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担</td></tr>
<tr><td>外婆与顾老夫人年轻时是闺中好友的往事</td><td>巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道</td></tr></tbody></table>
<h3 class="sub">合并</h3><table><thead><tr><th>内容</th><th>理由</th></tr></thead>
<tbody><tr><td>林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能</td><td>同一个情敌兼二叔盟友,不需要两张脸</td></tr>
<tr><td>拆迁办经理兼任二叔派去老街闹事的现场执行人</td><td>强拆戏和闹事戏都由他出面,少一个功能角色</td></tr>
<tr><td>酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏</td><td>他对顾承宴的态度就是马甲的温度计,一张脸复用三次</td></tr></tbody></table>
<h3 class="sub">风险与对策</h3><table><thead><tr><th>内容</th><th>对策</th></tr></thead>
<tbody><tr><td>马甲戏拖太久观众会烦</td><td>第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一</td></tr>
<tr><td>女频打脸集中在前段,后段变成商战闷戏</td><td>后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程</td></tr>
<tr><td>九十秒一集信息密度高,人物多容易乱</td><td>每集主戏不超过三人同框,配角按集轮换出场</td></tr>
<tr><td>车祸、仓库营救等动作戏生成难度高</td><td>车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过</td></tr></tbody></table>
</section>
<section id="sec-gates">
<div class="sec-h"><span class="no">09</span><h2>质量门</h2></div>
<ul class="gate">
<li class="ok"><span class="m">✓</span><span>主角组 1–5 人</span></li>
<li class="ok"><span class="m">✓</span><span>重要配角 ≤ 10 人</span></li>
<li class="ok"><span class="m">✓</span><span>功能性角色 ≤ 10 人</span></li>
<li class="ok"><span class="m">✓</span><span>主场景 ≤ 10</span></li>
<li class="ok"><span class="m">✓</span><span>叙事道具 ≤ 8 件</span></li>
<li class="ok"><span class="m">✓</span><span>一次性场景已标注规避方案</span></li>
<li class="ok"><span class="m">✓</span><span>爽点间隔 ≤ 3 集,无真空区</span></li>
<li class="ok"><span class="m">✓</span><span>第 1 集有钩子</span></li>
<li class="ok"><span class="m">✓</span><span>大爆点不在最后一集才首次出现</span></li>
<li class="ok"><span class="m">✓</span><span>每集梗概三栏齐全(含【钩子】【悬念】)</span></li>
<li class="ok"><span class="m">✓</span><span>三人以上同框已标注拆解方案</span></li>
<li class="ok"><span class="m">✓</span><span>生成难点已进预警清单</span></li>
<li class="ok"><span class="m">✓</span><span>场景/角色/道具引用完整,无失业角色、无空转场景、无零集道具</span></li>
<li class="ok"><span class="m">✓</span><span>梗概是叙述体,无引号对白</span></li>
</ul>
<p class="gsum">全部通过</p>
</section>
<p class="foot">大纲由模型依据原文生成,质量门由脚本确定性检查。</p>
</div>
<script type="application/json" id="outline-data">{"source":"闪婚老公藏不住了","lang":"zh","params":{"episodes":60,"minutesPerEpisode":1.5,"genre":"女频·先婚后爱甜宠(身份马甲 + 打脸)","adaptMode":"抽核","preferences":["付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"]},"adaptation":{"core":"被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。","keep":[{"what":"民政局门口当众退婚、当场闪婚的开局","why":"第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手","evidence":"苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"},{"what":"顾承宴隐藏身份、租小两居扮打工人","why":"马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点","evidence":"顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"},{"what":"外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)","why":"一件道具串起护铺、比赛、十五年前旧案三段,前后呼应","evidence":"外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"},{"what":"十五年前点心铺救下少年的旧缘","why":"把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量","evidence":"照片背后外婆写着:那天追来的人,叫他二爷。"},{"what":"撕婚前协议、桂花糕求婚的结局","why":"契约婚姻的标准收束,道具闭环","evidence":"顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"}],"cut":[{"what":"唐果与陈默的欢喜冤家感情线","why":"九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分"},{"what":"苏念出国进修三年的事业线","why":"时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担"},{"what":"顾承宴母亲车祸旧案与大房二房三十年恩怨","why":"与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住"},{"what":"周子昂破产后黑化跟踪的复仇线","why":"反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏"},{"what":"苏晴的网红经纪公司与流量造假行业线","why":"行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担"},{"what":"外婆与顾老夫人年轻时是闺中好友的往事","why":"巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道"}],"merge":[{"what":"林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能","why":"同一个情敌兼二叔盟友,不需要两张脸"},{"what":"拆迁办经理兼任二叔派去老街闹事的现场执行人","why":"强拆戏和闹事戏都由他出面,少一个功能角色"},{"what":"酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏","why":"他对顾承宴的态度就是马甲的温度计,一张脸复用三次"}],"risks":[{"what":"马甲戏拖太久观众会烦","plan":"第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一"},{"what":"女频打脸集中在前段,后段变成商战闷戏","plan":"后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程"},{"what":"九十秒一集信息密度高,人物多容易乱","plan":"每集主戏不超过三人同框,配角按集轮换出场"},{"what":"车祸、仓库营救等动作戏生成难度高","plan":"车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过"}],"cutNote":"这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。","mergeNote":"主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"},"characters":[{"id":"C01","name":"苏念","role":"女主·苏记点心铺第三代传人","tier":"lead","arc":"从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻","from":["原创"]},{"id":"C02","name":"顾承宴","role":"男主·顾氏集团总裁,隐藏身份闪婚","tier":"lead","arc":"从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚","from":["原创"]},{"id":"C03","name":"苏晴","role":"前期主反派·苏念的继妹","tier":"lead","arc":"从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始","from":["原创"]},{"id":"C04","name":"顾远山","role":"幕后主反派·顾承宴的二叔","tier":"lead","arc":"笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网","from":["原创"]},{"id":"C05","name":"周子昂","role":"渣前任·周家少爷","tier":"support","arc":"当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局","from":["原创"]},{"id":"C06","name":"刘美琴","role":"继母","tier":"support","arc":"一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门","from":["原创"]},{"id":"C07","name":"苏建国","role":"苏念的父亲","tier":"support","arc":"被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂","from":["原创"]},{"id":"C08","name":"顾老夫人","role":"顾承宴的奶奶,CP 头号助攻","tier":"support","arc":"以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台","from":["原创"]},{"id":"C09","name":"陈默","role":"顾承宴的特助,马甲维护员","tier":"support","arc":"从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人","from":["原创","合并:唐果陈默感情线砍掉后只留功能"]},{"id":"C10","name":"唐果","role":"苏念的闺蜜,美食博主","tier":"support","arc":"最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清","from":["原创"]},{"id":"C11","name":"林薇薇","role":"情敌·顾家世交千金","tier":"support","arc":"自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂","from":["原创","合并:联姻对象 + 股东代表"]},{"id":"C12","name":"民政局工作人员","role":"见证闪婚与离婚预约","tier":"functional","from":["原创"]},{"id":"C13","name":"主治医生","role":"奶奶与顾承宴的医生","tier":"functional","from":["原创"]},{"id":"C14","name":"酒店经理","role":"顾氏旗下酒店经理,马甲温度计","tier":"functional","from":["原创","合并:订婚宴、寿宴、发布会三场的酒店方"]},{"id":"C15","name":"拆迁办经理","role":"二叔的强拆执行人","tier":"functional","from":["原创","合并:老街闹事的现场执行人"]},{"id":"C16","name":"大赛评委","role":"美食大赛主评委,被二叔收买又倒戈","tier":"functional","from":["原创"]},{"id":"C17","name":"记者","role":"发布会与赛场的媒体","tier":"functional","from":["原创"]},{"id":"C18","name":"当年绑匪","role":"十五年前被二叔雇用的绑匪,关键证人","tier":"functional","from":["原创"]},{"id":"C19","name":"律师","role":"顾承宴的律师,处理遗嘱、伪签与报案","tier":"functional","from":["原创"]}],"scenes":[{"id":"S01","name":"民政局","primary":true},{"id":"S02","name":"苏记点心铺","primary":true},{"id":"S03","name":"小两居(顾承宴租的伪装公寓)","primary":true},{"id":"S04","name":"顾氏集团总部(总裁办 / 会议室)","primary":true},{"id":"S05","name":"顾家老宅","primary":true},{"id":"S06","name":"苏家客厅","primary":true},{"id":"S07","name":"医院病房","primary":true},{"id":"S08","name":"酒店宴会厅","primary":true},{"id":"S09","name":"老街","primary":true},{"id":"S10","name":"美食大赛演播厅","primary":true},{"id":"S11","name":"废弃仓库","primary":false,"reusePlan":"复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设"}],"props":[{"id":"P01","name":"结婚证","function":"闪婚的凭证,苏念对抗情敌、撑场面的底牌","beatIds":["B01","B08"]},{"id":"P02","name":"婚前协议","function":"一年契约、互不动心的条款,感情线的计时器,结局被撕","beatIds":["B09","B25","B30"]},{"id":"P03","name":"外婆的铁皮点心盒","function":"装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙","beatIds":["B02","B20","B21","B22"]},{"id":"P04","name":"顾家传家玉镯","function":"奶奶认孙媳的信物,寿宴上被设局栽赃","beatIds":["B03","B11"]},{"id":"P05","name":"录音笔","function":"苏晴倒戈交出的二叔罪证,终局翻盘的证据","beatIds":["B24","B29"]},{"id":"P06","name":"拆迁合同","function":"伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证","beatIds":["B07","B13","B23"]},{"id":"P07","name":"苏记老招牌","function":"铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中","beatIds":["B04","B31"]}],"beats":[{"id":"B01","type":"闪婚反杀","weight":"minor","episode":1,"setup":"周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表","payoff":"苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过"},{"id":"B02","type":"打脸","weight":"minor","episode":3,"setup":"继母带苏晴上门收铺,说铺子已抵给周家","payoff":"苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的"},{"id":"B03","type":"长辈认可","weight":"minor","episode":4,"setup":"苏念带桂花糕去医院见奶奶,以为要被挑剔","payoff":"奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术"},{"id":"B04","type":"护妻","weight":"minor","episode":6,"setup":"混混在苏记门口泼漆摘招牌","payoff":"顾承宴赶到录证报警,混混落荒而逃,招牌挂回去"},{"id":"B05","type":"打脸","weight":"minor","episode":7,"setup":"苏家寿宴上继母嘲讽顾承宴的茶叶寒酸","payoff":"懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去"},{"id":"B06","type":"打脸","weight":"major","episode":9,"setup":"订婚宴上苏晴栽赃苏念偷钻戒,全场围观","payoff":"酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑"},{"id":"B07","type":"反转","weight":"minor","episode":11,"setup":"拆迁通知落款顾氏总裁,三天后强拆","payoff":"顾承宴查出是二叔伪签,当场叫停拆迁"},{"id":"B08","type":"打脸","weight":"minor","episode":13,"setup":"林薇薇上门自称顾承宴未婚妻,羞辱苏念","payoff":"苏念亮出结婚证,林薇薇当场哑火"},{"id":"B09","type":"撒糖","weight":"minor","episode":14,"setup":"苏念吃醋质问林薇薇的事,协议写着互不动心","payoff":"停电夜意外的初吻"},{"id":"B10","type":"护妻","weight":"minor","episode":16,"setup":"苏念去顾氏送饭,被前台当成蹭饭的赶出去","payoff":"顾承宴下楼当众牵她进电梯,前台被调岗"},{"id":"B11","type":"反转","weight":"major","episode":19,"setup":"寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯","payoff":"奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑"},{"id":"B12","type":"身份揭破","weight":"major","episode":20,"setup":"主持人宣布有请顾氏集团总裁致辞","payoff":"走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上"},{"id":"B13","type":"真相澄清","weight":"minor","episode":23,"setup":"苏念认定他骗婚就是为了拆铺子","payoff":"律师当面鉴定拆迁合同上的签名是伪造的"},{"id":"B14","type":"追妻撒糖","weight":"minor","episode":25,"setup":"冷战中的苏念搬回点心铺","payoff":"顾承宴在铺子门口学做桂花糕,苏念心软同意回家"},{"id":"B15","type":"打脸","weight":"minor","episode":27,"setup":"周子昂得知被苏晴骗,回头纠缠苏念","payoff":"顾承宴一个电话终止周家所有分包,周子昂当场跪求"},{"id":"B16","type":"反转","weight":"major","episode":29,"setup":"苏记被栽赃食物中毒,铺子被封、苏念被网暴","payoff":"唐果直播放出监控,投毒的是二叔的人,苏记解封"},{"id":"B17","type":"打脸","weight":"minor","episode":32,"setup":"大赛海选,苏晴嘲笑苏念的手工点心土气","payoff":"苏念以海选第一晋级,苏晴压线"},{"id":"B18","type":"反转","weight":"minor","episode":35,"setup":"半决赛苏念的原料被调包","payoff":"苏念临场改做外婆的老式点心,反超晋级"},{"id":"B19","type":"撒糖","weight":"minor","episode":37,"setup":"被收买的评委当众质疑苏念走后门","payoff":"顾承宴宣布退出赞助回避,只坐观众席为她加油"},{"id":"B20","type":"夺冠打脸","weight":"major","episode":39,"setup":"苏晴用偷来的秘方与苏念同台决赛","payoff":"苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买"},{"id":"B21","type":"揭秘","weight":"minor","episode":40,"setup":"苏念整理铁皮盒,发现夹层","payoff":"旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷"},{"id":"B22","type":"相认撒糖","weight":"minor","episode":42,"setup":"苏念拿照片问顾承宴","payoff":"顾承宴承认自己就是那个少年,十五年只记得这一口甜"},{"id":"B23","type":"反转","weight":"major","episode":44,"setup":"二叔联合林薇薇在董事会发难,要罢免顾承宴","payoff":"苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股"},{"id":"B24","type":"倒戈","weight":"minor","episode":46,"setup":"苏晴被二叔和周子昂一起抛弃","payoff":"苏晴把偷录二叔的录音笔交给苏念"},{"id":"B25","type":"虐心误会","weight":"minor","episode":48,"setup":"契约到期前夜,苏念听见顾承宴说协议到期就结束","payoff":"苏念默默收拾行李,约他去民政局"},{"id":"B26","type":"危机","weight":"minor","episode":50,"setup":"苏念在民政局等不到人","payoff":"电话打来:顾承宴的车刹车失灵,正在抢救"},{"id":"B27","type":"将计就计","weight":"minor","episode":52,"setup":"二叔以为顾承宴昏迷,接管集团","payoff":"顾承宴醒来与苏念联手装病,引二叔现形"},{"id":"B28","type":"寻证","weight":"minor","episode":54,"setup":"当年绑匪下落不明","payoff":"陈默找到当年绑匪,对方愿意作证"},{"id":"B29","type":"揭破","weight":"major","episode":56,"setup":"二叔把苏念绑进仓库逼要录音笔","payoff":"顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网"},{"id":"B30","type":"撒糖求婚","weight":"major","episode":58,"setup":"协议到期那天,苏念拿出婚前协议","payoff":"顾承宴当面撕掉协议,用一盒桂花糕重新求婚"},{"id":"B31","type":"圆满","weight":"minor","episode":60,"setup":"老街保住,苏记招牌重新挂起","payoff":"老街补办婚礼,一年后苏记开了第二家店"}],"episodes":[{"ep":1,"synopsis":"苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。","hook":"刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?","suspense":"顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。","sceneIds":["S01"],"characterIds":["C01","C05","C03","C02","C12"],"propIds":["P01"],"crowdPlan":"分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。","warnings":["肢体接触","人群","手部特写"]},{"ep":2,"synopsis":"小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。","hook":"他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?","suspense":"顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。","sceneIds":["S03"],"characterIds":["C02","C01"],"propIds":["P02"],"crowdPlan":"两人戏,无三人同框,一场拍完。","warnings":["手部特写"]},{"ep":3,"synopsis":"继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。","hook":"苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?","suspense":"老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。","sceneIds":["S02"],"characterIds":["C06","C03","C01"],"propIds":["P03"],"crowdPlan":"一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。","warnings":["手部特写","肢体接触"]},{"ep":4,"synopsis":"苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。","hook":"奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?","suspense":"奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。","sceneIds":["S07"],"characterIds":["C01","C02","C08","C13"],"propIds":["P04"],"crowdPlan":"分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。","warnings":["肢体接触","手部特写"]},{"ep":5,"synopsis":"同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。","hook":"苏念收到唐果的消息,铺子出事了,出了什么事?","suspense":"陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。","sceneIds":["S03"],"characterIds":["C01","C02","C09"],"propIds":[],"crowdPlan":"夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。","warnings":["手部特写"]},{"ep":6,"synopsis":"苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。","hook":"苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么?","suspense":"拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。","sceneIds":["S09","S02"],"characterIds":["C15","C01","C02","C03"],"propIds":["P07"],"crowdPlan":"分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。","warnings":["人群","肢体接触","手部特写"]},{"ep":7,"synopsis":"苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。","hook":"苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局?","suspense":"一个打工的哪来的母树茶;苏晴订婚宴上的算计。","sceneIds":["S06"],"characterIds":["C07","C06","C03","C05","C01","C02"],"propIds":[],"crowdPlan":"六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。","warnings":["手部特写"]},{"ep":8,"synopsis":"苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。","hook":"苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么?","suspense":"订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。","sceneIds":["S02"],"characterIds":["C03","C10","C01","C02","C05"],"propIds":[],"crowdPlan":"分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。","warnings":["手部特写"]},{"ep":9,"synopsis":"订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。","hook":"周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么?","suspense":"酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。","sceneIds":["S08"],"characterIds":["C03","C05","C01","C02","C14"],"propIds":[],"crowdPlan":"分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。","warnings":["人群","手部特写","肢体接触"]},{"ep":10,"synopsis":"奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。","hook":"【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记?","suspense":"伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。","sceneIds":["S07","S02"],"characterIds":["C08","C01","C02","C15"],"propIds":["P06"],"crowdPlan":"分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。","warnings":["肢体接触","手部特写","人群"],"paywall":true},{"ep":11,"synopsis":"顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。","hook":"二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么?","suspense":"二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。","sceneIds":["S04"],"characterIds":["C02","C09","C04"],"propIds":["P06"],"crowdPlan":"总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。","warnings":["手部特写"]},{"ep":12,"synopsis":"拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。","hook":"门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁?","suspense":"唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。","sceneIds":["S09","S02"],"characterIds":["C15","C01","C02","C10","C11"],"propIds":[],"crowdPlan":"分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。","warnings":["人群","肢体接触","手部特写"]},{"ep":13,"synopsis":"林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。","hook":"林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念?","suspense":"林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。","sceneIds":["S02"],"characterIds":["C11","C01","C03"],"propIds":["P01"],"crowdPlan":"店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。","warnings":["手部特写"]},{"ep":14,"synopsis":"苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。","hook":"来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗?","suspense":"两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。","sceneIds":["S03"],"characterIds":["C01","C02"],"propIds":["P02"],"crowdPlan":"仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。","warnings":["肢体接触","手部特写"]},{"ep":15,"synopsis":"奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。","hook":"苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么?","suspense":"林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。","sceneIds":["S07","S02"],"characterIds":["C08","C01","C10","C03"],"propIds":["P04","P03"],"crowdPlan":"分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。","warnings":["肢体接触","手部特写","人群"]},{"ep":16,"synopsis":"苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。","hook":"二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗?","suspense":"顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。","sceneIds":["S04"],"characterIds":["C01","C02","C09","C04"],"propIds":[],"crowdPlan":"大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。","warnings":["肢体接触","人群","手部特写"]},{"ep":17,"synopsis":"奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。","hook":"坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗?","suspense":"奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。","sceneIds":["S05","S03"],"characterIds":["C08","C04","C02","C01"],"propIds":[],"crowdPlan":"分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。","warnings":["手部特写"]},{"ep":18,"synopsis":"奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。","hook":"一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白?","suspense":"顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。","sceneIds":["S08"],"characterIds":["C08","C01","C11","C03"],"propIds":["P04"],"crowdPlan":"宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。","warnings":["人群","肢体接触","手部特写"]},{"ep":19,"synopsis":"宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。","hook":"主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁?","suspense":"苏念仍不知道丈夫的身份;顾氏总裁即将登台。","sceneIds":["S08"],"characterIds":["C01","C11","C03","C08","C14"],"propIds":["P04"],"crowdPlan":"围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。","warnings":["人群","肢体接触","手部特写"]},{"ep":20,"synopsis":"苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。","hook":"【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗?","suspense":"苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。","sceneIds":["S08"],"characterIds":["C01","C02","C08","C14"],"propIds":[],"crowdPlan":"苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。","warnings":["人群","手部特写"],"paywall":true},{"ep":21,"synopsis":"宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。","hook":"签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗?","suspense":"拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。","sceneIds":["S09","S03"],"characterIds":["C01","C02"],"propIds":["P06","P01"],"warnings":["肢体接触","手部特写"]},{"ep":22,"synopsis":"苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。","hook":"苏晴给二叔报信,两人下一步要趁冷战对苏记做什么?","suspense":"苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。","sceneIds":["S02"],"characterIds":["C01","C02","C09","C03"],"propIds":[],"crowdPlan":"全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。","warnings":["肢体接触","手部特写"]},{"ep":23,"synopsis":"顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。","hook":"听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁?","suspense":"外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。","sceneIds":["S02"],"characterIds":["C01","C02","C19"],"propIds":["P06"],"crowdPlan":"柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。","warnings":["手部特写"]},{"ep":24,"synopsis":"苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。","hook":"被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么?","suspense":"刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。","sceneIds":["S02","S06"],"characterIds":["C07","C06","C01"],"propIds":[],"crowdPlan":"分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。","warnings":["肢体接触"]},{"ep":25,"synopsis":"顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。","hook":"和好后回家的路上,那辆一直远远跟着的车里坐的是谁?","suspense":"跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。","sceneIds":["S02","S09"],"characterIds":["C02","C01"],"propIds":[],"crowdPlan":"两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。","warnings":["人群","手部特写"]},{"ep":26,"synopsis":"和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。","hook":"周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么?","suspense":"苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。","sceneIds":["S03"],"characterIds":["C01","C02","C05"],"propIds":["P02"],"crowdPlan":"厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。","warnings":["肢体接触","手部特写"]},{"ep":27,"synopsis":"老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。","hook":"周子昂被拖走前喊出苏晴背后另有其人,那个人是谁?","suspense":"苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。","sceneIds":["S09"],"characterIds":["C05","C01","C02"],"propIds":[],"crowdPlan":"纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。","warnings":["肢体接触"]},{"ep":28,"synopsis":"苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。","hook":"这包不属于苏记的添加剂,是谁趁夜放进后厨的?","suspense":"投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。","sceneIds":["S02"],"characterIds":["C01","C10"],"propIds":[],"warnings":["人群","手部特写"]},{"ep":29,"synopsis":"唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。","hook":"拆迁办经理被押走时一直望着的那辆车,是二叔的吗?","suspense":"拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。","sceneIds":["S02","S07"],"characterIds":["C10","C01","C15","C13"],"propIds":[],"crowdPlan":"分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。","warnings":["人群","手部特写","肢体接触"]},{"ep":30,"synopsis":"全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。","hook":"【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗?","suspense":"秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。","sceneIds":["S10","S02"],"characterIds":["C01","C03","C17"],"propIds":["P03"],"crowdPlan":"两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。","warnings":["手部特写","人群"],"paywall":true},{"ep":31,"synopsis":"苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。","hook":"收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令?","suspense":"被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。","sceneIds":["S02","S04"],"characterIds":["C01","C10","C02","C04","C16"],"propIds":["P03"],"crowdPlan":"分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。","warnings":["手部特写"]},{"ep":32,"synopsis":"美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。","hook":"林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么?","suspense":"收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。","sceneIds":["S10"],"characterIds":["C01","C03","C10","C16","C11"],"propIds":[],"crowdPlan":"分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。","warnings":["人群","手部特写"]},{"ep":33,"synopsis":"备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。","hook":"深夜溜进苏记原料间的黑影是谁,他动了什么?","suspense":"协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。","sceneIds":["S03","S02"],"characterIds":["C01","C02"],"propIds":[],"crowdPlan":"两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。","warnings":["肢体接触"]},{"ep":34,"synopsis":"复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。","hook":"半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做?","suspense":"调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。","sceneIds":["S10"],"characterIds":["C01","C16","C11","C10"],"propIds":[],"crowdPlan":"评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。","warnings":["人群","手部特写"]},{"ep":35,"synopsis":"半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。","hook":"接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招?","suspense":"原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。","sceneIds":["S10"],"characterIds":["C01","C10","C16","C03","C11"],"propIds":[],"crowdPlan":"分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。","warnings":["肢体接触","手部特写","人群"]},{"ep":36,"synopsis":"陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。","hook":"董事会逼顾承宴回避赞助,他会怎么接这一刀?","suspense":"二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。","sceneIds":["S04","S03"],"characterIds":["C02","C09","C01","C04"],"propIds":[],"crowdPlan":"分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。","warnings":["手部特写","人群"]},{"ep":37,"synopsis":"决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。","hook":"秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比?","suspense":"外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。","sceneIds":["S10"],"characterIds":["C01","C02","C16","C17","C03","C10"],"propIds":[],"crowdPlan":"分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。","warnings":["人群"]},{"ep":38,"synopsis":"决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。","hook":"苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅?","suspense":"秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。","sceneIds":["S10"],"characterIds":["C01","C03","C16","C10"],"propIds":[],"crowdPlan":"双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。","warnings":["手部特写","人群"]},{"ep":39,"synopsis":"决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。","hook":"苏晴喊出的二爷是谁,他为何要偷一张点心秘方?","suspense":"二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。","sceneIds":["S10"],"characterIds":["C01","C03","C16","C17","C02","C10"],"propIds":[],"crowdPlan":"分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。","warnings":["人群","肢体接触","手部特写"]},{"ep":40,"synopsis":"夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。","hook":"【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过?","suspense":"照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。","sceneIds":["S02"],"characterIds":["C01"],"propIds":["P03"],"crowdPlan":"单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。","warnings":["手部特写"],"paywall":true},{"ep":41,"synopsis":"夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。","hook":"他看见她手里的两张照片,会承认自己就是那个少年吗?","suspense":"照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。","sceneIds":["S03"],"characterIds":["C01","C02"],"propIds":["P03"],"warnings":["手部特写"]},{"ep":42,"synopsis":"顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。","hook":"那天追来的二爷,真的是顾承宴的亲二叔吗?","suspense":"二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。","sceneIds":["S03"],"characterIds":["C01","C02"],"propIds":["P03"],"warnings":["肢体接触","手部特写"]},{"ep":43,"synopsis":"顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。","hook":"二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手?","suspense":"二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。","sceneIds":["S05"],"characterIds":["C01","C02","C08","C04"],"propIds":["P03"],"crowdPlan":"分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。","warnings":["肢体接触","手部特写"]},{"ep":44,"synopsis":"董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。","hook":"二叔一句外婆当年不知死活,外婆的死难道另有隐情?","suspense":"外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。","sceneIds":["S04"],"characterIds":["C01","C02","C04","C11","C19"],"propIds":["P06"],"crowdPlan":"分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。","warnings":["人群","手部特写"]},{"ep":45,"synopsis":"苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。","hook":"一向和她作对的苏晴,为什么在雨夜湿透了找上门?","suspense":"苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。","sceneIds":["S07","S02"],"characterIds":["C01","C07","C03"],"propIds":[],"crowdPlan":"三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。","warnings":["雨戏","肢体接触","手部特写"]},{"ep":46,"synopsis":"苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。","hook":"外婆的死,难道是二叔一手造成的?","suspense":"外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。","sceneIds":["S02"],"characterIds":["C01","C03"],"propIds":["P05"],"warnings":["手部特写"]},{"ep":47,"synopsis":"苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。","hook":"协议后天就到期,两人都没说出口的话,还来得及说吗?","suspense":"当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。","sceneIds":["S03"],"characterIds":["C01","C02"],"propIds":["P05","P02"],"warnings":["肢体接触","手部特写"]},{"ep":48,"synopsis":"协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。","hook":"顾承宴口中的结束,真的是要和她离婚吗?","suspense":"顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。","sceneIds":["S04","S03"],"characterIds":["C01","C02","C09"],"propIds":["P02"],"crowdPlan":"三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。","warnings":["手部特写"]},{"ep":49,"synopsis":"第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。","hook":"顾承宴为什么失约,陈默这通电话要告诉她什么?","suspense":"顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。","sceneIds":["S01"],"characterIds":["C01","C12"],"propIds":["P01"],"warnings":["手部特写"]},{"ep":50,"paywall":true,"synopsis":"陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。","hook":"【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?","suspense":"刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。","sceneIds":["S01","S07"],"characterIds":["C01","C09","C13"],"propIds":["P01"],"crowdPlan":"分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。","warnings":["手部特写"]},{"ep":51,"synopsis":"重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。","hook":"顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉?","suspense":"二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。","sceneIds":["S07"],"characterIds":["C01","C02","C04"],"propIds":[],"crowdPlan":"顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。","warnings":["肢体接触","手部特写"]},{"ep":52,"synopsis":"深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。","hook":"假昏迷的消息放出去了,二叔会多快咬钩?","suspense":"动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。","sceneIds":["S07"],"characterIds":["C01","C02","C09","C13","C17"],"propIds":[],"crowdPlan":"病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。","warnings":["肢体接触","人群"]},{"ep":53,"synopsis":"顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。","hook":"一周强拆令已下,苏念的铺子还撑得住几天?","suspense":"二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。","sceneIds":["S04"],"characterIds":["C04","C11"],"propIds":[],"warnings":["手部特写"]},{"ep":54,"synopsis":"陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,照外婆的方子蒸了一屉桂花糕,递过去一块。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。","hook":"车里那双眼睛盯上了证人,二叔会先下手吗?","suspense":"修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。","sceneIds":["S09","S02"],"characterIds":["C01","C09","C18"],"propIds":["P03"],"crowdPlan":"老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。","warnings":["手部特写"]},{"ep":55,"synopsis":"苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。","hook":"顾承宴还躺在病房装昏迷,谁能赶来救苏念?","suspense":"苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。","sceneIds":["S09","S11"],"characterIds":["C01","C04","C18"],"propIds":["P05"],"crowdPlan":"老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。","warnings":["肢体接触","手部特写"]},{"ep":56,"synopsis":"苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。","hook":"二叔临走那句林家不干净,林薇薇还藏着什么?","suspense":"林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。","sceneIds":["S11"],"characterIds":["C01","C02","C04","C09","C18"],"propIds":["P05"],"crowdPlan":"拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。","warnings":["肢体接触","手部特写","人群"]},{"ep":57,"synopsis":"顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。","hook":"顾承宴为什么不回答,这段婚姻在他心里到底算不算数?","suspense":"协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。","sceneIds":["S08"],"characterIds":["C01","C02","C07","C09","C11","C17"],"propIds":[],"crowdPlan":"拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。","warnings":["人群","肢体接触","手部特写"]},{"ep":58,"synopsis":"风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。","hook":"求婚成了,奶奶憋了一年的婚礼要怎么办?","suspense":"二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。","sceneIds":["S02"],"characterIds":["C01","C02"],"propIds":["P02"],"warnings":["肢体接触","手部特写"]},{"ep":59,"synopsis":"顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。","hook":"匿名包裹是谁寄来的,那封信里写了什么?","suspense":"寄件人的身份;外婆年轻时的往事与苏记的来历。","sceneIds":["S05","S09"],"characterIds":["C01","C02","C08","C10"],"propIds":["P07"],"crowdPlan":"老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。","warnings":["人群","手部特写"]},{"ep":60,"synopsis":"信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。","hook":"苏念小腹里,是不是已经有了苏记的第四代传人?","suspense":"新生命的到来留白;远走的苏晴是否还会回到老街。","sceneIds":["S09","S01"],"characterIds":["C01","C02","C07","C08","C09","C10","C12"],"propIds":["P07","P01"],"crowdPlan":"婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。","warnings":["人群","肢体接触","手部特写"]}]}</script>
<script>
// beat rhythm: chart / table toggle
document.querySelectorAll('.tab').forEach((btn) => {
btn.addEventListener('click', () => {
document.querySelectorAll('.tab').forEach((b) => b.classList.toggle('on', b === btn));
document.querySelectorAll('.tabpane').forEach((p) => p.classList.toggle('on', p.id === btn.dataset.pane));
});
});
// episode overview: first three by default, one click expands for good
const epsMore = document.querySelector('.epsmore');
if (epsMore) {
epsMore.addEventListener('click', () => {
document.querySelector('.epswrap').classList.remove('clip');
epsMore.remove();
});
}
// export: the report carries outline.json verbatim; the download is byte-identical
document.querySelector('.expo').addEventListener('click', (e) => {
const btn = e.currentTarget;
const url = URL.createObjectURL(
new Blob([document.getElementById('outline-data').textContent], { type: 'application/json' }),
);
const a = Object.assign(document.createElement('a'), { href: url, download: btn.dataset.name });
a.click();
// don't revoke immediately — Safari may kill the blob before the download finishes reading
setTimeout(() => URL.revokeObjectURL(url), 10000);
});
</script>
</body></html>
script-report.html 42,654 字
<!doctype html>
<html lang="zh"><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>闪婚老公藏不住了 · 剧本(第 1–3 集)</title>
<style>
:root{
--paper:#eceded; --panel:#f5f6f5; --side:#e4e6e3; --ink:#191d21; --ink-2:#5b636a; --ink-3:#8c9298;
--rule:#d2d5d0; --rule-2:#c2c6bf; --seal:#8a3324; --seal-2:#c56a4e; --seal-soft:#8a332412; --ok:#3d6b4f;
--band:#3d6b4f22;
--serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC",Georgia,serif;
--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
.page{max-width:1600px;margin:0 auto;padding:24px 32px 90px}
h1,h2,h3{margin:0;font-weight:400}
.hd{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:12px}
.hd h1{font:400 28px/1.1 var(--serif);letter-spacing:.06em}
.hd .sub{font-size:13px;color:var(--ink-2)}
.hd .right{margin-left:auto;display:flex;align-items:center;gap:10px}
.gatepill{display:inline-flex;align-items:center;gap:6px;font:500 12px/1 var(--sans);border-radius:99px;padding:6px 12px}
.gatepill.pass{color:var(--ok);border:1px solid var(--ok)}
.gatepill.fail{color:var(--seal);border:1px solid var(--seal);background:var(--seal-soft)}
.expo{font:500 11px/1 var(--sans);color:var(--ink-2);background:var(--panel);
border:1px solid var(--rule-2);border-radius:2px;padding:7px 11px;cursor:pointer;transition:.15s}
.expo:hover{border-color:var(--seal);color:var(--seal)}
.expo:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0 6px}
@media(max-width:980px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:11px 14px 9px}
.kpi .l{font:500 10px/1 var(--sans);letter-spacing:.18em;color:var(--ink-3)}
.kpi .v{font:400 28px/1.15 var(--serif);margin-top:5px}
.kpi .v small{font:400 14px var(--serif);color:var(--ink-2)}
.kpi .d{font-size:11px;color:var(--ink-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kpi.accent{border-top:2px solid var(--seal)}
.galert{margin:14px 0 0;border:1px solid var(--seal);background:var(--seal-soft);border-radius:2px;
padding:10px 14px;font-size:13px}
.galert b{color:var(--seal)}
.galert span{display:block;font-size:12px;color:var(--ink-2)}
section.top-sec{margin-top:34px}
.sec-h{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule-2);padding-bottom:8px;margin-bottom:16px}
.sec-h .no{font:500 12px/1 var(--mono);color:var(--seal)}
.sec-h h2{font:400 20px/1.2 var(--serif);letter-spacing:.05em}
.sec-h .note{margin-left:auto;font-size:12px;color:var(--ink-3)}
/* duration gauge */
.timing{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:16px 20px 10px}
.trow{display:grid;grid-template-columns:44px minmax(0,1fr) 220px;gap:12px;align-items:center;padding:5px 0}
.tep{font:500 12px/1 var(--mono);color:var(--ink-2)}
.track{position:relative;height:18px;background:var(--paper);border:1px solid var(--rule);border-radius:2px;overflow:hidden}
.band{position:absolute;top:0;bottom:0;background:var(--band)}
.fill{position:absolute;top:2px;bottom:2px;border-radius:1px}
.fill.dlg{left:0;background:var(--seal)}
.fill.act{background:var(--seal-2)}
.tval{font:500 12px/1.5 var(--sans);color:var(--ink-2)}
.tval.okc{color:var(--ok)}
.tval .over{color:var(--seal);font-weight:600}
.legend{display:flex;gap:18px;font-size:12px;color:var(--ink-2);margin:8px 0 2px}
.legend i{font-style:normal;display:inline-flex;align-items:center;gap:6px}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px}
/* episode scripts: two per row; scene area clips at 300px with a fade, expandable */
.eps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.eps.solo{grid-template-columns:minmax(0,1fr)}
@media(max-width:1100px){.eps{grid-template-columns:minmax(0,1fr)}}
.ep{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:18px 22px}
.scenes{position:relative}
.scenes.clip{max-height:300px;overflow:hidden}
.scenes.clip::after{content:'';position:absolute;left:0;right:0;bottom:0;height:70px;
background:linear-gradient(180deg,transparent,var(--panel));pointer-events:none}
.scmore{display:block;width:100%;margin-top:8px;font:500 11.5px/1 var(--sans);letter-spacing:.06em;
color:var(--ink-2);background:var(--paper);border:1px solid var(--rule-2);border-radius:2px;
padding:7px 0;cursor:pointer;transition:.15s}
.scmore:hover{border-color:var(--seal);color:var(--seal)}
.scmore:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.ep-h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--rule-2);padding-bottom:10px}
.ep-n{font:400 22px/1 var(--serif);letter-spacing:.04em;color:var(--seal)}
.ep-est{font-size:12.5px;color:var(--ink-2)}
.bt{font-style:normal;font-size:11px;padding:2px 8px;border:1px solid var(--seal);border-radius:99px;color:var(--seal)}
.hk{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;font-size:13px;padding:10px 0;border-bottom:1px solid var(--rule)}
.hk.cliff{border-bottom:0;border-top:1px solid var(--rule)}
.hk b{font:500 11px/1.9 var(--sans);letter-spacing:.14em;color:var(--seal);white-space:nowrap}
.scene-blk{margin-top:14px}
.scene-h{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:8px}
.scene-h b{font:500 13px var(--serif);letter-spacing:.06em}
.chip{font:400 10.5px/1.6 var(--mono);border:1px solid var(--rule-2);border-radius:2px;
padding:0 6px;background:var(--paper);color:var(--ink-2)}
.chip.lite{border-color:var(--seal-2);color:var(--seal-2)}
.chip.prop{border-color:var(--seal);color:var(--seal)}
.act-line{margin:8px 0;font:400 13.5px/1.9 var(--sans);color:var(--ink-2)}
.act-line.hooked,.dlg-line.hooked{border-left:2px solid var(--seal);padding-left:10px;background:var(--seal-soft)}
.hookat{font-style:normal;font-size:11px;padding:1px 8px;border:1px solid var(--seal);border-radius:99px;color:var(--seal);margin-left:8px;white-space:nowrap}
.dlg-line{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;align-items:baseline;
padding:5px 0 5px 10px;border-left:2px solid var(--rule-2)}
.dlg-line:hover{border-left-color:var(--seal)}
.who{font:500 13px/1.6 var(--serif)}
.who i{display:block;font:400 11px var(--sans);color:var(--ink-3);font-style:normal}
.said{font:400 14.5px/1.8 var(--serif)}
.dlg-line .copy{opacity:0;transition:.15s}
.dlg-line:hover .copy{opacity:1}
/* tables */
table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--rule);font-size:13px}
th,td{padding:8px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
th{font:500 11px/1 var(--sans);letter-spacing:.1em;color:var(--ink-3);background:var(--side)}
tr:last-child td{border-bottom:0}
td:first-child{font-family:var(--mono);font-size:12px;color:var(--ink-2);white-space:nowrap}
/* line book: two per row; lists capped at 6 rows, scroll vertically */
.casts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
@media(max-width:1100px){.casts{grid-template-columns:minmax(0,1fr)}}
.cast-blk{background:var(--panel);border:1px solid var(--rule);border-radius:2px;padding:14px 18px}
.cast-h{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--rule-2);padding-bottom:8px}
.cast-h b{font:400 17px/1.2 var(--serif);letter-spacing:.04em}
.cast-meta{font-size:12px;color:var(--ink-2)}
.cast-h .copy{margin-left:auto}
.cast-lines{margin:8px 0 0;padding:0 6px 0 0;list-style:none;max-height:186px;overflow-y:auto;
scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}
.cast-lines::-webkit-scrollbar{width:6px}
.cast-lines::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:3px}
.cast-lines li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:baseline;
padding:4.5px 0;border-top:1px solid var(--rule);font-size:13px}
.cast-lines li:first-child{border-top:0}
.cast-lines i{font:400 11px/1.8 var(--mono);color:var(--ink-3);font-style:normal}
.cast-lines span{font-family:var(--serif)}
.cast-lines em{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.copy{flex:none;font:500 11px/1 var(--sans);color:var(--ink-2);background:var(--paper);
border:1px solid var(--rule-2);border-radius:2px;padding:4px 10px;cursor:pointer;transition:.15s}
.copy:hover{border-color:var(--seal);color:var(--seal)}
.copy:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
.copy[data-done]{border-color:var(--seal);color:var(--seal)}
.copy.mini{padding:2px 7px;font-size:10.5px}
.gate{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 28px}
@media(max-width:900px){.gate{grid-template-columns:1fr}}
.gate li{display:flex;gap:8px;padding:5px 0;font-size:12.5px;line-height:1.55}
.gate .m{flex:none;font-weight:700}
.gate li.ok .m{color:var(--ok)}
.gate li.bad .m{color:var(--seal)}
.gate li.bad{background:var(--seal-soft);border-radius:2px;padding-left:6px}
.gate small{display:block;color:var(--ink-3)}
.gsum{margin:10px 0 0;font-size:12px;color:var(--ink-2)}
.gsum b{color:var(--seal)}
.foot{margin-top:40px;font-size:11px;color:var(--ink-3);border-top:1px solid var(--rule);padding-top:14px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
.expo,.copy,.scmore{display:none!important}
.scenes.clip{max-height:none}
.scenes.clip::after{display:none}
.cast-lines{max-height:none;overflow:visible}
.eps,.casts{grid-template-columns:minmax(0,1fr)}
.page{max-width:none;padding:0}
section.top-sec,.ep,.cast-blk{page-break-inside:avoid}
body{background:#fff}
}
</style></head><body>
<div class="page">
<header class="hd">
<h1>闪婚老公藏不住了</h1>
<span class="sub">剧本 · 第 1–3 集</span>
<span class="right">
<span class="gatepill pass">✓ 质量门 10 / 10</span>
<button class="expo" data-name="闪婚老公藏不住了-script.json">导出 JSON</button>
</span>
</header>
<div class="kpis">
<div class="kpi accent"><div class="l">集数</div><div class="v">3</div><div class="d">7 场戏</div></div>
<div class="kpi"><div class="l">预估总时长</div><div class="v">4 分 11 秒</div><div class="d">目标 4 分 30 秒</div></div>
<div class="kpi"><div class="l">台词</div><div class="v">58 <small>句</small></div><div class="d">约 163.6 秒对白</div></div>
<div class="kpi"><div class="l">台词占比</div><div class="v">65<small>%</small></div><div class="d">其余是画面与动作</div></div>
<div class="kpi"><div class="l">平均每场</div><div class="v">35.9 <small>秒</small></div><div class="d">换景是统计不是门——AI 换景不要钱</div></div>
</div>
<section class="top-sec" id="sec-timing">
<div class="sec-h"><span class="no">01</span><h2>时长仪表</h2><span class="note">绿带 = 目标 ±15%;台词按语速折算,动作按节拍估时</span></div>
<div class="timing">
<div class="legend">
<i><span class="sw" style="background:var(--seal)"></span>台词</i>
<i><span class="sw" style="background:var(--seal-2)"></span>动作</i>
<i><span class="sw" style="background:var(--band)"></span>目标区间</i>
</div>
<div class="trow">
<span class="tep">E01</span>
<div class="track">
<span class="band" style="left:68.4%;width:24.2%"></span>
<span class="fill dlg" style="width:46.8%"></span>
<span class="fill act" style="left:46.8%;width:29.1%"></span>
</div>
<span class="tval okc">84.8s / 90s</span>
</div>
<div class="trow">
<span class="tep">E02</span>
<div class="track">
<span class="band" style="left:68.4%;width:24.2%"></span>
<span class="fill dlg" style="width:50.3%"></span>
<span class="fill act" style="left:50.3%;width:22.4%"></span>
</div>
<span class="tval okc">81.2s / 90s</span>
</div>
<div class="trow">
<span class="tep">E03</span>
<div class="track">
<span class="band" style="left:68.4%;width:24.2%"></span>
<span class="fill dlg" style="width:49.3%"></span>
<span class="fill act" style="left:49.3%;width:26.8%"></span>
</div>
<span class="tval okc">85.1s / 90s</span>
</div>
</div>
</section>
<section class="top-sec" id="sec-script">
<div class="sec-h"><span class="no">02</span><h2>分集剧本</h2><span class="note">一排两集 · 场次信息超高自动截断,点开看全部</span></div>
<div class="eps">
<article class="ep" id="ep-1">
<header class="ep-h">
<span class="ep-n">E01</span>
<span class="ep-est">预估 84.8 秒 / 目标 90 秒</span>
<i class="bt">闪婚反杀</i>
</header>
<div class="hk"><b>开场钩子</b><span>冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来 <i class="hookat">第 1 场第 1 拍兑现</i></span></div>
<div class="scenes clip">
<section class="scene-blk">
<header class="scene-h">
<b>第 1 场</b>
<span class="chip">S01 S01</span>
<span class="chip">苏念</span><span class="chip">周子昂</span><span class="chip">苏晴</span><span class="chip">顾承宴</span>
</header>
<p class="act-line hooked" title="开场钩子">冷开场:苏念抱着户口本一路小跑上民政局台阶,白衬衫,发间别着一支旧桂花发夹,边跑边看手机。</p>
<p class="act-line">台阶下一辆跑车停下,周子昂下车,转身扶出苏晴,手搂在她腰上。</p>
<div class="dlg-line"><span class="who">苏念<i>笑容僵在脸上</i></span><span class="said">子昂?你怎么带她来了?</span><button class="copy mini" data-copy="子昂?你怎么带她来了?">复制</button></div>
<div class="dlg-line"><span class="who">苏晴<i>夹子音,一手护着小腹,眼里全是得意</i></span><span class="said">姐姐,对不起呀。我怀孕了,是子昂哥的。</span><button class="copy mini" data-copy="姐姐,对不起呀。我怀孕了,是子昂哥的。">复制</button></div>
<p class="act-line">苏晴把一张孕检单塞进苏念手里。排队的路人纷纷回头看。</p>
<div class="dlg-line"><span class="who">周子昂<i>抬手晃了晃腕上的名表</i></span><span class="said">婚不结了。你那破点心铺,还不值我一块表。</span><button class="copy mini" data-copy="婚不结了。你那破点心铺,还不值我一块表。">复制</button></div>
<div class="dlg-line"><span class="who">周子昂</span><span class="said">守着个老太太的破店,能有什么出息?</span><button class="copy mini" data-copy="守着个老太太的破店,能有什么出息?">复制</button></div>
<div class="dlg-line"><span class="who">苏念<i>声音发抖,背挺得笔直</i></span><span class="said">三年,周子昂,我就值一块表?</span><button class="copy mini" data-copy="三年,周子昂,我就值一块表?">复制</button></div>
<p class="act-line">周子昂搂着苏晴转身往停车场走,苏晴回头冲她挥了挥手。</p>
<div class="dlg-line"><span class="who">画外音<i>苏念心声,攥紧孕检单</i></span><span class="said">外婆,铺子我守得住。这个人,我不要了。</span><button class="copy mini" data-copy="外婆,铺子我守得住。这个人,我不要了。">复制</button></div>
<p class="act-line">台阶旁的长椅上,一个穿灰色卫衣的男人正在打电话,眉头紧锁。</p>
<div class="dlg-line"><span class="who">顾承宴<i>压低声音,又急又无奈</i></span><span class="said">奶奶,您先进手术室。今天之内,我一定结婚。</span><button class="copy mini" data-copy="奶奶,您先进手术室。今天之内,我一定结婚。">复制</button></div>
<p class="act-line">苏念把孕检单揉成一团扔进垃圾桶,径直走到长椅前站定。</p>
</section>
<section class="scene-blk">
<header class="scene-h">
<b>第 2 场</b>
<span class="chip">S01 S01</span>
<span class="chip">苏念</span><span class="chip">顾承宴</span><span class="chip">民政局工作人员</span>
<span class="chip prop">P01</span>
</header>
<div class="dlg-line"><span class="who">苏念<i>下巴一抬,像在谈一笔生意</i></span><span class="said">你要结婚?我也要。户口本带了吗?</span><button class="copy mini" data-copy="你要结婚?我也要。户口本带了吗?">复制</button></div>
<p class="act-line">顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。</p>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">带了。你不问我是谁?</span><button class="copy mini" data-copy="带了。你不问我是谁?">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">进去再问。走不走?</span><button class="copy mini" data-copy="进去再问。走不走?">复制</button></div>
<p class="act-line">顾承宴站起来,跟着她走进民政局大厅。</p>
<div class="dlg-line"><span class="who">民政局工作人员<i>看看他又看看她,有点狐疑</i></span><span class="said">两位,确定是自愿结婚吗?</span><button class="copy mini" data-copy="两位,确定是自愿结婚吗?">复制</button></div>
<div class="dlg-line"><span class="who">苏念<i>抢在他前面</i></span><span class="said">确定。</span><button class="copy mini" data-copy="确定。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">确定。</span><button class="copy mini" data-copy="确定。">复制</button></div>
<p class="act-line">钢印落下,工作人员把两本红色结婚证推到他们面前。</p>
</section>
<section class="scene-blk">
<header class="scene-h">
<b>第 3 场</b>
<span class="chip">S01 S01</span>
<span class="chip">苏念</span><span class="chip">顾承宴</span><span class="chip">周子昂</span><span class="chip">苏晴</span><span class="chip">民政局工作人员</span>
<span class="chip prop">P01</span>
</header>
<p class="act-line">苏念拿着结婚证走出大门,正好从刚要上车的周子昂和苏晴面前经过。</p>
<div class="dlg-line"><span class="who">周子昂<i>嗤笑,上下打量顾承宴的卫衣</i></span><span class="said">随便找个打工的就嫁了?苏念,你气我呢?</span><button class="copy mini" data-copy="随便找个打工的就嫁了?苏念,你气我呢?">复制</button></div>
<div class="dlg-line"><span class="who">苏念<i>头也不回</i></span><span class="said">周先生,以后见面,叫我顾太太。</span><button class="copy mini" data-copy="周先生,以后见面,叫我顾太太。">复制</button></div>
<div class="dlg-line"><span class="who">苏晴<i>挽着周子昂,捂嘴笑</i></span><span class="said">顾太太?姐姐,你连他叫什么都不知道吧?</span><button class="copy mini" data-copy="顾太太?姐姐,你连他叫什么都不知道吧?">复制</button></div>
<p class="act-line">顾承宴跟在她身后,嘴角往上动了一下。</p>
<p class="act-line">他口袋里的手机亮了,来电备注是奶奶·手术室。他接起来。</p>
<div class="dlg-line"><span class="who">顾承宴<i>看着苏念的背影</i></span><span class="said">奶奶,我结婚了。</span><button class="copy mini" data-copy="奶奶,我结婚了。">复制</button></div>
<p class="act-line">大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。</p>
</section>
</div>
<button class="scmore">▾ 展开全部场次</button>
<div class="hk cliff"><b>结尾悬念</b><span>刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁?</span></div>
</article>
<article class="ep" id="ep-2">
<header class="ep-h">
<span class="ep-n">E02</span>
<span class="ep-est">预估 81.2 秒 / 目标 90 秒</span>
</header>
<div class="hk"><b>开场钩子</b><span>冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理 <i class="hookat">第 1 场第 1 拍兑现</i></span></div>
<div class="scenes clip">
<section class="scene-blk">
<header class="scene-h">
<b>第 1 场</b>
<span class="chip">S03 S03</span>
<span class="chip">顾承宴</span><span class="chip">苏念</span>
<span class="chip prop">P02</span>
</header>
<p class="act-line hooked" title="开场钩子">冷开场:顾承宴拎着苏念的行李箱推门进屋,苏念跟进来,四下打量这间空荡荡的小两居。</p>
<div class="dlg-line"><span class="who">苏念</span><span class="said">这是你家?干净得像没人住过。</span><button class="copy mini" data-copy="这是你家?干净得像没人住过。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴<i>顿了一下才答</i></span><span class="said">刚搬来。</span><button class="copy mini" data-copy="刚搬来。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">你在哪上班?</span><button class="copy mini" data-copy="你在哪上班?">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">顾氏集团,项目经理。</span><button class="copy mini" data-copy="顾氏集团,项目经理。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">顾氏?你也姓顾,这么巧?</span><button class="copy mini" data-copy="顾氏?你也姓顾,这么巧?">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴<i>面不改色</i></span><span class="said">顾姓在这儿很常见。</span><button class="copy mini" data-copy="顾姓在这儿很常见。">复制</button></div>
<p class="act-line">他从公文包里抽出一份文件,放在茶几上,封面写着婚前协议。</p>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">一年为期。互不干涉,互不动心。</span><button class="copy mini" data-copy="一年为期。互不干涉,互不动心。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">到期和平离婚,你的铺子我一分不碰。</span><button class="copy mini" data-copy="到期和平离婚,你的铺子我一分不碰。">复制</button></div>
<p class="act-line">苏念拿起笔翻到最后一页,签下自己的名字,把笔往桌上一放。</p>
<div class="dlg-line"><span class="who">苏念<i>笔尖点着协议</i></span><span class="said">我也加一条:外婆的铺子,你不许打主意。</span><button class="copy mini" data-copy="我也加一条:外婆的铺子,你不许打主意。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">我对点心铺没兴趣。</span><button class="copy mini" data-copy="我对点心铺没兴趣。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">正好,我也没打算动心。</span><button class="copy mini" data-copy="正好,我也没打算动心。">复制</button></div>
<p class="act-line">顾承宴走进厨房,连拧三次燃气灶,一次都没打着火。</p>
<div class="dlg-line"><span class="who">苏念<i>倚在厨房门口,憋着笑</i></span><span class="said">你连火都不会开?</span><button class="copy mini" data-copy="你连火都不会开?">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">平时吃公司食堂。</span><button class="copy mini" data-copy="平时吃公司食堂。">复制</button></div>
<div class="dlg-line"><span class="who">苏念<i>眯起眼睛</i></span><span class="said">项目经理住这么好的房子,天天吃食堂?</span><button class="copy mini" data-copy="项目经理住这么好的房子,天天吃食堂?">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴<i>转身去拿碗,避开她的目光</i></span><span class="said">公司分的。</span><button class="copy mini" data-copy="公司分的。">复制</button></div>
<p class="act-line">他忽然一手按住胃,弯下腰,额头冒出一层汗。</p>
<div class="dlg-line"><span class="who">苏念<i>嘴上凶,人已经挽起袖子</i></span><span class="said">胃病?去坐着,别动。</span><button class="copy mini" data-copy="胃病?去坐着,别动。">复制</button></div>
<p class="act-line">苏念打着火,烧水下面,往锅里卧了一个荷包蛋。</p>
<p class="act-line">她把一碗热汤面端到他面前,坐在对面。</p>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">我吃什么都没味道,别白费劲。</span><button class="copy mini" data-copy="我吃什么都没味道,别白费劲。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">吃一口再说。</span><button class="copy mini" data-copy="吃一口再说。">复制</button></div>
<p class="act-line">顾承宴低头吃了一口,筷子停在半空。</p>
<div class="dlg-line"><span class="who">画外音<i>顾承宴心声,不敢置信</i></span><span class="said">有味道……十五年了,我又尝到了。</span><button class="copy mini" data-copy="有味道……十五年了,我又尝到了。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">难吃就直说。</span><button class="copy mini" data-copy="难吃就直说。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴<i>低头又吃了一大口,没抬眼</i></span><span class="said">不难吃。</span><button class="copy mini" data-copy="不难吃。">复制</button></div>
<p class="act-line">他的手机震了一下,屏幕上是奶奶发来的消息。</p>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">明天跟我去趟医院。我奶奶要见你。</span><button class="copy mini" data-copy="明天跟我去趟医院。我奶奶要见你。">复制</button></div>
<div class="dlg-line"><span class="who">顾承宴</span><span class="said">她原话是,要验货。</span><button class="copy mini" data-copy="她原话是,要验货。">复制</button></div>
<div class="dlg-line"><span class="who">苏念<i>呛了一口面汤</i></span><span class="said">验……什么货?</span><button class="copy mini" data-copy="验……什么货?">复制</button></div>
<p class="act-line">苏念起身去玄关放鞋,打开鞋柜,里面摆着一双崭新的手工皮鞋,价签上是六位数。</p>
</section>
</div>
<button class="scmore">▾ 展开全部场次</button>
<div class="hk cliff"><b>结尾悬念</b><span>奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲</span></div>
</article>
<article class="ep" id="ep-3">
<header class="ep-h">
<span class="ep-n">E03</span>
<span class="ep-est">预估 85.1 秒 / 目标 90 秒</span>
<i class="bt">打脸</i>
</header>
<div class="hk"><b>开场钩子</b><span>冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了 <i class="hookat">第 1 场第 1 拍兑现</i></span></div>
<div class="scenes clip">
<section class="scene-blk">
<header class="scene-h">
<b>第 1 场</b>
<span class="chip">S02 S02</span>
<span class="chip">刘美琴</span><span class="chip">苏晴</span><span class="chip">苏念</span>
<span class="chip prop">P03</span>
</header>
<p class="act-line hooked" title="开场钩子">冷开场:刘美琴一把推开苏记的木门闯进来,苏晴挎着包跟在后面。</p>
<p class="act-line">苏念正在柜台后揉面,抬起头。</p>
<div class="dlg-line"><span class="who">刘美琴<i>笑着,像在通知搬家</i></span><span class="said">念念,收拾收拾,三天内搬走。</span><button class="copy mini" data-copy="念念,收拾收拾,三天内搬走。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">凭什么?</span><button class="copy mini" data-copy="凭什么?">复制</button></div>
<div class="dlg-line"><span class="who">刘美琴</span><span class="said">你爸早把铺子抵给周家了,白纸黑字。</span><button class="copy mini" data-copy="你爸早把铺子抵给周家了,白纸黑字。">复制</button></div>
<p class="act-line">刘美琴把一张抵押单拍在柜台上。</p>
<div class="dlg-line"><span class="who">苏晴<i>边说边拿起一块桂花糕</i></span><span class="said">姐姐都嫁人了,还占着娘家铺子,不合适吧?</span><button class="copy mini" data-copy="姐姐都嫁人了,还占着娘家铺子,不合适吧?">复制</button></div>
<p class="act-line">苏晴咬了一口桂花糕,又吐回盘子里。</p>
<p class="act-line">苏念放下擀面杖,看着盘子里那块被吐回来的糕。</p>
<div class="dlg-line"><span class="who">苏念<i>不咸不淡</i></span><span class="said">吐出来的那块,按原价十块赔。</span><button class="copy mini" data-copy="吐出来的那块,按原价十块赔。">复制</button></div>
<div class="dlg-line"><span class="who">苏晴</span><span class="said">这糕也就那样,难怪没人买。</span><button class="copy mini" data-copy="这糕也就那样,难怪没人买。">复制</button></div>
<p class="act-line">苏念擦干手,弯腰从柜台下面抱出一只旧铁皮点心盒。</p>
<div class="dlg-line"><span class="who">刘美琴</span><span class="said">拿个破盒子干什么?</span><button class="copy mini" data-copy="拿个破盒子干什么?">复制</button></div>
<p class="act-line">苏念打开铁皮盒,取出一份盖着红章的文件,摊在抵押单旁边。</p>
<div class="dlg-line"><span class="who">苏念<i>一字一顿</i></span><span class="said">外婆的遗嘱,公证过的。</span><button class="copy mini" data-copy="外婆的遗嘱,公证过的。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">铺子留给我,不是苏家的,更轮不到周家。</span><button class="copy mini" data-copy="铺子留给我,不是苏家的,更轮不到周家。">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">我爸拿别人的东西去抵押,这张单子一文不值。</span><button class="copy mini" data-copy="我爸拿别人的东西去抵押,这张单子一文不值。">复制</button></div>
<p class="act-line">刘美琴抢过遗嘱看了两眼,脸色一下子青了。</p>
<div class="dlg-line"><span class="who">刘美琴</span><span class="said">你外婆什么时候弄的这个?</span><button class="copy mini" data-copy="你外婆什么时候弄的这个?">复制</button></div>
<div class="dlg-line"><span class="who">苏念</span><span class="said">她走之前。她说这铺子,防的就是你们。</span><button class="copy mini" data-copy="她走之前。她说这铺子,防的就是你们。">复制</button></div>
<p class="act-line">苏念把遗嘱放回盒子扣上盖,抬手指向门口。</p>
<div class="dlg-line"><span class="who">苏念</span><span class="said">门在那儿,慢走不送。</span><button class="copy mini" data-copy="门在那儿,慢走不送。">复制</button></div>
<p class="act-line">刘美琴抓起包,拽着苏晴往外走。</p>
<div class="dlg-line"><span class="who">刘美琴<i>在门口回头,嗓门尖得刺耳</i></span><span class="said">你别得意!你爸那边,你自己去交代!</span><button class="copy mini" data-copy="你别得意!你爸那边,你自己去交代!">复制</button></div>
</section>
<section class="scene-blk">
<header class="scene-h">
<b>第 2 场</b>
<span class="chip">S09 S09</span>
<span class="chip">苏晴</span>
</header>
<p class="act-line">老街上,苏晴回头瞪了一眼苏记的招牌,掏出手机拨了个号码。</p>
<div class="dlg-line"><span class="who">苏晴<i>压低声音,笑得发冷</i></span><span class="said">子昂哥,她有遗嘱。不过没关系。</span><button class="copy mini" data-copy="子昂哥,她有遗嘱。不过没关系。">复制</button></div>
<div class="dlg-line"><span class="who">苏晴</span><span class="said">老街不是要拆了吗?看她还能守几天。</span><button class="copy mini" data-copy="老街不是要拆了吗?看她还能守几天。">复制</button></div>
<div class="dlg-line"><span class="who">苏晴</span><span class="said">放心,她嫁的那个打工的,护不住她。</span><button class="copy mini" data-copy="放心,她嫁的那个打工的,护不住她。">复制</button></div>
</section>
<section class="scene-blk">
<header class="scene-h">
<b>第 3 场</b>
<span class="chip">S02 S02</span>
<span class="chip">苏念</span>
<span class="chip prop">P03</span>
</header>
<p class="act-line">铺子里,苏念抱着铁皮盒坐下,手指摸到盒底,那里有一道细细的缝。</p>
</section>
</div>
<button class="scmore">▾ 展开全部场次</button>
<div class="hk cliff"><b>结尾悬念</b><span>苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么?</span></div>
</article>
</div>
</section>
<section class="top-sec" id="sec-scenes">
<div class="sec-h"><span class="no">03</span><h2>场次总表</h2><span class="note">自动汇总 · 模型不写</span></div>
<table><thead><tr><th>集</th><th>场</th><th>场景</th><th>光照</th><th>人物</th><th>台词句数</th><th>估秒</th></tr></thead>
<tbody><tr><td>1</td><td>1</td><td>S01 S01</td><td></td><td>苏念、周子昂、苏晴、顾承宴</td><td>7</td><td>41.9</td></tr>
<tr><td>1</td><td>2</td><td>S01 S01</td><td></td><td>苏念、顾承宴、民政局工作人员</td><td>6</td><td>19.3</td></tr>
<tr><td>1</td><td>3</td><td>S01 S01</td><td></td><td>苏念、顾承宴、周子昂、苏晴、民政局工作人员</td><td>4</td><td>23.6</td></tr>
<tr><td>2</td><td>1</td><td>S03 S03</td><td></td><td>顾承宴、苏念</td><td>24</td><td>81.2</td></tr>
<tr><td>3</td><td>1</td><td>S02 S02</td><td></td><td>刘美琴、苏晴、苏念</td><td>14</td><td>69.2</td></tr>
<tr><td>3</td><td>2</td><td>S09 S09</td><td></td><td>苏晴</td><td>3</td><td>13.4</td></tr>
<tr><td>3</td><td>3</td><td>S02 S02</td><td></td><td>苏念</td><td>0</td><td>2.5</td></tr></tbody></table>
</section>
<section class="top-sec" id="sec-cast">
<div class="sec-h"><span class="no">04</span><h2>台词本</h2><span class="note">按角色聚合 · 列表最多显示 6 行可滚动 · 直接对接 TTS 批量生成</span></div>
<div class="casts">
<section class="cast-blk">
<header class="cast-h">
<b>苏念</b>
<span class="cast-meta">24 句 · 282 字 · 约 62.7 秒</span>
<button class="copy" data-copy="子昂?你怎么带她来了?
三年,周子昂,我就值一块表?
你要结婚?我也要。户口本带了吗?
进去再问。走不走?
确定。
周先生,以后见面,叫我顾太太。
这是你家?干净得像没人住过。
你在哪上班?
顾氏?你也姓顾,这么巧?
我也加一条:外婆的铺子,你不许打主意。
正好,我也没打算动心。
你连火都不会开?
项目经理住这么好的房子,天天吃食堂?
胃病?去坐着,别动。
吃一口再说。
难吃就直说。
验……什么货?
凭什么?
吐出来的那块,按原价十块赔。
外婆的遗嘱,公证过的。
铺子留给我,不是苏家的,更轮不到周家。
我爸拿别人的东西去抵押,这张单子一文不值。
她走之前。她说这铺子,防的就是你们。
门在那儿,慢走不送。">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 1 场</i><span>子昂?你怎么带她来了?</span><em>笑容僵在脸上</em></li><li><i>E01 第 1 场</i><span>三年,周子昂,我就值一块表?</span><em>声音发抖,背挺得笔直</em></li><li><i>E01 第 2 场</i><span>你要结婚?我也要。户口本带了吗?</span><em>下巴一抬,像在谈一笔生意</em></li><li><i>E01 第 2 场</i><span>进去再问。走不走?</span></li><li><i>E01 第 2 场</i><span>确定。</span><em>抢在他前面</em></li><li><i>E01 第 3 场</i><span>周先生,以后见面,叫我顾太太。</span><em>头也不回</em></li><li><i>E02 第 1 场</i><span>这是你家?干净得像没人住过。</span></li><li><i>E02 第 1 场</i><span>你在哪上班?</span></li><li><i>E02 第 1 场</i><span>顾氏?你也姓顾,这么巧?</span></li><li><i>E02 第 1 场</i><span>我也加一条:外婆的铺子,你不许打主意。</span><em>笔尖点着协议</em></li><li><i>E02 第 1 场</i><span>正好,我也没打算动心。</span></li><li><i>E02 第 1 场</i><span>你连火都不会开?</span><em>倚在厨房门口,憋着笑</em></li><li><i>E02 第 1 场</i><span>项目经理住这么好的房子,天天吃食堂?</span><em>眯起眼睛</em></li><li><i>E02 第 1 场</i><span>胃病?去坐着,别动。</span><em>嘴上凶,人已经挽起袖子</em></li><li><i>E02 第 1 场</i><span>吃一口再说。</span></li><li><i>E02 第 1 场</i><span>难吃就直说。</span></li><li><i>E02 第 1 场</i><span>验……什么货?</span><em>呛了一口面汤</em></li><li><i>E03 第 1 场</i><span>凭什么?</span></li><li><i>E03 第 1 场</i><span>吐出来的那块,按原价十块赔。</span><em>不咸不淡</em></li><li><i>E03 第 1 场</i><span>外婆的遗嘱,公证过的。</span><em>一字一顿</em></li><li><i>E03 第 1 场</i><span>铺子留给我,不是苏家的,更轮不到周家。</span></li><li><i>E03 第 1 场</i><span>我爸拿别人的东西去抵押,这张单子一文不值。</span></li><li><i>E03 第 1 场</i><span>她走之前。她说这铺子,防的就是你们。</span></li><li><i>E03 第 1 场</i><span>门在那儿,慢走不送。</span></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>顾承宴</b>
<span class="cast-meta">16 句 · 162 字 · 约 36 秒</span>
<button class="copy" data-copy="奶奶,您先进手术室。今天之内,我一定结婚。
带了。你不问我是谁?
确定。
奶奶,我结婚了。
刚搬来。
顾氏集团,项目经理。
顾姓在这儿很常见。
一年为期。互不干涉,互不动心。
到期和平离婚,你的铺子我一分不碰。
我对点心铺没兴趣。
平时吃公司食堂。
公司分的。
我吃什么都没味道,别白费劲。
不难吃。
明天跟我去趟医院。我奶奶要见你。
她原话是,要验货。">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 1 场</i><span>奶奶,您先进手术室。今天之内,我一定结婚。</span><em>压低声音,又急又无奈</em></li><li><i>E01 第 2 场</i><span>带了。你不问我是谁?</span></li><li><i>E01 第 2 场</i><span>确定。</span></li><li><i>E01 第 3 场</i><span>奶奶,我结婚了。</span><em>看着苏念的背影</em></li><li><i>E02 第 1 场</i><span>刚搬来。</span><em>顿了一下才答</em></li><li><i>E02 第 1 场</i><span>顾氏集团,项目经理。</span></li><li><i>E02 第 1 场</i><span>顾姓在这儿很常见。</span><em>面不改色</em></li><li><i>E02 第 1 场</i><span>一年为期。互不干涉,互不动心。</span></li><li><i>E02 第 1 场</i><span>到期和平离婚,你的铺子我一分不碰。</span></li><li><i>E02 第 1 场</i><span>我对点心铺没兴趣。</span></li><li><i>E02 第 1 场</i><span>平时吃公司食堂。</span></li><li><i>E02 第 1 场</i><span>公司分的。</span><em>转身去拿碗,避开她的目光</em></li><li><i>E02 第 1 场</i><span>我吃什么都没味道,别白费劲。</span></li><li><i>E02 第 1 场</i><span>不难吃。</span><em>低头又吃了一大口,没抬眼</em></li><li><i>E02 第 1 场</i><span>明天跟我去趟医院。我奶奶要见你。</span></li><li><i>E02 第 1 场</i><span>她原话是,要验货。</span></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>苏晴</b>
<span class="cast-meta">7 句 · 120 字 · 约 26.7 秒</span>
<button class="copy" data-copy="姐姐,对不起呀。我怀孕了,是子昂哥的。
顾太太?姐姐,你连他叫什么都不知道吧?
姐姐都嫁人了,还占着娘家铺子,不合适吧?
这糕也就那样,难怪没人买。
子昂哥,她有遗嘱。不过没关系。
老街不是要拆了吗?看她还能守几天。
放心,她嫁的那个打工的,护不住她。">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 1 场</i><span>姐姐,对不起呀。我怀孕了,是子昂哥的。</span><em>夹子音,一手护着小腹,眼里全是得意</em></li><li><i>E01 第 3 场</i><span>顾太太?姐姐,你连他叫什么都不知道吧?</span><em>挽着周子昂,捂嘴笑</em></li><li><i>E03 第 1 场</i><span>姐姐都嫁人了,还占着娘家铺子,不合适吧?</span><em>边说边拿起一块桂花糕</em></li><li><i>E03 第 1 场</i><span>这糕也就那样,难怪没人买。</span></li><li><i>E03 第 2 场</i><span>子昂哥,她有遗嘱。不过没关系。</span><em>压低声音,笑得发冷</em></li><li><i>E03 第 2 场</i><span>老街不是要拆了吗?看她还能守几天。</span></li><li><i>E03 第 2 场</i><span>放心,她嫁的那个打工的,护不住她。</span></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>刘美琴</b>
<span class="cast-meta">5 句 · 69 字 · 约 15.3 秒</span>
<button class="copy" data-copy="念念,收拾收拾,三天内搬走。
你爸早把铺子抵给周家了,白纸黑字。
拿个破盒子干什么?
你外婆什么时候弄的这个?
你别得意!你爸那边,你自己去交代!">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E03 第 1 场</i><span>念念,收拾收拾,三天内搬走。</span><em>笑着,像在通知搬家</em></li><li><i>E03 第 1 场</i><span>你爸早把铺子抵给周家了,白纸黑字。</span></li><li><i>E03 第 1 场</i><span>拿个破盒子干什么?</span></li><li><i>E03 第 1 场</i><span>你外婆什么时候弄的这个?</span></li><li><i>E03 第 1 场</i><span>你别得意!你爸那边,你自己去交代!</span><em>在门口回头,嗓门尖得刺耳</em></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>周子昂</b>
<span class="cast-meta">3 句 · 56 字 · 约 12.4 秒</span>
<button class="copy" data-copy="婚不结了。你那破点心铺,还不值我一块表。
守着个老太太的破店,能有什么出息?
随便找个打工的就嫁了?苏念,你气我呢?">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 1 场</i><span>婚不结了。你那破点心铺,还不值我一块表。</span><em>抬手晃了晃腕上的名表</em></li><li><i>E01 第 1 场</i><span>守着个老太太的破店,能有什么出息?</span></li><li><i>E01 第 3 场</i><span>随便找个打工的就嫁了?苏念,你气我呢?</span><em>嗤笑,上下打量顾承宴的卫衣</em></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>画外音</b>
<span class="cast-meta">2 句 · 35 字 · 约 7.8 秒</span>
<button class="copy" data-copy="外婆,铺子我守得住。这个人,我不要了。
有味道……十五年了,我又尝到了。">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 1 场</i><span>外婆,铺子我守得住。这个人,我不要了。</span><em>苏念心声,攥紧孕检单</em></li><li><i>E02 第 1 场</i><span>有味道……十五年了,我又尝到了。</span><em>顾承宴心声,不敢置信</em></li></ol>
</section>
<section class="cast-blk">
<header class="cast-h">
<b>民政局工作人员</b>
<span class="cast-meta">1 句 · 12 字 · 约 2.7 秒</span>
<button class="copy" data-copy="两位,确定是自愿结婚吗?">复制全部台词</button>
</header>
<ol class="cast-lines"><li><i>E01 第 2 场</i><span>两位,确定是自愿结婚吗?</span><em>看看他又看看她,有点狐疑</em></li></ol>
</section>
</div>
</section>
<section class="top-sec" id="sec-gates">
<div class="sec-h"><span class="no">05</span><h2>质量门</h2></div>
<ul class="gate">
<li class="ok"><span class="m">✓</span><span>每集时长在目标 ±15% 内</span></li>
<li class="ok"><span class="m">✓</span><span>单句台词 ≤ 35 字</span></li>
<li class="ok"><span class="m">✓</span><span>说话人在本场人物里,或明确标画外音 VO</span></li>
<li class="ok"><span class="m">✓</span><span>每集开场钩子与结尾悬念都落在纸面</span></li>
<li class="ok"><span class="m">✓</span><span>钩子的具象在全集前 3 拍内兑现(hookBeat 认领)</span></li>
<li class="ok"><span class="m">✓</span><span>每场至少一个动作节拍——纯对白的场是广播剧</span></li>
<li class="ok"><span class="m">✓</span><span>动作描述叙述体,台词只进 dialogue 字段</span></li>
<li class="ok"><span class="m">✓</span><span>大纲爽点逐集认领</span></li>
<li class="ok"><span class="m">✓</span><span>角色引用对账大纲</span></li>
<li class="ok"><span class="m">✓</span><span>场景/光照/道具对账美术设定<small>未提供 art.json,本门跳过(视为通过)</small></span></li>
</ul>
<p class="gsum">全部通过</p>
</section>
<p class="foot">剧本由模型依据大纲与美术设定生成,时长与引用由脚本确定性检查。分镜与首帧提示词是下一层的事,不在本报告里。</p>
</div>
<script type="application/json" id="script-data">{"source":"闪婚老公藏不住了","lang":"zh","episodes":[{"ep":1,"targetSeconds":90,"hook":"冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来","cliff":"刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁?","beatsClaimed":["闪婚反杀"],"hookBeat":[1,1],"scenes":[{"sceneId":"S01","characters":["C01","C05","C03","C02"],"props":[],"flow":[{"action":"冷开场:苏念抱着户口本一路小跑上民政局台阶,白衬衫,发间别着一支旧桂花发夹,边跑边看手机。"},{"action":"台阶下一辆跑车停下,周子昂下车,转身扶出苏晴,手搂在她腰上。"},{"speaker":"C01","line":"子昂?你怎么带她来了?","delivery":"笑容僵在脸上"},{"speaker":"C03","line":"姐姐,对不起呀。我怀孕了,是子昂哥的。","delivery":"夹子音,一手护着小腹,眼里全是得意"},{"action":"苏晴把一张孕检单塞进苏念手里。排队的路人纷纷回头看。"},{"speaker":"C05","line":"婚不结了。你那破点心铺,还不值我一块表。","delivery":"抬手晃了晃腕上的名表"},{"speaker":"C05","line":"守着个老太太的破店,能有什么出息?"},{"speaker":"C01","line":"三年,周子昂,我就值一块表?","delivery":"声音发抖,背挺得笔直"},{"action":"周子昂搂着苏晴转身往停车场走,苏晴回头冲她挥了挥手。"},{"speaker":"VO","line":"外婆,铺子我守得住。这个人,我不要了。","delivery":"苏念心声,攥紧孕检单"},{"action":"台阶旁的长椅上,一个穿灰色卫衣的男人正在打电话,眉头紧锁。"},{"speaker":"C02","line":"奶奶,您先进手术室。今天之内,我一定结婚。","delivery":"压低声音,又急又无奈"},{"action":"苏念把孕检单揉成一团扔进垃圾桶,径直走到长椅前站定。"}]},{"sceneId":"S01","characters":["C01","C02","C12"],"props":["P01"],"flow":[{"speaker":"C01","line":"你要结婚?我也要。户口本带了吗?","delivery":"下巴一抬,像在谈一笔生意"},{"action":"顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。"},{"speaker":"C02","line":"带了。你不问我是谁?"},{"speaker":"C01","line":"进去再问。走不走?"},{"action":"顾承宴站起来,跟着她走进民政局大厅。"},{"speaker":"C12","line":"两位,确定是自愿结婚吗?","delivery":"看看他又看看她,有点狐疑"},{"speaker":"C01","line":"确定。","delivery":"抢在他前面"},{"speaker":"C02","line":"确定。"},{"action":"钢印落下,工作人员把两本红色结婚证推到他们面前。"}]},{"sceneId":"S01","characters":["C01","C02","C05","C03","C12"],"props":["P01"],"flow":[{"action":"苏念拿着结婚证走出大门,正好从刚要上车的周子昂和苏晴面前经过。"},{"speaker":"C05","line":"随便找个打工的就嫁了?苏念,你气我呢?","delivery":"嗤笑,上下打量顾承宴的卫衣"},{"speaker":"C01","line":"周先生,以后见面,叫我顾太太。","delivery":"头也不回"},{"speaker":"C03","line":"顾太太?姐姐,你连他叫什么都不知道吧?","delivery":"挽着周子昂,捂嘴笑"},{"action":"顾承宴跟在她身后,嘴角往上动了一下。"},{"action":"他口袋里的手机亮了,来电备注是奶奶·手术室。他接起来。"},{"speaker":"C02","line":"奶奶,我结婚了。","delivery":"看着苏念的背影"},{"action":"大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。"}]}]},{"ep":2,"targetSeconds":90,"hook":"冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理","cliff":"奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲","beatsClaimed":[],"hookBeat":[1,1],"scenes":[{"sceneId":"S03","characters":["C02","C01"],"props":["P02"],"flow":[{"action":"冷开场:顾承宴拎着苏念的行李箱推门进屋,苏念跟进来,四下打量这间空荡荡的小两居。"},{"speaker":"C01","line":"这是你家?干净得像没人住过。"},{"speaker":"C02","line":"刚搬来。","delivery":"顿了一下才答"},{"speaker":"C01","line":"你在哪上班?"},{"speaker":"C02","line":"顾氏集团,项目经理。"},{"speaker":"C01","line":"顾氏?你也姓顾,这么巧?"},{"speaker":"C02","line":"顾姓在这儿很常见。","delivery":"面不改色"},{"action":"他从公文包里抽出一份文件,放在茶几上,封面写着婚前协议。"},{"speaker":"C02","line":"一年为期。互不干涉,互不动心。"},{"speaker":"C02","line":"到期和平离婚,你的铺子我一分不碰。"},{"action":"苏念拿起笔翻到最后一页,签下自己的名字,把笔往桌上一放。"},{"speaker":"C01","line":"我也加一条:外婆的铺子,你不许打主意。","delivery":"笔尖点着协议"},{"speaker":"C02","line":"我对点心铺没兴趣。"},{"speaker":"C01","line":"正好,我也没打算动心。"},{"action":"顾承宴走进厨房,连拧三次燃气灶,一次都没打着火。"},{"speaker":"C01","line":"你连火都不会开?","delivery":"倚在厨房门口,憋着笑"},{"speaker":"C02","line":"平时吃公司食堂。"},{"speaker":"C01","line":"项目经理住这么好的房子,天天吃食堂?","delivery":"眯起眼睛"},{"speaker":"C02","line":"公司分的。","delivery":"转身去拿碗,避开她的目光"},{"action":"他忽然一手按住胃,弯下腰,额头冒出一层汗。"},{"speaker":"C01","line":"胃病?去坐着,别动。","delivery":"嘴上凶,人已经挽起袖子"},{"action":"苏念打着火,烧水下面,往锅里卧了一个荷包蛋。"},{"action":"她把一碗热汤面端到他面前,坐在对面。"},{"speaker":"C02","line":"我吃什么都没味道,别白费劲。"},{"speaker":"C01","line":"吃一口再说。"},{"action":"顾承宴低头吃了一口,筷子停在半空。"},{"speaker":"VO","line":"有味道……十五年了,我又尝到了。","delivery":"顾承宴心声,不敢置信"},{"speaker":"C01","line":"难吃就直说。"},{"speaker":"C02","line":"不难吃。","delivery":"低头又吃了一大口,没抬眼"},{"action":"他的手机震了一下,屏幕上是奶奶发来的消息。"},{"speaker":"C02","line":"明天跟我去趟医院。我奶奶要见你。"},{"speaker":"C02","line":"她原话是,要验货。"},{"speaker":"C01","line":"验……什么货?","delivery":"呛了一口面汤"},{"action":"苏念起身去玄关放鞋,打开鞋柜,里面摆着一双崭新的手工皮鞋,价签上是六位数。"}]}]},{"ep":3,"targetSeconds":90,"hook":"冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了","cliff":"苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么?","beatsClaimed":["打脸"],"hookBeat":[1,1],"scenes":[{"sceneId":"S02","characters":["C06","C03","C01"],"props":["P03"],"flow":[{"action":"冷开场:刘美琴一把推开苏记的木门闯进来,苏晴挎着包跟在后面。"},{"action":"苏念正在柜台后揉面,抬起头。"},{"speaker":"C06","line":"念念,收拾收拾,三天内搬走。","delivery":"笑着,像在通知搬家"},{"speaker":"C01","line":"凭什么?"},{"speaker":"C06","line":"你爸早把铺子抵给周家了,白纸黑字。"},{"action":"刘美琴把一张抵押单拍在柜台上。"},{"speaker":"C03","line":"姐姐都嫁人了,还占着娘家铺子,不合适吧?","delivery":"边说边拿起一块桂花糕"},{"action":"苏晴咬了一口桂花糕,又吐回盘子里。"},{"action":"苏念放下擀面杖,看着盘子里那块被吐回来的糕。"},{"speaker":"C01","line":"吐出来的那块,按原价十块赔。","delivery":"不咸不淡"},{"speaker":"C03","line":"这糕也就那样,难怪没人买。"},{"action":"苏念擦干手,弯腰从柜台下面抱出一只旧铁皮点心盒。"},{"speaker":"C06","line":"拿个破盒子干什么?"},{"action":"苏念打开铁皮盒,取出一份盖着红章的文件,摊在抵押单旁边。"},{"speaker":"C01","line":"外婆的遗嘱,公证过的。","delivery":"一字一顿"},{"speaker":"C01","line":"铺子留给我,不是苏家的,更轮不到周家。"},{"speaker":"C01","line":"我爸拿别人的东西去抵押,这张单子一文不值。"},{"action":"刘美琴抢过遗嘱看了两眼,脸色一下子青了。"},{"speaker":"C06","line":"你外婆什么时候弄的这个?"},{"speaker":"C01","line":"她走之前。她说这铺子,防的就是你们。"},{"action":"苏念把遗嘱放回盒子扣上盖,抬手指向门口。"},{"speaker":"C01","line":"门在那儿,慢走不送。"},{"action":"刘美琴抓起包,拽着苏晴往外走。"},{"speaker":"C06","line":"你别得意!你爸那边,你自己去交代!","delivery":"在门口回头,嗓门尖得刺耳"}]},{"sceneId":"S09","characters":["C03"],"props":[],"flow":[{"action":"老街上,苏晴回头瞪了一眼苏记的招牌,掏出手机拨了个号码。"},{"speaker":"C03","line":"子昂哥,她有遗嘱。不过没关系。","delivery":"压低声音,笑得发冷"},{"speaker":"C03","line":"老街不是要拆了吗?看她还能守几天。"},{"speaker":"C03","line":"放心,她嫁的那个打工的,护不住她。"}]},{"sceneId":"S02","characters":["C01"],"props":["P03"],"flow":[{"action":"铺子里,苏念抱着铁皮盒坐下,手指摸到盒底,那里有一道细细的缝。"}]}]}]}</script>
<script>
const L = {"copied":"已复制","failed":"复制失败","show":"▾ 展开全部场次","hide":"▴ 收起场次"};
// episode scripts: scene areas clip at 300px; short ones unclip, tall ones toggle
document.querySelectorAll('.scmore').forEach((btn) => {
const zone = btn.previousElementSibling;
if (zone.scrollHeight <= 320) {
zone.classList.remove('clip');
btn.remove();
return;
}
btn.addEventListener('click', () => {
const clipped = zone.classList.toggle('clip');
btn.textContent = clipped ? L.show : L.hide;
if (clipped) zone.closest('.ep').scrollIntoView({ block: 'nearest' });
});
});
// copy buttons (a single line / a character's whole line book)
document.addEventListener('click', async (e) => {
const btn = e.target.closest('.copy');
if (!btn) return;
e.preventDefault();
const label = btn.textContent;
try {
await navigator.clipboard.writeText(btn.dataset.copy);
btn.textContent = L.copied;
btn.dataset.done = '1';
} catch {
btn.textContent = L.failed;
}
setTimeout(() => { btn.textContent = label; delete btn.dataset.done; }, 1600);
});
// export: the report carries the full script.json; the download is it verbatim
document.querySelector('.expo').addEventListener('click', (e) => {
const btn = e.currentTarget;
const url = URL.createObjectURL(
new Blob([document.getElementById('script-data').textContent], { type: 'application/json' }),
);
const a = Object.assign(document.createElement('a'), { href: url, download: btn.dataset.name });
a.click();
// don't revoke right away — Safari kills the blob before the download finishes reading it
setTimeout(() => URL.revokeObjectURL(url), 10000);
});
</script>
</body></html>
work/ep-plan.md 6,156 字
# 逐集规划(分集子代理的对齐基准) 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 ## 第一幕 闪婚(1–10) 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 ## 第二幕 升温与掉马(11–20) 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 ## 第三幕 冷战、追妻、栽赃(21–30) 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 ## 第四幕 美食大赛(31–40) 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 ## 第五幕 旧案与契约到期(41–50) 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 ## 第六幕 终局(51–60) 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。
work/eps-01.json 5,654 字
[
{
"ep": 1,
"synopsis": "苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。",
"hook": "刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?",
"suspense": "顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。",
"sceneIds": [
"S01"
],
"characterIds": [
"C01",
"C05",
"C03",
"C02",
"C12"
],
"propIds": [
"P01"
],
"crowdPlan": "分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。",
"warnings": [
"肢体接触",
"人群",
"手部特写"
]
},
{
"ep": 2,
"synopsis": "小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。",
"hook": "他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?",
"suspense": "顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。",
"sceneIds": [
"S03"
],
"characterIds": [
"C02",
"C01"
],
"propIds": [
"P02"
],
"crowdPlan": "两人戏,无三人同框,一场拍完。",
"warnings": [
"手部特写"
]
},
{
"ep": 3,
"synopsis": "继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。",
"hook": "苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?",
"suspense": "老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。",
"sceneIds": [
"S02"
],
"characterIds": [
"C06",
"C03",
"C01"
],
"propIds": [
"P03"
],
"crowdPlan": "一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。",
"warnings": [
"手部特写",
"肢体接触"
]
},
{
"ep": 4,
"synopsis": "苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。",
"hook": "奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?",
"suspense": "奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C08",
"C13"
],
"propIds": [
"P04"
],
"crowdPlan": "分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 5,
"synopsis": "同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。",
"hook": "苏念收到唐果的消息,铺子出事了,出了什么事?",
"suspense": "陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02",
"C09"
],
"propIds": [],
"crowdPlan": "夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。",
"warnings": [
"手部特写"
]
},
{
"ep": 6,
"synopsis": "苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。",
"hook": "苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么?",
"suspense": "拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。",
"sceneIds": [
"S09",
"S02"
],
"characterIds": [
"C15",
"C01",
"C02",
"C03"
],
"propIds": [
"P07"
],
"crowdPlan": "分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 7,
"synopsis": "苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。",
"hook": "苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局?",
"suspense": "一个打工的哪来的母树茶;苏晴订婚宴上的算计。",
"sceneIds": [
"S06"
],
"characterIds": [
"C07",
"C06",
"C03",
"C05",
"C01",
"C02"
],
"propIds": [],
"crowdPlan": "六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。",
"warnings": [
"手部特写"
]
},
{
"ep": 8,
"synopsis": "苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。",
"hook": "苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么?",
"suspense": "订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。",
"sceneIds": [
"S02"
],
"characterIds": [
"C03",
"C10",
"C01",
"C02",
"C05"
],
"propIds": [],
"crowdPlan": "分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。",
"warnings": [
"手部特写"
]
},
{
"ep": 9,
"synopsis": "订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。",
"hook": "周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么?",
"suspense": "酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。",
"sceneIds": [
"S08"
],
"characterIds": [
"C03",
"C05",
"C01",
"C02",
"C14"
],
"propIds": [],
"crowdPlan": "分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。",
"warnings": [
"人群",
"手部特写",
"肢体接触"
]
},
{
"ep": 10,
"synopsis": "奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。",
"hook": "【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记?",
"suspense": "伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。",
"sceneIds": [
"S07",
"S02"
],
"characterIds": [
"C08",
"C01",
"C02",
"C15"
],
"propIds": [
"P06"
],
"crowdPlan": "分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
],
"paywall": true
}
]work/eps-11.json 5,031 字
[
{
"ep": 11,
"synopsis": "顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。",
"hook": "二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么?",
"suspense": "二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。",
"sceneIds": ["S04"],
"characterIds": ["C02", "C09", "C04"],
"propIds": ["P06"],
"crowdPlan": "总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。",
"warnings": ["手部特写"]
},
{
"ep": 12,
"synopsis": "拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。",
"hook": "门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁?",
"suspense": "唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。",
"sceneIds": ["S09", "S02"],
"characterIds": ["C15", "C01", "C02", "C10", "C11"],
"propIds": [],
"crowdPlan": "分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 13,
"synopsis": "林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。",
"hook": "林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念?",
"suspense": "林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。",
"sceneIds": ["S02"],
"characterIds": ["C11", "C01", "C03"],
"propIds": ["P01"],
"crowdPlan": "店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。",
"warnings": ["手部特写"]
},
{
"ep": 14,
"synopsis": "苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。",
"hook": "来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗?",
"suspense": "两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P02"],
"crowdPlan": "仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 15,
"synopsis": "奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。",
"hook": "苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么?",
"suspense": "林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。",
"sceneIds": ["S07", "S02"],
"characterIds": ["C08", "C01", "C10", "C03"],
"propIds": ["P04", "P03"],
"crowdPlan": "分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。",
"warnings": ["肢体接触", "手部特写", "人群"]
},
{
"ep": 16,
"synopsis": "苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。",
"hook": "二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗?",
"suspense": "顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。",
"sceneIds": ["S04"],
"characterIds": ["C01", "C02", "C09", "C04"],
"propIds": [],
"crowdPlan": "大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。",
"warnings": ["肢体接触", "人群", "手部特写"]
},
{
"ep": 17,
"synopsis": "奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。",
"hook": "坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗?",
"suspense": "奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。",
"sceneIds": ["S05", "S03"],
"characterIds": ["C08", "C04", "C02", "C01"],
"propIds": [],
"crowdPlan": "分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。",
"warnings": ["手部特写"]
},
{
"ep": 18,
"synopsis": "奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。",
"hook": "一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白?",
"suspense": "顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。",
"sceneIds": ["S08"],
"characterIds": ["C08", "C01", "C11", "C03"],
"propIds": ["P04"],
"crowdPlan": "宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 19,
"synopsis": "宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。",
"hook": "主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁?",
"suspense": "苏念仍不知道丈夫的身份;顾氏总裁即将登台。",
"sceneIds": ["S08"],
"characterIds": ["C01", "C11", "C03", "C08", "C14"],
"propIds": ["P04"],
"crowdPlan": "围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 20,
"synopsis": "苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。",
"hook": "【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗?",
"suspense": "苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。",
"sceneIds": ["S08"],
"characterIds": ["C01", "C02", "C08", "C14"],
"propIds": [],
"crowdPlan": "苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。",
"warnings": ["人群", "手部特写"],
"paywall": true
}
]
work/eps-21.json 4,787 字
[
{
"ep": 21,
"synopsis": "宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。",
"hook": "签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗?",
"suspense": "拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。",
"sceneIds": ["S09", "S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P06", "P01"],
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 22,
"synopsis": "苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。",
"hook": "苏晴给二叔报信,两人下一步要趁冷战对苏记做什么?",
"suspense": "苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C02", "C09", "C03"],
"propIds": [],
"crowdPlan": "全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 23,
"synopsis": "顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。",
"hook": "听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁?",
"suspense": "外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C02", "C19"],
"propIds": ["P06"],
"crowdPlan": "柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。",
"warnings": ["手部特写"]
},
{
"ep": 24,
"synopsis": "苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。",
"hook": "被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么?",
"suspense": "刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。",
"sceneIds": ["S02", "S06"],
"characterIds": ["C07", "C06", "C01"],
"propIds": [],
"crowdPlan": "分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。",
"warnings": ["肢体接触"]
},
{
"ep": 25,
"synopsis": "顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。",
"hook": "和好后回家的路上,那辆一直远远跟着的车里坐的是谁?",
"suspense": "跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。",
"sceneIds": ["S02", "S09"],
"characterIds": ["C02", "C01"],
"propIds": [],
"crowdPlan": "两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 26,
"synopsis": "和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。",
"hook": "周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么?",
"suspense": "苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02", "C05"],
"propIds": ["P02"],
"crowdPlan": "厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 27,
"synopsis": "老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。",
"hook": "周子昂被拖走前喊出苏晴背后另有其人,那个人是谁?",
"suspense": "苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。",
"sceneIds": ["S09"],
"characterIds": ["C05", "C01", "C02"],
"propIds": [],
"crowdPlan": "纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。",
"warnings": ["肢体接触"]
},
{
"ep": 28,
"synopsis": "苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。",
"hook": "这包不属于苏记的添加剂,是谁趁夜放进后厨的?",
"suspense": "投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C10"],
"propIds": [],
"warnings": ["人群", "手部特写"]
},
{
"ep": 29,
"synopsis": "唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。",
"hook": "拆迁办经理被押走时一直望着的那辆车,是二叔的吗?",
"suspense": "拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。",
"sceneIds": ["S02", "S07"],
"characterIds": ["C10", "C01", "C15", "C13"],
"propIds": [],
"crowdPlan": "分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。",
"warnings": ["人群", "手部特写", "肢体接触"]
},
{
"ep": 30,
"synopsis": "全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。",
"hook": "【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗?",
"suspense": "秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。",
"sceneIds": ["S10", "S02"],
"characterIds": ["C01", "C03", "C17"],
"propIds": ["P03"],
"crowdPlan": "两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。",
"warnings": ["手部特写", "人群"],
"paywall": true
}
]
work/eps-31.json 5,037 字
[
{
"ep": 31,
"synopsis": "苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。",
"hook": "收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令?",
"suspense": "被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。",
"sceneIds": ["S02", "S04"],
"characterIds": ["C01", "C10", "C02", "C04", "C16"],
"propIds": ["P03"],
"crowdPlan": "分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。",
"warnings": ["手部特写"]
},
{
"ep": 32,
"synopsis": "美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。",
"hook": "林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么?",
"suspense": "收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C10", "C16", "C11"],
"propIds": [],
"crowdPlan": "分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 33,
"synopsis": "备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。",
"hook": "深夜溜进苏记原料间的黑影是谁,他动了什么?",
"suspense": "协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。",
"sceneIds": ["S03", "S02"],
"characterIds": ["C01", "C02"],
"propIds": [],
"crowdPlan": "两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。",
"warnings": ["肢体接触"]
},
{
"ep": 34,
"synopsis": "复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。",
"hook": "半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做?",
"suspense": "调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C16", "C11", "C10"],
"propIds": [],
"crowdPlan": "评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 35,
"synopsis": "半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。",
"hook": "接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招?",
"suspense": "原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C10", "C16", "C03", "C11"],
"propIds": [],
"crowdPlan": "分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。",
"warnings": ["肢体接触", "手部特写", "人群"]
},
{
"ep": 36,
"synopsis": "陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。",
"hook": "董事会逼顾承宴回避赞助,他会怎么接这一刀?",
"suspense": "二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。",
"sceneIds": ["S04", "S03"],
"characterIds": ["C02", "C09", "C01", "C04"],
"propIds": [],
"crowdPlan": "分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。",
"warnings": ["手部特写", "人群"]
},
{
"ep": 37,
"synopsis": "决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。",
"hook": "秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比?",
"suspense": "外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C02", "C16", "C17", "C03", "C10"],
"propIds": [],
"crowdPlan": "分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。",
"warnings": ["人群"]
},
{
"ep": 38,
"synopsis": "决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。",
"hook": "苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅?",
"suspense": "秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C16", "C10"],
"propIds": [],
"crowdPlan": "双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。",
"warnings": ["手部特写", "人群"]
},
{
"ep": 39,
"synopsis": "决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。",
"hook": "苏晴喊出的二爷是谁,他为何要偷一张点心秘方?",
"suspense": "二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C16", "C17", "C02", "C10"],
"propIds": [],
"crowdPlan": "分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 40,
"synopsis": "夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。",
"hook": "【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过?",
"suspense": "照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。",
"sceneIds": ["S02"],
"characterIds": ["C01"],
"propIds": ["P03"],
"crowdPlan": "单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。",
"warnings": ["手部特写"],
"paywall": true
}
]
work/eps-41.json 5,239 字
[
{
"ep": 41,
"synopsis": "夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。",
"hook": "他看见她手里的两张照片,会承认自己就是那个少年吗?",
"suspense": "照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P03"
],
"warnings": [
"手部特写"
]
},
{
"ep": 42,
"synopsis": "顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。",
"hook": "那天追来的二爷,真的是顾承宴的亲二叔吗?",
"suspense": "二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P03"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 43,
"synopsis": "顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。",
"hook": "二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手?",
"suspense": "二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。",
"sceneIds": [
"S05"
],
"characterIds": [
"C01",
"C02",
"C08",
"C04"
],
"propIds": [
"P03"
],
"crowdPlan": "分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 44,
"synopsis": "董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。",
"hook": "二叔一句外婆当年不知死活,外婆的死难道另有隐情?",
"suspense": "外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。",
"sceneIds": [
"S04"
],
"characterIds": [
"C01",
"C02",
"C04",
"C11",
"C19"
],
"propIds": [
"P06"
],
"crowdPlan": "分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 45,
"synopsis": "苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。",
"hook": "一向和她作对的苏晴,为什么在雨夜湿透了找上门?",
"suspense": "苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。",
"sceneIds": [
"S07",
"S02"
],
"characterIds": [
"C01",
"C07",
"C03"
],
"propIds": [],
"crowdPlan": "三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。",
"warnings": [
"雨戏",
"肢体接触",
"手部特写"
]
},
{
"ep": 46,
"synopsis": "苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。",
"hook": "外婆的死,难道是二叔一手造成的?",
"suspense": "外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C03"
],
"propIds": [
"P05"
],
"warnings": [
"手部特写"
]
},
{
"ep": 47,
"synopsis": "苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。",
"hook": "协议后天就到期,两人都没说出口的话,还来得及说吗?",
"suspense": "当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P05",
"P02"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 48,
"synopsis": "协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。",
"hook": "顾承宴口中的结束,真的是要和她离婚吗?",
"suspense": "顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。",
"sceneIds": [
"S04",
"S03"
],
"characterIds": [
"C01",
"C02",
"C09"
],
"propIds": [
"P02"
],
"crowdPlan": "三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。",
"warnings": [
"手部特写"
]
},
{
"ep": 49,
"synopsis": "第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。",
"hook": "顾承宴为什么失约,陈默这通电话要告诉她什么?",
"suspense": "顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。",
"sceneIds": [
"S01"
],
"characterIds": [
"C01",
"C12"
],
"propIds": [
"P01"
],
"warnings": [
"手部特写"
]
},
{
"ep": 50,
"paywall": true,
"synopsis": "陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。",
"hook": "【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?",
"suspense": "刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。",
"sceneIds": [
"S01",
"S07"
],
"characterIds": [
"C01",
"C09",
"C13"
],
"propIds": [
"P01"
],
"crowdPlan": "分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。",
"warnings": [
"手部特写"
]
}
]
work/eps-51.json 5,610 字
[
{
"ep": 51,
"synopsis": "重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。",
"hook": "顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉?",
"suspense": "二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C04"
],
"propIds": [],
"crowdPlan": "顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 52,
"synopsis": "深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。",
"hook": "假昏迷的消息放出去了,二叔会多快咬钩?",
"suspense": "动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C09",
"C13",
"C17"
],
"propIds": [],
"crowdPlan": "病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。",
"warnings": [
"肢体接触",
"人群"
]
},
{
"ep": 53,
"synopsis": "顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。",
"hook": "一周强拆令已下,苏念的铺子还撑得住几天?",
"suspense": "二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。",
"sceneIds": [
"S04"
],
"characterIds": [
"C04",
"C11"
],
"propIds": [],
"warnings": [
"手部特写"
]
},
{
"ep": 54,
"synopsis": "陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,从外婆的铁皮点心盒里取出一块桂花糕递过去。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。",
"hook": "车里那双眼睛盯上了证人,二叔会先下手吗?",
"suspense": "修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。",
"sceneIds": [
"S09",
"S02"
],
"characterIds": [
"C01",
"C09",
"C18"
],
"propIds": [
"P03"
],
"crowdPlan": "老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。",
"warnings": [
"手部特写"
]
},
{
"ep": 55,
"synopsis": "苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。",
"hook": "顾承宴还躺在病房装昏迷,谁能赶来救苏念?",
"suspense": "苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。",
"sceneIds": [
"S09",
"S11"
],
"characterIds": [
"C01",
"C04",
"C18"
],
"propIds": [
"P05"
],
"crowdPlan": "老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 56,
"synopsis": "苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。",
"hook": "二叔临走那句林家不干净,林薇薇还藏着什么?",
"suspense": "林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。",
"sceneIds": [
"S11"
],
"characterIds": [
"C01",
"C02",
"C04",
"C09",
"C18"
],
"propIds": [
"P05"
],
"crowdPlan": "拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
]
},
{
"ep": 57,
"synopsis": "顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。",
"hook": "顾承宴为什么不回答,这段婚姻在他心里到底算不算数?",
"suspense": "协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。",
"sceneIds": [
"S08"
],
"characterIds": [
"C01",
"C02",
"C07",
"C09",
"C11",
"C17"
],
"propIds": [],
"crowdPlan": "拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 58,
"synopsis": "风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。",
"hook": "求婚成了,奶奶憋了一年的婚礼要怎么办?",
"suspense": "二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P02"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 59,
"synopsis": "顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。",
"hook": "匿名包裹是谁寄来的,那封信里写了什么?",
"suspense": "寄件人的身份;外婆年轻时的往事与苏记的来历。",
"sceneIds": [
"S05",
"S09"
],
"characterIds": [
"C01",
"C02",
"C08",
"C10"
],
"propIds": [
"P07"
],
"crowdPlan": "老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 60,
"synopsis": "信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。",
"hook": "苏念小腹里,是不是已经有了苏记的第四代传人?",
"suspense": "新生命的到来留白;远走的苏晴是否还会回到老街。",
"sceneIds": [
"S09",
"S01"
],
"characterIds": [
"C01",
"C02",
"C07",
"C08",
"C09",
"C10",
"C12"
],
"propIds": [
"P07",
"P01"
],
"crowdPlan": "婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
}
]
work/outline.json 10,399 字
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"params": {
"episodes": 60,
"minutesPerEpisode": 1.5,
"genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
"adaptMode": "抽核",
"preferences": [
"付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
]
},
"adaptation": {
"core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
"keep": [
{
"what": "民政局门口当众退婚、当场闪婚的开局",
"why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
"evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
},
{
"what": "顾承宴隐藏身份、租小两居扮打工人",
"why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
"evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
},
{
"what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
"why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
"evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
},
{
"what": "十五年前点心铺救下少年的旧缘",
"why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
"evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
},
{
"what": "撕婚前协议、桂花糕求婚的结局",
"why": "契约婚姻的标准收束,道具闭环",
"evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
}
],
"cut": [
{ "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
{ "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
{ "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
{ "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
{ "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
{ "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
],
"merge": [
{ "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
{ "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
{ "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
],
"risks": [
{ "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
{ "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
{ "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
{ "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
],
"cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
"mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
},
"characters": [
{ "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
{ "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
{ "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
{ "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
{ "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
{ "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
{ "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
{ "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
{ "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
{ "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
{ "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
{ "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
{ "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
{ "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
{ "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
{ "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
{ "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
{ "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
{ "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
],
"scenes": [
{ "id": "S01", "name": "民政局", "primary": true },
{ "id": "S02", "name": "苏记点心铺", "primary": true },
{ "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
{ "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
{ "id": "S05", "name": "顾家老宅", "primary": true },
{ "id": "S06", "name": "苏家客厅", "primary": true },
{ "id": "S07", "name": "医院病房", "primary": true },
{ "id": "S08", "name": "酒店宴会厅", "primary": true },
{ "id": "S09", "name": "老街", "primary": true },
{ "id": "S10", "name": "美食大赛演播厅", "primary": true },
{ "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
],
"props": [
{ "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
{ "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
{ "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
{ "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
{ "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
{ "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
{ "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
],
"beats": [
{ "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
{ "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
{ "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
{ "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
{ "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
{ "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
{ "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
{ "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
{ "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
{ "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
{ "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
{ "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
{ "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
{ "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
{ "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
{ "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
{ "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
{ "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
{ "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
{ "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
{ "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
{ "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
{ "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
{ "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
{ "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
{ "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
{ "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
{ "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
{ "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
{ "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
{ "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
],
"episodes": []
}
work/故事底本.md 1,577 字
# 《闪婚老公藏不住了》故事底本(原创) > 本文件是大纲的唯一原料。题材:女频·先婚后爱甜宠(附身份马甲、打脸、豪门暗斗)。 ## 一、故事核 被未婚夫当众抛弃的点心铺女孩,在民政局门口随手拉了个陌生人领证。她以为嫁的是顾氏集团一个普通打工人,其实那是顾氏的掌权人。一纸一年期的契约婚姻,从互不打扰过成了非你不可;而她守着的那间老点心铺,藏着他十五年前活下来的秘密。 ## 二、人物 **苏念**,二十五岁,老街「苏记点心铺」第三代传人,外婆一手带大。手巧,嘴不饶人,心软。母亲早逝,父亲苏建国再娶,继母刘美琴带来继妹苏晴。外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。她说过一句话:铺子在,外婆就还在。 **顾承宴**,二十九岁,顾氏集团总裁,冷面,常年胃病,吃什么都没味道。十四岁那年被绑架,逃出来后躲进一家点心铺,一个老太太和一个扎羊角辫的小姑娘给了他一块桂花糕,那是他记忆里最后一次尝出甜味。奶奶病重,放话:你今天不结婚,我就不做手术。 **苏晴**,二十三岁,苏念的继妹,网红,想嫁进豪门,从小抢苏念的一切。抢走了苏念的未婚夫周子昂,后来发现周家只是空壳,又把目光转向顾家。她不坏到底——被所有人当棋子用完之后,她会第一次站在苏念这边。 **顾远山**,五十二岁,顾承宴的二叔,笑面虎。十五年前买凶绑架侄子,想让大房绝后;如今暗中操纵老街旧城改造,借顾氏的名义强拆,伪造顾承宴的签名,既为吞地,也为毁掉那间可能认出当年绑匪的点心铺。 **周子昂**,二十八岁,苏念的前未婚夫,周家少爷,周家公司靠顾氏的分包活着。在民政局门口当众退婚,说苏念那破店连他一块表都不值。 **刘美琴**,继母,算盘精,一心想把铺子卖掉换钱给苏晴当嫁妆。 **苏建国**,苏念的父亲,懦弱,被妻子拿捏,后来幡然醒悟。 **顾老夫人**,顾承宴的奶奶,慈祥精明,一口吃出苏念的桂花糕是当年的味道。 **陈默**,顾承宴的特助,嘴碎、忠心,负责连夜给总裁租一套「普通人的两居室」。 **唐果**,苏念的闺蜜,美食博主,嘴快,最早怀疑顾承宴「不像打工的」。 **林薇薇**,顾家世交千金,自称顾承宴的未婚妻,与顾远山结盟。 ## 三、主线 1. 民政局门口,周子昂搂着苏晴退婚。苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。 2. 契约一年,互不动心。顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。 3. 继母上门收铺,苏念打开铁皮盒,亮出外婆的遗嘱:铺子从来不是苏家的,是我的。 4. 订婚宴上苏晴栽赃苏念偷戒指,酒店经理对着顾承宴弯了腰,监控还了苏念清白。 5. 老街拆迁通知落款是顾氏集团总裁。苏念说:我倒要看看这个顾总是什么人。 6. 奶奶寿宴,林薇薇和苏晴用传家玉镯设局;台上主持人说有请顾氏集团总裁,苏念手里的蛋糕掉了。 7. 身份揭穿后冷战、追妻、和好;苏记被栽赃食物中毒,又被翻案。 8. 美食大赛,苏晴拿着偷来的秘方参赛,却做不出外婆的最后一步,苏念夺冠。 9. 铁皮盒夹层里的旧照片:小苏念牵着一个受伤的少年。照片背后外婆写着:那天追来的人,叫他二爷。 10. 董事会政变、苏晴倒戈交出录音笔、契约到期的误会、刹车被动的车祸、将计就计、仓库营救,顾远山落网。 11. 顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。 ## 四、支线(素材库,未必都用) - 唐果和陈默的欢喜冤家感情线,含两人互相拉黑七次的笑料。 - 苏念被法国甜点学院录取、出国进修三年的事业线。 - 顾承宴母亲当年车祸的旧案,牵扯顾家大房二房三十年恩怨。 - 周子昂破产后黑化,雇人跟踪苏念的复仇线。 - 苏晴的网红经纪公司与流量造假的行业线。 - 外婆年轻时与顾老夫人是闺中好友的往事。
人物小传.md 人物小传 3,642 字
# 《闪婚老公藏不住了》主要人物小传
> 竖屏短剧 · 60 集 × 1.5 分钟 · 女频先婚后爱甜宠(身份马甲 + 打脸)
> 一句话故事:被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。
人物分档与编号同大纲(`闪婚老公藏不住了-outline.json`):主角组 4 人、重要配角 7 人、功能性角色 8 人。
---
## 主角组
### 苏念(C01)· 女主
**25 岁|老街「苏记点心铺」第三代传人**
- **外形**:个子不高,圆脸杏眼,长发常用一支旧桂花发夹别在脑后。总穿洗得发白的围裙,手腕上沾着面粉。笑起来有个梨涡,生气时下巴抬得很高。
- **出身**:母亲在她六岁时病逝,父亲苏建国再娶,继母刘美琴带着女儿苏晴进门。她跟外婆在点心铺长大,十岁那年和外婆一起救过一个满脸是伤的少年,后来记不清他的样子。外婆三年前去世,用一份公证遗嘱把铺子直接留给她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。
- **性格**:手巧,嘴不饶人,心软。受了委屈先把背挺直,回到后厨才哭。认死理,谁碰铺子她跟谁拼。
- **核心欲望**:守住苏记。铺子在,外婆就还在。
- **软肋**:怕被抛弃,所以先用契约把心锁起来。
- **说话方式**:干脆,短句,带点市井的俏皮;生气时会叫对方全名。
- **人物弧**:被退婚后赌气闪婚 → 守着协议不敢动心 → 掉马后冷战,认定自己被骗 → 查清伪签,与他并肩 → 美食大赛凭外婆的手艺夺冠 → 揭开十五年前的旧案,亲手把二叔送进去 → 主动握住这段婚姻。
- **关键戏**:第 1 集民政局拉人闪婚;第 3 集亮遗嘱;第 20 集掉马时蛋糕落地;第 39 集决赛最后一步;第 56 集仓库里开着录音笔拖时间;第 58 集被求婚。
### 顾承宴(C02)· 男主
**29 岁|顾氏集团总裁,闪婚后假扮顾氏普通项目经理**
- **外形**:一米八七,冷白皮,眉骨高,不笑时很凶。总裁时穿深色西装;扮打工人时穿灰色卫衣,袖口挽到手肘。
- **出身**:顾家大房独子,父母早逝,由奶奶带大。十四岁被绑架,从绑匪手里逃出来,躲进老街一间点心铺。一个老太太和一个扎羊角辫的小姑娘给了他一块桂花糕。此后常年胃病,吃什么都没味道,那块桂花糕是他记忆里最后一次尝出甜。
- **性格**:冷面,话少,做事狠准;对自己人极护短。扮穷时笨拙得可爱,不会用燃气灶,不知道菜价。
- **核心欲望**:表面是让奶奶安心做手术;深层是想找回那一口甜,和那个给他甜的人。
- **秘密**:民政局那天,他认出了她发间的桂花发夹,答应闪婚并不全是巧合(第 42 集揭开)。
- **说话方式**:极简,陈述句,很少解释;对苏念会不自觉放软,偶尔冷幽默。
- **人物弧**:为奶奶应付领证的冷面总裁 → 在小两居第一次尝出味道 → 想坦白却被抢先掉马 → 在铺子门口学做桂花糕追妻 → 承认自己就是当年的少年 → 车祸后将计就计,扳倒二叔 → 撕掉婚前协议,在老街重新求婚。
- **关键戏**:第 1 集答应结婚;第 2 集尝出面的味道;第 9 集酒店经理对他弯腰;第 20 集台上致辞;第 25 集铺子门口学做糕;第 58 集撕协议求婚。
### 苏晴(C03)· 前期主反派
**23 岁|苏念的继妹,网红**
- **外形**:精致网红脸,大波浪,名牌包都是高仿,手机永远在录像。
- **出身**:刘美琴带进苏家的女儿,从小被母亲教着抢:抢姐姐的裙子、房间、未婚夫。
- **性格**:虚荣、好胜,嘴甜心狠,但胆子小,坏事做到一半会慌。
- **核心欲望**:嫁进豪门,证明自己比苏念强。
- **人物弧**:假怀孕抢走周子昂 → 订婚宴栽赃失败 → 与林薇薇结盟设玉镯局 → 投靠二叔偷秘方参赛,决赛崩盘 → 被二叔和周子昂一起抛弃,第一次站到苏念这边,交出录音笔 → 离开这座城市重新开始,寄回外婆的手写菜谱。
- **说话方式**:夹子音,爱用反问句,人前叫姐姐,人后叫她名字。
### 顾远山(C04)· 幕后主反派
**52 岁|顾承宴的二叔,顾氏集团副董事长**
- **外形**:金丝眼镜,中式立领,手里总盘一串核桃,笑眯眯。
- **出身**:顾家二房,一直不服大房掌权。十五年前买凶绑架侄子,想让大房绝后,孩子在老街一间点心铺门口跟丢了。
- **性格**:笑面虎,沉得住气,从不亲自动手。
- **核心欲望**:吞掉顾氏。
- **他的罪**:伪造顾承宴签名批老街强拆,既为吞地,也为毁掉那间可能认出当年绑匪的点心铺;收买大赛评委、指使苏晴偷秘方;董事会夺权;动顾承宴的刹车;在仓库绑走苏念。
- **人物弧**:幕后布局 → 董事会发难失败被停职 → 制造车祸后接管集团 → 仓库里重演十五年前的绑架,被录音与绑匪证词当场钉死,落网。
- **说话方式**:慢条斯理,爱讲道理,越客气越危险。
---
## 重要配角
### 周子昂(C05)· 渣前任
28 岁,周家少爷,周家公司靠顾氏的分包活着。爱炫名表。在民政局门口当众退婚,说苏记那破店不值他一块表。后来发现苏晴假怀孕,回头纠缠苏念,被顾承宴一个电话断掉所有分包,当街跪求。周家最终破产。
**人物弧**:得意退婚 → 被骗 → 回头纠缠 → 出局。
### 刘美琴(C06)· 继母
48 岁,算盘精,一心想把铺子卖掉给苏晴换嫁妆。女婿掉马后立刻变脸巴结,想沾光,被苏念当场拒绝后转头卖消息给林薇薇。最终被苏建国离婚出门。
**说话方式**:尖嗓门,句句带钱。
### 苏建国(C07)· 父亲
52 岁,老实懦弱,被妻子拿捏半辈子,对女儿心怀亏欠。懂茶,第 7 集一闻就认出顾承宴送的是有价无市的母树茶。住院后终于向女儿道歉,与刘美琴决裂。
**人物弧**:沉默旁观 → 道歉 → 护女。
### 顾老夫人(C08)· 奶奶
78 岁,慈祥精明,CP 头号助攻。以不做手术逼孙子结婚,一口吃出苏念的桂花糕是当年的味道,当场把传家玉镯戴到她手上。寿宴前提防有人使坏,早把真镯换了位置。
**说话方式**:慢,带笑,一句话就能定场。
### 陈默(C09)· 特助
30 岁,嘴碎、忠心,马甲维护员。连夜给总裁租小两居,屡次差点喊漏顾总。后段找到当年的绑匪,是扳倒二叔的关键人。
**喜剧功能**:每次救场都救得漏洞百出。
### 唐果(C10)· 闺蜜
25 岁,美食博主,嘴快心热,最早怀疑顾承宴不像打工的。苏记被栽赃食物中毒时,用直播放出监控替苏念翻案;美食大赛给苏念打下手。
### 林薇薇(C11)· 情敌
26 岁,顾家世交千金,高定傍身,自称顾承宴的未婚妻。上门挑衅被结婚证打脸,与苏晴结盟设玉镯局,以赞助商身份干预大赛,带家族股份投靠二叔。董事会失败后撤股,最终涉案被带走。
---
## 功能性角色
| 编号 | 角色 | 功能 |
| --- | --- | --- |
| C12 | 民政局工作人员 | 第 1 集见证闪婚,第 49 集认出一年前闪婚的苏念 |
| C13 | 主治医生 | 奶奶的手术、顾承宴车祸抢救、配合假昏迷 |
| C14 | 酒店经理 | 订婚宴、寿宴、发布会三场宴会厅戏,他对顾承宴的态度就是马甲的温度计 |
| C15 | 拆迁办经理 | 二叔的强拆执行人,泼漆、贴通知、投毒 |
| C16 | 大赛评委 | 被二叔收买,决赛当众崩溃承认 |
| C17 | 记者 | 大赛与发布会的媒体 |
| C18 | 当年绑匪 | 十五年前被二叔雇用,如今是瘸腿修鞋匠,当年也吃过外婆一块桂花糕,最终作证 |
| C19 | 律师 | 遗嘱、伪签鉴定、董事会证据 |
---
## 人物关系
```
顾老夫人(奶奶)
│ 逼婚 / 助攻
顾远山 ──叔侄、宿敌── 顾承宴 ══契约婚姻→真爱══ 苏念 ──闺蜜── 唐果
│ 收买/利用 │ 特助 │ 父女
├── 林薇薇(盟友) 陈默 苏建国 ══ 刘美琴(继母)
├── 苏晴(棋子→倒戈) │ 母女
└── 拆迁办经理、大赛评委、当年绑匪 苏晴 ── 周子昂(渣前任)
```
**十五年前的暗线**:顾远山雇绑匪绑走 14 岁的顾承宴 → 少年逃进苏记,外婆和 10 岁的苏念给了他一块桂花糕 → 外婆看见了追来的人,在照片背面写下:那天追来的人,叫他二爷。
闪婚老公藏不住了-outline.json 49,540 字
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"params": {
"episodes": 60,
"minutesPerEpisode": 1.5,
"genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
"adaptMode": "抽核",
"preferences": [
"付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
]
},
"adaptation": {
"core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
"keep": [
{
"what": "民政局门口当众退婚、当场闪婚的开局",
"why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
"evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
},
{
"what": "顾承宴隐藏身份、租小两居扮打工人",
"why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
"evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
},
{
"what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
"why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
"evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
},
{
"what": "十五年前点心铺救下少年的旧缘",
"why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
"evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
},
{
"what": "撕婚前协议、桂花糕求婚的结局",
"why": "契约婚姻的标准收束,道具闭环",
"evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
}
],
"cut": [
{
"what": "唐果与陈默的欢喜冤家感情线",
"why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分"
},
{
"what": "苏念出国进修三年的事业线",
"why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担"
},
{
"what": "顾承宴母亲车祸旧案与大房二房三十年恩怨",
"why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住"
},
{
"what": "周子昂破产后黑化跟踪的复仇线",
"why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏"
},
{
"what": "苏晴的网红经纪公司与流量造假行业线",
"why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担"
},
{
"what": "外婆与顾老夫人年轻时是闺中好友的往事",
"why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道"
}
],
"merge": [
{
"what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能",
"why": "同一个情敌兼二叔盟友,不需要两张脸"
},
{
"what": "拆迁办经理兼任二叔派去老街闹事的现场执行人",
"why": "强拆戏和闹事戏都由他出面,少一个功能角色"
},
{
"what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏",
"why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次"
}
],
"risks": [
{
"what": "马甲戏拖太久观众会烦",
"plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一"
},
{
"what": "女频打脸集中在前段,后段变成商战闷戏",
"plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程"
},
{
"what": "九十秒一集信息密度高,人物多容易乱",
"plan": "每集主戏不超过三人同框,配角按集轮换出场"
},
{
"what": "车祸、仓库营救等动作戏生成难度高",
"plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过"
}
],
"cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
"mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
},
"characters": [
{
"id": "C01",
"name": "苏念",
"role": "女主·苏记点心铺第三代传人",
"tier": "lead",
"arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻",
"from": [
"原创"
]
},
{
"id": "C02",
"name": "顾承宴",
"role": "男主·顾氏集团总裁,隐藏身份闪婚",
"tier": "lead",
"arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚",
"from": [
"原创"
]
},
{
"id": "C03",
"name": "苏晴",
"role": "前期主反派·苏念的继妹",
"tier": "lead",
"arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始",
"from": [
"原创"
]
},
{
"id": "C04",
"name": "顾远山",
"role": "幕后主反派·顾承宴的二叔",
"tier": "lead",
"arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网",
"from": [
"原创"
]
},
{
"id": "C05",
"name": "周子昂",
"role": "渣前任·周家少爷",
"tier": "support",
"arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局",
"from": [
"原创"
]
},
{
"id": "C06",
"name": "刘美琴",
"role": "继母",
"tier": "support",
"arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门",
"from": [
"原创"
]
},
{
"id": "C07",
"name": "苏建国",
"role": "苏念的父亲",
"tier": "support",
"arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂",
"from": [
"原创"
]
},
{
"id": "C08",
"name": "顾老夫人",
"role": "顾承宴的奶奶,CP 头号助攻",
"tier": "support",
"arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台",
"from": [
"原创"
]
},
{
"id": "C09",
"name": "陈默",
"role": "顾承宴的特助,马甲维护员",
"tier": "support",
"arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人",
"from": [
"原创",
"合并:唐果陈默感情线砍掉后只留功能"
]
},
{
"id": "C10",
"name": "唐果",
"role": "苏念的闺蜜,美食博主",
"tier": "support",
"arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清",
"from": [
"原创"
]
},
{
"id": "C11",
"name": "林薇薇",
"role": "情敌·顾家世交千金",
"tier": "support",
"arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂",
"from": [
"原创",
"合并:联姻对象 + 股东代表"
]
},
{
"id": "C12",
"name": "民政局工作人员",
"role": "见证闪婚与离婚预约",
"tier": "functional",
"from": [
"原创"
]
},
{
"id": "C13",
"name": "主治医生",
"role": "奶奶与顾承宴的医生",
"tier": "functional",
"from": [
"原创"
]
},
{
"id": "C14",
"name": "酒店经理",
"role": "顾氏旗下酒店经理,马甲温度计",
"tier": "functional",
"from": [
"原创",
"合并:订婚宴、寿宴、发布会三场的酒店方"
]
},
{
"id": "C15",
"name": "拆迁办经理",
"role": "二叔的强拆执行人",
"tier": "functional",
"from": [
"原创",
"合并:老街闹事的现场执行人"
]
},
{
"id": "C16",
"name": "大赛评委",
"role": "美食大赛主评委,被二叔收买又倒戈",
"tier": "functional",
"from": [
"原创"
]
},
{
"id": "C17",
"name": "记者",
"role": "发布会与赛场的媒体",
"tier": "functional",
"from": [
"原创"
]
},
{
"id": "C18",
"name": "当年绑匪",
"role": "十五年前被二叔雇用的绑匪,关键证人",
"tier": "functional",
"from": [
"原创"
]
},
{
"id": "C19",
"name": "律师",
"role": "顾承宴的律师,处理遗嘱、伪签与报案",
"tier": "functional",
"from": [
"原创"
]
}
],
"scenes": [
{
"id": "S01",
"name": "民政局",
"primary": true
},
{
"id": "S02",
"name": "苏记点心铺",
"primary": true
},
{
"id": "S03",
"name": "小两居(顾承宴租的伪装公寓)",
"primary": true
},
{
"id": "S04",
"name": "顾氏集团总部(总裁办 / 会议室)",
"primary": true
},
{
"id": "S05",
"name": "顾家老宅",
"primary": true
},
{
"id": "S06",
"name": "苏家客厅",
"primary": true
},
{
"id": "S07",
"name": "医院病房",
"primary": true
},
{
"id": "S08",
"name": "酒店宴会厅",
"primary": true
},
{
"id": "S09",
"name": "老街",
"primary": true
},
{
"id": "S10",
"name": "美食大赛演播厅",
"primary": true
},
{
"id": "S11",
"name": "废弃仓库",
"primary": false,
"reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设"
}
],
"props": [
{
"id": "P01",
"name": "结婚证",
"function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌",
"beatIds": [
"B01",
"B08"
]
},
{
"id": "P02",
"name": "婚前协议",
"function": "一年契约、互不动心的条款,感情线的计时器,结局被撕",
"beatIds": [
"B09",
"B25",
"B30"
]
},
{
"id": "P03",
"name": "外婆的铁皮点心盒",
"function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙",
"beatIds": [
"B02",
"B20",
"B21",
"B22"
]
},
{
"id": "P04",
"name": "顾家传家玉镯",
"function": "奶奶认孙媳的信物,寿宴上被设局栽赃",
"beatIds": [
"B03",
"B11"
]
},
{
"id": "P05",
"name": "录音笔",
"function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据",
"beatIds": [
"B24",
"B29"
]
},
{
"id": "P06",
"name": "拆迁合同",
"function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证",
"beatIds": [
"B07",
"B13",
"B23"
]
},
{
"id": "P07",
"name": "苏记老招牌",
"function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中",
"beatIds": [
"B04",
"B31"
]
}
],
"beats": [
{
"id": "B01",
"type": "闪婚反杀",
"weight": "minor",
"episode": 1,
"setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表",
"payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过"
},
{
"id": "B02",
"type": "打脸",
"weight": "minor",
"episode": 3,
"setup": "继母带苏晴上门收铺,说铺子已抵给周家",
"payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的"
},
{
"id": "B03",
"type": "长辈认可",
"weight": "minor",
"episode": 4,
"setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔",
"payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术"
},
{
"id": "B04",
"type": "护妻",
"weight": "minor",
"episode": 6,
"setup": "混混在苏记门口泼漆摘招牌",
"payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去"
},
{
"id": "B05",
"type": "打脸",
"weight": "minor",
"episode": 7,
"setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸",
"payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去"
},
{
"id": "B06",
"type": "打脸",
"weight": "major",
"episode": 9,
"setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观",
"payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑"
},
{
"id": "B07",
"type": "反转",
"weight": "minor",
"episode": 11,
"setup": "拆迁通知落款顾氏总裁,三天后强拆",
"payoff": "顾承宴查出是二叔伪签,当场叫停拆迁"
},
{
"id": "B08",
"type": "打脸",
"weight": "minor",
"episode": 13,
"setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念",
"payoff": "苏念亮出结婚证,林薇薇当场哑火"
},
{
"id": "B09",
"type": "撒糖",
"weight": "minor",
"episode": 14,
"setup": "苏念吃醋质问林薇薇的事,协议写着互不动心",
"payoff": "停电夜意外的初吻"
},
{
"id": "B10",
"type": "护妻",
"weight": "minor",
"episode": 16,
"setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去",
"payoff": "顾承宴下楼当众牵她进电梯,前台被调岗"
},
{
"id": "B11",
"type": "反转",
"weight": "major",
"episode": 19,
"setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯",
"payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑"
},
{
"id": "B12",
"type": "身份揭破",
"weight": "major",
"episode": 20,
"setup": "主持人宣布有请顾氏集团总裁致辞",
"payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上"
},
{
"id": "B13",
"type": "真相澄清",
"weight": "minor",
"episode": 23,
"setup": "苏念认定他骗婚就是为了拆铺子",
"payoff": "律师当面鉴定拆迁合同上的签名是伪造的"
},
{
"id": "B14",
"type": "追妻撒糖",
"weight": "minor",
"episode": 25,
"setup": "冷战中的苏念搬回点心铺",
"payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家"
},
{
"id": "B15",
"type": "打脸",
"weight": "minor",
"episode": 27,
"setup": "周子昂得知被苏晴骗,回头纠缠苏念",
"payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求"
},
{
"id": "B16",
"type": "反转",
"weight": "major",
"episode": 29,
"setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴",
"payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封"
},
{
"id": "B17",
"type": "打脸",
"weight": "minor",
"episode": 32,
"setup": "大赛海选,苏晴嘲笑苏念的手工点心土气",
"payoff": "苏念以海选第一晋级,苏晴压线"
},
{
"id": "B18",
"type": "反转",
"weight": "minor",
"episode": 35,
"setup": "半决赛苏念的原料被调包",
"payoff": "苏念临场改做外婆的老式点心,反超晋级"
},
{
"id": "B19",
"type": "撒糖",
"weight": "minor",
"episode": 37,
"setup": "被收买的评委当众质疑苏念走后门",
"payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油"
},
{
"id": "B20",
"type": "夺冠打脸",
"weight": "major",
"episode": 39,
"setup": "苏晴用偷来的秘方与苏念同台决赛",
"payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买"
},
{
"id": "B21",
"type": "揭秘",
"weight": "minor",
"episode": 40,
"setup": "苏念整理铁皮盒,发现夹层",
"payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷"
},
{
"id": "B22",
"type": "相认撒糖",
"weight": "minor",
"episode": 42,
"setup": "苏念拿照片问顾承宴",
"payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜"
},
{
"id": "B23",
"type": "反转",
"weight": "major",
"episode": 44,
"setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴",
"payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股"
},
{
"id": "B24",
"type": "倒戈",
"weight": "minor",
"episode": 46,
"setup": "苏晴被二叔和周子昂一起抛弃",
"payoff": "苏晴把偷录二叔的录音笔交给苏念"
},
{
"id": "B25",
"type": "虐心误会",
"weight": "minor",
"episode": 48,
"setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束",
"payoff": "苏念默默收拾行李,约他去民政局"
},
{
"id": "B26",
"type": "危机",
"weight": "minor",
"episode": 50,
"setup": "苏念在民政局等不到人",
"payoff": "电话打来:顾承宴的车刹车失灵,正在抢救"
},
{
"id": "B27",
"type": "将计就计",
"weight": "minor",
"episode": 52,
"setup": "二叔以为顾承宴昏迷,接管集团",
"payoff": "顾承宴醒来与苏念联手装病,引二叔现形"
},
{
"id": "B28",
"type": "寻证",
"weight": "minor",
"episode": 54,
"setup": "当年绑匪下落不明",
"payoff": "陈默找到当年绑匪,对方愿意作证"
},
{
"id": "B29",
"type": "揭破",
"weight": "major",
"episode": 56,
"setup": "二叔把苏念绑进仓库逼要录音笔",
"payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网"
},
{
"id": "B30",
"type": "撒糖求婚",
"weight": "major",
"episode": 58,
"setup": "协议到期那天,苏念拿出婚前协议",
"payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚"
},
{
"id": "B31",
"type": "圆满",
"weight": "minor",
"episode": 60,
"setup": "老街保住,苏记招牌重新挂起",
"payoff": "老街补办婚礼,一年后苏记开了第二家店"
}
],
"episodes": [
{
"ep": 1,
"synopsis": "苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。",
"hook": "刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?",
"suspense": "顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。",
"sceneIds": [
"S01"
],
"characterIds": [
"C01",
"C05",
"C03",
"C02",
"C12"
],
"propIds": [
"P01"
],
"crowdPlan": "分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。",
"warnings": [
"肢体接触",
"人群",
"手部特写"
]
},
{
"ep": 2,
"synopsis": "小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。",
"hook": "他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?",
"suspense": "顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。",
"sceneIds": [
"S03"
],
"characterIds": [
"C02",
"C01"
],
"propIds": [
"P02"
],
"crowdPlan": "两人戏,无三人同框,一场拍完。",
"warnings": [
"手部特写"
]
},
{
"ep": 3,
"synopsis": "继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。",
"hook": "苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?",
"suspense": "老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。",
"sceneIds": [
"S02"
],
"characterIds": [
"C06",
"C03",
"C01"
],
"propIds": [
"P03"
],
"crowdPlan": "一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。",
"warnings": [
"手部特写",
"肢体接触"
]
},
{
"ep": 4,
"synopsis": "苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。",
"hook": "奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?",
"suspense": "奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C08",
"C13"
],
"propIds": [
"P04"
],
"crowdPlan": "分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 5,
"synopsis": "同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。",
"hook": "苏念收到唐果的消息,铺子出事了,出了什么事?",
"suspense": "陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02",
"C09"
],
"propIds": [],
"crowdPlan": "夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。",
"warnings": [
"手部特写"
]
},
{
"ep": 6,
"synopsis": "苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。",
"hook": "苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么?",
"suspense": "拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。",
"sceneIds": [
"S09",
"S02"
],
"characterIds": [
"C15",
"C01",
"C02",
"C03"
],
"propIds": [
"P07"
],
"crowdPlan": "分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 7,
"synopsis": "苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。",
"hook": "苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局?",
"suspense": "一个打工的哪来的母树茶;苏晴订婚宴上的算计。",
"sceneIds": [
"S06"
],
"characterIds": [
"C07",
"C06",
"C03",
"C05",
"C01",
"C02"
],
"propIds": [],
"crowdPlan": "六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。",
"warnings": [
"手部特写"
]
},
{
"ep": 8,
"synopsis": "苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。",
"hook": "苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么?",
"suspense": "订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。",
"sceneIds": [
"S02"
],
"characterIds": [
"C03",
"C10",
"C01",
"C02",
"C05"
],
"propIds": [],
"crowdPlan": "分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。",
"warnings": [
"手部特写"
]
},
{
"ep": 9,
"synopsis": "订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。",
"hook": "周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么?",
"suspense": "酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。",
"sceneIds": [
"S08"
],
"characterIds": [
"C03",
"C05",
"C01",
"C02",
"C14"
],
"propIds": [],
"crowdPlan": "分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。",
"warnings": [
"人群",
"手部特写",
"肢体接触"
]
},
{
"ep": 10,
"synopsis": "奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。",
"hook": "【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记?",
"suspense": "伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。",
"sceneIds": [
"S07",
"S02"
],
"characterIds": [
"C08",
"C01",
"C02",
"C15"
],
"propIds": [
"P06"
],
"crowdPlan": "分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
],
"paywall": true
},
{
"ep": 11,
"synopsis": "顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。",
"hook": "二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么?",
"suspense": "二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。",
"sceneIds": [
"S04"
],
"characterIds": [
"C02",
"C09",
"C04"
],
"propIds": [
"P06"
],
"crowdPlan": "总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。",
"warnings": [
"手部特写"
]
},
{
"ep": 12,
"synopsis": "拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。",
"hook": "门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁?",
"suspense": "唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。",
"sceneIds": [
"S09",
"S02"
],
"characterIds": [
"C15",
"C01",
"C02",
"C10",
"C11"
],
"propIds": [],
"crowdPlan": "分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 13,
"synopsis": "林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。",
"hook": "林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念?",
"suspense": "林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。",
"sceneIds": [
"S02"
],
"characterIds": [
"C11",
"C01",
"C03"
],
"propIds": [
"P01"
],
"crowdPlan": "店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。",
"warnings": [
"手部特写"
]
},
{
"ep": 14,
"synopsis": "苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。",
"hook": "来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗?",
"suspense": "两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P02"
],
"crowdPlan": "仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 15,
"synopsis": "奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。",
"hook": "苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么?",
"suspense": "林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。",
"sceneIds": [
"S07",
"S02"
],
"characterIds": [
"C08",
"C01",
"C10",
"C03"
],
"propIds": [
"P04",
"P03"
],
"crowdPlan": "分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
]
},
{
"ep": 16,
"synopsis": "苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。",
"hook": "二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗?",
"suspense": "顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。",
"sceneIds": [
"S04"
],
"characterIds": [
"C01",
"C02",
"C09",
"C04"
],
"propIds": [],
"crowdPlan": "大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。",
"warnings": [
"肢体接触",
"人群",
"手部特写"
]
},
{
"ep": 17,
"synopsis": "奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。",
"hook": "坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗?",
"suspense": "奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。",
"sceneIds": [
"S05",
"S03"
],
"characterIds": [
"C08",
"C04",
"C02",
"C01"
],
"propIds": [],
"crowdPlan": "分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。",
"warnings": [
"手部特写"
]
},
{
"ep": 18,
"synopsis": "奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。",
"hook": "一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白?",
"suspense": "顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。",
"sceneIds": [
"S08"
],
"characterIds": [
"C08",
"C01",
"C11",
"C03"
],
"propIds": [
"P04"
],
"crowdPlan": "宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 19,
"synopsis": "宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。",
"hook": "主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁?",
"suspense": "苏念仍不知道丈夫的身份;顾氏总裁即将登台。",
"sceneIds": [
"S08"
],
"characterIds": [
"C01",
"C11",
"C03",
"C08",
"C14"
],
"propIds": [
"P04"
],
"crowdPlan": "围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 20,
"synopsis": "苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。",
"hook": "【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗?",
"suspense": "苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。",
"sceneIds": [
"S08"
],
"characterIds": [
"C01",
"C02",
"C08",
"C14"
],
"propIds": [],
"crowdPlan": "苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。",
"warnings": [
"人群",
"手部特写"
],
"paywall": true
},
{
"ep": 21,
"synopsis": "宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。",
"hook": "签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗?",
"suspense": "拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。",
"sceneIds": [
"S09",
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P06",
"P01"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 22,
"synopsis": "苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。",
"hook": "苏晴给二叔报信,两人下一步要趁冷战对苏记做什么?",
"suspense": "苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C02",
"C09",
"C03"
],
"propIds": [],
"crowdPlan": "全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 23,
"synopsis": "顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。",
"hook": "听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁?",
"suspense": "外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C02",
"C19"
],
"propIds": [
"P06"
],
"crowdPlan": "柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。",
"warnings": [
"手部特写"
]
},
{
"ep": 24,
"synopsis": "苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。",
"hook": "被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么?",
"suspense": "刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。",
"sceneIds": [
"S02",
"S06"
],
"characterIds": [
"C07",
"C06",
"C01"
],
"propIds": [],
"crowdPlan": "分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。",
"warnings": [
"肢体接触"
]
},
{
"ep": 25,
"synopsis": "顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。",
"hook": "和好后回家的路上,那辆一直远远跟着的车里坐的是谁?",
"suspense": "跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。",
"sceneIds": [
"S02",
"S09"
],
"characterIds": [
"C02",
"C01"
],
"propIds": [],
"crowdPlan": "两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 26,
"synopsis": "和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。",
"hook": "周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么?",
"suspense": "苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02",
"C05"
],
"propIds": [
"P02"
],
"crowdPlan": "厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 27,
"synopsis": "老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。",
"hook": "周子昂被拖走前喊出苏晴背后另有其人,那个人是谁?",
"suspense": "苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。",
"sceneIds": [
"S09"
],
"characterIds": [
"C05",
"C01",
"C02"
],
"propIds": [],
"crowdPlan": "纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。",
"warnings": [
"肢体接触"
]
},
{
"ep": 28,
"synopsis": "苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。",
"hook": "这包不属于苏记的添加剂,是谁趁夜放进后厨的?",
"suspense": "投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C10"
],
"propIds": [],
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 29,
"synopsis": "唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。",
"hook": "拆迁办经理被押走时一直望着的那辆车,是二叔的吗?",
"suspense": "拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。",
"sceneIds": [
"S02",
"S07"
],
"characterIds": [
"C10",
"C01",
"C15",
"C13"
],
"propIds": [],
"crowdPlan": "分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。",
"warnings": [
"人群",
"手部特写",
"肢体接触"
]
},
{
"ep": 30,
"synopsis": "全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。",
"hook": "【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗?",
"suspense": "秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。",
"sceneIds": [
"S10",
"S02"
],
"characterIds": [
"C01",
"C03",
"C17"
],
"propIds": [
"P03"
],
"crowdPlan": "两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。",
"warnings": [
"手部特写",
"人群"
],
"paywall": true
},
{
"ep": 31,
"synopsis": "苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。",
"hook": "收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令?",
"suspense": "被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。",
"sceneIds": [
"S02",
"S04"
],
"characterIds": [
"C01",
"C10",
"C02",
"C04",
"C16"
],
"propIds": [
"P03"
],
"crowdPlan": "分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。",
"warnings": [
"手部特写"
]
},
{
"ep": 32,
"synopsis": "美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。",
"hook": "林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么?",
"suspense": "收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C03",
"C10",
"C16",
"C11"
],
"propIds": [],
"crowdPlan": "分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 33,
"synopsis": "备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。",
"hook": "深夜溜进苏记原料间的黑影是谁,他动了什么?",
"suspense": "协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。",
"sceneIds": [
"S03",
"S02"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [],
"crowdPlan": "两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。",
"warnings": [
"肢体接触"
]
},
{
"ep": 34,
"synopsis": "复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。",
"hook": "半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做?",
"suspense": "调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C16",
"C11",
"C10"
],
"propIds": [],
"crowdPlan": "评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 35,
"synopsis": "半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。",
"hook": "接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招?",
"suspense": "原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C10",
"C16",
"C03",
"C11"
],
"propIds": [],
"crowdPlan": "分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
]
},
{
"ep": 36,
"synopsis": "陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。",
"hook": "董事会逼顾承宴回避赞助,他会怎么接这一刀?",
"suspense": "二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。",
"sceneIds": [
"S04",
"S03"
],
"characterIds": [
"C02",
"C09",
"C01",
"C04"
],
"propIds": [],
"crowdPlan": "分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。",
"warnings": [
"手部特写",
"人群"
]
},
{
"ep": 37,
"synopsis": "决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。",
"hook": "秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比?",
"suspense": "外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C02",
"C16",
"C17",
"C03",
"C10"
],
"propIds": [],
"crowdPlan": "分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。",
"warnings": [
"人群"
]
},
{
"ep": 38,
"synopsis": "决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。",
"hook": "苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅?",
"suspense": "秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C03",
"C16",
"C10"
],
"propIds": [],
"crowdPlan": "双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。",
"warnings": [
"手部特写",
"人群"
]
},
{
"ep": 39,
"synopsis": "决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。",
"hook": "苏晴喊出的二爷是谁,他为何要偷一张点心秘方?",
"suspense": "二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。",
"sceneIds": [
"S10"
],
"characterIds": [
"C01",
"C03",
"C16",
"C17",
"C02",
"C10"
],
"propIds": [],
"crowdPlan": "分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 40,
"synopsis": "夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。",
"hook": "【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过?",
"suspense": "照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01"
],
"propIds": [
"P03"
],
"crowdPlan": "单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。",
"warnings": [
"手部特写"
],
"paywall": true
},
{
"ep": 41,
"synopsis": "夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。",
"hook": "他看见她手里的两张照片,会承认自己就是那个少年吗?",
"suspense": "照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P03"
],
"warnings": [
"手部特写"
]
},
{
"ep": 42,
"synopsis": "顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。",
"hook": "那天追来的二爷,真的是顾承宴的亲二叔吗?",
"suspense": "二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P03"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 43,
"synopsis": "顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。",
"hook": "二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手?",
"suspense": "二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。",
"sceneIds": [
"S05"
],
"characterIds": [
"C01",
"C02",
"C08",
"C04"
],
"propIds": [
"P03"
],
"crowdPlan": "分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 44,
"synopsis": "董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。",
"hook": "二叔一句外婆当年不知死活,外婆的死难道另有隐情?",
"suspense": "外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。",
"sceneIds": [
"S04"
],
"characterIds": [
"C01",
"C02",
"C04",
"C11",
"C19"
],
"propIds": [
"P06"
],
"crowdPlan": "分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 45,
"synopsis": "苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。",
"hook": "一向和她作对的苏晴,为什么在雨夜湿透了找上门?",
"suspense": "苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。",
"sceneIds": [
"S07",
"S02"
],
"characterIds": [
"C01",
"C07",
"C03"
],
"propIds": [],
"crowdPlan": "三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。",
"warnings": [
"雨戏",
"肢体接触",
"手部特写"
]
},
{
"ep": 46,
"synopsis": "苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。",
"hook": "外婆的死,难道是二叔一手造成的?",
"suspense": "外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C03"
],
"propIds": [
"P05"
],
"warnings": [
"手部特写"
]
},
{
"ep": 47,
"synopsis": "苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。",
"hook": "协议后天就到期,两人都没说出口的话,还来得及说吗?",
"suspense": "当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。",
"sceneIds": [
"S03"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P05",
"P02"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 48,
"synopsis": "协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。",
"hook": "顾承宴口中的结束,真的是要和她离婚吗?",
"suspense": "顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。",
"sceneIds": [
"S04",
"S03"
],
"characterIds": [
"C01",
"C02",
"C09"
],
"propIds": [
"P02"
],
"crowdPlan": "三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。",
"warnings": [
"手部特写"
]
},
{
"ep": 49,
"synopsis": "第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。",
"hook": "顾承宴为什么失约,陈默这通电话要告诉她什么?",
"suspense": "顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。",
"sceneIds": [
"S01"
],
"characterIds": [
"C01",
"C12"
],
"propIds": [
"P01"
],
"warnings": [
"手部特写"
]
},
{
"ep": 50,
"paywall": true,
"synopsis": "陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。",
"hook": "【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?",
"suspense": "刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。",
"sceneIds": [
"S01",
"S07"
],
"characterIds": [
"C01",
"C09",
"C13"
],
"propIds": [
"P01"
],
"crowdPlan": "分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。",
"warnings": [
"手部特写"
]
},
{
"ep": 51,
"synopsis": "重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。",
"hook": "顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉?",
"suspense": "二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C04"
],
"propIds": [],
"crowdPlan": "顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 52,
"synopsis": "深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。",
"hook": "假昏迷的消息放出去了,二叔会多快咬钩?",
"suspense": "动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C09",
"C13",
"C17"
],
"propIds": [],
"crowdPlan": "病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。",
"warnings": [
"肢体接触",
"人群"
]
},
{
"ep": 53,
"synopsis": "顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。",
"hook": "一周强拆令已下,苏念的铺子还撑得住几天?",
"suspense": "二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。",
"sceneIds": [
"S04"
],
"characterIds": [
"C04",
"C11"
],
"propIds": [],
"warnings": [
"手部特写"
]
},
{
"ep": 54,
"synopsis": "陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,照外婆的方子蒸了一屉桂花糕,递过去一块。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。",
"hook": "车里那双眼睛盯上了证人,二叔会先下手吗?",
"suspense": "修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。",
"sceneIds": [
"S09",
"S02"
],
"characterIds": [
"C01",
"C09",
"C18"
],
"propIds": [
"P03"
],
"crowdPlan": "老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。",
"warnings": [
"手部特写"
]
},
{
"ep": 55,
"synopsis": "苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。",
"hook": "顾承宴还躺在病房装昏迷,谁能赶来救苏念?",
"suspense": "苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。",
"sceneIds": [
"S09",
"S11"
],
"characterIds": [
"C01",
"C04",
"C18"
],
"propIds": [
"P05"
],
"crowdPlan": "老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。",
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 56,
"synopsis": "苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。",
"hook": "二叔临走那句林家不干净,林薇薇还藏着什么?",
"suspense": "林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。",
"sceneIds": [
"S11"
],
"characterIds": [
"C01",
"C02",
"C04",
"C09",
"C18"
],
"propIds": [
"P05"
],
"crowdPlan": "拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。",
"warnings": [
"肢体接触",
"手部特写",
"人群"
]
},
{
"ep": 57,
"synopsis": "顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。",
"hook": "顾承宴为什么不回答,这段婚姻在他心里到底算不算数?",
"suspense": "协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。",
"sceneIds": [
"S08"
],
"characterIds": [
"C01",
"C02",
"C07",
"C09",
"C11",
"C17"
],
"propIds": [],
"crowdPlan": "拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
},
{
"ep": 58,
"synopsis": "风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。",
"hook": "求婚成了,奶奶憋了一年的婚礼要怎么办?",
"suspense": "二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。",
"sceneIds": [
"S02"
],
"characterIds": [
"C01",
"C02"
],
"propIds": [
"P02"
],
"warnings": [
"肢体接触",
"手部特写"
]
},
{
"ep": 59,
"synopsis": "顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。",
"hook": "匿名包裹是谁寄来的,那封信里写了什么?",
"suspense": "寄件人的身份;外婆年轻时的往事与苏记的来历。",
"sceneIds": [
"S05",
"S09"
],
"characterIds": [
"C01",
"C02",
"C08",
"C10"
],
"propIds": [
"P07"
],
"crowdPlan": "老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。",
"warnings": [
"人群",
"手部特写"
]
},
{
"ep": 60,
"synopsis": "信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。",
"hook": "苏念小腹里,是不是已经有了苏记的第四代传人?",
"suspense": "新生命的到来留白;远走的苏晴是否还会回到老街。",
"sceneIds": [
"S09",
"S01"
],
"characterIds": [
"C01",
"C02",
"C07",
"C08",
"C09",
"C10",
"C12"
],
"propIds": [
"P07",
"P01"
],
"crowdPlan": "婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。",
"warnings": [
"人群",
"肢体接触",
"手部特写"
]
}
]
}闪婚老公藏不住了-outline.md 分集大纲 30,297 字
# 闪婚老公藏不住了 · 短剧改编大纲 > 60 集 × 1.5 分钟 · 女频·先婚后爱甜宠(身份马甲 + 打脸) · 抽核改编 ## 质量门 - ✅ 主角组 1–5 人 - ✅ 重要配角 ≤ 10 人 - ✅ 功能性角色 ≤ 10 人 - ✅ 主场景 ≤ 10 - ✅ 叙事道具 ≤ 8 件 - ✅ 一次性场景已标注规避方案 - ✅ 爽点间隔 ≤ 3 集,无真空区 - ✅ 第 1 集有钩子 - ✅ 大爆点不在最后一集才首次出现 - ✅ 每集梗概三栏齐全(含【钩子】【悬念】) - ✅ 三人以上同框已标注拆解方案 - ✅ 生成难点已进预警清单 - ✅ 场景/角色/道具引用完整,无失业角色、无空转场景、无零集道具 - ✅ 梗概是叙述体,无引号对白 ## 付费卡点 第 1–10 集免费;以下五集为卡点集,集尾放全剧级强悬念,下一集开头兑现。 | # | 卡点集 | 集尾悬念 | | --- | --- | --- | | 1 | 第 10 集 | 通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记? | | 2 | 第 20 集 | 苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗? | | 3 | 第 30 集 | 苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗? | | 4 | 第 40 集 | 照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过? | | 5 | 第 50 集 | 顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵? | ## 一、改编说明 **一句话核心** 被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。 ### 保留 | 内容 | 理由 | 原文依据 | | --- | --- | --- | | 民政局门口当众退婚、当场闪婚的开局 | 第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手 | 苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。 | | 顾承宴隐藏身份、租小两居扮打工人 | 马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点 | 顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。 | | 外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片) | 一件道具串起护铺、比赛、十五年前旧案三段,前后呼应 | 外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。 | | 十五年前点心铺救下少年的旧缘 | 把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量 | 照片背后外婆写着:那天追来的人,叫他二爷。 | | 撕婚前协议、桂花糕求婚的结局 | 契约婚姻的标准收束,道具闭环 | 顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。 | ### 砍掉 | 内容 | 理由 | | --- | --- | | 唐果与陈默的欢喜冤家感情线 | 九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分 | | 苏念出国进修三年的事业线 | 时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担 | | 顾承宴母亲车祸旧案与大房二房三十年恩怨 | 与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住 | | 周子昂破产后黑化跟踪的复仇线 | 反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏 | | 苏晴的网红经纪公司与流量造假行业线 | 行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担 | | 外婆与顾老夫人年轻时是闺中好友的往事 | 巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道 | ### 合并 | 内容 | 理由 | | --- | --- | | 林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能 | 同一个情敌兼二叔盟友,不需要两张脸 | | 拆迁办经理兼任二叔派去老街闹事的现场执行人 | 强拆戏和闹事戏都由他出面,少一个功能角色 | | 酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏 | 他对顾承宴的态度就是马甲的温度计,一张脸复用三次 | ### 风险与对策 | 内容 | 对策 | | --- | --- | | 马甲戏拖太久观众会烦 | 第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一 | | 女频打脸集中在前段,后段变成商战闷戏 | 后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程 | | 九十秒一集信息密度高,人物多容易乱 | 每集主戏不超过三人同框,配角按集轮换出场 | | 车祸、仓库营救等动作戏生成难度高 | 车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过 | ## 二、人物表 | ID | 角色 | 层级 | 定位 | 人物弧 | ← 改动记录 | | --- | --- | --- | --- | --- | --- | | C01 | 苏念 | 主角组 | 女主·苏记点心铺第三代传人 | 从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻 | 原创 | | C02 | 顾承宴 | 主角组 | 男主·顾氏集团总裁,隐藏身份闪婚 | 从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚 | 原创 | | C03 | 苏晴 | 主角组 | 前期主反派·苏念的继妹 | 从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始 | 原创 | | C04 | 顾远山 | 主角组 | 幕后主反派·顾承宴的二叔 | 笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网 | 原创 | | C05 | 周子昂 | 重要配角 | 渣前任·周家少爷 | 当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局 | 原创 | | C06 | 刘美琴 | 重要配角 | 继母 | 一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门 | 原创 | | C07 | 苏建国 | 重要配角 | 苏念的父亲 | 被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂 | 原创 | | C08 | 顾老夫人 | 重要配角 | 顾承宴的奶奶,CP 头号助攻 | 以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台 | 原创 | | C09 | 陈默 | 重要配角 | 顾承宴的特助,马甲维护员 | 从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人 | 原创;合并:唐果陈默感情线砍掉后只留功能 | | C10 | 唐果 | 重要配角 | 苏念的闺蜜,美食博主 | 最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清 | 原创 | | C11 | 林薇薇 | 重要配角 | 情敌·顾家世交千金 | 自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂 | 原创;合并:联姻对象 + 股东代表 | | C12 | 民政局工作人员 | 功能性角色 | 见证闪婚与离婚预约 | — | 原创 | | C13 | 主治医生 | 功能性角色 | 奶奶与顾承宴的医生 | — | 原创 | | C14 | 酒店经理 | 功能性角色 | 顾氏旗下酒店经理,马甲温度计 | — | 原创;合并:订婚宴、寿宴、发布会三场的酒店方 | | C15 | 拆迁办经理 | 功能性角色 | 二叔的强拆执行人 | — | 原创;合并:老街闹事的现场执行人 | | C16 | 大赛评委 | 功能性角色 | 美食大赛主评委,被二叔收买又倒戈 | — | 原创 | | C17 | 记者 | 功能性角色 | 发布会与赛场的媒体 | — | 原创 | | C18 | 当年绑匪 | 功能性角色 | 十五年前被二叔雇用的绑匪,关键证人 | — | 原创 | | C19 | 律师 | 功能性角色 | 顾承宴的律师,处理遗嘱、伪签与报案 | — | 原创 | ## 三、爽点表 | ID | 类型 | 量级 | 集 | 铺垫 | 兑现 | | --- | --- | --- | --- | --- | --- | | B01 | 闪婚反杀 | 常规 | 1 | 周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表 | 苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过 | | B02 | 打脸 | 常规 | 3 | 继母带苏晴上门收铺,说铺子已抵给周家 | 苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的 | | B03 | 长辈认可 | 常规 | 4 | 苏念带桂花糕去医院见奶奶,以为要被挑剔 | 奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术 | | B04 | 护妻 | 常规 | 6 | 混混在苏记门口泼漆摘招牌 | 顾承宴赶到录证报警,混混落荒而逃,招牌挂回去 | | B05 | 打脸 | 常规 | 7 | 苏家寿宴上继母嘲讽顾承宴的茶叶寒酸 | 懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去 | | B06 | 打脸 | 大爆点 | 9 | 订婚宴上苏晴栽赃苏念偷钻戒,全场围观 | 酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑 | | B07 | 反转 | 常规 | 11 | 拆迁通知落款顾氏总裁,三天后强拆 | 顾承宴查出是二叔伪签,当场叫停拆迁 | | B08 | 打脸 | 常规 | 13 | 林薇薇上门自称顾承宴未婚妻,羞辱苏念 | 苏念亮出结婚证,林薇薇当场哑火 | | B09 | 撒糖 | 常规 | 14 | 苏念吃醋质问林薇薇的事,协议写着互不动心 | 停电夜意外的初吻 | | B10 | 护妻 | 常规 | 16 | 苏念去顾氏送饭,被前台当成蹭饭的赶出去 | 顾承宴下楼当众牵她进电梯,前台被调岗 | | B11 | 反转 | 大爆点 | 19 | 寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯 | 奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑 | | B12 | 身份揭破 | 大爆点 | 20 | 主持人宣布有请顾氏集团总裁致辞 | 走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上 | | B13 | 真相澄清 | 常规 | 23 | 苏念认定他骗婚就是为了拆铺子 | 律师当面鉴定拆迁合同上的签名是伪造的 | | B14 | 追妻撒糖 | 常规 | 25 | 冷战中的苏念搬回点心铺 | 顾承宴在铺子门口学做桂花糕,苏念心软同意回家 | | B15 | 打脸 | 常规 | 27 | 周子昂得知被苏晴骗,回头纠缠苏念 | 顾承宴一个电话终止周家所有分包,周子昂当场跪求 | | B16 | 反转 | 大爆点 | 29 | 苏记被栽赃食物中毒,铺子被封、苏念被网暴 | 唐果直播放出监控,投毒的是二叔的人,苏记解封 | | B17 | 打脸 | 常规 | 32 | 大赛海选,苏晴嘲笑苏念的手工点心土气 | 苏念以海选第一晋级,苏晴压线 | | B18 | 反转 | 常规 | 35 | 半决赛苏念的原料被调包 | 苏念临场改做外婆的老式点心,反超晋级 | | B19 | 撒糖 | 常规 | 37 | 被收买的评委当众质疑苏念走后门 | 顾承宴宣布退出赞助回避,只坐观众席为她加油 | | B20 | 夺冠打脸 | 大爆点 | 39 | 苏晴用偷来的秘方与苏念同台决赛 | 苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买 | | B21 | 揭秘 | 常规 | 40 | 苏念整理铁皮盒,发现夹层 | 旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷 | | B22 | 相认撒糖 | 常规 | 42 | 苏念拿照片问顾承宴 | 顾承宴承认自己就是那个少年,十五年只记得这一口甜 | | B23 | 反转 | 大爆点 | 44 | 二叔联合林薇薇在董事会发难,要罢免顾承宴 | 苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股 | | B24 | 倒戈 | 常规 | 46 | 苏晴被二叔和周子昂一起抛弃 | 苏晴把偷录二叔的录音笔交给苏念 | | B25 | 虐心误会 | 常规 | 48 | 契约到期前夜,苏念听见顾承宴说协议到期就结束 | 苏念默默收拾行李,约他去民政局 | | B26 | 危机 | 常规 | 50 | 苏念在民政局等不到人 | 电话打来:顾承宴的车刹车失灵,正在抢救 | | B27 | 将计就计 | 常规 | 52 | 二叔以为顾承宴昏迷,接管集团 | 顾承宴醒来与苏念联手装病,引二叔现形 | | B28 | 寻证 | 常规 | 54 | 当年绑匪下落不明 | 陈默找到当年绑匪,对方愿意作证 | | B29 | 揭破 | 大爆点 | 56 | 二叔把苏念绑进仓库逼要录音笔 | 顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网 | | B30 | 撒糖求婚 | 大爆点 | 58 | 协议到期那天,苏念拿出婚前协议 | 顾承宴当面撕掉协议,用一盒桂花糕重新求婚 | | B31 | 圆满 | 常规 | 60 | 老街保住,苏记招牌重新挂起 | 老街补办婚礼,一年后苏记开了第二家店 | ## 四、分集梗概 ### 第 1 集 苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。 - **【钩子】** 刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁? - **【悬念】** 顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。 - 场景:S01 人物:C01、C05、C03、C02、C12 - 同框拆解:分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。 - ⚠️ 预警:肢体接触、人群、手部特写 ### 第 2 集 小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。 - **【钩子】** 他说明天带她去医院见奶奶,奶奶要验货,她能过关吗? - **【悬念】** 顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。 - 场景:S03 人物:C02、C01 - 同框拆解:两人戏,无三人同框,一场拍完。 - ⚠️ 预警:手部特写 ### 第 3 集 继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。 - **【钩子】** 苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来? - **【悬念】** 老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。 - 场景:S02 人物:C06、C03、C01 - 同框拆解:一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。 - ⚠️ 预警:手部特写、肢体接触 ### 第 4 集 苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。 - **【钩子】** 奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答? - **【悬念】** 奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。 - 场景:S07 人物:C01、C02、C08、C13 - 同框拆解:分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。 - ⚠️ 预警:肢体接触、手部特写 ### 第 5 集 同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。 - **【钩子】** 苏念收到唐果的消息,铺子出事了,出了什么事? - **【悬念】** 陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。 - 场景:S03 人物:C01、C02、C09 - 同框拆解:夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。 - ⚠️ 预警:手部特写 ### 第 6 集 苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。 - **【钩子】** 苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么? - **【悬念】** 拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。 - 场景:S09、S02 人物:C15、C01、C02、C03 - 同框拆解:分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 7 集 苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。 - **【钩子】** 苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局? - **【悬念】** 一个打工的哪来的母树茶;苏晴订婚宴上的算计。 - 场景:S06 人物:C07、C06、C03、C05、C01、C02 - 同框拆解:六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。 - ⚠️ 预警:手部特写 ### 第 8 集 苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。 - **【钩子】** 苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么? - **【悬念】** 订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。 - 场景:S02 人物:C03、C10、C01、C02、C05 - 同框拆解:分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。 - ⚠️ 预警:手部特写 ### 第 9 集 订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。 - **【钩子】** 周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么? - **【悬念】** 酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。 - 场景:S08 人物:C03、C05、C01、C02、C14 - 同框拆解:分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。 - ⚠️ 预警:人群、手部特写、肢体接触 ### 第 10 集 | 🔒 付费卡点 奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。 - **【钩子】** 【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记? - **【悬念】** 伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。 - 场景:S07、S02 人物:C08、C01、C02、C15 - 同框拆解:分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。 - ⚠️ 预警:肢体接触、手部特写、人群 ### 第 11 集 顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。 - **【钩子】** 二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么? - **【悬念】** 二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。 - 场景:S04 人物:C02、C09、C04 - 同框拆解:总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。 - ⚠️ 预警:手部特写 ### 第 12 集 拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。 - **【钩子】** 门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁? - **【悬念】** 唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。 - 场景:S09、S02 人物:C15、C01、C02、C10、C11 - 同框拆解:分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 13 集 林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。 - **【钩子】** 林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念? - **【悬念】** 林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。 - 场景:S02 人物:C11、C01、C03 - 同框拆解:店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。 - ⚠️ 预警:手部特写 ### 第 14 集 苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。 - **【钩子】** 来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗? - **【悬念】** 两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。 - 场景:S03 人物:C01、C02 - 同框拆解:仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。 - ⚠️ 预警:肢体接触、手部特写 ### 第 15 集 奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。 - **【钩子】** 苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么? - **【悬念】** 林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。 - 场景:S07、S02 人物:C08、C01、C10、C03 - 同框拆解:分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。 - ⚠️ 预警:肢体接触、手部特写、人群 ### 第 16 集 苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。 - **【钩子】** 二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗? - **【悬念】** 顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。 - 场景:S04 人物:C01、C02、C09、C04 - 同框拆解:大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。 - ⚠️ 预警:肢体接触、人群、手部特写 ### 第 17 集 奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。 - **【钩子】** 坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗? - **【悬念】** 奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。 - 场景:S05、S03 人物:C08、C04、C02、C01 - 同框拆解:分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。 - ⚠️ 预警:手部特写 ### 第 18 集 奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。 - **【钩子】** 一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白? - **【悬念】** 顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。 - 场景:S08 人物:C08、C01、C11、C03 - 同框拆解:宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 19 集 宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。 - **【钩子】** 主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁? - **【悬念】** 苏念仍不知道丈夫的身份;顾氏总裁即将登台。 - 场景:S08 人物:C01、C11、C03、C08、C14 - 同框拆解:围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 20 集 | 🔒 付费卡点 苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。 - **【钩子】** 【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗? - **【悬念】** 苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。 - 场景:S08 人物:C01、C02、C08、C14 - 同框拆解:苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。 - ⚠️ 预警:人群、手部特写 ### 第 21 集 宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。 - **【钩子】** 签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗? - **【悬念】** 拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。 - 场景:S09、S03 人物:C01、C02 - ⚠️ 预警:肢体接触、手部特写 ### 第 22 集 苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。 - **【钩子】** 苏晴给二叔报信,两人下一步要趁冷战对苏记做什么? - **【悬念】** 苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。 - 场景:S02 人物:C01、C02、C09、C03 - 同框拆解:全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。 - ⚠️ 预警:肢体接触、手部特写 ### 第 23 集 顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。 - **【钩子】** 听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁? - **【悬念】** 外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。 - 场景:S02 人物:C01、C02、C19 - 同框拆解:柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。 - ⚠️ 预警:手部特写 ### 第 24 集 苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。 - **【钩子】** 被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么? - **【悬念】** 刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。 - 场景:S02、S06 人物:C07、C06、C01 - 同框拆解:分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。 - ⚠️ 预警:肢体接触 ### 第 25 集 顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。 - **【钩子】** 和好后回家的路上,那辆一直远远跟着的车里坐的是谁? - **【悬念】** 跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。 - 场景:S02、S09 人物:C02、C01 - 同框拆解:两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。 - ⚠️ 预警:人群、手部特写 ### 第 26 集 和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。 - **【钩子】** 周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么? - **【悬念】** 苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。 - 场景:S03 人物:C01、C02、C05 - 同框拆解:厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。 - ⚠️ 预警:肢体接触、手部特写 ### 第 27 集 老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。 - **【钩子】** 周子昂被拖走前喊出苏晴背后另有其人,那个人是谁? - **【悬念】** 苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。 - 场景:S09 人物:C05、C01、C02 - 同框拆解:纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。 - ⚠️ 预警:肢体接触 ### 第 28 集 苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。 - **【钩子】** 这包不属于苏记的添加剂,是谁趁夜放进后厨的? - **【悬念】** 投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。 - 场景:S02 人物:C01、C10 - ⚠️ 预警:人群、手部特写 ### 第 29 集 唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。 - **【钩子】** 拆迁办经理被押走时一直望着的那辆车,是二叔的吗? - **【悬念】** 拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。 - 场景:S02、S07 人物:C10、C01、C15、C13 - 同框拆解:分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。 - ⚠️ 预警:人群、手部特写、肢体接触 ### 第 30 集 | 🔒 付费卡点 全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。 - **【钩子】** 【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗? - **【悬念】** 秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。 - 场景:S10、S02 人物:C01、C03、C17 - 同框拆解:两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。 - ⚠️ 预警:手部特写、人群 ### 第 31 集 苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。 - **【钩子】** 收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令? - **【悬念】** 被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。 - 场景:S02、S04 人物:C01、C10、C02、C04、C16 - 同框拆解:分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。 - ⚠️ 预警:手部特写 ### 第 32 集 美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。 - **【钩子】** 林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么? - **【悬念】** 收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。 - 场景:S10 人物:C01、C03、C10、C16、C11 - 同框拆解:分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。 - ⚠️ 预警:人群、手部特写 ### 第 33 集 备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。 - **【钩子】** 深夜溜进苏记原料间的黑影是谁,他动了什么? - **【悬念】** 协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。 - 场景:S03、S02 人物:C01、C02 - 同框拆解:两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。 - ⚠️ 预警:肢体接触 ### 第 34 集 复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。 - **【钩子】** 半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做? - **【悬念】** 调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。 - 场景:S10 人物:C01、C16、C11、C10 - 同框拆解:评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。 - ⚠️ 预警:人群、手部特写 ### 第 35 集 半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。 - **【钩子】** 接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招? - **【悬念】** 原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。 - 场景:S10 人物:C01、C10、C16、C03、C11 - 同框拆解:分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。 - ⚠️ 预警:肢体接触、手部特写、人群 ### 第 36 集 陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。 - **【钩子】** 董事会逼顾承宴回避赞助,他会怎么接这一刀? - **【悬念】** 二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。 - 场景:S04、S03 人物:C02、C09、C01、C04 - 同框拆解:分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。 - ⚠️ 预警:手部特写、人群 ### 第 37 集 决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。 - **【钩子】** 秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比? - **【悬念】** 外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。 - 场景:S10 人物:C01、C02、C16、C17、C03、C10 - 同框拆解:分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。 - ⚠️ 预警:人群 ### 第 38 集 决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。 - **【钩子】** 苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅? - **【悬念】** 秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。 - 场景:S10 人物:C01、C03、C16、C10 - 同框拆解:双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。 - ⚠️ 预警:手部特写、人群 ### 第 39 集 决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。 - **【钩子】** 苏晴喊出的二爷是谁,他为何要偷一张点心秘方? - **【悬念】** 二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。 - 场景:S10 人物:C01、C03、C16、C17、C02、C10 - 同框拆解:分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 40 集 | 🔒 付费卡点 夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。 - **【钩子】** 【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过? - **【悬念】** 照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。 - 场景:S02 人物:C01 - 同框拆解:单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。 - ⚠️ 预警:手部特写 ### 第 41 集 夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。 - **【钩子】** 他看见她手里的两张照片,会承认自己就是那个少年吗? - **【悬念】** 照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。 - 场景:S03 人物:C01、C02 - ⚠️ 预警:手部特写 ### 第 42 集 顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。 - **【钩子】** 那天追来的二爷,真的是顾承宴的亲二叔吗? - **【悬念】** 二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。 - 场景:S03 人物:C01、C02 - ⚠️ 预警:肢体接触、手部特写 ### 第 43 集 顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。 - **【钩子】** 二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手? - **【悬念】** 二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。 - 场景:S05 人物:C01、C02、C08、C04 - 同框拆解:分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。 - ⚠️ 预警:肢体接触、手部特写 ### 第 44 集 董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。 - **【钩子】** 二叔一句外婆当年不知死活,外婆的死难道另有隐情? - **【悬念】** 外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。 - 场景:S04 人物:C01、C02、C04、C11、C19 - 同框拆解:分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。 - ⚠️ 预警:人群、手部特写 ### 第 45 集 苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。 - **【钩子】** 一向和她作对的苏晴,为什么在雨夜湿透了找上门? - **【悬念】** 苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。 - 场景:S07、S02 人物:C01、C07、C03 - 同框拆解:三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。 - ⚠️ 预警:雨戏、肢体接触、手部特写 ### 第 46 集 苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。 - **【钩子】** 外婆的死,难道是二叔一手造成的? - **【悬念】** 外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。 - 场景:S02 人物:C01、C03 - ⚠️ 预警:手部特写 ### 第 47 集 苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。 - **【钩子】** 协议后天就到期,两人都没说出口的话,还来得及说吗? - **【悬念】** 当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。 - 场景:S03 人物:C01、C02 - ⚠️ 预警:肢体接触、手部特写 ### 第 48 集 协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。 - **【钩子】** 顾承宴口中的结束,真的是要和她离婚吗? - **【悬念】** 顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。 - 场景:S04、S03 人物:C01、C02、C09 - 同框拆解:三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。 - ⚠️ 预警:手部特写 ### 第 49 集 第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。 - **【钩子】** 顾承宴为什么失约,陈默这通电话要告诉她什么? - **【悬念】** 顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。 - 场景:S01 人物:C01、C12 - ⚠️ 预警:手部特写 ### 第 50 集 | 🔒 付费卡点 陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。 - **【钩子】** 【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵? - **【悬念】** 刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。 - 场景:S01、S07 人物:C01、C09、C13 - 同框拆解:分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。 - ⚠️ 预警:手部特写 ### 第 51 集 重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。 - **【钩子】** 顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉? - **【悬念】** 二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。 - 场景:S07 人物:C01、C02、C04 - 同框拆解:顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。 - ⚠️ 预警:肢体接触、手部特写 ### 第 52 集 深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。 - **【钩子】** 假昏迷的消息放出去了,二叔会多快咬钩? - **【悬念】** 动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。 - 场景:S07 人物:C01、C02、C09、C13、C17 - 同框拆解:病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。 - ⚠️ 预警:肢体接触、人群 ### 第 53 集 顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。 - **【钩子】** 一周强拆令已下,苏念的铺子还撑得住几天? - **【悬念】** 二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。 - 场景:S04 人物:C04、C11 - ⚠️ 预警:手部特写 ### 第 54 集 陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,照外婆的方子蒸了一屉桂花糕,递过去一块。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。 - **【钩子】** 车里那双眼睛盯上了证人,二叔会先下手吗? - **【悬念】** 修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。 - 场景:S09、S02 人物:C01、C09、C18 - 同框拆解:老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。 - ⚠️ 预警:手部特写 ### 第 55 集 苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。 - **【钩子】** 顾承宴还躺在病房装昏迷,谁能赶来救苏念? - **【悬念】** 苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。 - 场景:S09、S11 人物:C01、C04、C18 - 同框拆解:老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。 - ⚠️ 预警:肢体接触、手部特写 ### 第 56 集 苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。 - **【钩子】** 二叔临走那句林家不干净,林薇薇还藏着什么? - **【悬念】** 林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。 - 场景:S11 人物:C01、C02、C04、C09、C18 - 同框拆解:拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。 - ⚠️ 预警:肢体接触、手部特写、人群 ### 第 57 集 顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。 - **【钩子】** 顾承宴为什么不回答,这段婚姻在他心里到底算不算数? - **【悬念】** 协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。 - 场景:S08 人物:C01、C02、C07、C09、C11、C17 - 同框拆解:拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。 - ⚠️ 预警:人群、肢体接触、手部特写 ### 第 58 集 风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。 - **【钩子】** 求婚成了,奶奶憋了一年的婚礼要怎么办? - **【悬念】** 二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。 - 场景:S02 人物:C01、C02 - ⚠️ 预警:肢体接触、手部特写 ### 第 59 集 顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。 - **【钩子】** 匿名包裹是谁寄来的,那封信里写了什么? - **【悬念】** 寄件人的身份;外婆年轻时的往事与苏记的来历。 - 场景:S05、S09 人物:C01、C02、C08、C10 - 同框拆解:老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。 - ⚠️ 预警:人群、手部特写 ### 第 60 集 信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。 - **【钩子】** 苏念小腹里,是不是已经有了苏记的第四代传人? - **【悬念】** 新生命的到来留白;远走的苏晴是否还会回到老街。 - 场景:S09、S01 人物:C01、C02、C07、C08、C09、C10、C12 - 同框拆解:婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。 - ⚠️ 预警:人群、肢体接触、手部特写 ## 五、资产清单(由分集数据自动汇总) | ID | 场景 | 主场景 | 出现集 | 次数 | 复用方案 | | --- | --- | --- | --- | --- | --- | | S01 | 民政局 | 是 | 1、49、50、60 | 4 | — | | S02 | 苏记点心铺 | 是 | 3、6、8、10、12、13、15、22、23、24、25、28、29、30、31、33、40、45、46、54、58 | 21 | — | | S03 | 小两居(顾承宴租的伪装公寓) | 是 | 2、5、14、17、21、26、33、36、41、42、47、48 | 12 | — | | S04 | 顾氏集团总部(总裁办 / 会议室) | 是 | 11、16、31、36、44、48、53 | 7 | — | | S05 | 顾家老宅 | 是 | 17、43、59 | 3 | — | | S06 | 苏家客厅 | 是 | 7、24 | 2 | — | | S07 | 医院病房 | 是 | 4、10、15、29、45、50、51、52 | 8 | — | | S08 | 酒店宴会厅 | 是 | 9、18、19、20、57 | 5 | — | | S09 | 老街 | 是 | 6、12、21、25、27、54、55、59、60 | 9 | — | | S10 | 美食大赛演播厅 | 是 | 30、32、34、35、37、38、39 | 7 | — | | S11 | 废弃仓库 | 否 | 55、56 | 2 | 复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设 | | ID | 道具 | 承载什么 | 出现集 | 次数 | 关联爽点 | | --- | --- | --- | --- | --- | --- | | P01 | 结婚证 | 闪婚的凭证,苏念对抗情敌、撑场面的底牌 | 1、13、21、49、50、60 | 6 | B01、B08 | | P02 | 婚前协议 | 一年契约、互不动心的条款,感情线的计时器,结局被撕 | 2、14、26、47、48、58 | 6 | B09、B25、B30 | | P03 | 外婆的铁皮点心盒 | 装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙 | 3、15、30、31、40、41、42、43、54 | 9 | B02、B20、B21、B22 | | P04 | 顾家传家玉镯 | 奶奶认孙媳的信物,寿宴上被设局栽赃 | 4、15、18、19 | 4 | B03、B11 | | P05 | 录音笔 | 苏晴倒戈交出的二叔罪证,终局翻盘的证据 | 46、47、55、56 | 4 | B24、B29 | | P06 | 拆迁合同 | 伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证 | 10、11、21、23、44 | 5 | B07、B13、B23 | | P07 | 苏记老招牌 | 铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中 | 6、59、60 | 3 | B04、B31 | | ID | 角色 | 定位 | 出现集 | 次数 | | --- | --- | --- | --- | --- | | C01 | 苏念 | 女主·苏记点心铺第三代传人 | 1、2、3、4、5、6、7、8、9、10、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27、28、29、30、31、32、33、34、35、36、37、38、39、40、41、42、43、44、45、46、47、48、49、50、51、52、54、55、56、57、58、59、60 | 58 | | C02 | 顾承宴 | 男主·顾氏集团总裁,隐藏身份闪婚 | 1、2、4、5、6、7、8、9、10、11、12、14、16、17、20、21、22、23、25、26、27、31、33、36、37、39、41、42、43、44、47、48、51、52、56、57、58、59、60 | 39 | | C03 | 苏晴 | 前期主反派·苏念的继妹 | 1、3、6、7、8、9、13、15、18、19、22、30、32、35、37、38、39、45、46 | 19 | | C04 | 顾远山 | 幕后主反派·顾承宴的二叔 | 11、16、17、31、36、43、44、51、53、55、56 | 11 | | C05 | 周子昂 | 渣前任·周家少爷 | 1、7、8、9、26、27 | 6 | | C06 | 刘美琴 | 继母 | 3、7、24 | 3 | | C07 | 苏建国 | 苏念的父亲 | 7、24、45、57、60 | 5 | | C08 | 顾老夫人 | 顾承宴的奶奶,CP 头号助攻 | 4、10、15、17、18、19、20、43、59、60 | 10 | | C09 | 陈默 | 顾承宴的特助,马甲维护员 | 5、11、16、22、36、48、50、52、54、56、57、60 | 12 | | C10 | 唐果 | 苏念的闺蜜,美食博主 | 8、12、15、28、29、31、32、34、35、37、38、39、59、60 | 14 | | C11 | 林薇薇 | 情敌·顾家世交千金 | 12、13、18、19、32、34、35、44、53、57 | 10 | | C12 | 民政局工作人员 | 见证闪婚与离婚预约 | 1、49、60 | 3 | | C13 | 主治医生 | 奶奶与顾承宴的医生 | 4、29、50、52 | 4 | | C14 | 酒店经理 | 顾氏旗下酒店经理,马甲温度计 | 9、19、20 | 3 | | C15 | 拆迁办经理 | 二叔的强拆执行人 | 6、10、12、29 | 4 | | C16 | 大赛评委 | 美食大赛主评委,被二叔收买又倒戈 | 31、32、34、35、37、38、39 | 7 | | C17 | 记者 | 发布会与赛场的媒体 | 30、37、39、52、57 | 5 | | C18 | 当年绑匪 | 十五年前被二叔雇用的绑匪,关键证人 | 54、55、56 | 3 | | C19 | 律师 | 顾承宴的律师,处理遗嘱、伪签与报案 | 23、44 | 2 | ### 角色资产量折算 | 层级 | 人数 | 角色 | 资产量 | | --- | --- | --- | --- | | 主角组 | 4 | 苏念、顾承宴、苏晴、顾远山 | 全套角色设定图 + 逐镜一致性核对 | | 重要配角 | 7 | 周子昂、刘美琴、苏建国、顾老夫人、陈默、唐果、林薇薇 | 半身参考图,关键戏核对 | | 功能性角色 | 8 | 民政局工作人员、主治医生、酒店经理、拆迁办经理、大赛评委、记者、当年绑匪、律师 | 提示词直出,松散一致即可 | | 难点 | 涉及集 | | --- | --- | | 肢体接触 | 1、3、4、6、9、10、12、14、15、16、18、19、21、22、24、26、27、29、33、35、39、42、43、45、47、51、52、55、56、57、58、60 | | 人群 | 1、6、9、10、12、15、16、18、19、20、25、28、29、30、32、34、35、36、37、38、39、44、52、56、57、59、60 | | 手部特写 | 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、25、26、28、29、30、31、32、34、35、36、38、39、40、41、42、43、44、45、46、47、48、49、50、51、53、54、55、56、57、58、59、60 | | 雨戏 | 45 | | 爽点类型 | 落点(集) | | --- | --- | | 闪婚反杀 | 1 | | 打脸 | 3、7、9、13、27、32 | | 长辈认可 | 4 | | 护妻 | 6、16 | | 反转 | 11、19、29、35、44 | | 撒糖 | 14、37 | | 身份揭破 | 20 | | 真相澄清 | 23 | | 追妻撒糖 | 25 | | 夺冠打脸 | 39 | | 揭秘 | 40 | | 相认撒糖 | 42 | | 倒戈 | 46 | | 虐心误会 | 48 | | 危机 | 50 | | 将计就计 | 52 | | 寻证 | 54 | | 揭破 | 56 | | 撒糖求婚 | 58 | | 圆满 | 60 |
闪婚老公藏不住了-script.json 12,136 字
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"episodes": [
{
"ep": 1,
"targetSeconds": 90,
"hook": "冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来",
"cliff": "刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁?",
"beatsClaimed": [
"闪婚反杀"
],
"hookBeat": [
1,
1
],
"scenes": [
{
"sceneId": "S01",
"characters": [
"C01",
"C05",
"C03",
"C02"
],
"props": [],
"flow": [
{
"action": "冷开场:苏念抱着户口本一路小跑上民政局台阶,白衬衫,发间别着一支旧桂花发夹,边跑边看手机。"
},
{
"action": "台阶下一辆跑车停下,周子昂下车,转身扶出苏晴,手搂在她腰上。"
},
{
"speaker": "C01",
"line": "子昂?你怎么带她来了?",
"delivery": "笑容僵在脸上"
},
{
"speaker": "C03",
"line": "姐姐,对不起呀。我怀孕了,是子昂哥的。",
"delivery": "夹子音,一手护着小腹,眼里全是得意"
},
{
"action": "苏晴把一张孕检单塞进苏念手里。排队的路人纷纷回头看。"
},
{
"speaker": "C05",
"line": "婚不结了。你那破点心铺,还不值我一块表。",
"delivery": "抬手晃了晃腕上的名表"
},
{
"speaker": "C05",
"line": "守着个老太太的破店,能有什么出息?"
},
{
"speaker": "C01",
"line": "三年,周子昂,我就值一块表?",
"delivery": "声音发抖,背挺得笔直"
},
{
"action": "周子昂搂着苏晴转身往停车场走,苏晴回头冲她挥了挥手。"
},
{
"speaker": "VO",
"line": "外婆,铺子我守得住。这个人,我不要了。",
"delivery": "苏念心声,攥紧孕检单"
},
{
"action": "台阶旁的长椅上,一个穿灰色卫衣的男人正在打电话,眉头紧锁。"
},
{
"speaker": "C02",
"line": "奶奶,您先进手术室。今天之内,我一定结婚。",
"delivery": "压低声音,又急又无奈"
},
{
"action": "苏念把孕检单揉成一团扔进垃圾桶,径直走到长椅前站定。"
}
]
},
{
"sceneId": "S01",
"characters": [
"C01",
"C02",
"C12"
],
"props": [
"P01"
],
"flow": [
{
"speaker": "C01",
"line": "你要结婚?我也要。户口本带了吗?",
"delivery": "下巴一抬,像在谈一笔生意"
},
{
"action": "顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。"
},
{
"speaker": "C02",
"line": "带了。你不问我是谁?"
},
{
"speaker": "C01",
"line": "进去再问。走不走?"
},
{
"action": "顾承宴站起来,跟着她走进民政局大厅。"
},
{
"speaker": "C12",
"line": "两位,确定是自愿结婚吗?",
"delivery": "看看他又看看她,有点狐疑"
},
{
"speaker": "C01",
"line": "确定。",
"delivery": "抢在他前面"
},
{
"speaker": "C02",
"line": "确定。"
},
{
"action": "钢印落下,工作人员把两本红色结婚证推到他们面前。"
}
]
},
{
"sceneId": "S01",
"characters": [
"C01",
"C02",
"C05",
"C03",
"C12"
],
"props": [
"P01"
],
"flow": [
{
"action": "苏念拿着结婚证走出大门,正好从刚要上车的周子昂和苏晴面前经过。"
},
{
"speaker": "C05",
"line": "随便找个打工的就嫁了?苏念,你气我呢?",
"delivery": "嗤笑,上下打量顾承宴的卫衣"
},
{
"speaker": "C01",
"line": "周先生,以后见面,叫我顾太太。",
"delivery": "头也不回"
},
{
"speaker": "C03",
"line": "顾太太?姐姐,你连他叫什么都不知道吧?",
"delivery": "挽着周子昂,捂嘴笑"
},
{
"action": "顾承宴跟在她身后,嘴角往上动了一下。"
},
{
"action": "他口袋里的手机亮了,来电备注是奶奶·手术室。他接起来。"
},
{
"speaker": "C02",
"line": "奶奶,我结婚了。",
"delivery": "看着苏念的背影"
},
{
"action": "大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。"
}
]
}
]
},
{
"ep": 2,
"targetSeconds": 90,
"hook": "冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理",
"cliff": "奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲",
"beatsClaimed": [],
"hookBeat": [
1,
1
],
"scenes": [
{
"sceneId": "S03",
"characters": [
"C02",
"C01"
],
"props": [
"P02"
],
"flow": [
{
"action": "冷开场:顾承宴拎着苏念的行李箱推门进屋,苏念跟进来,四下打量这间空荡荡的小两居。"
},
{
"speaker": "C01",
"line": "这是你家?干净得像没人住过。"
},
{
"speaker": "C02",
"line": "刚搬来。",
"delivery": "顿了一下才答"
},
{
"speaker": "C01",
"line": "你在哪上班?"
},
{
"speaker": "C02",
"line": "顾氏集团,项目经理。"
},
{
"speaker": "C01",
"line": "顾氏?你也姓顾,这么巧?"
},
{
"speaker": "C02",
"line": "顾姓在这儿很常见。",
"delivery": "面不改色"
},
{
"action": "他从公文包里抽出一份文件,放在茶几上,封面写着婚前协议。"
},
{
"speaker": "C02",
"line": "一年为期。互不干涉,互不动心。"
},
{
"speaker": "C02",
"line": "到期和平离婚,你的铺子我一分不碰。"
},
{
"action": "苏念拿起笔翻到最后一页,签下自己的名字,把笔往桌上一放。"
},
{
"speaker": "C01",
"line": "我也加一条:外婆的铺子,你不许打主意。",
"delivery": "笔尖点着协议"
},
{
"speaker": "C02",
"line": "我对点心铺没兴趣。"
},
{
"speaker": "C01",
"line": "正好,我也没打算动心。"
},
{
"action": "顾承宴走进厨房,连拧三次燃气灶,一次都没打着火。"
},
{
"speaker": "C01",
"line": "你连火都不会开?",
"delivery": "倚在厨房门口,憋着笑"
},
{
"speaker": "C02",
"line": "平时吃公司食堂。"
},
{
"speaker": "C01",
"line": "项目经理住这么好的房子,天天吃食堂?",
"delivery": "眯起眼睛"
},
{
"speaker": "C02",
"line": "公司分的。",
"delivery": "转身去拿碗,避开她的目光"
},
{
"action": "他忽然一手按住胃,弯下腰,额头冒出一层汗。"
},
{
"speaker": "C01",
"line": "胃病?去坐着,别动。",
"delivery": "嘴上凶,人已经挽起袖子"
},
{
"action": "苏念打着火,烧水下面,往锅里卧了一个荷包蛋。"
},
{
"action": "她把一碗热汤面端到他面前,坐在对面。"
},
{
"speaker": "C02",
"line": "我吃什么都没味道,别白费劲。"
},
{
"speaker": "C01",
"line": "吃一口再说。"
},
{
"action": "顾承宴低头吃了一口,筷子停在半空。"
},
{
"speaker": "VO",
"line": "有味道……十五年了,我又尝到了。",
"delivery": "顾承宴心声,不敢置信"
},
{
"speaker": "C01",
"line": "难吃就直说。"
},
{
"speaker": "C02",
"line": "不难吃。",
"delivery": "低头又吃了一大口,没抬眼"
},
{
"action": "他的手机震了一下,屏幕上是奶奶发来的消息。"
},
{
"speaker": "C02",
"line": "明天跟我去趟医院。我奶奶要见你。"
},
{
"speaker": "C02",
"line": "她原话是,要验货。"
},
{
"speaker": "C01",
"line": "验……什么货?",
"delivery": "呛了一口面汤"
},
{
"action": "苏念起身去玄关放鞋,打开鞋柜,里面摆着一双崭新的手工皮鞋,价签上是六位数。"
}
]
}
]
},
{
"ep": 3,
"targetSeconds": 90,
"hook": "冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了",
"cliff": "苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么?",
"beatsClaimed": [
"打脸"
],
"hookBeat": [
1,
1
],
"scenes": [
{
"sceneId": "S02",
"characters": [
"C06",
"C03",
"C01"
],
"props": [
"P03"
],
"flow": [
{
"action": "冷开场:刘美琴一把推开苏记的木门闯进来,苏晴挎着包跟在后面。"
},
{
"action": "苏念正在柜台后揉面,抬起头。"
},
{
"speaker": "C06",
"line": "念念,收拾收拾,三天内搬走。",
"delivery": "笑着,像在通知搬家"
},
{
"speaker": "C01",
"line": "凭什么?"
},
{
"speaker": "C06",
"line": "你爸早把铺子抵给周家了,白纸黑字。"
},
{
"action": "刘美琴把一张抵押单拍在柜台上。"
},
{
"speaker": "C03",
"line": "姐姐都嫁人了,还占着娘家铺子,不合适吧?",
"delivery": "边说边拿起一块桂花糕"
},
{
"action": "苏晴咬了一口桂花糕,又吐回盘子里。"
},
{
"action": "苏念放下擀面杖,看着盘子里那块被吐回来的糕。"
},
{
"speaker": "C01",
"line": "吐出来的那块,按原价十块赔。",
"delivery": "不咸不淡"
},
{
"speaker": "C03",
"line": "这糕也就那样,难怪没人买。"
},
{
"action": "苏念擦干手,弯腰从柜台下面抱出一只旧铁皮点心盒。"
},
{
"speaker": "C06",
"line": "拿个破盒子干什么?"
},
{
"action": "苏念打开铁皮盒,取出一份盖着红章的文件,摊在抵押单旁边。"
},
{
"speaker": "C01",
"line": "外婆的遗嘱,公证过的。",
"delivery": "一字一顿"
},
{
"speaker": "C01",
"line": "铺子留给我,不是苏家的,更轮不到周家。"
},
{
"speaker": "C01",
"line": "我爸拿别人的东西去抵押,这张单子一文不值。"
},
{
"action": "刘美琴抢过遗嘱看了两眼,脸色一下子青了。"
},
{
"speaker": "C06",
"line": "你外婆什么时候弄的这个?"
},
{
"speaker": "C01",
"line": "她走之前。她说这铺子,防的就是你们。"
},
{
"action": "苏念把遗嘱放回盒子扣上盖,抬手指向门口。"
},
{
"speaker": "C01",
"line": "门在那儿,慢走不送。"
},
{
"action": "刘美琴抓起包,拽着苏晴往外走。"
},
{
"speaker": "C06",
"line": "你别得意!你爸那边,你自己去交代!",
"delivery": "在门口回头,嗓门尖得刺耳"
}
]
},
{
"sceneId": "S09",
"characters": [
"C03"
],
"props": [],
"flow": [
{
"action": "老街上,苏晴回头瞪了一眼苏记的招牌,掏出手机拨了个号码。"
},
{
"speaker": "C03",
"line": "子昂哥,她有遗嘱。不过没关系。",
"delivery": "压低声音,笑得发冷"
},
{
"speaker": "C03",
"line": "老街不是要拆了吗?看她还能守几天。"
},
{
"speaker": "C03",
"line": "放心,她嫁的那个打工的,护不住她。"
}
]
},
{
"sceneId": "S02",
"characters": [
"C01"
],
"props": [
"P03"
],
"flow": [
{
"action": "铺子里,苏念抱着铁皮盒坐下,手指摸到盒底,那里有一道细细的缝。"
}
]
}
]
}
]
}闪婚老公藏不住了-script.md 第 1–3 集剧本 3,945 字
# 闪婚老公藏不住了 · 剧本(第 1–3 集) ## 第 1 集 > 预估 84.8 秒 / 目标 90 秒 · 开场钩子:冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来(第 1 场第 1 拍兑现) · 结尾悬念:刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁? > 认领爽点:闪婚反杀 ### 第 1 场 · S01 人物:苏念、周子昂、苏晴、顾承宴 冷开场:苏念抱着户口本一路小跑上民政局台阶,白衬衫,发间别着一支旧桂花发夹,边跑边看手机。 台阶下一辆跑车停下,周子昂下车,转身扶出苏晴,手搂在她腰上。 **苏念**(笑容僵在脸上):子昂?你怎么带她来了? **苏晴**(夹子音,一手护着小腹,眼里全是得意):姐姐,对不起呀。我怀孕了,是子昂哥的。 苏晴把一张孕检单塞进苏念手里。排队的路人纷纷回头看。 **周子昂**(抬手晃了晃腕上的名表):婚不结了。你那破点心铺,还不值我一块表。 **周子昂**:守着个老太太的破店,能有什么出息? **苏念**(声音发抖,背挺得笔直):三年,周子昂,我就值一块表? 周子昂搂着苏晴转身往停车场走,苏晴回头冲她挥了挥手。 **画外音**(苏念心声,攥紧孕检单):外婆,铺子我守得住。这个人,我不要了。 台阶旁的长椅上,一个穿灰色卫衣的男人正在打电话,眉头紧锁。 **顾承宴**(压低声音,又急又无奈):奶奶,您先进手术室。今天之内,我一定结婚。 苏念把孕检单揉成一团扔进垃圾桶,径直走到长椅前站定。 ### 第 2 场 · S01 人物:苏念、顾承宴、民政局工作人员 道具:P01 **苏念**(下巴一抬,像在谈一笔生意):你要结婚?我也要。户口本带了吗? 顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。 **顾承宴**:带了。你不问我是谁? **苏念**:进去再问。走不走? 顾承宴站起来,跟着她走进民政局大厅。 **民政局工作人员**(看看他又看看她,有点狐疑):两位,确定是自愿结婚吗? **苏念**(抢在他前面):确定。 **顾承宴**:确定。 钢印落下,工作人员把两本红色结婚证推到他们面前。 ### 第 3 场 · S01 人物:苏念、顾承宴、周子昂、苏晴、民政局工作人员 道具:P01 苏念拿着结婚证走出大门,正好从刚要上车的周子昂和苏晴面前经过。 **周子昂**(嗤笑,上下打量顾承宴的卫衣):随便找个打工的就嫁了?苏念,你气我呢? **苏念**(头也不回):周先生,以后见面,叫我顾太太。 **苏晴**(挽着周子昂,捂嘴笑):顾太太?姐姐,你连他叫什么都不知道吧? 顾承宴跟在她身后,嘴角往上动了一下。 他口袋里的手机亮了,来电备注是奶奶·手术室。他接起来。 **顾承宴**(看着苏念的背影):奶奶,我结婚了。 大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。 ## 第 2 集 > 预估 81.2 秒 / 目标 90 秒 · 开场钩子:冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理(第 1 场第 1 拍兑现) · 结尾悬念:奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲 ### 第 1 场 · S03 人物:顾承宴、苏念 道具:P02 冷开场:顾承宴拎着苏念的行李箱推门进屋,苏念跟进来,四下打量这间空荡荡的小两居。 **苏念**:这是你家?干净得像没人住过。 **顾承宴**(顿了一下才答):刚搬来。 **苏念**:你在哪上班? **顾承宴**:顾氏集团,项目经理。 **苏念**:顾氏?你也姓顾,这么巧? **顾承宴**(面不改色):顾姓在这儿很常见。 他从公文包里抽出一份文件,放在茶几上,封面写着婚前协议。 **顾承宴**:一年为期。互不干涉,互不动心。 **顾承宴**:到期和平离婚,你的铺子我一分不碰。 苏念拿起笔翻到最后一页,签下自己的名字,把笔往桌上一放。 **苏念**(笔尖点着协议):我也加一条:外婆的铺子,你不许打主意。 **顾承宴**:我对点心铺没兴趣。 **苏念**:正好,我也没打算动心。 顾承宴走进厨房,连拧三次燃气灶,一次都没打着火。 **苏念**(倚在厨房门口,憋着笑):你连火都不会开? **顾承宴**:平时吃公司食堂。 **苏念**(眯起眼睛):项目经理住这么好的房子,天天吃食堂? **顾承宴**(转身去拿碗,避开她的目光):公司分的。 他忽然一手按住胃,弯下腰,额头冒出一层汗。 **苏念**(嘴上凶,人已经挽起袖子):胃病?去坐着,别动。 苏念打着火,烧水下面,往锅里卧了一个荷包蛋。 她把一碗热汤面端到他面前,坐在对面。 **顾承宴**:我吃什么都没味道,别白费劲。 **苏念**:吃一口再说。 顾承宴低头吃了一口,筷子停在半空。 **画外音**(顾承宴心声,不敢置信):有味道……十五年了,我又尝到了。 **苏念**:难吃就直说。 **顾承宴**(低头又吃了一大口,没抬眼):不难吃。 他的手机震了一下,屏幕上是奶奶发来的消息。 **顾承宴**:明天跟我去趟医院。我奶奶要见你。 **顾承宴**:她原话是,要验货。 **苏念**(呛了一口面汤):验……什么货? 苏念起身去玄关放鞋,打开鞋柜,里面摆着一双崭新的手工皮鞋,价签上是六位数。 ## 第 3 集 > 预估 85.1 秒 / 目标 90 秒 · 开场钩子:冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了(第 1 场第 1 拍兑现) · 结尾悬念:苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么? > 认领爽点:打脸 ### 第 1 场 · S02 人物:刘美琴、苏晴、苏念 道具:P03 冷开场:刘美琴一把推开苏记的木门闯进来,苏晴挎着包跟在后面。 苏念正在柜台后揉面,抬起头。 **刘美琴**(笑着,像在通知搬家):念念,收拾收拾,三天内搬走。 **苏念**:凭什么? **刘美琴**:你爸早把铺子抵给周家了,白纸黑字。 刘美琴把一张抵押单拍在柜台上。 **苏晴**(边说边拿起一块桂花糕):姐姐都嫁人了,还占着娘家铺子,不合适吧? 苏晴咬了一口桂花糕,又吐回盘子里。 苏念放下擀面杖,看着盘子里那块被吐回来的糕。 **苏念**(不咸不淡):吐出来的那块,按原价十块赔。 **苏晴**:这糕也就那样,难怪没人买。 苏念擦干手,弯腰从柜台下面抱出一只旧铁皮点心盒。 **刘美琴**:拿个破盒子干什么? 苏念打开铁皮盒,取出一份盖着红章的文件,摊在抵押单旁边。 **苏念**(一字一顿):外婆的遗嘱,公证过的。 **苏念**:铺子留给我,不是苏家的,更轮不到周家。 **苏念**:我爸拿别人的东西去抵押,这张单子一文不值。 刘美琴抢过遗嘱看了两眼,脸色一下子青了。 **刘美琴**:你外婆什么时候弄的这个? **苏念**:她走之前。她说这铺子,防的就是你们。 苏念把遗嘱放回盒子扣上盖,抬手指向门口。 **苏念**:门在那儿,慢走不送。 刘美琴抓起包,拽着苏晴往外走。 **刘美琴**(在门口回头,嗓门尖得刺耳):你别得意!你爸那边,你自己去交代! ### 第 2 场 · S09 人物:苏晴 老街上,苏晴回头瞪了一眼苏记的招牌,掏出手机拨了个号码。 **苏晴**(压低声音,笑得发冷):子昂哥,她有遗嘱。不过没关系。 **苏晴**:老街不是要拆了吗?看她还能守几天。 **苏晴**:放心,她嫁的那个打工的,护不住她。 ### 第 3 场 · S02 人物:苏念 道具:P03 铺子里,苏念抱着铁皮盒坐下,手指摸到盒底,那里有一道细细的缝。 --- ## 场次总表 | 集 | 场 | 场景 | 光照 | 人物 | 台词句数 | 估秒 | | --- | --- | --- | --- | --- | --- | --- | | 1 | 1 | S01 | | 苏念、周子昂、苏晴、顾承宴 | 7 | 41.9 | | 1 | 2 | S01 | | 苏念、顾承宴、民政局工作人员 | 6 | 19.3 | | 1 | 3 | S01 | | 苏念、顾承宴、周子昂、苏晴、民政局工作人员 | 4 | 23.6 | | 2 | 1 | S03 | | 顾承宴、苏念 | 24 | 81.2 | | 3 | 1 | S02 | | 刘美琴、苏晴、苏念 | 14 | 69.2 | | 3 | 2 | S09 | | 苏晴 | 3 | 13.4 | | 3 | 3 | S02 | | 苏念 | 0 | 2.5 | ## 台词本 | 角色 | 台词句数 | 字数 | 约合秒数 | | --- | --- | --- | --- | | 苏念 | 24 | 282 | 62.7 | | 顾承宴 | 16 | 162 | 36 | | 苏晴 | 7 | 120 | 26.7 | | 刘美琴 | 5 | 69 | 15.3 | | 周子昂 | 3 | 56 | 12.4 | | 画外音 | 2 | 35 | 7.8 | | 民政局工作人员 | 1 | 12 | 2.7 |
过程
按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 Claude Code 不对外输出,日志里只有「在这里思考过多久」。
第 1 轮
/novel-outline 我要写一部短剧,要求在 premise.md 里。
思考 1 秒
Bash List files and show premise
输入
ls -la; cat premise.md
返回
total 8 drwxr-xr-x 4 user wheel 128 Oct 17 22:47 . drwxr-xr-x 4 user wheel 128 Oct 17 22:47 .. drwxr-xr-x 4 user wheel 128 Oct 17 22:47 .claude -rw-r--r-- 1 user wheel 244 Oct 17 22:47 premise.md # 001 · 开放题 写一部竖屏短剧。 - 篇幅:全剧 60 集,每集 1–2 分钟 - 交付(写成文件,放在当前目录): 1. 主要人物小传 2. 60 集分集大纲,标出付费卡点 3. 第 1–3 集完整剧本
思考 5 秒
Bash Inspect skill files for original-story and paywall support
输入
cd .claude/skills; ls; ls novel-outline novel-outline/references; grep -n -i "原创\|付费\|paywall\|卡点" -r novel-outline/references novel-outline/SKILL.md novel-script/SKILL.md | head -40
返回
character-refs novel-art novel-characters novel-outline novel-script novel-staging novel-storyboard novel-outline: README.en.md README.md SKILL.md assets examples references scripts novel-outline/references: episode-pass.md outline-pass.md report-style.md schema.md volume-pass.md novel-outline/references/schema.md:51:| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
思考 16 秒
开工前需要你定几件事。premise.md 里只有篇幅和交付物,没写题材,而题材决定爽点怎么设计,我不能替你猜。下面几个问题请一次回复: **1. 题材 / 受众(必答)** 从下面选一个,也可以自己写一句话: - 女频:重生复仇 / 先婚后爱甜宠 / 豪门虐恋追妻 / 古装宫斗宅斗 / 萌宝 - 男频:都市逆袭(赘婿、战神、神豪)/ 重生商战 / 玄幻修仙 - 其他:悬疑反转 / 年代 / 你想到的方向 如果已经有核心梗(比如"被退婚的女主重生回订婚宴前一天"),直接写上,我就按它展开。 **2. 有没有原著或故事底稿?** 没有的话就是原创。我会先写一份约两千字的故事底本,作为后面大纲的唯一依据,人物表里所有角色都标为原创。 **3. 单集时长** premise.md 写的是 1–2 分钟,排时长需要一个确定的数。**默认按 1.5 分钟**,可以吗? **4. 付费卡点规则** 默认方案: - 第 1–10 集免费 - **第 10 集设首个付费卡点**(这集放全剧最强的钩子) - 之后在第 20、30、40、50 集设次级卡点,每个卡点那一集结尾都是强悬念 如果你的平台规则不一样(比如第 8 集或第 15 集卡),告诉我。 **5. 偏好(可选)** 有没有一定要的角色设定、名场面或结局走向?没有就由我来定。 **接下来的流程:** 1. 写骨架:人物分档、场景、60 集爽点排布。 2. **骨架交给你确认**,要你定三件事:保留哪几条主线、角色怎么设置、全剧大爆点放在第几集。 3. 你确认后写 60 集分集大纲,跑质量检查。 4. 用 novel-script 写第 1–3 集完整剧本。 最后产出到当前目录:人物小传、带付费卡点标注的 60 集大纲(另有一份可直接双击打开的评审页面),以及第 1–3 集剧本。
这一轮结束:耗时 0.4 分钟,按 API 价格折算 $0.18
第 2 轮
如果要我在几个题材或故事方案里选,就选第 2 个(没有第 2 个就选最后一个);其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的三项交付都写成文件。
思考 2 秒
Bash Read outline skill references
输入
cd .claude/skills/novel-outline; cat references/outline-pass.md references/schema.md references/episode-pass.md
返回
# 骨架 · 砍线 / 合人 / 排爽点
拿全部卷摘要(或短篇原文)+ 用户参数,产出 outline.json 的**骨架四块**:`adaptation` / `characters` / `scenes` / `beats`。分集梗概**这一步不写**——骨架没拍板就写分集,方向错了全废。
## 顺序就是方法
1. **砍线**。短剧只装得下一条主线 + 至多一条副线。砍掉的写进 `adaptation.cut`,每条都要有 why。`adaptMode` 不是忠实时一条不砍会被 validate 拦。
2. **合人**。功能重复的角色合成一张脸(两个报信的 → 一个),合并进 `characters[].from` 的 ← 改动记录。然后**分档**(`tier`):主角组 `lead` 1–5 人、有名字的重要配角 `support` ≤ 10、功能性角色 `functional` ≤ 10。功能性角色占脸不占名——`name` 用称呼标签(「急诊医生」),也不用写人物弧。无名背景人不进表。
3. **收场景**。主场景上限随集数走(4 + ⌈集数/10⌉,夹在 5–15:6 集给 5 个,60 集给 10 个),以 `validate` 报的数为准。这是 AI 短剧的宽松版——场景是生成的,多开几个景换观赏性是划算的,别把戏都憋在一个屋里。原著里只出现一次的场景,要么砍掉、要么写 `reusePlan`(复用哪个现有环境资产、换什么时段天气改出来)。
4. **排爽点**。先定 major(大爆点)落在哪几集,再拿 minor 填缝。硬规则:相邻间隔 ≤ 3 集、开头结尾无真空、最早的 major 不能在最后一集。`type` 跟着题材走——女频打脸和男频战神的爽点不是一种东西,看 `params.genre`。
5. **收道具**。**排在爽点之后不是随便排的**——叙事道具的判据是「它托起哪个爽点」,爽点没定就分不清哪件物件是道具、哪件只是陈设。上限 8 件,跟主角数量一个量级。每件写 `function`(它在戏里承载什么)与 `beatIds`(托起哪几个爽点),分集用 `propIds` 引用。
**一件东西该不该进这张表,问一句就够了:它坏了、丢了、被换掉,剧情会不会塌。** 会塌就是叙事道具(皮箱、砚台、那封信);不会塌就是场景陈设(船舱的挂灯、桌上的茶碗),归 `novel-art` 的场景锚点管,不进这张表。填不出 `function` 的一律不收——**填不出来的不是道具,是背景**。
每一步都基于卷摘要里的原料。**关键取舍在 `adaptation.keep` 里附 `evidence`(原文逐字片段)**——大纲要能指回原文,不是凭印象改编。
砍完、合完之后各补一句结论:`adaptation.cutNote` 写砍线的含义(「这意味着:全剧终点是……」),`adaptation.mergeNote` 写主角组入选理由(谁有完整转变弧)。这两句会出现在报告最前面的「关键决策」区块,也是拍板时给用户看的核心内容。
## 两轮规则 ⛔
骨架必须跑两轮:
- **第一轮快版**:四块填齐、能过 `validate --stage beats` 就停,**交给用户拍板**。砍了哪条线、合了哪些人、大爆点在第几集——这三件事用户不点头,后面全是白干。
- **第二轮细版**:吸收用户意见后细化,再过一次 `validate --stage beats`。
快版的意义是便宜——错了只损失一轮骨架,不是 60 集梗概。
## 自检
写完跑:
```bash
node scripts/novel-outline.mjs validate <outline.json> --stage beats
```
有违规逐条修,改完重跑,直到通过才允许进分集。
# outline.json 结构
五件套的载体。**模型只管填这份 JSON**,Markdown 和 report.html 由 `render` 渲染出来,资产清单由脚本汇总——五件套是四件模型写 + 一件算出来的。
```json
{
"source": "书名",
"lang": "zh",
"params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
"adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
"characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
"scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
"beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
"episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
}
```
## params
| 字段 | 必填 | 说明 |
| --- | --- | --- |
| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
| `minutesPerEpisode` | 是 | 单集时长(分钟) |
| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
| `preferences` | 否 | 用户点名要保的角色、戏 |
| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
## adaptation 改编说明
`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
两个可选的**决策补注**,报告的「关键决策」区块会展示:
- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
## characters 人物表
每个字段都以校验器为准,一个不多一个不少:
| 字段 | 必填 | 说明 |
| --- | --- | --- |
| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
| `tier` | 是 | 三档之一,见下表 |
| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
| tier | 是谁 | 上限 | 规则 |
| --- | --- | --- | --- |
| `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
| `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
| `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
无名背景人不进表、不追踪、不限量。
**这份表是下游 novel-characters 的角色清单**:谁进谁不进、谁是主角组在这里定死,角色设定照着做,不用再判断一遍轻重(`tier` 对应过去就是 `importance`:`lead` → protagonist、`support` → supporting、`functional` → minor)。反过来,手上已经有 cast.json 的话也能映射进来:protagonist/major → `lead`,supporting → `support`,minor → `functional`
## scenes
- `id` 格式 `S01`,全局唯一;`name` 必填;`primary` 必填布尔(主场景上限随集数动态,见 `thresholds`)
- **在全剧只出现一次的场景必须带 `reusePlan`**(规避方案:复用哪个现有环境资产、换什么时段天气改出来)
## props 叙事道具
- **可选字段**。没写照常通过全部质量门(`prop-cap` 与 `refs` 两道会明说跳过);写了就按下面查
- `id` 格式 `P01`,全局唯一;`name` 必填
- **`function` 必填——这一层唯一要拍板的东西:这件物件在戏里承载什么。** 填不出来说明它不是叙事道具,是场景陈设,那归 `novel-art` 的场景锚点管,不进这张表
- `beatIds` 可选:它托起哪几个爽点。写了就必须指向 `beats` 里真实存在的 id
- 上限 `maxProps` 默认 8 件(进 `params.thresholds` 可覆盖)。跟主角数量一个量级——**只收有特写、跨集出现、承载剧情的**
- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
## beats 爽点表
- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
## episodes 分集梗概
- `ep` 从 1 连续编号,总数等于 `params.episodes`
- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
## 校验
```bash
node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
```
stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。
# 分集梗概 · 分批写
骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。**
## 每集三栏,缺一栏就是没写完
| 栏 | 写什么 |
| --- | --- |
| `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 |
| `hook` | 【钩子】让人点下一集的那个问题 |
| `suspense` | 【悬念】埋着没解的线 |
## 硬规则
- 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸
- `sceneIds` / `characterIds` 只能用骨架里登记过的 id
- 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着
- 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报
- 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接
## 批次大小
每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。思考
Bash Read novel-script skill instructions
输入
cd ../novel-script; cat SKILL.md; ls references scripts examples 2>/dev/null
返回
---
name: novel-script
version: 2.0.0
description: |
给 AI 短剧写剧本:把 novel-outline 的分集梗概落成结构化的场次 + 节拍流(动作节拍与台词行交替),
台词逐句带说话人与语气,时长逐集按语速确定性折算。产出 script.json + Markdown + 单页评审报告
(时长仪表 / 分集剧本 / 场次总表 / 按角色聚合的台词本,含导出 JSON)。
剧本管戏,分镜管拍——本 skill 不分镜头、无镜号、不写生成提示词,那些是下一层分镜 skill 的活。
10 道质量门全部由脚本确定性检查(每集时长 ±15%、单句 ≤35 字、说话人合法、钩子悬念落纸、
钩子具象前 3 拍内兑现(hookBeat 认领冷开场)、每场至少一个动作节拍、爽点认领、
角色/场景/光照/道具对账上游……)。
有 outline.json 就用 seed 预填每集骨架;给 --art 连光照状态一起对账。
零依赖、零 API key,用当前会话额度。
Use when asked to 写剧本、出剧本、台词、场次、写戏、screenwriting for AI short drama。
allowed-tools:
- Read
- Write
- Bash
- Task
- Glob
triggers:
- novel-script
- 剧本
- 写剧本
- 出剧本
- 写台词
- 场次
- 写戏
- screenplay
- script
metadata:
license: Apache-2.0
requires:
bins:
- node # >= 18,只用标准库,无 npm 依赖
runtimes:
- claude-code
- codex
---
## novel-script
给 AI 短剧写**剧本**。**前提刻在骨子里:剧本管戏,分镜管拍**——「爽不爽」和「怎么拍」是两种迭代节奏,台词要反复推翻重写,绑上镜头分解每改一句都得重排镜头。所以这层只有集、场次、节拍流,没有镜号;镜头、首帧提示词、生成批次都是下一层分镜 skill 的活。
但有一条底线:**台词必须是结构化数据,不能写成散文**。每句台词是独立条目(说话人 + 台词 + 语气),动作是独立节拍——这是全部确定性检查的地基:
| 交付 | 解决什么 |
| --- | --- |
| 逐集时长预算 | 一集三分钟就是三分钟:台词按语速折算、动作按节拍估时,写超写欠当场拦下,不流到生成环节才发现 |
| 节拍流(动作 ⇄ 台词) | 台词直接对接 TTS 逐句生成;动作节拍就是画面要发生的事。混成散文两头都喂不进管线 |
| 每场至少一个动作节拍 | 纯对白的场是广播剧——AI 生成时没有画面可写 |
| 开场钩子 + 结尾悬念 | 短剧的生死线,每集都要落在纸面;**钩子不是标签是第一拍**——`hookBeat` 认领具象位置,必须落在全集前 3 拍内(冷开场) |
| 爽点认领 | 大纲说这一集有大爆点,剧本必须有戏认领它——防止改着改着把爆点改丢 |
| 上游对账 | 场景/光照/道具对 art.json、角色对 outline.json,写了美术没登记的光照状态当场报 |
`{baseDir}` = 本文件所在目录。脚本 `{baseDir}/scripts/novel-script.mjs`,零依赖,`node` 直接跑。
**边界(不做的事)**:不分镜头、无镜号、不写画面生成提示词、不出图、不配乐——分镜层的活一件不碰。不改大纲结构(砍线合人是 `novel-outline` 的活);不做角色和场景设定(`novel-characters` / `novel-art` 的活)。
---
### Step 0 — 定输入与范围
**outline.json 是剧本的直接上游**(分集梗概、爽点落点、单集时长都在里面),标准流程从它开始。没有的话先问用户是否跑 `novel-outline`;用户坚持直接写,就问清集数与单集分钟数,手建骨架,对账门会明说跳过。
**一次写几集**:默认一批 ≤ 3 集。剧本是全管线改得最凶的一层,小批量出、快拍板、再往下写。用户明确要全剧也分批产出,每批过一次校验。
顺手带上(都可选,给了才对账/显示名字):
- `--outline`:角色引用对账 + 爽点认领检查 + 报告里 C01 显示成人名
- `--art`:场景/光照状态/道具对账 + 报告里 S01 显示成场景名
### Step 1 — seed 骨架
```bash
node {baseDir}/scripts/novel-script.mjs seed <outline.json> --eps 1-3 > <workdir>/script.json
```
确定性搬运:目标秒数(单集分钟 × 60)、钩子、悬念、该集爽点认领、候选场景与人物(进 `seedNote`)。**这些事实不要让模型重新想一遍。** scenes 留空,那才是写戏的活。
### Step 2 — 逐集写戏
每集一份任务,能并发就并发。每份任务拿到:
- `{baseDir}/references/script-pass.md` 和 `{baseDir}/references/schema.md`(读它们,照着做)
- 该集的 seed 骨架 + 大纲里这一集的梗概/爽点/人群方案
- 该集用到的场景卡(art.json 里的锚点、光照状态)与角色信息(性情、说话方式——有 cast.json 更好)
- **前一集的结尾悬念**(这一集的开场要接得上)
核心要求都在 script-pass.md 里,最重的四条:**动作节拍只写常见动作**(挑担上船、搭手卸担这种 AI 见过千万次的;伸篙一挡、睫毛颤这种精巧动作生成必崩);**时长预算先于一切**(三分钟一集约 50 个节拍,写完自己跑一遍 validate 看秒数);台词口语、单句一口气、**谁的话像谁**(有 cast.json 就吃角色的性情与说话方式);**每集第 1 拍冷开场给钩子的具象**(`hookBeat` 认领,门查位置),结尾一拍必须是悬念。
写完把 `seedNote` 删掉。
### Step 3 — 校验 ⛔ 不能跳
```bash
node {baseDir}/scripts/novel-script.mjs validate <script.json> \
--outline <outline.json> --art <art.json>
```
10 道质量门全是代码:每集时长在目标 ±15% 内(台词按 4.5 字/秒折算、动作按 2.5 秒/拍,`params` 可调)、单句台词 ≤ 35 字、说话人在本场人物里或标 `VO`、每集钩子悬念落纸、**钩子具象在全集前 3 拍内兑现**(`hookBeat` 认领,`params.hookWindow` 可调)、每场至少一个动作节拍、动作叙述体不混引号台词、爽点认领、角色对账、场景/光照/道具对账。
**有违规逐条修,改完重跑,直到通过。** 写超了先砍动作节拍再压台词;写欠了补戏不注水——加冲突不加寒暄。需要一个美术没登记的光照状态时,去 art.json 里补状态再回来,不要绕过门。
### Step 4 — 输出与汇报
```bash
cd <输出目录>
node {baseDir}/scripts/novel-script.mjs render <剧名>-script.json --md \
--outline <outline.json> --art <art.json> > <剧名>-script.md
node {baseDir}/scripts/novel-script.mjs render <剧名>-script.json --html \
--outline <outline.json> --art <art.json> --cast <cast.json> > script-report.html
# 英文界面:加 --lang en(默认中文,也可跟 script.json 顶层的 lang 字段)
```
报告含:KPI 带(含台词占比)、时长仪表(每集条形打在目标区间带上,超欠标红)、分集剧本(一排两集,场次信息超过 300px 渐隐截断、点开展开)、场次总表、**台词本**(一排两个,按角色聚合、列表六行高可滚动、整组复制;给了 `--cast` 每个角色组头带**音色提示词**按钮——台词和音色一页配齐直接跑 TTS)、质量门面板、导出 JSON(下载的就是 script.json 原样)。
汇报一句话说清:几集几场几句台词、预估总时长 vs 目标、哪几集贴着容差边、报告路径;没过的门明说。
最终落地:
```
<输出目录>/
├── <剧名>-script.json
├── <剧名>-script.md
└── script-report.html ← 双击就能开
```
---
## 四个 skill 的接力
```
novel-outline → outline.json (什么:结构与分集)
novel-characters → cast.json (谁:角色资产)
novel-art → art.json (哪里 + 手里拿的:美术资产)
novel-script → script.json (戏:场次、节拍、台词)
```
seed 吃 outline.json;validate/render 的 `--outline` `--art` 负责对账和显示名字。四份 JSON 各自的报告都带导出按钮,改完都能喂回各自的 render/validate。往下一层是分镜:镜号、单镜头时长、首帧提示词、生成批次单都在那边。
## 边界
- 报告界面内置中英(`--lang`,默认中文、或跟 script.json 的 `lang` 字段);台词语言跟剧走
- 时长是**估算不是秒表**——容差 ±15% 就是为此留的;`params.charsPerSecond` 按配音语速可调
- `VO` 是画外音统一记号,谁的心声写在 `delivery` 里;台词本里 VO 单独成组
- 不设每集场次上限——AI 换景不要钱,换景次数只进 KPI 统计不设门
## 自测
```bash
node {baseDir}/scripts/selftest.mjs
```
154 项断言,不调模型、不花额度。10 道质量门每一道都有击穿用例。改完脚本先跑这个。
## 自带样例
`{baseDir}/examples/渡口-script.json`:《渡口》**全 6 集完整剧本**(9 场 123 句台词,每集冷开场兑现钩子、都落在 120 秒 ±15% 内),对着 novel-outline 与 novel-art 的样例全部质量门通过。当质量基准,也是自测夹具。
examples:
渡口-script.json
references:
report-style.md
schema.md
script-pass.md
test-fixtures
scripts:
novel-script.mjs
selftest.mjs思考 53 秒
Bash Check validator field handling and read script references
输入
cd ../novel-outline; wc -l scripts/novel-outline.mjs; grep -n "unknown\|未知字段\|Object.keys" scripts/novel-outline.mjs | head -20; cat ../novel-script/references/script-pass.md ../novel-script/references/schema.md
返回
1682 scripts/novel-outline.mjs
914: if (Object.keys(assets.warnings).length) {
# 写戏:一集怎么写
一次任务写一集。你拿到 seed 骨架(目标秒数、钩子、悬念、认领爽点、候选场景人物)、大纲里这一集的梗概、场景卡与角色信息、前一集的结尾悬念。产出:把这一集的 `scenes` 从空写满。
## 硬规则
1. **时长预算先于一切。** 目标秒数就是墙:台词按 4.5 字/秒、动作按 2.5 秒/拍折算,写完跑 validate 看数。三分钟一集约 45–55 拍。**写超先砍动作,写欠补冲突不补寒暄。**
2. **单句台词 ≤ 35 字,一口气说得完。** 长句拆成两句,中间可以插一拍动作或对方的反应。
3. **谁的话像谁。** 船夫不说文言,小姐不说市井话。角色的性情、身份、说话方式在 outline 的角色表(有 cast.json 更全)里——写之前先读,写的时候盖着名字也认得出是谁在说话。
4. **动作节拍一拍一件事,叙述体,动作要「常见」。** 「胡二爷的手停在半空,笑僵在脸上」是一拍;「气氛很尴尬」不是画面,写不得。动作里**不许出现引号台词**。
**常见动作是 AI 生成的生命线**——这条戏最终是视频模型演的,它只会演它见过千万次的动作:
| 写法 | 例子 | 生成结果 |
| --- | --- | --- |
| ✗ 精确物理交互 | 货担撞上船帮,铜铃碎响。老周伸篙一挡,担子稳稳落进舱里 | 篙、担、船帮三物交互,必崩 |
| ✓ 常见动作 | 胡二爷挑着担子上船,老周搭手帮他把担子卸进舱里 | 挑担、搭手、放下,全是常见动作 |
判据:这个动作在生活视频里常见吗?**上船、坐下、递东西、点头、回头、抱紧、站起来**——放心写;**用工具挡住某物、微表情(睫毛颤)、以寸计的位移(收了半寸)、比喻性画面(像被雾攥住的茧)**——改写或删。戏剧信息靠常见动作的**组合与时机**给,不靠动作本身的精巧。
5. **每场至少一个动作节拍。** 三句台词之间没有一个画面动作,就该问自己这场戏观众在看什么。
6. **钩子不是标签,是第一拍,而且要在运动中给。** 每集第 1 拍冷开场:钩子的具象必须带主体运动——**✗ 静物特写一闪(旧皮箱抱在怀里,指节掐白)✓ 抱着旧皮箱在雾里跑**。奔跑、追赶、挣脱、猛地按住,都行;静态细节特写(掐白的指节、口袋的轮廓)留给第二落点兑现(登船、开箱)。`hookBeat` 认领它——门查位置,必须落在全集前 3 拍内;有没有运动是写作纪律,门查不了。上一集的结尾悬念要在开场接住——接住不等于立刻解开。
7. **结尾最后一拍必须是悬念。** 一句没说完的话、一个没解释的动作、一声来历不明的响。`cliff` 字段写效果说明,戏里落成具体的一拍。
8. **认领的爽点要有戏扛。** `beatsClaimed` 里的每个爆点,这一集里必须有一段连续节拍在兑现它——爆点是演出来的,不是梗概里说说。
## 修改纪律(错误最常从单点修改混进来)
- **改一拍,连读三拍。** 任何节拍改动后,把前后各一拍连起来重读一遍,专查三样:**人物位置**(上一拍还在岸路,下一拍不能已经在栈桥上)、**道具在手状态**、**谁在场**。写作时空间状态在你脑子里,改的时候它不在——连读是把状态找回来的唯一办法。
- **改画面,带声景。** 剧本动作一改,下游分镜的描述、声景、分镜图三处要一起动(分镜 skill 的教训,源头在剧本这层就要有意识)。
## 手感规则(不设门,但决定戏好不好看)
- **台词短,动作密。** 短剧的对话节奏比电视剧快一倍——两三句就要有一次动作或反应插进来,超过四句连续对白就闷了。
- **潜台词写进 delivery。**「嘴上让座,身子没动」这种表演层的信息放 `delivery`,别把潜台词直接写成台词说破。
- **VO 省着用。** 心声是强调不是拐杖,一集两三条封顶;用在「表面平静、心里翻江倒海」的错位时刻最值。
- **人群按大纲的 crowdPlan 拆。** 大纲说了三人以上同框怎么拆,写戏时就按那个方案调度——谁在前景说话、谁在背景反应,写清楚。
- **场次切换是免费的,注意力不是。** AI 换景不要钱,但观众每换一次景要重新建立空间感。两分钟内换四个景,还不如在一个景里把戏拧紧。
## 常见病
| 病 | 症状 | 治法 |
| --- | --- | --- |
| 广播剧 | 整场只有台词 | 每两三句台词之间插一拍画面动作 |
| 文学病 | 动作写成美文:伸篙一挡、睫毛颤、退了半寸 | 换成常见动作,判据表见硬规则 4 |
| 开场死画面 | 第一拍是静物特写 | 同一具象换成运动中给(抱箱在雾中跑),静帧挪到第二次出现 |
| 空间跳变 | 上一拍在岸路跑,下一拍写栈桥才露出来——或反过来 | 改一拍连读三拍;人物位置是连续状态,跳变必须有走过去的拍 |
| 注水 | 寒暄、让茶、问路占了半集 | 删。每一拍要么推进剧情要么翻转关系 |
| 演讲癖 | 一个人连说四句 | 拆给对手,或用动作打断 |
| 全知病 | 台词把信息说尽 | 信息藏进动作和 delivery,台词只说三分 |
| 断头戏 | 结尾平收 | 最后一拍换成悬念,哪怕只是一声汽笛 |
# script.json 结构
一份剧本文件覆盖一个集数区间(通常一批 ≤ 3 集),顶层:
```json
{
"source": "渡口",
"params": { "charsPerSecond": 4.5, "actionSeconds": 2.5, "tolerance": 0.15, "maxLineChars": 35 },
"episodes": [ ... ]
}
```
`params` 可省略,省略就用默认值。四个键都只在需要偏离默认时写。
## episode
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `ep` | int | 集号,正整数,同一文件内不许重复 |
| `targetSeconds` | number | 目标秒数。seed 会从大纲的 `minutesPerEpisode × 60` 算好 |
| `hook` | string | 开场钩子的说明——这一集头几拍靠什么把人摁住。**必填** |
| `cliff` | string | 结尾悬念的说明——最后一拍留什么让人点下一集。**必填** |
| `beatsClaimed` | string[] | 认领的大纲爽点 `type`(如 `"身份揭破"`)。没有就空数组,**字段本身必须在** |
| `hookBeat` | [int, int] | **钩子具象的认领位置** `[场, 拍]`:钩子说皮箱,哪一拍真给了皮箱。必须落在全集前 `hookWindow`(默认 3)拍内——冷开场规则,门查位置 |
| `scenes` | scene[] | 场次,按剧情顺序 |
`hook` / `cliff` 是**说明不是台词**——它们描述开场和结尾要达成的效果,具体的戏写在场次里。说明配合 `hookBeat` 认领:**说明给人读,认领给机器查**——钩子和第一场开头衔接不上,就是缺了认领这一环。
## scene(场次)
| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `sceneId` | string | `S01` 格式,对账 art.json 的场景 |
| `lighting` | string | 该场用的光照状态名,必须是 art.json 里该场景登记过的状态。可省略 |
| `characters` | string[] | 本场出场角色(`C01` 格式,对账 outline.json)。空镜给空数组 |
| `props` | string[] | 本场用到的叙事道具(`P01` 格式,对账 art.json)。可省略 |
| `flow` | beat[] | 节拍流,**动作与台词交替**,按发生顺序 |
## beat(节拍)——二选一
**动作节拍**:
```json
{ "action": "沈知微一把按住箱盖。动作快得不像闺秀,倒像护崽的兽。" }
```
**台词节拍**:
```json
{ "speaker": "C01", "line": "不劳烦。它跟我。", "delivery": "声音很轻,却没商量" }
```
| 字段 | 说明 |
| --- | --- |
| `action` | 叙述体画面描述,一拍一件事。**不许出现引号台词**(「」『』“”都不行)——台词混进动作就没法计秒、没法喂 TTS |
| `speaker` | 本场 `characters` 里的角色 id,或 `"VO"`(画外音/心声——谁的心声写进 delivery) |
| `line` | 台词本体,口语,单句 ≤ 35 字(非空白字符计) |
| `delivery` | 表演提示:语气、动作伴随、潜台词。可省略,建议都写 |
一个节拍不能既有 `action` 又有 `line`;两者都没有也不行。
## 时长折算(确定性)
- 台词秒数 = 非空白字符数 ÷ `charsPerSecond`(标点算时间——停顿也是时间)
- 动作秒数 = 动作节拍数 × `actionSeconds`
- 每集预估 = 全部场次之和,必须落在 `targetSeconds × (1 ± tolerance)` 内
三分钟(180 秒)一集的参考体量:约 45–55 个节拍,其中台词 30 句上下。两分钟(120 秒)约 35 拍、台词 20 句上下。
## ID 纪律
角色用 outline.json 的 `C` 编号(不是 cast.json 的名字),场景道具用 art.json 的 `S` / `P` 编号。报告渲染时给了 `--outline` / `--art` 会自动把编号显示成名字——**数据里存编号,界面上看名字**。思考 1 秒
Bash Test validator with extra paywall field; view example
输入
cd "$TMPDIR" && node -e '
const fs=require("fs");const p=process.argv[1];const o=JSON.parse(fs.readFileSync(p));o.episodes[2].paywall=true;o.episodes[2].paywallNote="x";o.characters[0].bio="b";fs.writeFileSync("t.json",JSON.stringify(o));' "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/.claude/skills/novel-outline/examples/渡口-outline.json" && node "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/.claude/skills/novel-outline/scripts/novel-outline.mjs" validate t.json; echo EXIT $?; head -c 2500 "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/.claude/skills/novel-outline/examples/渡口-outline.json"返回
✓ 通过校验(stage=full)
EXIT 0
{
"source": "渡口",
"lang": "zh",
"params": {
"episodes": 6,
"minutesPerEpisode": 2,
"genre": "民国情感悬疑",
"adaptMode": "抽核",
"preferences": [
"保留浓雾开船的意象",
"老周不能改成反派"
]
},
"adaptation": {
"core": "浓雾渡口的一船陌生人,各自揣着说不出口的来路,雾散之前每个人都得亮一次底。",
"keep": [
{
"what": "浓雾渡口的封闭空间",
"why": "天然的单场景悬疑舞台,省景又聚戏",
"evidence": "雾一厚,连自己的手都看不清。"
},
{
"what": "沈知微怀里的旧皮箱",
"why": "全剧最强的悬念道具,每集都能给一眼",
"evidence": "她把一只旧皮箱抱在怀里,指节因为用力而发白。"
}
],
"cut": [
{
"what": "县城当铺的支线",
"why": "空间跳出渡口,两分钟一集装不下第二个舞台"
}
],
"merge": [
{
"what": "岸边问路的路人甲乙并入胡二爷",
"why": "同一个功能(打探消息)不需要三张脸"
}
],
"risks": [
{
"what": "全剧困在船上,节奏容易闷",
"plan": "每集固定一次外部威胁打进来:汽笛、巡查、涨水"
}
],
"cutNote": "这意味着:全剧困在渡口一夜之内,当铺、县城全部场外处理,终点是开箱翻案,不是进城打官司。",
"mergeNote": "主角组定的是沈知微与陆行远——全篇只有这两个人有完整的转变弧。"
},
"characters": [
{
"id": "C01",
"name": "沈知微",
"role": "女主",
"arc": "从抱箱防备到当着全船开箱,把最怕被看见的东西变成翻盘的底牌",
"from": [
"原著沈知微"
],
"tier": "lead"
},
{
"id": "C02",
"name": "陆行远",
"role": "男主",
"arc": "大衣口袋里的硬东西从威胁翻成守护,最后一集摊开手心",
"from": [
"原著陆行远"
],
"tier": "lead"
},
{
"id": "C03",
"name": "老周",
"role": "关键配角",
"arc": "静止的锚,四十年不问客人来路,最后用一句话掀翻全船的谎",
"from": [
"原著老周",
"合并:岸边艄公的台词功能"
],
"tier": "support"
},
{
"id": "C04",
"name": "胡二爷",
Shell cwd was reset to /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2思考 89 秒
题材按你的选择定为**女频·先婚后爱甜宠**;没有原著,按原创走:先写故事底本,再跑大纲流程。
Write ./work/故事底本.md
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/故事底本.md # 《闪婚老公藏不住了》故事底本(原创) > 本文件是大纲的唯一原料。题材:女频·先婚后爱甜宠(附身份马甲、打脸、豪门暗斗)。 ## 一、故事核 被未婚夫当众抛弃的点心铺女孩,在民政局门口随手拉了个陌生人领证。她以为嫁的是顾氏集团一个普通打工人,其实那是顾氏的掌权人。一纸一年期的契约婚姻,从互不打扰过成了非你不可;而她守着的那间老点心铺,藏着他十五年前活下来的秘密。 ## 二、人物 **苏念**,二十五岁,老街「苏记点心铺」第三代传人,外婆一手带大。手巧,嘴不饶人,心软。母亲早逝,父亲苏建国再娶,继母刘美琴带来继妹苏晴。外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。她说过一句话:铺子在,外婆就还在。 **顾承宴**,二十九岁,顾氏集团总裁,冷面,常年胃病,吃什么都没味道。十四岁那年被绑架,逃出来后躲进一家点心铺,一个老太太和一个扎羊角辫的小姑娘给了他一块桂花糕,那是他记忆里最后一次尝出甜味。奶奶病重,放话:你今天不结婚,我就不做手术。 **苏晴**,二十三岁,苏念的继妹,网红,想嫁进豪门,从小抢苏念的一切。抢走了苏念的未婚夫周子昂,后来发现周家只是空壳,又把目光转向顾家。她不坏到底——被所有人当棋子用完之后,她会第一次站在苏念这边。 **顾远山**,五十二岁,顾承宴的二叔,笑面虎。十五年前买凶绑架侄子,想让大房绝后;如今暗中操纵老街旧城改造,借顾氏的名义强拆,伪造顾承宴的签名,既为吞地,也为毁掉那间可能认出当年绑匪的点心铺。 **周子昂**,二十八岁,苏念的前未婚夫,周家少爷,周家公司靠顾氏的分包活着。在民政局门口当众退婚,说苏念那破店连他一块表都不值。 **刘美琴**,继母,算盘精,一心想把铺子卖掉换钱给苏晴当嫁妆。 **苏建国**,苏念的父亲,懦弱,被妻子拿捏,后来幡然醒悟。 **顾老夫人**,顾承宴的奶奶,慈祥精明,一口吃出苏念的桂花糕是当年的味道。 **陈默**,顾承宴的特助,嘴碎、忠心,负责连夜给总裁租一套「普通人的两居室」。 **唐果**,苏念的闺蜜,美食博主,嘴快,最早怀疑顾承宴「不像打工的」。 **林薇薇**,顾家世交千金,自称顾承宴的未婚妻,与顾远山结盟。 ## 三、主线 1. 民政局门口,周子昂搂着苏晴退婚。苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。 2. 契约一年,互不动心。顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。 3. 继母上门收铺,苏念打开铁皮盒,亮出外婆的遗嘱:铺子从来不是苏家的,是我的。 4. 订婚宴上苏晴栽赃苏念偷戒指,酒店经理对着顾承宴弯了腰,监控还了苏念清白。 5. 老街拆迁通知落款是顾氏集团总裁。苏念说:我倒要看看这个顾总是什么人。 6. 奶奶寿宴,林薇薇和苏晴用传家玉镯设局;台上主持人说有请顾氏集团总裁,苏念手里的蛋糕掉了。 7. 身份揭穿后冷战、追妻、和好;苏记被栽赃食物中毒,又被翻案。 8. 美食大赛,苏晴拿着偷来的秘方参赛,却做不出外婆的最后一步,苏念夺冠。 9. 铁皮盒夹层里的旧照片:小苏念牵着一个受伤的少年。照片背后外婆写着:那天追来的人,叫他二爷。 10. 董事会政变、苏晴倒戈交出录音笔、契约到期的误会、刹车被动的车祸、将计就计、仓库营救,顾远山落网。 11. 顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。 ## 四、支线(素材库,未必都用) - 唐果和陈默的欢喜冤家感情线,含两人互相拉黑七次的笑料。 - 苏念被法国甜点学院录取、出国进修三年的事业线。 - 顾承宴母亲当年车祸的旧案,牵扯顾家大房二房三十年恩怨。 - 周子昂破产后黑化,雇人跟踪苏念的复仇线。 - 苏晴的网红经纪公司与流量造假的行业线。 - 外婆年轻时与顾老夫人是闺中好友的往事。
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/故事底本.md (file state is current in your context — no need to Read it back)
思考
Write ./work/outline.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"params": {
"episodes": 60,
"minutesPerEpisode": 1.5,
"genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
"adaptMode": "抽核",
"preferences": [
"付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
]
},
"adaptation": {
"core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
"keep": [
{
"what": "民政局门口当众退婚、当场闪婚的开局",
"why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
"evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
},
{
"what": "顾承宴隐藏身份、租小两居扮打工人",
"why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
"evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
},
{
"what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
"why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
"evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
},
{
"what": "十五年前点心铺救下少年的旧缘",
"why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
"evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
},
{
"what": "撕婚前协议、桂花糕求婚的结局",
"why": "契约婚姻的标准收束,道具闭环",
"evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
}
],
"cut": [
{ "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
{ "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
{ "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
{ "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
{ "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
{ "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
],
"merge": [
{ "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
{ "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
{ "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
],
"risks": [
{ "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
{ "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
{ "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
{ "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
],
"cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
"mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
},
"characters": [
{ "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
{ "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
{ "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
{ "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
{ "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
{ "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
{ "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
{ "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
{ "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
{ "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
{ "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
{ "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
{ "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
{ "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
{ "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
{ "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
{ "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
{ "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
{ "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
],
"scenes": [
{ "id": "S01", "name": "民政局", "primary": true },
{ "id": "S02", "name": "苏记点心铺", "primary": true },
{ "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
{ "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
{ "id": "S05", "name": "顾家老宅", "primary": true },
{ "id": "S06", "name": "苏家客厅", "primary": true },
{ "id": "S07", "name": "医院病房", "primary": true },
{ "id": "S08", "name": "酒店宴会厅", "primary": true },
{ "id": "S09", "name": "老街", "primary": true },
{ "id": "S10", "name": "美食大赛演播厅", "primary": true },
{ "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
],
"props": [
{ "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
{ "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
{ "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
{ "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
{ "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
{ "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
{ "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
],
"beats": [
{ "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
{ "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
{ "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
{ "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
{ "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
{ "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
{ "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
{ "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
{ "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
{ "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
{ "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
{ "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
{ "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
{ "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
{ "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
{ "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
{ "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
{ "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
{ "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
{ "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
{ "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
{ "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
{ "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
{ "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
{ "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
{ "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
{ "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
{ "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
{ "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
{ "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
{ "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
],
"episodes": []
}
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json (file state is current in your context — no need to Read it back)
Bash Validate outline skeleton at beats stage
输入
node .claude/skills/novel-outline/scripts/novel-outline.mjs validate work/outline.json --stage beats
返回
✓ 通过校验(stage=beats)
思考 3 秒
思考
Write ./work/ep-plan.md
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md # 逐集规划(分集子代理的对齐基准) 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 ## 第一幕 闪婚(1–10) 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 ## 第二幕 升温与掉马(11–20) 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 ## 第三幕 冷战、追妻、栽赃(21–30) 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 ## 第四幕 美食大赛(31–40) 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 ## 第五幕 旧案与契约到期(41–50) 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 ## 第六幕 终局(51–60) 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md (file state is current in your context — no need to Read it back)
思考 2 秒
现在分 6 批并行写 60 集梗概:
Agent Write episodes 1-10
输入
BATCH_START=1 BATCH_END=10. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: a173780d6f88a2022 (internal ID - do not mention to user. Use SendMessage with to: 'a173780d6f88a2022', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/a173780d6f88a2022.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 1-10」开始
子 agent 思考
子 agent Bash Read episode-pass guide and schema episodes section
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; grep -n -i -A60 'episodes' $W/.claude/skills/novel-outline/references/schema.md | head -150
返回
# 分集梗概 · 分批写
骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。**
## 每集三栏,缺一栏就是没写完
| 栏 | 写什么 |
| --- | --- |
| `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 |
| `hook` | 【钩子】让人点下一集的那个问题 |
| `suspense` | 【悬念】埋着没解的线 |
## 硬规则
- 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸
- `sceneIds` / `characterIds` 只能用骨架里登记过的 id
- 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着
- 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报
- 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接
## 批次大小
每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
10- "adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
11- "characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
12- "scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
13- "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
15-}
16-```
17-
18-## params
19-
20-| 字段 | 必填 | 说明 |
21-| --- | --- | --- |
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23-| `minutesPerEpisode` | 是 | 单集时长(分钟) |
24-| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
25-| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
26-| `preferences` | 否 | 用户点名要保的角色、戏 |
27-| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
28-
29-## adaptation 改编说明
30-
31-`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
32-
33-两个可选的**决策补注**,报告的「关键决策」区块会展示:
34-
35-- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
36-- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
37-
38-给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
39-
40-## characters 人物表
41-
42-每个字段都以校验器为准,一个不多一个不少:
43-
44-| 字段 | 必填 | 说明 |
45-| --- | --- | --- |
46-| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
47-| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
48-| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
49-| `tier` | 是 | 三档之一,见下表 |
50-| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
51-| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
52-
53-- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
54-
55- | tier | 是谁 | 上限 | 规则 |
56- | --- | --- | --- | --- |
57- | `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
58- | `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
59- | `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
60-
61- 无名背景人不进表、不追踪、不限量。
62-
63- **这份表是下游 novel-characters 的角色清单**:谁进谁不进、谁是主角组在这里定死,角色设定照着做,不用再判断一遍轻重(`tier` 对应过去就是 `importance`:`lead` → protagonist、`support` → supporting、`functional` → minor)。反过来,手上已经有 cast.json 的话也能映射进来:protagonist/major → `lead`,supporting → `support`,minor → `functional`
64-
65-## scenes
66-
67-- `id` 格式 `S01`,全局唯一;`name` 必填;`primary` 必填布尔(主场景上限随集数动态,见 `thresholds`)
68-- **在全剧只出现一次的场景必须带 `reusePlan`**(规避方案:复用哪个现有环境资产、换什么时段天气改出来)
69-
70-## props 叙事道具
71-
72-- **可选字段**。没写照常通过全部质量门(`prop-cap` 与 `refs` 两道会明说跳过);写了就按下面查
73-- `id` 格式 `P01`,全局唯一;`name` 必填
74-- **`function` 必填——这一层唯一要拍板的东西:这件物件在戏里承载什么。** 填不出来说明它不是叙事道具,是场景陈设,那归 `novel-art` 的场景锚点管,不进这张表
75-- `beatIds` 可选:它托起哪几个爽点。写了就必须指向 `beats` 里真实存在的 id
76-- 上限 `maxProps` 默认 8 件(进 `params.thresholds` 可覆盖)。跟主角数量一个量级——**只收有特写、跨集出现、承载剧情的**
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
78-
79-边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
80-
81-## beats 爽点表
82-
83-- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
84-- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
85-- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
86-
87:## episodes 分集梗概
88-
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
90-- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
91-- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
92-- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
93-- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
94-- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
95-- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
96-
97-## 校验
98-
99-```bash
100-node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
101-node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
102-```
103-
104-stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。子 agent 报错 Bash Read outline skeleton and episode plan
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/work/outline.json; echo ======; cat $W/work/ep-plan.md
返回
Exit code 1
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"params": {
"episodes": 60,
"minutesPerEpisode": 1.5,
"genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
"adaptMode": "抽核",
"preferences": [
"付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
]
},
"adaptation": {
"core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
"keep": [
{
"what": "民政局门口当众退婚、当场闪婚的开局",
"why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
"evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
},
{
"what": "顾承宴隐藏身份、租小两居扮打工人",
"why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
"evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
},
{
"what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
"why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
"evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
},
{
"what": "十五年前点心铺救下少年的旧缘",
"why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
"evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
},
{
"what": "撕婚前协议、桂花糕求婚的结局",
"why": "契约婚姻的标准收束,道具闭环",
"evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
}
],
"cut": [
{ "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
{ "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
{ "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
{ "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
{ "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
{ "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
],
"merge": [
{ "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
{ "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
{ "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
],
"risks": [
{ "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
{ "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
{ "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
{ "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
],
"cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
"mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
},
"characters": [
{ "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
{ "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
{ "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
{ "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
{ "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
{ "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
{ "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
{ "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
{ "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
{ "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
{ "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
{ "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
{ "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
{ "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
{ "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
{ "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
{ "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
{ "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
{ "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
],
"scenes": [
{ "id": "S01", "name": "民政局", "primary": true },
{ "id": "S02", "name": "苏记点心铺", "primary": true },
{ "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
{ "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
{ "id": "S05", "name": "顾家老宅", "primary": true },
{ "id": "S06", "name": "苏家客厅", "primary": true },
{ "id": "S07", "name": "医院病房", "primary": true },
{ "id": "S08", "name": "酒店宴会厅", "primary": true },
{ "id": "S09", "name": "老街", "primary": true },
{ "id": "S10", "name": "美食大赛演播厅", "primary": true },
{ "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
],
"props": [
{ "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
{ "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
{ "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
{ "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
{ "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
{ "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
{ "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
],
"beats": [
{ "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
{ "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
{ "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
{ "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
{ "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
{ "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
{ "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
{ "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
{ "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
{ "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
{ "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
{ "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
{ "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
{ "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
{ "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
{ "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
{ "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
{ "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
{ "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
{ "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
{ "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
{ "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
{ "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
{ "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
{ "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
{ "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
{ "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
{ "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
{ "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
{ "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
{ "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
],
"episodes": []
}
(eval):1: ===== not found子 agent Bash Read episode plan
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; ls $W/work; cat $W/work/ep-plan.md | head -80
返回
ep-plan.md outline.json 故事底本.md # 逐集规划(分集子代理的对齐基准) 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 ## 第一幕 闪婚(1–10) 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 ## 第二幕 升温与掉马(11–20) 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 ## 第三幕 冷战、追妻、栽赃(21–30) 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 ## 第四幕 美食大赛(31–40) 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 ## 第五幕 旧案与契约到期(41–50) 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 ## 第六幕 终局(51–60) 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。
Agent Write episodes 11-20
输入
BATCH_START=11 BATCH_END=20. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: ace76abda55936d60 (internal ID - do not mention to user. Use SendMessage with to: 'ace76abda55936d60', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/ace76abda55936d60.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 11-20」开始
子 agent Bash Read references and list work dir
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; grep -n -A60 -i "episodes" $W/.claude/skills/novel-outline/references/schema.md | head -120; ls $W/work
返回
# 分集梗概 · 分批写
骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。**
## 每集三栏,缺一栏就是没写完
| 栏 | 写什么 |
| --- | --- |
| `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 |
| `hook` | 【钩子】让人点下一集的那个问题 |
| `suspense` | 【悬念】埋着没解的线 |
## 硬规则
- 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸
- `sceneIds` / `characterIds` 只能用骨架里登记过的 id
- 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着
- 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报
- 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接
## 批次大小
每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
10- "adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
11- "characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
12- "scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
13- "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
15-}
16-```
17-
18-## params
19-
20-| 字段 | 必填 | 说明 |
21-| --- | --- | --- |
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23-| `minutesPerEpisode` | 是 | 单集时长(分钟) |
24-| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
25-| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
26-| `preferences` | 否 | 用户点名要保的角色、戏 |
27-| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
28-
29-## adaptation 改编说明
30-
31-`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
32-
33-两个可选的**决策补注**,报告的「关键决策」区块会展示:
34-
35-- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
36-- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
37-
38-给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
39-
40-## characters 人物表
41-
42-每个字段都以校验器为准,一个不多一个不少:
43-
44-| 字段 | 必填 | 说明 |
45-| --- | --- | --- |
46-| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
47-| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
48-| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
49-| `tier` | 是 | 三档之一,见下表 |
50-| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
51-| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
52-
53-- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
54-
55- | tier | 是谁 | 上限 | 规则 |
56- | --- | --- | --- | --- |
57- | `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
58- | `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
59- | `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
60-
61- 无名背景人不进表、不追踪、不限量。
62-
63- **这份表是下游 novel-characters 的角色清单**:谁进谁不进、谁是主角组在这里定死,角色设定照着做,不用再判断一遍轻重(`tier` 对应过去就是 `importance`:`lead` → protagonist、`support` → supporting、`functional` → minor)。反过来,手上已经有 cast.json 的话也能映射进来:protagonist/major → `lead`,supporting → `support`,minor → `functional`
64-
65-## scenes
66-
67-- `id` 格式 `S01`,全局唯一;`name` 必填;`primary` 必填布尔(主场景上限随集数动态,见 `thresholds`)
68-- **在全剧只出现一次的场景必须带 `reusePlan`**(规避方案:复用哪个现有环境资产、换什么时段天气改出来)
69-
70-## props 叙事道具
71-
72-- **可选字段**。没写照常通过全部质量门(`prop-cap` 与 `refs` 两道会明说跳过);写了就按下面查
73-- `id` 格式 `P01`,全局唯一;`name` 必填
74-- **`function` 必填——这一层唯一要拍板的东西:这件物件在戏里承载什么。** 填不出来说明它不是叙事道具,是场景陈设,那归 `novel-art` 的场景锚点管,不进这张表
75-- `beatIds` 可选:它托起哪几个爽点。写了就必须指向 `beats` 里真实存在的 id
76-- 上限 `maxProps` 默认 8 件(进 `params.thresholds` 可覆盖)。跟主角数量一个量级——**只收有特写、跨集出现、承载剧情的**
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
78-
79-边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
80-
81-## beats 爽点表
82-
83-- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
84-- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
85-- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
86-
87:## episodes 分集梗概
88-
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
90-- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
91-- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
92-- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
93-- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
94-- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
95-- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
96-
97-## 校验
98-
99-```bash
100-node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
101-node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
102-```
103-
104-stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。
ep-plan.md
outline.json
故事底本.md子 agent Read ./work/outline.json
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json"
}返回
1 {
2 "source": "闪婚老公藏不住了",
3 "lang": "zh",
4 "params": {
5 "episodes": 60,
6 "minutesPerEpisode": 1.5,
7 "genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
8 "adaptMode": "抽核",
9 "preferences": [
10 "付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
11 ]
12 },
13 "adaptation": {
14 "core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
15 "keep": [
16 {
17 "what": "民政局门口当众退婚、当场闪婚的开局",
18 "why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
19 "evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
20 },
21 {
22 "what": "顾承宴隐藏身份、租小两居扮打工人",
23 "why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
24 "evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
25 },
26 {
27 "what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
28 "why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
29 "evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
30 },
31 {
32 "what": "十五年前点心铺救下少年的旧缘",
33 "why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
34 "evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
35 },
36 {
37 "what": "撕婚前协议、桂花糕求婚的结局",
38 "why": "契约婚姻的标准收束,道具闭环",
39 "evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
40 }
41 ],
42 "cut": [
43 { "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
44 { "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
45 { "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
46 { "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
47 { "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
48 { "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
49 ],
50 "merge": [
51 { "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
52 { "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
53 { "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
54 ],
55 "risks": [
56 { "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
57 { "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
58 { "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
59 { "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
60 ],
61 "cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
62 "mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
63 },
64 "characters": [
65 { "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
66 { "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
67 { "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
68 { "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
69 { "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
70 { "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
71 { "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
72 { "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
73 { "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
74 { "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
75 { "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
76 { "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
77 { "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
78 { "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
79 { "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
80 { "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
81 { "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
82 { "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
83 { "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
84 ],
85 "scenes": [
86 { "id": "S01", "name": "民政局", "primary": true },
87 { "id": "S02", "name": "苏记点心铺", "primary": true },
88 { "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
89 { "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
90 { "id": "S05", "name": "顾家老宅", "primary": true },
91 { "id": "S06", "name": "苏家客厅", "primary": true },
92 { "id": "S07", "name": "医院病房", "primary": true },
93 { "id": "S08", "name": "酒店宴会厅", "primary": true },
94 { "id": "S09", "name": "老街", "primary": true },
95 { "id": "S10", "name": "美食大赛演播厅", "primary": true },
96 { "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
97 ],
98 "props": [
99 { "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
100 { "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
101 { "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
102 { "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
103 { "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
104 { "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
105 { "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
106 ],
107 "beats": [
108 { "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
109 { "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
110 { "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
111 { "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
112 { "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
113 { "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
114 { "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
115 { "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
116 { "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
117 { "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
118 { "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
119 { "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
120 { "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
121 { "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
122 { "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
123 { "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
124 { "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
125 { "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
126 { "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
127 { "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
128 { "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
129 { "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
130 { "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
131 { "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
132 { "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
133 { "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
134 { "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
135 { "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
136 { "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
137 { "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
138 { "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
139 ],
140 "episodes": []
141 }
142 子 agent Read ./work/ep-plan.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md"
}返回
1 # 逐集规划(分集子代理的对齐基准) 2 3 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 4 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 5 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 6 7 ## 第一幕 闪婚(1–10) 8 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 9 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 10 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 11 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 12 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 13 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 14 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 15 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 16 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 17 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 18 19 ## 第二幕 升温与掉马(11–20) 20 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 21 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 22 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 23 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 24 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 25 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 26 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 27 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 28 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 29 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 30 31 ## 第三幕 冷战、追妻、栽赃(21–30) 32 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 33 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 34 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 35 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 36 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 37 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 38 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 39 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 40 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 41 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 42 43 ## 第四幕 美食大赛(31–40) 44 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 45 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 46 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 47 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 48 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 49 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 50 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 51 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 52 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 53 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 54 55 ## 第五幕 旧案与契约到期(41–50) 56 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 57 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 58 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 59 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 60 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 61 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 62 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 63 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 64 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 65 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 66 67 ## 第六幕 终局(51–60) 68 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 69 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 70 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 71 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 72 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 73 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 74 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 75 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 76 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 77 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。 78
Agent Write episodes 21-30
输入
BATCH_START=21 BATCH_END=30. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: a50b25dd0898d931b (internal ID - do not mention to user. Use SendMessage with to: 'a50b25dd0898d931b', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/a50b25dd0898d931b.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 21-30」开始
子 agent 报错 Bash Read reference docs and list work dir
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; echo ======; grep -n -i -A40 "episode" $W/.claude/skills/novel-outline/references/schema.md | head -150; ls $W/work
返回
Exit code 1 # 分集梗概 · 分批写 骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。** ## 每集三栏,缺一栏就是没写完 | 栏 | 写什么 | | --- | --- | | `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 | | `hook` | 【钩子】让人点下一集的那个问题 | | `suspense` | 【悬念】埋着没解的线 | ## 硬规则 - 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸 - `sceneIds` / `characterIds` 只能用骨架里登记过的 id - 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着 - 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报 - 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接 ## 批次大小 每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。 (eval):1: ===== not found
子 agent Bash Read schema episodes part
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; grep -n -i -B2 -A40 "episodes" $W/.claude/skills/novel-outline/references/schema.md | head -120; ls $W/work
返回
7- "source": "书名",
8- "lang": "zh",
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
10- "adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
11- "characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
12- "scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
13- "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
15-}
16-```
17-
18-## params
19-
20-| 字段 | 必填 | 说明 |
21-| --- | --- | --- |
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23-| `minutesPerEpisode` | 是 | 单集时长(分钟) |
24-| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
25-| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
26-| `preferences` | 否 | 用户点名要保的角色、戏 |
27-| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
28-
29-## adaptation 改编说明
30-
31-`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
32-
33-两个可选的**决策补注**,报告的「关键决策」区块会展示:
34-
35-- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
36-- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
37-
38-给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
39-
40-## characters 人物表
41-
42-每个字段都以校验器为准,一个不多一个不少:
43-
44-| 字段 | 必填 | 说明 |
45-| --- | --- | --- |
46-| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
47-| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
48-| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
49-| `tier` | 是 | 三档之一,见下表 |
50-| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
51-| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
52-
53-- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
54-
55- | tier | 是谁 | 上限 | 规则 |
56- | --- | --- | --- | --- |
57- | `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
58- | `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
59- | `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
60-
61- 无名背景人不进表、不追踪、不限量。
62-
--
75-- `beatIds` 可选:它托起哪几个爽点。写了就必须指向 `beats` 里真实存在的 id
76-- 上限 `maxProps` 默认 8 件(进 `params.thresholds` 可覆盖)。跟主角数量一个量级——**只收有特写、跨集出现、承载剧情的**
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
78-
79-边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
80-
81-## beats 爽点表
82-
83-- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
84-- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
85-- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
86-
87:## episodes 分集梗概
88-
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
90-- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
91-- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
92-- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
93-- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
94-- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
95-- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
96-
97-## 校验
98-
99-```bash
100-node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
101-node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
102-```
103-
104-stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。
ep-plan.md
outline.json
故事底本.md子 agent Read ./work/ep-plan.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md"
}返回
1 # 逐集规划(分集子代理的对齐基准) 2 3 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 4 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 5 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 6 7 ## 第一幕 闪婚(1–10) 8 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 9 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 10 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 11 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 12 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 13 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 14 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 15 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 16 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 17 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 18 19 ## 第二幕 升温与掉马(11–20) 20 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 21 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 22 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 23 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 24 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 25 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 26 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 27 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 28 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 29 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 30 31 ## 第三幕 冷战、追妻、栽赃(21–30) 32 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 33 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 34 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 35 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 36 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 37 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 38 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 39 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 40 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 41 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 42 43 ## 第四幕 美食大赛(31–40) 44 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 45 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 46 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 47 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 48 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 49 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 50 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 51 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 52 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 53 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 54 55 ## 第五幕 旧案与契约到期(41–50) 56 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 57 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 58 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 59 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 60 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 61 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 62 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 63 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 64 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 65 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 66 67 ## 第六幕 终局(51–60) 68 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 69 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 70 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 71 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 72 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 73 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 74 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 75 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 76 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 77 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。 78
Agent Write episodes 31-40
输入
BATCH_START=31 BATCH_END=40. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: af7dfe3a84f1e70c3 (internal ID - do not mention to user. Use SendMessage with to: 'af7dfe3a84f1e70c3', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/af7dfe3a84f1e70c3.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 31-40」开始
子 agent Read ./work/outline.json
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json"
}返回
1 {
2 "source": "闪婚老公藏不住了",
3 "lang": "zh",
4 "params": {
5 "episodes": 60,
6 "minutesPerEpisode": 1.5,
7 "genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
8 "adaptMode": "抽核",
9 "preferences": [
10 "付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
11 ]
12 },
13 "adaptation": {
14 "core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
15 "keep": [
16 {
17 "what": "民政局门口当众退婚、当场闪婚的开局",
18 "why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
19 "evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
20 },
21 {
22 "what": "顾承宴隐藏身份、租小两居扮打工人",
23 "why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
24 "evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
25 },
26 {
27 "what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
28 "why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
29 "evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
30 },
31 {
32 "what": "十五年前点心铺救下少年的旧缘",
33 "why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
34 "evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
35 },
36 {
37 "what": "撕婚前协议、桂花糕求婚的结局",
38 "why": "契约婚姻的标准收束,道具闭环",
39 "evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
40 }
41 ],
42 "cut": [
43 { "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
44 { "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
45 { "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
46 { "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
47 { "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
48 { "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
49 ],
50 "merge": [
51 { "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
52 { "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
53 { "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
54 ],
55 "risks": [
56 { "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
57 { "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
58 { "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
59 { "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
60 ],
61 "cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
62 "mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
63 },
64 "characters": [
65 { "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
66 { "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
67 { "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
68 { "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
69 { "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
70 { "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
71 { "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
72 { "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
73 { "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
74 { "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
75 { "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
76 { "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
77 { "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
78 { "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
79 { "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
80 { "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
81 { "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
82 { "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
83 { "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
84 ],
85 "scenes": [
86 { "id": "S01", "name": "民政局", "primary": true },
87 { "id": "S02", "name": "苏记点心铺", "primary": true },
88 { "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
89 { "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
90 { "id": "S05", "name": "顾家老宅", "primary": true },
91 { "id": "S06", "name": "苏家客厅", "primary": true },
92 { "id": "S07", "name": "医院病房", "primary": true },
93 { "id": "S08", "name": "酒店宴会厅", "primary": true },
94 { "id": "S09", "name": "老街", "primary": true },
95 { "id": "S10", "name": "美食大赛演播厅", "primary": true },
96 { "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
97 ],
98 "props": [
99 { "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
100 { "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
101 { "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
102 { "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
103 { "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
104 { "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
105 { "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
106 ],
107 "beats": [
108 { "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
109 { "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
110 { "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
111 { "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
112 { "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
113 { "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
114 { "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
115 { "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
116 { "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
117 { "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
118 { "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
119 { "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
120 { "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
121 { "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
122 { "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
123 { "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
124 { "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
125 { "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
126 { "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
127 { "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
128 { "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
129 { "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
130 { "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
131 { "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
132 { "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
133 { "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
134 { "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
135 { "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
136 { "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
137 { "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
138 { "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
139 ],
140 "episodes": []
141 }
142 子 agent 思考
子 agent Bash Read references and list work dir
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; grep -n -i -A60 'episodes' $W/.claude/skills/novel-outline/references/schema.md | head -120; ls $W/work
返回
# 分集梗概 · 分批写
骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。**
## 每集三栏,缺一栏就是没写完
| 栏 | 写什么 |
| --- | --- |
| `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 |
| `hook` | 【钩子】让人点下一集的那个问题 |
| `suspense` | 【悬念】埋着没解的线 |
## 硬规则
- 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸
- `sceneIds` / `characterIds` 只能用骨架里登记过的 id
- 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着
- 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报
- 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接
## 批次大小
每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
10- "adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
11- "characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
12- "scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
13- "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
15-}
16-```
17-
18-## params
19-
20-| 字段 | 必填 | 说明 |
21-| --- | --- | --- |
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23-| `minutesPerEpisode` | 是 | 单集时长(分钟) |
24-| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
25-| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
26-| `preferences` | 否 | 用户点名要保的角色、戏 |
27-| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
28-
29-## adaptation 改编说明
30-
31-`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
32-
33-两个可选的**决策补注**,报告的「关键决策」区块会展示:
34-
35-- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
36-- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
37-
38-给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
39-
40-## characters 人物表
41-
42-每个字段都以校验器为准,一个不多一个不少:
43-
44-| 字段 | 必填 | 说明 |
45-| --- | --- | --- |
46-| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
47-| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
48-| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
49-| `tier` | 是 | 三档之一,见下表 |
50-| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
51-| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
52-
53-- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
54-
55- | tier | 是谁 | 上限 | 规则 |
56- | --- | --- | --- | --- |
57- | `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
58- | `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
59- | `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
60-
61- 无名背景人不进表、不追踪、不限量。
62-
63- **这份表是下游 novel-characters 的角色清单**:谁进谁不进、谁是主角组在这里定死,角色设定照着做,不用再判断一遍轻重(`tier` 对应过去就是 `importance`:`lead` → protagonist、`support` → supporting、`functional` → minor)。反过来,手上已经有 cast.json 的话也能映射进来:protagonist/major → `lead`,supporting → `support`,minor → `functional`
64-
65-## scenes
66-
67-- `id` 格式 `S01`,全局唯一;`name` 必填;`primary` 必填布尔(主场景上限随集数动态,见 `thresholds`)
68-- **在全剧只出现一次的场景必须带 `reusePlan`**(规避方案:复用哪个现有环境资产、换什么时段天气改出来)
69-
70-## props 叙事道具
71-
72-- **可选字段**。没写照常通过全部质量门(`prop-cap` 与 `refs` 两道会明说跳过);写了就按下面查
73-- `id` 格式 `P01`,全局唯一;`name` 必填
74-- **`function` 必填——这一层唯一要拍板的东西:这件物件在戏里承载什么。** 填不出来说明它不是叙事道具,是场景陈设,那归 `novel-art` 的场景锚点管,不进这张表
75-- `beatIds` 可选:它托起哪几个爽点。写了就必须指向 `beats` 里真实存在的 id
76-- 上限 `maxProps` 默认 8 件(进 `params.thresholds` 可覆盖)。跟主角数量一个量级——**只收有特写、跨集出现、承载剧情的**
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
78-
79-边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
80-
81-## beats 爽点表
82-
83-- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
84-- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
85-- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
86-
87:## episodes 分集梗概
88-
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
90-- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
91-- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
92-- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
93-- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
94-- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
95-- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
96-
97-## 校验
98-
99-```bash
100-node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
101-node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
102-```
103-
104-stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。
ep-plan.md
outline.json
故事底本.md子 agent Read ./work/outline.json
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json"
}返回
1 {
2 "source": "闪婚老公藏不住了",
3 "lang": "zh",
4 "params": {
5 "episodes": 60,
6 "minutesPerEpisode": 1.5,
7 "genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
8 "adaptMode": "抽核",
9 "preferences": [
10 "付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
11 ]
12 },
13 "adaptation": {
14 "core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
15 "keep": [
16 {
17 "what": "民政局门口当众退婚、当场闪婚的开局",
18 "why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
19 "evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
20 },
21 {
22 "what": "顾承宴隐藏身份、租小两居扮打工人",
23 "why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
24 "evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
25 },
26 {
27 "what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
28 "why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
29 "evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
30 },
31 {
32 "what": "十五年前点心铺救下少年的旧缘",
33 "why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
34 "evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
35 },
36 {
37 "what": "撕婚前协议、桂花糕求婚的结局",
38 "why": "契约婚姻的标准收束,道具闭环",
39 "evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
40 }
41 ],
42 "cut": [
43 { "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
44 { "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
45 { "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
46 { "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
47 { "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
48 { "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
49 ],
50 "merge": [
51 { "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
52 { "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
53 { "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
54 ],
55 "risks": [
56 { "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
57 { "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
58 { "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
59 { "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
60 ],
61 "cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
62 "mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
63 },
64 "characters": [
65 { "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
66 { "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
67 { "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
68 { "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
69 { "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
70 { "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
71 { "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
72 { "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
73 { "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
74 { "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
75 { "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
76 { "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
77 { "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
78 { "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
79 { "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
80 { "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
81 { "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
82 { "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
83 { "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
84 ],
85 "scenes": [
86 { "id": "S01", "name": "民政局", "primary": true },
87 { "id": "S02", "name": "苏记点心铺", "primary": true },
88 { "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
89 { "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
90 { "id": "S05", "name": "顾家老宅", "primary": true },
91 { "id": "S06", "name": "苏家客厅", "primary": true },
92 { "id": "S07", "name": "医院病房", "primary": true },
93 { "id": "S08", "name": "酒店宴会厅", "primary": true },
94 { "id": "S09", "name": "老街", "primary": true },
95 { "id": "S10", "name": "美食大赛演播厅", "primary": true },
96 { "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
97 ],
98 "props": [
99 { "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
100 { "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
101 { "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
102 { "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
103 { "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
104 { "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
105 { "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
106 ],
107 "beats": [
108 { "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
109 { "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
110 { "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
111 { "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
112 { "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
113 { "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
114 { "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
115 { "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
116 { "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
117 { "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
118 { "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
119 { "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
120 { "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
121 { "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
122 { "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
123 { "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
124 { "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
125 { "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
126 { "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
127 { "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
128 { "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
129 { "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
130 { "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
131 { "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
132 { "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
133 { "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
134 { "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
135 { "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
136 { "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
137 { "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
138 { "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
139 ],
140 "episodes": []
141 }
142 子 agent Read ./work/ep-plan.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md"
}返回
1 # 逐集规划(分集子代理的对齐基准) 2 3 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 4 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 5 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 6 7 ## 第一幕 闪婚(1–10) 8 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 9 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 10 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 11 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 12 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 13 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 14 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 15 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 16 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 17 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 18 19 ## 第二幕 升温与掉马(11–20) 20 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 21 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 22 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 23 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 24 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 25 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 26 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 27 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 28 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 29 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 30 31 ## 第三幕 冷战、追妻、栽赃(21–30) 32 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 33 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 34 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 35 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 36 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 37 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 38 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 39 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 40 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 41 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 42 43 ## 第四幕 美食大赛(31–40) 44 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 45 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 46 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 47 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 48 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 49 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 50 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 51 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 52 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 53 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 54 55 ## 第五幕 旧案与契约到期(41–50) 56 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 57 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 58 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 59 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 60 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 61 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 62 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 63 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 64 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 65 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 66 67 ## 第六幕 终局(51–60) 68 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 69 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 70 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 71 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 72 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 73 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 74 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 75 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 76 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 77 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。 78
Agent Write episodes 41-50
输入
BATCH_START=41 BATCH_END=50. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: a20bc1d3b0cf01797 (internal ID - do not mention to user. Use SendMessage with to: 'a20bc1d3b0cf01797', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/a20bc1d3b0cf01797.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 41-50」开始
子 agent 思考
子 agent 报错 Bash Read reference docs and list work dir
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; echo ======; grep -n -i -A40 'episode' $W/.claude/skills/novel-outline/references/schema.md | head -150; ls $W/work
返回
Exit code 1 # 分集梗概 · 分批写 骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。** ## 每集三栏,缺一栏就是没写完 | 栏 | 写什么 | | --- | --- | | `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 | | `hook` | 【钩子】让人点下一集的那个问题 | | `suspense` | 【悬念】埋着没解的线 | ## 硬规则 - 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸 - `sceneIds` / `characterIds` 只能用骨架里登记过的 id - 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着 - 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报 - 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接 ## 批次大小 每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。 (eval):1: ===== not found
子 agent Bash Find episodes section in schema and list work files
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; grep -n -i 'episode' $W/.claude/skills/novel-outline/references/schema.md | head -30; ls $W/work; wc -c $W/work/*
返回
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
13: "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23:| `minutesPerEpisode` | 是 | 单集时长(分钟) |
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
84:- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
87:## episodes 分集梗概
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
ep-plan.md
outline.json
故事底本.md
16509 /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md
17204 /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json
4408 /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/故事底本.md
38121 totalAgent Write episodes 51-60
输入
BATCH_START=51 BATCH_END=60. 你在为竖屏短剧《闪婚老公藏不住了》写分集梗概的一批。
工作目录 W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
先读:$W/.claude/skills/novel-outline/references/episode-pass.md、$W/.claude/skills/novel-outline/references/schema.md(episodes 部分)、$W/work/outline.json(骨架:人物、场景、道具、爽点)、$W/work/ep-plan.md(逐集规划,必须照它写,不改剧情走向)。
任务:只写第 BATCH_START–BATCH_END 集,产出 JSON 数组写到 $W/work/eps-BATCH_START.json(文件名用起始集号两位补零,如 eps-01.json、eps-11.json)。
每条:{ep, synopsis, hook, suspense, sceneIds, characterIds, propIds, crowdPlan(characterIds≥3时必填), warnings}。
要求:
- synopsis 叙述体 80–150 字,把规划里的事和该集爽点(beats 里 episode 落在本集的 setup/payoff)真的演出来;全程不得出现任何引号(「」『』“”"' 都不行),人物说的话用转述。
- hook:一句话,让人点下一集的那个问题;suspense:埋着没解的线。
- 付费卡点集(10/20/30/40/50 落在本批的):hook 以「【付费卡点】」开头(这是方括号不是引号,可以用),并在该条加字段 "paywall": true。
- sceneIds/characterIds/propIds 只用 outline.json 登记的 id;characterIds 列出本集实际出场的有名有脸角色(功能性角色出场也要列)。
- crowdPlan:写清同框怎么拆(谁正面、谁背影/过肩、分几场拍);不同框就写分场拍的事实。
- warnings 枚举只用:雨戏 / 肢体接触 / 人群 / 手部特写。梗概里出现拥抱、牵手、吻、跪、拉扯→肢体接触;宴会宾客、围观、街坊、记者群、直播观众画面→人群;递戒指、签字、特写手上物件→手部特写;下雨/湿透→雨戏。宁可多报。没有就空数组。
写完用 node 解析一次确认是合法 JSON 数组、集数齐全。最后只回复一句「done BATCH_START」。返回
Async agent launched successfully. (This tool result is internal metadata — never quote or paste any part of it, including the agentId below, into a user-facing reply.) agentId: accca57f5920dfea3 (internal ID - do not mention to user. Use SendMessage with to: 'accca57f5920dfea3', summary: '<5-10 word recap>' to continue this agent.) The agent is working in the background. You will be notified automatically when it completes. You know nothing about its results until that notification arrives — do not report, assume, or predict them; continue other work or respond to the user in the meantime. Do not duplicate this agent's work — avoid working with the same files or topics it is using. output_file: /tmp/claude/-scratch-evals2-ws-001-open-brief-eternityspring--shuohao-skills-run-2/00df6ac2-3692-4a2e-9c9a-18ed0089311f/tasks/accca57f5920dfea3.output Do NOT Read or tail this file via the shell tool — it is the full subagent JSONL transcript and reading it will overflow your context. If the user asks for progress, say the agent is still running; you'll get a completion notification.
后台子 agent「Write episodes 51-60」开始
子 agent Read ./.claude/skills/novel-outline/references/schema.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/.claude/skills/novel-outline/references/schema.md",
"offset": 80
}返回
80 81 ## beats 爽点表 82 83 - `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor) 84 - `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算 85 - 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集** 86 87 ## episodes 分集梗概 88 89 - `ep` 从 1 连续编号,总数等于 `params.episodes` 90 - `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成 91 - **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦 92 - `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次 93 - `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集 94 - `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过 95 - `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报 96 97 ## 校验 98 99 ```bash 100 node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full 101 node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗ 102 ``` 103 104 stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。 105
子 agent 思考
子 agent Read ./work/outline.json
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json"
}返回
1 {
2 "source": "闪婚老公藏不住了",
3 "lang": "zh",
4 "params": {
5 "episodes": 60,
6 "minutesPerEpisode": 1.5,
7 "genre": "女频·先婚后爱甜宠(身份马甲 + 打脸)",
8 "adaptMode": "抽核",
9 "preferences": [
10 "付费卡点:第 1–10 集免费,第 10 / 20 / 30 / 40 / 50 集为卡点集,集尾放全剧最强悬念"
11 ]
12 },
13 "adaptation": {
14 "core": "被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。",
15 "keep": [
16 {
17 "what": "民政局门口当众退婚、当场闪婚的开局",
18 "why": "第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手",
19 "evidence": "苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。"
20 },
21 {
22 "what": "顾承宴隐藏身份、租小两居扮打工人",
23 "why": "马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点",
24 "evidence": "顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。"
25 },
26 {
27 "what": "外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片)",
28 "why": "一件道具串起护铺、比赛、十五年前旧案三段,前后呼应",
29 "evidence": "外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。"
30 },
31 {
32 "what": "十五年前点心铺救下少年的旧缘",
33 "why": "把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量",
34 "evidence": "照片背后外婆写着:那天追来的人,叫他二爷。"
35 },
36 {
37 "what": "撕婚前协议、桂花糕求婚的结局",
38 "why": "契约婚姻的标准收束,道具闭环",
39 "evidence": "顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。"
40 }
41 ],
42 "cut": [
43 { "what": "唐果与陈默的欢喜冤家感情线", "why": "九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分" },
44 { "what": "苏念出国进修三年的事业线", "why": "时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担" },
45 { "what": "顾承宴母亲车祸旧案与大房二房三十年恩怨", "why": "与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住" },
46 { "what": "周子昂破产后黑化跟踪的复仇线", "why": "反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏" },
47 { "what": "苏晴的网红经纪公司与流量造假行业线", "why": "行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担" },
48 { "what": "外婆与顾老夫人年轻时是闺中好友的往事", "why": "巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道" }
49 ],
50 "merge": [
51 { "what": "林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能", "why": "同一个情敌兼二叔盟友,不需要两张脸" },
52 { "what": "拆迁办经理兼任二叔派去老街闹事的现场执行人", "why": "强拆戏和闹事戏都由他出面,少一个功能角色" },
53 { "what": "酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏", "why": "他对顾承宴的态度就是马甲的温度计,一张脸复用三次" }
54 ],
55 "risks": [
56 { "what": "马甲戏拖太久观众会烦", "plan": "第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一" },
57 { "what": "女频打脸集中在前段,后段变成商战闷戏", "plan": "后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程" },
58 { "what": "九十秒一集信息密度高,人物多容易乱", "plan": "每集主戏不超过三人同框,配角按集轮换出场" },
59 { "what": "车祸、仓库营救等动作戏生成难度高", "plan": "车祸只拍医院后果,仓库戏以对峙为主,打斗用剪辑与反应镜头带过" }
60 ],
61 "cutNote": "这意味着:全剧只有一条主线(契约婚姻从假到真)和一条副线(守住苏记、扳倒二叔),终点是老街补办婚礼,不出国、不追溯上一代恩怨。",
62 "mergeNote": "主角组定为苏念、顾承宴、苏晴、顾远山四人:苏念与顾承宴有完整的感情弧,苏晴有从抢夺到倒戈的转变弧,顾远山是贯穿始终的幕后黑手。"
63 },
64 "characters": [
65 { "id": "C01", "name": "苏念", "role": "女主·苏记点心铺第三代传人", "tier": "lead", "arc": "从被退婚后赌气闪婚、守着契约不敢动心,到识破身份、亲手扳倒二叔,主动握住这段婚姻", "from": ["原创"] },
66 { "id": "C02", "name": "顾承宴", "role": "男主·顾氏集团总裁,隐藏身份闪婚", "tier": "lead", "arc": "从为奶奶应付领证、尝不出味道的冷面总裁,到撕掉婚前协议、在老街重新求婚", "from": ["原创"] },
67 { "id": "C03", "name": "苏晴", "role": "前期主反派·苏念的继妹", "tier": "lead", "arc": "从处处抢姐姐的东西、与林薇薇二叔结盟,到被利用后倒戈交出录音笔,离开重新开始", "from": ["原创"] },
68 { "id": "C04", "name": "顾远山", "role": "幕后主反派·顾承宴的二叔", "tier": "lead", "arc": "笑面虎步步为营:伪签强拆、董事会夺权、制造车祸,最终在仓库里重演十五年前的绑架并落网", "from": ["原创"] },
69 { "id": "C05", "name": "周子昂", "role": "渣前任·周家少爷", "tier": "support", "arc": "当众退婚的得意,到发现苏晴骗了他、回头纠缠苏念,最后被顾氏断掉合作出局", "from": ["原创"] },
70 { "id": "C06", "name": "刘美琴", "role": "继母", "tier": "support", "arc": "一心卖铺子给女儿换嫁妆,屡次算计落空,最后被苏建国离婚出门", "from": ["原创"] },
71 { "id": "C07", "name": "苏建国", "role": "苏念的父亲", "tier": "support", "arc": "被妻子拿捏、对女儿亏欠,终于站出来护女并与刘美琴决裂", "from": ["原创"] },
72 { "id": "C08", "name": "顾老夫人", "role": "顾承宴的奶奶,CP 头号助攻", "tier": "support", "arc": "以手术逼婚,一口吃出当年的桂花糕,此后始终为孙媳妇站台", "from": ["原创"] },
73 { "id": "C09", "name": "陈默", "role": "顾承宴的特助,马甲维护员", "tier": "support", "arc": "从手忙脚乱帮总裁演穷,到找出当年绑匪、成为扳倒二叔的关键人", "from": ["原创", "合并:唐果陈默感情线砍掉后只留功能"] },
74 { "id": "C10", "name": "唐果", "role": "苏念的闺蜜,美食博主", "tier": "support", "arc": "最早怀疑顾承宴不像打工的,大赛上陪苏念打下手,用直播替她澄清", "from": ["原创"] },
75 { "id": "C11", "name": "林薇薇", "role": "情敌·顾家世交千金", "tier": "support", "arc": "自称未婚妻上门挑衅、设玉镯局、带股份投靠二叔,董事会失败后身败名裂", "from": ["原创", "合并:联姻对象 + 股东代表"] },
76 { "id": "C12", "name": "民政局工作人员", "role": "见证闪婚与离婚预约", "tier": "functional", "from": ["原创"] },
77 { "id": "C13", "name": "主治医生", "role": "奶奶与顾承宴的医生", "tier": "functional", "from": ["原创"] },
78 { "id": "C14", "name": "酒店经理", "role": "顾氏旗下酒店经理,马甲温度计", "tier": "functional", "from": ["原创", "合并:订婚宴、寿宴、发布会三场的酒店方"] },
79 { "id": "C15", "name": "拆迁办经理", "role": "二叔的强拆执行人", "tier": "functional", "from": ["原创", "合并:老街闹事的现场执行人"] },
80 { "id": "C16", "name": "大赛评委", "role": "美食大赛主评委,被二叔收买又倒戈", "tier": "functional", "from": ["原创"] },
81 { "id": "C17", "name": "记者", "role": "发布会与赛场的媒体", "tier": "functional", "from": ["原创"] },
82 { "id": "C18", "name": "当年绑匪", "role": "十五年前被二叔雇用的绑匪,关键证人", "tier": "functional", "from": ["原创"] },
83 { "id": "C19", "name": "律师", "role": "顾承宴的律师,处理遗嘱、伪签与报案", "tier": "functional", "from": ["原创"] }
84 ],
85 "scenes": [
86 { "id": "S01", "name": "民政局", "primary": true },
87 { "id": "S02", "name": "苏记点心铺", "primary": true },
88 { "id": "S03", "name": "小两居(顾承宴租的伪装公寓)", "primary": true },
89 { "id": "S04", "name": "顾氏集团总部(总裁办 / 会议室)", "primary": true },
90 { "id": "S05", "name": "顾家老宅", "primary": true },
91 { "id": "S06", "name": "苏家客厅", "primary": true },
92 { "id": "S07", "name": "医院病房", "primary": true },
93 { "id": "S08", "name": "酒店宴会厅", "primary": true },
94 { "id": "S09", "name": "老街", "primary": true },
95 { "id": "S10", "name": "美食大赛演播厅", "primary": true },
96 { "id": "S11", "name": "废弃仓库", "primary": false, "reusePlan": "复用老街夜景资产的砖墙与路灯,改为城郊仓库内景;夜间冷光,铁门与旧货架两件新增陈设" }
97 ],
98 "props": [
99 { "id": "P01", "name": "结婚证", "function": "闪婚的凭证,苏念对抗情敌、撑场面的底牌", "beatIds": ["B01", "B08"] },
100 { "id": "P02", "name": "婚前协议", "function": "一年契约、互不动心的条款,感情线的计时器,结局被撕", "beatIds": ["B09", "B25", "B30"] },
101 { "id": "P03", "name": "外婆的铁皮点心盒", "function": "装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙", "beatIds": ["B02", "B20", "B21", "B22"] },
102 { "id": "P04", "name": "顾家传家玉镯", "function": "奶奶认孙媳的信物,寿宴上被设局栽赃", "beatIds": ["B03", "B11"] },
103 { "id": "P05", "name": "录音笔", "function": "苏晴倒戈交出的二叔罪证,终局翻盘的证据", "beatIds": ["B24", "B29"] },
104 { "id": "P06", "name": "拆迁合同", "function": "伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证", "beatIds": ["B07", "B13", "B23"] },
105 { "id": "P07", "name": "苏记老招牌", "function": "铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中", "beatIds": ["B04", "B31"] }
106 ],
107 "beats": [
108 { "id": "B01", "type": "闪婚反杀", "weight": "minor", "episode": 1, "setup": "周子昂搂着苏晴当众退婚,嘲笑苏记不值一块表", "payoff": "苏念当场拉陌生男人领证,拿着结婚证从渣男面前走过" },
109 { "id": "B02", "type": "打脸", "weight": "minor", "episode": 3, "setup": "继母带苏晴上门收铺,说铺子已抵给周家", "payoff": "苏念打开铁皮盒亮出外婆遗嘱,铺子从来是她的" },
110 { "id": "B03", "type": "长辈认可", "weight": "minor", "episode": 4, "setup": "苏念带桂花糕去医院见奶奶,以为要被挑剔", "payoff": "奶奶一口吃出当年的味道,当场把传家玉镯戴到她手上,同意手术" },
111 { "id": "B04", "type": "护妻", "weight": "minor", "episode": 6, "setup": "混混在苏记门口泼漆摘招牌", "payoff": "顾承宴赶到录证报警,混混落荒而逃,招牌挂回去" },
112 { "id": "B05", "type": "打脸", "weight": "minor", "episode": 7, "setup": "苏家寿宴上继母嘲讽顾承宴的茶叶寒酸", "payoff": "懂行的苏建国认出是有价无市的母树茶,周子昂的名表反被比下去" },
113 { "id": "B06", "type": "打脸", "weight": "major", "episode": 9, "setup": "订婚宴上苏晴栽赃苏念偷钻戒,全场围观", "payoff": "酒店经理对顾承宴毕恭毕敬调出监控,戒指是苏晴自己藏的,苏晴当众出丑" },
114 { "id": "B07", "type": "反转", "weight": "minor", "episode": 11, "setup": "拆迁通知落款顾氏总裁,三天后强拆", "payoff": "顾承宴查出是二叔伪签,当场叫停拆迁" },
115 { "id": "B08", "type": "打脸", "weight": "minor", "episode": 13, "setup": "林薇薇上门自称顾承宴未婚妻,羞辱苏念", "payoff": "苏念亮出结婚证,林薇薇当场哑火" },
116 { "id": "B09", "type": "撒糖", "weight": "minor", "episode": 14, "setup": "苏念吃醋质问林薇薇的事,协议写着互不动心", "payoff": "停电夜意外的初吻" },
117 { "id": "B10", "type": "护妻", "weight": "minor", "episode": 16, "setup": "苏念去顾氏送饭,被前台当成蹭饭的赶出去", "payoff": "顾承宴下楼当众牵她进电梯,前台被调岗" },
118 { "id": "B11", "type": "反转", "weight": "major", "episode": 19, "setup": "寿宴上林薇薇与苏晴设局,诬陷苏念摔碎传家玉镯", "payoff": "奶奶亮出真镯,碎的是苏晴准备的假货,两人当众出丑" },
119 { "id": "B12", "type": "身份揭破", "weight": "major", "episode": 20, "setup": "主持人宣布有请顾氏集团总裁致辞", "payoff": "走上台的是苏念的契约丈夫,她手里的蛋糕掉在地上" },
120 { "id": "B13", "type": "真相澄清", "weight": "minor", "episode": 23, "setup": "苏念认定他骗婚就是为了拆铺子", "payoff": "律师当面鉴定拆迁合同上的签名是伪造的" },
121 { "id": "B14", "type": "追妻撒糖", "weight": "minor", "episode": 25, "setup": "冷战中的苏念搬回点心铺", "payoff": "顾承宴在铺子门口学做桂花糕,苏念心软同意回家" },
122 { "id": "B15", "type": "打脸", "weight": "minor", "episode": 27, "setup": "周子昂得知被苏晴骗,回头纠缠苏念", "payoff": "顾承宴一个电话终止周家所有分包,周子昂当场跪求" },
123 { "id": "B16", "type": "反转", "weight": "major", "episode": 29, "setup": "苏记被栽赃食物中毒,铺子被封、苏念被网暴", "payoff": "唐果直播放出监控,投毒的是二叔的人,苏记解封" },
124 { "id": "B17", "type": "打脸", "weight": "minor", "episode": 32, "setup": "大赛海选,苏晴嘲笑苏念的手工点心土气", "payoff": "苏念以海选第一晋级,苏晴压线" },
125 { "id": "B18", "type": "反转", "weight": "minor", "episode": 35, "setup": "半决赛苏念的原料被调包", "payoff": "苏念临场改做外婆的老式点心,反超晋级" },
126 { "id": "B19", "type": "撒糖", "weight": "minor", "episode": 37, "setup": "被收买的评委当众质疑苏念走后门", "payoff": "顾承宴宣布退出赞助回避,只坐观众席为她加油" },
127 { "id": "B20", "type": "夺冠打脸", "weight": "major", "episode": 39, "setup": "苏晴用偷来的秘方与苏念同台决赛", "payoff": "苏晴做不出外婆的最后一步,苏念夺冠,评委倒戈揭发收买" },
128 { "id": "B21", "type": "揭秘", "weight": "minor", "episode": 40, "setup": "苏念整理铁皮盒,发现夹层", "payoff": "旧照片上小苏念牵着受伤的少年,背面写着那天追来的人叫二爷" },
129 { "id": "B22", "type": "相认撒糖", "weight": "minor", "episode": 42, "setup": "苏念拿照片问顾承宴", "payoff": "顾承宴承认自己就是那个少年,十五年只记得这一口甜" },
130 { "id": "B23", "type": "反转", "weight": "major", "episode": 44, "setup": "二叔联合林薇薇在董事会发难,要罢免顾承宴", "payoff": "苏念送来伪签拆迁合同的鉴定,二叔当场被停职,林薇薇家撤股" },
131 { "id": "B24", "type": "倒戈", "weight": "minor", "episode": 46, "setup": "苏晴被二叔和周子昂一起抛弃", "payoff": "苏晴把偷录二叔的录音笔交给苏念" },
132 { "id": "B25", "type": "虐心误会", "weight": "minor", "episode": 48, "setup": "契约到期前夜,苏念听见顾承宴说协议到期就结束", "payoff": "苏念默默收拾行李,约他去民政局" },
133 { "id": "B26", "type": "危机", "weight": "minor", "episode": 50, "setup": "苏念在民政局等不到人", "payoff": "电话打来:顾承宴的车刹车失灵,正在抢救" },
134 { "id": "B27", "type": "将计就计", "weight": "minor", "episode": 52, "setup": "二叔以为顾承宴昏迷,接管集团", "payoff": "顾承宴醒来与苏念联手装病,引二叔现形" },
135 { "id": "B28", "type": "寻证", "weight": "minor", "episode": 54, "setup": "当年绑匪下落不明", "payoff": "陈默找到当年绑匪,对方愿意作证" },
136 { "id": "B29", "type": "揭破", "weight": "major", "episode": 56, "setup": "二叔把苏念绑进仓库逼要录音笔", "payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网" },
137 { "id": "B30", "type": "撒糖求婚", "weight": "major", "episode": 58, "setup": "协议到期那天,苏念拿出婚前协议", "payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚" },
138 { "id": "B31", "type": "圆满", "weight": "minor", "episode": 60, "setup": "老街保住,苏记招牌重新挂起", "payoff": "老街补办婚礼,一年后苏记开了第二家店" }
139 ],
140 "episodes": []
141 }
142 子 agent 思考
思考
分集在后台写着,同时我来写人物小传:
子 agent Read ./work/ep-plan.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md"
}返回
1 # 逐集规划(分集子代理的对齐基准) 2 3 单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。 4 场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库 5 马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。 6 7 ## 第一幕 闪婚(1–10) 8 1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。 9 2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。 10 3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。 11 4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。 12 5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。 13 6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。 14 7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。 15 8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。 16 9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。 17 10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。 18 19 ## 第二幕 升温与掉马(11–20) 20 11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。 21 12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。 22 13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。 23 14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。 24 15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。 25 16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。 26 17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。 27 18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。 28 19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。 29 20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。 30 31 ## 第三幕 冷战、追妻、栽赃(21–30) 32 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 33 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 34 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 35 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 36 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 37 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 38 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 39 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 40 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 41 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 42 43 ## 第四幕 美食大赛(31–40) 44 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 45 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 46 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 47 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 48 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 49 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 50 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 51 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 52 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 53 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 54 55 ## 第五幕 旧案与契约到期(41–50) 56 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 57 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 58 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 59 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 60 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 61 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 62 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 63 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 64 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 65 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 66 67 ## 第六幕 终局(51–60) 68 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 69 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。 70 53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。 71 54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。 72 55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。 73 56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。 74 57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。 75 58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。 76 59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。 77 60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。 78
子 agent Bash Read references and list work dir
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat $W/.claude/skills/novel-outline/references/episode-pass.md; grep -n -i -A40 'episodes' $W/.claude/skills/novel-outline/references/schema.md | head -120; ls $W/work
返回
# 分集梗概 · 分批写
骨架拍板之后才有这一步。给你:拍板后的骨架四块 + 你负责的集数区间(比如第 11–20 集)+ 这个区间内落着的爽点。产出这些集的 `episodes` 条目。**只输出 JSON 数组,不要解释、不要围栏。**
## 每集三栏,缺一栏就是没写完
| 栏 | 写什么 |
| --- | --- |
| `synopsis` | 这一集发生了什么。**叙述体**——出现 `「」“”` 引号对白就是在写剧本,validate 会拦 |
| `hook` | 【钩子】让人点下一集的那个问题 |
| `suspense` | 【悬念】埋着没解的线 |
## 硬规则
- 落在你区间里的每个爽点(`beats[].episode`),对应那一集的梗概必须真的把 setup/payoff 演出来——爽点表说第 13 集打脸,第 13 集的梗概里就得有打脸
- `sceneIds` / `characterIds` 只能用骨架里登记过的 id
- 三人以上同框写 `crowdPlan`(拆解方案:机位怎么分、谁用背影和过肩带过)。校验按 `characterIds` 人数判,是代理指标——三人实际不同框的过场集,把事实写成方案即可(「三人分处两场,无同框,分场拍」),别空着
- 梗概里出现雨、拥抱、人群、手部特写这类生成难点,写进 `warnings`(枚举:雨戏 / 肢体接触 / 人群 / 手部特写)。宁可多报
- 只写你负责的区间,别越界补别人的集——合并时按 ep 排序拼接
## 批次大小
每批 ≤ 10 集。60 集一口气写,后半段一定崩——节奏塌、钩子重复、人物漂移。批与批之间靠骨架和爽点表对齐,不靠上一批的原文。
9: "params": { "episodes": 60, "minutesPerEpisode": 2, "genre": "女频逆袭", "adaptMode": "抽核", "preferences": [] },
10- "adaptation": { "core": "…", "keep": [], "cut": [], "merge": [], "risks": [] },
11- "characters": [ { "id": "C01", "name": "…", "role": "…", "arc": "…", "from": ["原著…", "合并:…"] } ],
12- "scenes": [ { "id": "S01", "name": "…", "primary": true, "reusePlan": "…" } ],
13- "beats": [ { "id": "B01", "type": "打脸", "weight": "major", "episode": 3, "setup": "…", "payoff": "…" } ],
14: "episodes": [ { "ep": 1, "synopsis": "…", "hook": "…", "suspense": "…", "sceneIds": ["S01"], "characterIds": ["C01"], "propIds": ["P01"], "crowdPlan": "…", "warnings": [] } ]
15-}
16-```
17-
18-## params
19-
20-| 字段 | 必填 | 说明 |
21-| --- | --- | --- |
22:| `episodes` | 是 | 总集数,正整数。分集数量必须与它一致 |
23-| `minutesPerEpisode` | 是 | 单集时长(分钟) |
24-| `genre` | 是 | 题材,**决定爽点类型**,不许缺。投放平台的差异不单设字段,直接体现在 `thresholds` 上 |
25-| `adaptMode` | 是 | `忠实` / `抽核` / `借壳`,只能这三个 |
26-| `preferences` | 否 | 用户点名要保的角色、戏 |
27-| `thresholds` | 否 | 逐项覆盖质量门阈值:`maxLeads`(5) / `maxSupport`(10) / `maxFunctional`(10) / `maxBeatGap`(3) / `maxPrimaryScenes`(缺省不是常数,**随集数动态**:4 + ⌈集数/10⌉ 夹在 5–15,60 集 → 10。按 AI 短剧定的——场景是生成的,上限守的是一致性资产不是搭景钱)。短篇建议收紧角色档 |
28-
29-## adaptation 改编说明
30-
31-`core` 一句话核心,必填。`keep` / `cut` / `merge` 每条 `{what, why}`,`keep` 至少一条;**`adaptMode` 不是忠实时 `cut` 不能为空**。`keep` 可带 `evidence`——**原文逐字片段**,禁止凭书名脑补的对策就在这:关键取舍要能指回原文。`risks` 每条 `{what, plan}`。
32-
33-两个可选的**决策补注**,报告的「关键决策」区块会展示:
34-
35-- `cutNote` — 砍线的结论句(「这意味着:全剧终点是……原著后 30 章基本不用」这种),说清砍完之后故事的终点变成了什么
36-- `mergeNote` — 合人的补注,通常写主角组入选理由(谁有完整转变弧)
37-
38-给了就不能是空字符串,`validate` 会拦。大爆点落点列表**不用写**——报告从 `beats` 里自动算。
39-
40-## characters 人物表
41-
42-每个字段都以校验器为准,一个不多一个不少:
43-
44-| 字段 | 必填 | 说明 |
45-| --- | --- | --- |
46-| `id` | 是 | `C01` 格式,全局唯一,分集靠它引用 |
47-| `name` | 是 | 姓名;功能性角色用称呼标签(「急诊医生」) |
48-| `role` | 是 | 定位一句话:女主 / 搅局配角 / 渡口的报时人…… |
49-| `tier` | 是 | 三档之一,见下表 |
50-| `arc` | lead / support 必填 | 人物弧;functional 可省——医生就是来缝针的 |
51-| `from` | 是 | **← 改动记录**,非空数组:原著对应谁、合并了谁、纯原创写 `["原创"]` |
52-
53-- `tier` 只能三档——一刀切的角色上限混淆了「观众要记住谁」和「制作要维护多少张脸」,分档把它拆开:
54-
55- | tier | 是谁 | 上限 | 规则 |
56- | --- | --- | --- | --- |
57- | `lead` | 主角组(男女主 + 主反派) | 1–5 人 | `arc` 必填 |
58- | `support` | 有名字的重要配角(亲属、闺蜜、副反派) | ≤ 10 | `arc` 必填 |
59- | `functional` | 功能性角色(医生、秘书、店员) | ≤ 10 | **占脸不占名**:`name` 用称呼标签(「急诊医生」);`arc` 可省——医生就是来缝针的 |
60-
61- 无名背景人不进表、不追踪、不限量。
62-
--
77:- 分集用 `episodes[].propIds` 引用。**没有任何一集引用的道具会被 `refs` 门点名**——跟失业角色、空转场景同一个判据
78-
79-边界:尺度、锚点、状态变体、白底提示词都是 `novel-art` 的活,不在这里定。这张表回答「哪几件物件承载剧情、各自承载什么」,美术层回答「它长什么样、怎么保证六集都长一样」。
80-
81-## beats 爽点表
82-
83-- `id` 格式 `B01`;`type` 自由文本(打脸/揭破/反转…);`weight` 只能 `major` / `minor`(缺省算 minor)
84-- `episode` 是**唯一数据源**——分集不再列 beatIds,节奏条和资产清单都从这里算
85-- 硬规则:相邻爽点间隔 ≤ `maxBeatGap`,开头结尾无真空;**至少一个 major,且最早的 major 不能落在最后一集**
86-
87:## episodes 分集梗概
88-
89:- `ep` 从 1 连续编号,总数等于 `params.episodes`
90-- `synopsis` / `hook` / `suspense` 三栏**都必填**——【钩子】【悬念】空了视为未完成
91-- **叙述体**:三栏里出现 `「」『』“”` 引号对白就是在写剧本,越界,validate 会拦
92-- `sceneIds` / `characterIds` 必填且必须指向已登记的 id;每个角色至少出现一集、每个场景至少用一次
93-- `propIds` 可选(写了 `props` 才有意义),必须指向已登记的道具 id;每件道具至少出现一集
94-- `characterIds` ≥ 3 的集必须写 `crowdPlan`(同框拆解方案)。**校验按人数判,是代理指标**——如果这一集三人实际不同框(分处不同场次),把这个事实写成方案即可:「三人分处两场,无同框,分场拍」,照样通过
95-- `warnings`:梗概里扫到生成难点关键词(雨戏/肢体接触/人群/手部特写)就必须列进来,宁可多报
96-
97-## 校验
98-
99-```bash
100-node scripts/novel-outline.mjs validate outline.json --stage skeleton|beats|full
101-node scripts/novel-outline.mjs checkup outline.json # 只打印 14 道质量门 ✓/✗
102-```
103-
104-stage 就是流程门:骨架拍板前过 `skeleton`,**写分集之前必须过 `beats`**(爽点间隔和 major 时机错了,分集写完全废),交付前过 `full`。
ep-plan.md
outline.json
故事底本.md子 agent Bash Extract outline info and ep-plan structure
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cd $W/work; node -e '
const o=require("./outline.json");
console.log(JSON.stringify(o.characters.map(c=>[c.id,c.name,c.tier,c.role])));
console.log(JSON.stringify(o.scenes.map(c=>[c.id,c.name])));
console.log(JSON.stringify((o.props||[]).map(c=>[c.id,c.name,c.function||c.role||""])));
console.log(JSON.stringify(o.beats.filter(b=>b.episode>=49&&b.episode<=61),null,1));
'; grep -n '' ep-plan.md | head -30; grep -n -E '第?\s*(4[89]|5[0-9]|60)\s*集|^\|?\s*(4[89]|5[0-9]|60)\b|EP ?(4[89]|5[0-9]|60)' ep-plan.md | head -40返回
[["C01","苏念","lead","女主·苏记点心铺第三代传人"],["C02","顾承宴","lead","男主·顾氏集团总裁,隐藏身份闪婚"],["C03","苏晴","lead","前期主反派·苏念的继妹"],["C04","顾远山","lead","幕后主反派·顾承宴的二叔"],["C05","周子昂","support","渣前任·周家少爷"],["C06","刘美琴","support","继母"],["C07","苏建国","support","苏念的父亲"],["C08","顾老夫人","support","顾承宴的奶奶,CP 头号助攻"],["C09","陈默","support","顾承宴的特助,马甲维护员"],["C10","唐果","support","苏念的闺蜜,美食博主"],["C11","林薇薇","support","情敌·顾家世交千金"],["C12","民政局工作人员","functional","见证闪婚与离婚预约"],["C13","主治医生","functional","奶奶与顾承宴的医生"],["C14","酒店经理","functional","顾氏旗下酒店经理,马甲温度计"],["C15","拆迁办经理","functional","二叔的强拆执行人"],["C16","大赛评委","functional","美食大赛主评委,被二叔收买又倒戈"],["C17","记者","functional","发布会与赛场的媒体"],["C18","当年绑匪","functional","十五年前被二叔雇用的绑匪,关键证人"],["C19","律师","functional","顾承宴的律师,处理遗嘱、伪签与报案"]]
[["S01","民政局"],["S02","苏记点心铺"],["S03","小两居(顾承宴租的伪装公寓)"],["S04","顾氏集团总部(总裁办 / 会议室)"],["S05","顾家老宅"],["S06","苏家客厅"],["S07","医院病房"],["S08","酒店宴会厅"],["S09","老街"],["S10","美食大赛演播厅"],["S11","废弃仓库"]]
[["P01","结婚证","闪婚的凭证,苏念对抗情敌、撑场面的底牌"],["P02","婚前协议","一年契约、互不动心的条款,感情线的计时器,结局被撕"],["P03","外婆的铁皮点心盒","装着遗嘱、桂花糕秘方和十五年前的旧照片,护铺、夺冠、揭旧案三段的钥匙"],["P04","顾家传家玉镯","奶奶认孙媳的信物,寿宴上被设局栽赃"],["P05","录音笔","苏晴倒戈交出的二叔罪证,终局翻盘的证据"],["P06","拆迁合同","伪造顾承宴签名的强拆文件,误会的源头也是二叔伪签的铁证"],["P07","苏记老招牌","铺子的魂,被摘被砸又被挂回,婚礼时挂在老街正中"]]
[
{
"id": "B26",
"type": "危机",
"weight": "minor",
"episode": 50,
"setup": "苏念在民政局等不到人",
"payoff": "电话打来:顾承宴的车刹车失灵,正在抢救"
},
{
"id": "B27",
"type": "将计就计",
"weight": "minor",
"episode": 52,
"setup": "二叔以为顾承宴昏迷,接管集团",
"payoff": "顾承宴醒来与苏念联手装病,引二叔现形"
},
{
"id": "B28",
"type": "寻证",
"weight": "minor",
"episode": 54,
"setup": "当年绑匪下落不明",
"payoff": "陈默找到当年绑匪,对方愿意作证"
},
{
"id": "B29",
"type": "揭破",
"weight": "major",
"episode": 56,
"setup": "二叔把苏念绑进仓库逼要录音笔",
"payoff": "顾承宴带警察赶到,录音与绑匪证词齐出,二叔落网"
},
{
"id": "B30",
"type": "撒糖求婚",
"weight": "major",
"episode": 58,
"setup": "协议到期那天,苏念拿出婚前协议",
"payoff": "顾承宴当面撕掉协议,用一盒桂花糕重新求婚"
},
{
"id": "B31",
"type": "圆满",
"weight": "minor",
"episode": 60,
"setup": "老街保住,苏记招牌重新挂起",
"payoff": "老街补办婚礼,一年后苏记开了第二家店"
}
]
1:# 逐集规划(分集子代理的对齐基准)
2:
3:单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。
4:场景 ID:S01 民政局 / S02 苏记点心铺 / S03 小两居 / S04 顾氏总部 / S05 顾家老宅 / S06 苏家客厅 / S07 医院病房 / S08 酒店宴会厅 / S09 老街 / S10 美食大赛演播厅 / S11 废弃仓库
5:马甲规则:第 1–19 集苏念不知道顾承宴是总裁;她以为他是顾氏普通项目经理(同姓是巧合,他说顾姓在本市很常见)。第 20 集集尾掉马。第 21 集起她知道。奶奶在第 1–15 集住院(S07),第 17 集出院回老宅,第 18 集寿宴前苏念不去老宅(避免掉马)。
6:
7:## 第一幕 闪婚(1–10)
8:1. S01。苏念在民政局门口等周子昂领证。周子昂搂着苏晴来,苏晴说怀孕了,周子昂当众退婚,嘲笑苏记那破店不值他一块表。长椅上顾承宴刚挂掉奶奶电话(今天不结婚就不做手术)。苏念转身问他结不结婚,他答应。领证【B01】。集尾:两人拿着结婚证(P01)走出来,周子昂嗤笑一个打工的;顾承宴手机亮起,来电备注「奶奶·手术室」。
9:2. S03。顾承宴自称顾氏项目经理,拿出婚前协议(P02):一年、互不干涉、互不动心。苏念签字。陈默连夜租好的小两居漏洞百出(总裁不会用燃气灶)。苏念发现他胃病,煮了一碗面,他尝出了味道,愣住。集尾:他说明天带她去医院见奶奶,奶奶要验货。
10:3. S02。继母刘美琴带苏晴上门收铺,说苏建国已把铺子抵给周家。苏念打开外婆的铁皮点心盒(P03)亮出公证遗嘱,铺子直接留给她【B02】。继母灰溜溜走。集尾:苏晴在门外打电话,说老街要拆,看她能守几天。
11:4. S07。苏念带桂花糕见奶奶。奶奶尝一口愣住,把传家玉镯(P04)戴到她手上,同意手术【B03】。主治医生推奶奶进手术室。集尾:奶奶对顾承宴低声说了一句,这丫头,是不是当年那家的。顾承宴没回答。
12:5. S03。同居日常:一张床一条地铺,半夜他胃痛,她起来熬粥。陈默送文件差点喊顾总,改口顾哥。集尾:苏念收到唐果消息,铺子出事了。
13:6. S09 + S02。苏记门口被泼红漆,老招牌(P07)被拆迁办经理带的人摘下。顾承宴赶到,录像取证报警,人跑了,他亲手把招牌挂回去【B04】。集尾:苏晴躲在街角拍下他上了一辆挂顾氏车牌的车。
14:7. S06。苏建国生日,苏念带顾承宴回家。继母和苏晴嘲讽他送的茶叶罐寒酸,周子昂炫耀名表。苏建国一闻,认出是有价无市的母树茶【B05】。集尾:苏晴宣布下周和周子昂订婚,请苏念来做点心,看看什么叫豪门。
15:8. S02。苏晴下订婚宴点心大单,要求苏念到场现场演示,摆明要羞辱她。唐果劝她别接,苏念接了。顾承宴看了一眼订单上的酒店名——顾氏旗下。集尾:苏晴对周子昂说,戒指的事都安排好了。
16:9. S08。订婚宴。苏晴的钻戒不见了,栽赃苏念偷,宾客围观。顾承宴进场,酒店经理对他弯腰称先生,当场调监控:戒指是苏晴自己塞进点心盒的【B06 major】。苏晴当众出丑。集尾:周子昂盯着酒店经理对顾承宴的态度,起了疑心。
17:10. S07 + S02。奶奶术后醒来,拉着苏念的手。苏念回到铺子,拆迁办经理贴出强拆通知,三天后拆,盖顾氏集团公章、落款总裁签名(P06)。苏念攥着通知说:我倒要看看这个顾总是什么人。【付费卡点】集尾:身后的顾承宴看清签名,脸色骤变——那不是他签的。
18:
19:## 第二幕 升温与掉马(11–20)
20:11. S04。顾承宴回总部,查出是二叔顾远山伪签批的拆迁,当场叫停【B07】。二叔笑着认错说是下面人弄错了。集尾:二叔关门后打电话:那个点心铺,必须拆。
21:12. S02 + S09。拆迁办经理带人来又接电话撤走,苏念以为是街坊联名起了作用。顾承宴帮她做桂花糕,面粉糊了一脸,唐果在旁边越看越怀疑他不像打工的。集尾:门口进来一个穿高定的女人,要一盒桂花糕,送给她未婚夫顾承宴。
22:13. S02。林薇薇自称顾承宴未婚妻,说两家早有婚约,嘲讽苏念配不上。苏念亮出结婚证(P01)【B08】,林薇薇哑火。集尾:林薇薇出门给苏晴打电话,两人结盟。
23:14. S03。苏念吃醋质问,顾承宴解释婚约是长辈戏言。停电,黑暗中意外初吻【B09】。集尾:来电后苏念看着协议(P02)上互不动心那一条,把协议塞进抽屉最底层。
24:15. S07 + S02。奶奶出院前把苏念叫到病房,说寿宴要她来。苏念回铺子,林薇薇派人订了一千个点心又临时取消,想拖垮她。集尾:苏晴在铺子后门偷看外婆的铁皮盒放在哪。
25:16. S04。苏念给顾承宴送饭到顾氏大楼,前台(林薇薇的人)把她当蹭饭的赶出去。顾承宴下楼当众牵她进电梯【B10】,电梯门关前他按的是顶楼,他说是去天台吃饭。集尾:二叔站在走廊尽头,看着他们的背影。
26:17. S05 + S03。奶奶出院回顾家老宅,二叔来探望,提起老街项目,奶奶冷脸。顾承宴回小两居,决定寿宴那天向苏念坦白。集尾:他写好的坦白信被风吹到地上,压在了苏念的鞋下,她没看见。
27:18. S08。奶奶寿宴,苏念以孙媳妇身份到场,戴着玉镯(P04)。林薇薇和苏晴假意亲近,把她引到人少的休息区。集尾:一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝。
28:19. S08。宾客围观指责,林薇薇要求顾家把苏念赶出去。奶奶亮出手上的真镯——寿宴前她怕人使坏,早换了位置;碎的是苏晴准备的假货。酒店经理调出监控【B11 major】。林薇薇苏晴当众出丑。集尾:主持人敲话筒:下面有请顾氏集团总裁致辞。
29:20. S08。苏念回头,走上台的是她的契约丈夫。全场起立叫顾总【B12 major】。她手里的蛋糕掉在地上。台上的顾承宴看着她。【付费卡点】集尾:苏念转身就走,顾承宴扔下话筒追出去,宴会厅门在他面前关上。
30:
3:单集 1.5 分钟(90 秒)。付费卡点:第 10 / 20 / 30 / 40 / 50 集——这五集集尾必须是全剧级强悬念,`hook` 字段以「【付费卡点】」开头。
63:48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。
64:49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。
65:50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。
68:51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。
69:52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。
70:53. S04。二叔接管顾氏,第一道命令就是一周内强拆老街。林薇薇重新投靠。集尾:二叔在办公室对着空气说,大哥家的种,这次一个都不留。
71:54. S09 + S02。陈默在老街找到当年绑匪,如今是个瘸腿的修鞋匠,一直躲着。苏念用外婆的桂花糕打动他——当年外婆也给过他一块。他愿意作证【B28】。集尾:修鞋摊对面停着一辆车,车窗摇下,是二叔的人。
72:55. S09 + S11。苏念送证人去警局的路上被二叔的人截走,带进城郊废弃仓库。二叔逼她交出录音笔。集尾:二叔说,十五年前我在那间铺子门口跟丢了一个孩子,今天不会了。
73:56. S11。苏念拖时间,录音笔其实一直开着录音。顾承宴带警察和陈默赶到,当年绑匪当面指认,录音与证词齐出,二叔落网【B29 major】。顾承宴把苏念护在身后。集尾:二叔被押走时回头说,你们以为林家就干净吗。
74:57. S08。顾氏召开发布会,顾承宴复出澄清一切,林薇薇涉案被带走,周家破产,刘美琴被苏建国离婚出门。苏晴发来短信,说她要离开这座城市重新开始。集尾:记者问苏念与顾总是不是契约婚姻,台上顾承宴看着她,没有回答。
75:58. S02。协议到期那天,苏念拿出婚前协议(P02)放在柜台上。顾承宴当面撕掉,掏出一盒自己做的桂花糕,单膝跪下重新求婚【B30 major】。集尾:她咬了一口说太甜了,然后说好。
76:59. S05 + S09。奶奶在老宅给两人准备婚礼,坚持要在老街办。老街街坊一起挂灯笼,苏记老招牌(P07)重新刷漆。集尾:婚礼前夜,苏念收到一个匿名包裹,打开是外婆年轻时的照片和一封信。
77:60. S09 + S01。信是苏晴寄来的,她在老家找到了外婆当年的手写菜谱,物归原主。老街婚礼,苏记招牌挂在街心【B31】。尾声一年后,两人又走进民政局门口,这次是来补拍结婚照,她发间别着那支桂花发夹。集尾:顾承宴低声问,下一个周年想要什么,苏念把他的手放在自己小腹上。子 agent 思考
子 agent 思考
子 agent Read ./work/ep-plan.md
输入
{
"file_path": "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/ep-plan.md",
"offset": 30,
"limit": 40
}返回
30 31 ## 第三幕 冷战、追妻、栽赃(21–30) 32 21. S09 + S03。苏念在老街夜里一个人走,顾承宴追上解释,她甩开手。回到小两居收拾行李。集尾:她从他抽屉里翻出那张拆迁通知复印件——总裁签名,和结婚证上的签名一模一样。 33 22. S02。苏念搬回铺子住,认定他闪婚就是为了骗铺子。顾承宴每天来铺子门口站着,她不开门。陈默来解释被扫帚赶走。集尾:苏晴在铺子外看着这一幕,笑着给二叔发消息。 34 23. S02。顾承宴带律师来,当面做笔迹鉴定:拆迁合同(P06)上的签名是伪造的【B13】,他是被冒名。苏念动摇,问是谁。集尾:顾承宴说出二叔两个字,苏念想起外婆生前提过的某个人,却没想起来。 35 24. S06。苏建国来铺子劝女儿,被刘美琴拽回家吵架;刘美琴得知女婿是顾总,转头逼苏念回顾家,想沾光。苏念当场拒绝。集尾:刘美琴转身联系林薇薇,要卖苏念的消息。 36 25. S02 + S09。顾承宴在铺子门口支了个小桌,学做桂花糕,做坏了十几屉,引街坊围观。苏念心软,出来尝一口,说太甜了,又说回家吧【B14】。集尾:两人回家路上,一辆车远远跟着。 37 26. S03。和好后的甜:他第一次正式下厨,她教他。他说协议的事可以重新谈,她装没听见,耳朵红了。集尾:周子昂堵在小区门口,手里拿着苏晴的孕检单——是假的。 38 27. S09。周子昂发现苏晴假怀孕骗他,回头纠缠苏念说自己被骗、要复合。顾承宴下车,一个电话终止周家公司所有顾氏分包【B15】。周子昂当场跪下求饶。集尾:周子昂被拖走前喊:你以为苏晴是一个人在搞你们吗。 39 28. S02。苏记早上开门,几位客人吃完点心上吐下泻送医,卫生局来封店,网上骂声一片,苏念被网暴。集尾:苏念在后厨发现一包不属于她的添加剂。 40 29. S02 + S07。唐果翻出铺子门口的监控,凌晨有人撬后门进来,是拆迁办经理。唐果开直播放出监控,医院化验也证明是外来添加剂【B16 major】。苏记解封,舆论反转。集尾:拆迁办经理被抓前一直看着同一个方向——二叔的车。 41 30. S10 + S02。全市美食大赛开始报名。苏念回铺子,发现铁皮盒(P03)被撬过,秘方原件不见了。电视里,苏晴作为选手代表接受采访,说要用她的独家桂花糕秘方参赛。【付费卡点】集尾:苏晴对着镜头笑:这个方子,是我外婆传下来的。 42 43 ## 第四幕 美食大赛(31–40) 44 31. S02 + S04。苏念决定参赛,唐果当助手。顾承宴想动用关系,她拒绝,要堂堂正正赢。二叔在办公室把一叠钱推给大赛评委。集尾:评委收下钱,问那个苏念要怎么处理。 45 32. S10。海选,苏晴当众嘲笑苏念的手工点心土气。苏念以海选第一晋级,苏晴压线【B17】。集尾:林薇薇以赞助商身份坐上评委席旁边。 46 33. S03 + S02。备赛的夜,顾承宴陪她练到凌晨,她靠着他睡着。他把外套盖在她身上。集尾:铺子的监控画面里,有人在夜里溜进了原料间。 47 34. S10。复赛,评委故意刁难苏念的点心外形,林薇薇带头起哄。苏念用一道外婆的老式花样说服另外两位评委,勉强晋级。集尾:半决赛前夜,原料被调包,她的糯米粉换成了普通面粉。 48 35. S10。半决赛,苏念打开原料才发现被换,临场改做外婆的老式酥饼,反超晋级【B18】。集尾:苏晴冲着林薇薇吼:不是说一定能拦住她吗。 49 36. S04 + S03。顾承宴查到评委被收买,想直接揭发。苏念说留到决赛当着全场揭。两人第一次像搭档一样定计划。集尾:二叔在董事会提出顾承宴利用赞助为妻子开后门,要他回避。 50 37. S10。决赛预热,评委当众质疑苏念走后门。顾承宴当场宣布顾氏退出赞助、本人回避,只坐观众席为她鼓掌【B19】。记者疯狂拍照。集尾:苏晴在后台翻开偷来的秘方,最后一页是空白的。 51 38. S10。决赛第一轮,苏晴照着秘方做桂花糕,颜值很高。苏念不慌,做的是一模一样的桂花糕。评委打分苏晴领先。集尾:苏念说,桂花糕还差最后一步,你知道是什么吗。 52 39. S10。决赛终轮,苏念做出外婆的最后一步(秘方原件上没写,只在她手里),苏晴的糕放凉就塌了。苏念夺冠,记者面前评委崩溃承认收钱【B20 major】。苏晴被取消资格。集尾:苏晴被拖下台前喊,是二爷让我偷的。 53 40. S02。夺冠当晚,苏念整理铁皮盒,发现盒底有夹层。夹层里一张旧照片:小时候的她牵着一个满脸是伤的少年【B21】。【付费卡点】集尾:照片背面是外婆的字——那天追来的人,叫他二爷。 54 55 ## 第五幕 旧案与契约到期(41–50) 56 41. S03。苏念拿着照片回家,顾承宴不在。她在他书房看到同一个少年的照片。集尾:顾承宴推门进来,看见她手里的两张照片。 57 42. S03。顾承宴承认自己就是那个少年,十四岁被绑架逃出来躲进苏记,那块桂花糕是他十五年里尝到的唯一甜味【B22】。民政局那天他就认出了她发间的桂花发夹。集尾:苏念问那天追来的二爷,是不是二叔。 58 43. S05。顾承宴带苏念回老宅见奶奶,奶奶证实当年报案时绑匪提过二爷。二叔进门,看见苏念手里的照片,笑容僵了一秒。集尾:二叔离开后打电话给林薇薇:明天的董事会,提前。 59 44. S04。董事会,二叔联合林薇薇家股份发难,要罢免顾承宴。苏念闯进会议室,带着律师送上拆迁合同伪签鉴定和项目资金流向【B23 major】。二叔被停职,林薇薇家撤股。集尾:二叔走出会议室,对苏念说:小姑娘,你外婆当年也是这么不知死活。 60 45. S07 + S02。苏建国住院,苏念去看,父亲终于向她道歉,说要和刘美琴离婚。集尾:苏念回铺子,苏晴浑身湿透站在门口。 61 46. S02。苏晴被二叔和周子昂一起抛弃,走投无路。她把一支录音笔(P05)交给苏念:里面是二叔让她偷秘方、说要让那铺子和老太太一样消失的录音【B24】。集尾:苏念问老太太是什么意思,苏晴说,他提到你外婆的死。 62 47. S03。苏念把录音笔交给顾承宴,两人决定先藏起来,等找到当年绑匪一起出手。契约一周年将近,两人都想开口又都没说。集尾:苏念在日历上圈出协议到期日——后天。 63 48. S03 + S04。协议到期前夜,苏念给顾承宴送夜宵到公司,在门外听见他对陈默说,协议到期就结束,一天都不能多。她没进去,回家收拾行李【B25】。集尾:她给他发消息:明早九点,民政局,把手续办了。 64 49. S01。苏念在民政局等,顾承宴没来。民政局工作人员认出她是一年前闪婚的那位,问要不要再等等。集尾:手机响了,是陈默。 65 50. S01 + S07。陈默说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救【B26】。苏念赶到医院,从陈默手里接过顾承宴车上的东西:一个戒指盒和一张新婚书——他说的结束,是结束契约、重新求婚。【付费卡点】集尾:手术室门开,主治医生说,病人可能醒不过来了。 66 67 ## 第六幕 终局(51–60) 68 51. S07。苏念守在病床前,第一次说出喜欢他。二叔带着花来探望,假意关心,说集团不能一日无主。集尾:二叔走后,病床上顾承宴的手指动了。 69 52. S07。顾承宴醒来,和苏念、陈默定计:对外宣布他昏迷不醒,引二叔接管集团露出马脚【B27】。集尾:主治医生按计划对记者宣布病人陷入深度昏迷。
子 agent 思考
子 agent Bash Write episodes 1-10 JSON and validate
输入
mkdir -p $TMPDIR/w && cat > $TMPDIR/w/gen.mjs <<'EOF'
import fs from 'fs';
const W = process.argv[2];
const eps = [
{ep:1,
synopsis:'苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记那间破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问这个陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。',
hook:'刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?',
suspense:'顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。',
sceneIds:['S01'],characterIds:['C01','C05','C03','C02','C12'],propIds:['P01'],
crowdPlan:'分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。',
warnings:['肢体接触','人群','手部特写']},
{ep:2,
synopsis:'小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。',
hook:'他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?',
suspense:'顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。',
sceneIds:['S03'],characterIds:['C02','C01'],propIds:['P02'],
crowdPlan:'',
warnings:['手部特写']},
{ep:3,
synopsis:'继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。',
hook:'苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?',
suspense:'老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。',
sceneIds:['S02'],characterIds:['C06','C03','C01'],propIds:['P03'],
crowdPlan:'一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。',
warnings:['手部特写','肢体接触']},
{ep:4,
synopsis:'苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。',
hook:'奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?',
suspense:'奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。',
sceneIds:['S07'],characterIds:['C01','C02','C08','C13'],propIds:['P04'],
crowdPlan:'分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。',
warnings:['肢体接触','手部特写']},
{ep:5,
synopsis:'同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。',
hook:'苏念收到唐果的消息,铺子出事了,出了什么事?',
suspense:'陈默那声没喊完的称呼;顾承宴的胃病和味觉之谜。',
sceneIds:['S03'],characterIds:['C01','C02','C09'],propIds:[],
crowdPlan:'夜戏只有苏念顾承宴两人。白天送文件段三人同场:陈默门口正面,顾承宴侧身过肩,苏念在厨房后景背影;顾承宴瞪陈默为单人反打补拍。',
warnings:['手部特写']},
{ep:6,
synopsis:'苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。',
hook:'苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么?',
suspense:'拆迁办经理背后是谁指使;一个项目经理为何坐顾氏的车。',
sceneIds:['S09','S02'],characterIds:['C15','C01','C02','C03'],propIds:['P07'],
crowdPlan:'分三场拍。闹事段:拆迁办经理正面,混混与围观街坊只给背影和远景;苏念被推开用剪辑带过。护妻段:顾承宴正面举手机,苏念过肩。挂招牌段:两人双人中景。集尾苏晴街角单独拍,顾承宴上车只拍背影远景。',
warnings:['人群','肢体接触','手部特写']},
{ep:7,
synopsis:'苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。',
hook:'苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局?',
suspense:'一个打工的哪来的母树茶;苏晴订婚宴上的算计。',
sceneIds:['S06'],characterIds:['C07','C06','C03','C05','C01','C02'],propIds:[],
crowdPlan:'六人分组拍,任何镜头正面不超过三人。苏念顾承宴一组并肩正面;刘美琴苏晴周子昂一组对面,嘲讽时轮流单人近景,其余以过肩带过。苏建国揭罐闻茶单人中景加茶罐手部特写;名表单独手部特写。全家反应用一个远景收。',
warnings:['手部特写']},
{ep:8,
synopsis:'苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。',
hook:'苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么?',
suspense:'订婚宴上针对苏念的陷阱;顾承宴在顾氏酒店的身份会不会暴露。',
sceneIds:['S02'],characterIds:['C03','C10','C01','C02','C05'],propIds:[],
crowdPlan:'分三段拍。下单段:苏晴与苏念隔柜台正反打。劝说段:唐果与苏念双人,顾承宴后景接订单只拍手部与侧脸。集尾门外段:苏晴与周子昂双人单独拍,铺内无人入画。',
warnings:['手部特写']},
{ep:9,
synopsis:'订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。',
hook:'周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么?',
suspense:'酒店经理为何对一个打工的毕恭毕敬;周子昂的怀疑。',
sceneIds:['S08'],characterIds:['C03','C05','C01','C02','C14'],propIds:[],
crowdPlan:'分四段拍。栽赃段:苏晴正面指认,苏念单人反打,宾客只给背影与虚焦远景。进场段:顾承宴正面走入,酒店经理弯腰为过肩。监控段:屏幕插入画面加众人反应用剪辑带过。离场段:顾承宴苏念牵手背影,周子昂前景过肩盯视。',
warnings:['人群','手部特写','肢体接触']},
{ep:10,
synopsis:'奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。',
hook:'【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记?',
suspense:'伪签拆迁通知的幕后人;苏念对顾总的恨意与顾承宴的真实身份正面相撞。',
sceneIds:['S07','S02'],characterIds:['C08','C01','C02','C15'],propIds:['P06'],
crowdPlan:'分两场拍。病房场:奶奶与苏念双人,牵手特写,顾承宴不入画。铺子场:拆迁办经理贴通知只拍侧背与手部,围观街坊远景背影;苏念正面攥通知,顾承宴在她身后虚焦,再切签名特写与他单人近景反应。',
warnings:['肢体接触','手部特写','人群'],
paywall:true}
];
fs.writeFileSync(W+'/work/eps-01.json', JSON.stringify(eps,null,2));
EOF
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
node $TMPDIR/w/gen.mjs $W && node -e '
const a=JSON.parse(require("fs").readFileSync(process.argv[1]+"/work/eps-01.json","utf8"));
const o=JSON.parse(require("fs").readFileSync(process.argv[1]+"/work/outline.json","utf8"));
const C=new Set(o.characters.map(c=>c.id)),S=new Set(o.scenes.map(c=>c.id)),P=new Set(o.props.map(c=>c.id));
console.log(Array.isArray(a), a.map(e=>e.ep).join(","));
for(const e of a){const t=JSON.stringify(e);const q=/[「」『』“”"\x27]/.test(e.synopsis+e.hook+e.suspense+e.crowdPlan);
console.log(e.ep,[...e.synopsis].length,q,e.characterIds.every(x=>C.has(x)),e.sceneIds.every(x=>S.has(x)),e.propIds.every(x=>P.has(x)),e.characterIds.length>=3?!!e.crowdPlan:"-")}' $W返回
true 1,2,3,4,5,6,7,8,9,10 1 152 false true true true true 2 136 false true true true - 3 131 false true true true true 4 121 false true true true true 5 121 false true true true true 6 117 false true true true true 7 119 false true true true true 8 115 false true true true true 9 128 false true true true true 10 120 false true true true true
子 agent 思考
子 agent Bash Trim ep1 synopsis and revalidate
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2
sed -i '' -e 's/嘲笑苏记那间破店/嘲笑苏记破店/' -e 's/苏念转身问这个陌生人结不结婚/苏念转身问陌生人结不结婚/' -e "s/crowdPlan:'',/crowdPlan:'两人戏,无三人同框,一场拍完。',/" $TMPDIR/w/gen.mjs
node $TMPDIR/w/gen.mjs $W && node -e 'const a=JSON.parse(require("fs").readFileSync(process.argv[1]+"/work/eps-01.json","utf8"));console.log(a.length,a.map(e=>[...e.synopsis].length).join(","),a[1].crowdPlan,a[9].paywall)' $W返回
10 148,136,131,121,121,117,119,115,128,120 两人戏,无三人同框,一场拍完。 true
done 1
后台子 agent「done 1」结束
Write ./人物小传.md
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/人物小传.md
# 《闪婚老公藏不住了》主要人物小传
> 竖屏短剧 · 60 集 × 1.5 分钟 · 女频先婚后爱甜宠(身份马甲 + 打脸)
> 一句话故事:被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。
人物分档与编号同大纲(`闪婚老公藏不住了-outline.json`):主角组 4 人、重要配角 7 人、功能性角色 8 人。
---
## 主角组
### 苏念(C01)· 女主
**25 岁|老街「苏记点心铺」第三代传人**
- **外形**:个子不高,圆脸杏眼,长发常用一支旧桂花发夹别在脑后。总穿洗得发白的围裙,手腕上沾着面粉。笑起来有个梨涡,生气时下巴抬得很高。
- **出身**:母亲在她六岁时病逝,父亲苏建国再娶,继母刘美琴带着女儿苏晴进门。她跟外婆在点心铺长大,十岁那年和外婆一起救过一个满脸是伤的少年,后来记不清他的样子。外婆三年前去世,用一份公证遗嘱把铺子直接留给她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。
- **性格**:手巧,嘴不饶人,心软。受了委屈先把背挺直,回到后厨才哭。认死理,谁碰铺子她跟谁拼。
- **核心欲望**:守住苏记。铺子在,外婆就还在。
- **软肋**:怕被抛弃,所以先用契约把心锁起来。
- **说话方式**:干脆,短句,带点市井的俏皮;生气时会叫对方全名。
- **人物弧**:被退婚后赌气闪婚 → 守着协议不敢动心 → 掉马后冷战,认定自己被骗 → 查清伪签,与他并肩 → 美食大赛凭外婆的手艺夺冠 → 揭开十五年前的旧案,亲手把二叔送进去 → 主动握住这段婚姻。
- **关键戏**:第 1 集民政局拉人闪婚;第 3 集亮遗嘱;第 20 集掉马时蛋糕落地;第 39 集决赛最后一步;第 56 集仓库里开着录音笔拖时间;第 58 集被求婚。
### 顾承宴(C02)· 男主
**29 岁|顾氏集团总裁,闪婚后假扮顾氏普通项目经理**
- **外形**:一米八七,冷白皮,眉骨高,不笑时很凶。总裁时穿深色西装;扮打工人时穿灰色卫衣,袖口挽到手肘。
- **出身**:顾家大房独子,父母早逝,由奶奶带大。十四岁被绑架,从绑匪手里逃出来,躲进老街一间点心铺。一个老太太和一个扎羊角辫的小姑娘给了他一块桂花糕。此后常年胃病,吃什么都没味道,那块桂花糕是他记忆里最后一次尝出甜。
- **性格**:冷面,话少,做事狠准;对自己人极护短。扮穷时笨拙得可爱,不会用燃气灶,不知道菜价。
- **核心欲望**:表面是让奶奶安心做手术;深层是想找回那一口甜,和那个给他甜的人。
- **秘密**:民政局那天,他认出了她发间的桂花发夹,答应闪婚并不全是巧合(第 42 集揭开)。
- **说话方式**:极简,陈述句,很少解释;对苏念会不自觉放软,偶尔冷幽默。
- **人物弧**:为奶奶应付领证的冷面总裁 → 在小两居第一次尝出味道 → 想坦白却被抢先掉马 → 在铺子门口学做桂花糕追妻 → 承认自己就是当年的少年 → 车祸后将计就计,扳倒二叔 → 撕掉婚前协议,在老街重新求婚。
- **关键戏**:第 1 集答应结婚;第 2 集尝出面的味道;第 9 集酒店经理对他弯腰;第 20 集台上致辞;第 25 集铺子门口学做糕;第 58 集撕协议求婚。
### 苏晴(C03)· 前期主反派
**23 岁|苏念的继妹,网红**
- **外形**:精致网红脸,大波浪,名牌包都是高仿,手机永远在录像。
- **出身**:刘美琴带进苏家的女儿,从小被母亲教着抢:抢姐姐的裙子、房间、未婚夫。
- **性格**:虚荣、好胜,嘴甜心狠,但胆子小,坏事做到一半会慌。
- **核心欲望**:嫁进豪门,证明自己比苏念强。
- **人物弧**:假怀孕抢走周子昂 → 订婚宴栽赃失败 → 与林薇薇结盟设玉镯局 → 投靠二叔偷秘方参赛,决赛崩盘 → 被二叔和周子昂一起抛弃,第一次站到苏念这边,交出录音笔 → 离开这座城市重新开始,寄回外婆的手写菜谱。
- **说话方式**:夹子音,爱用反问句,人前叫姐姐,人后叫她名字。
### 顾远山(C04)· 幕后主反派
**52 岁|顾承宴的二叔,顾氏集团副董事长**
- **外形**:金丝眼镜,中式立领,手里总盘一串核桃,笑眯眯。
- **出身**:顾家二房,一直不服大房掌权。十五年前买凶绑架侄子,想让大房绝后,孩子在老街一间点心铺门口跟丢了。
- **性格**:笑面虎,沉得住气,从不亲自动手。
- **核心欲望**:吞掉顾氏。
- **他的罪**:伪造顾承宴签名批老街强拆,既为吞地,也为毁掉那间可能认出当年绑匪的点心铺;收买大赛评委、指使苏晴偷秘方;董事会夺权;动顾承宴的刹车;在仓库绑走苏念。
- **人物弧**:幕后布局 → 董事会发难失败被停职 → 制造车祸后接管集团 → 仓库里重演十五年前的绑架,被录音与绑匪证词当场钉死,落网。
- **说话方式**:慢条斯理,爱讲道理,越客气越危险。
---
## 重要配角
### 周子昂(C05)· 渣前任
28 岁,周家少爷,周家公司靠顾氏的分包活着。爱炫名表。在民政局门口当众退婚,说苏记那破店不值他一块表。后来发现苏晴假怀孕,回头纠缠苏念,被顾承宴一个电话断掉所有分包,当街跪求。周家最终破产。
**人物弧**:得意退婚 → 被骗 → 回头纠缠 → 出局。
### 刘美琴(C06)· 继母
48 岁,算盘精,一心想把铺子卖掉给苏晴换嫁妆。女婿掉马后立刻变脸巴结,想沾光,被苏念当场拒绝后转头卖消息给林薇薇。最终被苏建国离婚出门。
**说话方式**:尖嗓门,句句带钱。
### 苏建国(C07)· 父亲
52 岁,老实懦弱,被妻子拿捏半辈子,对女儿心怀亏欠。懂茶,第 7 集一闻就认出顾承宴送的是有价无市的母树茶。住院后终于向女儿道歉,与刘美琴决裂。
**人物弧**:沉默旁观 → 道歉 → 护女。
### 顾老夫人(C08)· 奶奶
78 岁,慈祥精明,CP 头号助攻。以不做手术逼孙子结婚,一口吃出苏念的桂花糕是当年的味道,当场把传家玉镯戴到她手上。寿宴前提防有人使坏,早把真镯换了位置。
**说话方式**:慢,带笑,一句话就能定场。
### 陈默(C09)· 特助
30 岁,嘴碎、忠心,马甲维护员。连夜给总裁租小两居,屡次差点喊漏顾总。后段找到当年的绑匪,是扳倒二叔的关键人。
**喜剧功能**:每次救场都救得漏洞百出。
### 唐果(C10)· 闺蜜
25 岁,美食博主,嘴快心热,最早怀疑顾承宴不像打工的。苏记被栽赃食物中毒时,用直播放出监控替苏念翻案;美食大赛给苏念打下手。
### 林薇薇(C11)· 情敌
26 岁,顾家世交千金,高定傍身,自称顾承宴的未婚妻。上门挑衅被结婚证打脸,与苏晴结盟设玉镯局,以赞助商身份干预大赛,带家族股份投靠二叔。董事会失败后撤股,最终涉案被带走。
---
## 功能性角色
| 编号 | 角色 | 功能 |
| --- | --- | --- |
| C12 | 民政局工作人员 | 第 1 集见证闪婚,第 49 集认出一年前闪婚的苏念 |
| C13 | 主治医生 | 奶奶的手术、顾承宴车祸抢救、配合假昏迷 |
| C14 | 酒店经理 | 订婚宴、寿宴、发布会三场宴会厅戏,他对顾承宴的态度就是马甲的温度计 |
| C15 | 拆迁办经理 | 二叔的强拆执行人,泼漆、贴通知、投毒 |
| C16 | 大赛评委 | 被二叔收买,决赛当众崩溃承认 |
| C17 | 记者 | 大赛与发布会的媒体 |
| C18 | 当年绑匪 | 十五年前被二叔雇用,如今是瘸腿修鞋匠,当年也吃过外婆一块桂花糕,最终作证 |
| C19 | 律师 | 遗嘱、伪签鉴定、董事会证据 |
---
## 人物关系
```
顾老夫人(奶奶)
│ 逼婚 / 助攻
顾远山 ──叔侄、宿敌── 顾承宴 ══契约婚姻→真爱══ 苏念 ──闺蜜── 唐果
│ 收买/利用 │ 特助 │ 父女
├── 林薇薇(盟友) 陈默 苏建国 ══ 刘美琴(继母)
├── 苏晴(棋子→倒戈) │ 母女
└── 拆迁办经理、大赛评委、当年绑匪 苏晴 ── 周子昂(渣前任)
```
**十五年前的暗线**:顾远山雇绑匪绑走 14 岁的顾承宴 → 少年逃进苏记,外婆和 10 岁的苏念给了他一块桂花糕 → 外婆看见了追来的人,在照片背面写下:那天追来的人,叫他二爷。
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/人物小传.md (file state is current in your context — no need to Read it back)
思考
Bash Show episodes 1-4 synopses
输入
cd work && node -e 'const e=require("./eps-01.json");for(const x of e.slice(0,4))console.log(JSON.stringify(x,null,1))'返回
{
"ep": 1,
"synopsis": "苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。",
"hook": "刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?",
"suspense": "顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。",
"sceneIds": [
"S01"
],
"characterIds": [
"C01",
"C05",
"C03",
"C02",
"C12"
],
"propIds": [
"P01"
],
"crowdPlan": "分两场拍。门口退婚场:苏念正面,周子昂搂苏晴为过肩双人,排队路人虚焦背影;顾承宴只在长椅远景带过。领证场:苏念与顾承宴并排正面,民政局工作人员只给过肩手部。出门场:苏念与顾承宴正面走出,周子昂苏晴以背影入画。",
"warnings": [
"肢体接触",
"人群",
"手部特写"
]
}
{
"ep": 2,
"synopsis": "小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。",
"hook": "他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?",
"suspense": "顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。",
"sceneIds": [
"S03"
],
"characterIds": [
"C02",
"C01"
],
"propIds": [
"P02"
],
"crowdPlan": "两人戏,无三人同框,一场拍完。",
"warnings": [
"手部特写"
]
}
{
"ep": 3,
"synopsis": "继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。",
"hook": "苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?",
"suspense": "老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。",
"sceneIds": [
"S02"
],
"characterIds": [
"C06",
"C03",
"C01"
],
"propIds": [
"P03"
],
"crowdPlan": "一场拍完,三人不同时正面。苏念隔柜台正面,刘美琴与苏晴为前景过肩双人;亮遗嘱时切苏念手部与铁皮盒特写,再切母女反应正面。集尾苏晴门外打电话单独补拍。",
"warnings": [
"手部特写",
"肢体接触"
]
}
{
"ep": 4,
"synopsis": "苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。",
"hook": "奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答?",
"suspense": "奶奶口中的当年那家是谁;顾承宴是否早就认识苏念。",
"sceneIds": [
"S07"
],
"characterIds": [
"C01",
"C02",
"C08",
"C13"
],
"propIds": [
"P04"
],
"crowdPlan": "分三段拍。尝糕段:奶奶病床正面,苏念侧坐过肩,顾承宴后景虚焦。戴镯段:两人手部特写,再切苏念正面反应。推床段:主治医生只拍推床背影,奶奶与顾承宴耳语为双人近景,苏念不入画。",
"warnings": [
"肢体接触",
"手部特写"
]
}子 agent 思考
思考 1 秒
前 10 集的质量不错。趁其他批次还在写,先用这 10 集生成剧本骨架:
子 agent Write ./work/eps-31.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-31.json
[
{
"ep": 31,
"synopsis": "苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。",
"hook": "收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令?",
"suspense": "被偷走的秘方原件此刻在苏晴手里,二叔为何对一场点心比赛如此上心,评委将在赛场上如何下手。",
"sceneIds": ["S02", "S04"],
"characterIds": ["C01", "C10", "C02", "C04", "C16"],
"propIds": ["P03"],
"crowdPlan": "分两场拍无交叉:S02 铺子场苏念、唐果、顾承宴三人,苏念正面居中,唐果侧身在后厨门口,顾承宴过肩带入;S04 办公室场顾远山正面、评委背影过肩,只拍推钱与收钱的反应。",
"warnings": ["手部特写"]
},
{
"ep": 32,
"synopsis": "美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。",
"hook": "林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么?",
"suspense": "收钱的评委在海选按兵不动,林薇薇与苏晴的联手才刚开始,苏晴手里的秘方还没亮出来。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C10", "C16", "C11"],
"propIds": [],
"crowdPlan": "分三组机位:苏念与苏晴对峙用正反打,各自正面单人镜头,唐果在苏念身后虚焦;评审台一场评委正面、苏念背影过肩;林薇薇入座单独一条,评委席侧拍,选手群演只作背景虚化。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 33,
"synopsis": "备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。",
"hook": "深夜溜进苏记原料间的黑影是谁,他动了什么?",
"suspense": "协议上互不动心的条款还压在抽屉底,两人的距离越来越近却谁也没说破;苏记的原料已经被人盯上。",
"sceneIds": ["S03", "S02"],
"characterIds": ["C01", "C02"],
"propIds": [],
"crowdPlan": "两人同框,靠肩戏用双人中景加顾承宴单人特写;铺子监控画面为空景加黑影背影,不露脸,分场拍。",
"warnings": ["肢体接触"]
},
{
"ep": 34,
"synopsis": "复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。",
"hook": "半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做?",
"suspense": "调包的人与前夜溜进原料间的黑影是否同一人,评委和林薇薇的刁难还有多少后手。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C16", "C11", "C10"],
"propIds": [],
"crowdPlan": "评委刁难用评委正面加苏念背影过肩;林薇薇起哄单独拍赞助商席,观众嘘声用后排虚焦群演;苏念捏花样给手部与正脸交替;唐果台下反应单拍,四人不同时入画。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 35,
"synopsis": "半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。",
"hook": "接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招?",
"suspense": "原料调包的证据还没追查,收钱评委的票在关键时刻会投向哪边,苏晴手里的秘方要在决赛派上用场。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C10", "C16", "C03", "C11"],
"propIds": [],
"crowdPlan": "分两场:赛台场苏念正面、唐果侧身半入画,评委品尝用评委正面加酥饼特写;后台场苏晴与林薇薇双人对峙,苏晴正面、林薇薇过肩,两组人不同框。",
"warnings": ["肢体接触", "手部特写", "人群"]
},
{
"ep": 36,
"synopsis": "陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。",
"hook": "董事会逼顾承宴回避赞助,他会怎么接这一刀?",
"suspense": "二叔同时在赛场和董事会两头出手,他到底在怕苏念赢什么;决赛揭发的计划能否顺利进行。",
"sceneIds": ["S04", "S03"],
"characterIds": ["C02", "C09", "C01", "C04"],
"propIds": [],
"crowdPlan": "分三场:总裁办顾承宴正面、陈默过肩递文件;小两居苏念与顾承宴双人中景;董事会场顾远山正面发言,顾承宴侧影坐长桌另一端,其余董事背影虚化,不露脸。",
"warnings": ["手部特写", "人群"]
},
{
"ep": 37,
"synopsis": "决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。",
"hook": "秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比?",
"suspense": "外婆留下的最后一步究竟是什么,只有苏念知道;评委收钱的证据还捏在顾承宴手里没亮。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C02", "C16", "C17", "C03", "C10"],
"propIds": [],
"crowdPlan": "分三组拍:评委质疑用评委正面加苏念背影过肩;顾承宴起身宣布从观众席侧拍,正面单人,观众与记者群演虚焦在前景,记者只露相机与背影;苏念与唐果台上反应双人镜头;后台苏晴单人一场,不与他人同框。",
"warnings": ["人群"]
},
{
"ep": 38,
"synopsis": "决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。",
"hook": "苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅?",
"suspense": "秘方空白的那一页藏着外婆真正的手艺,苏晴领先的分数背后有收钱评委的手笔。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C16", "C10"],
"propIds": [],
"crowdPlan": "双赛台正反打:苏晴、苏念各自正面单人,对方以背影过肩入画;评委打分评委正面单拍;唐果反应单拍,观众群演只作背景声与虚焦。",
"warnings": ["手部特写", "人群"]
},
{
"ep": 39,
"synopsis": "决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。",
"hook": "苏晴喊出的二爷是谁,他为何要偷一张点心秘方?",
"suspense": "二爷这个称呼第一次出现,和顾远山是什么关系;评委背后的金主还没被点名。",
"sceneIds": ["S10"],
"characterIds": ["C01", "C03", "C16", "C17", "C02", "C10"],
"propIds": [],
"crowdPlan": "分四组拍:苏念与苏晴成品对比用正反打加糕点特写;顾承宴观众席起身单人正面,前景群演虚焦;评委认罪用评委正面、记者背影与话筒过肩;苏晴被拖下台用中远景,工作人员只露背影,唐果与苏念台上反应另拍。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 40,
"synopsis": "夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。",
"hook": "【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过?",
"suspense": "照片里满脸是伤的少年是谁,十五年前追他的二爷与指使苏晴偷秘方的是否同一人,外婆为何把照片藏进夹层。",
"sceneIds": ["S02"],
"characterIds": ["C01"],
"propIds": ["P03"],
"crowdPlan": "单人戏,无同框;照片画面里的童年苏念与少年为静态旧照道具,不另拍。",
"warnings": ["手部特写"],
"paywall": true
}
]
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-31.json (file state is current in your context — no need to Read it back)
Bash Seed script skeleton for episodes 1-3
输入
node -e 'const fs=require("fs");const o=require("./outline.json");o.episodes=require("./eps-01.json");fs.writeFileSync(process.env.TMPDIR+"/o10.json",JSON.stringify(o))' && node ../.claude/skills/novel-script/scripts/novel-script.mjs seed $TMPDIR/o10.json --eps 1-3; head -c 1500 ../.claude/skills/novel-script/examples/渡口-script.json返回
{
"source": "闪婚老公藏不住了",
"episodes": [
{
"ep": 1,
"targetSeconds": 90,
"hook": "刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁?",
"cliff": "顾承宴为何非今天结婚不可、他的真实身份;苏晴的怀孕是真是假。",
"beatsClaimed": [
"闪婚反杀"
],
"scenes": [],
"seedNote": "大纲梗概:苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。 候选场景:S01 人物:C01、C05、C03、C02、C12"
},
{
"ep": 2,
"targetSeconds": 90,
"hook": "他说明天带她去医院见奶奶,奶奶要验货,她能过关吗?",
"cliff": "顾承宴为何多年尝不出味道、偏偏尝得出她的面;项目经理的身份破绽。",
"beatsClaimed": [],
"scenes": [],
"seedNote": "大纲梗概:小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。 候选场景:S03 人物:C02、C01"
},
{
"ep": 3,
"targetSeconds": 90,
"hook": "苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来?",
"cliff": "老街拆迁的消息是谁放出的;铁皮盒里除了遗嘱还装着什么。",
"beatsClaimed": [
"打脸"
],
"scenes": [],
"seedNote": "大纲梗概:继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。 候选场景:S02 人物:C06、C03、C01"
}
]
}
{
"source": "渡口",
"episodes": [
{
"ep": 1,
"targetSeconds": 120,
"hook": "皮箱里到底装了什么,值得她指节发白",
"cliff": "陆行远的右手从上船起就没离开过大衣口袋",
"beatsClaimed": [
"悬念钩"
],
"scenes": [
{
"sceneId": "S02",
"lighting": "浓雾清晨",
"characters": [
"C01",
"C03",
"C04"
],
"props": [
"P01"
],
"flow": [
{
"action": "冷开场:一个年轻女人抱着旧皮箱,在雾里的河岸土路上跑,鞋底踏得水洼直响,箱子搂得死紧。雾把她的背影吞掉。"
},
{
"action": "跑到头,雾里才露出栈桥,只剩三步能见。老周把篙靠在船帮上,蹲在船头吧嗒旱烟,梆子声闷得像隔了层棉絮。"
},
{
"speaker": "C03",
"line": "上船喽——过河的抓紧,雾要变天。",
"delivery": "扯着嗓子,不急不躁"
},
{
"action": "跳板尽头传来担子的响动,胡二爷挑着货担赶上来,嗓门比人先到。"
},
{
"speaker": "C04",
"line": "等等二爷我!这雾天赶船,命都得跑掉半条。",
"delivery": "气喘吁吁,自来熟"子 agent 思考
子 agent 报错 Bash Validate JSON, lengths, quotes, ids
输入
cd $TMPDIR && node -e '
const a=JSON.parse(require("fs").readFileSync(process.argv[1],"utf8"));
const o=JSON.parse(require("fs").readFileSync(process.argv[2],"utf8"));
const ids=new Set([...o.characters,...o.scenes,...o.props].map(x=>x.id));
console.log(Array.isArray(a), a.map(e=>e.ep).join(","));
for(const e of a){const t=e.synopsis+e.hook+e.suspense;
console.log(e.ep,e.synopsis.length,/[「」『』“”"'\x27‘’]/.test(t),[...e.sceneIds,...e.characterIds,...e.propIds].filter(i=>!ids.has(i)), e.characterIds.length>=3?!!e.crowdPlan:"-");}
' "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-31.json" "/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/outline.json"返回
Exit code 1 (eval):7: parse error near `)'
子 agent Bash Write episodes 21-30 JSON and validate
输入
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; cat > $W/work/eps-21.json <<'EOF'
[
{
"ep": 21,
"synopsis": "宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。",
"hook": "签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗?",
"suspense": "拆迁通知上的签名到底是谁签的、顾承宴为什么一直留着这份复印件没跟她说,都还没有答案。",
"sceneIds": ["S09", "S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P06", "P01"],
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 22,
"synopsis": "苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。",
"hook": "苏晴给二叔报信,两人下一步要趁冷战对苏记做什么?",
"suspense": "苏晴和二叔早已暗中勾连,她拿什么在跟二叔做交易仍未揭开;顾承宴能否在苏念面前洗清伪签的嫌疑。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C02", "C09", "C03"],
"propIds": [],
"crowdPlan": "全集分三段拍:铺子门内苏念单人正面,隔卷帘门与门外顾承宴正反打,不同框;扫帚赶人一场苏念正面、陈默半侧逃出,顾承宴在门外只作过肩前景;苏晴在街角单独一场,正面拍发消息,铺子门口的人只作远景背影。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 23,
"synopsis": "顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。",
"hook": "听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁?",
"suspense": "外婆生前提到的那个人与二叔有何关联;苏念对顾承宴的心结只松动未解开。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C02", "C19"],
"propIds": ["P06"],
"crowdPlan": "柜台一字排开拍:苏念在柜台内正面,顾承宴在柜台外半侧,律师背影或过肩带过,只给手部比对签名的特写;鉴定结论后切苏念与顾承宴两人正反打,律师出画。",
"warnings": ["手部特写"]
},
{
"ep": 24,
"synopsis": "苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。",
"hook": "被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么?",
"suspense": "刘美琴手里握着苏念的哪些消息;苏建国在妻女之间还要沉默多久。",
"sceneIds": ["S02", "S06"],
"characterIds": ["C07", "C06", "C01"],
"propIds": [],
"crowdPlan": "分三场拍:铺子里苏念与苏建国正反打,刘美琴进门拽人时苏建国背影过肩;客厅吵架只拍刘美琴与苏建国两人;逼苏念一场刘美琴与苏念正面对峙,苏建国坐在沙发一侧作侧背影前景。",
"warnings": ["肢体接触"]
},
{
"ep": 25,
"synopsis": "顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。",
"hook": "和好后回家的路上,那辆一直远远跟着的车里坐的是谁?",
"suspense": "跟车的人是谁派来的、要盯苏念还是顾承宴;苏念心软了,可婚前协议里互不动心的条款还在。",
"sceneIds": ["S02", "S09"],
"characterIds": ["C02", "C01"],
"propIds": [],
"crowdPlan": "两人戏为主:小桌前顾承宴正面、街坊只作虚焦背影;尝糕一场两人正反打;回家路上两人背影远景,跟车单独空镜。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 26,
"synopsis": "和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。",
"hook": "周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么?",
"suspense": "苏晴假怀孕的事一旦败露,周家和苏晴会怎么反目;协议重新谈的话头被搁下了。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02", "C05"],
"propIds": ["P02"],
"crowdPlan": "厨房与饭桌只有苏念、顾承宴两人,正反打与双人中景;周子昂只出现在集尾小区门口,单独一场,正面拍他与孕检单,苏念与顾承宴以背影过肩入画。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 27,
"synopsis": "老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。",
"hook": "周子昂被拖走前喊出苏晴背后另有其人,那个人是谁?",
"suspense": "苏晴背后的同伙究竟有几个人;被断了生意的周家会不会狗急跳墙。",
"sceneIds": ["S09"],
"characterIds": ["C05", "C01", "C02"],
"propIds": [],
"crowdPlan": "纠缠段苏念正面、周子昂侧身拉扯;顾承宴下车后以他为正面,苏念在身后半侧,周子昂过肩;下跪与被拖走单拍周子昂,保安只露背影与手臂。",
"warnings": ["肢体接触"]
},
{
"ep": 28,
"synopsis": "苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。",
"hook": "这包不属于苏记的添加剂,是谁趁夜放进后厨的?",
"suspense": "投毒者如何进的铺子、背后是谁指使;苏记被封,老街拆迁会不会借机重启。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C10"],
"propIds": [],
"warnings": ["人群", "手部特写"]
},
{
"ep": 29,
"synopsis": "唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。",
"hook": "拆迁办经理被押走时一直望着的那辆车,是二叔的吗?",
"suspense": "拆迁办经理会不会供出二叔;二叔一计不成,下一招会落在苏记还是顾承宴身上。",
"sceneIds": ["S02", "S07"],
"characterIds": ["C10", "C01", "C15", "C13"],
"propIds": [],
"crowdPlan": "分三场拍:铺子里唐果正面开直播、苏念侧坐,监控画面插入拆迁办经理;医院主治医生单独一场拿化验单说明;押走一场拆迁办经理正面,警察背影,苏念与唐果远景,不同框于医生。",
"warnings": ["人群", "手部特写", "肢体接触"]
},
{
"ep": 30,
"synopsis": "全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。",
"hook": "【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗?",
"suspense": "秘方是谁撬盒偷走的;苏晴拿着原件参赛,苏念还能拿什么证明方子是外婆的;外婆留下的东西是否只有秘方这一件。",
"sceneIds": ["S10", "S02"],
"characterIds": ["C01", "C03", "C17"],
"propIds": ["P03"],
"crowdPlan": "两场无同框,分场拍:铺子里苏念单人,铁皮盒与电视画面作特写;演播厅里苏晴正面接受采访,记者以过肩背影和话筒入画,报名人群作虚焦背景。",
"warnings": ["手部特写", "人群"],
"paywall": true
}
]
EOF
cd $W && node -e '
const a=JSON.parse(require("fs").readFileSync("work/eps-21.json","utf8"));
console.log(Array.isArray(a), a.map(e=>e.ep).join(","));
const o=JSON.parse(require("fs").readFileSync("work/outline.json","utf8"));
const ids=new Set([...o.characters,...o.scenes,...o.props].map(x=>x.id));
for(const e of a){const s=JSON.stringify([e.synopsis,e.hook,e.suspense,e.crowdPlan||""]);
const bad=/[「」『』“”\x27]|\\"/.test(s);
const missing=[...e.sceneIds,...e.characterIds,...e.propIds].filter(i=>!ids.has(i));
console.log(e.ep,[...e.synopsis].length,bad?"QUOTE!":"",missing.join(","),e.characterIds.length>=3&&!e.crowdPlan?"NOCROWD":"");}
'返回
true 21,22,23,24,25,26,27,28,29,30 21 143 22 135 23 134 24 131 25 137 26 135 27 130 28 124 29 131 30 127
子 agent 思考
子 agent 思考
done 21
后台子 agent「done 21」结束
子 agent Bash Validate JSON, lengths, quotes, ids
输入
cat > $TMPDIR/chk.js <<'EOF'
const fs=require("fs");
const a=JSON.parse(fs.readFileSync(process.argv[2],"utf8"));
const o=JSON.parse(fs.readFileSync(process.argv[3],"utf8"));
const ids=new Set([...o.characters,...o.scenes,...o.props].map(x=>x.id));
console.log(Array.isArray(a), a.map(e=>e.ep).join(","));
for(const e of a){const t=e.synopsis+e.hook+e.suspense+e.crowdPlan;
console.log(e.ep,e.synopsis.length,/[「」『』“”"'‘’]/.test(t),[...e.sceneIds,...e.characterIds,...e.propIds].filter(i=>!ids.has(i)), e.characterIds.length>=3?!!e.crowdPlan:"-");}
EOF
W=/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2; node $TMPDIR/chk.js $W/work/eps-31.json $W/work/outline.json返回
true 31,32,33,34,35,36,37,38,39,40 31 139 false [] true 32 124 false [] true 33 122 false [] - 34 143 false [] true 35 133 false [] true 36 140 false [] true 37 139 false [] true 38 135 false [] true 39 131 false [] true 40 126 false [] -
done 31
后台子 agent「done 31」结束
子 agent Write ./work/eps-11.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-11.json
[
{
"ep": 11,
"synopsis": "顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。",
"hook": "二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么?",
"suspense": "二叔为什么非拆一间小点心铺不可;伪签的拆迁通知还攥在苏念手里,她认定顾总就是仇人。",
"sceneIds": ["S04"],
"characterIds": ["C02", "C09", "C04"],
"propIds": ["P06"],
"crowdPlan": "总裁办两段:前段顾承宴与陈默翻文件,顾承宴正面、陈默侧身过肩;后段顾承宴与二叔对峙正反打,陈默退到门口只留背影;集尾二叔单人打电话另拍,三人最多二人主同框。",
"warnings": ["手部特写"]
},
{
"ep": 12,
"synopsis": "拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。",
"hook": "门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁?",
"suspense": "唐果对顾承宴身份的怀疑;拆迁办为何突然撤走,苏念并不知道是谁叫停的。",
"sceneIds": ["S09", "S02"],
"characterIds": ["C15", "C01", "C02", "C10", "C11"],
"propIds": [],
"crowdPlan": "分两场拍。老街场:拆迁办经理正面接电话,手下与街坊只拍背影和远景虚化。铺子场:苏念与顾承宴双人中景正面,唐果在前景过肩带出,耳语一段改为唐果与苏念双人;林薇薇在门口逆光单独入画,与店内三人用正反打衔接,不做四人同框。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 13,
"synopsis": "林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。",
"hook": "林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念?",
"suspense": "林薇薇口中的两家婚约到底真假;顾承宴的真实家世她差点说破。",
"sceneIds": ["S02"],
"characterIds": ["C11", "C01", "C03"],
"propIds": ["P01"],
"crowdPlan": "店内只有苏念与林薇薇二人,正反打加柜台双人中景;苏晴只在电话另一端出现,单人另场拍,与林薇薇用分屏或切镜衔接,三人无同框。",
"warnings": ["手部特写"]
},
{
"ep": 14,
"synopsis": "苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。",
"hook": "来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗?",
"suspense": "两人都已动心却都不肯说破;一年契约的条款还压在抽屉里。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P02"],
"crowdPlan": "",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 15,
"synopsis": "奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。",
"hook": "苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么?",
"suspense": "林薇薇想用订单拖垮苏记;苏晴盯上了铁皮盒里的东西;寿宴上等着苏念的是什么。",
"sceneIds": ["S07", "S02"],
"characterIds": ["C08", "C01", "C10", "C03"],
"propIds": ["P04", "P03"],
"crowdPlan": "分三场拍。病房:奶奶与苏念双人。铺子:苏念与唐果双人赶工,分点心时街坊只拍伸手接盒与背影。后门:苏晴单人窥视,铁皮盒用她的主观镜头带出,与店内人物不同框。",
"warnings": ["肢体接触", "手部特写", "人群"]
},
{
"ep": 16,
"synopsis": "苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。",
"hook": "二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗?",
"suspense": "顶楼是总裁办,顾承宴的谎越圆越难;二叔已经盯上苏念。",
"sceneIds": ["S04"],
"characterIds": ["C01", "C02", "C09", "C04"],
"propIds": [],
"crowdPlan": "大堂场:苏念与前台正反打,访客为背景虚化背影;顾承宴入画后与苏念双人正面,陈默在后景侧身处理前台。电梯场:二人双人。集尾二叔单人站在走廊尽头,前景是二人背影过肩,四人不同时露正脸。",
"warnings": ["肢体接触", "人群", "手部特写"]
},
{
"ep": 17,
"synopsis": "奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。",
"hook": "坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗?",
"suspense": "奶奶为何对老街格外护短;二叔与老街的旧账;顾承宴的坦白能否赶在真相之前。",
"sceneIds": ["S05", "S03"],
"characterIds": ["C08", "C04", "C02", "C01"],
"propIds": [],
"crowdPlan": "分两场拍,无四人同框。老宅:奶奶与二叔正反打双人。小两居:顾承宴单人写信;集尾苏念进门只拍鞋与背影,与顾承宴不同框。",
"warnings": ["手部特写"]
},
{
"ep": 18,
"synopsis": "奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。",
"hook": "一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白?",
"suspense": "顾承宴迟迟不到场的原因;林薇薇和苏晴的局到底怎么设的。",
"sceneIds": ["S08"],
"characterIds": ["C08", "C01", "C11", "C03"],
"propIds": ["P04"],
"crowdPlan": "宴会厅入场:苏念正面中景,奶奶在主桌远景,宾客全用背影与虚化。休息区:苏念居中正面,林薇薇与苏晴各一侧,一人正面一人过肩轮换,分两组镜头拍,避免三人同时正脸。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 19,
"synopsis": "宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。",
"hook": "主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁?",
"suspense": "苏念仍不知道丈夫的身份;顾氏总裁即将登台。",
"sceneIds": ["S08"],
"characterIds": ["C01", "C11", "C03", "C08", "C14"],
"propIds": ["P04"],
"crowdPlan": "围观宾客一律背影与侧影虚化。分三组拍:林薇薇与苏念正反打;奶奶入画拉苏念为双人正面,林薇薇苏晴背影过肩;酒店经理与监控屏另拍,监控画面单独生成插入,苏晴的反应用单人近景。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 20,
"synopsis": "苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。",
"hook": "【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗?",
"suspense": "苏念认定的顾总就是签拆迁通知的人,她会怎么看这场闪婚;坦白信还没送到她手里。",
"sceneIds": ["S08"],
"characterIds": ["C01", "C02", "C08", "C14"],
"propIds": [],
"crowdPlan": "苏念与台上顾承宴隔人群正反打,不做双人同框;起立宾客全用背影大远景;酒店经理鞠躬与奶奶点头各拍单人反应镜头;集尾追出与关门为顾承宴单人跟拍。",
"warnings": ["人群", "手部特写"],
"paywall": true
}
]
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-11.json (file state is current in your context — no need to Read it back)
子 agent 思考
子 agent Bash Validate JSON, lengths, quotes, ids
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work && node -e '
const a=JSON.parse(require("fs").readFileSync("eps-11.json","utf8"));const o=JSON.parse(require("fs").readFileSync("outline.json","utf8"));
const C=new Set(o.characters.map(x=>x.id)),S=new Set(o.scenes.map(x=>x.id)),P=new Set(o.props.map(x=>x.id));
console.log(a.map(e=>e.ep).join(","));
for(const e of a){const t=[e.synopsis,e.hook,e.suspense,e.crowdPlan].join("");
console.log(e.ep,[...e.synopsis].length,/[「」『』“”"\x27‘’]/.test(t),e.characterIds.every(x=>C.has(x)),e.sceneIds.every(x=>S.has(x)),e.propIds.every(x=>P.has(x)))}'返回
11,12,13,14,15,16,17,18,19,20 11 127 false true true true 12 131 false true true true 13 132 false true true true 14 124 false true true true 15 123 false true true true 16 119 false true true true 17 122 false true true true 18 127 false true true true 19 140 false true true true 20 143 false true true true
Fill ep14 crowdPlan with a fact rather than empty string.
子 agent Write ./work/eps-41.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-41.json
[
{
"ep": 41,
"synopsis": "夺冠当晚,苏念攥着从铁皮盒夹层里取出的旧照片回到小两居,屋里空着,顾承宴还没回来。她想等他问清楚,推开从没进过的书房,在书桌抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口的位置都对得上。她的手开始发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,目光落在她手里的两张照片上。",
"hook": "他看见她手里的两张照片,会承认自己就是那个少年吗?",
"suspense": "照片里的少年为何会在顾承宴的书房;外婆写下的二爷究竟是谁;当年那块桂花糕之后发生了什么。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P03"],
"warnings": ["手部特写"]
},
{
"ep": 42,
"synopsis": "顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,趁绑匪不备逃出来,满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕。那是他十五年里尝到的唯一甜味,此后他再也尝不出味道。民政局那天,他一眼认出她发间的桂花发夹,才答应了那句结婚。苏念红着眼扑进他怀里,他紧紧抱住她。良久,她抬起头,问那天追来的二爷,是不是他的二叔。",
"hook": "那天追来的二爷,真的是顾承宴的亲二叔吗?",
"suspense": "二叔为何要绑架亲侄子;外婆当年护下少年后有没有被报复;苏念的心意还没正式说出口。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P03"],
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 43,
"synopsis": "顾承宴带苏念回顾家老宅见奶奶。奶奶看着那张旧照片红了眼,证实当年报案时,绑匪在勒索电话里提过二爷,只是人一直没抓到,案子不了了之。奶奶握着苏念的手道谢,说原来当年救下承宴的就是她们苏家。话音未落,二叔顾远山提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒又堆回脸上,寒暄几句便告辞。出了大门,他拨通林薇薇的电话,说明天的董事会提前开。",
"hook": "二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手?",
"suspense": "二叔是否就是当年的二爷;他与林薇薇的联手底牌是什么;当年绑匪的下落。",
"sceneIds": ["S05"],
"characterIds": ["C01", "C02", "C08", "C04"],
"propIds": ["P03"],
"crowdPlan": "分两场拍。客厅场:奶奶坐沙发正面中景,苏念侧坐握手做双人中景,顾承宴立于后方用过肩带过;二叔进门时给二叔单独正面反应镜头,看照片僵笑用近景,其余三人转为背影与过肩。门外打电话场二叔单人单拍,林薇薇只出声不出镜。主画面同框不超过三人正面。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 44,
"synopsis": "顾氏董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目、损害集团利益,提议罢免。举手表决前一刻,苏念推门闯进会议室,身后跟着律师。律师当众出示拆迁合同上总裁签名的伪造鉴定,以及老街项目资金流进二叔私人账户的明细。满座董事哗然,董事会当场停了二叔的职,林薇薇家宣布撤股,林薇薇脸色煞白。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。",
"hook": "二叔一句外婆当年不知死活,外婆的死难道另有隐情?",
"suspense": "外婆的死与二叔有何关联;被停职的二叔会如何反扑;林薇薇撤股后的去向。",
"sceneIds": ["S04"],
"characterIds": ["C01", "C02", "C04", "C11", "C19"],
"propIds": ["P06"],
"crowdPlan": "分两场拍。会议室场:长桌两侧取对切,二叔与林薇薇同侧正面、顾承宴主位单独正面,苏念与律师从门口以背影入画再反打正面;董事群演做虚化背景与举手手部,不给脸。律师出示鉴定单独拍文件特写。走廊场仅二叔与苏念,双人过肩正反打。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 45,
"synopsis": "苏建国病倒住院,苏念赶到病房。父亲拉着她的手,第一次向她道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他这个当爹的没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角,答应常来看他。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人。是苏晴,头发贴在脸上,嘴唇发白,手里死死攥着什么东西。",
"hook": "一向和她作对的苏晴,为什么在雨夜湿透了找上门?",
"suspense": "苏晴手里攥着什么;她与二叔和周子昂之间出了什么事;苏建国能否真的与刘美琴了断。",
"sceneIds": ["S07", "S02"],
"characterIds": ["C01", "C07", "C03"],
"propIds": [],
"crowdPlan": "三人分处两场,无同框,分场拍。病房场为苏念与苏建国父女双人戏,病床正面中景加握手近景;苏记门口场为苏念与苏晴双人,苏晴湿身正面中景,苏念用背影过肩带入。",
"warnings": ["雨戏", "肢体接触", "手部特写"]
},
{
"ep": 46,
"synopsis": "苏念把苏晴让进铺子,递上热毛巾和一碗姜汤。苏晴哭着说,二叔拿到秘方就翻脸不认人,周子昂也把她的东西扔出了门,她如今什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这本是她留着要挟二叔的后手,现在只想还姐姐一个公道。苏念攥紧录音笔,问老太太指的是谁。苏晴说,他提到了你外婆的死。",
"hook": "外婆的死,难道是二叔一手造成的?",
"suspense": "外婆当年的真实死因;录音笔里还录了什么;苏晴这次倒戈是真心还是另有所图。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C03"],
"propIds": ["P05"],
"warnings": ["手部特写"]
},
{
"ep": 47,
"synopsis": "苏念把录音笔交给顾承宴,两人在灯下反复听那段录音。他想立刻报警,她按住他,说单凭一段录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年近在眼前,他几次想提协议的事,她也几次欲言又止,最后谁都没开口。他回房后,苏念从抽屉最底层翻出那份婚前协议,又在日历上圈出到期日,就在后天。",
"hook": "协议后天就到期,两人都没说出口的话,还来得及说吗?",
"suspense": "当年绑匪身在何处;录音笔会不会被二叔察觉;协议到期后这段婚姻是续是散。",
"sceneIds": ["S03"],
"characterIds": ["C01", "C02"],
"propIds": ["P05", "P02"],
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 48,
"synopsis": "协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,最后悄悄转身离开。回到小两居,她把自己的衣服一件件叠进行李箱,把婚前协议摊在桌上,指尖停了很久,给他发去一条消息:明早九点,民政局,把手续办了。",
"hook": "顾承宴口中的结束,真的是要和她离婚吗?",
"suspense": "顾承宴说要结束的到底是什么;他收到消息会作何反应;陈默似乎知道内情却没说。",
"sceneIds": ["S04", "S03"],
"characterIds": ["C01", "C02", "C09"],
"propIds": ["P02"],
"crowdPlan": "三人不同框,分场拍。总裁办内顾承宴与陈默双人,用门缝主观视角拍,只给侧脸和背影;门外苏念单人反应近景;小两居收拾行李为苏念独场。",
"warnings": ["手部特写"]
},
{
"ep": 49,
"synopsis": "第二天一早,苏念独自坐在民政局门口那张长椅上,一年前她就是在这里转身问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也一直打不通。民政局工作人员认出她是一年前当场闪婚的那位姑娘,给她倒了杯热水,问要不要再等等。苏念低头摩挲着那本结婚证,说再等一会儿,心里却越来越空。手机终于响了,屏幕上跳出陈默的名字。",
"hook": "顾承宴为什么失约,陈默这通电话要告诉她什么?",
"suspense": "顾承宴失联的原因;他前夜那句结束的真意;二叔被停职后是否已经动手。",
"sceneIds": ["S01"],
"characterIds": ["C01", "C12"],
"propIds": ["P01"],
"warnings": ["手部特写"]
},
{
"ep": 50,
"paywall": true,
"synopsis": "电话里陈默声音发抖,说顾承宴在来民政局的路上刹车失灵出了车祸,正在抢救。苏念冲出民政局赶到医院,手术室的灯一直亮着。陈默把从车里取出的东西交到她手上,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束,是结束那份契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上哭到发不出声。手术室门开,主治医生摘下口罩,说病人可能醒不过来了。",
"hook": "【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?",
"suspense": "刹车失灵是否是二叔动的手;苏念还没来得及亲口说出喜欢;顾承宴倒下后集团与老街将落入谁手。",
"sceneIds": ["S01", "S07"],
"characterIds": ["C01", "C09", "C13"],
"propIds": ["P01"],
"crowdPlan": "分三场拍。民政局场苏念单人接电话,陈默在医院走廊接电话单拍,交叉剪辑;医院走廊陈默递戒指盒为双人过肩正反打;医生出场时苏念用背影过肩、正打医生,陈默侧后虚化,三人不同时给正面。",
"warnings": ["手部特写"]
}
]
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-41.json (file state is current in your context — no need to Read it back)
子 agent Edit ./work/eps-11.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-11.json
—— 原文 ——
"crowdPlan": "",
—— 改成 ——
"crowdPlan": "仅二人同场,双人中景加正反打;停电段用剪影与轮廓光,一场拍完。",返回
The file /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-11.json has been updated successfully. (file state is current in your context — no need to Read it back)
子 agent Bash Re-parse JSON after edit
输入
node -e 'const a=JSON.parse(require("fs").readFileSync("/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-11.json","utf8"));console.log(Array.isArray(a),a.length)'返回
true 10
done 11
后台子 agent「done 11」结束
子 agent Bash Validate JSON, lengths, quotes, ids
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work && node -e '
const a=JSON.parse(require("fs").readFileSync("eps-41.json","utf8"));const o=JSON.parse(require("fs").readFileSync("outline.json","utf8"));
const C=new Set(o.characters.map(x=>x.id)),S=new Set(o.scenes.map(x=>x.id)),P=new Set(o.props.map(x=>x.id));
console.log(Array.isArray(a),a.map(e=>e.ep).join(","));
for(const e of a){const t=[e.synopsis,e.hook,e.suspense,e.crowdPlan||""].join("");
console.log(e.ep,[...e.synopsis].length,/[「」『』“”"\x27‘’]/.test(t),e.characterIds.every(x=>C.has(x)),e.sceneIds.every(x=>S.has(x)),e.propIds.every(x=>P.has(x)),e.characterIds.length>=3?!!e.crowdPlan:"-")}'返回
true 41,42,43,44,45,46,47,48,49,50 41 165 false true true true - 42 168 false true true true - 43 168 false true true true true 44 182 false true true true true 45 151 false true true true true 46 169 false true true true - 47 157 false true true true - 48 147 false true true true true 49 157 false true true true - 50 167 false true true true true
子 agent 思考
子 agent 思考
思考 50 秒
现在写第 1–3 集剧本。先读一下剧本校验器认哪些字段:
Bash Check how script validator reconciles with outline
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/.claude/skills/novel-script/scripts && grep -n "characterIds\|beatsClaimed\|outline" novel-script.mjs | head -40
返回
191: const outline = ctx.outline ?? null;
194: if (outline) {
195: const charIds = new Set((outline.characters ?? []).map((c) => c.id));
203: const due = [...new Set((outline.beats ?? []).filter((b) => b.episode === ep.ep).map((b) => b.type))];
204: const claimed = new Set(ep?.beatsClaimed ?? []);
227: const SKIP_OUTLINE = '未提供 outline.json,本门跳过(视为通过)';
237: add('beats-claimed', '大纲爽点逐集认领', bad.beats.length === 0, outline ? bad.beats.join(';') : SKIP_OUTLINE);
238: add('refs-characters', '角色引用对账大纲', bad.chars.length === 0, outline ? bad.chars.join(';') : SKIP_OUTLINE);
267: if (!Array.isArray(ep?.beatsClaimed)) p(`${label}缺 beatsClaimed(认领的爽点,可为空数组)`);
300:/* seed — 从 outline.json 确定性预填骨架 */
307:export function seedFromOutline(outline, epRange = null) {
308: const perEp = (outline?.params?.minutesPerEpisode ?? 3) * 60;
310: const episodes = (outline?.episodes ?? [])
317: beatsClaimed: [...new Set((outline.beats ?? []).filter((b) => b.episode === e.ep).map((b) => b.type))],
320: seedNote: `大纲梗概:${e.synopsis ?? ''} 候选场景:${(e.sceneIds ?? []).join('、')} 人物:${(e.characterIds ?? []).join('、')}`,
322: return { source: outline?.source ?? '', episodes };
357: 'refs-characters': 'Character references audited against the outline',
361: '未提供 outline.json,本门跳过(视为通过)': 'outline.json not provided — gate skipped (treated as passing)',
364: '未提供 outline/cast,本门跳过(视为通过)': 'outline/cast not provided — gate skipped (treated as passing)',
488: colophon: 'Script written by the model against the outline and art bible; durations and references checked deterministically by script. Storyboarding and first-frame prompts belong to the next layer, not this report.',
513: const charName = new Map((ctx.outline?.characters ?? []).map((c) => [c.id, c.name]));
521: // 台词本对接 TTS:给了 --cast 才有音色提示词(按 outline 名字对上 cast)
542: if (ep.beatsClaimed.length) out.push(`> ${t.beatsLabel}${t.colon}${ep.beatsClaimed.join(t.sep)}`);
646: ${ep.beatsClaimed.map((b) => `<i class="bt">${esc(b)}</i>`).join('')}
722:.expo:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
772:.scmore:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
828:.copy:focus-visible{outline:2px solid var(--seal);outline-offset:2px}
972: seed <outline.json> [--eps 1-6] 从大纲预填每集骨架(打印到 stdout)
973: validate <script.json> [--outline o.json] 校验;有违规逐条打印并 exit 1
975: checkup <script.json> [--outline] [--art] 只打印质量门 ✓/✗,有未过项 exit 1
978: [--outline o.json] [--art a.json] 给了上游就把 ID 显示成名字
996: return { outline: get('--outline'), art: get('--art'), cast: get('--cast') };
1009: if (!path) throw new Error('用法:seed <outline.json> [--eps 1-6]');
1023: if (!path) throw new Error(`用法:${cmd} <script.json> [--outline o.json] [--art a.json]`);
1026: if (!ctx.outline) console.error('⚠️ 没给 --outline,跳过角色引用与爽点认领检查');
1051: if (!path) throw new Error('用法:render <script.json> [--html|--md] [--lang zh|en] [--outline o.json] [--art a.json]');Now writing the episode 1–3 scripts.
子 agent Bash Shorten synopses to 80-150 chars and revalidate
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work && node -e '
const fs=require("fs");const a=JSON.parse(fs.readFileSync("eps-41.json","utf8"));
const s={
41:"夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。",
42:"顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。",
43:"顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。",
44:"董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。",
45:"苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。",
46:"苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。",
47:"苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。",
48:"协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。",
49:"第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。",
50:"陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。"};
for(const e of a){e.synopsis=s[e.ep];}
a.find(e=>e.ep==47).warnings=["肢体接触","手部特写"];
fs.writeFileSync("eps-41.json",JSON.stringify(a,null,2)+"\n");
const b=JSON.parse(fs.readFileSync("eps-41.json","utf8"));
for(const e of b){const t=JSON.stringify([e.synopsis,e.hook,e.suspense,e.crowdPlan||""]).slice(1,-1).replace(/","/g,"");console.log(e.ep,[...e.synopsis].length,/[「」『』“”\x27‘’]|\\"/.test(t))}
console.log(b.length,b.map(e=>e.ep).join(","))'返回
41 138 false 42 139 false 43 135 false 44 149 false 45 131 false 46 146 false 47 138 false 48 133 false 49 140 false 50 145 false 10 41,42,43,44,45,46,47,48,49,50
done 41
后台子 agent「done 41」结束
子 agent Write ./work/eps-51.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-51.json
[
{
"ep": 51,
"synopsis": "重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。",
"hook": "顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉?",
"suspense": "二叔借探病试探伤情、急着接管集团;刹车失灵是否出自二叔之手还没有任何证据。",
"sceneIds": ["S07"],
"characterIds": ["C01", "C02", "C04"],
"propIds": [],
"crowdPlan": "顾承宴全程卧床不动,作前景或床头虚化带过;苏念告白单独一场拍,苏念正面、顾承宴侧脸;二叔探病一场拍,苏念与二叔正反打,病床只露一角;手指特写单独补拍。共两场。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 52,
"synopsis": "深夜顾承宴睁开眼,开口第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷,短期内无法苏醒。",
"hook": "假昏迷的消息放出去了,二叔会多快咬钩?",
"suspense": "动刹车的人还没查实;医院里有没有二叔的眼线能识破这场装病。",
"sceneIds": ["S07"],
"characterIds": ["C01", "C02", "C09", "C13", "C17"],
"propIds": [],
"crowdPlan": "病房定计一场:苏念正面坐床边,顾承宴半卧侧面,陈默过肩背影入画;走廊发布另一场:主治医生正面单人,记者群只拍后脑、话筒与相机前景,不与主角同框。分两场拍。",
"warnings": ["肢体接触", "人群"]
},
{
"ep": 53,
"synopsis": "顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。",
"hook": "一周强拆令已下,苏念的铺子还撑得住几天?",
"suspense": "二叔口中的大哥家,暗示顾承宴父母当年之事另有隐情;林薇薇回头投靠是真心还是另有算盘。",
"sceneIds": ["S04"],
"characterIds": ["C04", "C11"],
"propIds": [],
"warnings": ["手部特写"]
},
{
"ep": 54,
"synopsis": "陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪,这些年一直隐姓埋名躲着二叔。他死不承认,收摊赶人。苏念把他请进苏记,从外婆的铁皮点心盒里取出一块桂花糕递过去。修鞋匠一口咬下便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。",
"hook": "车里那双眼睛盯上了证人,二叔会先下手吗?",
"suspense": "修鞋匠知道的二爷真相,以及外婆之死与当年绑架案的关联。",
"sceneIds": ["S09", "S02"],
"characterIds": ["C01", "C09", "C18"],
"propIds": ["P03"],
"crowdPlan": "老街一场:修鞋匠坐摊后正面,陈默侧身站立,两人对拍;苏记一场:修鞋匠正面,苏念侧面递糕,陈默门口背影;车窗摇下单独补一个空镜带人。分两场拍。",
"warnings": ["手部特写"]
},
{
"ep": 55,
"synopsis": "苏念陪修鞋匠去警局,刚出老街口,一辆面包车横在路中,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔慢慢踱过来,逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。",
"hook": "顾承宴还躺在病房装昏迷,谁能赶来救苏念?",
"suspense": "苏念口袋里按下的是什么;被推倒的修鞋匠能否脱身报信;外婆之死的真相。",
"sceneIds": ["S09", "S11"],
"characterIds": ["C01", "C04", "C18"],
"propIds": ["P05"],
"crowdPlan": "老街截人一场:苏念与修鞋匠正面,黑衣人只拍背影和拉扯动作;口袋按键手部特写单独拍;仓库一场:苏念被绑正面,二叔侧面与过肩,修鞋匠不在仓库。分两场拍,三人无同框于仓库。",
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 56,
"synopsis": "苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,本该昏迷的顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他回头冷笑,你们以为林家就干净吗。",
"hook": "二叔临走那句林家不干净,林薇薇还藏着什么?",
"suspense": "林家与当年旧案、刹车事故的牵连;外婆之死的完整经过还待录音全文揭开。",
"sceneIds": ["S11"],
"characterIds": ["C01", "C02", "C04", "C09", "C18"],
"propIds": ["P05"],
"crowdPlan": "拆三段:对峙段苏念正面、二叔侧面过肩,两人;破门段顾承宴正面护人,苏念在其身后半遮,陈默与警察背影入画;指认段修鞋匠正面,二叔过肩,警察只拍背影与手铐特写。分三场拍。",
"warnings": ["肢体接触", "手部特写", "人群"]
},
{
"ep": 57,
"synopsis": "顾氏在酒店宴会厅开发布会,顾承宴完好无损走上台,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者接连爆出周家资金链断裂宣告破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚,让她净身出门。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。",
"hook": "顾承宴为什么不回答,这段婚姻在他心里到底算不算数?",
"suspense": "协议到期之约被车祸打断,契约婚姻的最终答案悬而未决;苏晴此去是否真的放下。",
"sceneIds": ["S08"],
"characterIds": ["C01", "C02", "C07", "C09", "C11", "C17"],
"propIds": [],
"crowdPlan": "拆四组:台上顾承宴正面单拍,陈默站台侧作过肩;林薇薇被带走一组,林薇薇正面、警察背影;侧厅苏建国与苏念两人对拍;记者群只拍后脑、举起的相机和话筒前景,苏念台下看台上用过肩。分四组拍。",
"warnings": ["人群", "肢体接触", "手部特写"]
},
{
"ep": 58,
"synopsis": "风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。",
"hook": "求婚成了,奶奶憋了一年的婚礼要怎么办?",
"suspense": "二叔所说的林家旧账余波未平;外婆当年留下的东西是否还有没找到的。",
"sceneIds": ["S02"],
"characterIds": ["C01", "C02"],
"propIds": ["P02"],
"warnings": ["肢体接触", "手部特写"]
},
{
"ep": 59,
"synopsis": "顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街,说她孙子当年就是在那里捡回一条命。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴爬上梯子亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。",
"hook": "匿名包裹是谁寄来的,那封信里写了什么?",
"suspense": "寄件人的身份;外婆年轻时的往事与苏记的来历。",
"sceneIds": ["S05", "S09"],
"characterIds": ["C01", "C02", "C08", "C10"],
"propIds": ["P07"],
"crowdPlan": "老宅一场:奶奶正面,苏念与顾承宴并肩侧面;老街一场:顾承宴梯上刷漆正面,苏念梯下背影,唐果直播单独拍,街坊远景虚化;拆包裹苏念单人一场。分三场拍。",
"warnings": ["人群", "手部特写"]
},
{
"ep": 60,
"synopsis": "信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主,只留一句对不起。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,街坊举杯,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。",
"hook": "苏念小腹里,是不是已经有了苏记的第四代传人?",
"suspense": "新生命的到来留白;远走的苏晴是否还会回到老街。",
"sceneIds": ["S09", "S01"],
"characterIds": ["C01", "C02", "C07", "C08", "C09", "C10", "C12"],
"propIds": ["P07", "P01"],
"crowdPlan": "婚礼拆四组:新人牵手走街正面跟拍,宾客与街坊只拍背影列队;主桌奶奶与苏建国两人同框;唐果与陈默伴娘伴郎单组;民政局尾声为另一场,苏念与顾承宴正面,民政局工作人员过肩拍照。分两场四组拍。",
"warnings": ["人群", "肢体接触", "手部特写"]
}
]
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work/eps-51.json (file state is current in your context — no need to Read it back)
子 agent 思考
子 agent Bash Validate JSON and constraints
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work; node -e '
const a=require("./eps-51.json"),o=require("./outline.json");
const C=new Set(o.characters.map(c=>c.id)),S=new Set(o.scenes.map(c=>c.id)),P=new Set(o.props.map(c=>c.id));
console.log(Array.isArray(a), a.map(e=>e.ep).join(","));
for(const e of a){const t=e.synopsis+e.hook+e.suspense;console.log(e.ep,[...e.synopsis].length,/[「」『』“”"\x27‘’]/.test(t),e.sceneIds.every(x=>S.has(x)),e.characterIds.every(x=>C.has(x)),e.propIds.every(x=>P.has(x)),e.characterIds.length<3||!!e.crowdPlan)}'返回
true 51,52,53,54,55,56,57,58,59,60 51 144 false true true true true 52 152 false true true true true 53 142 false true true true true 54 163 false true true true true 55 155 false true true true true 56 156 false true true true true 57 165 false true true true true 58 149 false true true true true 59 154 false true true true true 60 160 false true true true true
Write ./闪婚老公藏不住了-script.json
输入
/scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/闪婚老公藏不住了-script.json
{
"source": "闪婚老公藏不住了",
"lang": "zh",
"episodes": [
{
"ep": 1,
"targetSeconds": 90,
"hook": "冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来",
"cliff": "刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁?",
"beatsClaimed": ["闪婚反杀"],
"hookBeat": [0, 0],
"scenes": [
{
"sceneId": "S01",
"characters": ["C01", "C05", "C03", "C02"],
"props": [],
"flow": [
{ "action": "冷开场:苏念抱着户口本一路小跑上民政局台阶,白衬衫,发间别着一支旧桂花发夹,边跑边看手机。" },
{ "action": "台阶下一辆跑车停下,周子昂下车,转身扶出苏晴,手搂在她腰上。" },
{ "speaker": "C01", "line": "子昂?你怎么带她来了?", "delivery": "笑容僵在脸上" },
{ "speaker": "C03", "line": "姐姐,对不起呀。我怀孕了,是子昂哥的。", "delivery": "夹子音,一手护着小腹,眼里全是得意" },
{ "action": "苏晴把一张孕检单塞进苏念手里。排队的路人纷纷回头看。" },
{ "speaker": "C05", "line": "婚不结了。你那破点心铺,还不值我一块表。", "delivery": "抬手晃了晃腕上的名表" },
{ "speaker": "C05", "line": "守着个老太太的破店,能有什么出息?" },
{ "action": "周子昂搂着苏晴转身往停车场走,苏晴回头冲她挥了挥手。" },
{ "speaker": "VO", "line": "外婆,铺子我守得住。这个人,我不要了。", "delivery": "苏念心声,攥紧孕检单" },
{ "action": "台阶旁的长椅上,一个穿灰色卫衣的男人正在打电话,眉头紧锁。" },
{ "speaker": "C02", "line": "奶奶,您先进手术室。今天之内,我一定结婚。", "delivery": "压低声音,又急又无奈" },
{ "action": "苏念把孕检单揉成一团扔进垃圾桶,径直走到长椅前站定。" }
]
},
{
"sceneId": "S01",
"characters": ["C01", "C02", "C12"],
"props": ["P01"],
"flow": [
{ "speaker": "C01", "line": "你要结婚?我也要。户口本带了吗?", "delivery": "下巴一抬,像在谈一笔生意" },
{ "action": "顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。" },
{ "speaker": "C02", "line": "带了。你不问我是谁?" },
{ "speaker": "C01", "line": "进去再问。走不走?" },
{ "action": "顾承宴站起来,跟着她走进民政局大厅。" },
{ "speaker": "C12", "line": "两位,确定是自愿结婚吗?", "delivery": "看看他又看看她,有点狐疑" },
{ "speaker": "C01", "line": "确定。", "delivery": "抢在他前面" },
{ "speaker": "C02", "line": "确定。" },
{ "action": "钢印落下,工作人员把两本红色结婚证推到他们面前。" }
]
},
{
"sceneId": "S01",
"characters": ["C01", "C02", "C05", "C03", "C12"],
"props": ["P01"],
"flow": [
{ "action": "苏念拿着结婚证走出大门,正好从刚要上车的周子昂和苏晴面前经过。" },
{ "speaker": "C05", "line": "随便找个打工的就嫁了?苏念,你气我呢?", "delivery": "嗤笑,上下打量顾承宴的卫衣" },
{ "speaker": "C01", "line": "周先生,以后见面,叫我顾太太。", "delivery": "头也不回" },
{ "action": "顾承宴跟在她身后,嘴角往上动了一下。" },
{ "action": "他口袋里的手机亮了,来电备注是奶奶·手术室。他接起来。" },
{ "speaker": "C02", "line": "奶奶,我结婚了。", "delivery": "看着苏念的背影" },
{ "action": "大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。" }
]
}
]
},
{
"ep": 2,
"targetSeconds": 90,
"hook": "冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理",
"cliff": "奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲",
"beatsClaimed": [],
"hookBeat": [0, 0],
"scenes": [
{
"sceneId": "S03",
"characters": ["C02", "C01"],
"props": ["P02"],
"flow": [
{ "action": "冷开场:顾承宴拎着苏念的行李箱推门进屋,苏念跟进来,四下打量这间空荡荡的小两居。" },
{ "speaker": "C01", "line": "这是你家?干净得像没人住过。" },
{ "speaker": "C02", "line": "刚搬来。", "delivery": "顿了一下才答" },
{ "speaker": "C01", "line": "你在哪上班?" },
{ "speaker": "C02", "line": "顾氏集团,项目经理。" },
{ "speaker": "C01", "line": "顾氏?你也姓顾,这么巧?" },
{ "speaker": "C02", "line": "顾姓在这儿很常见。", "delivery": "面不改色" },
{ "action": "他从公文包里抽出一份文件,放在茶几上,封面写着婚前协议。" },
{ "speaker": "C02", "line": "一年为期。互不干涉,互不动心。" },
{ "speaker": "C02", "line": "到期和平离婚,你的铺子我一分不碰。" },
{ "action": "苏念拿起笔翻到最后一页,签下自己的名字,把笔往桌上一放。" },
{ "speaker": "C01", "line": "正好,我也没打算动心。" },
{ "action": "顾承宴走进厨房,连拧三次燃气灶,一次都没打着火。" },
{ "speaker": "C01", "line": "你连火都不会开?", "delivery": "倚在厨房门口,憋着笑" },
{ "speaker": "C02", "line": "平时吃公司食堂。" },
{ "action": "他忽然一手按住胃,弯下腰,额头冒出一层汗。" },
{ "speaker": "C01", "line": "胃病?去坐着,别动。", "delivery": "嘴上凶,人已经挽起袖子" },
{ "action": "苏念打着火,烧水下面,往锅里卧了一个荷包蛋。" },
{ "action": "她把一碗热汤面端到他面前,坐在对面。" },
{ "speaker": "C02", "line": "我吃什么都没味道,别白费劲。" },
{ "speaker": "C01", "line": "吃一口再说。" },
{ "action": "顾承宴低头吃了一口,筷子停在半空。" },
{ "speaker": "VO", "line": "有味道……十五年了,我又尝到了。", "delivery": "顾承宴心声,不敢置信" },
{ "speaker": "C01", "line": "难吃就直说。" },
{ "speaker": "C02", "line": "不难吃。", "delivery": "低头又吃了一大口,没抬眼" },
{ "action": "他的手机震了一下,屏幕上是奶奶发来的消息。" },
{ "speaker": "C02", "line": "明天跟我去趟医院。我奶奶要见你。" },
{ "speaker": "C02", "line": "她原话是,要验货。" },
{ "speaker": "C01", "line": "验……什么货?", "delivery": "呛了一口面汤" },
{ "action": "苏念起身去玄关放鞋,打开鞋柜,里面摆着一双崭新的手工皮鞋,价签上是六位数。" }
]
}
]
},
{
"ep": 3,
"targetSeconds": 90,
"hook": "冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了",
"cliff": "苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么?",
"beatsClaimed": ["打脸"],
"hookBeat": [0, 0],
"scenes": [
{
"sceneId": "S02",
"characters": ["C06", "C03", "C01"],
"props": ["P03"],
"flow": [
{ "action": "冷开场:刘美琴一把推开苏记的木门闯进来,苏晴挎着包跟在后面。" },
{ "action": "苏念正在柜台后揉面,抬起头。" },
{ "speaker": "C06", "line": "念念,收拾收拾,三天内搬走。", "delivery": "笑着,像在通知搬家" },
{ "speaker": "C01", "line": "凭什么?" },
{ "speaker": "C06", "line": "你爸早把铺子抵给周家了,白纸黑字。" },
{ "action": "刘美琴把一张抵押单拍在柜台上。" },
{ "speaker": "C03", "line": "姐姐都嫁人了,还占着娘家铺子,不合适吧?", "delivery": "边说边拿起一块桂花糕" },
{ "action": "苏晴咬了一口桂花糕,又吐回盘子里。" },
{ "speaker": "C03", "line": "这糕也就那样,难怪没人买。" },
{ "action": "苏念擦干手,弯腰从柜台下面抱出一只旧铁皮点心盒。" },
{ "speaker": "C06", "line": "拿个破盒子干什么?" },
{ "action": "苏念打开铁皮盒,取出一份盖着红章的文件,摊在抵押单旁边。" },
{ "speaker": "C01", "line": "外婆的遗嘱,公证过的。", "delivery": "一字一顿" },
{ "speaker": "C01", "line": "铺子留给我,不是苏家的,更轮不到周家。" },
{ "speaker": "C01", "line": "我爸拿别人的东西去抵押,这张单子一文不值。" },
{ "action": "刘美琴抢过遗嘱看了两眼,脸色一下子青了。" },
{ "speaker": "C06", "line": "你外婆什么时候弄的这个?" },
{ "speaker": "C01", "line": "她走之前。她说这铺子,防的就是你们。" },
{ "action": "苏念把遗嘱放回盒子扣上盖,抬手指向门口。" },
{ "speaker": "C01", "line": "门在那儿,慢走不送。" },
{ "action": "刘美琴抓起包,拽着苏晴往外走。" }
]
},
{
"sceneId": "S09",
"characters": ["C03"],
"props": [],
"flow": [
{ "action": "老街上,苏晴回头瞪了一眼苏记的招牌,掏出手机拨了个号码。" },
{ "speaker": "C03", "line": "子昂哥,她有遗嘱。不过没关系。", "delivery": "压低声音,笑得发冷" },
{ "speaker": "C03", "line": "老街不是要拆了吗?看她还能守几天。" }
]
},
{
"sceneId": "S02",
"characters": ["C01"],
"props": ["P03"],
"flow": [
{ "action": "铺子里,苏念抱着铁皮盒坐下,手指摸到盒底,那里有一道细细的缝。" }
]
}
]
}
]
}
返回
File created successfully at: /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/闪婚老公藏不住了-script.json (file state is current in your context — no need to Read it back)
子 agent 思考
思考 1 秒
Bash Validate episode 1-3 script and check durations
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2 && node .claude/skills/novel-script/scripts/novel-script.mjs validate 闪婚老公藏不住了-script.json --outline $TMPDIR/o10.json; node .claude/skills/novel-script/scripts/novel-script.mjs render 闪婚老公藏不住了-script.json --md --outline $TMPDIR/o10.json | grep -n "秒\|s)\|预估" | head
返回
⚠️ 没给 --art,跳过场景/光照/道具对账 ✗ 2 处违规: 质量门未过:每集时长在目标 ±15% 内(第 2 集欠 6.6 秒(估 69.9s / 目标 90s);第 3 集欠 4.6 秒(估 71.9s / 目标 90s)) 质量门未过:钩子的具象在全集前 3 拍内兑现(hookBeat 认领)(第 1 集的 hookBeat [0, 0] 指向不存在的节拍;第 2 集的 hookBeat [0, 0] 指向不存在的节拍;第 3 集的 hookBeat [0, 0] 指向不存在的节拍) 5:> 预估 77.4 秒 / 目标 90 秒 · 开场钩子:冷开场:苏念抱着户口本跑上民政局台阶赴约领证,迎面撞上未婚夫搂着继妹下车——婚礼当天的背叛在第二拍就砸下来(第 0 场第 0 拍兑现) · 结尾悬念:刚领证的陌生丈夫接到奶奶·手术室的电话,民政局工作人员盯着他的名字愣住、偷偷拍照——他到底是谁? 42:顾承宴抬起头,目光落在她发间的桂花发夹上,停了一秒。 74:大厅里,工作人员盯着电脑屏幕上男方的名字愣了几秒,悄悄拿起手机拍了一张。 78:> 预估 69.9 秒 / 目标 90 秒 · 开场钩子:冷开场:顾承宴拎着苏念的行李箱推开小两居的门,接住上集他到底是谁的悬念——他给出的答案是顾氏的普通项目经理(第 0 场第 0 拍兑现) · 结尾悬念:奶奶要验货的消息刚落,苏念在鞋柜里看见一双价签六位数的手工皮鞋——这个项目经理不对劲 146:> 预估 71.9 秒 / 目标 90 秒 · 开场钩子:冷开场:继母刘美琴推开苏记的木门闯进来,苏晴跟在后面——收铺的人上门了(第 0 场第 0 拍兑现) · 结尾悬念:苏晴在门外打电话放话老街要拆;铺子里苏念摸到铁皮盒底有一道缝——盒子里还藏着什么? 215:| 集 | 场 | 场景 | 光照 | 人物 | 台词句数 | 估秒 | 227:| 角色 | 台词句数 | 字数 | 约合秒数 |
子 agent Bash Trim synopses and recount lengths
输入
cd /scratch/evals2/ws/001-open-brief/eternityspring__shuohao-skills/run-2/work; node -e '
const fs=require("fs");const a=require("./eps-51.json");
const R={52:[["深夜顾承宴睁开眼,开口第一句就是","深夜顾承宴醒来,第一句就是"],[",短期内无法苏醒",""]],
54:[[",这些年一直隐姓埋名躲着二叔",""],["他死不承认,收摊赶人。","他死不承认。"],["一口咬下便红了眼","一口便红了眼"]],
55:[["慢慢踱过来,",""],["一辆面包车横在路中,",""]],
56:[["本该昏迷的",""],["押走前他回头冷笑","押走前他冷笑"]],
57:[["顾承宴完好无损走上台","顾承宴现身"],["记者接连爆出周家资金链断裂宣告破产","记者爆出周家破产"],[",让她净身出门",""]],
59:[[",说她孙子当年就是在那里捡回一条命",""],["爬上梯子亲手","亲手"]],
60:[[",只留一句对不起",""],[",街坊举杯",""]]};
for(const e of a){for(const [x,y] of (R[e.ep]||[])){if(!e.synopsis.includes(x))throw x;e.synopsis=e.synopsis.replace(x,y)}}
fs.writeFileSync("eps-51.json",JSON.stringify(a,null,2)+"\n");
const b=JSON.parse(fs.readFileSync("eps-51.json","utf8"));
console.log(b.length,b.map(e=>e.ep+":"+[...e.synopsis].length).join(" "));'返回
10 51:144 52:141 53:142 54:142 55:139 56:149 57:144 58:149 59:133 60:147
子 agent 思考
done 51
后台子 agent「done 51」结束
思考 10 秒
两个问题:`hookBeat` 是从 1 开始计数的;第 2、3 集篇幅偏短。补的是冲突戏而不是寒暄:
Bash Fix hookBeat indexing, add conflict beats, revalidate
输入
node -e '
const fs=require("fs");const f="闪婚老公藏不住了-script.json";const s=JSON.parse(fs.readFileSync(f));
const ins=(ep,sc,afterText,beats)=>{const fl=s.episodes[ep-1].scenes[sc].flow;const i=fl.findIndex(b=>(b.line||b.action||"").startsWith(afterText));if(i<0)throw new Error("miss "+afterText);fl.splice(i+1,0,...beats);};
for(const e of s.episodes)e.hookBeat=[1,1];
ins(1,0,"守着个老太太",[{speaker:"C01",line:"三年,周子昂,我就值一块表?",delivery:"声音发抖,背挺得笔直"}]);
ins(1,2,"周先生,以后见面",[{speaker:"C03",line:"顾太太?姐姐,你连他叫什么都不知道吧?",delivery:"挽着周子昂,捂嘴笑"}]);
ins(2,0,"一年为期",[]);
ins(2,0,"苏念拿起笔",[{speaker:"C01",line:"我也加一条:外婆的铺子,你不许打主意。",delivery:"笔尖点着协议"},{speaker:"C02",line:"我对点心铺没兴趣。"}]);
ins(2,0,"平时吃公司食堂",[{speaker:"C01",line:"项目经理住这么好的房子,天天吃食堂?",delivery:"眯起眼睛"},{speaker:"C02",line:"公司分的。",delivery:"转身去拿碗,避开她的目光"}]);
ins(3,0,"苏晴咬了一口",[{action:"苏念放下擀面杖,看着盘子里那块被吐回来的糕。"},{speaker:"C01",line:"吐出来的那块,按原价十块赔。",delivery:"不咸不淡"}]);
ins(3,0,"刘美琴抓起包",[{speaker:"C06",line:"你别得意!你爸那边,你自己去交代!",delivery:"在门口回头,嗓门尖得刺耳"}]);
ins(3,1,"老街不是要拆",[{speaker:"C03",line:"放心,她嫁的那个打工的,护不住她。"}]);
fs.writeFileSync(f,JSON.stringify(s,null,2));' && node .claude/skills/novel-script/scripts/novel-script.mjs validate 闪婚老公藏不住了-script.json --outline $TMPDIR/o10.json; node .claude/skills/novel-script/scripts/novel-script.mjs render 闪婚老公藏不住了-script.json --md --outline $TMPDIR/o10.json | grep -o "预估 [0-9.]* 秒"返回
⚠️ 没给 --art,跳过场景/光照/道具对账 ✓ 3 集 / 7 场 / 58 句台词全部通过校验(预估 251.1s / 目标 270s) 预估 84.8 秒 预估 81.2 秒 预估 85.1 秒
All batches are done. Merging the 60 episodes and running the full quality check:
Bash Merge episode batches and run full validation
输入
ls work && node -e '
const fs=require("fs");const o=require("./work/outline.json");let eps=[];
for(const n of ["01","11","21","31","41","51"])eps=eps.concat(JSON.parse(fs.readFileSync(`work/eps-${n}.json`)));
eps.sort((a,b)=>a.ep-b.ep);o.episodes=eps;
console.log("eps",eps.length,"paywall",eps.filter(e=>e.paywall).map(e=>e.ep).join(","));
fs.writeFileSync("闪婚老公藏不住了-outline.json",JSON.stringify(o,null,2));' && node .claude/skills/novel-outline/scripts/novel-outline.mjs validate 闪婚老公藏不住了-outline.json返回
ep-plan.md eps-01.json eps-11.json eps-21.json eps-31.json eps-41.json eps-51.json outline.json 故事底本.md eps 60 paywall 10,20,30,40,50 ✓ 通过校验(stage=full)
思考 2 秒
The full validation passes on the first run. Before rendering, I'll read through all 60 synopses to check continuity:
Bash Print all synopses and hooks for review
输入
node -e 'for(const e of require("./闪婚老公藏不住了-outline.json").episodes)console.log(e.ep+(e.paywall?"★":"")+" "+e.synopsis+" ‖"+e.hook)'返回
1 苏念在民政局门口等周子昂领证,等来的却是他搂着苏晴。苏晴说自己怀孕了,周子昂当众退婚,嘲笑苏记破店不值他一块表,排队的人纷纷侧目。长椅上的顾承宴刚挂断奶奶电话,奶奶放话今天不结婚就不做手术。苏念转身问陌生人结不结婚,他答结。两人当场领证,苏念攥着结婚证从周子昂面前走过,周子昂嗤笑她嫁了个打工的。 ‖刚领证的陌生丈夫手机亮起,来电备注是奶奶·手术室,他到底是谁? 2 小两居里,顾承宴自称顾氏的普通项目经理,同姓只是巧合。他拿出婚前协议,一年为期,互不干涉、互不动心,苏念爽快签字。这套陈默连夜租下的房子漏洞百出,堂堂男人连燃气灶都打不着火。苏念发现他胃病犯了,随手煮了一碗面,他吃下第一口忽然愣住,多年来尝不出味道的舌头,竟然尝到了味道。 ‖他说明天带她去医院见奶奶,奶奶要验货,她能过关吗? 3 继母刘美琴带着苏晴闯进苏记点心铺,说苏建国早把铺子抵给了周家,让苏念三天内搬走,苏晴在一旁挑拣点心冷嘲热讽。苏念不吵不闹,从柜台下取出外婆的铁皮点心盒,打开亮出公证过的遗嘱:外婆把铺子直接留给了她,跟苏建国无关,更轮不到周家。刘美琴脸色铁青,拉着苏晴灰溜溜出门。 ‖苏晴在门外打电话放话老街要拆,看苏念还能守几天,拆迁从哪来? 4 苏念提着亲手做的桂花糕走进奶奶病房,以为要被挑剔。奶奶尝了一口忽然愣住,眼眶发红,说这是当年的味道。她当场褪下手上的传家玉镯,亲手戴到苏念腕上认下孙媳,随即同意手术。主治医生推着奶奶进手术室,苏念摸着玉镯不知所措,顾承宴在一旁看她的眼神变了。 ‖奶奶临进手术室低声问顾承宴,这丫头是不是当年那家的,他为何不答? 5 同居生活开始,卧室一张床一条地铺,两人隔着协议互不越界。半夜顾承宴胃痛蜷在地铺上,苏念披衣起来熬了一锅小米粥,守着他喝完。第二天陈默上门送文件,张嘴差点喊出顾总,硬生生改口叫顾哥,苏念只当是同事之间的玩笑,没多想。顾承宴在她背后瞪了陈默一眼。 ‖苏念收到唐果的消息,铺子出事了,出了什么事? 6 苏记门口被泼了满地红漆,拆迁办经理带着几个混混正把外婆传下的老招牌往下摘,街坊远远围观不敢上前。苏念冲上去护招牌被推开,顾承宴赶到,一边举手机录像取证一边报警,混混见势落荒而逃。他扶起苏念,亲手搬梯子把老招牌挂回门楣,擦掉上面的红漆。 ‖苏晴躲在街角,拍下顾承宴坐进一辆挂顾氏车牌的车,她会拿这张照片做什么? 7 苏建国过生日,苏念带着顾承宴回苏家。刘美琴和苏晴当众嘲笑他送的茶叶罐寒酸,周子昂抬手亮出腕上的名表,说这一块够买他一年工资。苏建国揭开茶罐一闻,脸色都变了,认出是有价无市的母树茶,一两难求,周子昂的名表顿时被比了下去。刘美琴笑容僵在脸上。 ‖苏晴宣布下周和周子昂订婚,点名请苏念来做点心看看什么叫豪门,这是什么局? 8 苏晴来铺子下了订婚宴的点心大单,还要求苏念当天到场现场演示,摆明了要在宾客面前羞辱她。唐果劝她别接这单气受,苏念把订单收下,说钱照赚,脸也不会丢。顾承宴接过订单扫了一眼,宴会地点那家酒店是顾氏旗下的,他没出声,把订单折好放回柜台。 ‖苏晴走出铺子对周子昂说戒指的事都安排好了,她要用戒指做什么? 9 订婚宴上,苏晴的钻戒不翼而飞,她当众指认苏念偷了,宾客围成一圈指指点点,周子昂要报警。顾承宴推门进场,酒店经理快步迎上,对他弯腰称先生,二话不说调出后厨监控:画面里是苏晴自己把戒指塞进点心盒。全场哗然,苏晴当众出丑,捂着脸说不出话。顾承宴牵起苏念的手离开。 ‖周子昂死死盯着酒店经理对顾承宴的态度,起了疑心,他会查出什么? 10★ 奶奶术后醒来,拉着苏念的手不肯放,叮嘱她常来。苏念回到铺子,拆迁办经理带人贴上强拆通知:三天后强拆,盖着顾氏集团公章,落款是总裁亲笔签名。街坊围在门口议论,苏念攥着通知,说倒要看看这个顾总是什么人。站在她身后的顾承宴看清那个签名,脸色骤变。 ‖【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记? 11 顾承宴连夜回到顾氏总部,让陈默调出老街拆迁项目的审批流程,一页页翻下去,发现拆迁合同上的总裁签名是二叔顾远山伪签代批的。他当场打电话叫停拆迁,把合同摔在二叔面前。顾远山笑眯眯地认错,说是下面人办事糊涂弄错了,保证不再插手老街,顾承宴冷着脸警告他别碰苏记。 ‖二叔关上门后拨出电话,说那个点心铺必须拆,他到底要对苏记做什么? 12 拆迁办经理带着一群人开到老街准备动手,接了个电话脸色一变,挥手撤走,苏念以为是街坊们的联名信起了作用。回到铺子,顾承宴非要帮她做桂花糕,揉面揉得面粉糊了一脸,苏念笑着踮脚替他擦掉。唐果在旁边越看越不对劲,悄悄提醒苏念他的手表和气场都不像打工的,苏念只当她想多了。 ‖门口进来一个穿高定的女人,要一盒桂花糕送给她的未婚夫顾承宴,她是谁? 13 林薇薇踩着高跟鞋进店,自称顾承宴的未婚妻,说两家长辈早定了婚约,把一张支票拍在柜台上让苏念拿钱走人,嘲讽一个卖点心的也配。苏念不急不恼,从包里取出结婚证摊在支票旁边,告诉她法律上顾承宴的妻子只有一个,未婚妻请去排下辈子的号。林薇薇脸色发青当场哑火,抓起包摔门而去。 ‖林薇薇一出门就拨给苏晴,两个女人结了盟,她们要怎么联手对付苏念? 14 苏念憋了一整天,晚饭时还是忍不住质问林薇薇是谁,顾承宴解释所谓婚约不过是长辈酒桌上的戏言,他从没当真。苏念嘴硬,说协议写着互不动心,她只是怕人找上门砸店。话音未落整栋楼停了电,她在黑暗里绊了一下,他伸手去扶,两人撞在一起,唇碰上了唇,谁都没有躲开。 ‖来电后苏念盯着协议上互不动心那一条,把协议塞进抽屉最底层,她是想毁约吗? 15 奶奶出院前把苏念叫到病房,拉着她戴玉镯的手,叮嘱下周寿宴一定要来,让顾家人都见见孙媳妇。苏念回到铺子,有人替林薇薇下了一千个点心的大单,她和唐果熬了一整夜赶工,天亮时对方一个电话取消,原料全砸在手里。苏念咬着牙把点心挨家分给老街街坊,一分钱没赚。 ‖苏晴躲在铺子后门,盯着外婆的铁皮盒放在哪里,她想偷什么? 16 苏念拎着保温饭盒到顾氏大楼给顾承宴送饭,前台上下打量她的旧外套,当着排队访客的面把她当蹭饭的往外轰。顾承宴从电梯里出来,当众牵起她的手走进电梯,身后陈默不动声色地让人把前台调了岗。电梯门关上前他按的是顶楼,苏念疑惑,他只说带她去天台吃饭。 ‖二叔站在走廊尽头,看着两人的背影,他认出这个点心铺的女孩了吗? 17 奶奶出院回到顾家老宅,二叔顾远山拎着补品来探望,话里话外提起老街项目,说那片旧房早该拆了。奶奶放下茶杯冷了脸,让他别打苏记的主意。顾承宴回到小两居,看着灶上苏念给他留的粥,决定寿宴那天向她坦白一切,伏在桌前写了一封坦白信,夹在门边的外套口袋里。 ‖坦白信被风吹到地上,压在苏念鞋下,她没看见,寿宴那天他还来得及说吗? 18 奶奶寿宴设在酒店宴会厅,苏念戴着玉镯以孙媳妇身份到场,顾承宴说公司临时有事晚些才到。满场宾客打量这个点心铺出身的孙媳妇,窃窃私语。林薇薇和苏晴一改往日嘴脸,端着香槟假意亲近,说陪她去补妆,一左一右挽着她走到人少的休息区,苏晴的手指有意无意碰了碰那只玉镯。 ‖一声脆响,玉镯碎在地上,苏晴尖叫苏念摔了传家宝,苏念要怎么自证清白? 19 宾客围拢过来指指点点,林薇薇高声要求顾家把这个手脚不干净的孙媳妇赶出去。奶奶拄着拐杖走来,把苏念拉到身边,抬起手腕亮出真镯,开席前她怕有人使坏,早把真镯收回自己手上,地上碎的是苏晴自带的假货。酒店经理调出休息区监控,画面里苏晴从包里掏出假镯摔碎。林薇薇和苏晴在众目睽睽下狼狈退场。 ‖主持人敲响话筒,说下面有请顾氏集团总裁致辞,这个从不露面的总裁是谁? 20★ 苏念端着刚切好的寿桃蛋糕回头,聚光灯下走上台的人西装笔挺,正是她那个自称项目经理的契约丈夫。全场宾客起立齐喊顾总,酒店经理在台侧深深鞠躬,奶奶笑着点头。不会用的燃气灶、陈默那声差点出口的顾总、酒店经理的那一躬,所有不对劲一下子全对上了,她手里的蛋糕掉在地上,台上的顾承宴握着话筒看着她。 ‖【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗? 21 宴会厅外的老街深夜,苏念一个人往前走,顾承宴追上来拉住她解释,说自己不是故意瞒她。苏念甩开他的手,说她只想知道这场婚姻里哪句是真的。回到小两居,她沉默着收拾行李,拉开他的抽屉找自己的证件,却翻出一张拆迁通知复印件。她把结婚证摊在旁边比对,落款的总裁签名和结婚证上他的签名一笔一画都一样。 ‖签名对上了,苏念会认定顾承宴从闪婚那天起就是冲着苏记来的吗? 22 苏念搬回苏记点心铺住,认定顾承宴闪婚就是为了骗走铺子好拆。此后每天一早,顾承宴都站在铺子门口等,她拉下卷帘门不开。陈默拎着文件来替老板解释,话没说两句就被苏念抄起扫帚赶出门,狼狈地躲到顾承宴身后。街角,苏晴看着门口这一幕笑出了声,掏出手机给二叔发消息,说两人已经闹翻了。 ‖苏晴给二叔报信,两人下一步要趁冷战对苏记做什么? 23 顾承宴带着律师走进苏记,把拆迁合同摊在柜台上,当着苏念的面做笔迹鉴定。律师把合同签名和他的亲笔签名放大比对,逐处指出起笔和收笔的破绽,结论是签名系伪造,顾承宴是被人冒名。苏念握着合同的手松了下来,嘴上仍硬,却忍不住追问到底是谁伪造的。顾承宴沉默片刻,说出了二叔两个字。 ‖听到二叔两个字,苏念脑中闪过外婆生前提过的一个人,那人究竟是谁? 24 苏建国来铺子劝女儿别跟女婿置气,话没说完,刘美琴追进门把他拽回了家。苏家客厅里两人大吵,刘美琴从苏建国嘴里得知那个打工女婿竟是顾氏总裁,当场变脸,连夜把苏念叫回家,逼她立刻回顾家当好少奶奶,好让娘家沾光。苏念当着父亲的面拒绝,说她的婚事不是继母的生意,转身离开。 ‖被拒的刘美琴转头联系林薇薇,要把苏念的消息卖给谁、卖什么? 25 顾承宴在苏记门口支起一张小桌,照着记忆学做桂花糕,一屉接一屉做坏,糊的塌的摆了十几屉,老街街坊围过来看热闹。卷帘门后的苏念看着他满手面粉还在揉,终于心软,推门出来尝了一口,说太甜了,顿了顿又低声说回家吧。顾承宴愣了一下,笑着收起小桌。两人并肩往家走,远处一辆车悄悄跟了上来。 ‖和好后回家的路上,那辆一直远远跟着的车里坐的是谁? 26 和好后的小两居,顾承宴第一次正式下厨,苏念站在他身后握着他的手教他掂勺切菜,他一本正经地记笔记。饭桌上他状似随口地提起,那份婚前协议的条款可以重新谈。苏念低头扒饭装没听见,耳朵却红透了。夜里两人下楼扔垃圾,小区门口站着周子昂,手里攥着一张苏晴的孕检单,上面的日期对不上。 ‖周子昂拿着一张假孕检单堵上门来,他想从苏念这里要什么? 27 老街上,周子昂拦住苏念,说自己发现苏晴假怀孕骗了他,后悔当初退婚,拉着她的胳膊要复合。顾承宴从车上下来,把苏念护到身后,当着他的面打了一个电话,宣布终止周家公司在顾氏的全部分包。周子昂这才明白眼前这个打工的是谁,脸色煞白,扑通一声跪在地上求饶,被保安架着拖走。 ‖周子昂被拖走前喊出苏晴背后另有其人,那个人是谁? 28 苏记一早开门,几位客人吃完点心没多久就上吐下泻,被救护车接走。卫生局的人随即赶到,当场贴了封条封店。网上流言炸开,唐果捧着手机一条条念骂苏记黑心的评论,苏念被网暴到不敢看。夜里她一个人在后厨清点原料想找原因,在糯米粉袋后面摸出一包从没见过的添加剂。 ‖这包不属于苏记的添加剂,是谁趁夜放进后厨的? 29 唐果翻出铺子门口的监控,凌晨三点有人撬开后门溜进后厨,正是拆迁办经理。唐果当场开直播把监控放给网友看,医院那边主治医生也拿出化验单,证实客人摄入的是外来添加剂,与苏记原料无关。直播间弹幕瞬间反转,苏记解封,拆迁办经理被警察押走。他上车前一直盯着街角停着的那辆车。 ‖拆迁办经理被押走时一直望着的那辆车,是二叔的吗? 30★ 全市美食大赛开放报名,苏念满怀期待回到铺子准备参赛,却发现外婆的铁皮点心盒锁扣被撬过,盒里的桂花糕秘方原件不翼而飞。她翻遍整个铺子一无所获。这时店里的电视正播着大赛报名现场,苏晴作为选手代表站在演播厅接受记者采访,笑着说要用独家桂花糕秘方参赛,夺下冠军。 ‖【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗? 31 苏念看着空了一半的铁皮盒,决定报名美食大赛,把外婆的桂花糕亲手赢回来,唐果当场报名做她的助手。顾承宴提出打个招呼让主办方关照,苏念一口回绝,说要堂堂正正地赢,让所有人看清谁才是苏记的传人。同一时刻,顾氏总部办公室里,顾远山笑着把一叠厚厚的现金推到大赛评委面前,评委犹豫片刻收下。 ‖收了钱的评委问二叔要怎么处理苏念,二叔会给出什么指令? 32 美食大赛海选现场,选手挤满演播厅。苏晴摆出精致的网红点心,当众嘲笑苏念的手工点心土气,像菜市场摆摊的。苏念不接话,只把刚蒸好的桂花糕端上评审台,唐果在旁递盘。大屏公布成绩,苏念以海选第一晋级,苏晴压着最后一名线勉强过关,脸色铁青,周围选手窃窃私语。 ‖林薇薇以赞助商身份坐到评委席旁边,她要在接下来的比赛里做什么? 33 备赛的夜里,小两居的厨房灯一直亮到凌晨,顾承宴陪苏念一屉一屉地练,替她揉面、看火、记时间。苏念累得靠在他肩上睡着,他一动不敢动,最后轻轻把外套盖在她身上,低头看了她很久。另一边,苏记铺子的监控画面在深夜闪了一下,一个黑影撬开后门,溜进了原料间。 ‖深夜溜进苏记原料间的黑影是谁,他动了什么? 34 复赛开场,收了钱的评委专挑苏念点心的外形,说花样老旧上不了台面,林薇薇在赞助商席带头起哄,观众跟着嘘声一片。苏念当场捏出一道外婆传下的老式花样,讲清每一道褶子的来历,另外两位评委点头加分,她勉强晋级。唐果在台下长出一口气。半决赛前夜,苏念检查原料,没发现袋子里的糯米粉已被换成普通面粉。 ‖半决赛开锅那一刻,苏念才会发现原料被调包,她还能怎么做? 35 半决赛开始,苏念打开原料袋,糯米粉变成了普通面粉,计时已经在走。唐果急得要找裁判,苏念按住她,决定临场改做外婆的老式酥饼,面粉起酥正合适。酥饼出炉层层起皮,香气压过全场,评委们尝后连连点头,苏念反超晋级决赛。后台,苏晴冲着林薇薇压低声音吼,说不是保证一定能拦住她吗。 ‖接连失手的苏晴和林薇薇,决赛会拿出什么更狠的招? 36 陈默把查到的转账记录送进总裁办,评委被收买证据确凿,顾承宴当场要揭发。晚上回到小两居,苏念摁住他的手机,说现在揭只会打草惊蛇,要留到决赛当着全场和镜头揭开。两人对着一张白纸写下计划,第一次像搭档一样并肩。另一边,顾氏董事会上,顾远山提出顾承宴利用赞助为妻子开后门,要求他立即回避。 ‖董事会逼顾承宴回避赞助,他会怎么接这一刀? 37 决赛预热,镜头对准选手,收钱的评委当众质疑苏念能一路晋级全靠顾氏赞助走后门,台下哗然。顾承宴从观众席站起,当场宣布顾氏退出本届赞助、本人全程回避,然后坐回观众席,只为她一个人鼓掌。记者的闪光灯疯狂闪成一片,苏念红了眼眶。后台,苏晴翻开偷来的秘方准备备料,却发现最后一页是空白的。 ‖秘方的最后一页为什么是空白,苏晴拿着残缺的方子要怎么比? 38 决赛第一轮,苏晴照着偷来的秘方做桂花糕,造型精致,色泽透亮,台下一片惊叹。苏念神色平静,做的竟是一模一样的桂花糕,唐果在旁看得直冒汗。评委当场打分,苏晴以明显的分差领先,苏晴得意地朝苏念扬起下巴。苏念不急不恼,看着她手里的糕,轻声问她桂花糕还差最后一步,知不知道是什么。 ‖苏念说的最后一步到底是什么,苏晴的高分桂花糕会不会露馅? 39 决赛终轮,苏念做出外婆那道没写进秘方的最后一步,桂花糕放凉依旧软糯回甘,苏晴的糕一凉就塌成一团。苏念夺冠,顾承宴在观众席起身鼓掌。记者围上评审台,收钱的评委扛不住镜头,当众崩溃承认收了钱。苏晴被当场取消资格,被工作人员拖下台时疯狂挣扎,冲着全场喊是二爷让她偷的。 ‖苏晴喊出的二爷是谁,他为何要偷一张点心秘方? 40★ 夺冠当晚,苏记铺子关了门,苏念把奖杯放在柜台上,一个人整理外婆的铁皮盒,手指摸到盒底有一层松动的夹层。她撬开夹层,里面躺着一张泛黄的旧照片:小时候的她扎着桂花发夹,牵着一个满脸是伤的少年站在铺子门口。苏念盯着少年的眉眼,越看越眼熟,慢慢把照片翻了过来。 ‖【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过? 41 夺冠当晚,苏念攥着铁皮盒夹层里的旧照片回到小两居,顾承宴不在。她推开从没进过的书房,在抽屉里看见一个旧相框,里面是同一个满脸是伤的少年,衣服和额角伤口都对得上。她手指发抖,把两张照片并排放在桌上,十五年前那个下午一下子清晰起来。门锁响了,顾承宴推门进来,看见她手里的两张照片。 ‖他看见她手里的两张照片,会承认自己就是那个少年吗? 42 顾承宴没有再瞒,承认自己就是照片里的少年。十四岁那年他被绑架,逃出来满身是伤躲进苏记,外婆把他藏在后厨,小苏念塞给他一块桂花糕,那是他十五年里尝到的唯一甜味。民政局那天,他一眼认出她发间的桂花发夹,才答应了结婚。苏念红着眼扑进他怀里。良久,她抬头问那天追来的二爷,是不是他二叔。 ‖那天追来的二爷,真的是顾承宴的亲二叔吗? 43 顾承宴带苏念回老宅见奶奶。奶奶看着旧照片红了眼,证实当年报案时绑匪在勒索电话里提过二爷,人却一直没抓到。奶奶握着苏念的手道谢,说当年救下承宴的原来是苏家。二叔提着补品进门,目光扫过苏念手里的照片,笑容僵了一秒,寒暄几句便告辞。出了大门,他打给林薇薇,说明天的董事会提前。 ‖二叔认出了那张照片,提前召开的董事会要对顾承宴下什么手? 44 董事会上,二叔联合林薇薇家的股份发难,指责顾承宴为私情叫停老街项目,提议罢免。表决前一刻,苏念带着律师闯进会议室。律师当众出示拆迁合同签名的伪造鉴定,以及项目资金流进二叔私人账户的明细。满座董事哗然,二叔当场被停职,林薇薇家宣布撤股。二叔走出会议室,停在苏念面前,低声说她外婆当年也是这么不知死活。 ‖二叔一句外婆当年不知死活,外婆的死难道另有隐情? 45 苏建国病倒住院,苏念赶到病房。父亲拉着她的手第一次道歉,说这些年由着刘美琴欺负她、差点卖了外婆的铺子,是他没用,出院就和刘美琴离婚。苏念别过脸擦掉眼泪,替他掖好被角。入夜下起大雨,她回到苏记,门口站着一个浑身湿透的人,是苏晴,头发贴在脸上,手里死死攥着什么东西。 ‖一向和她作对的苏晴,为什么在雨夜湿透了找上门? 46 苏念把苏晴让进铺子,递上热毛巾。苏晴哭着说二叔拿到秘方就翻脸,周子昂也把她扔出了门,她什么都没有了。她掏出一支录音笔交给苏念,里面是二叔让她偷秘方的原话,还有一句要让那铺子和老太太一样消失。苏晴说这是她留的后手,现在只想还姐姐一个公道。苏念攥紧录音笔问老太太是谁,苏晴说,他提到了你外婆的死。 ‖外婆的死,难道是二叔一手造成的? 47 苏念把录音笔交给顾承宴,两人在灯下反复听。他想立刻报警,她按住他的手,说单凭录音扳不倒二叔,要等找到当年的绑匪,人证物证一起出手。夜深,两人并肩坐在沙发上,契约一周年将近,他几次想提协议,她也欲言又止,最后谁都没开口。他回房后,苏念翻出婚前协议,在日历上圈出到期日,就在后天。 ‖协议后天就到期,两人都没说出口的话,还来得及说吗? 48 协议到期前夜,苏念做好夜宵送到顾氏总部。总裁办的门虚掩着,她刚抬手要敲,听见顾承宴对陈默说,协议到期就结束,一天都不能多。她端着保温盒在门外站了很久,悄悄转身离开。回到小两居,她把衣服一件件叠进行李箱,把婚前协议摊在桌上,给他发去消息:明早九点,民政局,把手续办了。 ‖顾承宴口中的结束,真的是要和她离婚吗? 49 第二天一早,苏念独自坐在民政局门口的长椅上,一年前她就是在这里问一个陌生人结不结婚。九点过了,十点过了,顾承宴没有来,电话也打不通。民政局工作人员认出她是当年闪婚的姑娘,给她倒了杯热水,问要不要再等等。苏念摩挲着结婚证说再等一会儿,心里越来越空。手机终于响了,屏幕上是陈默的名字。 ‖顾承宴为什么失约,陈默这通电话要告诉她什么? 50★ 陈默在电话里声音发抖,说顾承宴来民政局的路上刹车失灵出了车祸,正在抢救。苏念赶到医院,手术室的灯一直亮着。陈默把车里找到的东西交给她,一个戒指盒,一份重新写好的婚书。她这才明白,他说的结束是结束契约,今天他是来重新求婚的。苏念抱着戒指盒蹲在走廊上痛哭。手术室门开,医生说病人可能醒不过来了。 ‖【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵? 51 重症病房里,顾承宴插满管线一动不动。苏念握着他的手守了一整夜,把一年里没敢说的话全说出口,第一次承认她早就喜欢上了这个装成打工仔的男人。二叔捧着鲜花进门,红着眼眶嘘寒问暖,话锋一转却说集团不能一日无主,董事会正等他主持大局。苏念挡在床前冷脸送客。门刚合上,病床上那只手的手指轻轻动了一下。 ‖顾承宴的手指动了,他是真要醒了,还是苏念熬了一夜的错觉? 52 深夜顾承宴醒来,第一句就是刹车被人动过。苏念又哭又笑,陈默连夜赶到。三人在病房里定计:封锁他已苏醒的消息,对外宣布他昏迷不醒,让二叔以为大局已定,放心接管集团,自己把马脚露出来。顾承宴握着苏念的手,说这一回换她陪他演戏。第二天医院走廊挤满记者,主治医生按计划宣布,病人陷入深度昏迷。 ‖假昏迷的消息放出去了,二叔会多快咬钩? 53 顾承宴昏迷的消息一出,二叔以代理总裁身份坐进总裁办,椅子还没坐热就签下第一道命令:一周内强拆老街,苏记点心铺首当其冲。前些天刚被撤股的林薇薇提着礼盒上门,低头认错,愿拿林家的资源换顾氏未来的位子。二叔笑着收下。门一关,他站在落地窗前对着空荡的办公室低声说,大哥家的种,这次一个都不留。 ‖一周强拆令已下,苏念的铺子还撑得住几天? 54 陈默顺着当年的报案记录摸到老街,认出巷口那个瘸腿修鞋匠就是十五年前的绑匪。他死不承认。苏念把他请进苏记,从外婆的铁皮点心盒里取出一块桂花糕递过去。修鞋匠一口便红了眼,当年他逃出来饿了三天,是苏记的老太太塞给他一块一样的糕。他终于答应作证。修鞋摊对面,一辆车的车窗缓缓摇下,是二叔的人。 ‖车里那双眼睛盯上了证人,二叔会先下手吗? 55 苏念陪修鞋匠去警局,刚出老街口,黑衣人推倒修鞋匠,把苏念拖上车。被拽进车门前,她把手伸进口袋按了一下。城郊废弃仓库里,苏念被绑在椅子上,二叔逼她交出苏晴给的录音笔,否则让她和她外婆一样消失。苏念咬定东西不在身上。二叔俯下身说,十五年前他在那间铺子门口跟丢了一个孩子,今天不会了。 ‖顾承宴还躺在病房装昏迷,谁能赶来救苏念? 56 苏念故意激二叔,一句句引他亲口说出当年雇人绑架顾承宴、逼走外婆、伪签拆迁、动刹车的经过,口袋里的录音笔一直亮着红灯。二叔起疑要搜身,仓库大门被撞开,顾承宴带着警察和陈默冲进来,把苏念护在身后。修鞋匠当面指认二叔就是当年的二爷,录音与证词齐出,二叔被按倒戴上手铐。押走前他冷笑,你们以为林家就干净吗。 ‖二叔临走那句林家不干净,林薇薇还藏着什么? 57 顾氏在酒店宴会厅开发布会,顾承宴现身,公布二叔伪签、买凶、谋害的全部证据,宣布复出。台下林薇薇想溜,被警察以涉案带走。记者爆出周家破产。苏建国在侧厅告诉苏念,他已和刘美琴离婚。苏念手机亮起,苏晴发来短信,说要离开这座城市重新开始。记者追问二人是不是契约婚姻,台上顾承宴看着苏念,没有回答。 ‖顾承宴为什么不回答,这段婚姻在他心里到底算不算数? 58 风波过后,苏记照常开门。苏念把那份被车祸拖过到期日的婚前协议放在柜台上,说当初签的是一年,今天该有个了结。顾承宴没看条款,当着她的面把协议撕成碎片,从身后拿出一盒自己做的桂花糕,这回一屉都没做坏。他单膝跪下,说那年她给的一块糕甜了他十五年,往后想换他给她做一辈子。苏念咬了一口,说太甜了,然后说好。 ‖求婚成了,奶奶憋了一年的婚礼要怎么办? 59 顾家老宅里,奶奶翻出压箱底的红绸和礼单,非要给两人补办婚礼,地方不选酒店,偏选老街。老街上,街坊们搬梯子挂灯笼,唐果架着手机直播,顾承宴亲手给苏记老招牌重新刷漆,苏念在下面扶着梯子。婚礼前夜,铺子门口多了一个没有署名的包裹,苏念拆开,里面是外婆年轻时的照片和一封信。 ‖匿名包裹是谁寄来的,那封信里写了什么? 60 信是苏晴寄来的,她回老家翻出外婆当年的手写菜谱,物归原主。老街婚礼当天,苏记招牌挂在街心,奶奶和苏建国坐主桌,唐果和陈默当伴娘伴郎,顾承宴牵着苏念走过整条老街。一年后苏记第二家店开张,两人又走进民政局补拍结婚照,她发间别着那支桂花发夹。顾承宴低声问下个周年想要什么,苏念把他的手放在自己小腹上。 ‖苏念小腹里,是不是已经有了苏记的第四代传人?
思考 10 秒
通读下来情节连贯,五个付费卡点集的集尾都是强悬念。只修一处小毛病:第 54 集从装文件的铁皮盒里取桂花糕,不合理。修完后渲染全部产出:
Bash Fix ep54, revalidate, render outline and script reports
输入
node -e '
const fs=require("fs");const f="闪婚老公藏不住了-outline.json";const o=JSON.parse(fs.readFileSync(f));
const e=o.episodes[53];const before=e.synopsis;e.synopsis=e.synopsis.replace("从外婆的铁皮点心盒里取出一块桂花糕递过去","照外婆的方子蒸了一屉桂花糕,递过去一块");if(before===e.synopsis)throw "nochange";
console.log(e.propIds);fs.writeFileSync(f,JSON.stringify(o,null,2));' && O=.claude/skills/novel-outline/scripts/novel-outline.mjs S=.claude/skills/novel-script/scripts/novel-script.mjs && node $O validate 闪婚老公藏不住了-outline.json && node $O render 闪婚老公藏不住了-outline.json --md > 闪婚老公藏不住了-outline.md && node $O render 闪婚老公藏不住了-outline.json --html > outline-report.html && node $S validate 闪婚老公藏不住了-script.json --outline 闪婚老公藏不住了-outline.json && node $S render 闪婚老公藏不住了-script.json --md --outline 闪婚老公藏不住了-outline.json > 闪婚老公藏不住了-script.md && node $S render 闪婚老公藏不住了-script.json --html --outline 闪婚老公藏不住了-outline.json > script-report.html && ls -la && head -60 闪婚老公藏不住了-outline.md && grep -n "^## \|^### 第\|^#" 闪婚老公藏不住了-outline.md | head -30返回
[ 'P03' ] ✓ 通过校验(stage=full) ⚠️ 没给 --art,跳过场景/光照/道具对账 ✓ 3 集 / 7 场 / 58 句台词全部通过校验(预估 251.1s / 目标 270s) total 1088 drwxr-xr-x 12 user wheel 384 Oct 17 22:57 . drwxr-xr-x 4 user wheel 128 Oct 17 22:47 .. drwxr-xr-x 4 user wheel 128 Oct 17 22:47 .claude -rw-r--r-- 1 user wheel 275983 Oct 17 22:57 outline-report.html -rw-r--r-- 1 user wheel 244 Oct 17 22:47 premise.md -rw-r--r-- 1 user wheel 58488 Oct 17 22:57 script-report.html drwxr-xr-x 12 user wheel 384 Oct 17 22:56 work -rw-r--r-- 1 user wheel 9026 Oct 17 22:55 人物小传.md -rw-r--r-- 1 user wheel 88528 Oct 17 22:57 闪婚老公藏不住了-outline.json -rw-r--r-- 1 user wheel 75041 Oct 17 22:57 闪婚老公藏不住了-outline.md -rw-r--r-- 1 user wheel 16450 Oct 17 22:57 闪婚老公藏不住了-script.json -rw-r--r-- 1 user wheel 9479 Oct 17 22:57 闪婚老公藏不住了-script.md # 闪婚老公藏不住了 · 短剧改编大纲 > 60 集 × 1.5 分钟 · 女频·先婚后爱甜宠(身份马甲 + 打脸) · 抽核改编 ## 质量门 - ✅ 主角组 1–5 人 - ✅ 重要配角 ≤ 10 人 - ✅ 功能性角色 ≤ 10 人 - ✅ 主场景 ≤ 10 - ✅ 叙事道具 ≤ 8 件 - ✅ 一次性场景已标注规避方案 - ✅ 爽点间隔 ≤ 3 集,无真空区 - ✅ 第 1 集有钩子 - ✅ 大爆点不在最后一集才首次出现 - ✅ 每集梗概三栏齐全(含【钩子】【悬念】) - ✅ 三人以上同框已标注拆解方案 - ✅ 生成难点已进预警清单 - ✅ 场景/角色/道具引用完整,无失业角色、无空转场景、无零集道具 - ✅ 梗概是叙述体,无引号对白 ## 一、改编说明 **一句话核心** 被当众退婚的点心铺女孩随手闪婚了顾氏总裁,一年契约从互不动心过成非你不可,她守着的老铺子藏着他十五年前活下来的秘密。 ### 保留 | 内容 | 理由 | 原文依据 | | --- | --- | --- | | 民政局门口当众退婚、当场闪婚的开局 | 第 1 集钩子:羞辱和翻盘在九十秒内完成,标准先婚后爱起手 | 苏念转身问长椅上的陌生男人:你结婚吗?顾承宴说:结。 | | 顾承宴隐藏身份、租小两居扮打工人 | 马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点 | 顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。 | | 外婆的铁皮点心盒(遗嘱 + 秘方 + 旧照片) | 一件道具串起护铺、比赛、十五年前旧案三段,前后呼应 | 外婆临终把铺子直接留给了她,遗嘱和桂花糕秘方锁在一只铁皮点心盒里。 | | 十五年前点心铺救下少年的旧缘 | 把甜宠的宿命感和反派的罪证拧成同一根绳,终局有分量 | 照片背后外婆写着:那天追来的人,叫他二爷。 | | 撕婚前协议、桂花糕求婚的结局 | 契约婚姻的标准收束,道具闭环 | 顾承宴当着她的面撕了婚前协议,用一盒桂花糕重新求婚,在老街补办婚礼。 | ### 砍掉 | 内容 | 理由 | | --- | --- | | 唐果与陈默的欢喜冤家感情线 | 九十秒一集装不下第二对 CP,两人只保留功能戏份,避免稀释主 CP 糖分 | | 苏念出国进修三年的事业线 | 时间跳跃打断契约一年的倒计时,事业高光由美食大赛夺冠承担 | | 顾承宴母亲车祸旧案与大房二房三十年恩怨 | 与十五年前绑架案功能重叠,二叔的罪只保留绑架与伪签强拆两条,观众记得住 | | 周子昂破产后黑化跟踪的复仇线 | 反派梯队已有二叔压轴,周子昂在第 27 集被打脸出局即可,再黑化抢戏 | | 苏晴的网红经纪公司与流量造假行业线 | 行业戏需要新场景新角色,性价比低,苏晴的转变改由被二叔利用后倒戈承担 | | 外婆与顾老夫人年轻时是闺中好友的往事 | 巧合叠巧合会削弱十五年前救人的分量,奶奶只保留一口吃出当年味道 | ### 合并 | 内容 | 理由 | | --- | --- | | 林薇薇吸收「顾家安排的联姻对象」与「董事会股东代表」两个功能 | 同一个情敌兼二叔盟友,不需要两张脸 | | 拆迁办经理兼任二叔派去老街闹事的现场执行人 | 强拆戏和闹事戏都由他出面,少一个功能角色 | | 酒店经理贯穿订婚宴、寿宴、发布会三场宴会厅戏 | 他对顾承宴的态度就是马甲的温度计,一张脸复用三次 | ### 风险与对策 | 内容 | 对策 | | --- | --- | | 马甲戏拖太久观众会烦 | 第 20 集掉马,之后转追妻与联手对敌,马甲戏不超过全剧三分之一 | | 女频打脸集中在前段,后段变成商战闷戏 | 后段每三集至少一次撒糖或护妻,董事会戏只给结果不给过程 | 1:# 闪婚老公藏不住了 · 短剧改编大纲 5:## 质量门 22:## 一、改编说明 26:### 保留 36:### 砍掉 47:### 合并 55:### 风险与对策 64:## 二、人物表 88:## 三、爽点表 124:## 四、分集梗概 126:### 第 1 集 136:### 第 2 集 146:### 第 3 集 156:### 第 4 集 166:### 第 5 集 176:### 第 6 集 186:### 第 7 集 196:### 第 8 集 206:### 第 9 集 216:### 第 10 集 226:### 第 11 集 236:### 第 12 集 246:### 第 13 集 256:### 第 14 集 266:### 第 15 集 276:### 第 16 集 286:### 第 17 集 296:### 第 18 集 306:### 第 19 集 316:### 第 20 集
思考 2 秒
渲染出来的 Markdown 不会单独标付费卡点,我在文件里补上卡点表,并在对应集的标题上加标记:
Bash Add paywall section and markers to outline markdown
输入
node -e '
const fs=require("fs");const o=require("./闪婚老公藏不住了-outline.json");const f="闪婚老公藏不住了-outline.md";let md=fs.readFileSync(f,"utf8");
const pw=o.episodes.filter(e=>e.paywall);
for(const e of pw)md=md.replace(new RegExp(`^### 第 ${e.ep} 集$`,"m"),`### 第 ${e.ep} 集 | 🔒 付费卡点`);
const rows=pw.map((e,i)=>`| ${i+1} | 第 ${e.ep} 集 | ${e.hook.replace("【付费卡点】","")} |`).join("\n");
const sec=`## 付费卡点\n\n第 1–10 集免费;以下五集为卡点集,集尾放全剧级强悬念,下一集开头兑现。\n\n| # | 卡点集 | 集尾悬念 |\n| --- | --- | --- |\n${rows}\n\n`;
md=md.replace("## 一、改编说明",sec+"## 一、改编说明");fs.writeFileSync(f,md);' && grep -n "付费卡点" 闪婚老公藏不住了-outline.md | head -20返回
22:## 付费卡点 43:| 顾承宴隐藏身份、租小两居扮打工人 | 马甲是前二十集甜宠和打脸的发动机,掉马即第 20 集付费卡点 | 顾承宴自称顾氏的普通项目经理,陈默连夜租下一套小两居。 | 228:### 第 10 集 | 🔒 付费卡点 232:- **【钩子】** 【付费卡点】通知上那个总裁签名不是他签的,到底是谁冒用他的名字要拆苏记? 328:### 第 20 集 | 🔒 付费卡点 332:- **【钩子】** 【付费卡点】苏念转身就走,顾承宴扔下话筒追出去,宴会厅大门在他面前关上,她还会原谅这个骗了她一路的丈夫吗? 426:### 第 30 集 | 🔒 付费卡点 430:- **【钩子】** 【付费卡点】苏晴对着镜头笑说,这个方子是她外婆传下来的——她偷走秘方,还要连外婆一起抢走吗? 526:### 第 40 集 | 🔒 付费卡点 530:- **【钩子】** 【付费卡点】照片背面是外婆的字,那天追来的人,叫他二爷——苏晴口中的二爷,竟然在十五年前就出现过? 621:### 第 50 集 | 🔒 付费卡点 625:- **【钩子】** 【付费卡点】顾承宴还能醒过来吗?那辆车的刹车,为什么偏偏在今天失灵?
思考 9 秒
premise.md 要的三项都已写成文件,放在当前目录。剧名《闪婚老公藏不住了》,题材是女频·先婚后爱甜宠(你选的第 2 个方案),原创,60 集 × 1.5 分钟。大纲的 14 道自动质量检查和剧本的检查都已通过。 **一句话故事:** 被未婚夫当众退婚的点心铺女孩苏念,在民政局门口随手拉了个陌生人领证。她以为嫁的是顾氏集团的普通员工,其实他是总裁顾承宴。两人签的是一年契约婚姻,最后假戏成真;她守着的老点心铺,正藏着他十五年前被绑架后活下来的秘密。 | 交付 | 文件 | | --- | --- | | 1. 主要人物小传 | `人物小传.md`:主角组 4 人(苏念、顾承宴、继妹苏晴、二叔顾远山)写全小传,另有 7 个重要配角、8 个功能角色和人物关系图 | | 2. 60 集分集大纲 | `闪婚老公藏不住了-outline.md`,评审页面 `outline-report.html`(双击就能打开) | | 3. 第 1–3 集完整剧本 | `闪婚老公藏不住了-script.md`,评审页面 `script-report.html` | **大纲:** - **付费卡点**在第 10、20、30、40、50 集,前 10 集免费: - 第 10 集:强拆通知上的签名不是他签的 - 第 20 集:寿宴上他作为总裁登台,身份当场曝光 - 第 30 集:秘方被苏晴偷走拿去参赛 - 第 40 集:旧照片背面写着"那天追来的人,叫他二爷" - 第 50 集:他赶去民政局的路上出了车祸 - 大纲开头有一张卡点汇总表,五个卡点集的标题也都标了出来。 - **爽点**共 31 个,其中大爆点 9 个,相邻两个最多隔 3 集。大爆点在第 9、19、20、29、39、44、56、58 集各有一个。 - **场景**共 11 个:10 个主场景,外加一个只在结局出现的废弃仓库。 - 第 6 集起每集都由并行子代理按我写的逐集规划扩写,我从头到尾读了一遍检查前后衔接,只改了一处不合理的细节。 **剧本:** 3 集共 7 场、58 句台词,每集按语速估算 81–85 秒,在 90 秒 ±15% 范围内。每集第一拍都是带动作的冷开场,最后一拍留悬念。 **需要你知道的几点:** - 你说过不用再问,所以原本要你确认的骨架方案(砍哪条线、保留哪些人、大爆点放第几集)我没停下来等确认,直接写完了。具体取舍写在大纲开头的"改编说明"里,想调整告诉我,我改完重跑检查。 - 大纲 Markdown 里的付费卡点表和标题标记是渲染后另外加上去的。如果以后重新生成这份 Markdown,需要再补一次。 - 没有做场景美术设定,所以剧本检查跳过了场景、光照、道具这一项核对。 中间稿放在 `work/` 目录里,包括原创故事底本和逐集规划。
这一轮结束:耗时 10.2 分钟,按 API 价格折算 $5.08
第 3 轮
如果要我在几个题材或故事方案里选,就选第 2 个(没有第 2 个就选最后一个);其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的三项交付都写成文件。
思考 1 秒
Bash Confirm deliverables exist and still pass validation
输入
ls -la *.md *.json *.html && node .claude/skills/novel-outline/scripts/novel-outline.mjs validate 闪婚老公藏不住了-outline.json && node .claude/skills/novel-script/scripts/novel-script.mjs validate 闪婚老公藏不住了-script.json --outline 闪婚老公藏不住了-outline.json
返回
-rw-r--r-- 1 user wheel 275983 Oct 17 22:57 outline-report.html -rw-r--r-- 1 user wheel 244 Oct 17 22:47 premise.md -rw-r--r-- 1 user wheel 58488 Oct 17 22:57 script-report.html -rw-r--r-- 1 user wheel 9026 Oct 17 22:55 人物小传.md -rw-r--r-- 1 user wheel 88528 Oct 17 22:57 闪婚老公藏不住了-outline.json -rw-r--r-- 1 user wheel 76002 Oct 17 22:58 闪婚老公藏不住了-outline.md -rw-r--r-- 1 user wheel 16450 Oct 17 22:57 闪婚老公藏不住了-script.json -rw-r--r-- 1 user wheel 9479 Oct 17 22:57 闪婚老公藏不住了-script.md ✓ 通过校验(stage=full) ⚠️ 没给 --art,跳过场景/光照/道具对账 ✓ 3 集 / 7 场 / 58 句台词全部通过校验(预估 251.1s / 目标 270s)
premise.md 要的三项交付上一轮已经写完了。刚才又核对了一遍:文件都在当前目录,大纲和剧本重新跑检查,结果都通过。 1. **主要人物小传**:`人物小传.md` 2. **60 集分集大纲(标出付费卡点)**: - `闪婚老公藏不住了-outline.md`,第 10、20、30、40、50 集是付费卡点,开头有汇总表,这五集的标题也标了出来。 - `outline-report.html` 是评审页面,双击就能打开。 3. **第 1–3 集完整剧本**: - `闪婚老公藏不住了-script.md`,3 集共 7 场、58 句台词,每集按语速估算 81–85 秒,在 90 秒 ±15% 范围内。 - `script-report.html` 是评审页面。 题材按你的选择定为女频·先婚后爱甜宠,剧名《闪婚老公藏不住了》,全剧 60 集,每集 1.5 分钟。剧本检查跳过了场景、光照、道具这一项核对,因为没有做场景美术设定。 想改剧情走向、加写后面几集剧本,或者补场景美术设定,直接告诉我。
这一轮结束:耗时 0.2 分钟,按 API 价格折算 $5.17
第 4 轮
如果要我在几个题材或故事方案里选,就选第 2 个(没有第 2 个就选最后一个);其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的三项交付都写成文件。
思考 1 秒
Bash Check script file timestamp and revalidate
输入
ls -la --time-style=full-iso 闪婚老公藏不住了-script.json 2>/dev/null || ls -lT 闪婚老公藏不住了-script.json; node .claude/skills/novel-script/scripts/novel-script.mjs validate 闪婚老公藏不住了-script.json --outline 闪婚老公藏不住了-outline.json
返回
-rw-r--r-- 1 user wheel 16450 Oct 17 22:57:28 2026 闪婚老公藏不住了-script.json ⚠️ 没给 --art,跳过场景/光照/道具对账 ✓ 3 集 / 7 场 / 58 句台词全部通过校验(预估 251.1s / 目标 270s)
思考 4 秒
三项交付都已经写完,这一轮没有新的东西要做。我又核对了一次:剧本文件还是上次写好的版本,之后没有被改动过,重新跑检查也照样通过。 | premise.md 要求 | 文件 | | --- | --- | | 1. 主要人物小传 | `人物小传.md` | | 2. 60 集分集大纲,标出付费卡点 | `闪婚老公藏不住了-outline.md`,付费卡点在第 10、20、30、40、50 集;评审页面 `outline-report.html` | | 3. 第 1–3 集完整剧本 | `闪婚老公藏不住了-script.md`;评审页面 `script-report.html` | 题材是你选的女频·先婚后爱甜宠,剧名《闪婚老公藏不住了》,全剧 60 集,每集 1.5 分钟。 你的消息和上一条一样,我理解为让我确认交付是否完成,不是新的修改要求。想改剧情、加写后面几集的剧本,或者别的调整,直接说具体改哪里就行。
这一轮结束:耗时 0.2 分钟,按 API 价格折算 $5.25
第 5 轮
如果要我在几个题材或故事方案里选,就选第 2 个(没有第 2 个就选最后一个);其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 列出的三项交付都写成文件。
思考
三项交付已经全部写成文件,就在当前目录,无需再继续: - **人物小传**:`人物小传.md` - **60 集分集大纲**:`闪婚老公藏不住了-outline.md`,第 10、20、30、40、50 集标为付费卡点。另有可直接打开的评审页面 `outline-report.html`。 - **第 1–3 集剧本**:`闪婚老公藏不住了-script.md`。另有评审页面 `script-report.html`。 上一轮核对时,剧本文件仍是写完后的版本,大纲和剧本的检查都通过了。这条消息和前几条内容相同,所以我没有再做任何改动。 如果你想改某一集的内容、加写第 4 集以后的剧本,或者换个题材重做,告诉我具体要什么。
这一轮结束:耗时 0.1 分钟,按 API 价格折算 $5.29