@lingjingai/scriptctl 0.70.0 → 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -82,9 +82,9 @@ Gemini 接收左侧带时间戳、行锚点的亚洲格式剧本正文,以及
82
82
 
83
83
  剧本旁 `.review/asr/episode-N/` 保存按音频 SHA-256 复用的成功 ASR 响应,以及每次对比的 `script.txt`、`asr.txt`、`prompt.txt`、逐模型逐次响应和 `report.json`(含前后时间、台词、缺漏线索)。当前剧本每次重新对比,不缓存对比结论。
84
84
 
85
- 视频和纯剧本审核使用 `review-agent`,文本和漫画使用 `review-text`、`review-comic`;主 Agent 每次模型请求按 MSUICODE Vertex → GCP → T3 → 兔子(`TUZI_API_KEY`,`https://api.tu-zi.com`)→ 豆包 Seed 2.1 Pro(`ARK_API_KEY`)的顺序使用,Gemini 渠道均为 `gemini-3.8-flash`。NNYYAI 不参与 Agent 工具调用:它会把并行函数调用拆成两段,并丢失工具循环的函数结果历史。Grok 也不在默认链中:长审核历史下它只回复计划而不调用工具。MSUICODE 地址为 `http://15.204.107.123:3000`,三个来源分别读取 `MSUICODE_VERTEX_API_KEY`、`MSUICODE_GCP_API_KEY`、`MSUICODE_T3_API_KEY`。主渠道密钥必需,额外渠道仅在配置对应密钥时参与。普通服务错误按顺序切换;Gemini 返回明确的内容拦截时,当前这一步跳过剩余 Gemini 渠道交给豆包,下一步重新从 Vertex 开始。各模型沿用 provider 的 `maxAttempts`,内置最多三次。模型切换发生在当前调用内,保留成功的工具操作;用量记录实际渠道和模型,Gemini 思考签名只在生成它的渠道内复用。逐集与全剧审核都要求成功调用 validate 后才结束;模型只回复计划而没有收口时会被要求继续,全部渠道都失败时直接结束。`--no-fallback` 或 `SCRIPTCTL_REVIEW_SINGLE_MODEL=1` 仅使用选定模型。
85
+ 视频和纯剧本审核使用 `review-agent`,文本和漫画使用 `review-text`、`review-comic`;主 Agent 每次模型请求按 MSUICODE Vertex → GCP → T3 → 兔子(`TUZI_API_KEY`,`https://api.tu-zi.com`)→ 豆包 Seed 2.1 Lite(`ARK_API_KEY`)→ Turbo(`DOUBAO_TURBO_API_KEY`)的顺序使用,Gemini 渠道均为 `gemini-3.8-flash`。NNYYAI 不参与 Agent 工具调用:它会把并行函数调用拆成两段,并丢失工具循环的函数结果历史。Grok 也不在默认链中:长审核历史下它只回复计划而不调用工具。MSUICODE 地址为 `http://15.204.107.123:3000`,三个来源分别读取 `MSUICODE_VERTEX_API_KEY`、`MSUICODE_GCP_API_KEY`、`MSUICODE_T3_API_KEY`。主渠道密钥必需,额外渠道仅在配置对应密钥时参与。普通服务错误按顺序切换;Gemini 返回明确的内容拦截时,当前这一步跳过剩余 Gemini 渠道交给豆包,下一步重新从 Vertex 开始。各模型沿用 provider 的 `maxAttempts`,内置最多三次。模型切换发生在当前调用内,保留成功的工具操作;用量记录实际渠道和模型,Gemini 思考签名只在生成它的渠道内复用。逐集与全剧审核都要求成功调用 validate 后才结束;模型只回复计划而没有收口时会被要求继续,全部渠道都失败时直接结束。`--no-fallback` 或 `SCRIPTCTL_REVIEW_SINGLE_MODEL=1` 仅使用选定模型。
86
86
 
87
- 独立的 ASR JSON 比对和原片视频核验使用 `review-media`:NNYYAI Gemini 3.8 → 3.7 → 3.6 Flash → 豆包,凭据为 `NNYYAI_API_KEY`、`ARK_API_KEY`,`ARK_MODEL` 可指定豆包端点。显式 `--model` 或自定义配置仍决定媒体主渠道。豆包 Flash ASR 继续读取 `SD_AUDIO_APIKEY`。
87
+ 独立的 ASR JSON 比对和原片视频核验使用 `review-media`:NNYYAI Gemini 3.8 → 3.7 → 3.6 Flash → 豆包 Seed 2.1 Lite → Turbo,凭据分别为 `NNYYAI_API_KEY`、`ARK_API_KEY`、`DOUBAO_TURBO_API_KEY`;`DOUBAO_LITE_MODEL`、`DOUBAO_TURBO_MODEL` 可覆盖对应豆包端点。显式 `--model` 或自定义配置仍决定媒体主渠道。豆包 Flash ASR 继续读取 `SD_AUDIO_APIKEY`。
88
88
 
