@lingjingai/scriptctl 0.63.19 → 0.63.20
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 +26 -1
- package/changes/0.63.20.md +20 -0
- package/dist/bin.js +1 -1
- package/dist/chunk-OYTWFCNO.js +983 -0
- package/dist/cli.d.ts +18 -3
- package/dist/cli.js +1 -1
- package/dist/review-agent.js +37 -41
- package/package.json +25 -21
- package/skills/scriptctl/SKILL.md +4 -2
- package/skills/scriptctl/references/ingest-workflow.md +19 -3
- package/dist/chunk-YOCQDDQC.js +0 -823
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lingjingai/scriptctl
|
|
2
2
|
|
|
3
|
-
剧本阶段统一 CLI:把 txt/md/docx
|
|
3
|
+
剧本阶段统一 CLI:把 txt/md/docx、视频或 PDF 漫画素材转为结构化 Script v4,同时继续原样读写和发布线上 Script v3;在本地工作副本上查询、校验、完整块批量写作或原子精修,并通过 revision CAS 发布。
|
|
4
4
|
|
|
5
5
|
## 安装
|
|
6
6
|
|
|
@@ -80,6 +80,7 @@ Gemini 接收左侧带时间戳、行锚点的亚洲格式剧本正文,以及
|
|
|
80
80
|
| `PROJECT_LITELLM_GATEWAY_API_KEY` | 内置 LLM 配置引用的 gateway key |
|
|
81
81
|
| `PROJECT_LITELLM_GATEWAY_BASE_URL` | 内置配置的 gateway endpoint;OpenAI-compatible synopsis 必须配置 |
|
|
82
82
|
| `SCRIPTCTL_LLM_CONFIG` | LLM 路由 YAML;优先级低于 `--llm-config` |
|
|
83
|
+
| `NNYYAI_API_KEY` | 内置视频与漫画拉片 provider 的 API key |
|
|
83
84
|
| `AWB_BASE_URL` | script-output gateway URL |
|
|
84
85
|
| `LINGJING_AWB_ACCESS_KEY` | gateway 访问凭证 |
|
|
85
86
|
| `SANDBOX_PROJECT_GROUP_NO` | 项目组号(也可用 `--project-group-no`) |
|
|
@@ -102,6 +103,30 @@ tasks:
|
|
|
102
103
|
direct.episode-titles: default
|
|
103
104
|
```
|
|
104
105
|
|
|
106
|
+
Gemini provider 可设置 `videoResponseSchemaField: responseSchema`,用于 GRSAI 等仅接受该字段的视频接口;默认仍为 `responseJsonSchema`。
|
|
107
|
+
`responseSchema` 由 Google SDK 转换字段定义,保留类型、必填字段和描述,但不发送 `additionalProperties` 约束。
|
|
108
|
+
|
|
109
|
+
内置 `ingest.video-serial` 与 `ingest.comic-serial` 使用 NNYYAI 的 `gemini-3.8-flash`(`https://api.nnyyai.com`),
|
|
110
|
+
从 `NNYYAI_API_KEY` 读取密钥,使用 `responseSchema` 与 base64 视频或 PDF 输入。设置密钥后直接运行
|
|
111
|
+
`scriptctl ingest -s <视频或PDF文件或目录> -w <workspace>`。Gemini 型号切换始终使用同一 NNYYAI 渠道;配置了 `ARK_API_KEY` 时保留豆包最终兜底。文本任务与 `review-agent` 保持原有路由。
|
|
112
|
+
显式 LLM 配置仍完全按所选文件执行;GrsAI、Google Vertex 等 provider 可继续使用。
|
|
113
|
+
|
|
114
|
+
Gemini provider 的 `videoUploadMode: base64` 可指定视频默认传输方式;未设置时为 `file-api`,
|
|
115
|
+
显式 `--upload-mode` 优先于 provider 默认值。PDF 对应的配置为 `documentUploadMode` 和 `documentResponseSchemaField`,默认分别为 `file-api` 和 `responseJsonSchema`。自定义配置中的 NNYYAI provider 可写为:
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
nnyyai:
|
|
119
|
+
protocol: google-gemini
|
|
120
|
+
baseUrl: https://api.nnyyai.com
|
|
121
|
+
apiKey: { env: NNYYAI_API_KEY }
|
|
122
|
+
timeoutMs: 600000
|
|
123
|
+
maxAttempts: 3
|
|
124
|
+
videoResponseSchemaField: responseSchema
|
|
125
|
+
videoUploadMode: base64
|
|
126
|
+
documentResponseSchemaField: responseSchema
|
|
127
|
+
documentUploadMode: base64
|
|
128
|
+
```
|
|
129
|
+
|
|
105
130
|
## 开发
|
|
106
131
|
|
|
107
132
|
```bash
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 0.63.20
|
|
2
|
+
|
|
3
|
+
## Added
|
|
4
|
+
- Gemini PDF provider 支持 `documentUploadMode` 和 `documentResponseSchemaField`,分别配置 PDF 传输与输出 Schema 格式。
|
|
5
|
+
- Gemini 视频 provider 支持 `videoUploadMode` 指定默认传输方式,命令行 `--upload-mode` 可覆盖。
|
|
6
|
+
- Gemini 视频 provider 支持通过 `videoResponseSchemaField` 选择 `responseSchema`,适配 GRSAI 等渠道;默认渠道与 `responseJsonSchema` 行为不变。
|
|
7
|
+
- `scriptctl ingest` automatically recognizes PDF comics and chapter directories, preserving reading order, page and region references and chapter titles in Script v4, with serial identity tracking, resumable checkpoints and `--step`.
|
|
8
|
+
- `scriptctl view` renders comic PDF pages as local images alongside the screenplay, with clickable action cards that scroll to and highlight panels, bubbles or text regions, cross-page links and navigation back to the corresponding text. Page rendering requires Poppler (`pdftoppm`) and is cached by source content.
|
|
9
|
+
|
|
10
|
+
## Changed
|
|
11
|
+
- 内置漫画拉片使用 NNYYAI `gemini-3.8-flash`,通过 `NNYYAI_API_KEY` 认证,以 base64 传 PDF 并使用 `responseSchema`;Gemini 型号切换始终使用同一 NNYYAI 渠道。
|
|
12
|
+
- 内置视频拉片使用 NNYYAI `gemini-3.8-flash`,通过 `NNYYAI_API_KEY` 认证并默认以 base64 传视频;文本和审核路由保持不变。
|
|
13
|
+
|
|
14
|
+
## Fixed
|
|
15
|
+
- Comic review images use the PDF CropBox to match panel and text coordinates, regenerating previously cached page images.
|
|
16
|
+
- Comic ingest publishes chapters only after checkpoint acceptance and restores the accepted script and identity map before resuming after an interrupted write.
|
|
17
|
+
- Comic PDF requests recover through the configured Gemini model, remaining Flash models and Doubao, preserving the original document, cancellation and per-model usage. Upload failures can continue with the same PDF bytes.
|
|
18
|
+
|
|
19
|
+
## Breaking
|
|
20
|
+
- None.
|
package/dist/bin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{b as s}from"./chunk-
|
|
2
|
+
import{b as s}from"./chunk-OYTWFCNO.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});
|