@aswless_854771076/ai_short_studio_cli 0.1.23 → 0.1.24

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
@@ -67,6 +67,9 @@ ai-short-studio canvas settings set --project "$PROJECT_ID" --file settings.json
67
67
  "values": {
68
68
  "aspectRatio": "9:16",
69
69
  "storyboardGridSize": 6,
70
+ "imageResolution": "2K",
71
+ "imageQuality": "high",
72
+ "videoResolution": "1080p",
70
73
  "videoModel": null
71
74
  }
72
75
  }
@@ -80,7 +83,7 @@ CLI 通过 `/api/v1/bootstrap` 完成版本、连通性与 Supabase 公共配置
80
83
 
81
84
  `storyboard-image` schema 现在暴露节点级 `gridSize`。CLI 继续按实时 schema 通用写入,配套 Skill 会分析每个镜头的动作、运镜、多人调度和连续性难度,向用户确认后逐镜设置;未单独设置或连接旧服务时回退到项目格数,系统默认为 6 格。
82
85
 
83
- `image-generate`、`image-edit` 的实时 schema 支持字符串配置 `resolution`、`quality`,`video-generate` 支持 `resolution`。具体值必须来自 `canvas settings get` 返回的当前模型 `capabilities`;未显式写入时,服务端使用模型声明的第一个可用选项。
86
+ `canvas settings set` 支持项目级 `imageResolution`、`imageQuality`、`videoResolution`,未覆盖的图片、图片编辑和视频节点会继承这些默认值。候选值来自 `settings get` 对应字段的实时 `options`;节点仅在需要偏离项目默认时,按当前模型 `capabilities` 写入 `resolution`、`quality` 覆盖。
84
87
 
85
88
  运行 `ai-short-studio <topic> --help` 查看精确参数。可执行命令使用完整产品名 `ai-short-studio`,同时避免与其他 CLI 冲突。所有结构化响应保持 JSON;API 错误也返回稳定的 `error.code`、`status`、`retryable` 和 `details`。
86
89
 
