@lingjingai/scriptctl 0.62.7 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -45,6 +45,22 @@ Script v4 的新节点使用类型前缀加 6 位 Bitcoin Base58 的 NanoID。
45
45
  1-based `@` 序号定位,修改使用查询返回的正式 ID。已有 Script v3 按显式
46
46
  `version: 3` 继续走原有查询、写入、authoring 和 publish 实现,不改写旧 ID。
47
47
 
48
+ ## 原视频审核的全剧 ASR 校时与补漏
49
+
50
+ `scriptctl review -p <script.json> -s <视频目录>`(或按集排序的完整 `--video` 列表)逐集执行「豆包 Flash ASR → Gemini 对比 → 校时落盘 → Mastra 审核 → 落盘」。`--concurrency` 控制同时进行的整集流程,默认 **5 集并发**。需要 `ffmpeg` 和 `SD_AUDIO_APIKEY`;ASR 协议与 Redraw `subtitle_realign/asr.py` 一致,使用每集完整音轨,以本集 00:00 为原点。
51
+
52
+ Gemini 接收左侧带时间戳、行锚点的亚洲格式剧本正文,以及有句/词编号、起止时间的 ASR 文本,不接收剧本 JSON。按内容与上下文做多对多对应,容许 ASR 同音字、专名、标点及合理拆句差异。
53
+
54
+ - **时间不齐或缺时间**:Gemini 为每条可明确对应的台词选择 ASR 句/词起点。程序取该编号的真实毫秒时间,经 screenplay SDK 批量更新本集时间戳,保留原始文字、说话人、类型及其他字段。本集校时落盘后立即启动本集 Agent,不等待其他集;纯画面动作不按 ASR 猜时间,只有后半句证据时保留整条起点。
55
+ - **漏台词**:记录 ASR 原话、时间范围、邻近位置和理由,不直接插入 ASR 文本。随后对应集 Agent 收到清单和切好的看片窗口,逐项 `watch` 核对原片后修复并记录 finding。每处线索按窗口数增加看片预算,长句拆成不超过 15 秒的窗口。
56
+ - **无法可靠对应**:保留原样,把具体说明交给 Agent。服务请求失败、无效响应或非法修正目标记为本集失败,继续后续集;失败集不应用对比方案、不启动本集 Agent。已完成集的修改保留,失败清单在 `episode` 事件及最终统计中体现。
57
+
58
+ 剧本旁 `.review/asr/episode-N/` 保存按音频 SHA-256 复用的成功 ASR 响应,以及每次对比的 `script.txt`、`asr.txt`、`prompt.txt`、`gemini-response.json` 和 `report.json`(含前后时间、台词、缺漏线索)。当前剧本每次重新对比,不缓存对比结论。
59
+
60
+ `asr-started` / `asr-transcribed` / `asr-compared` NDJSON 按集报告进度与证据;`asr-compared` 不代表修改已落盘,带 `episode_number` 的 `asr-applied` 表示本集校时已经保存。之后的 `episode` 报告本集完成或失败,已有修改已保存;`done.statistics.fixed` 包含自动校时条数,`usage_total` 汇总对比与审核 Gemini 用量。
61
+
62
+ `--episodes` 只对所选集执行 ASR、校时和审核,适合失败集重试;`--converge-only` 只做全剧收敛。无视频的纯文本审核不执行 ASR;`--check` 只检查配置与 bundle,不发 ASR/Gemini 请求。服务失败不自动换模型或重提请求。
63
+
48
64
  ## 退出码
49
65
 
50
66
  | 码 | 含义 |
@@ -0,0 +1,7 @@
1
+ # 0.63.0
2
+
3
+ - 剧本审核按集执行豆包 ASR、Gemini 对比、自动校时与 Agent 审核,默认并发 5;单集 ASR 失败不阻塞其他集,支持指定集补跑。
4
+ - Gemini 通过本集台词锚点与 ASR 句词编号对齐时间,保留剧本文字;缺漏和其他疑点交给对应集 Agent 核对原片,按缺漏窗口增加媒体预算。
5
+ - 保存 ASR 对比证据、校时前后明细及缺漏记录,逐集提交修复并输出审核事件。
6
+ - 处理 ASR 空白分隔词,明确部分匹配时保留整句起点;提供批量校时与时间在左的剧本证据格式。
7
+ - 逐集与全局 Agent 默认 maxSteps 提升至 300。
@@ -7,7 +7,9 @@
7
7
  - None.
8
8
 
9
9
  ## Fixed
10
- - None.
10
+ - Gemini 次卡渠道(`-c1`、`-c2`、`-c3` 等)的视频结构化输出通过 prompt 携带完整字段定义,并支持从附带说明或代码块的响应中提取 JSON;官方渠道继续使用原生 JSON Schema。
11
+ - `@lingjingai/screenplay` publishes its `sc` executable and defaults to public npm access.
12
+ - `scriptctl ingest` now requires every video shot and voice to include a non-empty `MM:SS` timestamp in its structured model output.
11
13
 
12
14
  ## Breaking
13
15
  - None.
package/dist/bin.js CHANGED
@@ -7349,6 +7349,15 @@ function geminiUsage(meta) {
7349
7349
  const num2 = (v) => typeof v === "number" ? v : void 0;
7350
7350
  return { inputTokens: num2(m["promptTokenCount"]), outputTokens: num2(m["candidatesTokenCount"]) };
7351
7351
  }
7352
+ function isDiscountGeminiModel(model) {
7353
+ return /-c\d+$/.test(model);
7354
+ }
7355
+ function jsonObject(text2) {
7356
+ const start = text2.indexOf("{");
7357
+ const end = text2.lastIndexOf("}");
7358
+ if (start < 0 || end < start) throw new SyntaxError("JSON object not found");
7359
+ return text2.slice(start, end + 1);
7360
+ }
7352
7361
  var POLL_INTERVAL_MS2 = 2e3;
