@lingjingai/scriptctl 0.50.0 → 0.51.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/changes/0.51.0.md +24 -0
- package/changes/0.51.1.md +15 -0
- package/changes/unreleased.md +1 -2
- package/dist/cli/register-batch.d.ts +3 -0
- package/dist/cli/register-batch.js +28 -0
- package/dist/cli/register-batch.js.map +1 -0
- package/dist/cli/register-edits.d.ts +4 -0
- package/dist/cli/register-edits.js +226 -0
- package/dist/cli/register-edits.js.map +1 -0
- package/dist/cli/register-query.d.ts +4 -0
- package/dist/cli/register-query.js +93 -0
- package/dist/cli/register-query.js.map +1 -0
- package/dist/cli/register-tools.d.ts +3 -0
- package/dist/cli/register-tools.js +23 -0
- package/dist/cli/register-tools.js.map +1 -0
- package/dist/cli/register-workflows.d.ts +4 -0
- package/dist/cli/register-workflows.js +71 -0
- package/dist/cli/register-workflows.js.map +1 -0
- package/dist/cli/registry.d.ts +14 -0
- package/dist/cli/registry.js +65 -0
- package/dist/cli/registry.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +146 -596
- package/dist/cli.js.map +1 -1
- package/dist/common.d.ts +12 -38
- package/dist/common.js +5 -11
- package/dist/common.js.map +1 -1
- package/dist/domain/authoring/shared/bracket.js +3 -3
- package/dist/domain/authoring/shared/bracket.js.map +1 -1
- package/dist/domain/authoring/v3/apply.js +3 -3
- package/dist/domain/authoring/v3/apply.js.map +1 -1
- package/dist/domain/authoring/v4/apply.js +6 -6
- package/dist/domain/authoring/v4/apply.js.map +1 -1
- package/dist/domain/authoring/v4/parser.js +2 -2
- package/dist/domain/authoring/v4/parser.js.map +1 -1
- package/dist/domain/authoring/v4/serializer.js +2 -2
- package/dist/domain/authoring/v4/serializer.js.map +1 -1
- package/dist/domain/ingest/assembler.d.ts +1 -0
- package/dist/domain/ingest/assembler.js +8 -2
- package/dist/domain/ingest/assembler.js.map +1 -1
- package/dist/domain/ingest/video-apply.js +6 -3
- package/dist/domain/ingest/video-apply.js.map +1 -1
- package/dist/domain/ingest/video-context.js +2 -2
- package/dist/domain/ingest/video-context.js.map +1 -1
- package/dist/domain/ingest/video-records.d.ts +6 -5
- package/dist/domain/ingest/video-serial-md.d.ts +6 -5
- package/dist/domain/ingest/video-serial-md.js +11 -4
- package/dist/domain/ingest/video-serial-md.js.map +1 -1
- package/dist/domain/script/dispatch.js +5 -7
- package/dist/domain/script/dispatch.js.map +1 -1
- package/dist/domain/script/shared.js +4 -6
- package/dist/domain/script/shared.js.map +1 -1
- package/dist/domain/script/v3/address.js +29 -38
- package/dist/domain/script/v3/address.js.map +1 -1
- package/dist/domain/script/v3/lookups.js +31 -32
- package/dist/domain/script/v3/lookups.js.map +1 -1
- package/dist/domain/script/v3/ordinal.js +4 -5
- package/dist/domain/script/v3/ordinal.js.map +1 -1
- package/dist/domain/script/v3/parse.js +3 -4
- package/dist/domain/script/v3/parse.js.map +1 -1
- package/dist/domain/script/v3/patch/helpers.js +6 -8
- package/dist/domain/script/v3/patch/helpers.js.map +1 -1
- package/dist/domain/script/v3/selector.js +6 -8
- package/dist/domain/script/v3/selector.js.map +1 -1
- package/dist/domain/script/v4/address.js +2 -3
- package/dist/domain/script/v4/address.js.map +1 -1
- package/dist/domain/script/v4/ids.js +6 -7
- package/dist/domain/script/v4/ids.js.map +1 -1
- package/dist/domain/script/v4/ordinal.js +4 -5
- package/dist/domain/script/v4/ordinal.js.map +1 -1
- package/dist/domain/script/v4/parse.js +3 -4
- package/dist/domain/script/v4/parse.js.map +1 -1
- package/dist/domain/script/v4/patch/apply.js +3 -3
- package/dist/domain/script/v4/patch/apply.js.map +1 -1
- package/dist/domain/script/v4/patch/helpers.js +3 -4
- package/dist/domain/script/v4/patch/helpers.js.map +1 -1
- package/dist/domain/script/v4/patch/ops-action.js +46 -49
- package/dist/domain/script/v4/patch/ops-action.js.map +1 -1
- package/dist/domain/script/v4/selector.js +2 -3
- package/dist/domain/script/v4/selector.js.map +1 -1
- package/dist/infra/ingest/video-discovery.js +7 -4
- package/dist/infra/ingest/video-discovery.js.map +1 -1
- package/dist/infra/script-output-store.js +6 -11
- package/dist/infra/script-output-store.js.map +1 -1
- package/dist/infra/script-working-copy.js +15 -16
- package/dist/infra/script-working-copy.js.map +1 -1
- package/dist/llm/config.js +3 -4
- package/dist/llm/config.js.map +1 -1
- package/dist/llm/router.js +6 -8
- package/dist/llm/router.js.map +1 -1
- package/dist/llm/tasks/ingest/text-normalize.js +3 -3
- package/dist/llm/tasks/ingest/text-normalize.js.map +1 -1
- package/dist/llm/tasks/ingest/video-serial.js +29 -22
- package/dist/llm/tasks/ingest/video-serial.js.map +1 -1
- package/dist/llm/tasks/schemas.js +5 -5
- package/dist/llm/tasks/schemas.js.map +1 -1
- package/dist/output.d.ts +2 -3
- package/dist/output.js +72 -109
- package/dist/output.js.map +1 -1
- package/dist/usecases/changelog.d.ts +2 -2
- package/dist/usecases/changelog.js +28 -36
- package/dist/usecases/changelog.js.map +1 -1
- package/dist/usecases/doctor.d.ts +2 -2
- package/dist/usecases/doctor.js +3 -5
- package/dist/usecases/doctor.js.map +1 -1
- package/dist/usecases/ingest/command.d.ts +2 -2
- package/dist/usecases/ingest/command.js +22 -5
- package/dist/usecases/ingest/command.js.map +1 -1
- package/dist/usecases/ingest/pass5-extract.js +5 -4
- package/dist/usecases/ingest/pass5-extract.js.map +1 -1
- package/dist/usecases/ingest/pass5-govern.js +13 -11
- package/dist/usecases/ingest/pass5-govern.js.map +1 -1
- package/dist/usecases/ingest/pipeline.js +19 -16
- package/dist/usecases/ingest/pipeline.js.map +1 -1
- package/dist/usecases/ingest/serial-govern.js +5 -4
- package/dist/usecases/ingest/serial-govern.js.map +1 -1
- package/dist/usecases/ingest/status.d.ts +2 -2
- package/dist/usecases/ingest/status.js +1 -1
- package/dist/usecases/ingest/status.js.map +1 -1
- package/dist/usecases/ingest/video-pipeline.js +23 -17
- package/dist/usecases/ingest/video-pipeline.js.map +1 -1
- package/dist/usecases/ingest/view-command.d.ts +2 -2
- package/dist/usecases/ingest/view-command.js +7 -6
- package/dist/usecases/ingest/view-command.js.map +1 -1
- package/dist/usecases/ingest/view-server.d.ts +2 -2
- package/dist/usecases/ingest/view-server.js +7 -5
- package/dist/usecases/ingest/view-server.js.map +1 -1
- package/dist/usecases/script/actions.d.ts +2 -2
- package/dist/usecases/script/actions.js +12 -13
- package/dist/usecases/script/actions.js.map +1 -1
- package/dist/usecases/script/actor.d.ts +2 -2
- package/dist/usecases/script/actor.js +3 -4
- package/dist/usecases/script/actor.js.map +1 -1
- package/dist/usecases/script/actors.d.ts +2 -2
- package/dist/usecases/script/actors.js +5 -5
- package/dist/usecases/script/actors.js.map +1 -1
- package/dist/usecases/script/add-actor.d.ts +2 -2
- package/dist/usecases/script/add-episode.d.ts +2 -2
- package/dist/usecases/script/add-location.d.ts +2 -2
- package/dist/usecases/script/add-prop.d.ts +2 -2
- package/dist/usecases/script/alias.d.ts +2 -2
- package/dist/usecases/script/alias.js +6 -8
- package/dist/usecases/script/alias.js.map +1 -1
- package/dist/usecases/script/assets.d.ts +2 -2
- package/dist/usecases/script/assets.js +15 -7
- package/dist/usecases/script/assets.js.map +1 -1
- package/dist/usecases/script/audit-assets.d.ts +2 -2
- package/dist/usecases/script/audit-assets.js +12 -15
- package/dist/usecases/script/audit-assets.js.map +1 -1
- package/dist/usecases/script/command-constraints.js +17 -18
- package/dist/usecases/script/command-constraints.js.map +1 -1
- package/dist/usecases/script/context.d.ts +2 -2
- package/dist/usecases/script/context.js +3 -4
- package/dist/usecases/script/context.js.map +1 -1
- package/dist/usecases/script/create.d.ts +2 -2
- package/dist/usecases/script/create.js +3 -4
- package/dist/usecases/script/create.js.map +1 -1
- package/dist/usecases/script/delete.d.ts +2 -2
- package/dist/usecases/script/delete.js +9 -12
- package/dist/usecases/script/delete.js.map +1 -1
- package/dist/usecases/script/describe.d.ts +2 -2
- package/dist/usecases/script/describe.js +6 -8
- package/dist/usecases/script/describe.js.map +1 -1
- package/dist/usecases/script/dialogue.d.ts +2 -2
- package/dist/usecases/script/dialogue.js +5 -6
- package/dist/usecases/script/dialogue.js.map +1 -1
- package/dist/usecases/script/do.d.ts +2 -2
- package/dist/usecases/script/do.js +63 -66
- package/dist/usecases/script/do.js.map +1 -1
- package/dist/usecases/script/emotion.d.ts +2 -2
- package/dist/usecases/script/emotion.js +3 -3
- package/dist/usecases/script/emotion.js.map +1 -1
- package/dist/usecases/script/episodes.d.ts +2 -2
- package/dist/usecases/script/episodes.js +5 -5
- package/dist/usecases/script/episodes.js.map +1 -1
- package/dist/usecases/script/export-authoring.d.ts +2 -2
- package/dist/usecases/script/export-authoring.js +26 -29
- package/dist/usecases/script/export-authoring.js.map +1 -1
- package/dist/usecases/script/extend.d.ts +2 -2
- package/dist/usecases/script/extend.js +22 -18
- package/dist/usecases/script/extend.js.map +1 -1
- package/dist/usecases/script/ids.d.ts +2 -2
- package/dist/usecases/script/ids.js +21 -17
- package/dist/usecases/script/ids.js.map +1 -1
- package/dist/usecases/script/importance.d.ts +2 -2
- package/dist/usecases/script/importance.js +3 -4
- package/dist/usecases/script/importance.js.map +1 -1
- package/dist/usecases/script/insert.d.ts +2 -2
- package/dist/usecases/script/insert.js +8 -10
- package/dist/usecases/script/insert.js.map +1 -1
- package/dist/usecases/script/issues.d.ts +2 -2
- package/dist/usecases/script/issues.js +10 -2
- package/dist/usecases/script/issues.js.map +1 -1
- package/dist/usecases/script/lib.d.ts +15 -9
- package/dist/usecases/script/lib.js +226 -166
- package/dist/usecases/script/lib.js.map +1 -1
- package/dist/usecases/script/locations.d.ts +2 -2
- package/dist/usecases/script/locations.js +5 -5
- package/dist/usecases/script/locations.js.map +1 -1
- package/dist/usecases/script/merge.d.ts +2 -2
- package/dist/usecases/script/merge.js +9 -12
- package/dist/usecases/script/merge.js.map +1 -1
- package/dist/usecases/script/move.d.ts +2 -2
- package/dist/usecases/script/move.js +6 -8
- package/dist/usecases/script/move.js.map +1 -1
- package/dist/usecases/script/parenthetical.d.ts +2 -2
- package/dist/usecases/script/parenthetical.js +9 -12
- package/dist/usecases/script/parenthetical.js.map +1 -1
- package/dist/usecases/script/props.d.ts +2 -2
- package/dist/usecases/script/props.js +5 -5
- package/dist/usecases/script/props.js.map +1 -1
- package/dist/usecases/script/refs.d.ts +2 -2
- package/dist/usecases/script/refs.js +23 -17
- package/dist/usecases/script/refs.js.map +1 -1
- package/dist/usecases/script/rename.d.ts +2 -2
- package/dist/usecases/script/rename.js +6 -8
- package/dist/usecases/script/rename.js.map +1 -1
- package/dist/usecases/script/replace.d.ts +2 -2
- package/dist/usecases/script/replace.js +6 -8
- package/dist/usecases/script/replace.js.map +1 -1
- package/dist/usecases/script/role.d.ts +2 -2
- package/dist/usecases/script/role.js +3 -4
- package/dist/usecases/script/role.js.map +1 -1
- package/dist/usecases/script/scenes.d.ts +2 -2
- package/dist/usecases/script/scenes.js +7 -5
- package/dist/usecases/script/scenes.js.map +1 -1
- package/dist/usecases/script/script-patch.d.ts +2 -2
- package/dist/usecases/script/script-patch.js +95 -112
- package/dist/usecases/script/script-patch.js.map +1 -1
- package/dist/usecases/script/script-validate.d.ts +2 -2
- package/dist/usecases/script/script-validate.js +11 -7
- package/dist/usecases/script/script-validate.js.map +1 -1
- package/dist/usecases/script/session.js +52 -63
- package/dist/usecases/script/session.js.map +1 -1
- package/dist/usecases/script/split.d.ts +2 -2
- package/dist/usecases/script/split.js +6 -8
- package/dist/usecases/script/split.js.map +1 -1
- package/dist/usecases/script/state-add.d.ts +2 -2
- package/dist/usecases/script/state-add.js +3 -4
- package/dist/usecases/script/state-add.js.map +1 -1
- package/dist/usecases/script/state-delete.d.ts +2 -2
- package/dist/usecases/script/state-delete.js +3 -4
- package/dist/usecases/script/state-delete.js.map +1 -1
- package/dist/usecases/script/state-rename.d.ts +2 -2
- package/dist/usecases/script/state-rename.js +3 -4
- package/dist/usecases/script/state-rename.js.map +1 -1
- package/dist/usecases/script/states.d.ts +2 -2
- package/dist/usecases/script/states.js +54 -27
- package/dist/usecases/script/states.js.map +1 -1
- package/dist/usecases/script/summary.d.ts +2 -2
- package/dist/usecases/script/summary.js +21 -2
- package/dist/usecases/script/summary.js.map +1 -1
- package/dist/usecases/script/synopsis-generate.d.ts +2 -2
- package/dist/usecases/script/synopsis-generate.js +38 -39
- package/dist/usecases/script/synopsis-generate.js.map +1 -1
- package/dist/usecases/script/synopsis.d.ts +2 -2
- package/dist/usecases/script/synopsis.js +9 -12
- package/dist/usecases/script/synopsis.js.map +1 -1
- package/dist/usecases/script/transition.d.ts +2 -2
- package/dist/usecases/script/transition.js +3 -4
- package/dist/usecases/script/transition.js.map +1 -1
- package/dist/usecases/script/type.d.ts +2 -2
- package/dist/usecases/script/type.js +3 -4
- package/dist/usecases/script/type.js.map +1 -1
- package/dist/usecases/script/v4/queries.d.ts +3 -2
- package/dist/usecases/script/v4/queries.js +43 -6
- package/dist/usecases/script/v4/queries.js.map +1 -1
- package/dist/usecases/script/working-copy.d.ts +4 -4
- package/dist/usecases/script/working-copy.js +96 -92
- package/dist/usecases/script/working-copy.js.map +1 -1
- package/dist/usecases/script/worldview.d.ts +2 -2
- package/dist/usecases/script/worldview.js +3 -4
- package/dist/usecases/script/worldview.js.map +1 -1
- package/dist/usecases/script/write-authoring.d.ts +2 -2
- package/dist/usecases/script/write-authoring.js +62 -81
- package/dist/usecases/script/write-authoring.js.map +1 -1
- package/dist/usecases/update.d.ts +2 -2
- package/dist/usecases/update.js +32 -47
- package/dist/usecases/update.js.map +1 -1
- package/package.json +1 -1
- package/skills/scriptctl/SKILL.md +46 -37
- package/skills/scriptctl/references/atomic-edit-workflow.md +6 -6
- package/skills/scriptctl/references/ingest-workflow.md +20 -20
- package/skills/scriptctl/references/state-reference-repair.md +6 -6
- package/dist/help-text.d.ts +0 -2
- package/dist/help-text.js +0 -1144
- package/dist/help-text.js.map +0 -1
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
先查询,再用查询结果中的地址修改:
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
|
-
scriptctl actions
|
|
11
|
+
scriptctl actions -g "台下掌声雷动" -p "$SCRIPT"
|
|
12
12
|
scriptctl replace acR8cV4n --from "台下掌声雷动" --to "掌声骤停" \
|
|
13
|
-
|
|
13
|
+
-p "$SCRIPT"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
V4 查询可以使用 1-based `@` 序号,但修改必须使用正式 ID。V3 查询返回原有的
|
|
@@ -21,8 +21,8 @@ V4 查询可以使用 1-based `@` 序号,但修改必须使用正式 ID。V3
|
|
|
21
21
|
V4 先运行 dry-run,读取完整目标和 `plan_digest`,再用相同命令 apply:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
scriptctl replace
|
|
25
|
-
scriptctl replace
|
|
24
|
+
scriptctl replace -i 'acR8cV4n..acT2fG6z' --from "。" --to "!"
|
|
25
|
+
scriptctl replace -i 'acR8cV4n..acT2fG6z' --from "。" --to "!" \
|
|
26
26
|
--apply --plan sha256:...
|
|
27
27
|
```
|
|
28
28
|
|
|
@@ -37,8 +37,8 @@ scene-ref scnK6wT3c actA3kP9x --state default --state stB4xR8p
|
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
|
-
scriptctl do edits.txt
|
|
41
|
-
scriptctl do edits.txt --apply --plan sha256:...
|
|
40
|
+
scriptctl do edits.txt -p "$SCRIPT"
|
|
41
|
+
scriptctl do edits.txt --apply --plan sha256:... -p "$SCRIPT"
|
|
42
42
|
```
|
|
43
43
|
|
|
44
44
|
`do` 整体解析、修改和校验;任一行失败时不落盘。
|
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
适用:有外部素材要**转成 Script v4 并入库**。统一入口 `scriptctl ingest`,按 source 类型自动分流文本 / 视频;两条管线最终都产出 v4 `script.json`。视频、小说和非标准剧本统一执行 [production-writing-standard.md](production-writing-standard.md)。
|
|
4
4
|
|
|
5
5
|
```
|
|
6
|
-
ingest
|
|
6
|
+
ingest -s <file|dir> → 标准化复核 → view / ingest status → publish
|
|
7
7
|
(抽取,产 workspace/script.json) (内容完成门) (自查/看进度) (校验+入库)
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
- 支持输入:**文本** txt / md / docx;**视频** 单个正片文件或**分集目录**(需 `GEMINI_API_KEY`)。pdf/json/xlsx 会被拒。
|
|
11
|
-
- `ingest` **不入库**:只产 `workspace/script.json`(默认工作区 `workspace`,可
|
|
12
|
-
- 产物随后就是普通剧本:任何读写动词加
|
|
11
|
+
- `ingest` **不入库**:只产 `workspace/script.json`(默认工作区 `workspace`,可 `-w` 改)。入库是独立的 `publish`。
|
|
12
|
+
- 产物随后就是普通剧本:任何读写动词加 `-p workspace/script.json` 即可精修。
|
|
13
13
|
|
|
14
14
|
## 一、抽取 `ingest`
|
|
15
15
|
|
|
16
16
|
```bash
|
|
17
17
|
# 文本
|
|
18
|
-
scriptctl ingest
|
|
18
|
+
scriptctl ingest -s uploads/剧本.docx
|
|
19
19
|
# 视频(分集目录,文件名带集号;单文件也行)
|
|
20
|
-
scriptctl ingest
|
|
20
|
+
scriptctl ingest -s uploads/正片/
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
常用 flag:
|
|
24
|
-
-
|
|
24
|
+
- `-w <dir>`:工作区根(manifest + 各 pass 目录 + 产物)。**不传默认 `<cwd>/workspace`**;显式传可放别处。`view` / `ingest status` 使用同一 workspace;publish 用 `-p <workspace>/script.json`。
|
|
25
25
|
- `--concurrency <n>`:文本 fanout 并发,默认 30。视频逐集串行。
|
|
26
26
|
- `--fps <n>`:视频采样帧率(>1 解锁亚秒级时间码)。默认 3。
|
|
27
27
|
- `--force`:**同源**重跑,清掉产物重来(**不能换源**)。
|
|
@@ -43,21 +43,21 @@ scriptctl ingest --source-path uploads/正片/
|
|
|
43
43
|
`ingest` 生成且 `validate` 通过只代表结构与引用合法。publish 前按 [production-writing-standard.md](production-writing-standard.md) 逐集复核:
|
|
44
44
|
|
|
45
45
|
1. 用 `actors / locations / props / states` 检查资产、去重、importance 和持久视觉状态。
|
|
46
|
-
2. 用 `scenes
|
|
47
|
-
3. 用 `actions
|
|
46
|
+
2. 用 `scenes -i <ep>` 检查唯一地点、场界、蒙太奇顺序和状态变化边界。
|
|
47
|
+
3. 用 `actions -i <ep>` 检查说话人、群体发声、人物真名、动作链和可拍摄性。
|
|
48
48
|
4. 视频对照画面与声音;文本对照原文,确认对白逐字保真,事实、因果、顺序、动作结果和状态没有改变或补造。
|
|
49
|
-
5. 运行 `audit-assets
|
|
49
|
+
5. 运行 `audit-assets -p workspace/script.json`,查看 `asset-audit.json` 中的人物身份重复、同义状态、未使用/落单状态、重复地点和道具建议。不要仅凭名称相似或低频就合并、删除。
|
|
50
50
|
6. 用 scriptctl 读写动词修正 `workspace/script.json`,再次运行 `validate` 和 `audit-assets`,完成内容复核后再 publish。
|
|
51
51
|
|
|
52
52
|
## 三、看进度 / 自查
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
55
|
scriptctl ingest status # 人读:kind / state / 各 pass 进度(transcribe 40/57 (2 failed) ...)
|
|
56
|
-
scriptctl ingest status
|
|
56
|
+
scriptctl ingest status -j # 机器:.status = {kind,state,phase,passes[],units,validation,errors[]}
|
|
57
57
|
scriptctl view # 生成 workspace/review.html(视频版可点击定位到画面)
|
|
58
58
|
scriptctl view --watch [--port N]# 实时监听面板:分阶段进度条 + 逐集 context/决策 + 产物树,自动刷新(跑中也能开)。🔴 仅本地用,**沙箱内不要用**(起阻塞服务+开浏览器,会挂住;沙箱看进度用 `ingest status`)
|
|
59
|
-
scriptctl audit-assets
|
|
60
|
-
scriptctl summary
|
|
59
|
+
scriptctl audit-assets -p workspace/script.json # 全剧资产一致性复核;结果写 asset-audit.json
|
|
60
|
+
scriptctl summary -p workspace/script.json # 抽完当普通剧本读
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
`state`:`empty`(没开始)/ `incomplete`(在跑或中断、无硬错,重跑续)/ `failed`(有失败单元或校验没过)/ `ready`(`script.json` 生成且 v4 结构校验通过)。`validation.json` 的 production/asset-audit warning 标出仍需复核的问题,`asset-audit.json` 保存完整证据和建议。进度从工作区真实文件推导;它报的是管线事实,资产合并结论和源素材一致性仍由复核完成门确认。
|
|
@@ -71,7 +71,7 @@ scriptctl summary --script-path workspace/script.json # 抽完当普通剧本
|
|
|
71
71
|
| `INGEST_NORMALIZE_INCOMPLETE`(文本)<br>`INGEST_TRANSCRIBE_/CORRECT_/SPEAKER_INCOMPLETE`(视频) | 部分单元失败,留下 `passN/*.error.json` sidecar | **直接重跑 `scriptctl ingest`(同 source、同 workspace)**——从 checkpoint 续,只补失败单元。跑完 `ingest status` 看还剩几个,多跑几次到收敛 |
|
|
72
72
|
| `INGEST_SERIAL_FAILED`(文本串行 govern) | 某集串行解析连试几次仍失败(模型抖动) | **直接重跑**,从该集续——前面各集已缓存不重跑 |
|
|
73
73
|
| `INGEST_PIPELINE_MISMATCH` | 工作区的管线版本与当前版本不同 | 确认 source 未变化后,使用同一 source、同一 workspace 加 `--force` 完整重建 checkpoint |
|
|
74
|
-
| `INGEST_SOURCE_MISMATCH` | 工作区是别的 source 建的 | 换一个新的
|
|
74
|
+
| `INGEST_SOURCE_MISMATCH` | 工作区是别的 source 建的 | 换一个新的 `-w`,**别 `--force` 硬覆盖** |
|
|
75
75
|
| `INGEST_VALIDATION_FAILED` | 最终校验没过 | 看 `workspace/validation.json` 的具体报错,修复后再 `publish` |
|
|
76
76
|
| 持续 401/403/404 / 模型路由错 | 网关/密钥/模型环境问题(不是抖动,重跑也不好) | 如实告诉用户,别反复空跑、别编造成功。视频需 `GEMINI_API_KEY` |
|
|
77
77
|
|
|
@@ -80,18 +80,18 @@ scriptctl summary --script-path workspace/script.json # 抽完当普通剧本
|
|
|
80
80
|
## 五、入库 `publish`
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
scriptctl publish
|
|
84
|
-
scriptctl publish
|
|
83
|
+
scriptctl publish -p workspace/script.json
|
|
84
|
+
scriptctl publish -p workspace/script.json --project-group-no 123
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
- `publish` 读本地
|
|
87
|
+
- `publish` 读本地 `-p`(默认 `workspace/script.json`),按显式版本再次校验,通过才发布。
|
|
88
88
|
- 沙箱里转完**必须 publish**,否则后端/前端看不到剧本。
|
|
89
89
|
- 已管理工作副本 publish 采用 local-wins:CAS/网络失败后重拉 snapshot、重算 diff 并重试,最终远端内容以本地稿为准。
|
|
90
90
|
- 已管理且内容未变时 publish 本地直接 no-op,不发网络请求。服务端不保存 requestId,也不提供 publish 幂等重试。
|
|
91
91
|
|
|
92
92
|
## 六、复杂场景怎么接
|
|
93
93
|
|
|
94
|
-
- **转完先精修再入库**:`ingest` → 用
|
|
94
|
+
- **转完先精修再入库**:`ingest` → 用 `-p workspace/script.json` 跑读写动词修(改归属、并角色、标龙套、补造型……)→ `publish`。
|
|
95
95
|
- **入库后再改**:继续编辑同一个受管本地文件再 publish;若工作副本不在,先 checkout,不能直接对 DB 跑原子命令。
|
|
96
96
|
- **视频复核**:`view` 出的 `review.html` 视频版支持点击台词跳到对应画面时间码,逐场核对发声源/造型。
|
|
97
97
|
- **超大剧集(几十集)**:并发默认已调好;失败就重跑到 `ingest status` 显示 `ready`。花名册归并只跑一次并复用,重跑很快。
|
|
@@ -99,8 +99,8 @@ scriptctl publish --script-path workspace/script.json --project-group-no 123
|
|
|
99
99
|
|
|
100
100
|
## 七、抽完后的读写
|
|
101
101
|
|
|
102
|
-
抽取产物就是标准 v4 剧本,用 SKILL.md 里所有读写能力精修(目标指
|
|
103
|
-
- `summary` / `episodes` 看整本 + 分集梗概;`actions
|
|
102
|
+
抽取产物就是标准 v4 剧本,用 SKILL.md 里所有读写能力精修(目标指 `-p workspace/script.json`;远端稿先 checkout):
|
|
103
|
+
- `summary` / `episodes` 看整本 + 分集梗概;`actions -i <ep>` 带 timestamp 看节奏。
|
|
104
104
|
- `states <actor>` 看造型弧线;`actors --counts` 看出场频次决定 `importance`。
|
|
105
|
-
- 归属/造型修正:`dialogue <at>
|
|
105
|
+
- 归属/造型修正:`dialogue <at> -a/-k`、`scene-ref <ep/scn> <kind:id> --state`。
|
|
106
106
|
- 梗概/世界观:`synopsis` / `synopsis generate`(LLM 批量)/ `worldview`。
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
先反查旧 state:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
scriptctl refs actA3kP9x/stB4xR8p
|
|
6
|
+
scriptctl refs actA3kP9x/stB4xR8p -p "$SCRIPT"
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
## Script v4
|
|
@@ -13,7 +13,7 @@ speaker 上同步替换:
|
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
scriptctl state-delete actA3kP9x/stB4xR8p \
|
|
16
|
-
--strategy replace --replacement default
|
|
16
|
+
--strategy replace --replacement default -p "$SCRIPT"
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
`--strategy remove` 会从每个集合移除该 state;若任何集合将变为空,命令拒绝,
|
|
@@ -26,13 +26,13 @@ scriptctl state-delete actA3kP9x/stB4xR8p \
|
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
scriptctl state-delete actor:act_001/st_002 \
|
|
29
|
-
--strategy replace --replacement st_001
|
|
29
|
+
--strategy replace --replacement st_001 -p "$SCRIPT"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## 核验
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
scriptctl refs <旧-state-address>
|
|
36
|
-
scriptctl refs <新-state-address>
|
|
37
|
-
scriptctl validate
|
|
35
|
+
scriptctl refs <旧-state-address> -p "$SCRIPT"
|
|
36
|
+
scriptctl refs <新-state-address> -p "$SCRIPT"
|
|
37
|
+
scriptctl validate -p "$SCRIPT"
|
|
38
38
|
```
|
package/dist/help-text.d.ts
DELETED