@lingjingai/scriptctl 0.65.4 → 0.65.7

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
@@ -116,12 +116,13 @@ Gemini 接收左侧带时间戳、行锚点的亚洲格式剧本正文,以及
116
116
  | `PROJECT_LITELLM_GATEWAY_BASE_URL` | 内置配置的 gateway endpoint;OpenAI-compatible synopsis 必须配置 |
117
117
  | `SCRIPTCTL_LLM_CONFIG` | LLM 路由 YAML;优先级低于 `--llm-config` |
118
118
  | `NNYYAI_API_KEY` | 内置视频与漫画拉片 provider 的 API key |
119
+ | `GRSAI_API_KEY` | 视频拉片在主渠道 Gemini 模型耗尽后使用的 GrsAI 渠道密钥 |
119
120
  | `AWB_BASE_URL` | script-output gateway URL |
120
121
  | `LINGJING_AWB_ACCESS_KEY` | gateway 访问凭证 |
121
122
  | `SANDBOX_PROJECT_GROUP_NO` | 项目组号(也可用 `--project-group-no`) |
122
123
  | `SCRIPTCTL_NO_DOTENV` | 设为 `1` 跳过 `.env` 加载 |
123
124
 
124
- LLM 配置按 `--llm-config` → `SCRIPTCTL_LLM_CONFIG` → `$XDG_CONFIG_HOME/scriptctl/llm.yaml` → `~/.config/scriptctl/llm.yaml` 解析。固定位置文件不存在时使用类型化内置配置;显式文件缺失或任一已选文件非法时直接失败,不做合并或运行时 provider 切换。YAML 只允许通过 `apiKey.env` 引用密钥,路由格式如下:
125
+ LLM 配置按 `--llm-config` → `SCRIPTCTL_LLM_CONFIG` → `$XDG_CONFIG_HOME/scriptctl/llm.yaml` → `~/.config/scriptctl/llm.yaml` 解析。固定位置文件不存在时使用类型化内置配置;显式文件缺失或任一已选文件非法时直接失败,所选文件不与内置配置合并。YAML 只允许通过 `apiKey.env` 引用密钥,路由格式如下:
125
126
 
126
127
  ```yaml
127
128
  version: 1
@@ -145,8 +146,10 @@ Gemini provider 可设置 `videoResponseSchemaField: responseSchema`,用于 GR
145
146
 
146
147
  内置 `ingest.video-serial` 与 `ingest.comic-serial` 使用 NNYYAI 的 `gemini-3.8-flash`(`https://api.nnyyai.com`),
147
148
  从 `NNYYAI_API_KEY` 读取密钥,使用 base64 视频或 PDF 输入(Schema 字段为 `responseSchema`)。设置密钥后直接运行
148
- `scriptctl ingest -s <视频或PDF文件或目录> -w <workspace>`。Gemini 型号切换始终使用同一 NNYYAI 渠道;配置了 `ARK_API_KEY` 时保留豆包最终兜底。文本任务与 `review-agent` 保持原有路由。
149
- 显式 LLM 配置仍完全按所选文件执行;GrsAI、Google Vertex 等 provider 可继续使用。
149
+ `scriptctl ingest -s <视频或PDF文件或目录> -w <workspace>`。
150
+ 视频请求先尝试配置的主模型,再在主渠道按 Gemini 3.8 / 3.7 / 3.6 Flash 补齐未试型号,随后使用 GrsAI(`https://grsai.dakka.com.cn`)的同三个型号,最后进入火山方舟豆包。GrsAI 使用独立的 `GRSAI_API_KEY`、base64 视频与 `responseSchema`,每个型号最多尝试 3 次;未配置密钥或主渠道已为该 GrsAI 地址时跳过此段。主渠道视频上传失败时,从 GrsAI 开始使用本地视频继续请求。豆包需要 `ARK_API_KEY`,`ARK_MODEL` 可覆盖默认端点。
151
+ PDF 的 Gemini 型号切换使用同一主渠道,随后由已配置的豆包兜底。文本任务与 `review-agent` 保持原有路由。
152
+ 显式 LLM 配置决定主渠道和模型,支持 GrsAI、Google Vertex 等 provider;视频同样按主渠道 → GrsAI → 豆包的顺序恢复。显式选择豆包时只调用豆包。
150
153
 
151
154
  Gemini provider 的 `videoUploadMode: base64` 可指定视频默认传输方式;未设置时为 `file-api`,
152
155
  显式 `--upload-mode` 优先于 provider 默认值。PDF 对应的配置为 `documentUploadMode` 和 `documentResponseSchemaField`,默认分别为 `file-api` 和 `responseJsonSchema`。自定义配置中的 NNYYAI provider 可写为:
@@ -206,7 +209,7 @@ MIT
206
209
 
207
210
  ### 指定视频理解服务
208
211
 
