--- name: movie-index description: 将本地电影原片、字幕、技术切点、关键帧和视觉模型观察结果整理成经过验证的可搜索镜头数据库。开始新的电影解说项目、重建或检查索引、按对白或画面寻找素材、返回原片精确坐标与证据片段,或者为执笔人和编导提供共享证据时使用。 --- # 电影镜头索引 为执笔人和编导建立可复用的证据层。只把技术切点和模型描述当作坐标与检索辅助,不把它们当作剧情真相。 ## 从当前现场开始 1. 先读取项目根目录的 `AGENTS.md`,以及影片目录中的 `project.json`、`production/state.json` 和最新索引报告。 2. 核对原片、字幕是否仍与记录的指纹和媒体时长一致。 3. 如果现有索引完整且有效,直接复用。只继续缺失或失败的单元;除非原片或提示词版本发生变化,不得重跑已经成功的视觉批次。 4. 创建或修改数据库结构前,读取 [references/index-contract.md](references/index-contract.md)。 5. 接受检索质量或向其他角色交付素材前,读取 [references/retrieval-and-validation.md](references/retrieval-and-validation.md)。 ## 建立证据层 1. 使用 `ffprobe` 探测原片,记录绝对路径、来源、时长、媒体流、帧率、分辨率、编码、声道数和采样率。 2. 读取字幕但不修改源文件。保留字幕编号、文本、语言和毫秒级起止时间。 3. 使用 PySceneDetect 或同类工具取得技术切点,并记录检测器名称、版本和完整参数。 4. 每个技术镜头至少提取一张代表图,计算基础画质信息,并保证可续跑时镜头编号保持稳定。 5. 将所有与镜头时间重叠的字幕关联到该镜头。 6. 只有视觉模型传输确实需要时,才把异常长镜头拆成有上限的视觉单元;必须保留父技术镜头及原片精确区间。 7. 要求视觉模型只记录画面中直接可见的人物、地点、动作顺序、物体、检索词和不确定项。不得推测剧情、动机、台词、画外事件或证据不足的人物身份。 8. 保存原始响应、规范化事实、失败信息、模型名称、提示词版本、用量和处理时间。 9. 为字幕和规范化视觉事实建立全文检索。人工纠错必须单独保存在覆盖层中。 ## 搜索并返回证据 1. 将自然语言需求拆成人物、地点、动作、物体、对白和大致剧情位置等线索。 2. 联合搜索字幕索引与视觉索引,再应用经过确认的人工纠错。 3. 返回排序后的候选项,包括镜头或视觉单元编号、精确起止时间、字幕、视觉事实、不确定项和代表图。 4. 对第一候选项至少提取三张连续证据图,并导出带合理前后余量、保留原声的原片片段。 5. 交由执笔人或编导查看连续原片。不得仅凭模型描述就断言剧情事实。 ## 守住职责边界 - 不得把技术镜头强制聚合成预先规定数量的剧情场景。 - 不得代替执笔人或编导对镜头评分、合并并决定故事结构。 - 不得把 8~12 分钟叙事卷当作正式剧情分段;它只是看片时的上下文包装。 - 纠正人物或含义时,不得覆盖原始模型结果;必须添加带证据和来源的纠错记录。 - 结构检查和代表性检索测试没有通过前,不得标记 `INDEX_VERIFIED`。 ## 交付 交付索引合同规定的全部产物,并生成 `INDEX_REPORT.md`,记录来源指纹、数量、视觉覆盖率、失败项、模型与提示词版本、可用时的费用,以及检索测试结果。只有验证通过后,才能把 `production/state.json` 更新为 `INDEX_VERIFIED`。