/next-video — 第一步:短片工作树与3个方案
此对话 = 一个未来短片(参见 AGENTS.md,「对话管道」)。本步骤的目标是让用户选择主题。
暂不进行渲染;在用户做出选择之前,不创建 episodes/<ep>/ 文件夹。
频道 The Universe Inside Out —— 整个宇宙:行星、卫星、恒星、黑洞、星系、系外行星、彗星、
真实任务与事件、尺度、「如果……会怎样」。短片仅限英文,目标时长29–29.5秒,最长30.0秒
(docs/shorts_format.md)。质量标准参见 docs/quality.md:如果一个主题没有能阻止滚动的画面,则不提议。
第0步 —— 短片工作树
- 对话在主仓库中(非工作树内):运行
python tools/video_wt.py start→ 路径out/wt/epNNN,分支video/epNNN, 编号已预留。Claude 使用EnterWorktree并指定该path;Codex 将workdir设置为该路径。之后所有操作均在此目录中进行。 - 对话已由应用程序在工作树中打开(分支不是
video/…):运行python tools/video_wt.py start --here。 - 如果已经处于该短片的分支
video/epNNN…上:继续在此分支中工作。
步骤
- 读取以下内容:
python tools/video_wt.py status—— 其他对话当前正在处理的短片(其主题不应提议);docs/channel.md—— 系列规划与「首要主题」表格(✅ = 已拍摄);episodes/INDEX.md—— 已完成内容及其镜头布局(不要重复对象、镜头布局、钩子类型);docs/quality.md—— 画面质量标准;docs/spacekit.md—— 「有/无」矩阵(需要哪些模块);docs/timings.md—— 每镜头秒数与ETA公式;docs/metrics.md—— 哪些表现好/不好;docs/competitors.md—— 竞争对手表现好的主题和钩子,以及他们的弱点;ideas/*_options.md—— 此处的「已选择:…」行,以及正在处理的分支中已提议或选择的主题:对status中每个video/…和codex/…分支运行git grep -h -e "^## 方案" -e "已选择:" <分支> -- ideas/,同时检查分支名称中的slug。
- 选择3个候选方案:
- 方案1 ——
docs/channel.md表格中下一个未标记的主题(按编号顺序),且不存在于其他对话的分支中; - 方案2和3 —— 来自与方案1不同的其他系列和对象类别,彼此不同,且与上一集不同(「新鲜度」——通过互联网搜索过去3–7天的天文学和任务新闻);
- 每个方案需包含:精彩镜头(一个高潮画面),惊艳度评分 1–5 以及2–3个视觉参考(URL)。
在总结中按惊艳度排序,而非按
spacekit的便利性。
- 方案1 ——
- 对每个方案进行关键数字的快速事实核查(ATNF、NASA系外行星档案、JPL SSD/Horizons、arXiv、NASA/ESA任务页面);「事实核查员」角色参见
docs/workflows.md。 - 进行估算,依据
docs/timings.md:渲染时间 = Σ 镜头数 × 该镜头类型每镜头秒数 + 约30秒/镜头;最终渲染计划用时4–6小时以保证质量,不超过6小时(docs/quality.md);工作量 = 1–2小时(无需新模块)+ 对于docs/spacekit.md中「无」列中的每个模块,额外增加3–8小时。 - 按照
ideas/_TEMPLATE_options.md模板(使用中文)写入ideas/<YYYY-MM-DD>_options.md。如果该日期文件已存在,则添加后缀_2。 - 在短片分支上提交:
docs(epNNN): 短片方案并包含模型预告(参见AGENTS.md,「智能体工作方式」)。确保工作区干净。 - 向用户显示三个方案的简短总结(每个方案3–4行:对象、钩子、精彩镜头、惊艳度、spacekit新增内容、渲染ETA + 从开始到交付包的完整周期),并附上文件路径,请用户选择:「/make-video N」(可附修改意见)。停止。
规则
- 仅限具有测量参数的真实对象/事件;假设和「如果……会怎样」的情况需明确标注。
- 不要集中在中子星上:连续两个脉冲星/磁星——除非用户要求。
- 不要提出需要以他人视频/音乐为基础的主题。
- 多样性以避免「不真实内容」(
docs/pipeline.md,最后一节):每个方案应有不同的钩子类型和结构,不要克隆过去的剧集。 - 用户拒绝所有方案——在同一对话中提供新的3个;用户关闭主题——运行
video_wt.py finish --no-release(保留ideas文件)并执行remove:编号将保持被占用状态。