@gitruck/cli 0.2.16 → 0.2.18

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 CHANGED
@@ -1,8 +1,8 @@
1
1
  # gtrk-cli · Agent Playbook
2
2
 
3
3
  给 **agent** 看的操作手册:把用户「想剪一条口播」的自然语言需求,落成对 `gtrk` CLI 的一次调用,
4
- 再把产物目录 + 三端(客户端 / 剪映 / PR)打开方式回给用户。任何 agent(Claude / Cursor / …)读完
5
- 这一份就能驱动整条闭环;Claude `/口播剪辑` skill 只是这份 playbook 的薄壳。
4
+ 再把产物目录 + 三端(客户端 / 剪映 / PR)打开方式回给用户。任何 agent 读完
5
+ 这一份就能驱动整条闭环;随包分发的各 `/gtrk-*` skill 只是这份 playbook 的薄壳。
6
6
 
7
7
  > 这条 CLI 做的事:**本地抽音频/720p(毛片永不上传)→ 只传抽出物 → 云端智能口播剪辑(video_oral_cut)
8
8
  > → 拉回 gtrk/剪映/PR 三方工程文件 →(可选)本地 ffmpeg 渲染成片 → 三端打开**。云端零改动、纯结构产物,
@@ -10,6 +10,17 @@
10
10
 
11
11
  ---
12
12
 
13
+ ## 产物落点纪律(全局 MUST · 本 playbook 与随包全部 skill 通用)
14
+
15
+ - 一切产物(成片 / 预览 / 代理 / 素材 / 工程文件)只落**工程目录**(产物目录)或**用户显式指定的输出路径**。
16
+ - **MUST NOT** 把成片、预览或任何大媒体文件复制到 agent 自有工作目录
17
+ (如用户文档目录下 agent 产品自建的目录、agent 家目录缓存、会话工作区)。
18
+ 需要引用媒体时**用原路径引用**,不做副本。
19
+ - 临时文件(抽帧图 / 中间物等)一律放系统 temp 且**用完即删**(含中断 / 失败路径也要清干净)。
20
+ - 违反本条的直观后果:用户系统盘被静默吃满——这是真机发生过的事故,不是假设。
21
+
22
+ ---
23
+
13
24
  ## 0. 一句话流程
14
25
 