89
89
  全剧收敛审核必须成功执行 `validate` 才能正常结束;未完成时在同一会话内继续,保留已有工具操作,并共用原步数和总时间预算。整集默认 15 分钟总时限,耗尽后结束本轮审核。
90
90
 
@@ -176,7 +176,7 @@ Gemini provider 可设置 `videoResponseSchemaField: responseSchema`,用于 GR
176
176
  内置 `ingest.video-serial` 首选 NNYYAI 次卡 `gemini-3.8-flash-anci`,读取 `NNYYAI_CI_API_KEY`;
177
177
  `ingest.comic-serial` 使用普通 NNYYAI `gemini-3.8-flash`,读取 `NNYYAI_API_KEY`。两者地址均为 `https://api.nnyyai.com`,使用 base64 视频或 PDF 输入(Schema 字段为 `responseSchema`)。设置密钥后直接运行
178
178
  `scriptctl ingest -s <视频或PDF文件或目录> -w <workspace>`。
179
- 默认视频请求先尝试次卡模型,然后切换到使用 `NNYYAI_API_KEY` 的普通 NNYYAI Gemini 3.8 / 3.7 / 3.6 Flash,随后使用 GrsAI(`https://grsai.dakka.com.cn`)的同三个型号,最后进入火山方舟豆包。GrsAI 使用独立的 `GRSAI_API_KEY`、base64 视频与 `responseSchema`,每个型号最多尝试 3 次;未配置密钥或主渠道已为该 GrsAI 地址时跳过此段。普通 NNYYAI 后备段仅在配置其密钥时启用。次卡视频上传失败时,从普通 NNYYAI 开始使用本地视频继续请求;自定义主渠道上传失败时从 GrsAI 开始。豆包需要 `ARK_API_KEY`,`ARK_MODEL` 可覆盖默认端点。
179
+ 默认视频请求先尝试次卡模型,然后切换到使用 `NNYYAI_API_KEY` 的普通 NNYYAI Gemini 3.8 / 3.7 / 3.6 Flash,随后使用 GrsAI(`https://grsai.dakka.com.cn`)的同三个型号,最后依次进入火山豆包 Seed 2.1 Lite 和 BytePlus Turbo。GrsAI 使用独立的 `GRSAI_API_KEY`、base64 视频与 `responseSchema`,每个型号最多尝试 3 次;未配置密钥或主渠道已为该 GrsAI 地址时跳过此段。普通 NNYYAI 后备段仅在配置其密钥时启用。次卡视频上传失败时,从普通 NNYYAI 开始使用本地视频继续请求;自定义主渠道上传失败时从 GrsAI 开始。Lite 读取 `ARK_API_KEY`,Turbo 读取 `DOUBAO_TURBO_API_KEY`;缺少对应密钥时跳过该路。`DOUBAO_LITE_MODEL`、`DOUBAO_TURBO_MODEL` 可覆盖对应默认端点。
180
180
  PDF 的 Gemini 型号切换使用同一主渠道,随后由已配置的豆包兜底。`review-agent` 主循环默认使用上述 MSUICODE → 兔子 → 豆包审核链;文本任务按各自 profile 路由。
181
181
  显式 LLM 配置决定主渠道和模型,支持 GrsAI、Google Vertex 等 provider;视频同样按主渠道 → GrsAI → 豆包的顺序恢复。显式选择豆包时只调用豆包。
182
182
 
@@ -238,17 +238,22 @@ MIT
238
238
 
239
239
  ### 指定视频理解服务
240
240
 
