@gitruck/cli 1.3.10 → 1.3.11
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/AGENT.md +41 -2
- package/CHANGELOG.md +26 -0
- package/README.en.md +9 -2
- package/README.md +9 -2
- package/assets/composite-kit/kit.js +36 -7
- package/assets/composite-kit/stage.html +23 -2
- package/dist/index.js +333 -328
- package/docs/reference.en.md +43 -8
- package/docs/reference.md +44 -10
- package/package.json +2 -2
- package/skills/gtrk-composite/SKILL.md +11 -6
- package/skills/gtrk-matrix/SKILL.md +48 -5
- package/skills/gtrk-mg/SKILL.md +404 -406
- package/skills/gtrk-oralcut/SKILL.md +9 -8
- package/skills/gtrk-splitter/SKILL.md +313 -311
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gtrk-matrix
|
|
3
|
-
description: B-roll 检索铺轨编排手册——成片管线里第一个铺的车道(SOP ③ B-roll 底轨阶段)。消费拆分派单的 FILM_BROLL 队列(`dispatch.film_broll`),检索素材并在工程里平铺 N 条候选 B-roll 轨,供用户在 opencut 里用轨道小眼睛切换对比、挑选/调整;确认后交棒同阶段的 AI 情景片段腿(`/gtrk-ai-drama`,车道非空时)。命令族还含:**本地素材模式**(`matrix index` 建索引、`--local` 用自己的素材铺轨,**视频本体不上云**,只送抽帧图;选中上轨的图片会上云转运镜,`--no-image-broll` 可排除)、**按需理解**(`matrix describe`,为排序提供画质与看点信号)、**源时间窗检索**(`--source-window`,电影解说式逐段推进)、**通用三态素材检索**(`matrix material`:clip/image/audio 整条素材下载向,BGM/配图主场)、**plan 可编辑通路**(agent 改 plan 后 `matrix lay` 消费)。当用户想「铺 B-roll / 检索素材 / 找空镜 / 给空镜配画面 / 填 B-roll 候选 / 单独搜个词补个空槽 / 找 BGM / 搜配乐 / 搜张配图 / 用我自己的素材铺 B-roll / 给素材文件夹建索引 / 理解一下这些素材能不能用 / 把这堆素材剪成片 / 影视解说配画面」时使用本 skill。凡涉及把素材检索并铺进工程,优先用本 skill 驱动 gtrk CLI 的 `matrix` 命令族,别让用户自己去终端敲、也别手搓检索。
|
|
3
|
+
description: B-roll 检索铺轨编排手册——成片管线里第一个铺的车道(SOP ③ B-roll 底轨阶段)。消费拆分派单的 FILM_BROLL 队列(`dispatch.film_broll`),检索素材并在工程里平铺 N 条候选 B-roll 轨,供用户在 opencut 里用轨道小眼睛切换对比、挑选/调整;确认后交棒同阶段的 AI 情景片段腿(`/gtrk-ai-drama`,车道非空时)。命令族还含:**本地素材模式**(`matrix index` 建索引、`--local` 用自己的素材铺轨,**视频本体不上云**,只送抽帧图;选中上轨的图片会上云转运镜,`--no-image-broll` 可排除)、**按需理解**(`matrix describe`,为排序提供画质与看点信号)、**源时间窗检索**(`--source-window`,电影解说式逐段推进)、**通用三态素材检索**(`matrix material`:clip/image/audio 整条素材下载向,BGM/配图主场)、**plan 可编辑通路**(agent 改 plan 后 `matrix lay` 消费)。当用户想「铺 B-roll / 检索素材 / 找空镜 / 给空镜配画面 / 填 B-roll 候选 / 单独搜个词补个空槽 / 出片 QC 报了画面问题要换段 / 找 BGM / 搜配乐 / 搜张配图 / 用我自己的素材铺 B-roll / 给素材文件夹建索引 / 理解一下这些素材能不能用 / 把这堆素材剪成片 / 影视解说配画面」时使用本 skill。凡涉及把素材检索并铺进工程,优先用本 skill 驱动 gtrk CLI 的 `matrix` 命令族,别让用户自己去终端敲、也别手搓检索。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# B-roll 检索铺轨编排手册(gtrk-matrix)
|
|
7
7
|
|
|
8
|
-
把素材检索铺轨当**乐高**:CLI 提供原子零件(index / search / describe / plan / lay
|
|
8
|
+
把素材检索铺轨当**乐高**:CLI 提供原子零件(index / search / describe / plan / lay),你按场景裁定怎么编排——本手册给你七个起手配方、三条裁定判据、零件参数总表、plan 编辑口径与计费速查。**CLI 是手(检索/理解/下载/铺轨/写回),你是脑(裁定用哪个配方、管用户检查点、遇差调参补空)。**
|
|
9
9
|
|
|
10
10
|
> **本 skill 已含你需要的全部信息**,照它做即可,不用也无法去查外部文档。(`gtrk matrix --help` 也随时列全部 flag。)
|
|
11
11
|
|
|
@@ -130,6 +130,17 @@ gtrk matrix describe --materials <同一素材> --review <工程目录/visual-ov
|
|
|
130
130
|
- **命令序列**:任意配方照跑——图片默认参与索引/检索/铺轨;`--no-image-broll` 反向排除(零图片上云)。
|
|
131
131
|
- **变奏点**:describe 对图片是文件直传理解;出域与计费口径见「图片候选运镜入轨」节——**图片本体会上云**这条差异必须跟用户说清。
|
|
132
132
|
|
|
133
|
+
### 配方 G · 原片蒙太奇(命中镜头连同前后镜头)
|
|
134
|
+
|
|
135
|
+
- **适用线索**:用户挑中了某个概念素材镜头,还想要它在原片里前后相邻的几个镜头接成一串(蒙太奇),哪怕那些镜头本身不贴检索词。只有**矩阵成员口的概念素材**有出处数据;实拍、公开口、本地、外网都没有。
|
|
136
|
+
- **命令序列**:
|
|
137
|
+
- 精剪补料:`gtrk matrix search "<词>" --neighbors 2 --material-class concept` → 有邻居的结果下面多两行:一行按原片顺序列出整段(命中加方括号,不相接处标 `⋯`),一行是现成的 `gtrk matrix fetch <按原片顺序的 clip_id…>`。邻居和命中一样已记入授予账本,直接 fetch,0 积分。
|
|
138
|
+
- 派单铺轨:成员口缺省就带 `--neighbors 2`,邻居写进 plan 与工程,在客户端 B-roll 面板每段列表底部的「更多」里展开,由用户单张挑选;`--neighbors 0` 关闭。
|
|
139
|
+
- **变奏点**:
|
|
140
|
+
- 邻居**不参与自动铺轨**,你也 MUST NOT 把邻居手工塞进 plan 的 `results` 让分配器铺。它们是给人挑的,自动铺会把不贴稿子的镜头塞进槽位。
|
|
141
|
+
- `hit` 多为 null 是正常的:前后镜头本来就不一定和检索词相关;不为 null 说明它也在本次召回池里。
|
|
142
|
+
- 字段名:服务端文档叫 `source`,CLI 的 plan / `--json` / 工程里叫 `source_ref`(`source` 在 CLI 里专指本地素材标记)。
|
|
143
|
+
|
|
133
144
|
## 裁定线索(判断素材,不是分支条件)
|
|
134
145
|
|
|
135
146
|
拿到一个活,先过三个判据。它们帮你**倾向**某配方,不是 if-else——边界情况跟用户对话确认。
|
|
@@ -154,6 +165,7 @@ gtrk matrix describe --materials <同一素材> --review <工程目录/visual-ov
|
|
|
154
165
|
| 多铺几条候选对比 | `--lay <n>` | 非负整数 · `1`(`0`=只出 plan 不铺轨) | opencut 小眼睛切换对比挑选 |
|
|
155
166
|
| 每段多给几个候选 | `--top-k <n>` | 整数 · 派单 `shots` 值(服务端上限 50) | 每 query 候选数上限 |
|
|
156
167
|
| 指定素材类型 | `--material-class <c>` | `real_shot` \| `concept` · 栏目策略 | 仅 internal 矩阵成员口 |
|
|
168
|
+
| 命中镜头带上原片前后镜头 | `--neighbors <n>` | 0–5 整数 · `matrix search` 为 0、派单检索为 2 | 仅 internal 矩阵成员口的概念素材;每侧 n 条,**不参与自动铺轨**(见配方 G);非法值发请求前就报错 |
|
|
157
169
|
| 填充门槛 | `--score-floor <f>` | 浮点 0–1 · `0.2` | 低于不采纳、槽位留空——口播工程里留空处由候选轨补纯黑片;调完必看空洞告警 |
|
|
158
170
|
| 切点对齐字幕句 | `--cut-align <r>` | 浮点 0–1 · `0.7`(`0`=关闭) | 三七开拍板:约七成字幕句起点恰逢镜头切点、三成有意错开;句级时码取 transcript 重投影(降级自动回旧节奏并告警);开启时结果 JSON `lay.cut_align` 报实测比例 |
|
|
159
171
|
| 主轨空洞填充 | `--gap-fill <m>` | `fast` \| `solid`(默认)\| `none` | **仅音频驱动工程主轨**(口播工程不适用零回归):fast=放宽地板随便填候选→延长相邻颗粒→**跨 beat 借候选**→**次地板补真画面**→仍不够才黑片;借来的画面与本段稿子相关性弱、次地板槽是不到 1.2s 的快切,两者都会在日志里**指名报出**(`kind` 为 `borrowed` / `subfloor`)——那是如实告知,**不是缺陷,别当 bug 上报**;solid=黑片垫齐(精修一眼看出没匹配到);none=留 gap(客户端主轨磁吸会吸除 gap 致画面与配音错位,慎用);生效时结果 JSON `lay.gap_fill` 报明细 |
|
|
@@ -286,15 +298,17 @@ gtrk matrix describe --materials <同一素材> --review <工程目录/visual-ov
|
|
|
286
298
|
`broll-plan.json` 你可以放心编辑,`matrix lay` 按现值消费,**绝不因「与原始检索结果不一致」拒绝**。但有白名单:
|
|
287
299
|
|
|
288
300
|
**可编辑面**(随便动):
|
|
289
|
-
- `results` 数组:**删条**(剔除不能用的候选)、**重排**(调优先级——池内按 score
|
|
301
|
+
- `results` 数组:**删条**(剔除不能用的候选)、**重排**(调优先级——池内按 score 排序,同分时按数组顺序,所以重排只在同分时决定先后,主要配合删条用);
|
|
290
302
|
- `segments` 数组:**删段**(某命中段不想要就删);
|
|
291
303
|
- `result.describe`:增删(describe 命令注入的,你也可以手写笔记进去);
|
|
292
|
-
- `result.pinned: true
|
|
304
|
+
- `result.pinned: true`:**钉选**——是**落位保证**,不只是排序特权。但它保证的是落得上,**不保证落在第几槽**:钉选按整条 result 生效,钉选段一律排到同 query 最前,钉选段之间仍按 score 排。它豁免四条自动护栏:①派单负词 `excluded_hint`、②`--score-floor` 分数地板、③不二用抢占(钉选段不会因为**别的候选**占了同一把消费键而落不上;但同一个「候选+段」对仍只落一次)、④紧邻跳剪避让(钉选相邻照落,也不计进 `dedup.adjacentWaived`)。
|
|
293
305
|
**不豁免的三条**:`--no-image-broll`(零图片上云是硬承诺,图片候选连 pinned 也进不来)、同 beat 跨轨素材归属互斥(那条给的是备选面——钉选占满每条轨,`--lay N` 就退化成 N 条一样的轨)、主轨 gap 快速填充的兜底档。
|
|
294
306
|
钉多了仍可能打架(供长不足/位置冲突),让位名单在结果 JSON `lay.pinned.yielded` 与告警里**逐段**明示。
|
|
295
307
|
- beat 的 `anchors`:**关键词锚**(拆分稿圈定、plan 检索时内插 `at_sec`)——`[{keyword, utterance, at_sec, query}]`,lay 把锚 query **原始 sim 最高的合格命中**(原始检索相似度,**不是** mark/highlight 融合分——`--mark-weight`/`--highlight-weight` 在锚槽退为同 sim 时的 tie-break)钉在 `at_sec−0.5s`(时长 min(命中段, per_shot×2)),其余槽位在锚点分割的区间内序贯填充。**锚预留优先于普通序贯槽消费**:铺轨前先为每锚锁住其 sim 第一名(每锚至多 1 对,落位或降级后立即释放),前序 beat 的泛化普通槽拿不到它;取不到第一名时锚 outcome 会**如实报名次与去向**(落的是第几名、第一名被哪个 beat/query 取走),MUST NOT 静默当成钉准了。可编辑:**挪 `at_sec`**(微调卡点时刻)、**换 `query`**(换锚画面)、**删锚**(整条删除);`at_sec:null`=内插失败态,lay 按降级普通槽处置。锚 query 池内有 pinned 候选时**用户钉选优先占锚槽**。
|
|
296
308
|
- beat 的 `per_shot_sec`/`requested_shots`(节奏锚,影响槽长档位)。
|
|
297
309
|
|
|
310
|
+
**落槽顺序(池序)**:同一 query 的候选段先排序,再逐槽取用。顺序是:钉选置顶 → score 降序(开了 `--mark-weight` / `--highlight-weight` 时按融合分;`motion.p50` 超 0.05 的高运动段降 0.02、describe 判糊的段降 0.03)→ 同分按 `results` 数组顺序、同一 result 内按 `segments` 顺序。每个槽取这个顺序里第一个合格的段(没被用过、供长够、不撞紧邻跳剪避让),多条 query 时槽位按 query 轮转。本机与云端编排同一口径。⚠️ 本地 result 的 `segments` 必须保持 score 降序,否则 `matrix lay` 整单拒绝。`score` 是检索给的相似度,平时别改;唯一的例外是出片 QC 换段,照下文「出片 QC 交回来的换段」第 4 步改。
|
|
311
|
+
|
|
298
312
|
**不可编辑面**(动了会被 `matrix lay` 校验拒绝并指名字段):
|
|
299
313
|
- `clip_id` / `local_path` / `url`:素材身份与来源是检索产出,改了必错(`local_path` 指向不存在的路径会被拒——可移动盘先挂载再 lay);
|
|
300
314
|
- 几何字段(`duration`/`width`/`height`/`fps`)与 `segments` 内部几何(`best` 必须落在 `[start,end]`);
|
|
@@ -446,7 +460,8 @@ gtrk matrix --project "<split 产物目录>" [--lay N] [--score-floor F] [--top-
|
|
|
446
460
|
| 想在多个候选里挑 | `--lay N` 多铺几条候选轨。**只增加可选方案数,不扩大覆盖**——别把它当空洞的解药 |
|
|
447
461
|
| 填充太差 / 命中太杂 | 先看排序前几条质量再调 `--score-floor`(调高留空处补纯黑,必看空洞告警);杂得可疑 → 走配方 B:describe top 候选,按 `usable_flags`+`desc` 剔除后 `matrix lay` |
|
|
448
462
|
| 「像但不能用」(水印/字幕/黑边混进候选) | 配方 B 的标准场景:`describe --plan` → 你删掉命中的 result → `matrix lay`。**CLI 不会自动剔**(零件不裁定),删不删你判断 |
|
|
449
|
-
| 某候选非用不可
|
|
463
|
+
| 某候选非用不可 | 编辑 plan:该 result 标 `pinned:true` → `matrix lay`。钉选是落位保证(免负词/地板/不二用抢占/紧邻避让),`lay.pinned.yielded` 非空说明确实钉多了在打架,名单逐段指名 |
|
|
464
|
+
| 想定先后顺序 / 想钉准轨上位置 | 钉选管不了第几槽(它只把整条 result 排到最前)。同分的段按数组顺序落槽,要调先后就调 `results` / `segments` 的数组顺序;要钉准轨上位置用 `arrange_mode:"direct"` + `direct_slots`(引用段、硬出处段的本职);出片 QC 换段照「出片 QC 交回来的换段」第 4 步 |
|
|
450
465
|
| **出现空档补黑 / 黑底空洞告警** | 不是故障:照 `lay.blackBedHoles` 逐段报给用户,出路=调低 `--score-floor` / opencut 手动补片 / 动线②云端垫底 |
|
|
451
466
|
| **`--online` 结果带 `plan_kept`** | 外网这轮零可铺候选,**既有 plan 没被覆盖**(`planPath` 仍是上一轮的,可直接 `matrix lay`);本轮逐条报错与待核候选在 `plan_kept.online_attempt_path`,照它说明失败原因 |
|
|
452
467
|
| 每段候选太少不够挑 | `--top-k` 调大重跑 |
|
|
@@ -497,6 +512,33 @@ gtrk matrix --project "<split 产物目录>" [--lay N] [--score-floor F] [--top-
|
|
|
497
512
|
|
|
498
513
|
---
|
|
499
514
|
|
|
515
|
+
## 出片 QC 交回来的换段(从 `/gtrk-mg` 回到底轨)
|
|
516
|
+
|
|
517
|
+
**场景**:成片已渲,`gtrk qc <成片> --gtrk <工程> --json` 报了画面级缺陷(段内跳切、判 `error` 的过短镜头),`/gtrk-mg` 转述后把可换段的那几处交回来。换段改的是本步的产物——B-roll 底轨,所以列方案、同意、副本、改 plan、重铺都在这里做;MG 那一步对底轨只读。
|
|
518
|
+
|
|
519
|
+
1. **读缺陷的坐标**:每条缺陷带 `beat` / 槽位序号 / `clip_id` / 源窗,定位到是哪个 beat 的第几槽、用的哪条 `clip_id` 的哪个源窗。
|
|
520
|
+
2. **读它给的排序备选**:段内跳切与判 `error` 的过短镜头条目带 `alternatives`——同 beat 里还没上轨的候选段(取自工程的 `split/broll-plan.json`,按段判、不按 `clip_id`),每条给 `clip_id`、段区间与排序依据,按「稳」排序(运动量升序 → 段内切点密度升序 → score 降序),实际参与排序的维度在 `alternatives_ranked_by`。候选缺运动或切点信号时 `alternatives_note` 会标注**口径受限**——那时别把第一名当定论。`alternatives: []` 只说明 plan 里这个 beat 的段都已上轨、没有备用段,不等于这处换不了:要换就先重新检索补候选(本 skill 的单独检索 `gtrk matrix search`),或在同一素材里另找避开切点的段,拟换方案照第 3 步列给用户;没有 `alternatives` 键、只有 note 是没读到 plan,同样别读成「没得换」。排序备选是**建议,不是授权**:它判的是晃不晃、切点多不多,不知道用户当初为什么选了现在这一段。
|
|
521
|
+
3. **先列给用户,等他同意**:把可换段的缺陷一次列成清单,每行一处——哪个 beat 第几槽、成片时码、现在用的段、拟换成的段及排序依据、它的原检索相似度(口径受限的照标;按第 4 步判出这处可能挪位的也照标)。清单后说清连带影响:
|
|
522
|
+
- 该 beat 的 B-roll 按改过的 plan 重铺。本地素材的工程重铺要走云端编排、按编排量计费,而且全片 beat 都会重新编排、落点可能微挪,不只换的那几处;花多少先带 `--arrange-estimate-only` 估一次(零调用、零改动);
|
|
523
|
+
- 换完先请用户在客户端看新底轨,再回 `/gtrk-mg` 决定 MG 颗粒动不动:没指出问题的颗粒一颗不重铺,指出的那几颗重产重铺时,上面的手调会被覆盖;
|
|
524
|
+
- 重渲时内容没变的颗粒命中缓存不计费,重新产过的那几颗按 `gtrk render` 的预估再确认一次。
|
|
525
|
+
|
|
526
|
+
然后停下等答复:整批换、挑着换、都不换都行,只换用户同意的那几处。一次列全,别逐条碎问。**用户同意之前 MUST NOT 改 plan、跑 `gtrk matrix lay`、`gtrk mg --only` 或重渲。**
|
|
527
|
+
4. **留副本,再改 plan 换段**:先用同一个时间戳留两份副本——`split/broll-plan.json` 复制为同目录 `broll-plan.before-qc-<yymmdd-HHMMSS>.json`,`gtrk/project.gtrk` 复制为同目录 `project.before-qc-<yymmdd-HHMMSS>.gtrk`。告诉用户回退方法:把这两份副本拷回原文件名,就回到换段前的 plan 与时间线(MG 颗粒的落点一并回来),不再计费;别用副本再跑一次 `gtrk matrix lay` 回退,那要再付一次编排费,铺出来也不是原样。再把用户同意的槽位换成备选(他没另指就用第一名)。换的时候让换进段**占住被替换段的位置**,重铺后才只变用户同意的那几槽(落槽顺序见上文「plan 编辑口径」的池序):
|
|
528
|
+
- 段对象**原样搬**自检索结果,`start` / `end` / `best` / `cuts` / `motion` / `black` 一个不改(`cuts` / `motion` 就住在里面,重写即丢);**只有 `score` 写成被替换段的 `score`**——被替换段原来是多少就写多少,不是一律 0.99。保留检索相似度会出两种事:本地 plan 段序不再降序,整单被拒;重排成降序再铺,换进段沉到池底,同 beat 其余槽整体挪位,还会挤进没上轨的备用段。
|
|
529
|
+
- 同一素材文件(同 `clip_id`;本地素材 `local_path` 相同也算):在被替换段所在的 result 里原地替换,下标不变。来自另一条素材:放进它自己素材的 result(段序保持 score 降序),被替换段从原 result 删掉,再按池序数一遍——同 query 里还有与它同分、排在被替换段之后的段,这处的位置就保不住,第 3 步列方案时说明哪几槽会跟着挪。**MUST NOT 为保位删掉别的段、拆分原 result 或复制 `clip_id`。**
|
|
530
|
+
- 换进段是高运动段(`motion.p50` 超 0.05)、带判糊的 describe,或这次铺轨开了 `--mark-weight` / `--highlight-weight` 时,同样的 `score` 也可能挪位:第 3 步标「可能挪位」,**不补分**,别为保位把 `score` 改成别的值。
|
|
531
|
+
- 逐槽把原检索相似度、检索词、检索结果里的 `clip_id`,连同被替换段与换进段的 `start` / `end` / `best` / `score`,记进同一时间戳的换段明细 `split/qc-swap-<yymmdd-HHMMSS>.json`。plan 里这一段的 `score` 从此不再是检索相似度,真值在明细里;继承的分也会越过 `--score-floor`,所以第 3 步要照写原相似度,不隐瞒。
|
|
532
|
+
5. **重铺**:`gtrk matrix lay --project <目录> --plan <path>` 消费改过的 plan 重铺 B-roll。本地素材工程的云端编排要计费:第 3 步还没报过编排量的,先 `--arrange-estimate-only` 估出来,等用户同意再带 `--yes`,照上文「本地素材铺轨现在默认走云端编排」那一条,**MUST NOT 未经同意就带 `--yes`**。重铺前先按池序把换过的 beat 推一遍,确认换进段排在被替换段原来的位次;有关键词锚的 beat,锚槽按原始 score 取第一名,继承的分可能改变锚取到谁,重铺后连同 `lay.anchor_details` 一起看。重铺后核对换的那几个槽位确实落在原位置(beat 与槽位序号和第 3 步清单一致),不对就如实报给用户,别当成换好了。
|
|
533
|
+
6. **列变化,等新底轨认可**:列出实际换了哪些槽位、各换成什么、其余 beat 的落点有没有挪(本地素材工程全片重排,可能有整帧级挪动),请用户在客户端看换过的那几处,一次确认两件事:新画面满不满意;上面已铺的 MG 颗粒有没有挡住新画面的主体。只看换过的位置,不重做全片 ④。**用户认可新底轨之前 MUST NOT 重铺 MG 颗粒,MUST NOT 重渲。** 不满意就回第 3 步再列一轮,或照第 4 步拷回副本回退。
|
|
534
|
+
7. **认可后交回 `/gtrk-mg`**:一句话交代「新底轨定了,我回 MG 那一步,<没要调的颗粒就直接重渲 / 先重产你点名的那几颗>」,走它的「从 `/gtrk-matrix` 回来续铺」。`matrix lay` 不动 `beat_track`,已铺的颗粒原样还在轨上,没点名的不重铺。
|
|
535
|
+
|
|
536
|
+
**事先授权的例外**:用户在本会话里事先明确说过「出片后 QC 报的画面问题你直接换」之类的话,第 3 步「换哪几处」可以不再征询;第 4 步照留副本,换完 SHALL 列出换了哪些槽位、换成了什么。⚠️ 这份授权**只免换不换段这一问,不免计费确认**:第 5 步本地素材工程的云端编排、回 MG 之后的颗粒重渲,照上文「本地素材铺轨现在默认走云端编排」那一条与 `/gtrk-mg` 的 render 口径先报预估、等同意,**MUST NOT 因为这句授权就自带 `--yes`**——除非用户明说了「花钱也不用问」。它**也不免第 6 步的新底轨认可**:用户授权的是挑段,不是替他看画面;只有他明说了「换完直接接着出片」才可以跳过。授权只在本会话有效。
|
|
537
|
+
|
|
538
|
+
🔴 **这是「换素材」而不是「调参数」**:QC 报的多数画面级缺陷(晃、糊、闪)根子在选中的那一段本身,调 `--score-floor` / 阈值只会连带影响全片其它槽位。先换段,换不动再谈调参。
|
|
539
|
+
|
|
540
|
+
---
|
|
541
|
+
|
|
500
542
|
## 精剪补素材:`gtrk matrix fetch`,两段式拉原片(脱离工程)
|
|
501
543
|
|
|
502
544
|
**场景**:粗剪已完成、工程已导剪映,用户在剪映精剪时说「这里想补一段 B-roll」——不回客户端、不重跑铺轨,把原片拉到本地直接拖进剪映。这是既有管线的**旁路补给口**(add-matrix-raw-fetch),与铺轨链路的「确认原片」(客户端挑选 UI)互不相扰。
|
|
@@ -505,6 +547,7 @@ gtrk matrix --project "<split 产物目录>" [--lay N] [--score-floor F] [--top-
|
|
|
505
547
|
|
|
506
548
|
1. **search 挑定**:`gtrk matrix search "<词>"` 出候选(preview 可看)→ 用户/agent 挑定要的 `clip_id`。计费检索的每次成功返回都会**灌授予账本**——付费即持久授予。
|
|
507
549
|
2. **fetch 拉取**:`gtrk matrix fetch <clip_id...> [--out <dir>]` → 免费重签新鲜签名 → 原片按 `<clip_id>.<ext>` 落盘(缺省 `./matrix-fetch/`)→ 「拖进剪映即用」。
|
|
550
|
+
想要命中镜头连同原片前后镜头:第 1 步加 `--neighbors <n>`,人读输出会直接给出按原片顺序的 fetch 命令(见配方 G)。落盘文件名仍是 `<clip_id>`,原片顺序以那一行为准,拖进剪映时照它排。
|
|
508
551
|
|
|
509
552
|
授权边界话术(MUST 如实、给出路):
|
|
510
553
|
|