15
26
  ```
package/README.md CHANGED
@@ -27,7 +27,7 @@
27
27
  | ✂️ | `gtrk split [拆分稿]` | 视觉拆分派单器:成片 × transcript 投影 → beat 分镜校验落地(`struct_meta.split` + `dispatch.json`),驱动四车道派单;`--column <id>` 按栏目词表校验 |
28
28
  | ⚙️ | `gtrk init` | 引导式一次性配置(API Key + 剪映草稿目录),之后免管 |
29
29
  | 🩺 | `gtrk doctor` | 体检:配置 / 云端连通 / 剪映目录 / 运行时一键自检 |
30
- | 🤖 | `gtrk skills install` | 通过通用 `skills` 适配器和 gtrk 补充层,把 9 个 CLI 自带 skill 装进本机检测到的主流 Agent;`--all` 可覆盖全部已登记宿主 |
30
+ | 🤖 | `gtrk skills install` | 通过通用 `skills` 适配器和 gtrk 补充层,把 10 个 CLI 自带 skill 装进本机检测到的主流 Agent;`--all` 可覆盖全部已登记宿主 |
31
31
  | ⬆️ | `gtrk upgrade` | 升级 CLI 到最新版 + 刷新 skill(配置保留);`--check` 只查不装 |
32
32
  | 🎞️ | `gtrk render` | 本地渲染 gtrk 工程(EDL)→ 成片 mp4(需 ffmpeg) |
33
33
  | 🔎 | `gtrk matrix` | B-roll 检索+**候选铺轨**:消费 FILM_BROLL 派单 → 产候选清单 + 下载 preview 代理铺 N 条候选轨(`--lay N` 默认 1,opencut 打开即可用轨道小眼睛对比;`--lay 0` 只出清单);`matrix search "<词>"` 单条 ad-hoc |
@@ -160,7 +160,7 @@ irm https://api.ai-mcn.tv:9000/broadcast/exe/install.ps1 | iex
160
160
  | ![在 Agent 中调用 gtrk 示例 1](assets/agent-example-1.png) | ![在 Agent 中调用 gtrk 示例 2](assets/agent-example-2.png) |
161
161
  | ![在 Agent 中调用 gtrk 示例 3](assets/agent-example-3.png) | ![在 Agent 中调用 gtrk 示例 4](assets/agent-example-4.png) |
162
162
 
163
- `gtrk install` 会把 9 个 CLI 自带 skill(`gtrk-oralcut`·`gtrk-splitter`·`gtrk-matrix`·`gtrk-mg`·`gtrk-ai-drama`·`gtrk-style-maker`·`gtrk-transcript`·`gtrk-tools`·`gtrk-music-visualizer`)装进本机检测到的 Agent。实现方式与 lark-cli 一致:gtrk 把本地 skill 源交给通用 `skills` CLI,由它维护 Agent 探测、目录映射及更新规则;gtrk 不再硬编码各家路径。
163
+ `gtrk install` 会把 10 个 CLI 自带 skill(`gtrk-oralcut`·`gtrk-splitter`·`gtrk-matrix`·`gtrk-mg`·`gtrk-ai-drama`·`gtrk-style-maker`·`gtrk-transcript`·`gtrk-tools`·`gtrk-music-visualizer`·`gtrk-cover`)装进本机检测到的 Agent。实现方式与 lark-cli 一致:gtrk 把本地 skill 源交给通用 `skills` CLI,由它维护 Agent 探测、目录映射及更新规则;gtrk 不再硬编码各家路径。
164
164
 
165
165
  默认使用 `~/.agents/skills` 作为统一正本,再链接到各 Agent 的兼容目录(Windows 使用 junction);链接不可用时适配器会回退复制。这样更新只有一份正本,不会让多份副本逐渐漂移。常用命令:
166
166
 
@@ -202,9 +202,10 @@ gtrk skills install --copy
202
202
  | 📝 | `/gtrk-transcript` | `gtrk transcript` | 本地视频 → 一个含 Agent 总结、时码记录和纯文本的 Markdown,**不在成片 SOP 序列内** |
203
203
  | 🧰 | `/gtrk-tools` | `gtrk tool <name>` | 单点工具族(图转运镜 / 图片·视频抠像…)——单发单收,**不在成片 SOP 序列内**、随时可独立用 |
204
204
  | 🎵 | `/gtrk-music-visualizer` | `gtrk music-visualizer` | 一首歌 → 频谱可视化成片(模板 + 可选背景/封面 + 配色样式),**不在成片 SOP 序列内**、独立引流用 |
205
+ | 🖼️ | `/gtrk-cover` | (无命令,纯创作) | 封面工作台两阶段:设计诊断 + 三尺寸中英双版文生图 Prompt → 用户外部平台抽图 → H5 排字工作台(拖拽/滚轮微调、一键导出多尺寸 PNG)。栏目封面审美经栏目配置 `style.skills`(`produces:"cover"`)注入;**不在成片 SOP 序列内**(投放配套的「第 0 阶段」) |
205
206
 
206
207
  > **skill 与命令的区别**:`/gtrk-mg` 是**脑**——懂它在 SOP 第 ④ 步(B-roll 定了才铺 MG)、带用户确认、按栏目配置解析该产哪种颗粒;`gtrk mg` 是**手**——纯确定性 lint + 铺轨。你对话触发 skill,skill 替你跑命令。
207
- > 上面 9 个 `/gtrk-X` 都是 **CLI 自带框架 skill**(`gtrk skills install` 装)——`/gtrk-transcript` 独立驱动视频转文字稿,`/gtrk-tools` 只负责单点工具族,二者都不属成片 SOP 序列;`/gtrk-ai-drama`·`/gtrk-style-maker` 是纯创作 skill(无命令)。栏目专属的**视觉风格/生产内容**另由你栏目的生产 skill(`/gtrk-style-maker` 产、经栏目配置 `style.skills` 绑定)供,不写死在这些框架 skill 里。
208
+ > 上面 10 个 `/gtrk-X` 都是 **CLI 自带框架 skill**(`gtrk skills install` 装)——`/gtrk-transcript` 独立驱动视频转文字稿,`/gtrk-tools` 只负责单点工具族,`/gtrk-cover` 管封面,三者都不属成片 SOP 序列;`/gtrk-ai-drama`·`/gtrk-style-maker`·`/gtrk-cover` 是纯创作 skill(无命令)。栏目专属的**视觉风格/生产内容**另由你栏目的生产 skill(`/gtrk-style-maker` 产、经栏目配置 `style.skills` 绑定)供,不写死在这些框架 skill 里。
208
209
 
209
210
  **各车道的具体视觉/内容怎么产**——MG 动态图长什么样、AI 再现什么调性——不写死在 CLI 里,而由**你自己栏目的生产 skill** 提供(用 `/gtrk-style-maker` 访谈式产出、留本地)。它们经**栏目配置 `style.skills[].produces`**(值 = 车道名)绑定,`gtrk mg` / `gtrk matrix` 等**通用驱动器**据此消费。**驱动方向 = CLI 驱动栏目 skill**:栏目 skill 只供风格/内容、不含任何「跑哪条命令」的编排职责;框架只认车道与管线接口,画面风格永远归你的栏目。不建栏目就用内置默认,端到端照常跑。
210
211
 
@@ -354,7 +355,7 @@ gtrk transcript "D:/素材/采访视频.mp4" --lang zh-CN --out "D:/文字稿/
354
355
  >
355
356
  > **素材落盘自检**:写回工程之后自动查一遍 `materials[].path` 是不是真的都落盘了(**只读、只报不动**)。相对路径恒以 **`.gtrk` 文件所在目录**(`<产物目录>/gtrk/`)为基准解析。`--json` 出 `integrity:{ checked, counts, dangling:[…], danglingReferenced, danglingOrphan, external:[…], noPathIds:[…] }`——`dangling` 是工程自带素材的**悬空引用**(登记在、文件不在)全量清单,每条标出**是否被时间线引用**及引用位置(被引用 = 那一段没素材可放,比孤儿严重得多);绝对路径缺失另计 `external`(外接盘没挂载也会这样,不混进主判);http(s) 素材只计数、**不发网络请求**。**这是告知不是拦阻**:查出悬空不改 `ok`、不改退出码、不删任何素材条目或文件。悬空多半是历史遗留(如客户端「确认原片」下载中断),修法是在客户端重新确认原片或删掉那条 clip。没写回的运行(`--lay 0` / 拒铺 / 工程缺失)**不出 `integrity` 字段**——缺席 = 本次没查,不是「查过且干净」。
356
357
  >
357
- > **纯黑底垫轨**:默认在全部候选轨之下、口播主轨之上垫一条纯黑底轨(`struct_meta.broll.black_track` 记其 `track_index`),按已落成的 beat 包络整条铺满,使 B-roll 期间(含候选轨留空处)不漏出底下的口播画面。**代价是「黑底空洞」**:候选轨没填满的地方就是纯黑压口播,铺轨会把它算出来——`--json` 恒出 `lay.blackBedHoleSec` 与逐段的 `lay.blackBedHoles`,单段 ≥ 3s 或单 beat 占比 ≥ 15% 时另出一条非致命告警(不改退出码、不阻断铺轨),可据此调 `--score-floor`、改用 `--no-black-bed`、或到客户端手动补片。字节落 `assets/builtin/solid-000000-<W>x<H>.png`,与客户端内置纯色素材同 id 命名空间、幂等复用。删候选轨时别误删它;换片请拖到候选轨颗粒上、**别拖到黑底条上**——含拖拽保护的客户端会直接拒绝并提示,尚未升级到该版本的客户端会被误拖打出黑底破洞(该处漏口播)。不想要加 `--no-black-bed` 重跑即剥净。
358
+ > **纯黑底垫轨**:默认在全部候选轨之下、口播主轨之上垫一条纯黑底轨(`struct_meta.broll.black_track` 记其 `track_index`),按已落成的 beat 包络整条铺满,使 B-roll 期间(含候选轨留空处)不漏出底下的口播画面。**代价是「黑底空洞」**:候选轨没填满的地方就是纯黑压口播,铺轨会把它算出来——`--json` 恒出 `lay.blackBedHoleSec` 与逐段的 `lay.blackBedHoles`,单段 ≥ 3s 或单 beat 占比 ≥ 15% 时另出一条非致命告警(不改退出码、不阻断铺轨),可据此调 `--score-floor`、改用 `--no-black-bed`、或到客户端手动补片。字节落 `assets/builtin/solid-000000-<W>x<H>.png`,与客户端内置纯色素材同 id 命名空间、幂等复用。删候选轨时别误删它;换片请拖到候选轨颗粒上、**别拖到黑底条上**——**当前所有已发版客户端都没有拖拽保护**(保护代码已落、**待发版**):拖到黑底条上**既不换片也不提示**,而是**静默新建一条 video 轨**把这条 B-roll 插进去;落点在黑底条下半区时新轨排在不透明黑底之下、预览里完全看不见,看着像「什么都没发生」。**按一次 `Ctrl+Z` 即整条撤销**(插入 + 建轨一起回、不留空轨)。不想要加 `--no-black-bed` 重跑即剥净。
358
359
 
359
360
  ### `gtrk mg` — MG 动态图颗粒(铺轨 / lint / status)
360
361
 
@@ -499,7 +500,7 @@ gtrk-cli/
499
500
  ├── src/index.ts # commander 入口
500
501
  ├── src/commands/ # 子命令:install / init / oralcut / transcript / split / doctor / upgrade / skills
501
502
  ├── src/lib/ # cloud / column-config / splitdoc / projection / user-config / jianying / …
502
- ├── skills/ # 打包的框架 skills:oralcut / splitter / matrix / mg / ai-drama / style-maker / transcript / tools
503
+ ├── skills/ # 打包的框架 skills:oralcut / splitter / matrix / mg / ai-drama / style-maker / transcript / tools / music-visualizer / cover
503
504
  ├── contracts/ # 框架契约库正本(gsap-emit v1 + handoff→契约映射表)
504
505
  ├── assets/ # README 配图(介绍图 / Agent 调用示例 / 剪映草稿目录指引图)
505
506
  └── AGENT.md # 可移植 agent playbook(skill 底座)