{"slug":"video-script","title":"\u89c6\u9891\u89e3\u8bf4\u811a\u672c","description":"\u5bf9\u5df2\u5206\u6790\u7684\u89c6\u9891\u505a\u5bfc\u6f14\u4e0e\u526a\u8f91\u7b56\u5212\uff0c\u5199\u5e26\u65f6\u95f4\u6233\u7684\u4e2d\u6587\u89e3\u8bf4\u5e76\u6821\u9a8c\uff1b\u4e5f\u6539\u5ba3\u53d1\u6807\u9898\u4e0e\u82b1\u5b57\u3002","category":"\u5199\u7a3f","tags":["\u89c6\u9891","\u811a\u672c","\u89e3\u8bf4"],"author":"PiteChen","source_url":"https://github.com/zenstory-ai/video-recap-skills/blob/main/skills/video-script/SKILL.md","license":"MIT","status":"published","verification":"source_reviewed","verification_notes":"\u6765\u6e90 zenstory-ai/video-recap-skills\uff08skills/video-script/SKILL.md\uff09\uff0c\u672c\u5730\u6253\u5305\u4e0a\u4f20\uff1b\u672a\u6267\u884c\u5305\u5185\u811a\u672c\u3002","revision":"91b4384f15264b298d5723bfc39b9bb8","created_at":"2026-10-28T08:54:23+00:00","updated_at":"2026-10-28T08:54:50+00:00","source_repo":"","source_path":"","source_commit":"","source_updated_at":"","stars":0,"proxy_score":null,"score":null,"grade":null,"dimensions":{},"evaluation":{},"installs":0,"platforms":[],"formats":[],"category_slug":"writing","category_name":"\u5199\u7a3f","usage_guide":{},"read_url":"https://shiliuai.cn/api/v2/skills/video-script","skill_url":"https://shiliuai.cn/api/v2/skills/video-script/files/SKILL.md","download_url":"https://shiliuai.cn/api/v2/skills/video-script/download","install_url":"https://shiliuai.cn/api/v2/skills/video-script/install","files":[{"path":"SKILL.md","bytes":18362,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/SKILL.md"},{"path":"references/creative-editing-playbook.md","bytes":13952,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/references/creative-editing-playbook.md"},{"path":"references/promotional-copy.md","bytes":5170,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/references/promotional-copy.md"},{"path":"references/research-guide.md","bytes":3189,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/references/research-guide.md"},{"path":"scripts/agent_text.py","bytes":2010,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/agent_text.py"},{"path":"scripts/deslop_qc.py","bytes":9527,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/deslop_qc.py"},{"path":"scripts/entry_suggestion.py","bytes":5015,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/entry_suggestion.py"},{"path":"scripts/evidence_bundle.py","bytes":13759,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/evidence_bundle.py"},{"path":"scripts/lib.py","bytes":12063,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/lib.py"},{"path":"scripts/lint_summary.py","bytes":8331,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/lint_summary.py"},{"path":"scripts/narration_lint.py","bytes":30199,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/narration_lint.py"},{"path":"scripts/review.py","bytes":157,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/review.py"},{"path":"scripts/review_grounding.py","bytes":8349,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/review_grounding.py"},{"path":"scripts/review_response.py","bytes":25350,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/review_response.py"},{"path":"scripts/review_runner.py","bytes":7307,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/review_runner.py"},{"path":"scripts/speech_ownership.py","bytes":8897,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/speech_ownership.py"},{"path":"scripts/validate.py","bytes":6431,"url":"https://shiliuai.cn/api/v2/skills/video-script/files/scripts/validate.py"}],"content":"---\nname: video-script\ndescription: \u5bf9\u5df2\u5b8c\u6210\u5206\u6790\u7684\u89c6\u9891\u8fdb\u884c\u5bfc\u6f14\u4e0e\u526a\u8f91\u7b56\u5212\uff0c\u518d\u5199\u5e26\u65f6\u95f4\u6233\u7684\u4e2d\u6587\u89e3\u8bf4\u5e76\u6821\u9a8c\uff1b\u4e5f\u5904\u7406\u5df2\u6709\u77ed\u7247\u7684 \u5ba3\u53d1\u6807\u9898\u3001\u82b1\u5b57\u4fee\u8ba2\u548c\u5916\u90e8\u6587\u6848\u56de\u586b\u3002\u666e\u901a\u7b56\u5212\u8f93\u5165 work_dir \u7684 agent_narration_brief.md \u4e0e vlm_analysis.json\uff1b\u6587\u6848\u8fd4\u4fee\u8f93\u5165\u5f53\u524d\u6210\u7247\u7684\u5de5\u7a0b\u4e0e\u5185\u5bb9\u8bc1\u636e\u3002\u7b56\u5212\u8f93\u51fa recap_story_plan.json\u3001visual_audio_board.json\u3001 \u53ef\u9009 style_card.json\u3001cut \u6a21\u5f0f\u9700\u8981\u7684 clip_plan.json\uff0c\u4ee5\u53ca\u901a\u8fc7\u6821\u9a8c\u7684 narration.json\uff1b\u4ec5\u5ba3\u53d1\u6587\u6848\u4efb\u52a1\u4ea4\u4ed8\u63d0\u6848\u6216\u56de\u586b\u65e2\u6709\u5305\u88c5\u8ba1\u5212\u3002 \u5916\u53d1\u8bf4\u660e\uff1a\u53ea\u6709\u5efa\u8bae\u578b\u8bc4\u5ba1 review.py \u8054\u7f51\uff0c\u5b83\u628a\u65c1\u767d\u7a3f\u5168\u6587\u4e0e\u7406\u89e3\u8bc1\u636e\u3001\u7b56\u5212\u6587\u4ef6\u7684\u6587\u5b57\u6458\u5f55\u53d1\u5230 MiMo chat \u63a5\u53e3 \uff08MIMO_API_KEY / MIMO_API_URL\uff0c\u4e0d\u53d1\u89c6\u9891\u3001\u56fe\u7247\u6216\u97f3\u9891\uff09\uff1b\u5355\u72ec\u4f7f\u7528\u65f6\u53ea\u5728\u663e\u5f0f\u6267\u884c\u65f6\u8fd0\u884c\uff0c\u7aef\u5230\u7aef\u7f16\u6392\u9ed8\u8ba4\u5728 TTS \u524d\u8fd0\u884c\u4e00\u6b21\uff0c \u53ef\u7528 --no-review-narration / REVIEW_NARRATION=0 \u5173\u95ed\uff08\u4e25\u683c\u8bc4\u5ba1\u5f00\u542f\u65f6\u9664\u5916\uff09\uff1bvalidate.py \u4e0e lint \u4ec5\u5728\u672c\u5730\u8fd0\u884c\u3002 \u89e6\u53d1\u8bcd\uff1a\u89e3\u8bf4\u8bcd\u3001\u5199\u89e3\u8bf4\u3001\u89c6\u9891\u65c1\u767d\u3001\u5ba3\u53d1\u6807\u9898\u3001\u82b1\u5b57\u4fee\u8ba2\u3001\u6587\u6848\u56de\u586b\u3001 narration script\u3001\u5199\u7a3f\u3001\u89e3\u8bf4\u6587\u6848\u3001\u526a\u8f91\u601d\u8def\u3001\u5bfc\u6f14\u601d\u8def\u3002\n---\n\n## 1. \u5b9a\u4f4d\n\n\u53ea\u6539\u5ba3\u53d1\u6807\u9898\u3001\u5c01\u9762\u3001\u82b1\u5b57\u6216\u56de\u586b\u5916\u90e8\u6587\u6848\u65f6\uff0c\u76f4\u63a5\u8bfb `references/promotional-copy.md`\uff0c\n\u6309\u5f53\u524d\u77ed\u7247\u7684\u89c2\u770b\u7406\u7531\u548c\u5151\u73b0\u4f4d\u7f6e\u5904\u7406\u6307\u5b9a\u6587\u5b57\u5c42\uff0c\u4e0d\u91cd\u505a\u4e0b\u8ff0\u7b56\u5212/\u65c1\u767d\u94fe\u3002\n\u666e\u901a\u89e3\u8bf4\u5199\u4f5c\u4e0d\u56e0\u6b64\u589e\u52a0\u5e73\u53f0\u8c03\u7814\u6216\u5305\u88c5\u4efb\u52a1\u3002\n\n\u672c\u6280\u80fd\u8d1f\u8d23\u521b\u4f5c\u65b9\u5411\u3001\u753b\u9762\u4e0e\u58f0\u97f3\u8ba1\u5212\u3001\u65c1\u767d\u5199\u4f5c\u53ca\u6821\u9a8c\u3002Agent \u4f9d\u6b21\u4ece\u4ee5\u4e0b\u4e94\u4e2a\u89d2\u5ea6\u4f5c\u51fa\u51b3\u5b9a\uff1a\n\n1. \u5bfc\u6f14\n2. \u6545\u4e8b\u7f16\u8f91\n3. \u753b\u9762\u526a\u8f91\u5e08\n4. \u58f0\u97f3/\u65c1\u767d\u7f16\u8f91\n5. \u7b2c\u4e00\u6b21\u89c2\u770b\u7684\u89c2\u4f17\n\nAgent \u5148\u8bb0\u5f55\u7b80\u6d01\u51b3\u5b9a\uff0c\u518d\u5199\u65f6\u95f4\u7ebf\u4ea7\u7269\u3002`validate.py` \u8d1f\u8d23\u5bf9\u7406\u89e3\u7d22\u5f15\u505a\u673a\u68b0\u6821\u9a8c\uff0c\u4ece\u4e0d\u6539\u5199 Agent \u7684\u7a3f\u5b50\uff1a\u6bb5\u843d\u987a\u5e8f\u3001\u6570\u91cf\u3001\u65f6\u95f4\u3001\u6587\u672c\u3001\u505c\u987f\u548c\u6269\u5c55\u5143\u6570\u636e\u539f\u6837\u4fdd\u7559\uff0c\u53ea\u4f9d\u636e\u73b0\u6709\u58f0\u97f3\u8bc1\u636e\u56de\u5199\u5b9e\u6d4b\u7684 `overlaps_speech`\u3002\u6587\u672c\u88c5\u4e0d\u4e0b\u65f6\u95f4\u7a97\u3001\u6bb5\u843d\u672a\u6309\u65f6\u95f4\u6392\u5e8f\u7b49\u95ee\u9898\u4ee5 error \u9000\u56de\u7ed9 Agent \u4fee\u6539\u3002\n\n\u4e0b\u9762\u7684 `scripts/...` \u5747\u76f8\u5bf9\u4e8e\u672c\u6280\u80fd\u76ee\u5f55\u3002\u82e5\u6267\u884c\u5668\u4ece\u4ed3\u5e93\u6839\u76ee\u5f55\u542f\u52a8\uff0c\u8bf7\u7ed9\u811a\u672c\u8def\u5f84\u52a0\u4e0a\u672c\u6280\u80fd\u7684\u7edd\u5bf9\u76ee\u5f55\u3002\n\n### 1.1 \u521b\u4f5c\u63a7\u5236\u6a21\u5f0f\n\n\u5148\u6839\u636e\u7528\u6237\u8981\u6c42\u548c `work_dir` \u5224\u65ad\u672c\u8f6e\u521b\u4f5c\u63a7\u5236\u6a21\u5f0f\u3002\u5b83\u4e0e `full|cut|dub` \u6e32\u67d3\u6a21\u5f0f\u5206\u522b\u9009\u62e9\uff1a\n\n- **CREATE**\uff1a\u9996\u6b21\u521b\u4f5c\u3002\u6bd4\u8f83\u81f3\u5c11\u4e24\u4e2a\u771f\u6b63\u53ef\u884c\u7684\u6545\u4e8b/\u526a\u8f91\u5047\u8bbe\u540e\u518d\u9009\u62e9\u3002\n- **DIRECTED**\uff1a\u7528\u6237\u5df2\u6307\u5b9a\u7ed3\u6784\u3001\u955c\u5934\u3001\u53f0\u8bcd\u6216\u8868\u8fbe\u3002\u5fe0\u5b9e\u843d\u5b9e\uff0c\u4e0d\u4e3a\u6ee1\u8db3\u201c\u521b\u4f5c\u6d41\u7a0b\u201d\u865a\u6784\u66ff\u4ee3\u65b9\u6848\u3002\n- **REVISION**\uff1a\u7528\u6237\u9488\u5bf9\u5df2\u6709\u7248\u672c\u770b\u7247\u4fee\u6539\u3002\u6700\u65b0\u53cd\u9988\u662f\u5f53\u524d\u4e8b\u5b9e\u6765\u6e90\uff1b\u672a\u70b9\u540d\u90e8\u5206\u9ed8\u8ba4\u51bb\u7ed3\u3002\n\nREVISION \u5148\u660e\u786e\u672c\u8f6e\u4fee\u6539\u9879\u4e0e\u51bb\u7ed3\u9879\uff0c\u518d\u7f16\u8f91\u5bf9\u5e94\u5c42\uff1a\u8868\u8fbe\u3001\u53e3\u8bed\u8282\u594f\u3001\u5b57\u5e55\u53cd\u9988\u66f4\u65b0 `style_card.json`\uff1b\u955c\u5934\u3001\u5165\u51fa\u70b9\u3001\u8868\u6f14\u548c\u58f0\u97f3\u5206\u5de5\u66f4\u65b0 `visual_audio_board.json`\uff1b\u53ea\u6709\u89c2\u4f17\u627f\u8bfa\u3001POV\u3001\u4e3b\u7ebf\u6216 beat \u6539\u53d8\u65f6\u624d\u66f4\u65b0 `recap_story_plan.json`\u3002\u88ab\u5220\u9664\u7684\u955c\u5934\u3001\u539f\u58f0\u6216\u6587\u6848\u4e5f\u8981\u4ece\u76f8\u5173\u8ba1\u5212\u4e2d\u5220\u9664\uff0c\u4e0d\u80fd\u4fdd\u7559\u8fc7\u671f\u951a\u70b9\u3002\u4e0d\u8981\u628a\u770b\u7247\u4fee\u6539\u91cd\u65b0\u505a\u6210\u4e00\u6b21 CREATE\u3002\n\n## 2. \u8fdc\u7a0b\u8c03\u7528\u4e0e\u6570\u636e\u5916\u53d1\n\n\u672c\u6280\u80fd\u53ea\u6709\u4e00\u4e2a\u811a\u672c\u4f1a\u8054\u7f51\uff1a`review.py`\uff08\u00a77.1 \u7684\u5efa\u8bae\u578b\u8bed\u4e49\u8bc4\u5ba1\uff09\u3002\u5176\u4f59\u5168\u90e8\u5728\u672c\u5730\u8fd0\u884c\uff1a`validate.py` \u53ca\u5176 lint\u3001\u53bb AI \u5473\u68c0\u67e5\u53ea\u8bfb\u5199 `work_dir` \u91cc\u7684\u6587\u4ef6\uff0c\u4e0d\u53d1\u4efb\u4f55\u7f51\u7edc\u8bf7\u6c42\uff1b\u7b56\u5212\u4e0e\u5199\u7a3f\u7531 Agent \u76f4\u63a5\u8bfb\u5199 `work_dir` \u5b8c\u6210\u3002\n\n`review.py` \u53d1\u7ed9\u8c01\uff1a\n\n- MiMo \u7684 OpenAI \u517c\u5bb9 chat \u63a5\u53e3 `<MIMO_API_URL>/chat/completions`\uff0c\u7528 `MIMO_API_KEY` \u8ba4\u8bc1\uff0c\u6a21\u578b\u4e3a `MIMO_MODEL`\uff08\u9ed8\u8ba4 `mimo-v2.5`\uff09\u3002\u672a\u8bbe `MIMO_API_URL` \u65f6\uff0c\u6309\u91cf\u8ba1\u8d39 key \u53d1\u5f80 `https://api.xiaomimimo.com/v1`\uff0c`tp-` \u5f00\u5934\u7684 Token Plan key \u53d1\u5f80 `MIMO_TOKEN_PLAN_CLUSTER` \u9009\u5b9a\u7684 token-plan \u96c6\u7fa4\uff08\u9ed8\u8ba4 `https://token-plan-cn.xiaomimimo.com/v1`\uff09\u3002\n- \u672a\u8bbe `MIMO_API_KEY` \u65f6\u76f4\u63a5\u9000\u51fa\uff0c\u4e0d\u6784\u9020\u4e5f\u4e0d\u53d1\u9001\u4efb\u4f55\u8bf7\u6c42\u3002\n\n`review.py` \u53d1\u9001\u4ec0\u4e48\uff08\u53ea\u6709\u6587\u5b57\uff0c\u4e0d\u53d1\u89c6\u9891\u3001\u5e27\u56fe\u7247\u6216\u97f3\u9891\u6587\u4ef6\uff09\uff1a\n\n- `narration.json` \u5168\u90e8\u65c1\u767d\u6bb5\u7684\u65f6\u95f4\u4e0e\u6587\u5b57\u3002\n- \u7406\u89e3\u7d22\u5f15\u7684\u6587\u5b57\u8bc1\u636e\uff1a\u5f00\u5934\u3001\u4e2d\u6bb5\u3001\u7ed3\u5c3e\u3001\u957f\u7a7a\u6863\u4e0e\u5404\u65c1\u767d\u65f6\u95f4\u7a97\u9644\u8fd1\u9009\u51fa\u7684\u65f6\u95f4\u6bb5\u5185\uff0c`vlm_analysis.json` \u7684\u573a\u666f\u63cf\u8ff0\u4e0e `frame_facts` \u6587\u5b57\uff0c\u4ee5\u53ca\u5bf9\u767d\u8f6c\u5199\uff08\u6709 `asr_clean.json` \u65f6\u7528\u5b83\uff0c\u5426\u5219 `asr_result.json`\uff09\u3002\n- `background_research.json` \u7684\u6897\u6982\u3001\u89d2\u8272\u3001\u5173\u7cfb\u4e0e\u5267\u60c5\u7ebf\u6458\u5f55\u3002\n- \u5b58\u5728\u65f6\u9644\u4e0a `packaging_plan.json`\u3001`recap_story_plan.json`\u3001`visual_audio_board.json`\u3001`style_card.json`\uff08\u5404\u622a\u524d 3000 \u5b57\uff09\u548c `original_subtitles.json` \u7684\u539f\u58f0\u5b57\u5e55\u6587\u5b57\u3002\n- \u5185\u5bb9\u8f83\u957f\u65f6\u5206\u5757\uff0c\u6bcf\u5757\u4e00\u6b21\u8bf7\u6c42\uff1b\u8fd4\u56de\u7684\u610f\u89c1\u53ea\u5199\u56de\u672c\u5730 `narration_review.json` / `narration_review.md`\u3002\n\n\u4f55\u65f6\u8fd0\u884c\u3001\u600e\u6837\u5173\u95ed\uff1a\n\n- \u5355\u72ec\u4f7f\u7528\u672c\u6280\u80fd\u65f6\uff0c`review.py` \u53ea\u5728\u7528\u6237\u6216 Agent \u663e\u5f0f\u6267\u884c\u5b83\u65f6\u8fd0\u884c\uff1b\u4e0d\u6267\u884c\u5b83\u5c31\u6ca1\u6709\u4efb\u4f55\u5916\u53d1\u3002\u7528\u6237\u4e0d\u5e0c\u671b\u7a3f\u4ef6\u79bb\u5f00\u672c\u673a\u65f6\uff0c\u4e0d\u8981\u8fd0\u884c\u5b83\uff0c\u6539\u4e3a\u4eba\u5de5\u590d\u6838\u540e\u76f4\u63a5\u8dd1 `validate.py`\u3002\n- \u7aef\u5230\u7aef\u7f16\u6392\u9ed8\u8ba4\u5728 TTS \u524d\u81ea\u52a8\u8c03\u7528\u4e00\u6b21\u8fd9\u9879\u8bc4\u5ba1\uff0c\u5931\u8d25\u4e0d\u963b\u65ad\uff1b\u5173\u95ed\u65b9\u5f0f\u662f\u7f16\u6392\u5165\u53e3\u7684 `--no-review-narration` \u6216\u73af\u5883\u53d8\u91cf `REVIEW_NARRATION=0`\u3002\u82e5\u540c\u65f6\u5f00\u542f\u4e86\u4e25\u683c\u8bc4\u5ba1\uff08`--require-narration-review` \u6216 `REQUIRE_NARRATION_REVIEW=1`\uff09\uff0c\u8bc4\u5ba1\u5fc5\u987b\u8fd0\u884c\uff0c\u5173\u95ed\u5f00\u5173\u4e0d\u751f\u6548\u3002\n- \u8bc4\u5ba1\u662f\u5efa\u8bae\u578b\u7684\uff1a\u53ea\u5199\u62a5\u544a\uff0c\u4ece\u4e0d\u6539\u5199 `narration.json`\uff1b\u662f\u5426\u4fee\u6539\u7531 Agent \u6216\u7528\u6237\u51b3\u5b9a\u3002\n\n## 3. \u8bfb\u53d6\u7d20\u6750\u5e76\u786e\u8ba4\u72b6\u6001\n\n\u9996\u5148\u9605\u8bfb\uff1a\n\n- `work_dir/agent_narration_brief.md`\uff1a\u573a\u666f\u3001\u65f6\u957f\u3001\u5b89\u9759\u7a97\u53e3\u4e0e\u5b57\u6570\u9884\u7b97\u3002\n- `asr_writing_chunks.json`\uff1a\u957f\u5bf9\u767d\u7684\u5199\u4f5c\u5206\u5757\u3002\n- `timeline_fusion.json`\uff1a\u5224\u65ad\u67d0\u6bb5\u662f\u5426\u6709\u5bf9\u767d\u6216\u9759\u97f3\u69fd\u3002\n- `vlm_analysis.json` / `asr_result.json`\uff1a\u6838\u5bf9\u5177\u4f53\u753b\u9762\u4e0e\u539f\u58f0\u8bc1\u636e\uff1b\u6709 `asr_clean.json` \u65f6\u4ee5\u5b83\u7684\u6587\u672c\u4e3a\u51c6\uff08lint\u3001\u8bc4\u5ba1\u3001\u526a\u8f91\u548c\u5408\u6210\u90fd\u8bfb\u5b83\uff09\u3002\n- brief \u9876\u90e8\u5217\u51fa\u7684 contact sheet\uff1a\u4e0d\u8981\u53ea\u4f9d\u8d56\u573a\u666f\u6458\u8981\uff1b\u53cd\u5e94\u3001\u8d70\u4f4d\u3001\u9759\u6b62\u548c\u53f0\u8bcd\u524d\u540e\u7684\u5177\u4f53\u65f6\u523b\u5e38\u5e38\u66f4\u91cd\u8981\u3002\n- `production_reference.json`\uff08\u4ec5\u5f53 `work_dir` \u91cc\u6709\uff09\uff1a\u53e6\u4e00\u90e8\u6210\u7247\u62c6\u51fa\u7684\u53ef\u8fc1\u79fb\u65b9\u6cd5\u4e0e\u8282\u594f\u6570\u503c\uff0c\u7528\u6cd5\u89c1 \u00a74\u3002\n\nfull \u6a21\u5f0f\u4f7f\u7528\u539f\u7247\u65f6\u95f4\u3002cut \u6a21\u5f0f\u7b2c\u4e00\u9636\u6bb5\u53ea\u5199 `clip_plan.json`\uff1b`edited_source.mp4` \u4ea7\u751f\u540e\uff0c\u7b2c\u4e8c\u9636\u6bb5\u624d\u6309\u8f93\u51fa\u65f6\u95f4\u5199 `narration.json`\u3002\n\n\u5199\u4efb\u4f55\u521b\u4f5c\u4ea7\u7269\u524d\uff0c\u76f4\u63a5\u8bfb\u53d6 `work_dir` \u5224\u65ad\u5f53\u524d\u9636\u6bb5\uff1a\n\n- `recap_run_manifest.json`\uff1a\u786e\u8ba4 `edit_mode`\u3001\u6e90\u89c6\u9891\u548c\u672c\u8f6e\u8bbe\u7f6e\u3002\n- full \u6a21\u5f0f\uff1a\u6ca1\u6709 `narration.json` \u65f6\u8fdb\u5165\u5199\u7a3f\uff1b\u5b58\u5728\u65f6\u5148\u590d\u6838\u518d\u6821\u9a8c\u3002\n- cut \u7b2c\u4e00\u9636\u6bb5\uff1a\u5c1a\u65e0 `clip_plan_validated.json` / `edited_source.mp4`\uff0c\u53ea\u5199 `clip_plan.json`\u3002\n- cut \u7b2c\u4e8c\u9636\u6bb5\uff1a\u4e24\u8005\u90fd\u5b58\u5728\uff0c\u6309 `clip_plan_validated.json.clips[]` \u4e2d\u7684 `source_start/end` \u4e0e `output_start/end` \u6838\u5bf9\u6620\u5c04\uff0c\u518d\u5199\u8f93\u51fa\u65f6\u95f4\u7684\u65c1\u767d\u3002\n\n\u5fc5\u987b\u786e\u8ba4\u65c1\u767d\u6ca1\u6709\u8de8\u8d8a\u9519\u8bef\u526a\u8f91\u8fb9\u754c\uff0c\u4e5f\u6ca1\u6709\u843d\u8fdb\u5df2\u5220\u9664\u533a\u95f4\u3002\u6574\u4e2a\u5224\u65ad\u53ea\u4f9d\u8d56 `work_dir` \u4ea7\u7269\u3002\n\n## 4. \u5236\u5b9a\u521b\u4f5c\u65b9\u6848\n\n\u5148\u9605\u8bfb `references/creative-editing-playbook.md`\uff0c\u518d\u6309\u521b\u4f5c\u63a7\u5236\u6a21\u5f0f\u5199\u6216\u66f4\u65b0\u5de5\u4f5c\u4ea7\u7269\uff1a\n\n1. **`recap_story_plan.json`**\uff1a\u5bfc\u6f14\u610f\u56fe\u3001CREATE \u4e2d\u81f3\u5c11\u4e24\u4e2a\u526a\u8f91\u5047\u8bbe\u3001\u9009\u5b9a\u7684 POV / \u4e3b\u7ebf\uff0c\u4ee5\u53ca\u7531\u201c\u53d8\u5316\u201d\u5b9a\u4e49\u7684 beats\u3002DIRECTED / REVISION \u4e0d\u5f3a\u884c\u65b0\u589e\u5047\u8bbe\u3002\n2. **`visual_audio_board.json`**\uff1a\u6bcf\u62cd\u7684\u753b\u9762\u4efb\u52a1\u3001\u5177\u4f53\u8868\u6f14/\u53cd\u5e94\u3001\u5165\u70b9/\u51fa\u70b9\u3001`audio_owner`\u3001\u539f\u58f0\u951a\u70b9\u4e0e `narration_job`\u3002\n3. **`style_card.json`\uff08\u9002\u7528\u65f6\uff09**\uff1a\u7528\u6237\u5f53\u524d\u8ba4\u53ef\u7684\u58f0\u97f3\u3001\u53e3\u8bed\u8282\u594f\u3001\u5b57\u5e55\u9605\u8bfb\u59ff\u6001\u548c\u660e\u786e\u7981\u5fcc\u3002\u6536\u5230\u8868\u8fbe\u6216\u5b57\u5e55\u53cd\u9988\u540e\u66f4\u65b0\u539f\u6587\u4ef6\uff0c\u800c\u4e0d\u662f\u53ea\u6539\u6700\u7ec8\u6587\u6848\u3002\n\n\u53ea\u8bb0\u5f55\u51b3\u5b9a\u3001\u8bc1\u636e\u951a\u70b9\u3001\u88ab\u653e\u5f03\u7684\u5907\u9009\u65b9\u6848\u548c\u7b80\u77ed\u7406\u7531\uff0c\u4e0d\u5199\u5197\u957f\u601d\u7ef4\u8fc7\u7a0b\u3002\n\n\u82e5 `work_dir` \u6709 `production_reference.json`\uff0c\u5236\u5b9a\u65b9\u6848\u524d\u5148\u8bfb\u5b83\u3002\u5b83\u6765\u81ea\u53e6\u4e00\u90e8\u6210\u7247\uff0c\u53ea\u542b\u53ef\u8fc1\u79fb\u7684\u65b9\u6cd5\u548c\u6d4b\u5f97\u7684\u8282\u594f\uff0c\u4e0d\u542b\u672c\u7247\u4e8b\u5b9e\uff0c\u4e0d\u80fd\u4f5c\u4e3a\u672c\u7247\u753b\u9762\u3001\u5267\u60c5\u6216\u53f0\u8bcd\u7684\u8bc1\u636e\u3002\u4f18\u5148\u7ea7\uff1a\u7528\u6237\u6307\u4ee4 > \u672c\u7247\u8bc1\u636e > \u53c2\u8003\u3002CREATE \u53ef\u628a\u5b83\u7684 `structure` \u5f53\u4f5c\u4e00\u4e2a\u5019\u9009\u5047\u8bbe\uff0c\u4e0e\u7d20\u6750\u81ea\u751f\u7684\u5047\u8bbe\u6bd4\u8f83\uff1bDIRECTED / REVISION \u9ed8\u8ba4\u4e0d\u5957\u7528\u3002`targets` \u662f\u53c2\u8003\u503c\uff0c\u4e0d\u662f\u914d\u989d\uff1a\u4e0e\u672c\u7247\u7684 `audio_owner`\u3001\u5b8c\u6574\u53f0\u8bcd\u6216\u8868\u6f14\u51b2\u7a81\u65f6\u4ee5\u7d20\u6750\u4e3a\u51c6\u3002\u53ef\u5728 `recap_story_plan.json` \u5199\u53ef\u9009\u5b57\u6bb5 `reference_methods: [{\"id\": \"m1\", \"decision\": \"adopt|adapt|skip\", \"note\": \"\u2026\"}]`\u3002\u6ca1\u6709\u8fd9\u4e2a\u6587\u4ef6\u5c31\u8df3\u8fc7\u672c\u6bb5\u3002\n\n### 4.1 \u5bfc\u6f14\u5224\u65ad\n\n\u9501\u5b9a\uff1a\n\n- \u89c2\u4f17\u627f\u8bfa\n- POV\n- \u620f\u5267\u95ee\u9898\n- \u8d77\u59cb\u4e0e\u7ed3\u675f\u60c5\u7eea\n- \u9690\u7792\u4e0e\u63ed\u793a\n- \u7ed3\u5c3e\u4f59\u5473\n\n### 4.2 \u6545\u4e8b\u7f16\u8f91\n\nCREATE \u6bd4\u8f83\u4e24\u4e2a\u771f\u6b63\u53ef\u884c\u7684\u7ed3\u6784\u540e\u9009\u62e9\u4e00\u4e2a\uff1bDIRECTED / REVISION \u6cbf\u7528\u7528\u6237\u6307\u5b9a\u6216\u5df2\u786e\u8ba4\u7684\u7ed3\u6784\uff0c\u9664\u975e\u6700\u65b0\u53cd\u9988\u660e\u786e\u6539\u53d8\u6545\u4e8b\u65b9\u5411\u3002\u6bcf\u4e2a beat \u81f3\u5c11\u6539\u53d8\u4e00\u9879\uff1a\u77e5\u8bc6\u3001\u6743\u529b\u3001\u76ee\u6807\u3001\u5173\u7cfb\u3001\u60c5\u7eea\u6216\u98ce\u9669\u3002\u82e5\u5220\u9664\u540e\u56e0\u679c\u3001\u4eba\u7269\u548c\u60c5\u7eea\u90fd\u6ca1\u6709\u635f\u5931\uff0c\u8be5 beat \u901a\u5e38\u4e0d\u5e94\u4fdd\u7559\u3002\n\n### 4.3 \u753b\u9762\u526a\u8f91\n\n\u9009\u62e9\u5177\u4f53\u65f6\u523b\uff0c\u800c\u4e0d\u662f\u53ea\u9009\u62e9\u4e8b\u4ef6\u3002\u6bd4\u8f83\uff1a\n\n- \u8bf4\u8bdd\u8005\u4e0e\u503e\u542c\u8005\n- \u52a8\u4f5c\u4e0e\u53cd\u5e94\n- \u65e9\u8fdb\u4e0e\u665a\u8fdb\n- \u65e9\u51fa\u4e0e\u591a\u505c\u534a\u79d2\n\n\u5728\u4e0d\u7834\u574f\u7406\u89e3\u7684\u524d\u63d0\u4e0b\u665a\u8fdb\u65e9\u51fa\uff0c\u540c\u65f6\u4fdd\u7559\u4e0d\u53ef\u66ff\u4ee3\u7684\u8868\u6f14\u3001\u505c\u987f\u3001\u5931\u8bef\u3001\u52a8\u4f5c\u58f0\u548c\u5b8c\u6574\u53f0\u8bcd\u3002\n\n### 4.4 \u58f0\u97f3\u4e0e\u65c1\u767d\u5206\u5de5\n\n\u5148\u6307\u5b9a `audio_owner`\uff0c\u518d\u5199\u5b57\u3002\u65c1\u767d\u53ea\u5141\u8bb8\u627f\u62c5\u4ee5\u4e0b `narration_job`\uff1a\n\n- `context`\n- `causal_link`\n- `foreshadow`\n- `interpretation`\n- `transition`\n- `none`\n\n\u753b\u9762\u3001\u539f\u58f0\u6216\u6c89\u9ed8\u5df2\u7ecf\u8db3\u591f\u65f6\u4f7f\u7528 `none`\uff0c\u4e0d\u8981\u9ed8\u8ba4\u94fa\u65c1\u767d\u3002\n\n### 4.5 cut \u6a21\u5f0f\u7b2c\u4e00\u9636\u6bb5\n\ncut \u6a21\u5f0f\u5148\u6839\u636e `recap_story_plan.json` \u4e0e `visual_audio_board.json` \u5199\u539f\u7247\u65f6\u95f4\u7684 `clip_plan.json`\uff0c\u6b64\u65f6\u4e0d\u8981\u5199 `narration.json`\uff1a\n\n```json\n{\n  \"target_duration\": \"10m\",\n  \"clips\": [\n    {\n      \"start\": 12.0,\n      \"end\": 38.0,\n      \"reason\": \"b01 | hook | knowledge: unknown\u2192threat | POV=\u4e3b\u89d2 | \u4fdd\u7559\u503e\u542c\u53cd\u5e94 | \u5165\u70b9=\u95ee\u9898\u5df2\u95ee\u51fa | \u51fa\u70b9=\u6c89\u9ed8\u843d\u5730\"\n    }\n  ]\n}\n```\n\n`reason` \u7edf\u4e00\u4f7f\u7528\uff1a\n\n```text\nbeat_id | function | change | POV | preferred moment | \u5165\u70b9 | \u51fa\u70b9\n```\n\n\u7247\u6bb5\u987a\u5e8f\u5fc5\u987b\u6784\u6210\u4e00\u6761\u5b8c\u6574\u6545\u4e8b\u7ebf\uff0c\u800c\u4e0d\u662f\u65e0\u5e8f\u9ad8\u5149\u3002\u53ef\u4f7f\u7528 0\u20131 \u4e2a cold open\uff0c\u968f\u540e\u56de\u5230\u56e0\u679c\u6e05\u695a\u7684 setup \u2192 turn \u2192 escalation \u2192 payoff\u3002\u7247\u6bb5\u957f\u5ea6\u670d\u4ece\u5177\u4f53\u65f6\u523b\uff0c\u4e0d\u4f7f\u7528\u7edf\u4e00\u79d2\u6570\u6a21\u677f\uff1b\u7247\u5c3e\u5fc5\u987b\u4fdd\u7559\u5b8c\u6574\u53f0\u8bcd\u6216\u52a8\u4f5c\u3002\u5bc6\u96c6 scene-change \u5019\u9009\u7684\u6765\u6e90\u5224\u65ad\u4e0e\u5904\u7406\u89c4\u5219\u7531\u526a\u8f91\u9636\u6bb5\u5b9a\u4e49\uff0c\u5199\u8ba1\u5212\u65f6\u9075\u5faa\u540c\u4e00\u89c4\u5219\uff0c\u4e0d\u5236\u9020\u4eba\u5de5\u95ea\u5207\u3002\n\n## 5. \u64b0\u5199\u65c1\u767d\n\nfull \u6a21\u5f0f\u76f4\u63a5\u6309\u539f\u7247\u65f6\u95f4\u5199\uff1bcut \u7b2c\u4e8c\u9636\u6bb5\u5148\u67e5\u770b `edited_source.mp4` \u4e0e\u526a\u540e\u6545\u4e8b\u677f\uff0c\u8865\u5145 `visual_audio_board.json` \u7684\u8f93\u51fa\u65f6\u95f4\u5e76\u91cd\u65b0\u786e\u8ba4 `audio_owner` / `narration_job`\uff0c\u518d\u6309\u8f93\u51fa\u65f6\u95f4\u5199\uff1a\n\n```json\n[\n  {\n    \"start\": 5.0,\n    \"end\": 12.0,\n    \"narration\": \"\u89e3\u8bf4\u6587\u672c\u3002\",\n    \"pause_after_ms\": 250,\n    \"overlaps_speech\": true,\n    \"emotion\": \"\u7d27\u5f20\"\n  }\n]\n```\n\n\u5b57\u6bb5\u8bf4\u660e\uff1a\n\n| \u5b57\u6bb5 | \u542b\u4e49 |\n|------|------|\n| `start` / `end` | full \u6a21\u5f0f\u4e3a\u539f\u7247\u65f6\u95f4\uff1bcut \u7b2c\u4e8c\u9636\u6bb5\u4e3a\u8f93\u51fa\u65f6\u95f4\u3002\u4e0e\u4e0a\u4e00\u5757\u95f4\u9694\u4e0d\u8d85\u8fc7 1.6 \u79d2\u7684\u5757\u5c5e\u4e8e\u540c\u4e00\u6bb5\u843d\uff0cassemble \u4f1a\u8ba9\u5b83\u7d27\u63a5\u4e0a\u4e00\u5757\u7684\u5b9e\u9645\u7ed3\u5c3e\uff08\u95f4\u9694 0.35 \u79d2\uff09\u64ad\u653e\uff0c\u6700\u591a\u6bd4 `start` \u63d0\u524d 1.2 \u79d2\uff0c\u4e14\u63d0\u524d\u7684\u90a3\u4e00\u6bb5\u4e0d\u4f1a\u8fdb\u5165\u539f\u58f0\u5bf9\u767d\uff1b\u6bb5\u843d\u9996\u5757\u4ece `start` \u5f00\u59cb\uff0c\u4e0a\u4e00\u5757\u8d85\u65f6\u5219\u987a\u5ef6\u5230\u4e0a\u4e00\u5757\u7ed3\u5c3e\u52a0\u505c\u987f\u4e4b\u540e |\n| `narration` | \u89e3\u8bf4\u6587\u672c |\n| `pause_after_ms` | \u6bb5\u540e\u505c\u987f\uff0c\u9ed8\u8ba4 250ms |\n| `overlaps_speech` | \u662f\u5426\u4e0e\u539f\u5bf9\u767d\u91cd\u53e0\uff1b\u8fde\u7eed\u94fa\u5e95\u7a97\u53e3\u901a\u5e38\u4e3a `true`\uff0c\u771f\u6b63\u9759\u97f3\u69fd\u624d\u4e3a `false` |\n| `emotion` | \u6574\u4e2a\u89e3\u8bf4\u5757\u7684 MiMo TTS \u60c5\u7eea/\u8bed\u6c14\u6807\u7b7e |\n\n### 5.1 \u5199\u4f5c\u89c4\u5219\n\n1. **\u5148\u6709 `narration_job`\uff0c\u540e\u6709\u53e5\u5b50**\uff1a\u6ca1\u6709\u660e\u786e\u4efb\u52a1\u5c31\u4e0d\u5199\uff1b\u65c1\u767d\u4e0d\u662f\u9ed8\u8ba4\u97f3\u8f68\u3002\n2. **\u6309\u8fde\u7eed\u601d\u8def\u5199**\uff1a\u65c1\u767d\u62e5\u6709\u4e00\u4e2a beat \u65f6\uff0c\u7528\u4e00\u4e2a\u6216\u5c11\u91cf\u5b8c\u6574\u53e5\u5b50\u5b8c\u6210\u201c\u524d\u63d0 \u2192 \u89e6\u53d1\u52a8\u4f5c \u2192 \u53d8\u5316/\u610f\u4e49\u201d\uff0c\u5e76\u5728\u4e00\u6b21 TTS \u4e2d\u5408\u6210\u3002\u53e5\u53f7\u670d\u4ece\u53e3\u8bed\u601d\u8def\u548c\u547c\u5438\uff0c\u4e0d\u670d\u4ece\u5b57\u5e55\u6362\u884c\uff1b\u4e0d\u8981\u56fa\u5b9a\u53e5\u6570\uff0c\u4e5f\u4e0d\u8981\u201c\u4e00\u53e5\u4e00\u505c\u201d\u3002\n3. **7:3 \u4e0d\u662f\u914d\u989d**\uff1a\u53ea\u5728\u7d20\u6750\u5224\u65ad\u4e0d\u8db3\u65f6\u4f5c\u4e3a\u907f\u514d\u5899\u5230\u5899\u65c1\u767d\u7684\u7c97\u7565\u9996\u7a3f\u53c2\u8003\u3002\u5b9e\u9645\u6bd4\u4f8b\u670d\u4ece `audio_owner`\uff1b\u5f3a\u5bf9\u767d\u3001\u52a8\u4f5c\u58f0\u6216\u6c89\u9ed8\u53ef\u4ee5\u5b8c\u6574\u62e5\u6709\u4e00\u4e2a beat\u3002\n4. **\u89c6\u542c\u63a5\u529b**\uff1a\u65c1\u767d\u82e5\u5f15\u51fa\u539f\u58f0\uff0c\u5757\u5c3e\u8981\u8ba9\u89c2\u4f17\u60f3\u542c\uff1b\u539f\u58f0\u7ed3\u675f\u540e\u7684\u4e0b\u4e00\u5757\u8981\u627f\u63a5\u5b83\u9020\u6210\u7684\u53d8\u5316\u3002\n5. **\u6309\u6709\u6548\u8bed\u901f\u63a7\u91cf**\uff1a\u7528 `\u5b57\u6570 / brief \u5934\u90e8 speech budget` \u4f30\u7b97\u6717\u8bfb\u79d2\u6570\uff0c\u6bcf\u5757\u518d\u52a0\u7ea6 0.45 \u79d2 TTS \u9996\u5c3e\u9759\u97f3\u3002brief \u91cc\u6bcf\u4e2a\u7a97\u53e3\u6807\u7684\u5b57\u6570\u6ca1\u6263\u8fd9\u6bb5\u9759\u97f3\uff0c2\u20133 \u79d2\u7684\u77ed\u7a97\u53e3\u8981\u6bd4\u5b83\u5c11\u5199\u4e00\u4e24\u4e2a\u5b57\uff1b\u88c5\u4e0d\u4e0b\u65f6\u5220\u51cf\u6216\u62c6\u5206\u53d9\u4e8b\u4efb\u52a1\uff0c\u4e0d\u7528\u52a0\u901f\u5806\u5b57\u3002\n6. **\u4e0d\u770b\u56fe\u8bf4\u8bdd**\uff1a\u65c1\u767d\u53ea\u589e\u52a0\u4e0a\u4e0b\u6587\u3001\u56e0\u679c\u3001\u9884\u671f\u3001\u8bc1\u636e\u652f\u6301\u7684\u89e3\u91ca\u6216\u8de8\u8d8a\u3002\n7. **\u4eba\u7269\u4e0e\u8bc1\u636e\u4f18\u5148**\uff1a\u4f18\u5148\u4f7f\u7528\u5df2\u77e5\u89d2\u8272\u540d\uff1b\u5173\u7cfb\u3001\u52a8\u673a\u3001\u6f5c\u53f0\u8bcd\u548c\u7ed3\u679c\u5fc5\u987b\u6307\u5411 visual / ASR / research / user context\uff0c\u4e14\u4e0d\u80fd\u628a\u80cc\u666f\u8d44\u6599\u4f2a\u88c5\u6210\u5f53\u524d\u753b\u9762\u4e8b\u5b9e\u3002\n8. **\u5199\u7ed9\u8033\u6735\u542c**\uff1a\u4f7f\u7528\u5177\u4f53\u540d\u8bcd\u548c\u52a8\u8bcd\uff0c\u53e5\u5b50\u5b8c\u6574\u3001\u53e3\u8bed\u53ef\u542c\uff1b\u907f\u514d\u5b57\u5e55\u8154\u3001\u534a\u53e5\u3001\u7a7a\u6cdb\u62d4\u9ad8\u548c\u7834\u6298\u53f7\u3002TTS \u6587\u672c\u5148\u4fdd\u8bc1\u542c\u611f\u8fde\u7eed\uff0c\u5b57\u5e55\u518d\u6309\u9605\u8bfb\u5bbd\u5ea6\u62c6\u5206\uff0c\u4e0d\u80fd\u53cd\u8fc7\u6765\u628a\u6717\u8bfb\u7a3f\u5207\u788e\u3002\n9. **\u907f\u514d\u6a21\u677f\u5316\u7ea0\u504f**\uff1a\u201c\u4e0d\u662f A\uff0c\u800c\u662f B\u201d\u53ea\u5728\u786e\u5b9e\u5b58\u5728\u4e00\u4e2a\u89c2\u4f17\u53ef\u80fd\u76f8\u4fe1\u3001\u800c\u7d20\u6750\u53c8\u8981\u7ea0\u6b63\u7684\u5224\u65ad\u65f6\u4f7f\u7528\u3002\u5b83\u4e0d\u662f\u7981\u53e5\uff0c\u4f46\u4e0d\u80fd\u9760\u5148\u5426\u5b9a\u518d\u80af\u5b9a\u5236\u9020\u5047\u6d1e\u5bdf\uff1b\u4f18\u5148\u76f4\u63a5\u5199\u4eba\u7269\u7684\u52a8\u4f5c\u3001\u56e0\u679c\u548c\u540e\u679c\u3002\n\n### 5.2 \u89e3\u8bf4\u7ed3\u6784\n\n- **\u94a9\u5b50**\uff1a\u63d0\u51fa\u6b63\u6587\u4f1a\u771f\u5b9e\u5151\u73b0\u7684\u95ee\u9898\u6216\u5229\u5bb3\uff0c\u4e0d\u7528\u65e0\u5173\u7559\u5b58\u8bdd\u672f\u3002\n- **\u4e3b\u7ebf**\uff1a\u56f4\u7ed5\u9009\u5b9a POV \u4e0e\u4e3b\u7ebf\u63a8\u8fdb\uff0c\u4e0d\u5728\u6bcf\u4e2a\u573a\u666f\u91cd\u65b0\u5f00\u7bc7\u3002\n- **\u9012\u8fdb**\uff1a\u540e\u7eed beat \u5fc5\u987b\u63d0\u9ad8\u98ce\u9669\u3001\u6539\u53d8\u5173\u7cfb\u6216\u63d0\u4f9b\u65b0\u4fe1\u606f\u3002\n- **\u60ac\u5ff5\u7f3a\u53e3**\uff1a\u53ea\u9884\u544a\u4e4b\u540e\u771f\u7684\u4f1a\u56de\u6536\u7684\u540e\u679c\u3002\n- **\u6536\u5c3e**\uff1a\u56de\u7b54\u6216\u6709\u610f\u8f6c\u5316\u5f00\u5934\u95ee\u9898\uff0c\u7559\u4e0b\u660e\u786e\u4f59\u5473\u3002\n- **\u8854\u63a5**\uff1a\u65c1\u767d\u5757\u4e0e\u76f8\u90bb\u539f\u58f0\u5c5e\u4e8e\u540c\u4e00\u4e2a beat\uff0c\u524d\u8005\u94fa\u57ab\u3001\u540e\u8005\u5448\u73b0\u3001\u4e0b\u4e00\u5757\u627f\u63a5\u3002\n\n### 5.3 \u539f\u58f0\u7559\u767d\u5b57\u5e55\n\n\u53ef\u9009\u5199 `original_subtitles.json`\uff0c\u4f7f\u7528\u6210\u7247\u8f93\u51fa\u65f6\u95f4\uff1a\n\n```json\n[{\"start\": 15.0, \"end\": 17.0, \"text\": \"\u539f\u58f0\u53f0\u8bcd\"}]\n```\n\n\u53ea\u5199\u7559\u767d\u4e2d\u5b9e\u9645\u542c\u5f97\u5230\u7684\u53f0\u8bcd\uff0c\u8ba2\u6b63 ASR \u9519\u5b57\u4e0e\u4eba\u540d\uff0c\u6bcf\u6761\u5c3d\u91cf\u63a7\u5236\u5728\u4e00\u884c\uff1b\u88ab\u65c1\u767d\u76d6\u4f4f\u6216\u5df2\u7ecf\u526a\u6389\u7684\u53e5\u5b50\u4e0d\u8981\u5199\u3002\u7701\u7565\u65f6\uff0c\u5408\u6210\u9636\u6bb5\u53ef\u7528\u4fdd\u5b88\u7684 ASR \u6620\u5c04\u515c\u5e95\u3002\u539f\u58f0\u5bf9\u767d\u5b57\u5e55\u53ea\u5728\u906e\u7f69\u8986\u76d6\u7559\u767d\u6216\u7528\u6237\u5b57\u5e55\u660e\u786e\u8981\u6c42\u66ff\u6362\u65f6\u751f\u6210\uff0c\u5e76\u7528 `\u300c\u300d` \u4e0e\u65c1\u767d\u533a\u5206\u3002\n\n## 6. \u521b\u4f5c\u81ea\u5ba1\n\n\u5728\u8c03\u7528 LLM \u8bc4\u5ba1\u524d\u505a\u4ee5\u4e0b**\u53cd\u4e8b\u5b9e\u68c0\u67e5**\uff1a\n\n1. \u5220\u9664\u6bcf\u4e2a beat\uff1a\u82e5\u56e0\u679c\u3001\u4eba\u7269\u3001\u60c5\u7eea\u6216\u627f\u8bfa\u6ca1\u6709\u635f\u5931\uff0c\u5c31\u5220\u9664\u3002\n2. \u6bd4\u8f83\u8bf4\u8bdd\u8005/\u52a8\u4f5c\u4e0e\u503e\u542c\u8005/\u53cd\u5e94\uff1a\u4fdd\u7559\u66f4\u7b26\u5408 POV \u548c\u60c5\u7eea\u7684\u65f6\u523b\u3002\n3. \u9759\u97f3\u65c1\u767d\uff1a\u753b\u9762\u4e0e\u539f\u58f0\u4ecd\u5e94\u627f\u8f7d\u53ef\u89c1\u884c\u52a8\u3001\u4eba\u7269\u884c\u4e3a\u548c\u5173\u952e\u60c5\u7eea\u3002\n4. \u53ea\u542c\u58f0\u97f3\uff1a\u65c1\u767d\u5e94\u5f62\u6210\u53ef\u542c\u61c2\u7684\u4e3b\u7ebf\uff0c\u800c\u4e0d\u662f\u753b\u9762\u5b57\u5e55\u3002\n5. \u628a\u65c1\u767d\u6362\u6210\u539f\u58f0\u6216\u6c89\u9ed8\uff1a\u82e5\u573a\u666f\u81ea\u8eab\u66f4\u6709\u529b\u91cf\uff0c\u5c31\u8ba9\u51fa\u58f0\u97f3\u6240\u6709\u6743\u3002\n6. \u68c0\u67e5\u5f00\u5934\u95ee\u9898\u662f\u5426\u771f\u5b9e\uff0c\u7ed3\u5c3e\u662f\u5426\u56de\u7b54\u6216\u8f6c\u5316\u5b83\u3002\n7. \u68c0\u67e5\u76f8\u90bb\u77ed\u53e5\u80fd\u5426\u5408\u6210\u4e00\u4e2a\u8fde\u7eed\u601d\u8def\uff1b\u5b57\u5e55\u5206\u884c\u4e0d\u5f97\u6210\u4e3a TTS \u65ad\u53e5\u7406\u7531\u3002\n\n\u53ea\u8bb0\u5f55\u5e76\u4f18\u5148\u4fee\u590d 1\u20133 \u4e2a\u56de\u62a5\u6700\u9ad8\u7684\u95ee\u9898\uff1b\u5148\u6539\u7ed3\u6784\uff0c\u518d\u6da6\u8272\u53e5\u5b50\u3002\n\nREVISION \u8fd8\u8981\u9010\u9879\u786e\u8ba4\uff1a\u7528\u6237\u70b9\u540d\u7684\u95ee\u9898\u5df2\u7ecf\u6539\u53d8\uff0c\u672a\u70b9\u540d\u7684\u51bb\u7ed3\u9879\u6ca1\u6709\u610f\u5916\u53d8\u5316\uff0c\u76f8\u5173 `style_card.json` / `visual_audio_board.json` \u4e2d\u4e0d\u5b58\u5728\u65e7\u955c\u5934\u6216\u65e7\u8868\u8fbe\u3002\u9664\u975e\u7528\u6237\u8981\u6c42\u5907\u9009\u7248\u672c\uff0c\u4e0d\u989d\u5916\u6269\u5c55\u65b0\u65b9\u5411\u3002\n\n## 7. \u8bc4\u5ba1\u4e0e\u6821\u9a8c\n\n### 7.1 \u5efa\u8bae\u578b\u8bed\u4e49\u8bc4\u5ba1\n\n```bash\npython3 scripts/review.py --work-dir <work_dir>   # \u4f1a\u8054\u7f51\uff1a\u5916\u53d1\u5185\u5bb9\u4e0e\u5173\u95ed\u65b9\u5f0f\u89c1 \u00a72\n```\n\n\u8bc4\u5ba1\u4f1a\u81ea\u52a8\u8bc6\u522b cut \u6a21\u5f0f\uff0c\u5e76\u5728\u5b58\u5728\u5df2\u6821\u9a8c\u526a\u8f91\u8ba1\u5212\u65f6\u6309\u8f93\u51fa\u65f6\u95f4\u7ebf\u6838\u5bf9\uff1b`--timeline source` \u53ef\u5f3a\u5236\u4f7f\u7528\u539f\u7247\u65f6\u95f4\u3002\u6253\u5f00 `narration_review.md`\uff0c\u9010\u9879\u5904\u7406 `error`\uff0c\u5c24\u5176\u662f `category=hallucination`\u3002\n\n\u91cd\u590d\u4fee\u6539\u5e76\u8bc4\u5ba1\uff0c\u76f4\u5230\uff1a\n\n- `verdict` \u4e3a `PASS` \u4e14\u6ca1\u6709 `error`\uff1b\u6216\n- \u5bf9\u4ecd\u4fdd\u7559\u7684\u95ee\u9898\u505a\u660e\u786e override\u3002\n\n\u8986\u76d6\u51b3\u5b9a\u8ffd\u52a0\u5230 `work_dir/narration_review_override.md`\uff1a\n\n```markdown\n### \u8986\u76d6\u8bb0\u5f55 \u2014 <date>\n- \u95ee\u9898\uff1asegment 4 / category=hallucination\n- \u8bc4\u5ba1\u610f\u89c1\uff1a\u201c\u4ed6\u65e9\u5df2\u77e5\u60c5\u201d\u7f3a\u5c11\u753b\u9762/\u5bf9\u767d\u4f9d\u636e\n- \u51b3\u5b9a\uff1aKEEP \u2014 \u8be5\u4e8b\u5b9e\u6765\u81ea\u7528\u6237\u63d0\u4f9b\u7684\u5f53\u524d\u96c6\u80cc\u666f\uff0c\u800c\u975e\u672a\u6765\u5267\u60c5\n- \u7b7e\u7f72\uff1a<agent/human>\n```\n\n`review.py` \u672c\u8eab\u53ea\u5199\u62a5\u544a\uff0c\u9ed8\u8ba4\u8c03\u7528\u7b56\u7565\u4e3a\u5efa\u8bae\u578b\u3001\u5931\u8d25\u5f00\u653e\uff1b\u82e5\u8c03\u7528\u65b9\u663e\u5f0f\u5f00\u542f\u4e25\u683c\u8bc4\u5ba1\uff0c\u4e8b\u5b9e\u77db\u76fe\u3001\u6b8b\u53e5\u3001\u89e3\u6790\u5931\u8d25\u6216\u8bc4\u5ba1\u4e0d\u53ef\u7528\u53ef\u5728 TTS \u524d\u963b\u65ad\u3002\u8986\u76d6\u8bb0\u5f55\u53ea\u7528\u4e8e\u5ba1\u8ba1\uff0c`review.py` / `validate.py` \u4e0d\u8bfb\u53d6\u5b83\u3002\n\n### 7.2 \u786e\u5b9a\u6027\u786c\u6821\u9a8c\n\n```bash\npython3 scripts/validate.py --work-dir <work_dir> --mode full\n# cut \u8f93\u51fa\u65f6\u95f4\u7ebf\u7531\u7f16\u6392\u5668\u4f7f\u7528 --mode cut_output\n```\n\n\u547d\u4ee4\u5199\u51fa `narration_lint.json`\u3002full \u4e0e cut_output \u7528\u540c\u4e00\u5957\u58f0\u97f3\u5f52\u5c5e\u7b97\u6cd5\uff08\u539f\u58f0\u5bf9\u767d\u533a\u95f4\u51cf\u53bb\u5b89\u9759\u7a97\u53e3\uff09\u56de\u5199 `overlaps_speech`\uff0c\u5176\u4f59\u5b57\u6bb5\u539f\u6837\u4fdd\u7559\uff0c\u4e0d\u622a\u77ed\u3001\u4e0d\u5408\u5e76\u3001\u4e0d\u8865\u6807\u70b9\u3001\u4e0d\u91cd\u6392\u3002\u63a8\u8350\u5b57\u6570\u6309\u65f6\u95f4\u7a97\u5148\u6263 0.45 \u79d2 TTS \u9996\u5c3e\u9759\u97f3\u518d\u8ba1\u7b97\uff1bfull \u6a21\u5f0f\u4e0b\u67d0\u6bb5\u5b57\u6570\u8d85\u8fc7\u63a8\u8350\u5b57\u6570\u7684 1.25 \u500d\u5373\u62a5 `over_budget` error\uff0c\u62a5\u544a\u91cc\u5199\u660e\u65f6\u95f4\u7a97\u3001`budget_chars`\u3001`limit_chars`\u3001`actual_chars` \u548c `over_chars`\uff1a\u7f29\u77ed\u6587\u5b57\u6216\u653e\u5bbd/\u632a\u52a8\u65f6\u95f4\u7a97\uff0c\u4e0d\u8981\u6307\u671b TTS \u66ff\u4f60\u7f29\u7a3f\u3002\u6709 error \u65f6\u547d\u4ee4\u4ee5\u975e\u96f6\u9000\u51fa\uff0c\u9010\u5757\u5217\u51fa\u300c\u6bb5 N\u300d\uff08narration.json \u91cc\u7b2c N \u5757\uff0c\u4ece 1 \u6570\uff1b`narration_lint.json` \u7684 `index` \u4ecd\u4ece 0 \u6570\uff09\u3001\u9519\u8bef\u7801\u3001\u5173\u952e\u6570\u5b57\u548c\u6539\u6cd5\u3002\u4fee\u590d\u6240\u6709 error \u540e\u91cd\u590d\u8fd0\u884c\uff0c\u76f4\u5230\u6821\u9a8c\u5e72\u51c0\uff0c\u518d\u7ee7\u7eed TTS \u4e0e\u5408\u6210\u3002\n\n\u7247\u540d\u6216\u9898\u6750\u660e\u786e\u4f46\u7f3a\u5c11\u5267\u60c5\u4e0a\u4e0b\u6587\u65f6\uff0c\u5148\u6309\u672c\u6280\u80fd\u7684 `references/research-guide.md` \u5199 `background_research.json`\u3002\u82e5\u7406\u89e3\u7d20\u6750\u504f\u8584\uff0cbrief \u4e2d\u7684\u6570\u91cf\u53ea\u80fd\u5f53\u4e0a\u9650\uff1a\u5b81\u53ef\u5c11\u5199\u3001\u5199\u5b9e\uff0c\u4e5f\u4e0d\u8981\u4e3a\u51d1\u6570\u590d\u8ff0\u753b\u9762\u3002\n\n## 8. \u80fd\u529b\u8fb9\u754c\n\n- \u4e0d\u8fd0\u884c ASR / VLM\uff0c\u4e0d\u5408\u6210 TTS\uff0c\u4e0d\u6e32\u67d3\u89c6\u9891\uff1b\u53ea\u6d88\u8d39\u89c6\u9891\u7406\u89e3\u7d22\u5f15\u3002\n- \u552f\u4e00\u7684\u8fdc\u7a0b\u8c03\u7528\u662f `review.py` \u7684 MiMo \u6587\u5b57\u8bc4\u5ba1\uff08\u89c1 \u00a72\uff09\uff1b`validate.py` \u4e0e lint \u53ea\u5728\u672c\u5730\u8fd0\u884c\u3002\n- \u5e73\u53f0\u7814\u7a76\u4ec5\u7528\u4e8e\u660e\u786e\u7684\u5ba3\u53d1\u4efb\u52a1\uff1b\u4e0d\u66ff\u4ee3\u5f53\u524d\u7247\u5185\u4e8b\u5b9e\uff0c\u4e5f\u4e0d\u9ed8\u8ba4\u6539\u53d8\u89e3\u8bf4\u548c\u526a\u8f91\u3002\n","usage":"\u8bfb\u53d6 SKILL.md\uff0c\u5e76\u6309\u9700\u8bfb\u53d6\u914d\u5957\u6587\u4ef6\uff1b\u4e0b\u8f7d ZIP \u83b7\u53d6\u5b8c\u6574\u5305\u3002\u6280\u80fd\u662f\u4efb\u52a1\u65b9\u6cd5\uff0c\u4e0d\u6388\u4e88\u65b0\u589e\u8d26\u6237\u3001\u4ed8\u8d39\u6216\u7cfb\u7edf\u6743\u9650\u3002"}
