@lingjingai/scriptctl 0.62.7 → 0.63.1

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。
@@ -0,0 +1,15 @@
1
+ # 0.63.1
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - `scriptctl ingest` 默认视频路由使用官方 `gemini-3.8-flash → gemini-3.7-flash → 豆包`,暂时清空默认次卡候选列表;显式指定次卡仍可使用。
8
+
9
+ ## Fixed
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.
13
+
14
+ ## Breaking
15
+ - None.
package/dist/bin.js CHANGED
@@ -6539,7 +6539,7 @@ var BUILTIN_LLM_CONFIG = {
6539
6539
  // reliably than grok did (skeleton leads split correctly, no paren-polluted
6540
6540
  // names), which markdown/text mode could not hold on this model.
6541
6541
  "ingest-normalize": { provider: "gw", model: "claude-sonnet-4-6-aihubmix", temperature: 0 },
6542
- "ingest-video": { provider: "google-gemini", model: "gemini-3.7-flash" },
6542
+ "ingest-video": { provider: "google-gemini", model: "gemini-3.8-flash" },
6543
6543
  // `scriptctl review` names this profile directly rather than through a
6544
6544
  // task id: it drives its own agent loop instead of the router, and one
6545
6545
  // Gemini credential serves both the loop and its video checks.
@@ -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,
@@ -7776,12 +7795,7 @@ var OpenAiCompatibleModel = class {
7776
7795
 
7777
7796
  // src/llm/router.ts
7778
7797
  var VIDEO_FALLBACK_MODELS = ["gemini-3.7-flash"];
7779
- var PROXY_GEMINI_MODELS = [
7780
- "gemini-3.7-flash-c3",
7781
- "gemini-3.6-flash-c3",
7782
- "gemini-3.5-flash-c3",
7783
- "gemini-3.1-pro-preview-think-c3"
7784
- ];
7798
+ var PROXY_GEMINI_MODELS = [];
7785
7799
  var PROXY_GEMINI_API_KEY_ENVS = ["GEMINI_PROXY_API_KEY", "REDRAW_GEMINI_PROXY_API_KEY"];
7786
7800
  var PROXY_GEMINI_BASE_URL_ENVS = ["GEMINI_PROXY_BASE_URL", "REDRAW_GEMINI_PROXY_BASE_URL"];
7787
7801
  var DOUBAO_FALLBACK = {
@@ -8745,7 +8759,7 @@ async function commandReview(opts) {
8745
8759
  model: profile.model,
8746
8760
  mediaModel: profile.model,
8747
8761
  ...profile.baseUrl ? { baseUrl: profile.baseUrl } : {},
8748
- maxSteps: positive2(opts, "max_steps", 60),
8762
+ maxSteps: positive2(opts, "max_steps", 300),
8749
8763
  mediaBudget: positive2(opts, "media_budget", 1),
8750
8764
  episodeTimeoutMs: positive2(opts, "episode_timeout_ms", 8 * 6e4),
8751
8765
  onEvent: write2
@@ -8755,8 +8769,8 @@ async function commandReview(opts) {
8755
8769
  throw new CliError("Review failed.", {
8756
8770
  exitCode: EXIT_RUNTIME,
8757
8771
  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)] }
8772
+ hint: "Read the error details, NDJSON asr-compared/episode reports and .review/asr/ evidence before retrying.",
8773
+ data: { expected: ["a completed review run"], actual: [error instanceof Error ? error.message : String(error)] }
8760
8774
  });
8761
8775
  }
8762
8776
  return [{ text: "", data: {} }, EXIT_OK];
@@ -9059,7 +9073,7 @@ function speakerLabel(doc2, sp) {
9059
9073
  }
9060
9074
  function formatAction(doc2, a, gutter, opts = {}) {
9061
9075
  const pad7 = (opts.plain ? "" : a.anchor).padEnd(gutter);
9062
- const ts = !opts.plain && a.ts ? `${a.ts} ` : "";
9076
+ const ts = opts.timestamps ? `${a.ts ?? "[\u65F6\u95F4\u7F3A\u5931]"} ` : !opts.plain && a.ts ? `${a.ts} ` : "";
9063
9077
  const body = (() => {
9064
9078
  if (a.type === "transition")
9065
9079
  return `\u2192 ${a.content}`;
@@ -9071,7 +9085,8 @@ function formatAction(doc2, a, gutter, opts = {}) {
9071
9085
  }
9072
9086
  return a.content;
9073
9087
  })();
9074
- return `${pad7}${pad7 ? " " : ""}${ts}${body}`.replace(/\n/g, "\\n");
9088
+ const anchor = `${pad7}${pad7 ? " " : ""}`;
9089
+ return `${opts.timestamps ? ts + anchor : anchor + ts}${body}`.replace(/\n/g, "\\n");
9075
9090
  }
9076
9091
  function refText(doc2, r) {
9077
9092
  const name = assetName3(doc2, r.id);
@@ -15857,12 +15872,12 @@ async function withIngestWorkspaceLock(workspacePath, operation) {
15857
15872
  }
15858
15873
 
15859
15874
  // 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";
15875
+ 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
15876
  function buildSerialUser(episodeNo, contextText) {
15862
15877
  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
15878
  ${contextText}
15864
15879
  ` : "\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
15880
+ 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
15881
 
15867
15882
  ${ctx}`;
15868
15883
  }