@gitruck/cli 1.3.8 → 1.3.10

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/CHANGELOG.md CHANGED
@@ -11,6 +11,24 @@
11
11
 
12
12
  ## 未发布
13
13
 
14
+ - 修:`gtrk qc --gtrk` 与 `gtrk render` 渲后质检的报告里从来没有换段备选——`gtrk-mg` 出片后 QC 闭环第 2 步「读它给的排序备选」无从读起,只能手找候选段。现在段内跳切与判为严重的过短镜头条目带 `alternatives`:同一 beat 里还没上轨的候选段(从工程登记的 `split/broll-plan.json` 取),每条给 `clip_id`、段区间与排序依据,按运动量 → 切点密度 → 分数排序,列前 3 段(多于 3 段另报总数);候选缺运动或切点信号时 `alternatives_note` 注明口径受限。「未上轨」按段判:此前按 `clip_id` 判,一个 beat 只有一条素材、底下好几段的工程会被判成零备选。该 beat 的段都已上轨时给空列表并说明;没读到 plan 时不给列表、只给说明。判为严重的过短镜头此前不带 beat / 槽位坐标,现在带上,紧贴拼接处的极短镜头(一两帧)也能归到槽位(add-material-motion-signal 4.2)。
15
+
16
+ - 新增:`gtrk tool image_purify --redraw` 图片去水印「重绘模式」——整张图交给图片编辑模型重新生成,铺满全图的半透明、网格水印也能去掉;与 `--purify-scope region` 同用时只替换框内。单独计价,运行前报价按重绘档;也可 `--params-json '{"purify_method":"redraw"}'`。不加 `--redraw` 时请求与之前逐字节相同。价格表里挂在父项下的分档(`tiers`,如重绘、区分说话人、云配音各音色档)现在也能按自己的 key 查到实时价格(link-add-image-purify-redraw-mode-cli)。
17
+ - Skill 措辞订正(ClawHub 安全扫描指出的自相矛盾与告知缺口):`gtrk-matrix` 的描述把「素材本体不上云」改准为视频本体不上云、选中上轨的图片会上云转运镜(正文早已写明);`gtrk-narration` / `gtrk-food-recap` / `gtrk-vlog-docu` 的「不执行任何网络下载」收窄为不下载二创源片与主体素材,素材矩阵的 BGM / 空镜可按签名直链落地(与旅拍图纸同口径,此前与各自的 BGM 伴奏下载步骤字面冲突);`gtrk-narration` 开工问询补一句内容离机告知(转写上传音轨、建索引上传抽帧图);`gtrk-style-maker` 安装用户 skill 前先问装到哪些 Agent(缺省只装当前这个),适配器钉在 `skills@1.7.4`。下载禁令的射程同步写进解说链规格(fix-narration-download-ban-scope)。
18
+ - `gtrk-oralcut` 剪完不再一律往下接力:只要剪辑工程、草稿或去停顿时,剪完停在交工,一句话交代下一步,说一声就接着做;看不出要不要成片时也先停。要成片、完整包装,或点名 B-roll、字卡、BGM、字幕之一时,照旧接着拆分镜派单。按 `/gtrk-talking-head` 跑粗剪时交回图纸,停在检查点①(adjust-oralcut-relay-by-request-scope)。
19
+ - `gtrk-splitter` 派单后不再一律往下铺:直接调用只要拆分稿或派单时,落地后停下,一句话交代下一步(下一步会往工程里加 B-roll 候选轨),说一声就接着做;看不出要不要往成片做时也先停。要成片、点名要铺 B-roll 等,或是被 `/gtrk-oralcut` 按「要成片」接力过来时,照旧交棒铺 B-roll(adjust-splitter-relay-by-request-scope)。
20
+ - `gtrk-mg` 出片后 QC 报出可换段的画面问题时,不再直接把你选定的 B-roll 换成排序第一的备选:先列出哪几处、拟换成哪段,以及连带影响(B-roll 重铺、受影响的 MG 颗粒重铺并覆盖手调、重渲可能计费),你同意后只换同意的那几处;改 plan 前留 `broll-plan.before-qc-<时间戳>.json` 与 `project.before-qc-<时间戳>.gtrk` 两份副本,拷回原文件名即回退、不再计费。事先说过「QC 报的问题直接换」也只免换段那一问,重铺(本地素材走云端编排计费)与重渲照旧先报预估、等你同意(fix-mg-qc-swap-needs-approval)。
21
+ - `gtrk-talking-head` 快速成片开剪前先停一次:有没有文稿、B-roll 从哪来、有没有屏录或第二机位(多条毛片时再加一问是不是同一期),一张表问完才跑粗剪——粗剪是这条链第一个计费的命令。请求里已经说清的不再问;目录里没看到文稿或屏录只作提示,不再当成答案;检查点①也不再补问这几项(fix-talking-head-kickoff-gate)。
22
+ - 修:`gtrk oralcut` 两条不同目录下的同名毛片(如换卡后重复的 `C0001.MP4`)同一秒开剪时,后落的剪映草稿会整份覆盖先落的那份,且没有任何提示。现在开剪前就在剪映草稿根里占好草稿文件夹,撞名时后到的那份改叫 `…-2` 并提示,原草稿逐字节不动;同一目录下同名毛片同秒并行时,产物目录同样追加 `-2`。显式 `--out` 重跑同一目录时,产物目录照旧复用,剪映草稿另起 `-2`,不再覆盖可能已在剪映里改过的旧草稿。顺带修正草稿信息里的名称与位置:此前每份 oralcut 草稿都写成草稿根本身(名称为「JianyingPro Drafts」),现在是草稿自己的文件夹。`gtrk oralcut-result` 取回时落回原跑批占好的文件夹;`gtrk project export` 落草稿时也不再覆盖同名草稿(fix-oralcut-jianying-draft-collision)。
23
+ - 修:`gtrk long2short` 与 `gtrk tool video_translate_dub` 的剪映草稿名不带时间戳,不同目录下的同名毛片哪怕先后跑,后跑的也会把先跑的草稿整份覆盖(long2short 两次条数不同时,一组草稿里还会混着两条毛片的片段),且没有提示。现在提交前就定下草稿名:同一条毛片在同一产物目录重跑,照旧覆盖上一次的草稿;撞上别的毛片的草稿时改落 `…-2`(long2short 整组改名,如 `talk-long2short-2_clip0`)并提示,原草稿逐字节不动。升级前跑过的产物目录第一次重跑会多出一份 `-2`。`gtrk project export` 的剪映草稿信息里的名称与位置也改正为草稿自己的文件夹(此前写成草稿根本身,名称为「JianyingPro Drafts」)(fix-long2short-dub-export-draft-collision)。
24
+ - 修:`gtrk oralcut` 与 `gtrk long2short` 跑之前不打印价格——skill 一直写着「跑前 CLI 自动查实时价并打印」,实际这两条命令从来没接价格查询。现在抽音频之前查一次官网实时价格,往 stderr 打一行「计费提示」:单价,加上按原片时长算的本次预估积分(以服务端结算为准);`--json` 结果与 `result.json` 增加 `pricing`。查不到时打「实时价格暂不可用,以服务端结算为准」,照常往下跑。两条命令新增 `--dry-run`:只探测并报价,不抽取、不上传、不计费、不建任何目录,适合长片或开工问询时先报价。`gtrk-oralcut`、`gtrk-long2short`、`gtrk-talking-head`、`gtrk-live-slicing`、`gtrk-narration` 的计费说明同步改写,`gtrk-live-slicing` 里写死的单价已删(fix-oralcut-long2short-price-line)。
25
+
26
+ ## 1.3.10(2026-10-26)
27
+
28
+ - **改**:`gtrk tool video_canvas_adapt` 的 `--clip-start` / `--clip-end` 改为**秒**(可带小数),原为帧序号。服务端同步改为按秒截取(此前文档站写秒、后端按帧号截,传 `5` 只截到 5 帧);区间为空或起点不小于视频时长时,服务端建单前即拒(错误码 6016,不扣费),CLI 对 `--clip-end` 不大于 `--clip-start` 也当场拦下。旧版 CLI 传的帧号会被当成秒(link-video-canvas-adapt-start-end-unit)。
29
+ - 修:`gtrk tool image_classic_template --template-mode image`(只要拼图、不画标题)不传 `--main-title` 也被当场拦下。现在与服务端同口径:`--main-title` 只在封面模式(缺省 / `full` / `text`)必填,`image` 时可省、payload 不带标题。标题含 emoji 等封面字体画不出的字符,服务端建单前即拒(错误码 6046,不扣费),CLI 原样转述(fix-cover-title-font-coverage)。
30
+ - 文档:README 补两种装法——通用 skills CLI(`npx skills add Gitruck/cli`)与 Claude Code 插件市场;`gtrk mg edit` 的计价说明同步为 6 积分/候选、前 200 个之后 8。
31
+
14
32
  ## 1.3.8(2026-10-18)