241
- 默认视频请求按 NNYYAI 次卡 → 普通 NNYYAI 3.8 / 3.7 / 3.6 Flash → GrsAI 3.8 / 3.7 / 3.6 Flash → 豆包调用,各渠道使用自己的密钥。自定义主渠道先调用选定模型并补齐普通 Gemini Flash 型号,再进入 GrsAI 和豆包;具体渠道、媒体传输和重试规则见上方环境变量说明。豆包使用 `ARK_API_KEY`,`ARK_MODEL` 可指定已开通的视频理解端点,默认 `ep-20260721150136-98dj9`。完整模型链耗尽后才汇总报错,调用和用量按实际渠道、模型记录。直接选择豆包时只调用豆包:
241
+ 默认视频请求按 NNYYAI 次卡 → 普通 NNYYAI 3.8 / 3.7 / 3.6 Flash → GrsAI 3.8 / 3.7 / 3.6 Flash → 豆包调用,各渠道使用自己的密钥。自定义主渠道先调用选定模型并补齐普通 Gemini Flash 型号,再进入 GrsAI 和豆包;具体渠道、媒体传输和重试规则见上方环境变量说明。豆包后备路由按 Seed 2.1 Lite → Turbo 顺序调用。Lite 读取 `ARK_API_KEY`,`DOUBAO_LITE_MODEL` 可覆盖默认端点 `ep-20261029164743-gt8dh`;Turbo 读取 `DOUBAO_TURBO_API_KEY`,`DOUBAO_TURBO_MODEL` 可覆盖默认端点 `ep-20261028172514-tlxzc`。缺少对应密钥时跳过该路。完整模型链耗尽后才汇总报错,调用和用量按实际渠道、模型记录。直接选择豆包时只调用豆包:
242
242
 
243
243
  ```bash
244
- # 豆包:默认读取 ARK_API_KEY;模型也可通过 ARK_MODEL 设置
245
- scriptctl ingest --source-path ./video.mp4 --video-provider doubao --provider-model ep-your-endpoint
244
+ # 豆包 Seed 2.1 Turbo:默认读取 DOUBAO_TURBO_API_KEY;模型也可通过 DOUBAO_TURBO_MODEL 设置
245
+ scriptctl ingest --source-path ./video.mp4 --video-provider doubao --provider-model ep-20261028172514-tlxzc
246
246
 
247
- # 使用自定义凭据来源和服务地址
247
+ # 直接使用火山 Seed 2.1 Lite
248
248
  scriptctl ingest --source-path ./video.mp4 --video-provider doubao \
249
- --provider-model ep-your-endpoint --provider-api-key-env MY_ARK_API_KEY \
249
+ --provider-model ep-20261029164743-gt8dh --provider-api-key-env ARK_API_KEY \
250
250
  --provider-base-url https://ark.cn-beijing.volces.com/api/v3
251
251
 
252
+ # 使用自定义凭据来源和服务地址
253
+ scriptctl ingest --source-path ./video.mp4 --video-provider doubao \
254
+ --provider-model ep-your-endpoint --provider-api-key-env MY_DOUBAO_TURBO_API_KEY \
255
+ --provider-base-url https://ark.ap-southeast.bytepluses.com/api/v3
256
+
252
257
  # Gemini:模型省略时使用配置中的视频模型
253
258
  scriptctl ingest --source-path ./video.mp4 --video-provider gemini
254
259
  ```
@@ -0,0 +1,13 @@
1
+ # 0.71.0
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - None.
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - 内置豆包渠道统一使用 BytePlus Seed 2.1 Turbo(`ep-20261028172514-tlxzc`),覆盖拉片、文本/PDF 处理、改编和审核。凭据改为 `DOUBAO_TURBO_API_KEY`,端点覆盖变量改为 `DOUBAO_TURBO_MODEL`;原 `ARK_API_KEY` / `ARK_MODEL` 不再参与内置路由。其他渠道顺序和重试规则不变。
@@ -0,0 +1,13 @@
1
+ # 0.72.0
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - 豆包后备路由按火山 Seed 2.1 Lite → BytePlus Turbo 顺序调用,覆盖拉片、文本/结构化工具、PDF、改编与审核。Lite 使用 `ARK_API_KEY`,默认端点 `ep-20261029164743-gt8dh`;媒体和文本后备路由可用 `DOUBAO_LITE_MODEL` 覆盖。Turbo 继续使用 `DOUBAO_TURBO_API_KEY`。缺少对应密钥时跳过该路,显式单模型调用保持单路。
8
+
9
+ ## Fixed
10
+ - None.
11
+
12
+ ## Breaking
13
+ - None.
package/dist/bin.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{b as s}from"./chunk-T7IEGJGQ.js";import{Console as r}from"node:console";var o=new r({stdout:process.stderr,stderr:process.stderr});console.debug=o.debug.bind(o);console.info=o.info.bind(o);console.log=o.log.bind(o);s(process.argv.slice(2)).then(e=>{process.exitCode=e}).catch(e=>{console.error(e),process.exitCode=70});
2
+ import{b as s}from"./chunk-FPKAAAJA.js";import{Console as r}from"node:console";var o=new r({stdout:process.stderr,stderr:process.stderr});console.debug=o.debug.bind(o);console.info=o.info.bind(o);console.log=o.log.bind(o);s(process.argv.slice(2)).then(e=>{process.exitCode=e}).catch(e=>{console.error(e),process.exitCode=70});