@lingjingai/lj-awb-cli-pre 0.3.18 → 0.4.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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: lj-awb
3
- version: 0.3.18
3
+ version: 0.4.0
4
4
  description: "灵境 AWB CLI skill。使用 `lj-awb` 命令调用动漫平台 / AWB 云端能力,覆盖认证、项目组、积分、模型发现、上传、统一 create 创建域、任务查询、最终产物 artifact CRUD 与本地 JSON 导入。用户说生图、生视频、主体、音色、素材加白、去字幕、artifact 写入或查询时使用。正式生成、切换项目组、清空认证、artifact 写入等写入或扣费动作前必须确认。"
5
5
  metadata:
6
6
  requires:
@@ -21,7 +21,7 @@ metadata:
21
21
  - 创作、批量、主体、音色、素材加白、artifact 的最短链条。
22
22
  - 禁止清单:旧命令域、默认参数代决策、单条循环批量任务、直连后端等。
23
23
 
24
- 只在驱动器把你引到某个细节模块时才继续读该模块。
24
+ 只在驱动器把你引到某个细节模块时才继续读该模块。不要为了“掌握全部功能”一次性加载所有模块。
25
25
 
26
26
  ## 入口命令
27
27
 
@@ -40,10 +40,12 @@ LINGJING_AWB_CMD="$(bash "$(dirname "$0")/scripts/resolve-lj-awb-cmd.sh")"
40
40
  非单条查询任务、命令不确定或涉及写入 / 扣费时,本轮只读一次机器契约:
41
41
 
42
42
  ```bash
43
- lj-awb schema -f json
43
+ lj-awb schema --brief -f json
44
44
  ```
45
45
 
46
- 如果只是不确定某个命令参数,优先读精确契约,例如 `lj-awb schema --domain model --command video-models -f json`。schema 查询必须先返回,再组织业务命令;不要把 schema 查询和猜测命令放进同一批并行调用。
46
+ `schema --brief` 只用于掌握能力域、安全分组、业务路由和 agentContract。执行具体命令前,如果命令、参数、requiredOptions、safety 或 nextActions 不确定,再读精确契约,例如 `lj-awb schema --domain model --command video-models -f json`。不要把完整 `lj-awb schema -f json` 当默认入口;只有校验覆盖、脚本生成或 brief 缺失字段时才读完整 schema
47
+
48
+ schema 查询必须先返回,再组织业务命令;不要把 schema 查询和猜测命令放进同一批并行调用。
47
49
 
48
50
  如果用户已经给出完整只读命令,且该命令在本 skill 已知范围内,可以直接执行,不必为了形式补跑 schema。命令名、参数名、requiredOptions、safety、workflow.nextActions 都以 schema 为准。旧根域 `image` / `video` / `asset` / `subject` 不存在,不要尝试旧入口。
49
51
 
@@ -86,8 +88,9 @@ lj-awb schema -f json
86
88
  - `fee` 是最终估价,不是参数探索工具。不要为多个 quality / duration / ratio / 渠道组合反复跑 fee。
87
89
  - 正式图片 / 视频任务要带 `--project-group-no`,除非命令 schema 没有该参数。
88
90
  - 命令返回 `nextCommand`、`nextRefSubject`、`nextVoiceArg` 时优先复用返回值,不手拼。
89
- - compact text 是默认输出;复杂模型命令按 `section:` + 缩进 `key=value` 输出,先按分区读 `summary` / `params` / `resources` / `constraints` / `intents` / `examples` / `next`。只有 schema、options、create-spec、完整嵌套结构或脚本解析时用 `-f json`。
91
+ - 默认输出是面向人类的 pretty 表格;Agent 不要解析 pretty,默认显式传 `-f text` 读取稳定的分区 key=value。只有脚本严格解析或必须读完整嵌套结构时才用 `-f json`。
90
92
  - 模型口语名命中后必须过“候选展示门”:先把候选模型、真实参数取值和资源能力转成用户可见清单,再推荐或追问;不能只在内部读完 `model options` 就直接代选默认模型 / 参数。
93
+ - 候选展示门是 STOP gate:输出清单后必须停下等待用户选择模型和关键参数,或等待用户明确说“按默认 / 你来选”。在此之前不得继续 `model create-spec`、`fee`、`dry-run`、写 JSONL 或 `create`。
91
94
  - 积分口径只把 `billingPointBalance` 当可扣积分余额;`projectBudgetBalance` 是项目组预算,不要混说。