@@ -43,7 +43,7 @@ export default class CanvasSettingsSet extends BaseCommand {
43
43
  static flags = {
44
44
  ...BaseCommand.baseFlags,
45
45
  project: projectFlag,
46
- field: Flags.string({ description: '要更新的设置字段', dependsOn: ['value'], exclusive: ['file'] }),
46
+ field: Flags.string({ description: '要更新的设置字段,如 imageResolution、imageQuality、videoResolution', dependsOn: ['value'], exclusive: ['file'] }),
47
47
  value: Flags.string({ description: '字段值', dependsOn: ['field'], exclusive: ['file'] }),
48
48
  file: Flags.string({ description: '设置 JSON 文件;省略时读取 stdin', exclusive: ['field', 'value'] }),
49
49
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aswless_854771076/ai_short_studio_cli",
3
- "version": "0.1.23",
3
+ "version": "0.1.24",
4
4
  "description": "VVICAT 无限画布项目命令行工具",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -23,9 +23,9 @@ description: Use when an agent needs to inspect or operate VVICAT infinite-canva
23
23
 
24
24
  ## 项目配置门禁
25
25
 
26
- 1. 运行 `canvas settings get --project <projectId> --json`,向用户展示项目名称与用途,并逐项确认以下设置的项目覆盖值 `currentValue`、继承后的 `effectiveValue`、建议值和来源 `source`:`aspectRatio`、`artStyle`、`visualBible`、`storyboardImageType`、`analysisModel`、`imageModel`、`editModel`、`videoModel`、`audioModel`。画风、画幅、分镜和模型候选必须读取服务端实时 `options`;`visualBible` 按返回的 `schema` 构造,不得硬编码枚举或结构。模型既可写为项目覆盖,也可由用户明确确认继承账户默认,但必须列明最终生效且当前可用的具体模型。缺失、冲突或继承结果不明确时先一次性询问。
26
+ 1. 运行 `canvas settings get --project <projectId> --json`,向用户展示项目名称与用途,并逐项确认以下设置的项目覆盖值 `currentValue`、继承后的 `effectiveValue`、建议值和来源 `source`:`aspectRatio`、`artStyle`、`visualBible`、`storyboardImageType`、`analysisModel`、`imageModel`、`imageResolution`、`imageQuality`、`editModel`、`videoModel`、`videoResolution`、`audioModel`。画风、画幅、分镜、模型及分辨率/质量候选必须读取服务端实时 `options`;`visualBible` 按返回的 `schema` 构造,不得硬编码枚举或结构。模型既可写为项目覆盖,也可由用户明确确认继承账户默认,但必须列明最终生效且当前可用的具体模型。缺失、冲突或继承结果不明确时先一次性询问。
27
27
  2. 必须展示并确认 `storyboardGridSize` 的项目覆盖值、继承后的默认分镜格数和来源;系统默认值为 6 格。`storyboard-image` 的实时 schema 已提供节点级 `gridSize`,正常流程应逐镜配置;连接旧版本服务且 schema 未暴露该字段时,禁止虚假写入,并回退到用户确认的项目格数。
28
- 3. 图片生成、图片编辑和视频生成节点的模型配置必须读取 `canvas settings get` 中对应模型的 `capabilities`:图片节点只从 `resolutionOptions`、`qualityOptions` 选择 `resolution`、`quality`,视频节点只从 `resolutionOptions` 选择 `resolution`。模型未声明选项时不得臆造字段值;未显式选择时由服务端采用第一个可用选项。
28
+ 3. 优先在项目配置中确认 `imageResolution`、`imageQuality` 和 `videoResolution`,让未单独设置的图片、图片编辑和视频节点统一继承。候选值只从 `canvas settings get` 对应字段的实时 `options` 选择;节点确需不同参数时,才按节点当前模型 `capabilities` `resolutionOptions`、`qualityOptions` 写入 `resolution`、`quality` 覆盖。模型未声明选项时不得臆造字段值。
29
29
  4. 新项目按初始化顺序确认名称和用途、创建项目并取得项目、画布与 settings;既有项目开始创作前也必须完成本门禁,名称或用途需要更新时只用 `project update` 修改用户确认的项目字段。用途可记录在项目描述中,但描述不构成画布 settings。不得用账户级 `config set`、项目 `description` 或节点 `prompt`/`config` 代替 `canvas settings set`。
30
30
  5. 用户确认后,用一次 `canvas settings set --file <settings.json>` 或 stdin 原子写入所有变更。标准创作门禁必须把最近一次 `settings get` 返回的 `version` 填入请求的 `expectedVersion`,并统一使用这种批量模式;`--field/--value` 只适合已确认无并发写入的交互式便利操作。画风 ID 必须从 `artStyle.options` 选择并解析实时 `option.value`,示例中的 `$ART_STYLE_ID` 不是固定值。`null` 或空字符串表示清除项目覆盖并恢复账户/系统继承。设置 `artStyle` 会保存其当前关联的 `visualBible` 项目快照;画风库之后的修改不反向更新项目,同一请求显式传入 `visualBible` 时以显式值为准。
31
31
  6. 写入后立即再次执行 `canvas settings get`,比较所有目标字段的 `currentValue`、`effectiveValue` 和 `source`。只有结果符合用户确认且所需模型明确可用,才可创建或执行创作节点。409 冲突时重新读取、展示变化并取得确认,携带新 `expectedVersion` 重试;不得盲目覆盖。所有者和管理员可写,协作者只读;写入、回读或权限校验失败时停在配置阶段,不触发任何付费任务。
@@ -71,6 +71,7 @@ ai-short-studio project create --name "agent-draft-20260722" --json
71
71
  ai-short-studio canvas settings get --project "$PROJECT_ID" --json
72
72
  ai-short-studio canvas settings set --project "$PROJECT_ID" --field aspectRatio --value 9:16 --json
73
73
  ai-short-studio canvas settings set --project "$PROJECT_ID" --field artStyle --value "$ART_STYLE_ID" --json
74
+ ai-short-studio canvas settings set --project "$PROJECT_ID" --field imageResolution --value 2K --json
74
75
  ai-short-studio canvas settings set --project "$PROJECT_ID" --file settings.json --json
75
76
  ai-short-studio canvas node add text --project "$PROJECT_ID" --config ./node.json --json
76
77
  ai-short-studio canvas node list --project "$PROJECT_ID" --json
@@ -82,7 +83,7 @@ ai-short-studio canvas node list --project "$PROJECT_ID" --json
82
83
 
83
84
  - 节点类型写死:先读 `canvas node types`,服务端目录才是事实来源。
84
85
  - 配置不全仍继续:先做初始化检查;模型、项目或用户意图有缺口时先询问。
85
- - 把项目配置写到错误位置:画幅、画风、视觉圣经、故事版类型和模型必须通过 `canvas settings set` 写入;`canvas apply`、账户级 `config set`、项目描述或节点 prompt/config 都不能替代。
86
+ - 把项目配置写到错误位置:画幅、画风、视觉圣经、故事版类型、模型、默认图片分辨率/质量和默认视频分辨率必须通过 `canvas settings set` 写入;`canvas apply`、账户级 `config set`、项目描述或节点 prompt/config 都不能替代。
86
87
  - 写完 settings 就创建节点:必须 `canvas settings get` 回读并确认 `currentValue`、`effectiveValue`、`source` 和最终模型;失败或冲突时停在配置阶段,不触发付费任务。
87
88
  - CLI 有更新仍用旧进程继续:更新后必须重跑 preflight。
88
89
  - 注册成功就假定已登录:`confirmationRequired: true` 表示需要先完成邮件验证,再执行 `auth login`。
@@ -65,6 +65,7 @@ ai-short-studio project provider test <projectId> --json
65
65
  ai-short-studio canvas settings get --project "$PROJECT_ID" --json
66
66
  ai-short-studio canvas settings set --project "$PROJECT_ID" --field aspectRatio --value 9:16 --json
67
67
  ai-short-studio canvas settings set --project "$PROJECT_ID" --field artStyle --value "$ART_STYLE_ID" --json
68
+ ai-short-studio canvas settings set --project "$PROJECT_ID" --field imageResolution --value 2K --json
68
69
  ai-short-studio canvas settings set --project "$PROJECT_ID" --file settings.json --json
69
70
  ```
70
71
 
@@ -78,6 +79,9 @@ ai-short-studio canvas settings set --project "$PROJECT_ID" --file settings.json
78
79
  "values": {
79
80
  "aspectRatio": "9:16",
80
81
  "storyboardGridSize": 6,
82
+ "imageResolution": "2K",
83
+ "imageQuality": "high",
84
+ "videoResolution": "1080p",
81
85
  "videoModel": null
82
86
  }
83
87
  }
@@ -115,7 +119,7 @@ handle 名称来自节点类型目录中的输入输出 schema,不要自行推
115
119
 
116
120
  Meme 推荐连线为:`text.text → meme-scene-analysis.story`、自动生成的计划资源 `.text → meme-material-search.plan`、素材包资源 `.text → cat-meme-video.materials`、原故事 `.text → cat-meme-video.story`,以及可选的计划资源 `.text → cat-meme-video.plan`。分析或检索任务成功后先刷新画布,取得服务端自动创建的真实资源节点 ID。`cat-meme-video` 的 `config` 支持 `aspectRatio: "1:1" | "9:16" | "16:9"` 和 `resolution: "720p" | "1080p"`;创建或更新节点前仍以实时 schema 为准。
117
121
 
118
- 通用 `image-generate`、`image-edit` 节点可在 `config` 写入字符串 `resolution`、`quality`,`video-generate` 可写入字符串 `resolution`。先执行 `canvas settings get`,从当前模型 `capabilities` 的 `resolutionOptions`、`qualityOptions` 取值;没有对应能力声明时不写入该字段。
122
+ 项目级默认参数使用 `canvas settings set` 写入 `imageResolution`、`imageQuality`、`videoResolution`;候选值读取 `settings get` 对应字段的实时 `options`。通用 `image-generate`、`image-edit` 节点只在需要偏离项目默认时,才在 `config` 写入字符串 `resolution`、`quality`;`video-generate` 同理可覆盖 `resolution`。节点覆盖值必须来自当前节点模型 `capabilities`,没有对应能力声明时不写入。
119
123
 
120
124
  ## 资产与下载
121
125
 
@@ -150,7 +154,7 @@ ai-short-studio config set --file <config.json> --json
150
154
 
151
155
  先只读执行 `preflight` → `config get` → `canvas node types` → `project list`。新项目随后按“确认名称/用途 → `project create` → `project get` + `canvas get` + `canvas settings get`”继续,不要求创建前读取不存在的项目或画布;既有项目读取同样的已有资源。现有节点和资产也只读检查。
152
156
 
153
- 取得配置后,向用户展示项目名称/用途,并逐项确认 `aspectRatio`、`artStyle`、`visualBible`、`storyboardImageType`、`analysisModel`、`imageModel`、`editModel`、`videoModel`、`audioModel` 的 `currentValue`、`effectiveValue`、建议值与 `source`;候选值和视觉圣经结构分别以实时 `options` 与 `schema` 为准。模型可项目覆盖,也可由用户明确确认继承账户默认,但必须明确最终生效且可用的具体模型。`storyboardGridSize` 仅在异常回退时确认。
157
+ 取得配置后,向用户展示项目名称/用途,并逐项确认 `aspectRatio`、`artStyle`、`visualBible`、`storyboardImageType`、`analysisModel`、`imageModel`、`imageResolution`、`imageQuality`、`editModel`、`videoModel`、`videoResolution`、`audioModel` 的 `currentValue`、`effectiveValue`、建议值与 `source`;候选值和视觉圣经结构分别以实时 `options` 与 `schema` 为准。模型可项目覆盖,也可由用户明确确认继承账户默认,但必须明确最终生效且可用的具体模型。`storyboardGridSize` 仅在异常回退时确认。
154
158
 
155
159
  项目名称和用途先由用户确认;新项目用 `project create` 保存,既有项目需要变更时仅用 `project update` 修改用户确认的项目字段。把确认的配置用一次 `canvas settings set` 原子写入并携带 `expectedVersion`,随后再次 `settings get` 回读。只有结果与确认一致且所需模型可用,才执行 node add/edge add/node run。写入、权限、冲突、回读或模型校验失败时停在配置阶段,不触发付费任务。账户级 `config set`、项目 `description`、节点 `prompt`/`config` 和低层 `canvas apply` 都不能替代项目 settings 命令。
156
160