{
  "messages": [
    {
      "role": "system",
      "content": "你是短剧剧本智能体。程序已经完成分集候选、block 切分、来源映射、人物绑定和 markdown 骨架。不得改动 episode_id、episode_index、block_id、source_scene_ids、source_group_ids、source_beat_ids、characters、locations、candidate_meta。程序同时拥有 block 的结构语义锚点：time_modes、presentation_mode、story_functions、must_keep、continuity_requirements，以及 candidate_meta 中的 summary、objective、conflict、turning_point、unit_count、unit_ids。你只能润色 episode 的 title、logline、summary、opening_hook、ending_hook，以及每个 block 的 title、screenplay_text、transition_note。润色只意味着调整措辞、节奏、短剧表达密度，不得改变剧情顺序、冲突目标、角色/地点关系、压缩策略或 block 职责归属。不得把一个 block 的核心情节挪到别的 block，也不得把多个 block 重新拼接成新的结构。如果 block.candidate_meta.unit_count > 1 或 group_strategy=multi_unit_sequence，说明这是程序已合并的压缩 block：必须写成一个连续、可表演的合并段落，保留 source unit 顺序与共用冲突，不得拆回多个互不衔接的小段，也不得逐条复述来源 scene。如果 candidate_meta 中存在 dialogue_guard，必须遵守这些约束。当 dialogue_guard.expected_dialogue=true 时，不得把有明确对白机会的 block 改成纯叙述；当 opportunity_level=high 时，应优先保留至少一轮清晰对白往来；当 opportunity_level=medium 或 low 时，至少保留一句明确发话或可识别的对话动作。如果 candidate_meta 中存在 continuity_guard，必须遵守这些约束。当 continuity_guard.carryover_expected=true 时，必须显式保留与上一 block 的承接锚点，优先使用 shared_character_names、shared_location_names、continuity_requirements 或同一冲突线索；承接应简洁明确，不得把上一 block 全量复述成 recap，也不得额外发明新的时间跳转、地点跳转、人物关系或关键设定。不得新增或删除 block，不得改写来源映射，不得发明新的实体 ID。输出必须是严格 JSON。"
    },
    {
      "role": "user",
      "content": "请基于程序生成的分集剧本候选，把语言整理成更适合 Dramart 上传与人工审阅的短剧剧本文本。输出必须是严格 JSON，键为：episode_id, title, logline, summary, opening_hook, ending_hook, blocks。blocks 必须是与输入相同数量的列表，每个元素只能包含：block_id, title, screenplay_text, transition_note。episode 与 block 的结构、来源链、顺序、职责边界都由程序决定；你只能在各自 block 内润色文本，不能跨 block 搬运主要情节。screenplay_text 应该写成清晰、紧凑、可审阅的短剧正文，而不是镜头清单；要保留 adaptation 已经确定的压缩/桥接策略，不要擅自扩写成小说式散文、长段心理描写或背景设定说明。如果 block.presentation_mode 属于 narration / exposition / montage，允许写成桥接或压缩段落，但仍要保留该 block 自身的目标、冲突与转折，不得偷换成全知摘要。如果 block.candidate_meta.unit_count > 1，说明该 block 已被程序确定为合并段落；请把多个来源 unit 写成一个连续段落，不要拆回多个独立小节，也不要逐条罗列 scene 摘要。若 block.candidate_meta.dialogue_guard.expected_dialogue=true，应保留明确对白；若 opportunity_level=high，优先写出至少一轮对白往来；若 opportunity_level=medium 或 low，至少保留一句明确台词或发话动作。若 block.candidate_meta.continuity_guard.carryover_expected=true，应显式保留与上一 block 的人物、地点、动作目标或冲突承接；优先使用 guard 提供的 shared_character_names / shared_location_names / continuity_requirements 作为承接锚点，但不要把上一 block 整段重写成 recap。如输入已给出角色、地点、来源 scene 或实体绑定，优先沿用，不得凭空新增关键角色、关键地点、关键道具、关键设定或时间跳转。所有内容必须使用中文。只返回单个 JSON 对象，不要 markdown，不要代码块。如果无法判断，至少保留输入中的 episode_id 和所有 block_id。\n\nSCREENPLAY CANDIDATE:\n{\"episode_id\": \"EP0001\", \"episode_index\": 1, \"title\": \"第01集 张三触碰到铜令并感知到其不寻常…\", \"logline\": \"张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"summary\": \"张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜…\", \"opening_hook\": \"张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"ending_hook\": \"张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"source_scene_ids\": [\"S0001\"], \"source_group_ids\": [\"AG0001\"], \"source_beat_ids\": [\"AB0001\"], \"characters\": [{\"entity_uid\": \"E000001\", \"name\": \"张三\", \"canonical_name\": \"张三\", \"display_name\": \"张三\", \"type\": \"人物\", \"subtype\": \"\", \"visual_card_id\": \"VC000001\", \"voice_card_id\": \"VO000001\", \"asset_binding_id\": \"AB000001\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}, {\"entity_uid\": \"E000002\", \"name\": \"李四\", \"canonical_name\": \"李四\", \"display_name\": \"李四\", \"type\": \"人物\", \"subtype\": \"\", \"visual_card_id\": \"VC000002\", \"voice_card_id\": \"VO000002\", \"asset_binding_id\": \"AB000002\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}], \"locations\": [{\"entity_uid\": \"E000003\", \"name\": \"客栈\", \"canonical_name\": \"客栈\", \"display_name\": \"客栈\", \"type\": \"地点\", \"subtype\": \"\", \"visual_card_id\": \"VC000003\", \"voice_card_id\": \"\", \"asset_binding_id\": \"AB000003\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}], \"blocks\": [{\"block_id\": \"EP0001B001\", \"kind\": \"scene\", \"title\": \"张三走进客栈，李四抬头看他。 / 清晨，张三拾…\", \"source_scene_ids\": [\"S0001\"], \"source_group_ids\": [\"AG0001\"], \"source_beat_ids\": [\"AB0001\"], \"lead_scene_id\": \"S0001\", \"narrative_range\": {\"start\": 1, \"end\": 2}, \"story_range\": {\"start\": 1, \"end\": 2}, \"time_modes\": [\"unknown\", \"mainline\"], \"presentation_mode\": \"dramatize\", \"story_functions\": [\"开场\", \"建立氛围\", \"引入人物\", \"引入关键道具\", \"建立角色内心状态\", \"推进悬念\"], \"characters\": [{\"entity_uid\": \"E000001\", \"name\": \"张三\", \"canonical_name\": \"张三\", \"display_name\": \"张三\", \"type\": \"人物\", \"subtype\": \"\", \"visual_card_id\": \"VC000001\", \"voice_card_id\": \"VO000001\", \"asset_binding_id\": \"AB000001\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}, {\"entity_uid\": \"E000002\", \"name\": \"李四\", \"canonical_name\": \"李四\", \"display_name\": \"李四\", \"type\": \"人物\", \"subtype\": \"\", \"visual_card_id\": \"VC000002\", \"voice_card_id\": \"VO000002\", \"asset_binding_id\": \"AB000002\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}], \"locations\": [{\"entity_uid\": \"E000003\", \"name\": \"客栈\", \"canonical_name\": \"客栈\", \"display_name\": \"客栈\", \"type\": \"地点\", \"subtype\": \"\", \"visual_card_id\": \"VC000003\", \"voice_card_id\": \"\", \"asset_binding_id\": \"AB000003\", \"identity_conflict\": {}, \"conflict_group_id\": \"\"}], \"must_keep\": [\"张三走进客栈\", \"李四抬头目光如刀\", \"天色将暮\", \"张三拾起铜令的动作\", \"角色不安的情绪反应\", \"时间设定：清晨\"], \"continuity_requirements\": [\"角色连续性：张三 / 李四\", \"地点连续性：客栈\", \"时间连续性：黄昏\", \"时间连续性：紧接前一场的‘清晨’\", \"角色连续性：张三\", \"道具连续性：铜令首次出现\"], \"outline\": \"本段概述：张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\\n推进目标：建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\\n必须保留：张三走进客栈；李四抬头目光如刀；天色将暮\\n冲突：潜在的、未言明的紧张与对立（通过眼神传达）\\n转折：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"screenplay_text\": \"张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\\n这一段要完成的戏剧目标是：建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\\n画面与情节必须落下：张三走进客栈、李四抬头目光如刀、天色将暮。\\n核心冲突落在：潜在的、未言明的紧张与对立（通过眼神传达）\\n段落收束时要给出转折：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"transition_note\": \"\", \"candidate_meta\": {\"unit_id\": \"AB0001\", \"unit_ids\": [\"AB0001\"], \"unit_count\": 1, \"beat_type\": \"opening_setup\", \"group_strategy\": \"compress_block\", \"hard_merge\": true, \"support_scene_ids\": [\"S0002\"], \"drop_scene_ids\": [\"S0002\"], \"character_entity_refs\": [{\"entity_uid\": \"E000001\", \"entity_id\": \"E000001\", \"name\": \"张三\", \"canonical_name\": \"张三\", \"type\": \"人物\", \"subtype\": \"\", \"matched_terms\": [\"张三\"], \"match_score\": 5.2, \"ref_role\": \"character_candidate\"}, {\"entity_uid\": \"E000002\", \"entity_id\": \"E000002\", \"name\": \"李四\", \"canonical_name\": \"李四\", \"type\": \"人物\", \"subtype\": \"\", \"matched_terms\": [\"李四\"], \"match_score\": 5.1, \"ref_role\": \"character_candidate\"}], \"location_entity_refs\": [{\"entity_uid\": \"E000003\", \"entity_id\": \"E000003\", \"name\": \"客栈\", \"canonical_name\": \"客栈\", \"type\": \"地点\", \"subtype\": \"\", \"matched_terms\": [\"客栈\"], \"match_score\": 5.1, \"ref_role\": \"location_candidate\"}], \"summary\": \"张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\", \"objective\": \"建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\", \"conflict\": \"潜在的、未言明的紧张与对立（通过眼神传达）\", \"turning_point\": \"张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"metrics\": {\"text_length\": 171, \"quote_count\": 0, \"action_score\": 0, \"exposition_score\": 0, \"inner_score\": 8, \"character_count\": 2, \"location_count\": 1, \"beat_count\": 4, \"continuation_of_prev\": false}, \"dialogue_guard\": {\"expected_dialogue\": false, \"opportunity_level\": \"low\", \"reasons\": [], \"source_quote_count\": 0, \"source_character_count\": 2, \"source_scene_count\": 1}, \"continuity_guard\": {\"carryover_expected\": false, \"reasons\": [], \"shared_character_names\": [], \"shared_location_names\": [], \"previous_block_id\": \"\"}}}], \"candidate_meta\": {\"target_units_per_episode\": 6, \"min_units_per_episode\": 3, \"unit_count\": 1, \"unit_ids\": [\"AB0001\"], \"narrative_start\": 1, \"narrative_end\": 2, \"story_start\": 1, \"story_end\": 2, \"time_modes\": [\"unknown\", \"mainline\"]}, \"episode_markdown\": \"# 第01集 张三触碰到铜令并感知到其不寻常…\\n\\n一句话梗概：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n剧情摘要：张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜…\\n开场钩子：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n结尾钩子：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n\\n## 张三走进客栈，李四抬头看他。 / 清晨，张三拾…\\n\\n张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\\n这一段要完成的戏剧目标是：建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\\n画面与情节必须落下：张三走进客栈、李四抬头目光如刀、天色将暮。\\n核心冲突落在：潜在的、未言明的紧张与对立（通过眼神传达）\\n段落收束时要给出转折：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\", \"episode_upload_markdown\": \"# 第01集 张三触碰到铜令并感知到其不寻常…\\n\\n主要人物：张三、李四\\n主要场景：客栈\\n一句话梗概：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n剧情摘要：张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜…\\n开场钩子：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n结尾钩子：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n\\n## 场次01 张三走进客栈，李四抬头看他。 / 清晨，张三拾…\\n\\n人物：张三、李四\\n场景：客栈\\n结构锚点：\\n剧情功能：开场、建立氛围、引入人物、引入关键道具、建立角色内心状态、推进悬念\\n呈现方式：戏剧化\\n时间层：未标明 / 主线\\n必保留点：张三走进客栈；李四抬头目光如刀；天色将暮；张三拾起铜令的动作；角色不安的情绪反应；时间设定：清晨\\n连续性要求：角色连续性：张三 / 李四；地点连续性：客栈；时间连续性：黄昏；时间连续性：紧接前一场的‘清晨’；角色连续性：张三；道具连续性：铜令首次出现\\n改编锚点：\\n本段概述：张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\\n推进目标：建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\\n必须保留：张三走进客栈；李四抬头目光如刀；天色将暮\\n冲突：潜在的、未言明的紧张与对立（通过眼神传达）\\n转折：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\\n\\n张三走进客栈，李四抬头看他。 / 清晨，张三拾起铜令，心中不安。\\n这一段要完成的戏剧目标是：建立场景、引入主要人物，并通过一个充满张力的对视瞬间暗示潜在的冲突，为后续情节铺垫。\\n画面与情节必须落下：张三走进客栈、李四抬头目光如刀、天色将暮。\\n核心冲突落在：潜在的、未言明的紧张与对立（通过眼神传达）\\n段落收束时要给出转折：张三触碰到铜令并感知到其不寻常的瞬间，内心状态从日常转为警觉。\"}"
    }
  ]
}