92
95
  - 不直连 material / asset / 外部服务;所有业务能力统一通过 `lj-awb`。
93
96
 
@@ -1 +1 @@
1
- 0.3.18
1
+ 0.4.0
@@ -1,6 +1,6 @@
1
1
  {
2
- "skillVersion": "0.3.18",
3
- "minCliVersion": "0.3.18",
2
+ "skillVersion": "0.4.0",
3
+ "minCliVersion": "0.4.0",
4
4
  "preferredCommand": "lj-awb",
5
- "updatedAt": "2026-05-19"
5
+ "updatedAt": "2026-05-20"
6
6
  }
@@ -54,7 +54,7 @@ lj-awb artifact asset import --project-id <id> --input-dir 2_asset/output --dry-
54
54
 
55
55
  - 单条 body 使用 AWB 接口的 camelCase 字段;不要在 body 里传 `id`、`projectId`、`createdAt`、`updatedAt`、`isDeleted` 等审计字段。
56
56
  - 写入 / 删除都是逻辑写入,但仍需 `--dry-run` 预览 + `--yes` 确认两步走。
57
- - 不确定参数时先读 `lj-awb schema --domain artifact --command asset <subcommand> -f json`。
57
+ - 不确定参数时先读精确 schema,例如 `lj-awb schema --domain artifact --command "asset upsert-actor" -f json`。
58
58
  - 输出字段速查见 [`../../references/output-fields.md`](../../references/output-fields.md) 的"Artifact"小节。
59
59
 
60
60
  ## 下一步
@@ -55,7 +55,7 @@ lj-awb artifact clip delete-episode --project-id <id> --video-episode-id 101 --d
55
55
 
56
56
  - 单条 body 使用 AWB 接口的 camelCase 字段;不要在 body 里传 `id`、`projectId`、`createdAt`、`updatedAt`、`isDeleted` 等审计字段。
57
57
  - 写入 / 删除都是逻辑写入,但仍需 `--dry-run` 预览 + `--yes` 确认两步走。
58
- - 不确定参数时先读 `lj-awb schema --domain artifact --command clip <subcommand> -f json`。
58
+ - 不确定参数时先读精确 schema,例如 `lj-awb schema --domain artifact --command "clip upsert-episode" -f json`。
59
59
  - 输出字段速查见 [`../../references/output-fields.md`](../../references/output-fields.md) 的"Artifact"小节。
60
60
 
61
61
  ## 下一步
@@ -28,7 +28,7 @@ lj-awb artifact script import --project-id <id> --input-file script.json --dry-r
28
28
 
29
29
  - 单条 body 使用 AWB 接口的 camelCase 字段;不要在 body 里传内部审计字段(`id`、`projectId`、`createdAt`、`updatedAt`、`isDeleted`),CLI 会自动注入或忽略。
30
30
  - 写入 / 删除都是逻辑写入(不真删数据),但仍需 `--dry-run` 预览 + `--yes` 确认两步走。
31
- - 不确定参数时先读 `lj-awb schema --domain artifact --command script <subcommand> -f json`。
31
+ - 不确定参数时先读精确 schema,例如 `lj-awb schema --domain artifact --command "script import" -f json`。
32
32
  - 输出字段速查见 [`../../references/output-fields.md`](../../references/output-fields.md) 的"Artifact"小节。
33
33
 
34
34
  ## 下一步
@@ -55,7 +55,7 @@ lj-awb artifact video import-storyboard --project-id <id> --input-file ep001_sto
55
55
  - 单条 body 使用 AWB 接口的 camelCase 字段;不要在 body 里传 `id`、`projectId`、`createdAt`、`updatedAt`、`isDeleted` 等审计字段。
56
56
  - `upsert-episode` 返回的 `id` 是数字主键,下游 [`clip 子域`](clip.md) 的 `--video-episode-id` 必须用这个值,不是 `ep_001` 业务键。
57
57
  - 写入 / 删除都是逻辑写入,但仍需 `--dry-run` 预览 + `--yes` 确认两步走。