7353
7362
  function delay3(ms) {
7354
7363
  return new Promise((resolve22) => setTimeout(resolve22, ms));
@@ -7448,14 +7457,20 @@ var GeminiVideoModel = class {
7448
7457
  if (request2.media.kind === "local-fallback" || request2.media.kind === "local") {
7449
7458
  throw new LlmTransportError("invalid_response", "A local fallback video cannot be sent to Gemini.");
7450
7459
  }
7460
+ const promptJson = Boolean(request2.responseJsonSchema) && isDiscountGeminiModel(this.model.model);
7451
7461
  const config = {
7452
7462
  // High media resolution reads small on-screen text (subtitles, name cards)
7453
7463
  // and fine visual anchors (§10.3).
7454
7464
  mediaResolution: "MEDIA_RESOLUTION_HIGH",
7455
7465
  maxOutputTokens: request2.maxOutputTokens
7456
7466
  };
7457
- if (request2.system?.trim()) config["systemInstruction"] = request2.system;
7458
- if (request2.responseJsonSchema) {
7467
+ const systemInstruction = [request2.system?.trim(), promptJson ? `\u8F93\u51FA\u5FC5\u987B\u662F\u4E00\u4E2A\u53EF\u89E3\u6790\u7684 JSON \u5BF9\u8C61\u3002\u53EA\u8FD4\u56DE JSON\uFF0C\u4E0D\u8981\u8F93\u51FA\u4EFB\u4F55\u989D\u5916\u6587\u5B57\u6216 Markdown \u4EE3\u7801\u5757\u3002
7468
+ \u4EE5\u4E0B\u662F\u5B8C\u6574\u8F93\u51FA JSON Schema\u3002\u4E25\u683C\u9075\u5B88\u6240\u6709\u5C42\u7EA7\u7684\u5B57\u6BB5\u540D\u3001\u7C7B\u578B\u3001required\u3001\u679A\u4E3E\u3001\u683C\u5F0F\u7EA6\u675F\u548C description\uFF1B\u4E0D\u5F97\u81EA\u884C\u6539\u540D\u6216\u7701\u7565\u5FC5\u586B\u5B57\u6BB5\u3002\u8FD4\u56DE\u7B26\u5408\u8BE5\u5B9A\u4E49\u7684\u6570\u636E\u5BF9\u8C61\uFF0C\u4E0D\u8981\u8FD4\u56DE schema \u672C\u8EAB\u3002
7469
+ <output_json_schema>
7470
+ ${JSON.stringify(request2.responseJsonSchema, null, 2)}
7471
+ </output_json_schema>` : ""].filter(Boolean).join("\n\n");
7472
+ if (systemInstruction) config["systemInstruction"] = systemInstruction;
7473
+ if (request2.responseJsonSchema && !promptJson) {
7459
7474
  config["responseMimeType"] = "application/json";
7460
7475
  config["responseJsonSchema"] = request2.responseJsonSchema;
7461
7476
  }
@@ -7465,7 +7480,9 @@ var GeminiVideoModel = class {
7465
7480
  role: "user",
7466
7481
  parts: [
7467
7482
  request2.media.kind === "file-api" ? { fileData: { fileUri: request2.media.file.uri, mimeType: request2.media.file.mimeType }, videoMetadata: { fps: request2.fps } } : { inlineData: { data: request2.media.data, mimeType: request2.media.mimeType }, videoMetadata: { fps: request2.fps } },
7468
- { text: request2.user }
7483
+ { text: promptJson ? `${request2.user}
7484
+
7485
+ \u53EA\u8FD4\u56DE JSON \u5BF9\u8C61\u672C\u8EAB\uFF0C\u4E0D\u8981\u8F93\u51FA\u4EFB\u4F55\u89E3\u91CA\u3001\u524D\u8A00\u3001Markdown \u4EE3\u7801\u5757\u6216\u5176\u4ED6\u6587\u5B57\u3002` : request2.user }
7469
7486
  ]
7470
7487
  }],
7471
7488
  config
@@ -7544,7 +7561,9 @@ var GeminiVideoModel = class {
7544
7561
  }
7545
7562
  if (request2.responseJsonSchema) {
7546
7563
  try {
7547
- JSON.parse(text2);
7564
+ const json = promptJson ? jsonObject(text2) : text2;
7565
+ JSON.parse(json);
7566
+ return { text: json, finishReason: finishReason2, usage: usage3, raw: response };
7548
7567
  } catch {
7549
7568
  throw new LlmTransportError("invalid_response", "Gemini returned malformed JSON for a structured video response.", {
7550
7569
  retryable: true,
@@ -8745,7 +8764,7 @@ async function commandReview(opts) {
8745
8764
  model: profile.model,
8746
8765
  mediaModel: profile.model,
8747
8766
  ...profile.baseUrl ? { baseUrl: profile.baseUrl } : {},
8748
- maxSteps: positive2(opts, "max_steps", 60),
8767
+ maxSteps: positive2(opts, "max_steps", 300),
8749
8768
  mediaBudget: positive2(opts, "media_budget", 1),
8750
8769
  episodeTimeoutMs: positive2(opts, "episode_timeout_ms", 8 * 6e4),
8751
8770
  onEvent: write2
@@ -8755,8 +8774,8 @@ async function commandReview(opts) {
8755
8774
  throw new CliError("Review failed.", {
8756
8775
  exitCode: EXIT_RUNTIME,
8757
8776
  errorCode: "REVIEW_FAILED",
8758
- hint: "Read the last NDJSON lines on stdout for the episode that failed.",
8759
- data: { expected: ["a completed review run"], actual: [String(error.message).slice(0, 300)] }
8777
+ hint: "Read the error details, NDJSON asr-compared/episode reports and .review/asr/ evidence before retrying.",
8778
+ data: { expected: ["a completed review run"], actual: [error instanceof Error ? error.message : String(error)] }
8760
8779
  });
8761
8780
  }
8762
8781
  return [{ text: "", data: {} }, EXIT_OK];
@@ -9059,7 +9078,7 @@ function speakerLabel(doc2, sp) {
9059
9078
  }
9060
9079
  function formatAction(doc2, a, gutter, opts = {}) {
9061
9080
  const pad7 = (opts.plain ? "" : a.anchor).padEnd(gutter);
9062
- const ts = !opts.plain && a.ts ? `${a.ts} ` : "";
9081
+ const ts = opts.timestamps ? `${a.ts ?? "[\u65F6\u95F4\u7F3A\u5931]"} ` : !opts.plain && a.ts ? `${a.ts} ` : "";
9063
9082
  const body = (() => {
9064
9083
  if (a.type === "transition")
9065
9084
  return `\u2192 ${a.content}`;
@@ -9071,7 +9090,8 @@ function formatAction(doc2, a, gutter, opts = {}) {
9071
9090
  }
9072
9091
  return a.content;
9073
9092
  })();
9074
- return `${pad7}${pad7 ? " " : ""}${ts}${body}`.replace(/\n/g, "\\n");
9093
+ const anchor = `${pad7}${pad7 ? " " : ""}`;
9094
+ return `${opts.timestamps ? ts + anchor : anchor + ts}${body}`.replace(/\n/g, "\\n");
9075
9095
  }
9076
9096
  function refText(doc2, r) {
9077
9097
  const name = assetName3(doc2, r.id);
@@ -15857,12 +15877,12 @@ async function withIngestWorkspaceLock(workspacePath, operation) {
15857
15877
  }
15858
15878
 
15859
15879
  // src/llm/tasks/ingest/video-serial.ts
15860
- var VIDEO_SERIAL_SYSTEM = "\u4F60\u662F\u77ED\u5267\u89C6\u9891\u8F6C\u5267\u672C\u7684\u4E32\u884C\u89E3\u6790\u5668\u3002\u8F93\u5165\u662F**\u67D0\u4E00\u96C6**\u7AD6\u5C4F\u77ED\u5267\u89C6\u9891\uFF081-2 \u5206\u949F\uFF09+ \u4E00\u4EFD\u5230\u4E0A\u4E00\u96C6\u4E3A\u6B62\u7D2F\u79EF\u7684**\u5DF2\u77E5\u8BBE\u5B9A**\uFF08\u4EBA\u7269\u82B1\u540D\u518C/\u5267\u60C5\u8FDB\u5C55/\u672A\u95ED\u5408\u7EBF\u7D22\uFF09\u3002\u4F60\u8981\u8F93\u51FA**\u4E00\u4E2A\u7ED3\u6784\u5316 JSON \u5BF9\u8C61**\uFF08\u4E25\u683C\u7B26\u5408\u7CFB\u7EDF\u7ED9\u5B9A\u7684\u8F93\u51FA schema\uFF09\uFF0C\u540C\u65F6\u5305\u542B\uFF1A\u2460\u8FD9\u4E00\u96C6\u5C3D\u91CF\u5FE0\u5B9E\u8FD8\u539F\u539F\u7247\u7684**\u5206\u955C\u5267\u672C**\uFF08scenes\uFF09\uFF1B\u2461\u5BF9\u5DF2\u77E5\u8BBE\u5B9A\u7684**\u589E\u91CF\u7EF4\u62A4**\uFF08registry_delta\uFF1A\u4EBA\u7269\u82B1\u540D\u518C\u5E26\u72B6\u6001\u6807\u6CE8\u3001\u89C4\u8303\u540D\u5347\u7EA7\uFF09+ \u5267\u60C5\u7EBF\u7D22\uFF08open_threads\uFF09\u3002**\u53EA\u8F93\u51FA\u8BE5 JSON\uFF0C\u4E0D\u8981\u4EFB\u4F55\u989D\u5916\u6587\u5B57\u3001\u89E3\u91CA\u6216\u4EE3\u7801\u5757\u5305\u88F9\u3002**\n\u6838\u5FC3\u8981\u6C42\uFF1A\u9010\u955C\u4FDD\u7559\u539F\u7247\u7684\u53EF\u89C1\u4FE1\u606F\u3001\u4EBA\u7269\u8868\u6F14\u3001\u7AD9\u4F4D\u5173\u7CFB\u3001\u6444\u5F71\u8C03\u5EA6\u4E0E\u5168\u90E8\u58F0\u97F3\uFF1B\u52A8\u4F5C/\u5BF9\u767D/\u5B9E\u4F53\u51C6\u786E\uFF0C\u4E0D\u8111\u8865\uFF0C\u65F6\u95F4\u6233\u5BF9\u9F50\u753B\u9762\u3002\n\u3010\u65F6\u95F4\u6233\u9010\u6761\u5FC5\u586B\u3011\u6BCF\u4E00\u6761 shots \u548C voices \u90FD\u5FC5\u987B\u586B\u5199\u8BE5\u955C\u5934\u6216\u58F0\u97F3\u771F\u6B63\u5F00\u59CB\u7684\u975E\u7A7A ts\uFF0C\u683C\u5F0F\u4E25\u683C\u4E3A MM:SS\uFF08\u4F8B\u5982\u300E00:03\u300F\uFF09\u3002\u4E0D\u5F97\u7559\u7A7A\u3001\u586B null\u3001\u586B\u672A\u77E5\u503C\u6216\u7701\u7565\u5B57\u6BB5\uFF1B\u4E0D\u786E\u5B9A\u65F6\u91CD\u65B0\u89C2\u770B\u753B\u9762\u6216\u542C\u97F3\u8F68\uFF0C\u586B\u5199\u6700\u63A5\u8FD1\u7684\u5B9E\u9645\u8D77\u70B9\u3002\u4EFB\u4E00\u6761\u7F3A\u5C11\u5408\u6CD5 ts \u65F6\uFF0C\u6574\u4EFD JSON \u90FD\u4E0D\u80FD\u63D0\u4EA4\u3002\nscenes \u5FC5\u987B\u5305\u542B\u672C\u96C6\u5B9E\u9645\u53EF\u89C1\u7684\u573A\u666F\uFF0C\u81F3\u5C11\u4E00\u9879\uFF1B\u65E0\u65B0\u4EBA\u7269\u3001\u65E0\u5BF9\u767D\u6216\u6CA1\u6709\u8BBE\u5B9A\u589E\u91CF\u65F6\u4ECD\u987B\u5B8C\u6574\u8BB0\u5F55\u672C\u96C6\u753B\u9762\uFF0C\u4E0D\u80FD\u53EA\u8FD4\u56DE\u6897\u6982\u6216 registry_delta\uFF0C\u4E5F\u4E0D\u80FD\u7528\u7A7A scenes \u8868\u793A\u6CBF\u7528\u4E0A\u96C6\u8BBE\u5B9A\u3002\n\u3010\u5355\u6B21\u89E3\u6790\u987A\u5E8F\u2014\u2014\u5FC5\u987B\u4F9D\u6B21\u5B8C\u6210\u3011\u7B2C\u4E00\u6B65\uFF0C\u4ECE\u89C6\u9891\u5F00\u5934\u5230\u7ED3\u5C3E\u5B8C\u6574\u542C\u4E00\u904D\u97F3\u8F68\uFF0C\u6309\u65F6\u95F4\u987A\u5E8F\u76D8\u70B9\u6240\u6709\u53EF\u8FA8\u8BC6\u4EBA\u58F0\uFF0C\u586B\u5165\u5404 scene \u7684 voices\uFF1B\u7B2C\u4E8C\u6B65\uFF0C\u4ECE\u5F00\u5934\u5230\u7ED3\u5C3E\u9010\u955C\u76D8\u70B9\u6BCF\u6B21\u5207\u955C\u3001\u8FDE\u7EED\u955C\u5934\u5185\u7684\u6444\u5F71\u53D8\u5316\u3001\u753B\u9762\u4E3B\u4F53\u3001\u7AD9\u4F4D\u3001\u52A8\u4F5C\u3001\u8868\u60C5\u3001\u89C6\u7EBF\u3001\u63A5\u89E6\u3001\u9053\u5177\u548C\u73AF\u5883\u53D8\u5316\uFF0C\u586B\u5165\u5404 scene \u7684 shots\uFF1B\u7B2C\u4E09\u6B65\uFF0C\u5206\u522B\u590D\u6838 voices \u662F\u5426\u5B8C\u6574\u3001shots \u662F\u5426\u9010\u955C\u8986\u76D6\u5168\u7247\u3002\u5B8C\u6210 JSON \u524D\u518D\u6B21\u590D\u6838\u6700\u540E\u5341\u79D2\uFF0C\u786E\u8BA4\u63D2\u5165\u753B\u9762\u3001\u624B\u673A/\u5C4F\u5E55\u753B\u9762\u3001\u56DE\u5FC6\u3001\u8499\u592A\u5947\u3001\u91CD\u590D\u753B\u9762\u3001\u53CD\u6253\u548C\u7247\u5C3E\u524D\u53CD\u5E94\u90FD\u6CA1\u6709\u6F0F\u5199\u3002\u76D8\u70B9\u548C\u590D\u6838\u53EA\u5728\u5185\u90E8\u5B8C\u6210\uFF0C\u4E0D\u53E6\u589E\u8F93\u51FA\u5B57\u6BB5\u3002\n\u3010\u8EAB\u4EFD\u5F52\u5C5E\u2014\u2014\u672C\u4EFB\u52A1\u91CD\u70B9\u3011\u5E26\u7740\u5DF2\u77E5\u8BBE\u5B9A\u770B\u8FD9\u4E00\u96C6\uFF1A\n- \u51FA\u73B0\u7684\u4EBA\u5148\u5224\u65AD**\u662F\u4E0D\u662F\u82B1\u540D\u518C\u91CC\u5DF2\u6709\u7684\u67D0\u4E2A\u4EBA**\uFF1A\u4F18\u5148\u6BD4\u5BF9\u591A\u6761 recognition_anchors \u548C identity_profile \u4E2D\u8DE8\u9020\u578B\u7A33\u5B9A\u7684\u8138\u90E8\u7ED3\u6784\u3001\u56FA\u5B9A\u6807\u8BB0\u3001\u53D1\u9645\u7EBF/\u5E38\u6001\u53D1\u578B\u3001\u9AA8\u67B6\u4F53\u578B\u4E0E\u58F0\u7EBF\uFF1B\u670D\u88C5\u3001\u5986\u5BB9\u548C\u5F53\u4E0B\u59FF\u6001\u53EA\u4F5C\u5F31\u8F85\u52A9\uFF0Crole \u53EA\u63D0\u4F9B\u89D2\u8272\u8BED\u5883\uFF0C\u4E0D\u80FD\u66FF\u4EE3\u89C6\u89C9\u8BC1\u636E\u3002\u7A33\u5B9A\u7279\u5F81\u4E00\u81F4\u624D\u6CBF\u7528\u5176**\u89C4\u8303\u540D**\u3002\u82E5\u5173\u952E\u7A33\u5B9A\u7279\u5F81\u51B2\u7A81\uFF0C\u4E0D\u8981\u5F3A\u884C\u5408\u5E76\uFF0C\u4FDD\u7559\u6216\u767B\u8BB0\u72EC\u7ACB provisional \u8EAB\u4EFD\u7B49\u5F85\u76F4\u63A5\u8BC1\u636E\u3002\n- \u8BA4\u4E0D\u51FA\u3001\u4E5F\u6CA1\u542C\u5230\u672C\u540D\u7684\u4EBA \u21D2 **\u4E0D\u8981\u786C\u731C\u3001\u4E0D\u8981\u7F16\u5E26\u59D3\u7684\u5047\u540D**\u3002\u7528\u300E\u7A33\u5B9A\u5916\u89C2\u7279\u5F81+\u5E74\u9F84\u6BB5+\u6027\u522B\u300F\u6784\u6210\u4E0D\u542B\u59D3\u6C0F\u7684\u63CF\u8FF0\u540D\uFF0Cstatus \u6807 `provisional`\uFF0C\u4ECD\u9700\u586B\u5199\u5B8C\u6574\u53EF\u89C1\u8EAB\u4EFD\u753B\u50CF\u3001\u8BC6\u522B\u951A\u70B9\u4E0E\u4F5C\u7528\u3002\n- \u63CF\u8FF0\u540D\u3001\u7B80\u79F0\u6216\u4E0D\u5B8C\u6574\u59D3\u540D\u53EA\u6709\u5728\u672C\u96C6\u51FA\u73B0**\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\u6216\u53F0\u8BCD\u76F4\u63A5\u8BF4\u51FA\u672C\u540D**\u65F6\u624D\u80FD\u5347\u7EA7\u89C4\u8303\u540D\uFF1B\u5728 registry_delta.canonicalize \u5199 {from_name, canonical_name, evidence}\uFF0Cevidence \u5FC5\u987B\u5199\u660E\u65F6\u95F4\u6233\u548C\u5F53\u65F6\u53EF\u89C1\u7684\u539F\u6587\u6216\u542C\u5230\u7684\u539F\u8BDD\u3002\u5267\u60C5\u5173\u7CFB\u53EA\u80FD\u5E2E\u52A9\u5224\u65AD\u662F\u4E0D\u662F\u540C\u4E00\u4E2A\u4EBA\uFF0C\u4E0D\u80FD\u5355\u72EC\u4F5C\u4E3A\u6539\u540D\u8BC1\u636E\u3002\n- \u5B8C\u6210\u524D\u6267\u884C\u8D44\u4EA7\u5BF9\u8D26\uFF1A\u6C47\u603B scenes.location\u3001scenes.characters\u3001scenes.props \u4E0E\u4EBA\u7269 voices.speaker \u4E2D\u51FA\u73B0\u7684\u6BCF\u4E2A\u8D44\u4EA7\u540D\uFF0C\u9010\u9879\u786E\u8BA4\u5B83\u80FD\u89E3\u6790\u5230\u5DF2\u77E5\u8BBE\u5B9A\u3001registry_delta.new_entities \u6216\u672C\u96C6 canonicalize \u7684\u76EE\u6807\u3002\u4EFB\u4F55\u672A\u767B\u8BB0\u4EBA\u7269\u5FC5\u987B\u8865\u5165 new_entities \u5E76\u586B\u5199 identity_profile\u3001recognition_anchors\u3001role \u4E0E states\uFF1B\u672A\u767B\u8BB0\u5730\u70B9/\u9053\u5177\u5FC5\u987B\u586B\u5199 appearance\u3001role \u4E0E states\u3002\u82E5\u4E00\u4E2A\u7269\u4EF6\u4E0D\u503C\u5F97\u6210\u4E3A\u5173\u952E\u9053\u5177\u8D44\u4EA7\uFF0C\u5C31\u4ECE scenes.props \u79FB\u9664\u3002\u5BF9\u8D26\u5DEE\u96C6\u975E\u7A7A\u65F6\u4E0D\u5F97\u8F93\u51FA JSON\u3002\u89C4\u8303\u540D\u5347\u7EA7\u540E\u7ACB\u5373\u4F7F\u7528 canonical_name\uFF0C\u4E0D\u8BA9\u6B63\u6587\u8D44\u4EA7\u540D\u8131\u79BB\u82B1\u540D\u518C\u3002\n\u3010\u4EBA\u7269\u8EAB\u4EFD\u753B\u50CF\u3011\u9996\u6B21\u767B\u8BB0\u4EBA\u7269\u65F6\uFF0C\u4ECE\u5168\u7247\u591A\u4E2A\u6E05\u6670\u89D2\u5EA6\u7EFC\u5408\u586B\u5199 identity_profile\uFF0C\u800C\u4E0D\u662F\u7528\u4E00\u53E5\u7B3C\u7EDF\u5916\u8C8C\u6982\u62EC\u3002\u9010\u9879\u8BB0\u5F55\u53EF\u89C1\u6027\u522B\u4E0E\u5E74\u9F84\u6BB5\u3001\u8138\u578B/\u98A7\u9AA8/\u4E0B\u988C\u3001\u7709\u773C\u3001\u9F3B\u90E8\u3001\u9759\u6001\u5507\u5F62\u4E0E\u53E3\u5468\u3001\u7A33\u5B9A\u80A4\u8272\u548C\u9762\u90E8\u7279\u5F81\u3001\u7A33\u5B9A\u53D1\u8272/\u53D1\u9645\u7EBF/\u5E38\u6001\u53D1\u578B\u3001\u9AA8\u67B6\u4F53\u578B\u3001\u56FA\u5B9A\u8EAB\u4F53\u6807\u8BB0\uFF1B\u58F0\u7EBF\u4EC5\u4F9D\u636E\u6E05\u6670\u539F\u58F0\u586B\u5199\u3002\u770B\u4E0D\u6E05\u7684\u5B57\u6BB5\u7559\u7A7A\uFF0C\u4E0D\u731C\u6D4B\u3002\u63CF\u8FF0\u4F7F\u7528\u53EF\u89C2\u5BDF\u7684\u5F62\u72B6\u3001\u6BD4\u4F8B\u3001\u4F4D\u7F6E\u3001\u989C\u8272\u4E0E\u7EB9\u7406\uFF0C\u907F\u514D\u5BA1\u7F8E\u3001\u6C14\u8D28\u3001\u6027\u683C\u3001\u60C5\u7EEA\u548C\u5267\u60C5\u8BC4\u4EF7\u3002\u670D\u9970\u3001\u5986\u5BB9\u3001\u53EF\u6458\u9970\u54C1\u3001\u5F53\u4E0B\u8868\u60C5\u4E0E\u89C6\u7EBF\u3001\u52A8\u4F5C\u3001\u59FF\u6001\u3001\u4E34\u65F6\u4F24\u75D5/\u8840\u8FF9/\u6C61\u6E0D\u3001\u53D8\u8EAB\u6216\u5176\u4ED6\u9636\u6BB5\u6027\u5F62\u6001\u5C5E\u4E8E states \u6216 shots\uFF0C\u4E0D\u6DF7\u5165\u8EAB\u4EFD\u753B\u50CF\u3002\u586B\u5199\u5B8C\u9010\u5B57\u6BB5\u68C0\u67E5\uFF1A\u5047\u8BBE\u4EBA\u7269\u6362\u88C5\u3001\u5378\u5986\u3001\u6458\u6389\u914D\u9970\u3001\u6539\u53D8\u8868\u60C5\u5E76\u8FDB\u5165\u53E6\u4E00\u573A\u666F\uFF0C\u8BE5\u63CF\u8FF0\u662F\u5426\u4ECD\u6210\u7ACB\uFF1B\u4E0D\u6210\u7ACB\u5C31\u4ECE identity_profile \u79FB\u51FA\u3002\n\u3010\u8BC6\u522B\u951A\u70B9\u3011\u4EBA\u7269 recognition_anchors \u5199 3-6 \u6761\u6700\u9002\u5408\u8DE8\u96C6\u91CD\u8BA4\u7684\u7EC4\u5408\u7279\u5F81\uFF1B\u6BCF\u6761\u81F3\u5C11\u7EC4\u5408\u4E24\u4E2A\u6765\u81EA identity_profile \u7684\u7A33\u5B9A\u3001\u53EF\u533A\u5206\u7EBF\u7D22\uFF0C\u5E76\u5C3D\u91CF\u8986\u76D6\u8138\u90E8\u7ED3\u6784\u3001\u4E94\u5B98\u6BD4\u4F8B\u3001\u56FA\u5B9A\u8EAB\u4F53\u6807\u8BB0\u3001\u53D1\u9645\u7EBF/\u5E38\u6001\u5934\u53D1\u3001\u9AA8\u67B6\u4F53\u578B\u6216\u58F0\u7EBF\u7B49\u4E0D\u540C\u7EF4\u5EA6\u3002\u951A\u70B9\u4E0D\u5F97\u5305\u542B\u670D\u88C5\u3001\u5236\u670D\u53F7\u7801\u3001\u5E3D\u5B50\u3001\u773C\u955C\u6216\u5176\u4ED6\u53EF\u6458\u914D\u9970\u3001\u5986\u5BB9\u3001\u5F53\u4E0B\u795E\u60C5/\u52A8\u4F5C/\u59FF\u6001\u3001\u4E34\u65F6\u4F24\u75D5\u6C61\u6E0D\u3001\u5267\u60C5\u8EAB\u4EFD/\u80FD\u529B/\u5173\u7CFB\u3001\u53D8\u8EAB\u5F62\u6001\u6216\u968F\u573A\u666F\u53D8\u5316\u7684\u7269\u4EF6\u3002\u5DF2\u6709\u5B9E\u4F53\u5728\u672C\u96C6\u51FA\u73B0\u66F4\u6E05\u6670\u89D2\u5EA6\u65F6\uFF0C\u7528 enrich.identity_profile_patch \u53EA\u8865\u5145\u6216\u4FEE\u6B63\u6709\u65B0\u8BC1\u636E\u7684\u5B57\u6BB5\uFF0C\u5E76\u7528 add_recognition_anchors \u589E\u52A0\u65B0\u951A\u70B9\uFF1B\u4E0D\u8981\u628A\u6574\u6BB5\u65E7\u753B\u50CF\u6539\u5199\u6210\u53E6\u4E00\u53E5\u3002\u8F93\u51FA\u524D\u9010\u6761\u6838\u5BF9\uFF1A\u951A\u70B9\u4E2D\u7684\u6BCF\u4E2A\u8BCD\u90FD\u80FD\u5728 identity_profile \u627E\u5230\u7A33\u5B9A\u4F9D\u636E\uFF0C\u5426\u5219\u91CD\u5199\u6216\u5220\u9664\u3002\n\u3010\u5730\u70B9\u3001\u9053\u5177\u4E0E\u72B6\u6001\u63CF\u8FF0\u3011\u5730\u70B9 appearance \u5199\u7A7A\u95F4\u7ED3\u6784\u3001\u6750\u8D28\u3001\u8272\u5F69\u548C\u56FA\u5B9A\u9648\u8BBE\uFF0Crole \u5199\u7A7A\u95F4\u7528\u9014\uFF1B\u9053\u5177 appearance \u5199\u5F62\u5236\u3001\u6750\u8D28\u3001\u989C\u8272\u548C\u5C3A\u5BF8\u5173\u7CFB\uFF0Crole \u5199\u7528\u9014\u3002states \u7684\u6BCF\u9879\u90FD\u5FC5\u987B\u540C\u65F6\u7ED9\u51FA\u53EF\u590D\u73B0\u7684\u975E\u7A7A description\u3002\u4EBA\u7269\u9020\u578B\u5148\u7EFC\u5408\u672C\u96C6\u591A\u4E2A\u6E05\u6670\u955C\u5934\uFF0C\u518D\u6309\u4ECE\u5934\u5230\u811A\u7684\u7A33\u5B9A\u5C42\u6B21\u63CF\u8FF0\uFF1A\u8BE5\u9020\u578B\u7279\u6709\u7684\u53D1\u578B\u4E0E\u5934\u9970\u3001\u5986\u5BB9\u3001\u9888\u90E8\u9970\u7269\u3001\u5916\u5957\u3001\u4E0A\u88C5\u3001\u4E0B\u88C5\u6216\u8FDE\u4F53\u8863\u88D9\u3001\u889C\u7C7B\u3001\u978B\u5C65\u3001\u624B\u5957\u53CA\u5176\u4ED6\u9970\u54C1\uFF1B\u6BCF\u4EF6\u770B\u6E05\u7684\u5355\u54C1\u5199\u660E\u989C\u8272\u3001\u6750\u8D28/\u5149\u6CFD/\u7EB9\u7406\u3001\u7248\u578B\u4E0E\u677E\u7D27\u3001\u9886\u578B\u3001\u8896\u578B\u3001\u5F00\u5408\u3001\u8170\u7EBF\u3001\u957F\u5EA6\u3001\u4E0B\u6446\u3001\u56FE\u6848\u3001\u6587\u5B57\u6807\u8BC6\u3001\u6EDA\u8FB9\u6216\u91D1\u5C5E\u4EF6\uFF0C\u5E76\u5199\u6E05\u5185\u5916\u53E0\u7A7F\u548C\u914D\u9970\u6240\u5728\u4F4D\u7F6E\uFF1B\u6301\u7EED\u7834\u635F\u3001\u8840\u8FF9\u3001\u6C61\u6E0D\u6216\u53D8\u5F62\u5199\u660E\u90E8\u4F4D\u3001\u8303\u56F4\u4E0E\u989C\u8272\u3002\u53EA\u7701\u7565\u753B\u9762\u672A\u663E\u793A\u6216\u65E0\u6CD5\u786E\u8BA4\u7684\u9879\uFF0C\u4E0D\u7528\u300E\u7A7F\u7740\u67D0\u670D\u88C5\u300F\u4E00\u53E5\u5E26\u8FC7\uFF0C\u4E0D\u51ED\u5C40\u90E8\u955C\u5934\u8865\u5168\u5168\u8EAB\u3002\u5730\u70B9\u548C\u9053\u5177\u72B6\u6001\u5199\u76F8\u5BF9\u5E38\u6001\u7684\u6301\u7EED\u5916\u89C2\u5DEE\u5F02\u3002\u6240\u6709\u63CF\u8FF0\u53EA\u5199\u753B\u9762\u4E8B\u5B9E\uFF0C\u4E0D\u5199\u52A8\u4F5C\u3001\u59FF\u6001\u3001\u60C5\u7EEA\u3001\u5FC3\u7406\u6216\u5267\u60C5\u8BC4\u4EF7\u3002\u5DF2\u77E5\u8BBE\u5B9A\u4E2D\u5DF2\u6709\u7684\u72B6\u6001\u6CBF\u7528\u5176 name\uFF1B\u672C\u96C6\u770B\u5230\u66F4\u591A\u89D2\u5EA6\u6216\u66F4\u6E05\u6670\u7EC6\u8282\u65F6\uFF0C\u7528 enrich.add_states \u7684\u540C\u540D\u9879\u8865\u5168 description\u3002\n\u3010\u8BF4\u8BDD\u4EBA\u2014\u2014\u7528\u5267\u60C5\u9501\u5B9A\uFF0C\u522B\u53EA\u770B\u8138\u3011\u77ED\u5267\u5E38\u6709\u51E0\u4E2A\u957F\u76F8\u76F8\u4F3C\u7684\u4E2D\u8001\u5E74\u7537\u6027\u9AD8\u7BA1\uFF0C\u5355\u5E27\u4EBA\u8138\u4F1A\u8BA4\u9519\u3002\u5148\u4ECE\u53F0\u8BCD\u5185\u5BB9\u3001\u5F7C\u6B64\u79F0\u547C\uFF08\u8C01\u53EB\u8C01\u300C\u54E5\u300D\u300CX\u603B\u300D\uFF09\u3001\u573A\u666F\u5173\u7CFB\uFF08\u8C01\u6C42\u8C01\u3001\u8C01\u8BAD\u8C01\u3001\u8C01\u4E0B\u8DEA\uFF09\u63A8\u65AD\u8FD9\u573A\u5728\u573A\u662F\u8C01\u3001\u8C01\u5BF9\u8C01\u8BF4\uFF0C\u518D\u5B9A\u8BF4\u8BDD\u4EBA\u3002\u5267\u60C5\u9501\u5B9A\u4F18\u5148\u4E8E\u5916\u8C8C\u3002\n\u3010\u547D\u540D\u4F18\u5148\u7EA7\u3011\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\uFF08\u4EBA\u7269\u4ECB\u7ECD\u6761/\u5DE5\u724C/\u6765\u7535\u663E\u793A\uFF09> \u53F0\u8BCD\u558A\u51FA\u7684\u672C\u540D > \u7EAF\u63CF\u8FF0\u540D\u3002\u6709\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\u5C31\u7528\u5B83\u5F53\u89C4\u8303\u540D\uFF0C\u54EA\u6015\u5168\u96C6\u53EA\u558A\u804C\u52A1\u3002\u7EDD\u4E0D\u51ED\u7A7A\u634F\u9020\u5E26\u59D3\u6C0F\u7684\u5047\u540D\u3002\n\u3010\u89C4\u8303\u540D\u552F\u4E00\u6027\u3011\u4EBA\u7269\u89C4\u8303\u540D\u53EA\u5199\u59D3\u540D\u6216\u7A33\u5B9A\u63CF\u8FF0\u540D\uFF0C\u89D2\u8272\u804C\u80FD\u3001\u5173\u7CFB\u3001\u5907\u6CE8\u4E0D\u5F97\u585E\u8FDB\u62EC\u53F7\u3002\u8F93\u51FA\u524D\u6309\u53BB\u7A7A\u683C\u3001\u7EDF\u4E00\u5168\u534A\u89D2\u62EC\u53F7\u5E76\u5FFD\u7565\u62EC\u53F7\u5907\u6CE8\u540E\u7684\u53EF\u89C1\u540D\u79F0\u68C0\u67E5\u82B1\u540D\u518C\uFF1B\u4E24\u4E2A\u4E0D\u540C\u4EBA\u7269\u4E0D\u5F97\u5F97\u5230\u4F1A\u88AB\u5F52\u4E00\u6210\u540C\u540D\u7684\u89C4\u8303\u540D\u3002\u82E5\u53F0\u8BCD\u53EA\u7ED9\u51FA\u76F8\u540C\u79F0\u547C\uFF0C\u4FDD\u7559\u5DF2\u77E5\u4EBA\u7269\u539F\u540D\uFF0C\u5E76\u7ED9\u65B0\u4EBA\u7269\u4F7F\u7528\u80FD\u533A\u5206\u8EAB\u4EFD\u4E14\u4E0D\u5E26\u62EC\u53F7\u7684\u7A33\u5B9A\u63CF\u8FF0\u540D\uFF0C\u4F8B\u5982\u300E\u5A92\u5A46\u738B\u5A76\u300F\uFF0C\u89D2\u8272\u8BF4\u660E\u7EE7\u7EED\u5199\u5728 role\u3002\n\u3010\u58F0\u97F3\u5B8C\u6574\u6027\u3011\u6BCF\u6BB5\u53EF\u8FA8\u8BC6\u7684\u4EBA\u58F0\u90FD\u5FC5\u987B\u5728 voices \u4E2D\u51FA\u73B0\u4E14\u53EA\u51FA\u73B0\u4E00\u6B21\uFF0C\u5305\u62EC\u4EBA\u7269\u51FA\u955C\u5BF9\u767D\u3001\u753B\u5916\u5BF9\u767D\u3001\u89D2\u8272\u5185\u5FC3\u72EC\u767D/\u81EA\u8FF0\u3001\u5BA2\u89C2\u65C1\u767D\u3001\u7535\u8BDD/\u5E7F\u64AD/\u8BBE\u5907\u58F0\u3001\u8033\u8BED\u3001\u7FA4\u4F53\u58F0\u548C\u8DE8\u753B\u9762\u8FDE\u7EED\u8BB2\u8FF0\u3002\u8BF4\u8BDD\u65F6\u753B\u9762\u5207\u6362\u3001\u4EBA\u7269\u672A\u51FA\u955C\u3001\u53EA\u663E\u793A\u6D41\u7A0B\u56FE/\u5730\u56FE/\u624B\u673A/\u5C4F\u5E55\u3001\u8FDB\u5165\u56DE\u5FC6\u6216\u8499\u592A\u5947\u3001\u91CD\u590D\u67D0\u6BB5\u753B\u9762\u3001\u53E3\u578B\u4E0D\u53EF\u89C1\uFF0C\u90FD\u4E0D\u662F\u7701\u7565\u58F0\u97F3\u7684\u7406\u7531\u3002\u8FDE\u7EED\u8BB2\u8FF0\u8DE8 scene \u6216\u8DE8\u955C\u65F6\u6309\u81EA\u7136\u8BED\u53E5\u5728\u5BF9\u5E94\u65F6\u95F4\u70B9\u62C6\u5206\uFF0C\u539F\u8BDD\u5B8C\u6574\u4FDD\u7559\u3001\u4E0D\u91CD\u4E0D\u6F0F\uFF1B\u7528\u540C\u8BED\u8A00\u5BF9\u767D\u5B57\u5E55\u9010\u53E5\u6838\u5BF9\u97F3\u8F68\uFF0C\u5C24\u5176\u68C0\u67E5\u77ED\u53E5\u548C\u63D2\u5165\u753B\u9762\u4E0A\u7684\u8FDE\u7EED\u58F0\u97F3\u3002\n\u3010\u539F\u58F0\u8BED\u8A00\u94C1\u5F8B\u3011voices.content \u9010\u5B57\u4FDD\u7559\u97F3\u8F68\u5B9E\u9645\u4F7F\u7528\u7684\u8BED\u8A00\u3001\u6587\u5B57\u548C\u5939\u6742\u8BED\u8A00\uFF0C\u4E0D\u7FFB\u8BD1\u3001\u4E0D\u6539\u5199\u3001\u4E0D\u7528\u4E2D\u6587\u5B57\u5E55\u66FF\u6362\u5916\u8BED\u539F\u58F0\u3002\u82F1\u6587\u97F3\u8F68\u914D\u4E2D\u6587\u5B57\u5E55\u65F6\u5199\u82F1\u6587\u539F\u8BCD\uFF1B\u5370\u5C3C\u8BED\u3001\u6CF0\u8BED\u6216\u5176\u4ED6\u8BED\u8A00\u97F3\u8F68\u5199\u5BF9\u5E94\u8BED\u8A00\u539F\u8BCD\uFF1B\u540C\u4E00\u53E5\u53D1\u751F code-switch \u65F6\u6309\u542C\u5230\u7684\u987A\u5E8F\u539F\u6837\u4FDD\u7559\u3002\u8BC1\u636E\u4F18\u5148\u7EA7\u662F\u539F\u59CB\u97F3\u8F68 > \u4E0E\u97F3\u8F68\u540C\u8BED\u8A00\u7684\u5BF9\u767D\u5B57\u5E55 > \u7FFB\u8BD1\u5B57\u5E55\u3002\u5B57\u5E55\u53EA\u80FD\u8F85\u52A9\u8FA8\u6E05\u540C\u8BED\u8A00\u539F\u8BCD\uFF0C\u4E0D\u80FD\u6539\u53D8\u53F0\u8BCD\u8BED\u8A00\uFF1B\u542C\u4E0D\u6E05\u65F6\u4FDD\u7559\u53EF\u786E\u8BA4\u90E8\u5206\u5E76\u5728 parenthetical \u6807\u300E\u542C\u8FA8\u5F85\u590D\u6838\u300F\uFF0C\u4E0D\u8981\u7528\u7FFB\u8BD1\u5B57\u5E55\u731C\u53F0\u8BCD\u3002\n\u3010\u753B\u9762\u6587\u5B57\u4E0E\u5D4C\u5957\u753B\u9762\u3011\u5E95\u90E8\u5BF9\u767D\u5B57\u5E55\u662F\u58F0\u97F3\u53F0\u8BCD\u7684\u5197\u4F59\u8BC1\u636E\uFF0C\u4E0D\u5355\u72EC\u5EFA shot\uFF1B\u7528\u5B83\u9010\u53E5\u6838\u5BF9 voices \u662F\u5426\u5B8C\u6574\u3002\u627F\u8F7D\u65B0\u4FE1\u606F\u7684\u753B\u9762\u6587\u5B57\uFF08\u4EBA\u7269\u4ECB\u7ECD\u6761/\u8EAB\u4EFD\u5934\u8854/\u65F6\u95F4\u5730\u70B9\u4EA4\u4EE3/\u7CFB\u7EDF\u63D0\u793A/\u5173\u952E\u9053\u5177\u4E0A\u7684\u5B57\uFF09\u5199\u5165\u5BF9\u5E94 shot.visual\u3002\u624B\u673A\u3001\u76D1\u63A7\u3001\u5C4F\u5E55\u3001\u7167\u7247\u548C\u56DE\u5FC6\u753B\u9762\u53EA\u5199\u5B9E\u9645\u53EF\u89C1\u7684\u4EBA\u7269\u52A8\u4F5C\u3001\u7269\u4F53\u548C\u53EF\u8BFB\u6587\u5B57\uFF1B\u6CA1\u6709\u753B\u9762\u3001\u53F0\u8BCD\u6216\u6587\u5B57\u76F4\u63A5\u8BC1\u660E\u65F6\uFF0C\u4E0D\u63A8\u65AD\u4EBA\u7269\u8EAB\u4F53\u72B6\u6001\u3001\u4E8B\u4EF6\u539F\u56E0\u3001\u524D\u540E\u5173\u7CFB\u6216\u7ED3\u679C\u3002\n\u3010\u72B6\u6001=\u9020\u578B\u3011state / states = \u4E00\u4E2A\u89D2\u8272\u4E00\u6574\u5957\u7A33\u5B9A\u626E\u76F8\uFF08\u7740\u88C5+\u53D1\u578B+\u6301\u7EED\u5986\u9020\uFF0C\u5982\u300C\u6DF1\u7070\u897F\u88C5\u300D\uFF09\uFF0C\u4E0D\u662F\u60C5\u7EEA/\u59FF\u6001\uFF0C\u4E5F\u4E0D\u662F\u5355\u4EF6\u8863\u670D\u3002\u7ED9\u67D0\u89D2\u8272\u6807\u9020\u578B\u524D\uFF0C\u5148\u770B\u5DF2\u77E5\u8BBE\u5B9A\u91CC\u4ED6\u540D\u4E0B\u7684\u300C\u5DF2\u77E5\u9020\u578B\u300D\u6E05\u5355\u2014\u2014\u53EA\u8981\u672C\u96C6\u662F\u4ED6\u5DF2\u5217\u8FC7\u7684\u67D0\u5957\u626E\u76F8\uFF08\u54EA\u6015\u53EA\u62CD\u5230\u4E0A\u534A\u8EAB/\u6362\u4E86\u89D2\u5EA6/\u5149\u7EBF\u4E0D\u540C/\u591A\u770B\u5230\u5C11\u770B\u5230\u4E00\u4EF6\u5355\u54C1\uFF09\uFF0C**\u9010\u5B57\u7167\u6284\u6E05\u5355\u91CC\u90A3\u4E2A\u9020\u578B\u540D**\uFF0C\u53EA\u6709\u6574\u5957\u6362\u88C5\u624D\u65B0\u5EFA\u3002\u9020\u578B\u540D\u53EA\u586B\u7B80\u6D01\u6863\u4F4D\u540D\uFF0C\u8BE6\u7EC6\u7EC4\u6210\u5168\u90E8\u5199\u8FDB state.description\u3002\u8F93\u51FA\u524D\u590D\u6838\u6BCF\u4E2A\u9020\u578B\uFF1A\u753B\u9762\u770B\u6E05\u7684\u670D\u88C5\u5C42\u6B21\u3001\u7248\u578B\u7ED3\u6784\u3001\u6750\u8D28\u914D\u8272\u3001\u978B\u889C\u3001\u5986\u53D1\u548C\u914D\u9970\u662F\u5426\u5DF2\u8986\u76D6\uFF1B\u82E5\u66F4\u6E05\u6670\u955C\u5934\u80FD\u8865\u5145\u65E2\u6709\u9020\u578B\uFF0C\u5C31\u66F4\u65B0\u540C\u540D description\uFF0C\u4E0D\u53E6\u5EFA\u8FD1\u4E49\u9020\u578B\u3002\n\u3010\u573A\u754C\u4E0E\u5730\u70B9\u3011\u4E00\u573A\u662F\u5730\u70B9\u3001\u8FDE\u7EED\u65F6\u6BB5\u548C\u53D9\u4E8B\u7EBF\u8FDE\u7EED\u7684\u751F\u4EA7\u5355\u5143\u3002\u5BA2\u5385\u3001\u5367\u5BA4\u3001\u536B\u751F\u95F4\u3001\u5927\u5385\u3001\u5E7F\u573A\u3001\u821E\u53F0\u3001\u540E\u53F0\u5206\u522B\u4F7F\u7528\u72EC\u7ACB location\uFF1B\u76F8\u5173\u7A7A\u95F4\u7EDF\u4E00\u547D\u540D\u4E3A\u300E\u8C6A\u5B85\xB7\u5BA2\u5385\u300F\u300E\u8C6A\u5B85\xB7\u5367\u5BA4\u300F\u3002\u4EBA\u7269\u8DE8\u8FC7\u95E8\u69DB\u8FDB\u5165\u53E6\u4E00\u7A7A\u95F4\u3001\u53D9\u4E8B\u8FDB\u5165\u53E6\u4E00\u7A33\u5B9A\u7A7A\u95F4\u3001\u660E\u663E\u8DF3\u65F6\u3001\u5207\u6362\u53D9\u4E8B\u7EBF\u6216\u660E\u786E\u8F6C\u573A\u65F6\u5EFA\u7ACB\u65B0 scene\u3002\u4E00\u4E2A scene \u53EA\u5199\u4E00\u4E2A\u4E3B location\uFF1B\u540C\u4E00\u8FDE\u7EED\u573A\u5185\u7684\u4EBA\u7269\u9020\u578B\u53D8\u5316\u4E0D\u662F\u5206\u573A\u7406\u7531\u3002\n\u3010\u72B6\u6001\u53D8\u5316\u4E0E\u573A\u5185\u8D44\u4EA7\u3011\u4EBA\u7269\u6362\u6574\u5957\u670D\u88C5\u3001\u53D8\u8EAB\u3001\u8131\u8863\u5F62\u6210\u53EF\u6301\u7EED\u65B0\u5916\u89C2\u65F6\uFF0C\u628A\u53D8\u5316\u52A8\u4F5C\u5199\u5165\u5F53\u524D scene \u7684 shots\u3002characters \u4E2D\u540C\u4E00\u89C4\u8303\u540D\u53EA\u51FA\u73B0\u4E00\u6B21\uFF1B\u8BE5\u6761\u7684 states \u662F\u672C\u573A\u51FA\u73B0\u8FC7\u7684\u5168\u90E8\u7A33\u5B9A\u9020\u578B\u96C6\u5408\uFF0C\u4E0D\u80FD\u6F0F\u6389\u53D8\u5316\u524D\u6216\u53D8\u5316\u540E\u72B6\u6001\uFF0C\u4E5F\u4E0D\u6309\u5148\u540E\u62C6\u6210\u91CD\u590D\u4EBA\u7269\u3002\u5730\u70B9\u88AB\u6BC1\u6216\u5173\u952E\u9053\u5177\u660E\u663E\u53D8\u5F62\u65F6\u767B\u8BB0\u5BF9\u5E94\u65B0 state\u3002\u60C5\u7EEA\u3001\u59FF\u6001\u548C\u4E00\u6B21\u6027\u52A8\u4F5C\u4FDD\u7559\u5728 shots \u7684 visual\uFF0C\u4E0D\u5EFA\u7ACB state\u3002\n\u3010\u9010\u955C\u8FD8\u539F\u3011shots \u662F\u72EC\u7ACB\u5206\u955C\u6E05\u5355\u3002\u6BCF\u6B21\u5207\u955C\u90FD\u5728\u8D77\u59CB\u65F6\u95F4\u65B0\u589E\u4E00\u6761 shot\uFF0C\u5373\u4F7F\u5B83\u91CD\u590D\u5C55\u793A\u4E4B\u524D\u7684\u52A8\u4F5C\u6216\u6CA1\u6709\u65B0\u5267\u60C5\uFF0C\u4E5F\u8981\u4FDD\u7559\u3002\u8FDE\u7EED\u955C\u5934\u5185\u7684\u666F\u522B\u3001\u62CD\u6444\u89D2\u5EA6\u3001\u673A\u4F4D\u3001\u955C\u5934\u79FB\u52A8\u3001\u6784\u56FE\u3001\u7126\u70B9\u6216\u753B\u9762\u4E3B\u4F53\u53D8\u5316\uFF0C\u4EE5\u53CA\u6BCF\u4E2A\u65B0\u52A8\u4F5C\u3001\u53CD\u5E94\u3001\u63A5\u89E6/\u5206\u5F00\u3001\u9053\u5177\u64CD\u4F5C\u4E0E\u7ED3\u679C\u3001\u8FDB\u51FA\u573A\u3001\u79FB\u52A8\u3001\u59FF\u52BF/\u671D\u5411/\u89C6\u7EBF\u6216\u7A7A\u95F4\u5173\u7CFB\u53D8\u5316\uFF0C\u90FD\u5728\u5B9E\u9645\u53D1\u751F\u65F6\u53E6\u589E shot\u3002\u4E0D\u5F97\u628A\u5148\u540E\u53D1\u751F\u7684\u5206\u955C\u6216\u52A8\u4F5C\u538B\u7F29\u6210\u5267\u60C5\u6982\u8FF0\u3002\n\u3010shot.camera\u3011\u53EA\u5199\u539F\u7247\u53EF\u89C1\u3001\u53EF\u590D\u73B0\u7684\u6444\u5F71\u4FE1\u606F\uFF1A\u8FDC\u666F/\u5168\u666F/\u4E2D\u666F/\u8FD1\u666F/\u7279\u5199\u7B49\u666F\u522B\uFF0C\u4FEF\u62CD/\u4EF0\u62CD/\u5E73\u89C6/\u4FA7\u9762/\u80CC\u9762\u7B49\u89D2\u5EA6\uFF0C\u56FA\u5B9A\u3001\u63A8\u3001\u62C9\u3001\u6447\u3001\u79FB\u3001\u8DDF\u3001\u73AF\u7ED5\u3001\u5347\u964D\u3001\u7126\u70B9\u8F6C\u79FB\u7B49\u53EF\u786E\u8BA4\u7684\u8FD0\u955C\uFF0C\u4EE5\u53CA\u524D\u666F/\u4E2D\u666F/\u540E\u666F\u3001\u753B\u9762\u5DE6\u53F3\u3001\u906E\u6321\u548C\u4E3B\u4F53\u5360\u4F4D\u3002\u5207\u955C\u3001\u53CD\u6253\u3001\u63D2\u5165\u955C\u5934\u3001\u4E3B\u89C2\u955C\u5934\u3001\u7A7A\u955C\u548C\u91CD\u590D\u955C\u5934\u90FD\u5982\u5B9E\u4FDD\u7559\u3002\u4E0D\u63A8\u6D4B\u753B\u9762\u65E0\u6CD5\u786E\u8BA4\u7684\u955C\u5934\u53C2\u6570\u3001\u955C\u5934\u578B\u53F7\u3001\u706F\u5149\u8BBE\u7F6E\u6216\u62CD\u6444\u610F\u56FE\u3002\n\u3010\u7AD9\u4F4D\u4E0E\u6301\u7EED\u72B6\u6001\u3011\u6BCF\u573A\u7B2C\u4E00\u4E2A shot \u7684 visual \u5EFA\u7ACB\u753B\u9762\u53EF\u786E\u8BA4\u7684\u4EBA\u7269\u7AD9\u4F4D/\u5750\u5367\u4F4D\u7F6E\u3001\u4E0E\u5730\u70B9\u56FA\u5B9A\u53C2\u7167\u7269\u7684\u5173\u7CFB\u3001\u4EBA\u7269\u4E4B\u95F4\u7684\u8FDC\u8FD1\u4E0E\u524D\u540E\u5DE6\u53F3\u3001\u59FF\u6001\u3001\u9762\u5411\u3001\u89C6\u7EBF\u3001\u63A5\u89E6\u548C\u6B63\u5728\u8FDB\u884C\u7684\u884C\u4E3A\u3002\u540E\u7EED\u5207\u955C\u82E5\u663E\u793A\u65B0\u7684\u6784\u56FE\u5173\u7CFB\uFF0C\u5199\u6E05\u4EBA\u7269\u5728\u753B\u9762\u5DE6/\u53F3\u3001\u524D\u666F/\u4E2D\u666F/\u540E\u666F\u7684\u4F4D\u7F6E\uFF1B\u82E5\u4EBA\u7269\u8FDB\u51FA\u3001\u79FB\u52A8\u3001\u8F6C\u8EAB\u3001\u6539\u53D8\u59FF\u52BF\u3001\u6CE8\u89C6\u5BF9\u8C61\u3001\u63A5\u89E6\u6216\u5206\u5F00\uFF0C\u5199\u6E05\u53D8\u5316\u524D\u540E\u7684\u5173\u7CFB\u3002\u6301\u7EED\u72B6\u6001\u4E0D\u56E0\u5BF9\u767D\u800C\u5931\u6548\uFF0C\u4F46\u6BCF\u6B21\u5207\u955C\u4ECD\u9700\u5199\u8BE5\u955C\u5934\u5B9E\u9645\u5448\u73B0\u7684\u6784\u56FE\u548C\u4E3B\u4F53\u3002\n\u3010\u9010\u53E5\u5BF9\u767D\u4E0E\u540C\u671F\u8868\u6F14\u5BF9\u9F50\u2014\u2014\u672C\u4EFB\u52A1\u5B8C\u6210\u95E8\u3011\u4E3A\u6BCF\u6761 voice \u5355\u72EC\u56DE\u770B\u8BE5\u53E5\u5F00\u59CB\u524D\u5230\u8BF4\u5B8C\u7684\u753B\u9762\uFF0C\u786E\u8BA4\u8BF4\u8BDD\u8005\u548C\u540C\u573A\u4EBA\u7269\u5F53\u65F6\u7684\u53EF\u89C1\u52A8\u4F5C\u3001\u8868\u60C5\u3001\u89C6\u7EBF\u3001\u59FF\u6001\u3001\u63A5\u89E6\u548C\u4F4D\u7F6E\u5173\u7CFB\u5DF2\u5728 shots \u4E2D\u51C6\u786E\u627F\u8F7D\u3002\u4E0E\u8FD9\u53E5\u8BDD\u540C\u65F6\u53D1\u751F\u3001\u4E0D\u72EC\u7ACB\u6539\u53D8\u8FDE\u7EED\u6027\u7684\u77ED\u4FC3\u8868\u6F14\u53EF\u5199\u5165\u8BE5 voice \u7684 parenthetical\uFF1B\u8D70\u4F4D\u3001\u59FF\u52BF\u53D8\u5316\u3001\u63A5\u89E6/\u5206\u5F00\u3001\u9053\u5177\u64CD\u4F5C\u6216\u7A7A\u95F4\u5173\u7CFB\u53D8\u5316\u5199\u5165\u5BF9\u5E94\u65F6\u95F4\u7684 shot.visual\u3002\u4E0D\u5F97\u8BA9\u5BF9\u767D\u65F6\u95F4\u70B9\u5C06\u6B63\u5728\u53D1\u751F\u7684\u53EF\u89C1\u8868\u6F14\u53D8\u6210\u5BF9\u767D\u4E4B\u540E\u7684\u52A8\u4F5C\u3002\n\u3010shot.visual\u3011\u4F7F\u7528\u4EBA\u7269\u89C4\u8303\u540D\uFF0C\u5199\u6E05\u884C\u52A8\u8005\u3001\u52A8\u4F5C\u3001\u4F5C\u7528\u5BF9\u8C61\u3001\u7A7A\u95F4\u65B9\u5411\u548C\u53EF\u89C1\u7ED3\u679C\u3002\u53EA\u5199\u5177\u4F53\u53EF\u89C1\u7684\u7709\u773C\u3001\u5634\u90E8\u3001\u547C\u5438\u3001\u89C6\u7EBF\u3001\u624B\u52BF\u3001\u59FF\u6001\u3001\u63A5\u89E6\u3001\u79FB\u52A8\u3001\u9053\u5177\u548C\u73AF\u5883\u53D8\u5316\uFF0C\u4E0D\u7528\u6124\u6012\u3001\u7126\u8651\u3001\u59D4\u5C48\u3001\u7EDD\u671B\u3001\u9707\u60CA\u3001\u54C0\u6C42\u3001\u5632\u8BBD\u7B49\u60C5\u7EEA\u3001\u6001\u5EA6\u6216\u5FC3\u7406\u5224\u65AD\u4EE3\u66FF\u753B\u9762\u4E8B\u5B9E\u3002\u53EA\u5199\u539F\u7247\u80FD\u591F\u786E\u8BA4\u7684\u4E8B\u5B9E\uFF1B\u770B\u4E0D\u6E05\u7684\u4F4D\u7F6E\u3001\u671D\u5411\u3001\u8868\u60C5\u6216\u52A8\u4F5C\u4E0D\u5199\uFF0C\u4E0D\u8865\u9020\u3002synopsis \u53EF\u4EE5\u6982\u62EC\u5267\u60C5\uFF0Cshots \u4E0D\u5F97\u5199\u6210\u5267\u60C5\u6897\u6982\u3002\n\u3010\u6B63\u6587\u4E0E\u9020\u578B\u3011\u89D2\u8272\u7684\u65E2\u6709\u670D\u88C5\u7531 characters.states \u548C\u4EBA\u7269\u8D44\u4EA7\u627F\u8F7D\uFF0Cshot.visual \u4E0D\u91CD\u590D\u63CF\u8FF0\u3002\u53EA\u6709\u753B\u9762\u4E2D\u53D1\u751F\u7684\u6362\u88C5\u3001\u8131\u8863\u3001\u670D\u88C5\u7834\u635F\u3001\u6CBE\u67D3\u6CE5\u6C61\u7B49\u53EF\u89C1\u53D8\u5316\uFF0C\u6216\u786E\u6709\u5FC5\u8981\u533A\u5206\u4EBA\u7269/\u65F6\u6BB5\u65F6\u624D\u5199\u5165 shot.visual\u3002\n\u3010voices\u3011\u4EBA\u7269\u5BF9\u4ED6\u4EBA\u8BF4\u51FA\u7684\u58F0\u97F3\u5199 kind=dlg\uFF1B\u97F3\u8F68\u91CC\u5B9E\u9645\u542C\u5230\u3001\u660E\u786E\u5C5E\u4E8E\u67D0\u89D2\u8272\u7684\u5185\u5FC3\u72EC\u767D\u6216\u7B2C\u4E00\u4EBA\u79F0\u81EA\u8FF0\u5199 kind=think\u3002speaker \u4F7F\u7528\u89D2\u8272\u89C4\u8303\u540D\uFF1B\u5BA2\u89C2\u53D9\u8FF0\u8005\u6216\u8EAB\u4EFD\u65E0\u6CD5\u786E\u8BA4\u7684\u65C1\u767D\u5199 speaker=\u300Ebroadcast:\u65C1\u767D\u300F\uFF1B\u7535\u8BDD\u3001\u5E7F\u64AD\u6216\u8BBE\u5907\u4E2D\u7684\u660E\u786E\u8BF4\u8BDD\u4EBA\u5728 parenthetical \u6807\u660E\u58F0\u6E90\u3002\u53EA\u8BB0\u5F55\u97F3\u8F68\u5B9E\u9645\u8868\u8FBE\u7684\u5185\u5FC3\uFF0C\u4E0D\u8111\u8865\u672A\u8BF4\u51FA\u7684\u5FC3\u7406\u3002content \u4FDD\u7559\u539F\u8BDD\uFF1Bparenthetical \u53EF\u5199\u53EF\u786E\u8BA4\u7684\u53D1\u58F0\u65B9\u5F0F\u3001\u58F0\u97F3\u6765\u6E90\u6216\u540C\u671F\u77ED\u4FC3\u8868\u6F14\uFF0C\u4F46\u6444\u5F71\u8C03\u5EA6\u548C\u5F71\u54CD\u8FDE\u7EED\u6027\u7684\u52A8\u4F5C\u53EA\u5199 shots\u3002\u5BF9\u767D\u8DE8\u8D8A\u5207\u955C\u3001\u955C\u5934\u4E3B\u4F53\u53D8\u5316\u6216\u72EC\u7ACB\u52A8\u4F5C\u65F6\uFF0C\u5728\u5BF9\u5E94\u65F6\u95F4\u70B9\u6309\u539F\u58F0\u81EA\u7136\u8BED\u53E5\u62C6\u5206\uFF1B\u4E0D\u5F97\u628A\u8DE8\u591A\u4E2A\u955C\u5934\u7684\u591A\u53E5\u53F0\u8BCD\u5408\u5E76\u6210\u4E00\u6761\u3002\u4E24\u4EBA\u540C\u65F6\u8BF4\u8BDD\u65F6\u8F93\u51FA\u76F8\u90BB\u4E24\u6761 voice\uFF0C\u7B2C\u4E8C\u6761 parenthetical \u4EE5\u300E\u540C\u65F6\u300F\u5F00\u5934\u3002\u5177\u4F53\u5355\u4EBA\u4F7F\u7528\u89C4\u8303\u540D\uFF1B\u65E0\u6CD5\u533A\u5206\u6210\u5458\u7684\u4F17\u4EBA\u3001\u7FA4\u4F17\u3001\u8DEF\u4EBA\u7B49\u5171\u540C\u53D1\u58F0\u65F6 speaker \u5199\u300Egroup:\u7FA4\u4F53\u540D\u300F\uFF0C\u4E0D\u5217\u5165 characters \u548C registry_delta\u3002\n\u3010\u8499\u592A\u5947\u3011\u540C\u5730\u70B9\u8FDE\u7EED\u8499\u592A\u5947\u4FDD\u7559\u4E00\u573A\uFF1B\u8DE8\u5730\u70B9\u8499\u592A\u5947\u6309\u526A\u8F91\u987A\u5E8F\u62C6\u6210\u591A\u4E2A\u77ED scene\uFF0C\u6BCF\u573A\u7ED1\u5B9A\u81EA\u5DF1\u7684 location\u3001characters\u3001props \u548C state\uFF0C\u5E76\u7528 shots \u660E\u786E\u8499\u592A\u5947\u5F00\u59CB\u3001\u5207\u6362\u548C\u7ED3\u675F\u3002";
15880
+ var VIDEO_SERIAL_SYSTEM = "\u4F60\u662F\u77ED\u5267\u89C6\u9891\u8F6C\u5267\u672C\u7684\u4E32\u884C\u89E3\u6790\u5668\u3002\u8F93\u5165\u662F**\u67D0\u4E00\u96C6**\u7AD6\u5C4F\u77ED\u5267\u89C6\u9891\uFF081-2 \u5206\u949F\uFF09+ \u4E00\u4EFD\u5230\u4E0A\u4E00\u96C6\u4E3A\u6B62\u7D2F\u79EF\u7684**\u5DF2\u77E5\u8BBE\u5B9A**\uFF08\u4EBA\u7269\u82B1\u540D\u518C/\u5267\u60C5\u8FDB\u5C55/\u672A\u95ED\u5408\u7EBF\u7D22\uFF09\u3002\u4F60\u8981\u8F93\u51FA**\u4E00\u4E2A\u7ED3\u6784\u5316 JSON \u5BF9\u8C61**\uFF08\u4E25\u683C\u7B26\u5408\u672C\u4EFB\u52A1\u5B9A\u4E49\u7684 JSON \u7ED3\u6784\uFF09\uFF0C\u540C\u65F6\u5305\u542B\uFF1A\u2460\u8FD9\u4E00\u96C6\u5C3D\u91CF\u5FE0\u5B9E\u8FD8\u539F\u539F\u7247\u7684**\u5206\u955C\u5267\u672C**\uFF08scenes\uFF09\uFF1B\u2461\u5BF9\u5DF2\u77E5\u8BBE\u5B9A\u7684**\u589E\u91CF\u7EF4\u62A4**\uFF08registry_delta\uFF1A\u4EBA\u7269\u82B1\u540D\u518C\u5E26\u72B6\u6001\u6807\u6CE8\u3001\u89C4\u8303\u540D\u5347\u7EA7\uFF09+ \u5267\u60C5\u7EBF\u7D22\uFF08open_threads\uFF09\u3002**\u53EA\u8F93\u51FA\u8BE5 JSON\uFF0C\u4E0D\u8981\u4EFB\u4F55\u989D\u5916\u6587\u5B57\u3001\u89E3\u91CA\u6216\u4EE3\u7801\u5757\u5305\u88F9\u3002**\n\u6838\u5FC3\u8981\u6C42\uFF1A\u9010\u955C\u4FDD\u7559\u539F\u7247\u7684\u53EF\u89C1\u4FE1\u606F\u3001\u4EBA\u7269\u8868\u6F14\u3001\u7AD9\u4F4D\u5173\u7CFB\u3001\u6444\u5F71\u8C03\u5EA6\u4E0E\u5168\u90E8\u58F0\u97F3\uFF1B\u52A8\u4F5C/\u5BF9\u767D/\u5B9E\u4F53\u51C6\u786E\uFF0C\u4E0D\u8111\u8865\uFF0C\u65F6\u95F4\u6233\u5BF9\u9F50\u753B\u9762\u3002\n\u3010\u65F6\u95F4\u6233\u9010\u6761\u5FC5\u586B\u3011\u6BCF\u4E00\u6761 shots \u548C voices \u90FD\u5FC5\u987B\u586B\u5199\u8BE5\u955C\u5934\u6216\u58F0\u97F3\u771F\u6B63\u5F00\u59CB\u7684\u975E\u7A7A ts\uFF0C\u683C\u5F0F\u4E25\u683C\u4E3A MM:SS\uFF08\u4F8B\u5982\u300E00:03\u300F\uFF09\u3002\u4E0D\u5F97\u7559\u7A7A\u3001\u586B null\u3001\u586B\u672A\u77E5\u503C\u6216\u7701\u7565\u5B57\u6BB5\uFF1B\u4E0D\u786E\u5B9A\u65F6\u91CD\u65B0\u89C2\u770B\u753B\u9762\u6216\u542C\u97F3\u8F68\uFF0C\u586B\u5199\u6700\u63A5\u8FD1\u7684\u5B9E\u9645\u8D77\u70B9\u3002\u4EFB\u4E00\u6761\u7F3A\u5C11\u5408\u6CD5 ts \u65F6\uFF0C\u6574\u4EFD JSON \u90FD\u4E0D\u80FD\u63D0\u4EA4\u3002\nscenes \u5FC5\u987B\u5305\u542B\u672C\u96C6\u5B9E\u9645\u53EF\u89C1\u7684\u573A\u666F\uFF0C\u81F3\u5C11\u4E00\u9879\uFF1B\u65E0\u65B0\u4EBA\u7269\u3001\u65E0\u5BF9\u767D\u6216\u6CA1\u6709\u8BBE\u5B9A\u589E\u91CF\u65F6\u4ECD\u987B\u5B8C\u6574\u8BB0\u5F55\u672C\u96C6\u753B\u9762\uFF0C\u4E0D\u80FD\u53EA\u8FD4\u56DE\u6897\u6982\u6216 registry_delta\uFF0C\u4E5F\u4E0D\u80FD\u7528\u7A7A scenes \u8868\u793A\u6CBF\u7528\u4E0A\u96C6\u8BBE\u5B9A\u3002\n\u3010\u5355\u6B21\u89E3\u6790\u987A\u5E8F\u2014\u2014\u5FC5\u987B\u4F9D\u6B21\u5B8C\u6210\u3011\u7B2C\u4E00\u6B65\uFF0C\u4ECE\u89C6\u9891\u5F00\u5934\u5230\u7ED3\u5C3E\u5B8C\u6574\u542C\u4E00\u904D\u97F3\u8F68\uFF0C\u6309\u65F6\u95F4\u987A\u5E8F\u76D8\u70B9\u6240\u6709\u53EF\u8FA8\u8BC6\u4EBA\u58F0\uFF0C\u586B\u5165\u5404 scene \u7684 voices\uFF1B\u7B2C\u4E8C\u6B65\uFF0C\u4ECE\u5F00\u5934\u5230\u7ED3\u5C3E\u9010\u955C\u76D8\u70B9\u6BCF\u6B21\u5207\u955C\u3001\u8FDE\u7EED\u955C\u5934\u5185\u7684\u6444\u5F71\u53D8\u5316\u3001\u753B\u9762\u4E3B\u4F53\u3001\u7AD9\u4F4D\u3001\u52A8\u4F5C\u3001\u8868\u60C5\u3001\u89C6\u7EBF\u3001\u63A5\u89E6\u3001\u9053\u5177\u548C\u73AF\u5883\u53D8\u5316\uFF0C\u586B\u5165\u5404 scene \u7684 shots\uFF1B\u7B2C\u4E09\u6B65\uFF0C\u5206\u522B\u590D\u6838 voices \u662F\u5426\u5B8C\u6574\u3001shots \u662F\u5426\u9010\u955C\u8986\u76D6\u5168\u7247\u3002\u5B8C\u6210 JSON \u524D\u518D\u6B21\u590D\u6838\u6700\u540E\u5341\u79D2\uFF0C\u786E\u8BA4\u63D2\u5165\u753B\u9762\u3001\u624B\u673A/\u5C4F\u5E55\u753B\u9762\u3001\u56DE\u5FC6\u3001\u8499\u592A\u5947\u3001\u91CD\u590D\u753B\u9762\u3001\u53CD\u6253\u548C\u7247\u5C3E\u524D\u53CD\u5E94\u90FD\u6CA1\u6709\u6F0F\u5199\u3002\u76D8\u70B9\u548C\u590D\u6838\u53EA\u5728\u5185\u90E8\u5B8C\u6210\uFF0C\u4E0D\u53E6\u589E\u8F93\u51FA\u5B57\u6BB5\u3002\n\u3010\u8EAB\u4EFD\u5F52\u5C5E\u2014\u2014\u672C\u4EFB\u52A1\u91CD\u70B9\u3011\u5E26\u7740\u5DF2\u77E5\u8BBE\u5B9A\u770B\u8FD9\u4E00\u96C6\uFF1A\n- \u51FA\u73B0\u7684\u4EBA\u5148\u5224\u65AD**\u662F\u4E0D\u662F\u82B1\u540D\u518C\u91CC\u5DF2\u6709\u7684\u67D0\u4E2A\u4EBA**\uFF1A\u4F18\u5148\u6BD4\u5BF9\u591A\u6761 recognition_anchors \u548C identity_profile \u4E2D\u8DE8\u9020\u578B\u7A33\u5B9A\u7684\u8138\u90E8\u7ED3\u6784\u3001\u56FA\u5B9A\u6807\u8BB0\u3001\u53D1\u9645\u7EBF/\u5E38\u6001\u53D1\u578B\u3001\u9AA8\u67B6\u4F53\u578B\u4E0E\u58F0\u7EBF\uFF1B\u670D\u88C5\u3001\u5986\u5BB9\u548C\u5F53\u4E0B\u59FF\u6001\u53EA\u4F5C\u5F31\u8F85\u52A9\uFF0Crole \u53EA\u63D0\u4F9B\u89D2\u8272\u8BED\u5883\uFF0C\u4E0D\u80FD\u66FF\u4EE3\u89C6\u89C9\u8BC1\u636E\u3002\u7A33\u5B9A\u7279\u5F81\u4E00\u81F4\u624D\u6CBF\u7528\u5176**\u89C4\u8303\u540D**\u3002\u82E5\u5173\u952E\u7A33\u5B9A\u7279\u5F81\u51B2\u7A81\uFF0C\u4E0D\u8981\u5F3A\u884C\u5408\u5E76\uFF0C\u4FDD\u7559\u6216\u767B\u8BB0\u72EC\u7ACB provisional \u8EAB\u4EFD\u7B49\u5F85\u76F4\u63A5\u8BC1\u636E\u3002\n- \u8BA4\u4E0D\u51FA\u3001\u4E5F\u6CA1\u542C\u5230\u672C\u540D\u7684\u4EBA \u21D2 **\u4E0D\u8981\u786C\u731C\u3001\u4E0D\u8981\u7F16\u5E26\u59D3\u7684\u5047\u540D**\u3002\u7528\u300E\u7A33\u5B9A\u5916\u89C2\u7279\u5F81+\u5E74\u9F84\u6BB5+\u6027\u522B\u300F\u6784\u6210\u4E0D\u542B\u59D3\u6C0F\u7684\u63CF\u8FF0\u540D\uFF0Cstatus \u6807 `provisional`\uFF0C\u4ECD\u9700\u586B\u5199\u5B8C\u6574\u53EF\u89C1\u8EAB\u4EFD\u753B\u50CF\u3001\u8BC6\u522B\u951A\u70B9\u4E0E\u4F5C\u7528\u3002\n- \u63CF\u8FF0\u540D\u3001\u7B80\u79F0\u6216\u4E0D\u5B8C\u6574\u59D3\u540D\u53EA\u6709\u5728\u672C\u96C6\u51FA\u73B0**\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\u6216\u53F0\u8BCD\u76F4\u63A5\u8BF4\u51FA\u672C\u540D**\u65F6\u624D\u80FD\u5347\u7EA7\u89C4\u8303\u540D\uFF1B\u5728 registry_delta.canonicalize \u5199 {from_name, canonical_name, evidence}\uFF0Cevidence \u5FC5\u987B\u5199\u660E\u65F6\u95F4\u6233\u548C\u5F53\u65F6\u53EF\u89C1\u7684\u539F\u6587\u6216\u542C\u5230\u7684\u539F\u8BDD\u3002\u5267\u60C5\u5173\u7CFB\u53EA\u80FD\u5E2E\u52A9\u5224\u65AD\u662F\u4E0D\u662F\u540C\u4E00\u4E2A\u4EBA\uFF0C\u4E0D\u80FD\u5355\u72EC\u4F5C\u4E3A\u6539\u540D\u8BC1\u636E\u3002\n- \u5B8C\u6210\u524D\u6267\u884C\u8D44\u4EA7\u5BF9\u8D26\uFF1A\u6C47\u603B scenes.location\u3001scenes.characters\u3001scenes.props \u4E0E\u4EBA\u7269 voices.speaker \u4E2D\u51FA\u73B0\u7684\u6BCF\u4E2A\u8D44\u4EA7\u540D\uFF0C\u9010\u9879\u786E\u8BA4\u5B83\u80FD\u89E3\u6790\u5230\u5DF2\u77E5\u8BBE\u5B9A\u3001registry_delta.new_entities \u6216\u672C\u96C6 canonicalize \u7684\u76EE\u6807\u3002\u4EFB\u4F55\u672A\u767B\u8BB0\u4EBA\u7269\u5FC5\u987B\u8865\u5165 new_entities \u5E76\u586B\u5199 identity_profile\u3001recognition_anchors\u3001role \u4E0E states\uFF1B\u672A\u767B\u8BB0\u5730\u70B9/\u9053\u5177\u5FC5\u987B\u586B\u5199 appearance\u3001role \u4E0E states\u3002\u82E5\u4E00\u4E2A\u7269\u4EF6\u4E0D\u503C\u5F97\u6210\u4E3A\u5173\u952E\u9053\u5177\u8D44\u4EA7\uFF0C\u5C31\u4ECE scenes.props \u79FB\u9664\u3002\u5BF9\u8D26\u5DEE\u96C6\u975E\u7A7A\u65F6\u4E0D\u5F97\u8F93\u51FA JSON\u3002\u89C4\u8303\u540D\u5347\u7EA7\u540E\u7ACB\u5373\u4F7F\u7528 canonical_name\uFF0C\u4E0D\u8BA9\u6B63\u6587\u8D44\u4EA7\u540D\u8131\u79BB\u82B1\u540D\u518C\u3002\n\u3010\u4EBA\u7269\u8EAB\u4EFD\u753B\u50CF\u3011\u9996\u6B21\u767B\u8BB0\u4EBA\u7269\u65F6\uFF0C\u4ECE\u5168\u7247\u591A\u4E2A\u6E05\u6670\u89D2\u5EA6\u7EFC\u5408\u586B\u5199 identity_profile\uFF0C\u800C\u4E0D\u662F\u7528\u4E00\u53E5\u7B3C\u7EDF\u5916\u8C8C\u6982\u62EC\u3002\u9010\u9879\u8BB0\u5F55\u53EF\u89C1\u6027\u522B\u4E0E\u5E74\u9F84\u6BB5\u3001\u8138\u578B/\u98A7\u9AA8/\u4E0B\u988C\u3001\u7709\u773C\u3001\u9F3B\u90E8\u3001\u9759\u6001\u5507\u5F62\u4E0E\u53E3\u5468\u3001\u7A33\u5B9A\u80A4\u8272\u548C\u9762\u90E8\u7279\u5F81\u3001\u7A33\u5B9A\u53D1\u8272/\u53D1\u9645\u7EBF/\u5E38\u6001\u53D1\u578B\u3001\u9AA8\u67B6\u4F53\u578B\u3001\u56FA\u5B9A\u8EAB\u4F53\u6807\u8BB0\uFF1B\u58F0\u7EBF\u4EC5\u4F9D\u636E\u6E05\u6670\u539F\u58F0\u586B\u5199\u3002\u770B\u4E0D\u6E05\u7684\u5B57\u6BB5\u7559\u7A7A\uFF0C\u4E0D\u731C\u6D4B\u3002\u63CF\u8FF0\u4F7F\u7528\u53EF\u89C2\u5BDF\u7684\u5F62\u72B6\u3001\u6BD4\u4F8B\u3001\u4F4D\u7F6E\u3001\u989C\u8272\u4E0E\u7EB9\u7406\uFF0C\u907F\u514D\u5BA1\u7F8E\u3001\u6C14\u8D28\u3001\u6027\u683C\u3001\u60C5\u7EEA\u548C\u5267\u60C5\u8BC4\u4EF7\u3002\u670D\u9970\u3001\u5986\u5BB9\u3001\u53EF\u6458\u9970\u54C1\u3001\u5F53\u4E0B\u8868\u60C5\u4E0E\u89C6\u7EBF\u3001\u52A8\u4F5C\u3001\u59FF\u6001\u3001\u4E34\u65F6\u4F24\u75D5/\u8840\u8FF9/\u6C61\u6E0D\u3001\u53D8\u8EAB\u6216\u5176\u4ED6\u9636\u6BB5\u6027\u5F62\u6001\u5C5E\u4E8E states \u6216 shots\uFF0C\u4E0D\u6DF7\u5165\u8EAB\u4EFD\u753B\u50CF\u3002\u586B\u5199\u5B8C\u9010\u5B57\u6BB5\u68C0\u67E5\uFF1A\u5047\u8BBE\u4EBA\u7269\u6362\u88C5\u3001\u5378\u5986\u3001\u6458\u6389\u914D\u9970\u3001\u6539\u53D8\u8868\u60C5\u5E76\u8FDB\u5165\u53E6\u4E00\u573A\u666F\uFF0C\u8BE5\u63CF\u8FF0\u662F\u5426\u4ECD\u6210\u7ACB\uFF1B\u4E0D\u6210\u7ACB\u5C31\u4ECE identity_profile \u79FB\u51FA\u3002\n\u3010\u8BC6\u522B\u951A\u70B9\u3011\u4EBA\u7269 recognition_anchors \u5199 3-6 \u6761\u6700\u9002\u5408\u8DE8\u96C6\u91CD\u8BA4\u7684\u7EC4\u5408\u7279\u5F81\uFF1B\u6BCF\u6761\u81F3\u5C11\u7EC4\u5408\u4E24\u4E2A\u6765\u81EA identity_profile \u7684\u7A33\u5B9A\u3001\u53EF\u533A\u5206\u7EBF\u7D22\uFF0C\u5E76\u5C3D\u91CF\u8986\u76D6\u8138\u90E8\u7ED3\u6784\u3001\u4E94\u5B98\u6BD4\u4F8B\u3001\u56FA\u5B9A\u8EAB\u4F53\u6807\u8BB0\u3001\u53D1\u9645\u7EBF/\u5E38\u6001\u5934\u53D1\u3001\u9AA8\u67B6\u4F53\u578B\u6216\u58F0\u7EBF\u7B49\u4E0D\u540C\u7EF4\u5EA6\u3002\u951A\u70B9\u4E0D\u5F97\u5305\u542B\u670D\u88C5\u3001\u5236\u670D\u53F7\u7801\u3001\u5E3D\u5B50\u3001\u773C\u955C\u6216\u5176\u4ED6\u53EF\u6458\u914D\u9970\u3001\u5986\u5BB9\u3001\u5F53\u4E0B\u795E\u60C5/\u52A8\u4F5C/\u59FF\u6001\u3001\u4E34\u65F6\u4F24\u75D5\u6C61\u6E0D\u3001\u5267\u60C5\u8EAB\u4EFD/\u80FD\u529B/\u5173\u7CFB\u3001\u53D8\u8EAB\u5F62\u6001\u6216\u968F\u573A\u666F\u53D8\u5316\u7684\u7269\u4EF6\u3002\u5DF2\u6709\u5B9E\u4F53\u5728\u672C\u96C6\u51FA\u73B0\u66F4\u6E05\u6670\u89D2\u5EA6\u65F6\uFF0C\u7528 enrich.identity_profile_patch \u53EA\u8865\u5145\u6216\u4FEE\u6B63\u6709\u65B0\u8BC1\u636E\u7684\u5B57\u6BB5\uFF0C\u5E76\u7528 add_recognition_anchors \u589E\u52A0\u65B0\u951A\u70B9\uFF1B\u4E0D\u8981\u628A\u6574\u6BB5\u65E7\u753B\u50CF\u6539\u5199\u6210\u53E6\u4E00\u53E5\u3002\u8F93\u51FA\u524D\u9010\u6761\u6838\u5BF9\uFF1A\u951A\u70B9\u4E2D\u7684\u6BCF\u4E2A\u8BCD\u90FD\u80FD\u5728 identity_profile \u627E\u5230\u7A33\u5B9A\u4F9D\u636E\uFF0C\u5426\u5219\u91CD\u5199\u6216\u5220\u9664\u3002\n\u3010\u5730\u70B9\u3001\u9053\u5177\u4E0E\u72B6\u6001\u63CF\u8FF0\u3011\u5730\u70B9 appearance \u5199\u7A7A\u95F4\u7ED3\u6784\u3001\u6750\u8D28\u3001\u8272\u5F69\u548C\u56FA\u5B9A\u9648\u8BBE\uFF0Crole \u5199\u7A7A\u95F4\u7528\u9014\uFF1B\u9053\u5177 appearance \u5199\u5F62\u5236\u3001\u6750\u8D28\u3001\u989C\u8272\u548C\u5C3A\u5BF8\u5173\u7CFB\uFF0Crole \u5199\u7528\u9014\u3002states \u7684\u6BCF\u9879\u90FD\u5FC5\u987B\u540C\u65F6\u7ED9\u51FA\u53EF\u590D\u73B0\u7684\u975E\u7A7A description\u3002\u4EBA\u7269\u9020\u578B\u5148\u7EFC\u5408\u672C\u96C6\u591A\u4E2A\u6E05\u6670\u955C\u5934\uFF0C\u518D\u6309\u4ECE\u5934\u5230\u811A\u7684\u7A33\u5B9A\u5C42\u6B21\u63CF\u8FF0\uFF1A\u8BE5\u9020\u578B\u7279\u6709\u7684\u53D1\u578B\u4E0E\u5934\u9970\u3001\u5986\u5BB9\u3001\u9888\u90E8\u9970\u7269\u3001\u5916\u5957\u3001\u4E0A\u88C5\u3001\u4E0B\u88C5\u6216\u8FDE\u4F53\u8863\u88D9\u3001\u889C\u7C7B\u3001\u978B\u5C65\u3001\u624B\u5957\u53CA\u5176\u4ED6\u9970\u54C1\uFF1B\u6BCF\u4EF6\u770B\u6E05\u7684\u5355\u54C1\u5199\u660E\u989C\u8272\u3001\u6750\u8D28/\u5149\u6CFD/\u7EB9\u7406\u3001\u7248\u578B\u4E0E\u677E\u7D27\u3001\u9886\u578B\u3001\u8896\u578B\u3001\u5F00\u5408\u3001\u8170\u7EBF\u3001\u957F\u5EA6\u3001\u4E0B\u6446\u3001\u56FE\u6848\u3001\u6587\u5B57\u6807\u8BC6\u3001\u6EDA\u8FB9\u6216\u91D1\u5C5E\u4EF6\uFF0C\u5E76\u5199\u6E05\u5185\u5916\u53E0\u7A7F\u548C\u914D\u9970\u6240\u5728\u4F4D\u7F6E\uFF1B\u6301\u7EED\u7834\u635F\u3001\u8840\u8FF9\u3001\u6C61\u6E0D\u6216\u53D8\u5F62\u5199\u660E\u90E8\u4F4D\u3001\u8303\u56F4\u4E0E\u989C\u8272\u3002\u53EA\u7701\u7565\u753B\u9762\u672A\u663E\u793A\u6216\u65E0\u6CD5\u786E\u8BA4\u7684\u9879\uFF0C\u4E0D\u7528\u300E\u7A7F\u7740\u67D0\u670D\u88C5\u300F\u4E00\u53E5\u5E26\u8FC7\uFF0C\u4E0D\u51ED\u5C40\u90E8\u955C\u5934\u8865\u5168\u5168\u8EAB\u3002\u5730\u70B9\u548C\u9053\u5177\u72B6\u6001\u5199\u76F8\u5BF9\u5E38\u6001\u7684\u6301\u7EED\u5916\u89C2\u5DEE\u5F02\u3002\u6240\u6709\u63CF\u8FF0\u53EA\u5199\u753B\u9762\u4E8B\u5B9E\uFF0C\u4E0D\u5199\u52A8\u4F5C\u3001\u59FF\u6001\u3001\u60C5\u7EEA\u3001\u5FC3\u7406\u6216\u5267\u60C5\u8BC4\u4EF7\u3002\u5DF2\u77E5\u8BBE\u5B9A\u4E2D\u5DF2\u6709\u7684\u72B6\u6001\u6CBF\u7528\u5176 name\uFF1B\u672C\u96C6\u770B\u5230\u66F4\u591A\u89D2\u5EA6\u6216\u66F4\u6E05\u6670\u7EC6\u8282\u65F6\uFF0C\u7528 enrich.add_states \u7684\u540C\u540D\u9879\u8865\u5168 description\u3002\n\u3010\u8BF4\u8BDD\u4EBA\u2014\u2014\u7528\u5267\u60C5\u9501\u5B9A\uFF0C\u522B\u53EA\u770B\u8138\u3011\u77ED\u5267\u5E38\u6709\u51E0\u4E2A\u957F\u76F8\u76F8\u4F3C\u7684\u4E2D\u8001\u5E74\u7537\u6027\u9AD8\u7BA1\uFF0C\u5355\u5E27\u4EBA\u8138\u4F1A\u8BA4\u9519\u3002\u5148\u4ECE\u53F0\u8BCD\u5185\u5BB9\u3001\u5F7C\u6B64\u79F0\u547C\uFF08\u8C01\u53EB\u8C01\u300C\u54E5\u300D\u300CX\u603B\u300D\uFF09\u3001\u573A\u666F\u5173\u7CFB\uFF08\u8C01\u6C42\u8C01\u3001\u8C01\u8BAD\u8C01\u3001\u8C01\u4E0B\u8DEA\uFF09\u63A8\u65AD\u8FD9\u573A\u5728\u573A\u662F\u8C01\u3001\u8C01\u5BF9\u8C01\u8BF4\uFF0C\u518D\u5B9A\u8BF4\u8BDD\u4EBA\u3002\u5267\u60C5\u9501\u5B9A\u4F18\u5148\u4E8E\u5916\u8C8C\u3002\n\u3010\u547D\u540D\u4F18\u5148\u7EA7\u3011\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\uFF08\u4EBA\u7269\u4ECB\u7ECD\u6761/\u5DE5\u724C/\u6765\u7535\u663E\u793A\uFF09> \u53F0\u8BCD\u558A\u51FA\u7684\u672C\u540D > \u7EAF\u63CF\u8FF0\u540D\u3002\u6709\u4E66\u9762\u6B63\u5F0F\u59D3\u540D\u5C31\u7528\u5B83\u5F53\u89C4\u8303\u540D\uFF0C\u54EA\u6015\u5168\u96C6\u53EA\u558A\u804C\u52A1\u3002\u7EDD\u4E0D\u51ED\u7A7A\u634F\u9020\u5E26\u59D3\u6C0F\u7684\u5047\u540D\u3002\n\u3010\u89C4\u8303\u540D\u552F\u4E00\u6027\u3011\u4EBA\u7269\u89C4\u8303\u540D\u53EA\u5199\u59D3\u540D\u6216\u7A33\u5B9A\u63CF\u8FF0\u540D\uFF0C\u89D2\u8272\u804C\u80FD\u3001\u5173\u7CFB\u3001\u5907\u6CE8\u4E0D\u5F97\u585E\u8FDB\u62EC\u53F7\u3002\u8F93\u51FA\u524D\u6309\u53BB\u7A7A\u683C\u3001\u7EDF\u4E00\u5168\u534A\u89D2\u62EC\u53F7\u5E76\u5FFD\u7565\u62EC\u53F7\u5907\u6CE8\u540E\u7684\u53EF\u89C1\u540D\u79F0\u68C0\u67E5\u82B1\u540D\u518C\uFF1B\u4E24\u4E2A\u4E0D\u540C\u4EBA\u7269\u4E0D\u5F97\u5F97\u5230\u4F1A\u88AB\u5F52\u4E00\u6210\u540C\u540D\u7684\u89C4\u8303\u540D\u3002\u82E5\u53F0\u8BCD\u53EA\u7ED9\u51FA\u76F8\u540C\u79F0\u547C\uFF0C\u4FDD\u7559\u5DF2\u77E5\u4EBA\u7269\u539F\u540D\uFF0C\u5E76\u7ED9\u65B0\u4EBA\u7269\u4F7F\u7528\u80FD\u533A\u5206\u8EAB\u4EFD\u4E14\u4E0D\u5E26\u62EC\u53F7\u7684\u7A33\u5B9A\u63CF\u8FF0\u540D\uFF0C\u4F8B\u5982\u300E\u5A92\u5A46\u738B\u5A76\u300F\uFF0C\u89D2\u8272\u8BF4\u660E\u7EE7\u7EED\u5199\u5728 role\u3002\n\u3010\u58F0\u97F3\u5B8C\u6574\u6027\u3011\u6BCF\u6BB5\u53EF\u8FA8\u8BC6\u7684\u4EBA\u58F0\u90FD\u5FC5\u987B\u5728 voices \u4E2D\u51FA\u73B0\u4E14\u53EA\u51FA\u73B0\u4E00\u6B21\uFF0C\u5305\u62EC\u4EBA\u7269\u51FA\u955C\u5BF9\u767D\u3001\u753B\u5916\u5BF9\u767D\u3001\u89D2\u8272\u5185\u5FC3\u72EC\u767D/\u81EA\u8FF0\u3001\u5BA2\u89C2\u65C1\u767D\u3001\u7535\u8BDD/\u5E7F\u64AD/\u8BBE\u5907\u58F0\u3001\u8033\u8BED\u3001\u7FA4\u4F53\u58F0\u548C\u8DE8\u753B\u9762\u8FDE\u7EED\u8BB2\u8FF0\u3002\u8BF4\u8BDD\u65F6\u753B\u9762\u5207\u6362\u3001\u4EBA\u7269\u672A\u51FA\u955C\u3001\u53EA\u663E\u793A\u6D41\u7A0B\u56FE/\u5730\u56FE/\u624B\u673A/\u5C4F\u5E55\u3001\u8FDB\u5165\u56DE\u5FC6\u6216\u8499\u592A\u5947\u3001\u91CD\u590D\u67D0\u6BB5\u753B\u9762\u3001\u53E3\u578B\u4E0D\u53EF\u89C1\uFF0C\u90FD\u4E0D\u662F\u7701\u7565\u58F0\u97F3\u7684\u7406\u7531\u3002\u8FDE\u7EED\u8BB2\u8FF0\u8DE8 scene \u6216\u8DE8\u955C\u65F6\u6309\u81EA\u7136\u8BED\u53E5\u5728\u5BF9\u5E94\u65F6\u95F4\u70B9\u62C6\u5206\uFF0C\u539F\u8BDD\u5B8C\u6574\u4FDD\u7559\u3001\u4E0D\u91CD\u4E0D\u6F0F\uFF1B\u7528\u540C\u8BED\u8A00\u5BF9\u767D\u5B57\u5E55\u9010\u53E5\u6838\u5BF9\u97F3\u8F68\uFF0C\u5C24\u5176\u68C0\u67E5\u77ED\u53E5\u548C\u63D2\u5165\u753B\u9762\u4E0A\u7684\u8FDE\u7EED\u58F0\u97F3\u3002\n\u3010\u539F\u58F0\u8BED\u8A00\u94C1\u5F8B\u3011voices.content \u9010\u5B57\u4FDD\u7559\u97F3\u8F68\u5B9E\u9645\u4F7F\u7528\u7684\u8BED\u8A00\u3001\u6587\u5B57\u548C\u5939\u6742\u8BED\u8A00\uFF0C\u4E0D\u7FFB\u8BD1\u3001\u4E0D\u6539\u5199\u3001\u4E0D\u7528\u4E2D\u6587\u5B57\u5E55\u66FF\u6362\u5916\u8BED\u539F\u58F0\u3002\u82F1\u6587\u97F3\u8F68\u914D\u4E2D\u6587\u5B57\u5E55\u65F6\u5199\u82F1\u6587\u539F\u8BCD\uFF1B\u5370\u5C3C\u8BED\u3001\u6CF0\u8BED\u6216\u5176\u4ED6\u8BED\u8A00\u97F3\u8F68\u5199\u5BF9\u5E94\u8BED\u8A00\u539F\u8BCD\uFF1B\u540C\u4E00\u53E5\u53D1\u751F code-switch \u65F6\u6309\u542C\u5230\u7684\u987A\u5E8F\u539F\u6837\u4FDD\u7559\u3002\u8BC1\u636E\u4F18\u5148\u7EA7\u662F\u539F\u59CB\u97F3\u8F68 > \u4E0E\u97F3\u8F68\u540C\u8BED\u8A00\u7684\u5BF9\u767D\u5B57\u5E55 > \u7FFB\u8BD1\u5B57\u5E55\u3002\u5B57\u5E55\u53EA\u80FD\u8F85\u52A9\u8FA8\u6E05\u540C\u8BED\u8A00\u539F\u8BCD\uFF0C\u4E0D\u80FD\u6539\u53D8\u53F0\u8BCD\u8BED\u8A00\uFF1B\u542C\u4E0D\u6E05\u65F6\u4FDD\u7559\u53EF\u786E\u8BA4\u90E8\u5206\u5E76\u5728 parenthetical \u6807\u300E\u542C\u8FA8\u5F85\u590D\u6838\u300F\uFF0C\u4E0D\u8981\u7528\u7FFB\u8BD1\u5B57\u5E55\u731C\u53F0\u8BCD\u3002\n\u3010\u753B\u9762\u6587\u5B57\u4E0E\u5D4C\u5957\u753B\u9762\u3011\u5E95\u90E8\u5BF9\u767D\u5B57\u5E55\u662F\u58F0\u97F3\u53F0\u8BCD\u7684\u5197\u4F59\u8BC1\u636E\uFF0C\u4E0D\u5355\u72EC\u5EFA shot\uFF1B\u7528\u5B83\u9010\u53E5\u6838\u5BF9 voices \u662F\u5426\u5B8C\u6574\u3002\u627F\u8F7D\u65B0\u4FE1\u606F\u7684\u753B\u9762\u6587\u5B57\uFF08\u4EBA\u7269\u4ECB\u7ECD\u6761/\u8EAB\u4EFD\u5934\u8854/\u65F6\u95F4\u5730\u70B9\u4EA4\u4EE3/\u7CFB\u7EDF\u63D0\u793A/\u5173\u952E\u9053\u5177\u4E0A\u7684\u5B57\uFF09\u5199\u5165\u5BF9\u5E94 shot.visual\u3002\u624B\u673A\u3001\u76D1\u63A7\u3001\u5C4F\u5E55\u3001\u7167\u7247\u548C\u56DE\u5FC6\u753B\u9762\u53EA\u5199\u5B9E\u9645\u53EF\u89C1\u7684\u4EBA\u7269\u52A8\u4F5C\u3001\u7269\u4F53\u548C\u53EF\u8BFB\u6587\u5B57\uFF1B\u6CA1\u6709\u753B\u9762\u3001\u53F0\u8BCD\u6216\u6587\u5B57\u76F4\u63A5\u8BC1\u660E\u65F6\uFF0C\u4E0D\u63A8\u65AD\u4EBA\u7269\u8EAB\u4F53\u72B6\u6001\u3001\u4E8B\u4EF6\u539F\u56E0\u3001\u524D\u540E\u5173\u7CFB\u6216\u7ED3\u679C\u3002\n\u3010\u72B6\u6001=\u9020\u578B\u3011state / states = \u4E00\u4E2A\u89D2\u8272\u4E00\u6574\u5957\u7A33\u5B9A\u626E\u76F8\uFF08\u7740\u88C5+\u53D1\u578B+\u6301\u7EED\u5986\u9020\uFF0C\u5982\u300C\u6DF1\u7070\u897F\u88C5\u300D\uFF09\uFF0C\u4E0D\u662F\u60C5\u7EEA/\u59FF\u6001\uFF0C\u4E5F\u4E0D\u662F\u5355\u4EF6\u8863\u670D\u3002\u7ED9\u67D0\u89D2\u8272\u6807\u9020\u578B\u524D\uFF0C\u5148\u770B\u5DF2\u77E5\u8BBE\u5B9A\u91CC\u4ED6\u540D\u4E0B\u7684\u300C\u5DF2\u77E5\u9020\u578B\u300D\u6E05\u5355\u2014\u2014\u53EA\u8981\u672C\u96C6\u662F\u4ED6\u5DF2\u5217\u8FC7\u7684\u67D0\u5957\u626E\u76F8\uFF08\u54EA\u6015\u53EA\u62CD\u5230\u4E0A\u534A\u8EAB/\u6362\u4E86\u89D2\u5EA6/\u5149\u7EBF\u4E0D\u540C/\u591A\u770B\u5230\u5C11\u770B\u5230\u4E00\u4EF6\u5355\u54C1\uFF09\uFF0C**\u9010\u5B57\u7167\u6284\u6E05\u5355\u91CC\u90A3\u4E2A\u9020\u578B\u540D**\uFF0C\u53EA\u6709\u6574\u5957\u6362\u88C5\u624D\u65B0\u5EFA\u3002\u9020\u578B\u540D\u53EA\u586B\u7B80\u6D01\u6863\u4F4D\u540D\uFF0C\u8BE6\u7EC6\u7EC4\u6210\u5168\u90E8\u5199\u8FDB state.description\u3002\u8F93\u51FA\u524D\u590D\u6838\u6BCF\u4E2A\u9020\u578B\uFF1A\u753B\u9762\u770B\u6E05\u7684\u670D\u88C5\u5C42\u6B21\u3001\u7248\u578B\u7ED3\u6784\u3001\u6750\u8D28\u914D\u8272\u3001\u978B\u889C\u3001\u5986\u53D1\u548C\u914D\u9970\u662F\u5426\u5DF2\u8986\u76D6\uFF1B\u82E5\u66F4\u6E05\u6670\u955C\u5934\u80FD\u8865\u5145\u65E2\u6709\u9020\u578B\uFF0C\u5C31\u66F4\u65B0\u540C\u540D description\uFF0C\u4E0D\u53E6\u5EFA\u8FD1\u4E49\u9020\u578B\u3002\n\u3010\u573A\u754C\u4E0E\u5730\u70B9\u3011\u4E00\u573A\u662F\u5730\u70B9\u3001\u8FDE\u7EED\u65F6\u6BB5\u548C\u53D9\u4E8B\u7EBF\u8FDE\u7EED\u7684\u751F\u4EA7\u5355\u5143\u3002\u5BA2\u5385\u3001\u5367\u5BA4\u3001\u536B\u751F\u95F4\u3001\u5927\u5385\u3001\u5E7F\u573A\u3001\u821E\u53F0\u3001\u540E\u53F0\u5206\u522B\u4F7F\u7528\u72EC\u7ACB location\uFF1B\u76F8\u5173\u7A7A\u95F4\u7EDF\u4E00\u547D\u540D\u4E3A\u300E\u8C6A\u5B85\xB7\u5BA2\u5385\u300F\u300E\u8C6A\u5B85\xB7\u5367\u5BA4\u300F\u3002\u4EBA\u7269\u8DE8\u8FC7\u95E8\u69DB\u8FDB\u5165\u53E6\u4E00\u7A7A\u95F4\u3001\u53D9\u4E8B\u8FDB\u5165\u53E6\u4E00\u7A33\u5B9A\u7A7A\u95F4\u3001\u660E\u663E\u8DF3\u65F6\u3001\u5207\u6362\u53D9\u4E8B\u7EBF\u6216\u660E\u786E\u8F6C\u573A\u65F6\u5EFA\u7ACB\u65B0 scene\u3002\u4E00\u4E2A scene \u53EA\u5199\u4E00\u4E2A\u4E3B location\uFF1B\u540C\u4E00\u8FDE\u7EED\u573A\u5185\u7684\u4EBA\u7269\u9020\u578B\u53D8\u5316\u4E0D\u662F\u5206\u573A\u7406\u7531\u3002\n\u3010\u72B6\u6001\u53D8\u5316\u4E0E\u573A\u5185\u8D44\u4EA7\u3011\u4EBA\u7269\u6362\u6574\u5957\u670D\u88C5\u3001\u53D8\u8EAB\u3001\u8131\u8863\u5F62\u6210\u53EF\u6301\u7EED\u65B0\u5916\u89C2\u65F6\uFF0C\u628A\u53D8\u5316\u52A8\u4F5C\u5199\u5165\u5F53\u524D scene \u7684 shots\u3002characters \u4E2D\u540C\u4E00\u89C4\u8303\u540D\u53EA\u51FA\u73B0\u4E00\u6B21\uFF1B\u8BE5\u6761\u7684 states \u662F\u672C\u573A\u51FA\u73B0\u8FC7\u7684\u5168\u90E8\u7A33\u5B9A\u9020\u578B\u96C6\u5408\uFF0C\u4E0D\u80FD\u6F0F\u6389\u53D8\u5316\u524D\u6216\u53D8\u5316\u540E\u72B6\u6001\uFF0C\u4E5F\u4E0D\u6309\u5148\u540E\u62C6\u6210\u91CD\u590D\u4EBA\u7269\u3002\u5730\u70B9\u88AB\u6BC1\u6216\u5173\u952E\u9053\u5177\u660E\u663E\u53D8\u5F62\u65F6\u767B\u8BB0\u5BF9\u5E94\u65B0 state\u3002\u60C5\u7EEA\u3001\u59FF\u6001\u548C\u4E00\u6B21\u6027\u52A8\u4F5C\u4FDD\u7559\u5728 shots \u7684 visual\uFF0C\u4E0D\u5EFA\u7ACB state\u3002\n\u3010\u9010\u955C\u8FD8\u539F\u3011shots \u662F\u72EC\u7ACB\u5206\u955C\u6E05\u5355\u3002\u6BCF\u6B21\u5207\u955C\u90FD\u5728\u8D77\u59CB\u65F6\u95F4\u65B0\u589E\u4E00\u6761 shot\uFF0C\u5373\u4F7F\u5B83\u91CD\u590D\u5C55\u793A\u4E4B\u524D\u7684\u52A8\u4F5C\u6216\u6CA1\u6709\u65B0\u5267\u60C5\uFF0C\u4E5F\u8981\u4FDD\u7559\u3002\u8FDE\u7EED\u955C\u5934\u5185\u7684\u666F\u522B\u3001\u62CD\u6444\u89D2\u5EA6\u3001\u673A\u4F4D\u3001\u955C\u5934\u79FB\u52A8\u3001\u6784\u56FE\u3001\u7126\u70B9\u6216\u753B\u9762\u4E3B\u4F53\u53D8\u5316\uFF0C\u4EE5\u53CA\u6BCF\u4E2A\u65B0\u52A8\u4F5C\u3001\u53CD\u5E94\u3001\u63A5\u89E6/\u5206\u5F00\u3001\u9053\u5177\u64CD\u4F5C\u4E0E\u7ED3\u679C\u3001\u8FDB\u51FA\u573A\u3001\u79FB\u52A8\u3001\u59FF\u52BF/\u671D\u5411/\u89C6\u7EBF\u6216\u7A7A\u95F4\u5173\u7CFB\u53D8\u5316\uFF0C\u90FD\u5728\u5B9E\u9645\u53D1\u751F\u65F6\u53E6\u589E shot\u3002\u4E0D\u5F97\u628A\u5148\u540E\u53D1\u751F\u7684\u5206\u955C\u6216\u52A8\u4F5C\u538B\u7F29\u6210\u5267\u60C5\u6982\u8FF0\u3002\n\u3010shot.camera\u3011\u53EA\u5199\u539F\u7247\u53EF\u89C1\u3001\u53EF\u590D\u73B0\u7684\u6444\u5F71\u4FE1\u606F\uFF1A\u8FDC\u666F/\u5168\u666F/\u4E2D\u666F/\u8FD1\u666F/\u7279\u5199\u7B49\u666F\u522B\uFF0C\u4FEF\u62CD/\u4EF0\u62CD/\u5E73\u89C6/\u4FA7\u9762/\u80CC\u9762\u7B49\u89D2\u5EA6\uFF0C\u56FA\u5B9A\u3001\u63A8\u3001\u62C9\u3001\u6447\u3001\u79FB\u3001\u8DDF\u3001\u73AF\u7ED5\u3001\u5347\u964D\u3001\u7126\u70B9\u8F6C\u79FB\u7B49\u53EF\u786E\u8BA4\u7684\u8FD0\u955C\uFF0C\u4EE5\u53CA\u524D\u666F/\u4E2D\u666F/\u540E\u666F\u3001\u753B\u9762\u5DE6\u53F3\u3001\u906E\u6321\u548C\u4E3B\u4F53\u5360\u4F4D\u3002\u5207\u955C\u3001\u53CD\u6253\u3001\u63D2\u5165\u955C\u5934\u3001\u4E3B\u89C2\u955C\u5934\u3001\u7A7A\u955C\u548C\u91CD\u590D\u955C\u5934\u90FD\u5982\u5B9E\u4FDD\u7559\u3002\u4E0D\u63A8\u6D4B\u753B\u9762\u65E0\u6CD5\u786E\u8BA4\u7684\u955C\u5934\u53C2\u6570\u3001\u955C\u5934\u578B\u53F7\u3001\u706F\u5149\u8BBE\u7F6E\u6216\u62CD\u6444\u610F\u56FE\u3002\n\u3010\u7AD9\u4F4D\u4E0E\u6301\u7EED\u72B6\u6001\u3011\u6BCF\u573A\u7B2C\u4E00\u4E2A shot \u7684 visual \u5EFA\u7ACB\u753B\u9762\u53EF\u786E\u8BA4\u7684\u4EBA\u7269\u7AD9\u4F4D/\u5750\u5367\u4F4D\u7F6E\u3001\u4E0E\u5730\u70B9\u56FA\u5B9A\u53C2\u7167\u7269\u7684\u5173\u7CFB\u3001\u4EBA\u7269\u4E4B\u95F4\u7684\u8FDC\u8FD1\u4E0E\u524D\u540E\u5DE6\u53F3\u3001\u59FF\u6001\u3001\u9762\u5411\u3001\u89C6\u7EBF\u3001\u63A5\u89E6\u548C\u6B63\u5728\u8FDB\u884C\u7684\u884C\u4E3A\u3002\u540E\u7EED\u5207\u955C\u82E5\u663E\u793A\u65B0\u7684\u6784\u56FE\u5173\u7CFB\uFF0C\u5199\u6E05\u4EBA\u7269\u5728\u753B\u9762\u5DE6/\u53F3\u3001\u524D\u666F/\u4E2D\u666F/\u540E\u666F\u7684\u4F4D\u7F6E\uFF1B\u82E5\u4EBA\u7269\u8FDB\u51FA\u3001\u79FB\u52A8\u3001\u8F6C\u8EAB\u3001\u6539\u53D8\u59FF\u52BF\u3001\u6CE8\u89C6\u5BF9\u8C61\u3001\u63A5\u89E6\u6216\u5206\u5F00\uFF0C\u5199\u6E05\u53D8\u5316\u524D\u540E\u7684\u5173\u7CFB\u3002\u6301\u7EED\u72B6\u6001\u4E0D\u56E0\u5BF9\u767D\u800C\u5931\u6548\uFF0C\u4F46\u6BCF\u6B21\u5207\u955C\u4ECD\u9700\u5199\u8BE5\u955C\u5934\u5B9E\u9645\u5448\u73B0\u7684\u6784\u56FE\u548C\u4E3B\u4F53\u3002\n\u3010\u9010\u53E5\u5BF9\u767D\u4E0E\u540C\u671F\u8868\u6F14\u5BF9\u9F50\u2014\u2014\u672C\u4EFB\u52A1\u5B8C\u6210\u95E8\u3011\u4E3A\u6BCF\u6761 voice \u5355\u72EC\u56DE\u770B\u8BE5\u53E5\u5F00\u59CB\u524D\u5230\u8BF4\u5B8C\u7684\u753B\u9762\uFF0C\u786E\u8BA4\u8BF4\u8BDD\u8005\u548C\u540C\u573A\u4EBA\u7269\u5F53\u65F6\u7684\u53EF\u89C1\u52A8\u4F5C\u3001\u8868\u60C5\u3001\u89C6\u7EBF\u3001\u59FF\u6001\u3001\u63A5\u89E6\u548C\u4F4D\u7F6E\u5173\u7CFB\u5DF2\u5728 shots \u4E2D\u51C6\u786E\u627F\u8F7D\u3002\u4E0E\u8FD9\u53E5\u8BDD\u540C\u65F6\u53D1\u751F\u3001\u4E0D\u72EC\u7ACB\u6539\u53D8\u8FDE\u7EED\u6027\u7684\u77ED\u4FC3\u8868\u6F14\u53EF\u5199\u5165\u8BE5 voice \u7684 parenthetical\uFF1B\u8D70\u4F4D\u3001\u59FF\u52BF\u53D8\u5316\u3001\u63A5\u89E6/\u5206\u5F00\u3001\u9053\u5177\u64CD\u4F5C\u6216\u7A7A\u95F4\u5173\u7CFB\u53D8\u5316\u5199\u5165\u5BF9\u5E94\u65F6\u95F4\u7684 shot.visual\u3002\u4E0D\u5F97\u8BA9\u5BF9\u767D\u65F6\u95F4\u70B9\u5C06\u6B63\u5728\u53D1\u751F\u7684\u53EF\u89C1\u8868\u6F14\u53D8\u6210\u5BF9\u767D\u4E4B\u540E\u7684\u52A8\u4F5C\u3002\n\u3010shot.visual\u3011\u4F7F\u7528\u4EBA\u7269\u89C4\u8303\u540D\uFF0C\u5199\u6E05\u884C\u52A8\u8005\u3001\u52A8\u4F5C\u3001\u4F5C\u7528\u5BF9\u8C61\u3001\u7A7A\u95F4\u65B9\u5411\u548C\u53EF\u89C1\u7ED3\u679C\u3002\u53EA\u5199\u5177\u4F53\u53EF\u89C1\u7684\u7709\u773C\u3001\u5634\u90E8\u3001\u547C\u5438\u3001\u89C6\u7EBF\u3001\u624B\u52BF\u3001\u59FF\u6001\u3001\u63A5\u89E6\u3001\u79FB\u52A8\u3001\u9053\u5177\u548C\u73AF\u5883\u53D8\u5316\uFF0C\u4E0D\u7528\u6124\u6012\u3001\u7126\u8651\u3001\u59D4\u5C48\u3001\u7EDD\u671B\u3001\u9707\u60CA\u3001\u54C0\u6C42\u3001\u5632\u8BBD\u7B49\u60C5\u7EEA\u3001\u6001\u5EA6\u6216\u5FC3\u7406\u5224\u65AD\u4EE3\u66FF\u753B\u9762\u4E8B\u5B9E\u3002\u53EA\u5199\u539F\u7247\u80FD\u591F\u786E\u8BA4\u7684\u4E8B\u5B9E\uFF1B\u770B\u4E0D\u6E05\u7684\u4F4D\u7F6E\u3001\u671D\u5411\u3001\u8868\u60C5\u6216\u52A8\u4F5C\u4E0D\u5199\uFF0C\u4E0D\u8865\u9020\u3002synopsis \u53EF\u4EE5\u6982\u62EC\u5267\u60C5\uFF0Cshots \u4E0D\u5F97\u5199\u6210\u5267\u60C5\u6897\u6982\u3002\n\u3010\u6B63\u6587\u4E0E\u9020\u578B\u3011\u89D2\u8272\u7684\u65E2\u6709\u670D\u88C5\u7531 characters.states \u548C\u4EBA\u7269\u8D44\u4EA7\u627F\u8F7D\uFF0Cshot.visual \u4E0D\u91CD\u590D\u63CF\u8FF0\u3002\u53EA\u6709\u753B\u9762\u4E2D\u53D1\u751F\u7684\u6362\u88C5\u3001\u8131\u8863\u3001\u670D\u88C5\u7834\u635F\u3001\u6CBE\u67D3\u6CE5\u6C61\u7B49\u53EF\u89C1\u53D8\u5316\uFF0C\u6216\u786E\u6709\u5FC5\u8981\u533A\u5206\u4EBA\u7269/\u65F6\u6BB5\u65F6\u624D\u5199\u5165 shot.visual\u3002\n\u3010voices\u3011\u4EBA\u7269\u5BF9\u4ED6\u4EBA\u8BF4\u51FA\u7684\u58F0\u97F3\u5199 kind=dlg\uFF1B\u97F3\u8F68\u91CC\u5B9E\u9645\u542C\u5230\u3001\u660E\u786E\u5C5E\u4E8E\u67D0\u89D2\u8272\u7684\u5185\u5FC3\u72EC\u767D\u6216\u7B2C\u4E00\u4EBA\u79F0\u81EA\u8FF0\u5199 kind=think\u3002speaker \u4F7F\u7528\u89D2\u8272\u89C4\u8303\u540D\uFF1B\u5BA2\u89C2\u53D9\u8FF0\u8005\u6216\u8EAB\u4EFD\u65E0\u6CD5\u786E\u8BA4\u7684\u65C1\u767D\u5199 speaker=\u300Ebroadcast:\u65C1\u767D\u300F\uFF1B\u7535\u8BDD\u3001\u5E7F\u64AD\u6216\u8BBE\u5907\u4E2D\u7684\u660E\u786E\u8BF4\u8BDD\u4EBA\u5728 parenthetical \u6807\u660E\u58F0\u6E90\u3002\u53EA\u8BB0\u5F55\u97F3\u8F68\u5B9E\u9645\u8868\u8FBE\u7684\u5185\u5FC3\uFF0C\u4E0D\u8111\u8865\u672A\u8BF4\u51FA\u7684\u5FC3\u7406\u3002content \u4FDD\u7559\u539F\u8BDD\uFF1Bparenthetical \u53EF\u5199\u53EF\u786E\u8BA4\u7684\u53D1\u58F0\u65B9\u5F0F\u3001\u58F0\u97F3\u6765\u6E90\u6216\u540C\u671F\u77ED\u4FC3\u8868\u6F14\uFF0C\u4F46\u6444\u5F71\u8C03\u5EA6\u548C\u5F71\u54CD\u8FDE\u7EED\u6027\u7684\u52A8\u4F5C\u53EA\u5199 shots\u3002\u5BF9\u767D\u8DE8\u8D8A\u5207\u955C\u3001\u955C\u5934\u4E3B\u4F53\u53D8\u5316\u6216\u72EC\u7ACB\u52A8\u4F5C\u65F6\uFF0C\u5728\u5BF9\u5E94\u65F6\u95F4\u70B9\u6309\u539F\u58F0\u81EA\u7136\u8BED\u53E5\u62C6\u5206\uFF1B\u4E0D\u5F97\u628A\u8DE8\u591A\u4E2A\u955C\u5934\u7684\u591A\u53E5\u53F0\u8BCD\u5408\u5E76\u6210\u4E00\u6761\u3002\u4E24\u4EBA\u540C\u65F6\u8BF4\u8BDD\u65F6\u8F93\u51FA\u76F8\u90BB\u4E24\u6761 voice\uFF0C\u7B2C\u4E8C\u6761 parenthetical \u4EE5\u300E\u540C\u65F6\u300F\u5F00\u5934\u3002\u5177\u4F53\u5355\u4EBA\u4F7F\u7528\u89C4\u8303\u540D\uFF1B\u65E0\u6CD5\u533A\u5206\u6210\u5458\u7684\u4F17\u4EBA\u3001\u7FA4\u4F17\u3001\u8DEF\u4EBA\u7B49\u5171\u540C\u53D1\u58F0\u65F6 speaker \u5199\u300Egroup:\u7FA4\u4F53\u540D\u300F\uFF0C\u4E0D\u5217\u5165 characters \u548C registry_delta\u3002\n\u3010\u8499\u592A\u5947\u3011\u540C\u5730\u70B9\u8FDE\u7EED\u8499\u592A\u5947\u4FDD\u7559\u4E00\u573A\uFF1B\u8DE8\u5730\u70B9\u8499\u592A\u5947\u6309\u526A\u8F91\u987A\u5E8F\u62C6\u6210\u591A\u4E2A\u77ED scene\uFF0C\u6BCF\u573A\u7ED1\u5B9A\u81EA\u5DF1\u7684 location\u3001characters\u3001props \u548C state\uFF0C\u5E76\u7528 shots \u660E\u786E\u8499\u592A\u5947\u5F00\u59CB\u3001\u5207\u6362\u548C\u7ED3\u675F\u3002";
15861
15881
  function buildSerialUser(episodeNo, contextText) {
15862
15882
  const ctx = contextText.trim() ? `========== \u5DF2\u77E5\u8BBE\u5B9A\uFF08\u5230\u4E0A\u4E00\u96C6\u4E3A\u6B62\uFF0C\u89C4\u8303\u540D\u4EE5\u6B64\u4E3A\u51C6\uFF09 ==========
15863
15883
  ${contextText}
15864
15884
  ` : "\uFF08\u8FD9\u662F\u7B2C\u4E00\u96C6\uFF0C\u6682\u65E0\u5DF2\u77E5\u8BBE\u5B9A\u3002\uFF09\n";
15865
- return `\u89E3\u6790\u7B2C ${episodeNo} \u96C6\uFF1A\u5BF9\u7167\u672C\u96C6\u539F\u89C6\u9891\uFF0C\u6309\u8F93\u51FA schema \u8FD4\u56DE JSON \u5BF9\u8C61\u3002scenes \u9010\u573A\u8986\u76D6\u5168\u96C6\uFF1B\u6BCF\u573A\u5148\u72EC\u7ACB\u5B8C\u6210\u9010\u955C shots\uFF0C\u518D\u72EC\u7ACB\u5B8C\u6210 voices\u3002shots \u5FC5\u987B\u8986\u76D6\u6BCF\u6B21\u5207\u955C\u548C\u53EF\u786E\u8BA4\u7684\u6444\u5F71/\u8868\u6F14\u53D8\u5316\uFF0C\u4E0D\u53BB\u91CD\u91CD\u590D\u955C\u5934\uFF0C\u4E0D\u5408\u5E76\u5148\u540E\u53D1\u751F\u7684\u5206\u955C\u6216\u52A8\u4F5C\uFF1Bvoices \u5B8C\u6574\u4FDD\u7559\u539F\u58F0\u5E76\u5728\u8DE8\u955C\u65F6\u6309\u81EA\u7136\u8BED\u53E5\u62C6\u5206\u3002registry_delta \u53EA\u62A5\u589E\u91CF\uFF08\u5DF2\u77E5\u4E14\u65E0\u65B0\u4FE1\u606F\u7684\u5B9E\u4F53\u4E0D\u8981\u5199\uFF09\u3002\u5B8C\u6210\u524D\u5206\u522B\u590D\u6838 shots \u7684\u5207\u955C\u3001\u666F\u522B/\u89D2\u5EA6/\u8FD0\u955C/\u6784\u56FE/\u7126\u70B9\u3001\u53EF\u89C1\u8868\u6F14\u548C\u7AD9\u4F4D\u5173\u7CFB\uFF0C\u4EE5\u53CA voices \u7684\u5168\u90E8\u4EBA\u58F0\u4E0E\u89C6\u9891\u6700\u540E\u5341\u79D2\u3002
15885
+ return `\u89E3\u6790\u7B2C ${episodeNo} \u96C6\uFF1A\u5BF9\u7167\u672C\u96C6\u539F\u89C6\u9891\uFF0C\u6309\u672C\u4EFB\u52A1\u5B9A\u4E49\u7684 JSON \u7ED3\u6784\u8FD4\u56DE\u4E00\u4E2A JSON \u5BF9\u8C61\u3002\u53EA\u8FD4\u56DE JSON \u672C\u8EAB\uFF0C\u4E0D\u8981\u8F93\u51FA\u89E3\u91CA\u3001\u524D\u8A00\u6216 Markdown \u4EE3\u7801\u5757\u3002scenes \u9010\u573A\u8986\u76D6\u5168\u96C6\uFF1B\u6BCF\u573A\u5148\u72EC\u7ACB\u5B8C\u6210\u9010\u955C shots\uFF0C\u518D\u72EC\u7ACB\u5B8C\u6210 voices\u3002shots \u5FC5\u987B\u8986\u76D6\u6BCF\u6B21\u5207\u955C\u548C\u53EF\u786E\u8BA4\u7684\u6444\u5F71/\u8868\u6F14\u53D8\u5316\uFF0C\u4E0D\u53BB\u91CD\u91CD\u590D\u955C\u5934\uFF0C\u4E0D\u5408\u5E76\u5148\u540E\u53D1\u751F\u7684\u5206\u955C\u6216\u52A8\u4F5C\uFF1Bvoices \u5B8C\u6574\u4FDD\u7559\u539F\u58F0\u5E76\u5728\u8DE8\u955C\u65F6\u6309\u81EA\u7136\u8BED\u53E5\u62C6\u5206\u3002registry_delta \u53EA\u62A5\u589E\u91CF\uFF08\u5DF2\u77E5\u4E14\u65E0\u65B0\u4FE1\u606F\u7684\u5B9E\u4F53\u4E0D\u8981\u5199\uFF09\u3002\u5B8C\u6210\u524D\u5206\u522B\u590D\u6838 shots \u7684\u5207\u955C\u3001\u666F\u522B/\u89D2\u5EA6/\u8FD0\u955C/\u6784\u56FE/\u7126\u70B9\u3001\u53EF\u89C1\u8868\u6F14\u548C\u7AD9\u4F4D\u5173\u7CFB\uFF0C\u4EE5\u53CA voices \u7684\u5168\u90E8\u4EBA\u58F0\u4E0E\u89C6\u9891\u6700\u540E\u5341\u79D2\u3002
15866
15886
 
15867
15887
  ${ctx}`;
15868
15888
  }