15
33
 
16
34
  - 新增参考片精读:`gtrk media` 看片命令族(`probe` / `lines` / `frames` / `tile` / `tiles` / `boundaries` / `cut`,纯本地、不计费)。取帧网格下方标出源片秒、时码与正在念的字;`--around` 按台词定位;`boundaries` 给视觉变化候选(机械证据,不是镜头判定)。配套随包 skill `/gtrk-ref-reading`:按「改不改变讲者的位置、大小或可见区域」把参考片的每个视觉系统归到 MG 或合成风格;`/gtrk-style-maker` 的作品逆向可接视频参考。
package/README.en.md CHANGED
@@ -84,6 +84,21 @@ Media processing requires FFmpeg. Check with `gtrk deps status`; when missing, e
84
84
 
85
85
  </details>
86
86
 
87
+ <details>
88
+ <summary>Install from a Skills directory or the Claude Code plugin marketplace</summary>
89
+
90
+ ```bash
91
+ # Generic skills CLI (skills.sh)
92
+ npx skills add Gitruck/cli
93
+
94
+ # Claude Code plugin marketplace
95
+ /plugin install gtrk --marketplace Gitruck/cli
96
+ ```
97
+
98
+ Both install the Skills only. You still need `npx @gitruck/cli@latest install` to install the gtrk CLI and set your API key.
99
+
100
+ </details>
101
+
87
102
  ## See what it can make