58
- - 不确定参数时先读 `lj-awb schema --domain artifact --command video <subcommand> -f json`。
58
+ - 不确定参数时先读精确 schema,例如 `lj-awb schema --domain artifact --command "video upsert-episode" -f json`。
59
59
  - 输出字段速查见 [`../../references/output-fields.md`](../../references/output-fields.md) 的"Artifact"小节。
60
60
 
61
61
  ## 下一步
@@ -4,8 +4,9 @@
4
4
 
5
5
  ## 核心原则
6
6
 
7
- - CLI schema 是命令事实来源:非单条查询任务、命令不确定或涉及写入 / 扣费时,本轮只读一次 `lj-awb schema -f json`,命令名、参数名、安全规则和 nextActions 都以 schema 为准。
8
- - 命令或参数不确定时,schema 查询是阻塞前置步骤:先运行精确 schema(例如 `lj-awb schema --domain model --command video-models -f json`)并等结果返回,再根据 `options[].flag` 组织业务命令;不要把 schema 查询和猜测命令放在同一批并行工具调用里。
7
+ - CLI schema 是命令事实来源,但不要默认吞完整 schema:非单条查询任务先读一次 `lj-awb schema --brief -f json`,掌握能力域、安全分组、路由和 agentContract。
8
+ - 执行具体命令前,如果命令、参数、requiredOptions、safety nextActions 不确定,运行精确 schema(例如 `lj-awb schema --domain model --command video-models -f json`)并等结果返回,再根据 `options[].flag` 组织业务命令;不要把 schema 查询和猜测命令放在同一批并行工具调用里。
9
+ - 只有生成覆盖报告、调试 schema 本身或 brief 缺失字段时,才运行完整 `lj-awb schema -f json`。
9
10
  - Skill 是驱动器,不是命令百科。先在本模块决定链路,只在需要时加载一个细节模块。
10
11
  - 同一对话维护 AWB 状态账本;除非用户切换账号、团队、项目组、模型、素材、prompt 或关键参数,否则不要重复跑同样的查询。
11
12
  - 写入 / 扣费命令遵循 schema safety:`supportsDryRun=true` 先 dry-run,`requiresConfirmation=true` 经用户确认后再 `--yes`。
@@ -17,7 +18,8 @@ Agent 在当前任务中记录这些值,后续直接复用:
17
18
 
18
19
  | 键 | 来源 | 失效条件 |
19
20
  |----|------|----------|
20
- | `schema` | `lj-awb schema -f json` | CLI 版本变化 |
21
+ | `agentBrief` | `lj-awb schema --brief -f json` | CLI 版本变化 |
22
+ | `commandSchema:<name>` | `lj-awb schema --domain <domain> --command <command> -f json` | CLI 版本变化或命令不匹配 |
21
23
  | `auth/account/team` | `doctor --verify`、`account info` | 登录 / 团队切换 |
22
24
  | `projectGroupNo` | `project current` 或用户指定 | 项目组切换 |
23
25
  | `modelCandidates` | `model image-models` / `model video-models` | 任务类型或关键词变化 |
@@ -29,7 +31,7 @@ Agent 在当前任务中记录这些值,后续直接复用:
29
31
  | `voice` | `create subject-voice-list` / `create subject-voice-wait` | 音色名或来源变化 |
30
32
  | `artifactProjectId` | 用户给定或 artifact 查询 | 项目切换 |
31
33
 
32
- 不要为了“保险”重复跑 `schema`、`doctor --verify`、`project current`、`model options`、`model create-spec`、`fee`、`upload files`。缓存值不够时只补缺的那一步。
34
+ 不要为了“保险”重复跑 `schema --brief`、精确 schema、`doctor --verify`、`project current`、`model options`、`model create-spec`、`fee`、`upload files`。缓存值不够时只补缺的那一步。
33
35
 
34
36
  ## 能力边界
35
37
 
@@ -52,7 +54,7 @@ CLI 当前能力分为:
52
54
  1. 若本轮未验证远端认证和项目组,运行 `doctor --verify`,必要时 `project current`。
53
55
  2. 根据用户目标选任务类型:生图查 `model image-models`,生视频查 `model video-models`。
54
56
  3. 如果同一关键词已有候选,不重复查列表;只在用户换模型关键词时刷新。
