@optima-chat/optima-agent 0.9.15 → 0.9.16
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: video-edit
|
|
3
|
-
description: "
|
|
3
|
+
description: "剪辑用户【已有的】口播视频——去除卡顿停顿、NG 重拍、口头禅让视频更流畅紧凑。
|
|
4
4
|
|
|
5
5
|
必备前提:用户已经有视频文件(拍好的、上传的、或给出文件路径)。
|
|
6
6
|
|
|
@@ -26,30 +26,50 @@ description: "剪辑用户【已有的】口播视频——去除卡顿停顿让
|
|
|
26
26
|
只有当用户提到平台但**没说目标时长**时(如"剪成 TikTok"无时长),才追问"目标多长?"。
|
|
27
27
|
其他情况**直接动手**,不要废话。
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 核心原则:你是语义剪辑器
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
cut 工具**只能删静音**(>=0.25s 的停顿),它**永远删不了**这些:
|
|
32
|
+
- NG 重拍(重新说一遍同一句)
|
|
33
|
+
- 重复字("我我我",发声不停顿)
|
|
34
|
+
- 口头禅("嗯"/"啊"/"那个"/"就是")
|
|
35
|
+
- 跑题片段(语法完整但内容废)
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
**所以你必须自己审一遍 proposal**——你就是这个流程的语义剪辑器。如果跳过审片直接出片,成片会有大量 NG/口头禅/重复,用户会觉得"非常多卡顿"。
|
|
34
38
|
|
|
35
39
|
## 你的内部流程
|
|
36
40
|
|
|
37
41
|
### 默认剪辑(剪 + 字幕,最常见)
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
四步走:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
video-edit analyze <video>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
读 `<video>.work/cut_proposal.md`。每行是一个短语,看每行决定保留还是删除:
|
|
50
|
+
|
|
51
|
+
- **删(行首加 `#`)**:
|
|
52
|
+
- 单独的口头禅 phrase:"嗯"/"啊"/"呃"/"那个"/"就是"/"对吧"/"然后那个"
|
|
53
|
+
- NG 重拍:相邻两行说同一件事但措辞稍变("我们要做的就是——我们要做的是"),**留最后一遍**(通常最干净)
|
|
54
|
+
- 字面重复:"我我我"/"那那那"
|
|
55
|
+
- 跑题/废话:与主题无关的旁白、自语、笑场
|
|
56
|
+
- 太短的连接词单独成行(如只有"那"/"嗯啊")
|
|
57
|
+
- **留**:所有有信息量的句子
|
|
58
|
+
|
|
59
|
+
按上述规则编辑 proposal,保存。然后:
|
|
60
|
+
|
|
40
61
|
```bash
|
|
41
|
-
video-edit
|
|
62
|
+
video-edit cut <video>
|
|
42
63
|
video-edit subtitle <video>
|
|
43
64
|
```
|
|
44
65
|
|
|
45
|
-
`
|
|
46
|
-
`subtitle` 从原始转写推算字幕时间轴(不会重新调 whisper),烧录输出 `<原片>_subbed.mp4`。
|
|
66
|
+
`cut` 按你标注的 proposal 剪辑,`subtitle` 对成片重新转写并烧字幕。
|
|
47
67
|
|
|
48
68
|
### 用户要求调整时
|
|
49
69
|
|
|
50
70
|
用户看完成片说某段不对:
|
|
51
|
-
1.
|
|
52
|
-
2.
|
|
71
|
+
1. 重新读 `<video>.work/cut_proposal.md`
|
|
72
|
+
2. 调整对应行(`#` 注释 = 删除,去掉 `#` = 保留)
|
|
53
73
|
3. 删除 `<video>.work/subs.ass`(让 subtitle 重新生成)
|
|
54
74
|
4. 重跑:
|
|
55
75
|
```bash
|
|
@@ -61,22 +81,10 @@ video-edit subtitle <video>
|
|
|
61
81
|
|
|
62
82
|
### 限时长精剪(用户给了目标时长)
|
|
63
83
|
|
|
64
|
-
|
|
65
|
-
video-edit analyze <video>
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
读 `<video>.work/cut_proposal.md`,**你自己**做这些判断:
|
|
84
|
+
`analyze` → 审 proposal 时**额外做这些**:
|
|
69
85
|
- 找钩子句放最前
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
- 把要删的行首加 `#`,保存
|
|
73
|
-
- 删除 `<video>.work/subs.ass`
|
|
74
|
-
|
|
75
|
-
然后:
|
|
76
|
-
```bash
|
|
77
|
-
video-edit cut <video>
|
|
78
|
-
video-edit subtitle <video>
|
|
79
|
-
```
|
|
86
|
+
- 压到目标时长(更激进地删)
|
|
87
|
+
- 其余流程同上
|
|
80
88
|
|
|
81
89
|
### 仅字幕(用户明确说不剪)
|
|
82
90
|
|
|
@@ -89,11 +97,24 @@ video-edit subtitle <video>
|
|
|
89
97
|
### 无字幕版(用户明确说不要字幕)
|
|
90
98
|
|
|
91
99
|
```bash
|
|
92
|
-
video-edit
|
|
100
|
+
video-edit analyze <video>
|
|
101
|
+
# 审 proposal 标 #
|
|
102
|
+
video-edit cut <video>
|
|
93
103
|
```
|
|
94
104
|
|
|
95
105
|
交付 `<原片>_edited.mp4`,不跑 subtitle。
|
|
96
106
|
|
|
107
|
+
## 审片心法
|
|
108
|
+
|
|
109
|
+
读 proposal 时**不要逐行纠结**——每行 1 秒判断,按这个决策树:
|
|
110
|
+
|
|
111
|
+
1. 这行只有口头禅/单字 → `#`
|
|
112
|
+
2. 这行跟前一行/后一行说同一件事 → 留信息量最高的那遍
|
|
113
|
+
3. 这行内容跟主题无关 → `#`
|
|
114
|
+
4. 其他 → 留
|
|
115
|
+
|
|
116
|
+
**追求"看着不卡",不追求 100% 完美**。删多了用户会说"这句要留",你再调;删少了成片很卡,用户体验更差。**宁可激进一点**。
|
|
117
|
+
|
|
97
118
|
## 交付怎么说
|
|
98
119
|
|
|
99
120
|
简洁,**只说结果**:
|
|
@@ -101,13 +122,13 @@ video-edit both <video>
|
|
|
101
122
|
- ✅ "剪好了,xxx_subbed.mp4,时长 23 秒"
|
|
102
123
|
- ✅ "无字幕版剪好了,xxx_edited.mp4,时长 23 秒"
|
|
103
124
|
- ❌ "我用了 video-edit analyze,然后编辑了 cut_proposal.md..."
|
|
104
|
-
- ❌ "
|
|
125
|
+
- ❌ "审片删了 8 行 NG..."
|
|
105
126
|
|
|
106
127
|
## 不要做的事
|
|
107
128
|
|
|
108
|
-
- ❌
|
|
129
|
+
- ❌ 跳过审 proposal 直接 `both` 出片——必有大量卡顿
|
|
130
|
+
- ❌ 用户说"剪一下"就追问平台/钩子/时长——按默认流程动手
|
|
109
131
|
- ❌ 用户说"剪一下"只交付 `_edited.mp4` 不烧字幕——**默认带字幕**
|
|
110
|
-
- ❌ 剪之前停下来展示方案等确认——**直接出片**,不满意再调
|
|
111
132
|
- ❌ 把命令名、cut_proposal.md 路径暴露给用户——内部实现细节
|
|
112
133
|
- ❌ 编造命令(仅 5 个:both / analyze / cut / review / subtitle)
|
|
113
134
|
- ❌ 用户说"剪掉前 X 秒"/"剪掉中间一段"——定点裁剪不是去卡顿,告诉用户"我擅长去卡顿停顿,定点裁剪请用别的方式"
|
|
@@ -116,8 +137,8 @@ video-edit both <video>
|
|
|
116
137
|
|
|
117
138
|
| 命令 | 用途 |
|
|
118
139
|
|---|---|
|
|
119
|
-
| `video-edit
|
|
120
|
-
| `video-edit analyze <video>` | 仅转写 + 生成 proposal(限时长精剪时用) |
|
|
140
|
+
| `video-edit analyze <video>` | 转写 + 生成 proposal(**默认入口**,审完后跑 cut) |
|
|
121
141
|
| `video-edit cut <video>` | 按 proposal 剪辑,生成 `_edited.mp4` |
|
|
142
|
+
| `video-edit subtitle <video>` | 对成片重新转写 + 烧字幕,输出 `<原片>_subbed.mp4` |
|
|
143
|
+
| `video-edit both <video>` | analyze + cut 一步到位(**已弃用**:跳过审片质量差) |
|
|
122
144
|
| `video-edit review <video>` | 诊断用:检查 `_edited.mp4`,输出 review_report.md |
|
|
123
|
-
| `video-edit subtitle <video>` | 烧字幕。传**原片路径**,自动找 `_edited.mp4` 做输入,输出 `<原片>_subbed.mp4` |
|