88
103
 
89
104
  These are real examples from the [product page](https://ai-mcn.tv/en/gtrk). Click a cover to watch the result, or compare the talking-head edit with its original footage.
package/README.md CHANGED
@@ -84,6 +84,21 @@ gtrk upgrade
84
84
 
85
85
  </details>
86
86
 
87
+ <details>
88
+ <summary>从 Skills 目录或 Claude Code 插件市场安装</summary>
89
+
90
+ ```bash
91
+ # 通用 skills CLI(skills.sh)
92
+ npx skills add Gitruck/cli
93
+
94
+ # Claude Code 插件市场
95
+ /plugin install gtrk --marketplace Gitruck/cli
96
+ ```
97
+
98
+ 这两种方式只装 Skills。gtrk CLI 和 API Key 仍需用 `npx @gitruck/cli@latest install` 安装和配置。
99
+
100
+ </details>
101
+
87
102
  ## 看看它能做什么
88
103
 
89
104
  下面选用与[产品专页](https://ai-mcn.tv/gtrk)一致的真实案例。点击封面观看成片,口播示例也可打开原片对比。
@@ -175,14 +175,16 @@ function sourceFor(b, T, f) {
175
175
  }
176
176
  /**
177
177
  * 用户覆盖套到颗粒回报的几何上(add-composite-slot-user-overrides,与客户端 `applySlotOverrides` 逐值相同):
178
- * box = 以槽位中心缩放 scale_pm/1000 倍、中心位移舞台宽高的 dx_pm / dy_pm 千分比,圆角同乘缩放;
178
+ * box = 以槽位中心缩放 scale_pm/1000 倍、中心位移 dx_px / dy_px 舞台像素(旧写法 dx_pm / dy_pm 为舞台宽高的千分比),圆角同乘缩放;
179
179
  * crop = 替换颗粒的 data-crop([上, 右, 下, 左] 比例)。
180
180
  */
181
181
  function applySlotOverrides(g, b) {
182
182
  let out = g;
183
183
  if (b.box) {
184
184
  const s = b.box.scale_pm / 1000, w = g.w * s, h = g.h * s;
185
- const cx = g.x + g.w / 2 + (b.box.dx_pm / 1000) * SW, cy = g.y + g.h / 2 + (b.box.dy_pm / 1000) * SH;
185
+ const px = "dx_px" in b.box;
186
+ const dx = px ? b.box.dx_px : (b.box.dx_pm / 1000) * SW, dy = px ? b.box.dy_px : (b.box.dy_pm / 1000) * SH;
187
+ const cx = g.x + g.w / 2 + dx, cy = g.y + g.h / 2 + dy;
186
188
  out = { ...out, x: cx - w / 2, y: cy - h / 2, w, h, radius: (g.radius || 0) * s };
187
189
  }
188
190
  if (b.crop) out = { ...out, crop: [b.crop.t_pm / 1000, b.crop.r_pm / 1000, b.crop.b_pm / 1000, b.crop.l_pm / 1000] };