55
- 4. 对候选跑 `model options`,通过“模型候选展示门”把真实参数和资源能力展示给用户;用户选定模型后补 `model create-spec`。
57
+ 4. 对候选跑 `model options`,通过“模型候选展示门”把真实参数和资源能力展示给用户,然后 STOP 等用户选择或明确授权默认;用户选定模型后补 `model create-spec`。
56
58
  5. 按 [`task-manual.md`](task-manual.md) 选择资源模式,按 [`create-contract.md`](create-contract.md) 校验素材、占位符、`needAudio` 和模式互斥。
57
59
  6. 只追问会影响价格 / 效果且用户未给出的关键参数;用户说“默认”才使用 defaultValue。
58
60
  7. 参数确认后跑一次 `create image-fee` 或 `create video-fee`,不要用 fee 做多组合探索。
@@ -61,13 +63,16 @@ CLI 当前能力分为:
61
63
 
62
64
  ### 模型候选展示门
63
65
 
64
- 只要用户给了模型口语名(如 `sd2`、`gpt`、`banana`、`可灵`)或模型查询返回候选,Agent 必须先完成这个门槛,才能推荐默认模型 / 默认参数、进入 `fee` 或 `create --dry-run`。
66
+ 只要用户给了模型口语名(如 `sd2`、`gpt`、`banana`、`可灵`)或模型查询返回候选,Agent 必须先完成这个门槛,才能推荐默认模型 / 默认参数、进入 `model create-spec`、`fee` 或 `create --dry-run`。
67
+
68
+ 这是硬 STOP 门,不是内部检查清单。Agent 输出候选清单后必须停下,等待用户选择模型和关键参数,或等待用户明确说“按默认 / 你来选”。没有这个确认,不得写批量输入文件、不得估价、不得 dry-run、不得正式 create。
65
69
 
66
70
  1. 用 schema 或命令帮助确认过滤参数名,模型关键词统一走 `--model <keyword>`,不要猜 `--keyword`。
67
71
  2. 跑 `model image-models --model <keyword> -f json` 或 `model video-models --model <keyword> -f json`。用户已经给出口语名时,同族候选全部保留;不要只取第一个。
68
72
  3. 对每个候选并行跑 `model options --model-group-code <code> -f json`,读取真实 `quality`、`ratio`、`duration` / `generateNum`、默认值、资源模式和约束。
69
73
  4. 必须向用户输出可见清单:模型显示名、描述、排队状态、可选参数、默认值、支持的资源模式(图片 / 视频 / 音频 reference、首帧 / 首尾帧、主体等)、渠道差异。`modelGroupCode` 默认只内部使用,除非用户主动问技术 ID。
70
74
  5. 用户看完清单后再问关键参数或给建议。即使只命中 1 个候选,也要展示该模型的真实可选项;不要用“我倾向 4:3 / 5s / 720P”代替候选清单。
75
+ 6. 如果精确关键词 0 命中后扩展搜索,必须明确说明“未命中 <原词>,以下是 <扩展词> 候选”,并在清单后 STOP;不要直接把扩展候选当成用户已选模型。
71
76
 
72
77
  ### 批量任务
73
78
 
@@ -22,7 +22,7 @@ lj-awb model image-models --model "<keyword>"
22
22
  lj-awb model video-models --model "<keyword>"
23
23
  ```
24
24
 
25
- 候选展示走 [`driver.md`](driver.md) 的“模型候选展示门”:基本信息 → 并行跑 `model options` 列真实参数取值和资源能力 → 看完真实选项后追问。不要把原始 JSON 整段粘给用户,但必须把候选转成用户可读清单;不能只在内部读完 options 后直接代选模型或参数。
25
+ 候选展示走 [`driver.md`](driver.md) 的“模型候选展示门”:基本信息 → 并行跑 `model options` 列真实参数取值和资源能力 → 输出用户可读清单 → STOP 等用户选择或明确授权默认。不要把原始 JSON 整段粘给用户,但必须把候选转成用户可读清单;不能只在内部读完 options 后直接代选模型或参数。
26
26
 
27
27
  用户可见清单至少包含:
28
28
 
@@ -31,6 +31,8 @@ lj-awb model video-models --model "<keyword>"
31
31
  - 资源能力:reference 支持哪些媒体,是否支持音频参考、视频参考、首帧 / 首尾帧、主体引用。
32
32
  - 同底模不同渠道 / Fast / Pro 等差异;如果参数完全一致,可以说明主要按队列、渠道或用户偏好选择。
33
33
 
34
+ 清单输出后必须停下;没有用户选择或“按默认 / 你来选”的明确授权,不得继续 `model create-spec`、`fee`、`dry-run`、写批量输入文件或 `create`。
35
+
34
36
  模型列表里 `inputModes` / `params` 摘要只用于**初筛**;最终枚举值和限制以 `model options` 为准。`modelGroupCode` 是技术 ID,agent 内部跑命令用,**默认不展示给用户**。
35
37
 
36
38
  ## 获取参数约束
@@ -38,10 +40,10 @@ lj-awb model video-models --model "<keyword>"
38
40
  用户选定模型后,若本轮未缓存该模型的参数约束,运行:
39
41
 
40
42
  ```bash