209
- Gemini 文本、结构化工具和视频请求先使用配置的主模型,再按 `gemini-3.8-flash → gemini-3.7-flash → gemini-3.6-flash` 尝试尚未调用的模型,全部失败后使用豆包。每个 Gemini 模型按 provider 的 `maxAttempts` 重试暂时性错误,豆包最多尝试 3 次;审核拒绝等不可重试错误直接进入下一模型,用户取消立即停止。切换 Gemini 模型保留服务地址、凭据和同一份视频;公共 Files API 上传重试耗尽时,由豆包读取本地视频。豆包使用 `ARK_API_KEY`,`ARK_MODEL` 可指定已开通的视频理解端点,默认 `ep-20260721150136-98dj9`。完整模型链耗尽后才汇总报错,调用和用量逐模型记录。直接选择豆包时只调用豆包:
212
+ 视频请求先使用配置的主模型,再按 `gemini-3.8-flash → gemini-3.7-flash → gemini-3.6-flash` 在同渠道补齐未试型号。主渠道耗尽或上传失败后,依次尝试已配置 `GRSAI_API_KEY` 的 GrsAI 三个型号,最后进入豆包;具体渠道、媒体传输和重试规则见上方环境变量说明。豆包使用 `ARK_API_KEY`,`ARK_MODEL` 可指定已开通的视频理解端点,默认 `ep-20260721150136-98dj9`。完整模型链耗尽后才汇总报错,调用和用量按实际渠道、模型记录。直接选择豆包时只调用豆包:
210
213
 
211
214
  ```bash
212
215
  # 豆包:默认读取 ARK_API_KEY;模型也可通过 ARK_MODEL 设置
@@ -0,0 +1,32 @@
1
+ # 0.65.5
2
+
3
+ ## Added
4
+ - `synopsis generate --model <profile>` keeps an explicitly selected model profile across chunk, episode, arc and whole-script summaries.
5
+
6
+ ## Changed
7
+ - Final reskin review saves the current plan version before independent readback so the audit content hash binds the delivered script.
8
+ - Planning tools apply explicit episode assignments to sourced beats and reorder existing events through `after`, preserving their identities and source mappings. Revision instructions route these structural changes to the owning planning stages.
9
+ - Reskin convergence independently reads the actual manuscript in continuous stage groups, repairs substantive findings, and reads back the result in fresh contexts. Its review agent can return evidence to the saved planning flow; changed design rechecks dependent events and beats, then reviews affected episodes and their downstream ledgers in order. Revision work and independent reading reports persist for continuation.
10
+ - Planning rechecks can amend upstream design; user decisions are reserved for conflicting requirements and creative choices that the supplied brief cannot resolve. Automatic review retains unfinished evidence when its bounded revision rounds do not converge.
11
+ - `reskin direction` reports its current suitability assessment, and `reskin plan` independently reviews target-market identities and new-world causal rules before completing the overall checkpoint. Source facts and candidate suggestions are interpreted through the target world's rules; structural checks remain distinct from content review.
12
+ - Reskin planning treats candidate actions and numbers as design proposals, derives the final implementation from the selected setting and user requirements, and preserves genre-appropriate spectacle while keeping the basic causal process coherent. A separate call derives basic domain knowledge from the target setting without reading proposed story rules. Independent critique identifies substantive causal errors before the editor revises the overall plan or verifies the finished events. Source mapping stays with the adaptation planning stages.
13
+ - `reskin write` runs one ordered chain per plan stage, with up to 6 chains at once by default. `--review-model <profile>` reviews each written episode and passes its cumulative ledger to the next; continuation skips completed writing and review, and stops only the chain whose episode fails. Progress reports `prepared.chains` and `episode-reviewed` alongside writing and review events.
14
+ - `reskin review --converge-only` checks stage-opening seams and reconciles the series using stage-end ledgers. Episode and series checks include estimated duration and quoted Chinese screen text for Latin-script dialogue plans.
15
+ - `reskin write` fills main-character roles from the planned character identities.
16
+ - Character design carries the source character's dramatic appeal and romantic function into the target-market appearance, alongside their profession and story circumstances.
17
+ - Reskin domain references and causal critique distinguish the deadline to start an action from the time allowed to finish it, and derive last-chance stakes from the target setting's actual remaining opportunities.
18
+ - Independent critique of a finished reskin plan reads each stage's detailed beats through a read-only tool, so causal errors in scene-level actions and character judgments are visible alongside event summaries.
19
+ - Planning, writing and review carry culturally specific forms of address through their relationship and emotional roles, with consistent target-language phrasing from setup to payoff.
20
+
21
+ ## Fixed
22
+ - Official Gemini text and structured-tool requests use its OpenAI compatibility endpoint, and count cached input within total prompt tokens.
23
+ - Reskin CLI and batch completion retain failed global units even when earlier convergence units passed.
24
+ - Episode review uses planned beats for neighbours that have not been rewritten yet, keeping source placeholder synopses out of new-story continuity context.
25
+ - Character references preserve look names containing parentheses, so writing binds the existing character rather than creating a blank duplicate.
26
+
27
+ ## Breaking
28
+ - None.
29
+ ## 审核续跑
30
+
31
+ - `review --resume-log <日志>` 读取同一剧本已落盘的审核单元记录,支持按时间先后传入多份日志。已完成分集与未受影响的资产单元保留,失败单元及未解决的全剧交接继续执行;身份回改涉及的资产重新核对。
32
+ - 全剧身份核对按同一问题汇总跨集上报,在身份阶段完成新人物、造型状态及引用迁移。
@@ -0,0 +1,13 @@
1
+ # 0.65.7
2
+
3
+ ## Added
4
+ - None.
5
+
6
+ ## Changed
7
+ - 视频 `ingest` 在主渠道 Gemini 型号耗尽后,先依次尝试 GrsAI 的 `gemini-3.8-flash`、`gemini-3.7-flash`、`gemini-3.6-flash`,再进入豆包;使用 `GRSAI_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-LT747D45.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-OC2YTU5O.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});