@lingjingai/scriptctl 0.63.1 → 0.63.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/scriptctl",
3
- "version": "0.63.1",
3
+ "version": "0.63.3",
4
4
  "description": "剧本阶段统一 CLI:素材转 Script v4,并兼容 Script v3 的本地写作、精修、校验和发布。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -2,8 +2,8 @@
2
2
  name: scriptctl
3
3
  description: "剧本 script.json 的本地阅读、定位、原子修改、整场整集回写、素材 ingest 与 revision publish CLI。处理 Script v3/v4、剧本资产与 state、Action、场景引用或视频证据核对时使用。"
4
4
  metadata:
5
- version: "0.31.2"
6
- scriptctl_version: "0.63.1"
5
+ version: "0.31.3"
6
+ scriptctl_version: "0.63.2"
7
7
  author: "official"
8
8
  ---
9
9
 
@@ -215,6 +215,10 @@ scriptctl checkout / status / publish # 远端工作副本
215
215
 
216
216
  `ingest` 见 [references/ingest-workflow.md](references/ingest-workflow.md)。
217
217
 
218
+ `ingest` 的 Gemini 文本、结构化工具和视频请求均使用豆包兜底,需要 `ARK_API_KEY`;
219
+ `ARK_MODEL` 可指定豆包端点。主模型重试耗尽或被审核拦截后切换豆包,用户取消时停止。
220
+ 已完成集和跨集 context 保留,同 source、同 workspace 重跑会从失败集续接。
221
+
218
222
  有原视频的 `review` 按集执行「豆包 Flash ASR → Gemini 对比 → 校时落盘 → Mastra 审核 → 落盘」,`--concurrency` 控制整集流程并发,默认 5。需要 `SD_AUDIO_APIKEY`、ffmpeg 和按集对应的视频。Gemini 阅读带时间戳、行锚点的亚洲格式正文及 ASR 句/词时间,选择整条台词开头对应的 ASR 起点;程序校时并落盘,保留原台词和其他字段。缺漏按集记录原话、时间与理由,随后交给本集 Agent 逐项 `watch` 核对原片再修复,并按窗口数增加看片预算;不确定项保留原样并记录待核对线索。单集服务或响应失败会记录为失败集,其他集继续执行。
219
223
 
220
224
  `.review/asr/episode-N/` 保存成功 ASR 缓存及每次对比的正文、原始响应、前后时间与缺漏报告。`asr-compared` 仅表示对比完成,带 `episode_number` 的 `asr-applied` 表示本集校时已落盘,不等于 Agent 审核完成。`--episodes` 只重跑指定集的 ASR 和审核,`--converge-only` 只做全剧收敛。无视频的纯文本审核不执行 ASR;`--check` 不发模型请求。
@@ -84,7 +84,7 @@ scriptctl ingest -s uploads/正片/ -w workspaces/正片 \
84
84
  - `--upload-mode file-api|base64`:默认 `file-api`;`base64` 把自动转码后的本地视频放入 Gemini `inlineData`,文件必须小于 100 MB。
85
85
  - `--provider-base-url`、`--provider-api-key` / `--provider-api-key-env`、`--provider-model`:只覆盖视频任务对应字段,其余字段继承 `--llm-config` 或内置配置。
86
86
  - provider 参数必须提供非空值;`--provider-api-key` 与 `--provider-api-key-env` 互斥。明文参数会暴露在进程参数和 shell history 中,常规调用使用环境变量方式;密钥不会写入 workspace、错误或命令输出。
87
- - 任一 provider 覆盖参数出现时严格使用指定后的 provider/model,不进入内置模型回退链。未覆盖 provider 时保留默认 Gemini 回退;base64 模式不会进入依赖 Files API 的跨 provider 回退。
87
+ - Gemini 文本、结构化工具和视频请求使用配置的主模型;默认路由与显式 provider/model 覆盖均支持豆包兜底。主模型在有限重试后仍失败或被审核拦截时,使用 `ARK_API_KEY` 调用豆包;`ARK_MODEL` 可指定端点,默认 `ep-20260721150136-98dj9`。视频的 file-api、base64 和上传失败均使用同一份本地视频交给豆包。用户取消不触发兜底,直接选择豆包时只调用豆包。
88
88
  - `--provider-base-url` 指向 Gemini Developer API 兼容的服务根地址;`file-api` 模式要求该服务同时兼容 Files API。
89
89
 
90
90
  常用 flag:
@@ -142,8 +142,9 @@ scriptctl read -p workspace/script.json # 抽完当普通剧本读
142
142
 
143
143
  失败时 `status -j` 的 `errors[]` 按 `failure_type` / `failure_code` 给出稳定分类,并显式给出
144
144
  `retryable`。网络错误可含 `system_code`,HTTP 错误可含 `http_status`;Gemini 合规拦截可含
145
- `provider_source`、`provider_reason` 和 `safety_ratings`;模型 fallback 全部失败时,`attempts[]`
146
- 保留每个实际调用的 provider、model 和失败原因。`failure_summary` 汇总 retryable / terminal
145
+ `provider_source`、`provider_reason` 和 `safety_ratings`。Gemini 请求在当前路由内执行有限的传输
146
+ 重试,失败后由已配置的豆包兜底;两边都失败时,`attempts[]` 保留各自的 provider、model 和
147
+ 失败分类。`usage.json` 记录实际调用的模型和用量。`failure_summary` 汇总 retryable / terminal
147
148
  数量和 `by_type`。`state` 仍只表示管线生命周期,合规拦截表现为
148
149
  `state=failed` + `failure_type=policy`。
149
150