41
- lj-awb model options --model-group-code <modelGroupCode> -f json
43
+ lj-awb model options --model-group-code <modelGroupCode> -f text
42
44
  ```
43
45
 
44
- 默认 text 输出的字段解释见 [`../references/model-options-read.md`](../references/model-options-read.md)。需要程序化校验时才用 `-f json`。
46
+ 默认 pretty 适合展示给用户;Agent 做字段级决策时显式读 `-f text`,字段解释见 [`../references/model-options-read.md`](../references/model-options-read.md)。需要程序化校验完整嵌套结构时才用 `-f json`。
45
47
 
46
48
  Agent 读取这些字段:
47
49
 
@@ -50,8 +52,8 @@ Agent 读取这些字段:
50
52
  - `params[].defaultValue`:模型默认值;关键参数不能静默采用默认值,用户选择或确认“按默认”后才继续 fee / dry-run。
51
53
  - `params[].maxLength`:prompt 等文本参数的长度限制。
52
54
  - `resources[]`:素材媒体约束,包含 `mode`、`mediaType`、`usage`、`valueShapes`、`fileTypes`、数量 / 大小 / 时长限制;frames 资源的 `usage` 可同时包含 `first_frame|last_frame`。`valueShapes` 描述允许的 value 形状(`file|url|platformPath|asset`),与 `source.kind` 的两值枚举不同,详见 [`../references/model-options-read.md`](../references/model-options-read.md)。
53
- - `media=IMAGE` 的 `fileTypes` 是特殊语义:空列表表示不支持 webp,CLI 会把本地 webp 自动转成 jpg;仅 `webp` 表示普通图片格式外也支持 webp;多值列表才是强控制允许格式。默认 text 会把它翻译成 `formats=...` 和 `webpInput=accepted|autoConvertToJPG`。
54
- - `constraints[]`:条件约束全景,描述某个输入或参数出现后,会限制哪个目标参数的可选值;例如 `target=ratio` 且 `when=resource.image.frame=present`、`effect=no_selectable_values` 表示首帧 / 首尾帧输入后不要让用户继续选择比例。
55
+ - `media=IMAGE` 的 `fileTypes` 是特殊语义:空列表表示不支持 webp,CLI 会把本地 webp 自动转成 jpg;仅 `webp` 表示普通图片格式外也支持 webp;多值列表才是强控制允许格式。pretty/text 会把它翻译成 `formats=...` 和 `webpInput=accepted|autoConvertToJPG`。
56
+ - `constraints[]`:条件约束全景,描述某个输入或参数出现后,会限制哪个目标参数或资源能力;例如 `target=ratio` 且 `when=resource.image.frame=present`、`effect=no_selectable_values` 表示首帧 / 首尾帧输入后不要让用户继续选择比例;`effect=resource_limit_overrides` 表示某类素材的数量、大小或时长随条件收紧,读取 `limits`。
55
57
 
56
58
  ## 获取创建规格
57
59
 
@@ -87,7 +89,7 @@ Agent 读取这些字段:
87
89
 
88
90
  规则:
89
91
 
90
- - `model options` 是参数和素材约束入口;`model create-spec` 是创建方式入口。判断用户需求能否满足,优先看 `create-spec.supportedIntents[]`;素材格式 / 数量 / 时长限制看 `options.resources[]`;参数 / 资源联动看 `options.constraints[]`(`effect=no_selectable_values` 表示触发后该目标参数没有可选枚举,不要追问或传入)。
92
+ - `model options` 是参数和素材约束入口;`model create-spec` 是创建方式入口。判断用户需求能否满足,优先看 `create-spec.supportedIntents[]`;素材格式 / 数量 / 时长限制看 `options.resources[]`;参数 / 资源联动看 `options.constraints[]`(`effect=no_selectable_values` 表示触发后该目标参数没有可选枚举,不要追问或传入;`effect=resource_limit_overrides` 表示触发后按 `limits` 收紧素材约束)。
91
93
  - `supportLastFrameOnly` 只表示模型是否支持「仅尾帧」输入;首尾帧过渡能力看 frames 资源的 `usage` 是否包含 `last_frame` 和数量约束。
92
94
  - 用户说「上传音频 / 使用音乐 / 配音 / 音频参考」是**素材输入**,先看 `options.resources[]` 有没有 `mediaType=AUDIO usage=reference`;**不要先去找 `needAudio`**(那是输出音效开关)。具体使用规则、`reference_key` / `<<<key>>>` 对齐和 `--need-audio` 不是音频入口等都见 [`create-contract.md`](create-contract.md) §素材组织 + §Prompt 组装原则。
93
95
  - 用户要走素材加白 / 素材库过审时,先跑 `model asset-review-models --model-group-code <code>` 判断该模型是否支持以及平台值;不要根据模型名称猜平台,也不要把 `modelGroupCode` 放进资产组或素材创建命令。
@@ -2,9 +2,14 @@
2
2
 
3
3
  `model options` 是指定模型组的实时参数约束。不要凭模型名、旧经验或模型列表摘要直接提交创建任务。
4
4
 
5
- ## 默认 Text 怎么读
5
+ ## 默认 Pretty 怎么读
6
6
 
7
- - 默认 text 是“分区 key=value”:先看 `summary:`,再看 `params:`、`resources:`、`constraints:`,最后看 `next:`。每个分区的 `count` 表示列表数量,列表项使用 `[0]: key=value ...`。
7
+ - 默认 pretty 会把 `summary`、`params`、`resources`、`constraints`、`next` 渲染成中文摘要和终端表格,适合给用户展示候选模型能力。
8
+ - Agent 做字段级决策时优先用 `-f text`;只有脚本严格解析或必须读完整嵌套结构时才用 `-f json`。
9
+
10
+ ## `-f text` 怎么读
11
+
12
+ - text 是“分区 key=value”:先看 `summary:`,再看 `params:`、`resources:`、`constraints:`,最后看 `next:`。每个分区的 `count` 表示列表数量,列表项使用 `[0]: key=value ...`。
8
13
  - `params[]`:模型暴露的可控参数和约束;这里只给参数 key,不给 create 命令 flag。
9
14
  - `values`:枚举取值,只能从这里选。
10
15
  - `default`:模型默认值;用户没明确指定时通常不必显式传,但清晰度、比例、时长这类关键项仍要确认。
@@ -16,7 +21,7 @@
16
21
  - `files=<=N` / `files=1`:素材数量约束。
17
22
  - `lastFrameOnly` / JSON `supportLastFrameOnly`:只表示是否支持“仅尾帧”这种特殊输入;不用于判断 `first_frame + last_frame` 是否成立。没有该能力时,尾帧应和首帧成对使用。
18
23
  - `durationMs` / `totalDurationMs`:单个素材和总素材时长约束。
19
- - `constraints[]`:参数 / 资源之间的联动约束;`target` 是被限制的 CLI 决策字段,`when` 是触发条件,`allowedValues=<none>` + `effect=no_selectable_values` 表示触发后不要再让用户选择该目标参数。
24
+ - `constraints[]`:参数 / 资源之间的联动约束;`target` 是被限制的 CLI 决策字段或资源能力,`when` 是触发条件。`effect=no_selectable_values` 表示触发后不要再让用户选择该目标参数;`effect=resource_limit_overrides` 表示某类素材的数量、大小或时长会随条件收紧,读取 `limits`。
20
25
 
21
26
  ## JSON 何时用
22
27
 
@@ -43,9 +48,9 @@ JSON 里会保留更完整的参数 / 资源 / 条件约束字段,但仍不承
43
48
 
44
49
  - 不在 `params[]` 里的 CLI 参数不要传。
45
50
  - 不在 `resources[]` 里的媒体类型 / 用途不要硬拼。
46
- - 当前用户输入满足 `constraints[].conditions` 时,按 `allowValues` 收窄目标参数;`effect=no_selectable_values` 时不要传该目标参数。
51
+ - 当前用户输入满足 `constraints[].conditions` 时,按 `allowValues` 收窄目标参数;`effect=no_selectable_values` 时不要传该目标参数;`effect=resource_limit_overrides` 时按 `limits` 覆盖对应 `resources[]` 的数量 / 时长等限制。
47
52
  - 主体参考看 `media=SUBJECT usage=reference valueShapes=asset`;reference_key 和 externalId 写法看 `model create-spec` / `model input-guide`。
48
53
  - 图片生图参考图不使用 reference_key;只传 `image:reference=...`,prompt 里用图一、图二、参考图等自然描述。
49
54
  - 音频素材参考看 `media=AUDIO usage=reference`;`needAudio` / `--need-audio` 表示是否需要输出音效。
50
- - `media=IMAGE` 的 `supportedFileTypes` 是 webp 能力标记:空表示不支持 webp,单独 `webp` 表示普通图片格式外也支持 webp,多值才表示强允许列表。默认 text 里 `webpInput=accepted` 表示可直接传 webp;`webpInput=autoConvertToJPG` 表示本地 webp 会先转成 jpg。
55
+ - `media=IMAGE` 的 `supportedFileTypes` 是 webp 能力标记:空表示不支持 webp,单独 `webp` 表示普通图片格式外也支持 webp,多值才表示强允许列表。pretty/text 里 `WebP=accepted` 或 `webpInput=accepted` 表示可直接传 webp;`autoConvertToJPG` 表示本地 webp 会先转成 jpg。
51
56
  - 首帧 / 尾帧不使用 reference_key;是否可传尾帧看 `usage` 是否包含 `last_frame`,具体创建方式看 `model create-spec`。
@@ -1,6 +1,6 @@
1
1
  # 输出字段速查表
2
2
 
3
- 只有以下场景需要展开 `-f json` 读结构化字段:脚本严格解析、模型 / 资源约束读取、批量结果汇总、错误恢复。其他场景默认读 compact text。
3
+ 默认输出是给人看的 pretty 表格;Agent 需要读字段时默认显式传 `-f text`,不要从 pretty 里解析字段。只有脚本严格解析或必须读完整嵌套结构时才传 `-f json`。
4
4
 
5
5
  通用 envelope:`{ status, data, meta, error? }`。任何命令失败时 `status='error'`,详见 [`error-codes.md`](error-codes.md)。
6
6
 
@@ -38,8 +38,8 @@
38
38
 
39
39
  | outputKind | 命令 | 必报给用户 | agent 内部用 | 可丢弃 |
40
40
  |------------|------|-----------|--------------|--------|
41
- | `model_list` | `model image-models` / `video-models` | 模型名、`modelGroupCode`、`taskQueueNum`(排队数) | `modelGroupCode`(下游 create 必填) | 完整 modelList 嵌套 |
42
- | `model_options` | `model options` | `params[].label/values/defaultValue`、`resources[]`、`constraints[]` | 全部字段(决定 create 入参)。JSON 形状:`params[].{key,label,valueType,values,defaultValue,defaultName}`(参数名是 `key`,**不是** `name`);`resources[].{media,usage,valueShapes,formats,...}`;`constraints[].{target,when,allowedValues,effect}` | — |
41
+ | `model_list` | `model image-models` / `video-models` | 模型名、`modelGroupCode`、`taskQueueNum`(排队数)、`successRate`(成功率) | `modelGroupCode`(下游 create 必填) | 完整 modelList 嵌套 |
42
+ | `model_options` | `model options` | `params[].label/values/defaultValue`、`resources[]`、`constraints[]` | 全部字段(决定 create 入参)。JSON 形状:`params[].{key,label,valueType,values,defaultValue,defaultName}`(参数名是 `key`,**不是** `name`);`resources[].{media,usage,valueShapes,formats,...}`;`constraints[].{target,when,allowedValues,effect,limits}`,其中 `resource_limit_overrides` 表示素材数量 / 时长联动限制 | — |
43
43
  | `model_create_spec` | `model create-spec` | `intents[]`、`requiredArgs`、`examples` | 全部 | — |
44
44
  | `model_input_guide` | `model input-guide` | `supportedIntents`、`promptParams`、`resourceUsages` | 全部 | — |
45
45