@gitruck/cli 1.2.15 → 1.3.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.
- package/AGENT.md +12 -23
- package/CHANGELOG.md +9 -5
- package/contracts/README.md +2 -0
- package/contracts/gsap-emit-v1-evidence.md +196 -0
- package/contracts/gsap-emit-v1.md +162 -408
- package/dist/index.js +213 -213
- package/docs/reference.en.md +11 -11
- package/docs/reference.md +12 -12
- package/package.json +1 -1
- package/skills/gtrk-ai-drama/SKILL.md +7 -7
- package/skills/gtrk-cover/SKILL.md +3 -3
- package/skills/gtrk-food-recap/SKILL.md +9 -11
- package/skills/gtrk-live-slicing/SKILL.md +17 -26
- package/skills/gtrk-long2short/SKILL.md +2 -2
- package/skills/gtrk-matrix/SKILL.md +11 -15
- package/skills/gtrk-mg/SKILL.md +21 -21
- package/skills/gtrk-music-visualizer/SKILL.md +3 -3
- package/skills/gtrk-narration/SKILL.md +23 -57
- package/skills/gtrk-oralcut/SKILL.md +4 -8
- package/skills/gtrk-splitter/SKILL.md +3 -3
- package/skills/gtrk-style-maker/SKILL.md +1 -1
- package/skills/gtrk-talking-head/SKILL.md +5 -6
- package/skills/gtrk-tools/SKILL.md +4 -4
- package/skills/gtrk-transcript/SKILL.md +4 -9
- package/skills/gtrk-travel-recap/SKILL.md +51 -76
- package/skills/gtrk-vlog-docu/SKILL.md +15 -15
- package/skills/gtrk-voiceover/SKILL.md +2 -2
|
@@ -118,11 +118,11 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
118
118
|
|
|
119
119
|
## 调用纪律(每次都照做)
|
|
120
120
|
|
|
121
|
-
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:
|
|
121
|
+
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:
|
|
122
|
+
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
122
123
|
> 一切产物只落 `outDir`(缺省 = 输入同目录)或**用户显式指定的 `--out`**;
|
|
123
124
|
> **MUST NOT** 把成片、预览或任何大媒体文件复制到 agent 自有工作目录(如用户文档目录下 agent 产品自建的目录、agent 家目录缓存、会话工作区)——需要引用媒体时**用原路径引用**,不做副本;
|
|
124
|
-
> 临时文件一律放系统 temp
|
|
125
|
-
> 交付物(颗粒 HTML / 工程文件 / 派单稿 / 文稿等)SHALL **直接以工程目录内的最终路径为写入路径**,MUST NOT 先写 agent 自有工作目录再拷进工程——**中转本身即违规**,不以「最后拷进去了」免责,**体积不是豁免理由**(2026-09-07 事故里漂掉的是 2.7–6.2 KB 的 HTML)。与上一条的分界:抽帧图这类**不交付**的中间物走系统 temp;**要交付的东西没有暂存态**。
|
|
125
|
+
> 临时文件一律放系统 temp 且**用完即删**。交付物直接写入工程目录或用户显式指定的路径;引用媒体用原路径。
|
|
126
126
|
|
|
127
127
|
1. **先看清单、再对号**:用户的意图对到某个工具名(拿不准就 `gtrk tool list --json` 核对触发语与输入要求)。
|
|
128
128
|
2. **执行前转述实时计费提示**:先读本次 `gtrk tool list --json` 的 `billingHint`/`pricing`,再把实时结果如实告诉用户;不得引用本文件或记忆中的旧价格。若显示价格暂不可用,就说明最终以服务端结算为准。
|
|
@@ -133,7 +133,7 @@ description: gtrk 单点工具与媒体转换能力的调用向导,覆盖 `gtr
|
|
|
133
133
|
7. **透传高级参数**:命令没为某个云端参数开 flag 时,用 `--param k=v`(可重复)或 `--params-json '<对象>'` 直接透传(如 `image_move` 想指定输出几何 `--param width=1080 --param height=1920`)。
|
|
134
134
|
8. **单发单收、批量靠循环**:一次一份输入;用户要批处理就你逐个循环调。例外是多文件图片工具(`image_classic_template` / `image_vertical_stitch`)——它们的一份输入天然是一组图片(一次任务一次计费),传参顺序即拼装顺序,别把它当批处理。
|
|
135
135
|
|
|
136
|
-
图片比例转换常用形态:`gtrk tool image_canvas_adapt ./photo.jpg --canvas-width 1080 --canvas-height 1920 --canvas-type rectangle --json`。`--canvas-type`
|
|
136
|
+
图片比例转换常用形态:`gtrk tool image_canvas_adapt ./photo.jpg --canvas-width 1080 --canvas-height 1920 --canvas-type rectangle --json`。`--canvas-type` 只接受 `normal`、`rectangle`、`square`;省略画布参数时不替服务端写死默认值。
|
|
137
137
|
|
|
138
138
|
图转运镜可指定运镜方式:`gtrk tool image_move ./photo.jpg --motion zoom_in_center --json`。`--motion` 未传时云端自动选择(构图 + 主体识别 + 随机,同图重跑结果会变);显式指定后同图同参重跑结果一致。合法值 26 个、分三组,用户说「往右推 / 拉远 / 从左往右扫」这类自然语言时按语义对号入座,对不上就问清,别瞎猜:
|
|
139
139
|
|
|
@@ -17,11 +17,8 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
17
17
|
|
|
18
18
|
## 硬边界
|
|
19
19
|
|
|
20
|
-
> **产物落点纪律(MUST · 全文见随包 `AGENT.md`
|
|
21
|
-
>
|
|
22
|
-
> **MUST NOT** 把原视频或任何大媒体文件复制到 agent 自有工作目录(如用户文档目录下 agent 产品自建的目录、agent 家目录缓存、会话工作区)——需要引用媒体时**用原路径引用**,不做副本;
|
|
23
|
-
> 临时文件一律放系统 temp 且**用完即删**(含中断 / 失败路径)。违者后果 = 用户系统盘被静默吃满(真机事故,非假设)。
|
|
24
|
-
> 交付物(颗粒 HTML / 工程文件 / 派单稿 / 文稿等)SHALL **直接以工程目录内的最终路径为写入路径**,MUST NOT 先写 agent 自有工作目录再拷进工程——**中转本身即违规**,不以「最后拷进去了」免责,**体积不是豁免理由**(2026-09-07 事故里漂掉的是 2.7–6.2 KB 的 HTML)。与上一条的分界:抽帧图这类**不交付**的中间物走系统 temp;**要交付的东西没有暂存态**。
|
|
20
|
+
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:唯一 Markdown 产物写入 CLI 返回的 `output` 路径(缺省=源文件同目录)或用户指定的 `--out`;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
21
|
+
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
25
22
|
|
|
26
23
|
- 只接收用户电脑上已存在的视频/音频文件;遇到 URL、平台视频 ID 或“帮我下载后转写”时,要求用户先提供本地文件,不代为抓取。
|
|
27
24
|
- CLI 在本地抽取/转码 16 kHz 单声道音频,只上传音频衍生物;原视频/原音频文件不得上传。
|
|
@@ -35,7 +32,7 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
35
32
|
|
|
36
33
|
2. **先判用途,再决定带不带 `--json`。这一步 MUST NOT 跳过,也 MUST NOT 无脑恒带。**
|
|
37
34
|
|
|
38
|
-
`--json`
|
|
35
|
+
`--json` 不是单纯的输出格式开关,**它决定服务端用哪个引擎**:
|
|
39
36
|
|
|
40
37
|
| 用途 | 命令 | 落腿 |
|
|
41
38
|
|---|---|---|
|
|
@@ -52,9 +49,7 @@ description: 将用户本地视频或音频(自备配音)转成一个飞书
|
|
|
52
49
|
|
|
53
50
|
可选参数:`--out <file>`、`--lang zh-CN`、`--ffmpeg-path <dir>`、`--reupload`。
|
|
54
51
|
|
|
55
|
-
> 🔴 **恒带 `--json`
|
|
56
|
-
> —— Markdown 只渲染句子,`words[]` 一个字都不被读。2026-09-19 一次 254 条的批量转写因此
|
|
57
|
-
> 有 122 条走错了腿,实测发现。**拿不准就不带**:真需要字级时,消费方(`split` / `subtitle`)
|
|
52
|
+
> 🔴 **恒带 `--json` 会把只想要文字稿的请求也送进厂商字级腿**,且 Markdown 不消费 `words[]`。**拿不准就不带**:真需要字级时,消费方(`split` / `subtitle`)
|
|
58
53
|
> 会明确报错要 `words[]`,那时补跑一次即可;反过来多付的钱收不回来。
|
|
59
54
|
> 用户明确说「要建工程 / 要拆分 / 要字幕」才算「喂工程」;只说「转个文字稿」不算。
|
|
60
55
|
|
|
@@ -9,9 +9,9 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
9
9
|
|
|
10
10
|
> **定位**:本 skill 是第一张 **structure 级组合图纸**——它不新增任何命令,只编排既有原子零件(transcript / matrix / project init / split / mg / audio lay / subtitle lay / TTS 工具)。零件的参数细节以各自 skill(`gtrk-matrix` / `gtrk-splitter` / `gtrk-mg` / `gtrk-transcript`)与 `--help` 为准,**本图纸引用不复制**;但**编排次序、检查点、配方级参数**以本图纸为准。**CLI 是手,你是脑**:写稿、切 beat、挑候选信号、产字卡颗粒、管检查点,都是你的活。
|
|
11
11
|
>
|
|
12
|
-
>
|
|
12
|
+
> **家族归位**:本图纸是**解说链**(`gtrk-narration` 正本)的旅拍垂类实例。时序铺排、引用段、出处对齐等链级条款以 `gtrk-narration` 为正本;本图纸只补充旅拍要素层(贵大奇多钩子、攻略 tips、升华笔法)。素材无自带时序的题材(科普/情感/带货)走 `gtrk-voiceover`。
|
|
13
13
|
>
|
|
14
|
-
> **本 skill
|
|
14
|
+
> **本 skill 已含跑通全链需要的编排信息**。
|
|
15
15
|
|
|
16
16
|
## 一、输入契约与双场景识别
|
|
17
17
|
|
|
@@ -23,11 +23,11 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
23
23
|
| BGM 音频文件 | 可选 | 没有就走素材矩阵搜索(见检查点①) |
|
|
24
24
|
| 介绍类文本(txt/md) | 可选 | 有则作写稿补充素材 |
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
**一夹多片时检索域按场景分流**:二创场景一个夹里常躺着好几条互不相干的片,
|
|
27
27
|
**B-roll 检索域 MUST 收窄到正在做的那一部片本身**——`--dirs` 既吃文件夹也吃**单个素材文件**,传文件即把域收窄到该素材(见 §五 ⑦ 的★铁则)。
|
|
28
28
|
原创(自拍素材集)那一档整夹就是这一片的素材域,**传夹正确**。
|
|
29
29
|
|
|
30
|
-
**MUST NOT 下载二创源片 /
|
|
30
|
+
**MUST NOT 下载二创源片 / 主体素材**:网络视频二创场景下,用户提供的文件夹就是输入,下载动作归用户。平台授权素材(素材矩阵的 BGM / 空镜)可按其签名直链落地;这条例外不适用于源片与主体画面素材。
|
|
31
31
|
|
|
32
32
|
**双场景识别**(决定理解编排走法):
|
|
33
33
|
- **二创**:文件夹里是网络旅行长视频(通常含博主解说语音)→ 原片文案是写稿主料;
|
|
@@ -35,22 +35,19 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
35
35
|
- 拿不准就 ffprobe 看时长与条数:单条 10 分钟以上大概率二创;几十条短素材大概率原创。仍拿不准,问用户一句。
|
|
36
36
|
- 原创场景的素材集常常**通篇没有对白**——那就不跑转写,下表的语种一问以「无对白 / 不转写」闭合,MUST NOT 因缺这个答案阻塞开工。
|
|
37
37
|
|
|
38
|
-
**开工三问:稿源 · 声音基座 ·
|
|
38
|
+
**开工三问:稿源 · 声音基座 · 源片语种**。三问开工时与双场景识别**一并问清、一张表一次问完、MUST NOT 代猜**:
|
|
39
39
|
|
|
40
40
|
| 问 | 选项与走法 |
|
|
41
41
|
|---|---|
|
|
42
42
|
| 稿从哪来 | **AI 代写**(缺省,§三 规约写)/ **用户自备稿**——跳过写稿,稿直接进检查点①过目(文风铁律不强加于用户手稿,只提示明显硬伤) |
|
|
43
43
|
| 声音怎么来 | **TTS 配音**(缺省,检查点①挑音色)/ **用户自己念**——拿念稿毛片先走 `gtrk oralcut` 粗剪(带稿最准;外录收音先 `gtrk audio align` 对轨),产出的粗剪工程即时间基座,§五 的「配音④→建工程⑤」两步跳过,从拆分⑥接入,后续铺排/字卡/BGM/字幕照旧 |
|
|
44
|
-
| **源片语种 / 方言** | 取证=**听一段 / 看片内有无内嵌字幕 / 看素材出处**;答案定 §五 ① 的 `gtrk transcript --lang`(`zh-CN` 普通话 / **`zh-HK` 粤语** / `en-US` / `ja-JP`…)。**MUST 问用户、MUST NOT 代猜、MUST NOT 以缺省 `zh-CN`
|
|
44
|
+
| **源片语种 / 方言** | 取证=**听一段 / 看片内有无内嵌字幕 / 看素材出处**;答案定 §五 ① 的 `gtrk transcript --lang`(`zh-CN` 普通话 / **`zh-HK` 粤语** / `en-US` / `ja-JP`…)。**MUST 问用户、MUST NOT 代猜、MUST NOT 以缺省 `zh-CN` 静默开跑转写**——转写是计费动作且早于检查点①,非中文素材传错语种会让检查点①拿到错误稿件并产生重复 ASR 成本。粤语建议如实填 `zh-HK`;当前 `--json` 路径按字级转写。素材无对白:答「无对白 / 不转写」即闭合 |
|
|
45
45
|
|
|
46
|
-
>
|
|
46
|
+
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
47
47
|
|
|
48
|
-
##
|
|
48
|
+
## 一′、素材适配闸(写稿前必过)
|
|
49
49
|
|
|
50
|
-
>
|
|
51
|
-
> 根因不是漏写一句,是**唯一的路由条款判的是「时序」而不是「题材」**——§一 的家族归位按「素材有无自带时序」出链,
|
|
52
|
-
> 而剧情短片**自带叙事时序**(剧情线),按解说链判据它不但不出链,**反而正落在射程内**,出链闸永远不会触发。
|
|
53
|
-
> ⇒ **本闸判的是题材,与「有无自带时序」正交,MUST NOT 由后者代行。**
|
|
50
|
+
> 本闸判的是题材,与「有无自带时序」正交。剧情短片、摆拍表演和单一室内场景不能直接套用旅拍要素层。
|
|
54
51
|
|
|
55
52
|
**取证零新增计费**(读的都是编排里本来就要产的东西,MUST NOT 为这道闸新加一次 describe 或转写):
|
|
56
53
|
|
|
@@ -62,10 +59,10 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
62
59
|
- 主判据——这一条**能不能回答「这是在哪、看到了什么」**(可辨认的地点 + 所见之物)。能答的占比过低 ⇒ 不适配;
|
|
63
60
|
- 反向命中任一即不适配:文本呈现**剧情对白**(人物一来一往推进情节)/ **摆拍表演**(演出来的而非记录下来的)/ **单一室内场景**(全片不出一个可辨认的地点)。
|
|
64
61
|
|
|
65
|
-
**命中即硬停:MUST NOT 进入写稿**(形制照 `gtrk-vlog-docu`
|
|
62
|
+
**命中即硬停:MUST NOT 进入写稿**(形制照 `gtrk-vlog-docu` 的立神闸)。
|
|
66
63
|
硬停位置是**写稿之前 = TTS 计费之前**——它与 §四 检查点①「未经确认 MUST NOT 发起计费动作」是同一条防线的**前置一层**:
|
|
67
64
|
检查点①拦的是「稿子对不对」,本闸拦的是「**这活该不该接**」。停下时 MUST 如实列出**哪几条不适配 + 依据原文**
|
|
68
|
-
(引 `desc` / `tags` / 转写里的原句,别只下结论),并给三条出路:
|
|
65
|
+
(引 `desc` / `tags` / 转写里的原句,别只下结论),并给三条出路:
|
|
69
66
|
|
|
70
67
|
| 出路 | 怎么走 |
|
|
71
68
|
|---|---|
|
|
@@ -74,7 +71,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
74
71
|
| ③ **照跑** | 用户坚持就照办,但 **MUST 在交付说明里如实登记**「素材与旅拍垂类不匹配、要素层(贵大奇多钩子 / 攻略 tips)多半落空」(降档路径如实登记,口径同《成片型图纸公约》) |
|
|
75
72
|
|
|
76
73
|
**两条边界写死**:agent **MUST NOT 自行判死**(决定权在用户,本闸只提名不宣判)、**MUST NOT 静默照跑**——
|
|
77
|
-
|
|
74
|
+
静默照跑会让整条链在错误题材上完成并产生不必要的计费,因此必须在此停下。
|
|
78
75
|
|
|
79
76
|
## 二、全链总览(快速成片)
|
|
80
77
|
|
|
@@ -94,7 +91,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
94
91
|
⑫ 交付 客户端打开工程出片(gtrk render 仅主轨快照预览,见 §八)
|
|
95
92
|
```
|
|
96
93
|
|
|
97
|
-
|
|
94
|
+
检查点①之后一路跑完不再打扰用户——**垂类示例的承诺面就是快速成片一杆到底**。
|
|
98
95
|
⚠️ 这条承诺**以 ①′ 适配闸通过为前提**:闸命中时的那次停顿不算「打扰用户」,它是在把钱花出去之前问一句「这活该不该接」。交付后对个别环节不满意走 §七 增量重跑,对垂类玩法本身不满意走 §七 个性化出路。
|
|
99
96
|
|
|
100
97
|
## 三、三段式写稿规约
|
|
@@ -103,16 +100,16 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
103
100
|
|
|
104
101
|
**结构三段式**:第一部分「钩子」抓眼球保留存 → 第二部分「干货」给内容价值 → 第三部分「升华」给情绪价值。爆款四属性贯穿:快乐+知识+共鸣+节奏。
|
|
105
102
|
|
|
106
|
-
|
|
103
|
+
**背景检索建议**:写稿信息源除了画面与音频(字幕不一定有),
|
|
107
104
|
**建议**执行 agent 对素材主题的关键词做一轮背景/上下文检索(地名典故、店家来历、片名与
|
|
108
|
-
|
|
105
|
+
公开报道等),检索所得须与素材内可见事实互证后才可入稿,并标注来源。
|
|
109
106
|
有检索能力就做、没有不强求(能力缺席按纯素材信息写,不算违约);检索到的**外部数字与
|
|
110
107
|
争议性说法宁缺勿滥**。
|
|
111
108
|
|
|
112
109
|
**文风铁律**:
|
|
113
110
|
- 禁模板连接词:让我们/首先/然后/最后/此外 等一律不用;
|
|
114
111
|
- 拒翻译腔:全部短句中文语感,无欧化从句;
|
|
115
|
-
-
|
|
112
|
+
- **禁「否定—转折」对举句式(最高优先级)**:禁的是整个家族,不只字面:
|
|
116
113
|
- 「这不是 X,而是 Y」/「与其说是 X,不如说是 Y」
|
|
117
114
|
- 「X 不仅仅是 Y,更是 Z」/「X 不只是 Y,它还是 Z」
|
|
118
115
|
- 「重要的不是 X,而是 Y」/「真正的 X 从来不是 Y」
|
|
@@ -127,8 +124,8 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
127
124
|
- 内容支撑:有多少真东西说多少话,素材再多也不注水;
|
|
128
125
|
- 素材支撑:按「30% 图片×8 秒 + 70% 视频素材时长」估算上限,稿子在写稿阶段就按上限收敛(不要等铺轨时开天窗);把这个秒数换算成字数用下一条的折算口径(**公式本身不动**);
|
|
129
126
|
- **折算口径 = 挂钟语速**(wall-clock:稿件字数 ÷ 合成音频总时长,**含**句间停顿),**按检查点①选定的那条音色取值:读 catalog 该音色的 `speech_rate_cpm`(字/分钟),并把 `speech_rate_basis` 一并报给用户(`measured` = 实测 / `derived` = 由声学参数推算)**;catalog 没给该字段(非中文音色)或拉不到 catalog 时才用**缺省 ≈330 字/分钟**,并明说这是缺省估值、**不是该音色的实测值**。3 分钟成片 ≈ **1000 字**。
|
|
130
|
-
缺省 330
|
|
131
|
-
- ⚠️ **MUST NOT 拿计费折算常量(240
|
|
127
|
+
缺省 330 的依据与标定方法见 `references/speech-rate.md`,本图纸只引用该单一真值源。
|
|
128
|
+
- ⚠️ **MUST NOT 拿计费折算常量(240 字/分钟)推稿子字数**:计费口径与写稿口径分开,计费常量只用于估算费用。
|
|
132
129
|
|
|
133
130
|
**写后自校验清单**(逐项过,不过重写):
|
|
134
131
|
- [ ] 三段结构完整、时长在 min 公式内
|
|
@@ -146,7 +143,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
146
143
|
- **升华笔法**(第三部分):思考/感悟/启发/感动,正能量收束;第一人称历数、物象隐喻收尾都是成熟笔法;
|
|
147
144
|
- 有文化衍生空间(历史典故/风俗人文)可适当发挥,但以原素材内容为锚。
|
|
148
145
|
|
|
149
|
-
## 三′、L1 看点 rubric ·
|
|
146
|
+
## 三′、L1 看点 rubric · 画面投影版(供 `--highlight-weight` 使用)
|
|
150
147
|
|
|
151
148
|
`highlight` 是**镜头看点分**——服务端 VLM 对着一帧画面打 0–100。旅拍这一档的准则
|
|
152
149
|
(`highlight_rubric`):
|
|
@@ -167,8 +164,7 @@ description: 旅拍解说一站式成片图纸——输入一个旅拍素材文
|
|
|
167
164
|
> 分工是:**画面 rubric 管「这一帧值不值得看」,写稿管「这件事值不值得讲」。**
|
|
168
165
|
> 平淡的过渡帧判低分不等于不可用——降权不排除,候选稀疏时照样上(留空更难看)。
|
|
169
166
|
|
|
170
|
-
|
|
171
|
-
`--highlight-weight` 打的一直是服务端领域无关缺省分):把上面代码块**原样**存成工程目录下的
|
|
167
|
+
**传入方式**:把上面代码块**原样**存成工程目录下的
|
|
172
168
|
`highlight-rubric.txt`,理解那一步带上它——
|
|
173
169
|
|
|
174
170
|
```bash
|
|
@@ -183,50 +179,36 @@ gtrk matrix describe --plan <工程>/split/broll-plan.json --highlight-rubric @<
|
|
|
183
179
|
|
|
184
180
|
写完稿**必须停下**,把以下六项一次给用户拍板。**未经确认 MUST NOT 发起 TTS 与 B-roll 云端编排计费动作**。
|
|
185
181
|
|
|
186
|
-
>
|
|
187
|
-
> 本节原以「TTS 是唯一计费闸」立论,已不成立——**本地素材的编排自该日起默认走云端并按「编排量」计费**,
|
|
188
|
-
> `matrix lay` **跑前会再停一次**报预估(那次不是拍板,是花费确认)。
|
|
189
|
-
> **agent 纪律**:MUST 先把预估用量告诉用户、**拿到同意再带 `--yes`**;**MUST NOT 未经同意就带 `--yes`**。
|
|
190
|
-
> 不带 `--yes` 且无 TTY 时本步**整轮铺轨中止**、工程零改动(plan 照常可用、可重跑)——
|
|
191
|
-
> **MUST NOT 把它描述成「回落本机编排」**:那是 2026-08-31 二次拍板前的旧行为,家族里还有过期字面在流传。
|
|
192
|
-
> (260902 真机三条片全部停在第 ⑦ 步,就是「图纸没带 `--yes`、也没地方报预估」这一处漏的形态。)
|
|
182
|
+
> 本地素材的编排缺省走云端并按编排量计费。`matrix lay` 跑前必须报告预估用量,取得同意后才能带 `--yes`;无 TTY 且未确认时整轮中止,工程不改动,plan 可重跑。
|
|
193
183
|
|
|
194
|
-
>
|
|
184
|
+
> **语种不在这六项里**:它在 §一 开工三问就已定,检查点①对它最多做**过目复核**。
|
|
195
185
|
> MUST NOT 把语种拖到这一步才问——此时 ① 的 `gtrk transcript` 已经跑完并已计费,稿子也已按错语种写出来了。
|
|
196
186
|
|
|
197
187
|
1. **解说稿 + 标题**:正文全文贴给用户(不是给路径),标题候选列出;
|
|
198
|
-
2.
|
|
188
|
+
2. **画幅**:问目标平台——横屏 B 站/西瓜=1920x1080,竖屏抖音=1080x1920。**素材几何与画幅不一致时明确提示**(横素材→竖画布会裁切或留边);
|
|
199
189
|
3. **TTS 音色**:拉 catalog(`GET {apiBase}/task/tts/voices`,免鉴权)按内容调性挑 2-4 个候选,**每个附试听链接**(catalog 的 audition_url 字段,api.ai-mcn.tv:9000 静态直链)——用户在对话框里直接点开听。internal 标注的音色注明「仅内部成员」。也可按用户描述语义挑(「要个温柔女声」)。
|
|
200
|
-
**每个候选还 SHALL 附上该音色的挂钟语速与据此推的稿件字数区间**(取同一份 catalog 载荷里的 `speech_rate_cpm` + `speech_rate_basis`,零额外往返;该字段缺席就明说「用缺省 330
|
|
190
|
+
**每个候选还 SHALL 附上该音色的挂钟语速与据此推的稿件字数区间**(取同一份 catalog 载荷里的 `speech_rate_cpm` + `speech_rate_basis`,零额外往返;该字段缺席就明说「用缺省 330 估」;标定方法见 `references/speech-rate.md`)——挑音色的同时也是在挑稿子长度,别让用户回头才发现稿子长了三成。这条是**加项**,MUST NOT 削弱既有的「无试听链接 = 未完成推荐」义务;
|
|
201
191
|
4. **BGM 处置(双来源)**:
|
|
202
192
|
- 用户有本地音乐 → 询问是否 `gtrk tool audio_separation` 伴奏分离后取伴奏(缺省建议分离——TTS 配音不与歌曲人声打架);
|
|
203
193
|
- 用户未提供 → **搜同和素材矩阵**:`gtrk matrix material "<按稿件情绪+地理文化写的检索词>" --scope audio --top-k 5 --diversity --json`
|
|
204
194
|
(检索词口径见公约 §三′:**内容驱动、禁通用词、至少含一个只有这一片才成立的词**;候选
|
|
205
|
-
MUST 给用户挑不许默认 top1;跨片避让由 `audio lay` 记账 + 检索缺省 `--exclude-recent`
|
|
195
|
+
MUST 给用户挑不许默认 top1;跨片避让由 `audio lay` 记账 + 检索缺省 `--exclude-recent` 自动完成(按成片时长可加 `--min-duration <秒>`)。身份路由与计费口径由零件持有;**版权状态要如实转述**——`is_copyright=true` = 可商用、`false` = 不可商用。矩阵成员档缺省搜全库并逐条给 `copyright_label`;用户**特意说明**只要可商用或商用发布时才加 `--commercial-only` 收紧。`upsell` 是独立顶层字段,不是候选。
|
|
206
196
|
推荐 3-5 首、**每首附试听链接**(结果的 `download_url`);`audio_type:"pure"` 纯音乐直接用,`"song"` 直接取 `accompaniment_url` 现成伴奏(零处理成本,两档都有);注意曲长 vs 成片时长(`duration` 字段):`audio lay` **缺省循环叠满至工程末尾、尾段裁齐**(多 clip 首尾相接,命令会打 INFO 报段数),短曲只是**接缝多一些**、不会铺一半就静音(想少几道接缝,挑曲时加 `--min-duration <秒>`);要单次铺请显式传 `--no-loop`;
|
|
207
197
|
- **试听链接义务(MUST)**:音色与 BGM 的推荐没有试听链接=未完成推荐。
|
|
208
|
-
- **BGM 落地一步(MUST
|
|
198
|
+
- **BGM 落地一步(MUST)**:检索出参只给签名 URL,而 `gtrk audio lay --file` 只收本地路径。拍板后先把选中曲落成本地文件:`audio_type:"song"` 取 `accompaniment_url` 伴奏版,`"pure"` 取 `download_url`。文件名按 `bgm-<曲名>[-伴奏].<扩展名>`,供跨片避让记账使用。
|
|
209
199
|
5. **字幕样式**:7 种样式(default/outline/cinema_yellow/immersive_box/wide_spacing/deep_shadow/boxed)× 11 色(雅黑/淡绿/森林绿/湖蓝/道奇蓝/钢蓝/浅粉红/深橙/珊瑚橙/橙红/土豪金)挑选;**用户没选就用 default+雅黑**(不追问不阻塞)。拍板值在 ⑪ `gtrk subtitle lay` 落地,客户端里仍可整轨换样式(悔棋通道)。
|
|
210
|
-
6. **B-roll
|
|
200
|
+
6. **B-roll 编排量预估(本地素材路必报)**:本地素材产的 plan 走 `matrix lay` 时缺省即云端编排并按编排量计费(`--arrange local` 不受理)。先拿数再拍板:
|
|
211
201
|
|
|
212
202
|
```bash
|
|
213
203
|
gtrk matrix lay --project "<工程目录>" --arrange-estimate-only --json # 停在计价确认之前:零云端调用、工程文件零改动
|
|
214
204
|
```
|
|
215
205
|
|
|
216
|
-
把它与 TTS / describe 的预估**同屏**报给用户,一次拿到同意——§五 ⑦ 的 lay 才允许带 `--yes
|
|
206
|
+
把它与 TTS / describe 的预估**同屏**报给用户,一次拿到同意——§五 ⑦ 的 lay 才允许带 `--yes`。**报不出这笔就不许开跑**。
|
|
217
207
|
|
|
218
208
|
## 五、快速成片编排(打样验证过的真实命令)
|
|
219
209
|
|
|
220
|
-
> **产物落点纪律(MUST · 全文见随包 `AGENT.md`
|
|
221
|
-
>
|
|
222
|
-
> 的缺省落点都是**源文件同目录**,这是在案设计、不是 bug(`skills/gtrk-transcript/SKILL.md:21`、
|
|
223
|
-
> `README.md:343`·`:351`、`test/transcript-cmd.test.mjs:63` 三处独立在案)。
|
|
224
|
-
> 但二创的源片通常躺在**用户自己的素材库**里,落进去每跑一条污染一次
|
|
225
|
-
> (260902 真机在 `旅拍素材原片/` 下留了 4 个裸产物)⇒ 本图纸 §五 ① **SHOULD 带 `-o`
|
|
226
|
-
> 把文本产物挪进工程 / 文稿目录**;用户明说就要放源片旁,不传即可——那是缺省,不算违纪。
|
|
227
|
-
> **MUST NOT** 把原片或任何大媒体复制进 agent 自有工作目录(会话工作区 / agent 家目录缓存)——
|
|
228
|
-
> 需要引用媒体时**用原路径引用**,不做副本;临时文件一律放系统 temp 且**用完即删**(含中断 / 失败路径)。
|
|
229
|
-
> 交付物(颗粒 HTML / 工程文件 / 派单稿 / 文稿等)SHALL **直接以工程目录内的最终路径为写入路径**,MUST NOT 先写 agent 自有工作目录再拷进工程——**中转本身即违规**,不以「最后拷进去了」免责,**体积不是豁免理由**(2026-09-07 事故里漂掉的是 2.7–6.2 KB 的 HTML)。与上一条的分界:抽帧图这类**不交付**的中间物走系统 temp;**要交付的东西没有暂存态**。
|
|
210
|
+
> **产物落点纪律(MUST · 全文见随包 `AGENT.md` 同名一节)**:文本产物写入 CLI 返回路径或用户显式指定的 `-o, --out`;交付物直接写入工程目录;引用媒体用原路径,不复制到 agent 工作目录;临时文件放系统 temp,用完即删。
|
|
211
|
+
> 交付物 MUST NOT 先写 agent 自有目录再拷进工程;中转本身即违规,体积不是豁免理由。
|
|
230
212
|
|
|
231
213
|
```bash
|
|
232
214
|
# ① 理解(二创:转写原片,--json 顺产 transcript.json 备用)
|
|
@@ -258,10 +240,10 @@ gtrk matrix material "<情绪+地理文化检索词>" --scope audio --top-k 5 --
|
|
|
258
240
|
# ④ 配音(音色 code 用 catalog 的 voice_id;稿子存 txt 传 --text-file)
|
|
259
241
|
gtrk tool audio_tts_clone --text-file <稿.txt> --speaker <voice_id> --json
|
|
260
242
|
|
|
261
|
-
# ④′
|
|
243
|
+
# ④′ 语速回校(零成本自我标定;快速成片照跑不停顿,只汇报)
|
|
262
244
|
# 实测挂钟语速 = 稿件字数 ÷ 音频实际时长(时长取 ffprobe duration;字数口径同服务端:Unicode 码点、含标点与英文数字)
|
|
263
245
|
# 与写稿时所用的估值比对:**偏差 >15% MUST 在交付汇报里点名**(报「估 X / 实测 Y / 偏 Z%」),
|
|
264
|
-
# 并按 references/speech-rate.md
|
|
246
|
+
# 并按 references/speech-rate.md 的五项格式追加本片标定记录,供后续估值复核。
|
|
265
247
|
# MUST NOT 自动改稿、MUST NOT 自动重跑 TTS:改稿得从 ④ 重跑(TTS 变=全链时码变,⑤起全部重建)、要重付 TTS 费用,返工与否是用户的决定。
|
|
266
248
|
|
|
267
249
|
# ⑤ 建工程(画幅按检查点①拍板;产物目录含 gtrk/transcript/audio)
|
|
@@ -282,26 +264,24 @@ gtrk split --project "<工程目录>" --json # 投影:拿 utterance i
|
|
|
282
264
|
# beat 必填字段全表以 gtrk-splitter 的 references/field-schema.md 为准,MUST 照该表写全
|
|
283
265
|
gtrk split "<拆分稿>" --project "<工程目录>" --json
|
|
284
266
|
# ↑ 落地后走一遍 §六 末的**字卡自检清单**:数 type:"overlay" 的 aux 条数、核对 --json 回执里
|
|
285
|
-
# queues.mg 的条数是否落在「每片 2-4
|
|
267
|
+
# queues.mg 的条数是否落在「每片 2-4 颗」
|
|
286
268
|
|
|
287
269
|
# ⑦ B-roll 三连(describe 给字卡抽帧检查与 mark 加权供料;internal 用户 describe 免费)
|
|
288
|
-
# ★ 铁则(口径同 gtrk-narration 与 gtrk-matrix,不许长出第二种说法):解说链**一稿对一片**——
|
|
289
|
-
# 二创场景 --dirs MUST
|
|
290
|
-
# 传文件就是把检索域收窄到该素材。同夹邻片会抢占候选:260828 三片同夹实测 187 个候选里 86 条来自邻片(46.0%),
|
|
291
|
-
# 那不是「排序靠后的次优解」,是**范畴错误**——A 稿的解说配 B 片的画面永远不可能对。
|
|
270
|
+
# ★ 铁则(口径同 gtrk-narration 与 gtrk-matrix,不许长出第二种说法):解说链**一稿对一片**——
|
|
271
|
+
# 二创场景 --dirs MUST 钉到**这一部片的绝对路径**,**不许传素材夹**。传文件就是把检索域收窄到该素材;同夹多片时一次实测 187 条候选中有 86 条来自邻片(46.0%),不能把邻片结果当作次优解。
|
|
292
272
|
gtrk matrix index --dirs "<这一部片的绝对路径>" --json
|
|
293
273
|
# ↑ 二创也要先建索引(原来 index 只挂在原创分支下,于是只能顺手对整夹建、正好把三条片灌进同一个 index.db);
|
|
294
|
-
#
|
|
274
|
+
# 如果整夹已有索引,**不必重建**,检索侧传单片即可收窄(判据是路径前缀,传的就是那一条素材本身)
|
|
295
275
|
gtrk matrix --project "<工程目录>" --local --dirs "<这一部片的绝对路径>" --lay 0 --json
|
|
296
276
|
gtrk matrix describe --plan "<工程目录>/split/broll-plan.json" --yes --json
|
|
297
277
|
# ↑ describe 结果里的 usable_flags 由你裁定(text_overlay 命中=撞原片字幕区,考虑换段或保留交客户端悔棋)
|
|
298
278
|
# ↑ 同时读 describe 输出的**剔除风险**清单:候选数 ≤1 的 beat 一删就掏空
|
|
299
279
|
# (音频驱动 ⇒ 整段黑屏或跨 beat 借片;口播 ⇒ 露 A-roll)。先补素材再剔,MUST NOT 见 flag 就删。
|
|
300
|
-
#
|
|
280
|
+
# 候选稀疏时先补素材再剔除,按 flag 直接删除可能掏空整段
|
|
301
281
|
gtrk matrix lay --project "<工程目录>" --mark-weight 0.3 --highlight-weight 0.2 --gap-fill fast --yes --json
|
|
302
|
-
# ↑ --yes 的前提是**编排量预估已在检查点①(§四.6)报过并拿到同意**;MUST NOT
|
|
282
|
+
# ↑ --yes 的前提是**编排量预估已在检查点①(§四.6)报过并拿到同意**;MUST NOT 未经同意就带 `--yes`。
|
|
303
283
|
# 不带 --yes 且无 TTY 时本步**整轮铺轨中止**、工程零改动(plan 照常可用、可重跑)——
|
|
304
|
-
#
|
|
284
|
+
# 未报预估或未取得同意时不要继续执行
|
|
305
285
|
|
|
306
286
|
# ⑧⑨ 字卡(§六 规约产颗粒 → lint → 铺)
|
|
307
287
|
gtrk mg lint "<工程目录>/mg/<composition_id>.html" --dispatch "<工程目录>/split/dispatch.json"
|
|
@@ -309,7 +289,7 @@ gtrk mg --project "<工程目录>" --json
|
|
|
309
289
|
|
|
310
290
|
# ⑩ BGM(音量口径见下;<bgm> 是**本地文件**,检查点①拍板后先落地——URL 传给 --file 必炸)
|
|
311
291
|
# BGM 是带人声歌曲(audio_type:"song")→ MUST 下载 accompaniment_url 伴奏版上轨,
|
|
312
|
-
# 不得用 download_url
|
|
292
|
+
# 不得用 download_url 原曲(人声与配音会打架);"pure" 取 download_url。
|
|
313
293
|
# 文件名 bgm-<曲名>[-伴奏].<扩展名>:跨片避让按**标题归一化键**记账(剥 bgm- 前缀与伴奏/instrumental/off-vocal 后缀),乱命名=下一轮 --exclude-recent 失准
|
|
314
294
|
# --beat-align 的高潮点取自 split.beats 的 narrative / container_stage(升华段 → 容器转折 → 回扣段);
|
|
315
295
|
# 拆分稿没带这两个字段 ⇒ 落 0.75×全片兜底档,**CLI 会明示那是猜的**。不接受就用 --climax <轨秒> 指定。
|
|
@@ -322,26 +302,26 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
322
302
|
|
|
323
303
|
> **停顿太长时**:自训音色加 `--fragment-interval 0.2`(合成时就对);云引擎音色**不支持**该参数(传了会报错,不会静默忽略),改在合成后跑 `gtrk audio tighten --project <工程>` 收紧句间停顿(纯本地零计费;只压跨句界的停顿,句内换气与原声引用段不动)。
|
|
324
304
|
|
|
325
|
-
|
|
305
|
+
**配方级参数口径**:
|
|
326
306
|
- `--mark-weight 0.3`:美观度加权起步值(mark 缺失素材中性不受罚);
|
|
327
|
-
- `--highlight-weight 0.2
|
|
307
|
+
- `--highlight-weight 0.2`:看点加权,配 §三′ 的 rubric——
|
|
328
308
|
**须在 describe 那一步带 `--highlight-rubric @<工程>/highlight-rubric.txt`**,
|
|
329
309
|
不带就是按服务端缺省准则打分,旅拍这一档的奇观地貌/极端天候/规模感全不算数。与 mark 正交——
|
|
330
310
|
mark 判「好不好看」、highlight 判「有没有看点」。两权之和 0.5,语义仍占一半,
|
|
331
311
|
**MUST NOT 加到语义压不住**(那会变成「专挑好看的,不管说的是什么」)。
|
|
332
312
|
⚠️ 两个权重与 blurry 降权**都依赖 `matrix describe --plan` 跑过**(编排 ⑦ 那一步);
|
|
333
313
|
没跑就是全部候选中性、排序与不开权重逐字节一致——lay 会就此打告警,看到就说明漏了;
|
|
334
|
-
- `--gap-fill fast
|
|
335
|
-
- 句界吸附(`--cut-align`)默认 0.7
|
|
336
|
-
- **BGM 音量口径 = -20dB(线性 0.10
|
|
314
|
+
- `--gap-fill fast`:主轨空洞按**五级**依次填——放宽地板取剩余候选 → 段界内延长相邻颗粒 → **跨 beat 借未消费候选** → **次地板补真画面** → 仍不够才落黑片。借来的画面与本段稿子相关性可能较弱,次地板槽可能很短;两者都会在日志里指名报出。CLI 缺省是 solid,本配方须**显式传 fast**;
|
|
315
|
+
- 句界吸附(`--cut-align`)默认 0.7,约七成字幕句起点贴近镜头切点,其余有意错开;
|
|
316
|
+
- **BGM 音量口径 = -20dB(线性 0.10)**:BGM 作为垫底,`volume` 字段只写线性增益;客户端需要更响时再调整。
|
|
337
317
|
- 时间窗(`--source-window`):二创场景解说序≈素材序时按 beat 对应的原片区间约束检索(可选增强,全库检索在几百场景规模下命中率已够);
|
|
338
318
|
- 素材不二用、黑片叠底、层序(黑底最低号<common<concept<local,契约=大号在上)均由 lay 内建,MUST NOT 绕过。
|
|
339
319
|
|
|
340
320
|
## 六、MG 轻量字卡规约(旅拍向最小集,不建栏目 skill)
|
|
341
321
|
|
|
342
|
-
>
|
|
322
|
+
> 本节采用「因势象形、不建栏目 skill」原则:风格锚定本片内容,不强行套用预设模板。原则正本见《成片型图纸公约》§三。
|
|
343
323
|
|
|
344
|
-
|
|
324
|
+
快速成片**禁留白**——字卡按下述规约直接产好叠上,用户不满意在客户端删,别等确认。
|
|
345
325
|
|
|
346
326
|
- **内容**:地名字卡为主(地标名中文+英文/头衔副标),可加里程/价格数字卡;每片 2-4 颗、挂在地标出场句(拆分稿 aux_layers overlay);
|
|
347
327
|
- **形态**:左下安全区地名条——竖色条装饰+半透明深色衬底圆角条+主标题(60px 级粗体白字)+副标题(28px 级 75% 白);透明叠加不挡画面主体;
|
|
@@ -350,18 +330,13 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
350
330
|
- **产前抽帧**(overlay 必做):对挂点用本地 ffmpeg 抽 1 帧看底轨明暗与主体位置(临时文件落系统 temp 用完即删);
|
|
351
331
|
- 产物存 `<工程目录>/mg/<composition_id>.html`,逐颗 lint 过了再铺。
|
|
352
332
|
|
|
353
|
-
|
|
333
|
+
**字卡自检清单**(形制同 §三「写后自校验清单」):
|
|
354
334
|
|
|
355
335
|
- [ ] 拆分稿写完,**数一遍** `aux_layers` 里 `type:"overlay"` 的条数,是否落在**每片 2-4 颗**;
|
|
356
336
|
- [ ] 落地后核对 `gtrk split --json` 的 `queues.mg` 条数,与上一条对得上、且仍在 2-4;
|
|
357
337
|
- [ ] 不足按地标出场句补挂;超出按「稀缺才有力」裁掉。
|
|
358
338
|
|
|
359
|
-
>
|
|
360
|
-
> `mg` 的 `empty_queue` 只防误清空整轨、`mg lint` 是单颗 HTML 内的静态校验、`splitdoc` 对 `aux_layers`
|
|
361
|
-
> 条数零校验;于是真机两条片各只落 **1 颗**,下游每一环都 100% 报「全部铺成」,观感上完全正常,**无人喊**。
|
|
362
|
-
> 但它与仓内唯一那道数量硬闸(`MAX_ANCHORS_PER_BEAT`)**判据类型不同**:那条的理由是**工程后果**
|
|
363
|
-
> (锚过密会把序贯填充区间切碎),字卡颗数是**审美编排量**——上通用闸等于让通用契约背垂类配方
|
|
364
|
-
> (撞 `gtrk-mg`「不硬编任何栏目的视觉风格」)。缺口的真正位置是**图纸缺自检项**(§三 有、§六 没有),
|
|
339
|
+
> 这是图纸层的审美自检,不是 CLI 通用硬闸:`split` 与 `mg` 负责报告实际条数,是否在 2–4 颗由本垂类图纸裁定。
|
|
365
340
|
> 补在缺口上最省,**零代码变更**。⚠️ 反方也如实记:颗数是 `dispatch.mg.length` 一行就能算的机器可判量,
|
|
366
341
|
> 若这类漂移反复发生,改上「通用可选入参 + 由图纸传值 + 非致命告警」是正当的。
|
|
367
342
|
|
|
@@ -403,7 +378,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
403
378
|
| BGM 矩阵搜索(`gtrk matrix material`) | 公开口 1 积分/次;矩阵成员口 0 积分 | 档位由零件自动路由,命令输出如实报口径与计费 |
|
|
404
379
|
| image_move 图片运镜 | 2 积分/张 | 素材夹含图片且被选中上轨时 |
|
|
405
380
|
|
|
406
|
-
> ★
|
|
381
|
+
> ★ **脚注(划界)**:表里那个 **240 字/分钟是计费折算常量**,
|
|
407
382
|
> **MUST NOT 用于写稿篇幅估算** —— 写稿口径在 §三(挂钟语速,按音色取、缺省 ≈330),两者保守方向相反。
|
|
408
383
|
> 本脚注**只划界,不动**该行的积分档位与计量单位(单位口径归 infra `refactor-billing-measure-kchar` 的 CLI 联动件)。
|
|
409
384
|
|
|
@@ -417,7 +392,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
417
392
|
- **字幕**:⑪ `gtrk subtitle lay` 已直接上好(7 样式 × 11 色,客户端可整轨换样式、逐条可编辑);改稿重跑 TTS 后须重跑 subtitle lay(时码变了);
|
|
418
393
|
- describe 的 `text_overlay` 信号命中多为撞上原片烧录字幕区(片头片尾高发)——裁定换段或保留交客户端;
|
|
419
394
|
- `matrix lay` 拒铺(`tracks_edited`)不是失败:用户在客户端动过候选轨,plan 照产(`planReusable:true`),提示用户后按其意愿 `--replace-all` 或保留;
|
|
420
|
-
- BGM 曲长 <
|
|
395
|
+
- BGM 曲长 < 成片:缺省**循环叠满至工程末尾、尾段裁齐**(多 clip 首尾相接,命令打 INFO 报段数);要单次铺才传 `--no-loop`。
|
|
421
396
|
|
|
422
397
|
---
|
|
423
398
|
|
|
@@ -9,17 +9,17 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
9
9
|
|
|
10
10
|
> **定位**:structure 级组合图纸,不新增命令,只编排既有原子零件。零件参数以各自 skill(`gtrk-transcript` / `gtrk-matrix` / `gtrk-splitter` / `gtrk-mg`)与 `--help` 为准,**本图纸引用不复制**;编排次序、检查点、配方参数以本图纸为准。**CLI 是手,你是脑。**
|
|
11
11
|
>
|
|
12
|
-
>
|
|
13
|
-
> **纪实 Vlog 是散文的载体——用有限的素材,把一个故事、或一个几个思想,最终串联起来。**
|
|
12
|
+
> **本体定性**:
|
|
13
|
+
> **纪实 Vlog 是散文的载体——用有限的素材,把一个故事、或一个几个思想,最终串联起来。**
|
|
14
14
|
>
|
|
15
15
|
> 三个推论,构成本图纸的全部决策原点:
|
|
16
|
-
> -
|
|
16
|
+
> - **形散神不散**:素材可以跳跃、场景可以断裂、时间可以不连续,但**必须有一根线**。没有那根线的片子叫「相册」不叫作品。
|
|
17
17
|
> - **素材有限是前提不是缺陷**:创作力体现在「用手上这些素材能串出什么」,不是「还差什么素材」。**先看素材里有什么,再决定串什么**——这是散文与说明文的分野。
|
|
18
18
|
> - **先立神,再选材**:写稿的第一步不是排素材顺序,是找到那根线(§3.2)。顺序反了就会写成流水账。
|
|
19
19
|
>
|
|
20
20
|
> **表达形态上的定义性特征**:纪实类是**双声道交替**——现场同期声承载真实感与人格,后期旁白承载知识与升华。**同期声片段是内容本体,不是可替换的配画**。这是它区别于口播链与配音链的根本。
|
|
21
21
|
>
|
|
22
|
-
> ⚠️
|
|
22
|
+
> ⚠️ **当前实现状态**:链路形态采用 **C 分段拼接** 与默认保留部分毛边,但 `gtrk project compose` 命令**尚未实现**。A/C 档在 compose 落地前不可跑;B 档可走配音链,「立神+选段+旁白稿」创作件可独立交付。用户要做时**MUST**先说明当前状态,细节见 `openspec/.plans/explore-vlog-docu-skill.md` §四之二。
|
|
23
23
|
|
|
24
24
|
## 一、输入契约与三档识别
|
|
25
25
|
|
|
@@ -46,7 +46,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
46
46
|
|
|
47
47
|
**判别动作**:`gtrk transcript` 抽听 1-2 条代表素材——转写出大量口语碎句、语气词、对话接话 → A 档;几乎无人声或只有环境音 → B 档;有对话但用户明显想表达观点 → C 档。**拿不准问用户一句**:「你是想让现场的声音说话,还是你来讲?」
|
|
48
48
|
|
|
49
|
-
> **C
|
|
49
|
+
> **C 档适合需要升华观点的自制片**:以纪实同期声承载事件,中后程切入议论式旁白,把当天经历升华为观点与私人自白,落一句可摘录的态度句。有条件优先推 C。
|
|
50
50
|
|
|
51
51
|
## 二、全链总览(快速成片)
|
|
52
52
|
|
|
@@ -87,7 +87,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
87
87
|
|
|
88
88
|
纪实 Vlog 是散文的载体——**用有限的素材,把一个故事、或一个几个思想,串联起来**。「神」就是那根线。**没有神的片子是相册,不是作品。**
|
|
89
89
|
|
|
90
|
-
**★
|
|
90
|
+
**★ 立神是多轮访谈,不是单点拍板**:**神的所有权在创作者**——素材分析只能提名候选,真正的神往往在创作者的经历和冲动里。本 skill SHALL 围绕神与创作者做多次沟通和确认,问够为止;快速成片免打扰只覆盖执行环节(⑥以后)。
|
|
91
91
|
|
|
92
92
|
**访谈协议(写稿前必做)**:
|
|
93
93
|
|
|
@@ -125,7 +125,7 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
125
125
|
- **要求**每一段都能回答「它为神做了什么」——是铺垫、是印证、是转折、还是留白?答不上来的段**砍掉**,哪怕画面好看;
|
|
126
126
|
- **素材有限是前提不是缺陷**:不要为「素材不够」而注水或强行拉长。手上有什么,就串什么——这正是本类型的创作力所在。
|
|
127
127
|
|
|
128
|
-
> ⚠️
|
|
128
|
+
> ⚠️ **主要失败模式**:素材拍得不差却没有串成一条神,记录了一天的见闻,每段都成立,合起来仍像相册。它比文笔差、素材糙更致命。
|
|
129
129
|
|
|
130
130
|
### 3.3 纪实要素层(本类型专属)
|
|
131
131
|
|
|
@@ -146,9 +146,9 @@ description: Vlog 纪实类一站式成片图纸——纪实 Vlog 是散文的
|
|
|
146
146
|
到场定位(口播或旁白一句)→ 背景科普(旁白)→ 现场体验(同期声,让开)→ 攻略数字(旁白/字卡)→ 转场(车程字卡)
|
|
147
147
|
```
|
|
148
148
|
|
|
149
|
-
|
|
149
|
+
**攻略信息件标准化(收藏钩)**:凡有地点/消费属性,每站必报**车程 + 价格 + 免费与否 + 避坑**,缺一项就少一分收藏价值。数字进字卡比进旁白更好用。
|
|
150
150
|
|
|
151
|
-
**Resonance
|
|
151
|
+
**Resonance 素材优先(有则必用、无则不硬造)**:用**坦白脆弱**(落榜、心碎、没钱、亲人离世)与**集体记忆锚点**(城市旧地标、经典电影、老游戏)建立共鸣。写稿前问用户一句:这趟有没有什么真话想说?有就放进升华段,**没有就老实做知识与快乐,不要编情绪**。
|
|
152
152
|
|
|
153
153
|
**态度金句是收尾硬指标**:升华段必须落一句**可摘录**的话(能被观众截图、能当评论区引用)。写完自问:这句话单独拎出来,有人愿意转发吗?
|
|
154
154
|
|
|
@@ -195,9 +195,9 @@ HKRR 四维(缺哪补哪):
|
|
|
195
195
|
|
|
196
196
|
## 五、快速成片编排
|
|
197
197
|
|
|
198
|
-
>
|
|
198
|
+
> **链路形态:C 分段拼接**——全片切 N 段,每段声明 `live`(同期声段,引用原片区间,**内容本体**)或 `narration`(旁白段,TTS + B-roll 空档),由 `gtrk project compose` 按序拼主轨。设计草案见探索工件 §四之二。
|
|
199
199
|
>
|
|
200
|
-
> ⚠️ **`gtrk project compose`
|
|
200
|
+
> ⚠️ **`gtrk project compose` 尚未实现**。当前可跑的降级通道:**B 档(旁白主导)走配音链**(`project init`,同期声片段当带声 B-roll)。**A/C 档在 compose 落地前 MUST NOT 假装能跑**;可先交付「立神+选段+旁白稿」创作件。
|
|
201
201
|
|
|
202
202
|
```bash
|
|
203
203
|
# ① 理解与定档(抽听 1-2 条代表素材;live 段的 in/out 时码后面全从这份转写里读)
|
|
@@ -259,7 +259,7 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
259
259
|
|
|
260
260
|
## 六、字幕层规约(本类型的第二解说轨)
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
**字幕层不是被动烧字幕,而是承载人格与信息的第二条解说轨。** 无语音段可由它承接信息。四类字卡进 MG 派单:
|
|
263
263
|
|
|
264
264
|
| 类 | 用途 | 样本形态 | 挂点 |
|
|
265
265
|
|---|---|---|---|
|
|
@@ -310,9 +310,9 @@ gtrk subtitle lay --project "<工程目录>" --style default --color 雅黑 --js
|
|
|
310
310
|
|
|
311
311
|
## 十、已知边界与排障
|
|
312
312
|
|
|
313
|
-
- **`gtrk project compose`
|
|
313
|
+
- **`gtrk project compose` 的当前状态见顶部实现状态块**:A/C 档当前不可跑,B 档走配音链,「立神+选段+旁白稿」创作件可独立交付;
|
|
314
314
|
- **毛边口径已定(默认保留部分毛边)**:只剪长静默/明显重来/跑题闲聊,语气词与自然停顿保留——MUST NOT 照口播链标准剪干净;
|
|
315
|
-
-
|
|
315
|
+
- **旁白盖住现场声**:铺完先在客户端听一遍交界处;
|
|
316
316
|
- **三源混音**(同期声/旁白/BGM)的响度平衡当前靠客户端手调,无自动 ducking;
|
|
317
317
|
- 闪帧 / 拆分注释客户端不显示 / describe 的 `text_overlay` 撞原片字幕区 / `matrix lay` 拒铺(`tracks_edited`)/ BGM 曲长不足:同旅拍图纸口径。
|
|
318
318
|
|
|
@@ -327,4 +327,4 @@ gtrk patch move --project <dir> --clip <clip_id> --to 5.0
|
|
|
327
327
|
gtrk patch trim --project <dir> --clip <clip_id> --out -1s
|
|
328
328
|
```
|
|
329
329
|
|
|
330
|
-
**MUST NOT 直接编辑 `.gtrk` 的 JSON**:片段时码两套并存(`clip_st`+`clip_ed` 与 `clip_st`+`duration
|
|
330
|
+
**MUST NOT 直接编辑 `.gtrk` 的 JSON**:片段时码两套并存(`clip_st`+`clip_ed` 与 `clip_st`+`duration`),改一份不改另一份会造成客户端与后端读取不同出点。`gtrk patch` 替你做恒等式同步 + 帧对齐 + 写前全档校验。
|
|
@@ -28,7 +28,7 @@ description: 通用配音视频创作图纸(配音链快速成片预设)—
|
|
|
28
28
|
|
|
29
29
|
一张表一次问完;**未经检查点①确认 MUST NOT 发起 TTS 计费动作**。
|
|
30
30
|
|
|
31
|
-
>
|
|
31
|
+
> **推荐面(公约 §三‴)**:问答收口时可问一句「要不要看看第三方 skill?」;题材命中场景触发词才定向推荐,读取 `gtrk skills recommend --scene <id> --json`;用户拒绝后不执行推荐动作。
|
|
32
32
|
|
|
33
33
|
## 二、快速成片编排
|
|
34
34
|
|
|
@@ -36,7 +36,7 @@ description: 通用配音视频创作图纸(配音链快速成片预设)—
|
|
|
36
36
|
# ①② 写稿(三段式通用框架层 + 文风铁律自校验)→ 产前六秒方案(公约 §三⁗:基于稿件首段改写钩子文案三候选 + 画面层建议 + 字卡节奏,只改开口不改事实)→ 检查点①拍板
|
|
37
37
|
gtrk matrix material "<情绪 调性 检索词>" --scope audio --top-k 5 --json # BGM 候选附试听
|
|
38
38
|
# ⚠️ is_copyright:1/true=可商用、0/false=**不可商用**(反直觉,MUST NOT 读成「无版权、可随便用」)。
|
|
39
|
-
#
|
|
39
|
+
# 矩阵成员档**缺省搜全库**,MUST NOT 默认加 --commercial-only、也 MUST NOT 擅自剔掉
|
|
40
40
|
# false 的候选;对价是推荐时 MUST 逐条带上派生位 copyright_label 的中文标签(不追问不阻塞)。
|
|
41
41
|
# 用户**特意说明**只要可商用 / 要商用发布 / 客户商单时,才加 --commercial-only 收紧。
|
|
42
42
|
|