Install
openclaw skills install @iamzifei/zmm-cut📐 詹明明·口播剪辑 ——口播成片剪辑技能。把拍好的素材剪成可发布的成片:**按文案规则做内容层重组**(删废镜头/去重复/重排顺序)→ 语音剪辑(去口癖/停顿)→ 加速 → 字幕 → B-roll → 交付。 🔴 **只删和重排,不加词** —— 说话人没说过的话一个字都不加。 詹明明账号的默认参数已固化(抖音 · 保持原长 · 1.15× · HarmonyOS Sans 粗体字幕 · 黄色 #FFE20A 高亮),**不需要每次重说**;换账号只改 §一 那张表,正文流程不变。 检测不到 ChatCut 会引导安装,并给出**本机转写旁路** —— 内容层的活全部不需要 ChatCut。 触发方式:/zmm-cut、/剪辑、/剪片、/zmm-剪、「把这条剪出来」「素材剪成成片」「去口癖」「加字幕」「这条视频剪一下」「重新排一下顺序」 Talking-head footage → publishable cut. Restructures content by copy rules (delete/reorder only, never add words), then cleans speech, speeds up, captions, B-roll. Falls back to local transcription when ChatCut is unavailable. Trigger: /zmm-cut, "cut this footage", "clean up the fillers", "add captions", "reorder this" —— 📐 詹明明 · 不给公式,给判据。每条规则都标了实测代价。
openclaw skills install @iamzifei/zmm-cut它管的是「拍完之后」。 拍之前的选题、写稿、审核归
/zmm-topic/zmm-script/zmm-review。🔴 边界:只删和重排,不加词(2026-09-05 说清楚)
这里只处理他实际说出来的那一版。在那一版之内:
✅ 能做 ❌ 不能做 删(废镜头、重复、水词、行话、断尾) 加任何他没说过的词 重排(容器层调顺序、把结果提到最前面) 顺句子、改语序、替换措辞 把补拍并进原素材 重排他推导结论的那一段(见 references/内容层重组.md§二.3)⚠️ 「本技能不改文案」的意思是不加词,不是不许动。 按文案规则做删除和重排,正是这个技能的主战场。
chatcut_desktop/*)→ 没有那个前置技能,
按服务端要求先跑一次只读定位(get_active_project)确认目标工程references/ChatCut实操.md §一 的降级路径:
告知下载 + 本机转写旁路(内容层的活全部不需要 ChatCut)chatcut-talking-head-guide —— 口播剪辑的执行规范zmm/references/家族公约.md(读不到 → 明说「公约读不到,红线无法保证」并停下)
zmm/references/交互规范.md(🔴 不是读一遍就算:收尾按 §四 三件套 —— Recap · Before/After · 下一步给编号选项;缺信息按 §四 用选择题问,一次只问一个;不适用的情况见 §五){vault}/00-规则与索引/口播拍摄基线.md(时间/地点/穿着一次定死){vault}/08-技能记忆/zmm-cut/ + _通用/references/内容层重组.mdreferences/ChatCut实操.md(三个实测踩过的工具坑)口播稿输出格式.md §四之下「上传版」 —— 见本文 §五本技能内置判据在 references/规则卡.md(判据 / 为什么 / 怎么查 / 强度),开工前读一遍;{vault} 里有对应的规则文件时以 vault 为准、规则卡为底。
⚠️ 按需读,不要一次读完。 本技能只在「拍完 → 成片」这一段, 不需要读选题层和写稿层的文件。
🟢 詹明明 2026-08-27 定。这些是默认值,不是每次都要确认的问题。 用户没有说要改,就直接用;用户说了别的,以用户当次说的为准。
⚠️ 下表是「这一个账号」的实测值,不是通用推荐。 有
config就从config读;读不到就用下表,并说明用的是示例值。 换账号 / 换题材时,正文流程照走,只换这张表。
| 项 | 默认值 |
|---|---|
| 平台 | 抖音(竖屏 9:16) |
| 成片时长 | 保持原长 —— 不为了短而砍内容(判据是绝对观看时长不是完播率) |
| 整体速度 | 🔴 1.15×(在语音剪辑之后统一加速,不是逐段调) |
| 默认处理 | ① 语音剪辑(去口癖、停顿、重复)② 字幕 |
| 默认不做 | B-roll · MG 动画 · 背景音乐 —— 用户明确要才做 |
| 节奏风格 | 紧凑有力 |
| 项 | 值 |
|---|---|
| 字体 | HarmonyOS Sans 粗体 |
| 描边 | 轻微 |
| 阴影 | 有,轻 |
| 整体观感 | 干净现代 |
| 高亮 | ★ 有,颜色 黄色 #FFE20A |
| 🔴 高亮关键词谁选 | 用户自己选。 出稿时给候选,不要替他定 |
🔴
talking-head-guide硬规则:多个处理之间有依赖,必须按顺序定稿,且每一大步之后单独跟用户确认,不许把多个 checkpoint 打包成一条回复。 上游改了,下游全部要重做(字幕对着加速前的时间轴写 = 全废)。
⓪ 素材清点与合并 → 停,说清有几条素材、哪条是补拍、要不要合并
① 素材进项目 → 停,确认转录出来了
② 语音剪辑 → 停,确认「他实际说的」这一版对不对
③ 整体加速 → 停,确认节奏(倍速见 §一)
④ 字幕 + 高亮 → 停,让用户选高亮关键词
⑤ 交付 → 只有用户明确说要导出/下载才导
⑥ 导出后验文件本身 → 抽帧确认字幕/B-roll/打码都烧进去了
技能原来默认只有一条素材。实际经常是两条以上(原片 + 补拍、多机位、多次录)。
references/内容层重组.md §二.2list_projects / create_project / target_project 定下项目,再做别的preview_start),让用户能看着进度asset-import)· 用户已经传好了(先 browse_assets 找,不要上来就说找不到)🔴 这一步分两层,不要混着做: 机械层(固定口癖、批量停顿)不需要理解意思,工具能做; 内容层(哪些留、哪些删、哪些换位置)必须理解意思,判据在
references/内容层重组.md。⚠️ 只做机械层 = 只是把片子擦干净,没有改善它。 用户说「剪一下」通常两层都要,但内容层的每一处删改都要说清理由。
严格按 talking-head-guide 的 A-roll 流程:
read_script → 读一遍 timeline.md,看清结构clean_script):只处理固定口癖(呃/额/嗯)和长停顿timeline.md —— 之前读的已经过期references/内容层重组.md 的五条判据走:
识别废镜头 · 逐字重复扫描(补拍必做)· 推理链不许为悬念重排 ·
开场要同时有钩子和共鸣 · 删之前问「删掉之后还讲得清楚吗」apply_script 落到时间轴| 保留 | 为什么 |
|---|---|
| 口语噪声(呢 / 啊 / 哈 / 叠词 / 口误式重复) | 规则 每一句都工整 = 观众一秒听出在念稿。 ⚠️ 通用的「去口癖」会把这些一起清掉 —— 每 5–8 行留一处是设计好的,不是失误 |
| 邀请自查的插入句(「你仔细想想」「不知道你们有没有这种时候」) | 规则 它带一个动作指令,不是填充词 |
| 限定词(多半 / 很多时候 / 可能才是) | 规则 不许改成绝对化 |
🔴 判据:这个词删掉之后,这句话是变干净了,还是变得像稿子了?变得像稿子 = 别删。
🔴 必须在语音剪辑定稿之后做,顺序反了字幕全部要重来。 统一加速,不是逐段调速 —— 逐段调会让语调忽快忽慢。
按 talking-head-guide 的 captions 规范,套 §一 的固化规格。
🔴 高亮关键词不许我替他定。 做法:
⚠️ 不要整句高亮 —— 高亮的作用是让眼睛在滑动中停一下,整句高亮等于没高亮。
🔴 默认交付的是「可编辑的 ChatCut 时间轴」,不是 MP4。
只有用户明确说导出 / 渲染 / 下载 / 最终交付才走 submit_export → track_export。
「剪一下」「清理一下」「做个版本」都不算导出意图。
行数、文字、画面,只能以全尺寸渲染帧为准。
| 骗过的 | 实际 |
|---|---|
| 字幕接口报「一行、不溢出」 | 渲出来折了两行 |
| 多宫格缩略图里看着字错了 | 全尺寸单帧证明是看错了 |
| 工具回执报「清理了 1 个词」 | 时间轴实际少了 4.9 秒 |
每一大步之后固定验两样:
⚠️ 缩略图只用来做「挑哪一帧」的粗筛。
详见 references/ChatCut实操.md §三。
| 规则 | |
|---|---|
| 不改内容 | 稿子拍摄时已定稿。剪辑只删不加,不许替他补话、顺句子、改语序 |
| 画面信息点 | 穿搭 / 桌搭 / 背景 / 墙上装饰都是信息点。剪的时候别把有信息的画面剪掉 |
| 不上 AI 截图 | 讲 AI 那一段的画面不要配 AI 界面截图 —— 会把人群窄掉(不要变成工具号) |
| 打大字的位置 | 稿子的「需要处理的点」里标了 ⏸ 打大字的行,剪辑时要对上 |
| 金额打码 | 任何出现后台数据/收款/客户信息的画面一律打码 |
单人自采自编。 拍摄、剪辑、发布都是他一个人:
成片发出去之后,把实际播出的文字稿转录回来,写进稿件的「上传版」那一节。
规范见 {vault}/00-规则与索引/口播稿输出格式.md §四之下「上传版」。
三块,缺一不可:
🔴 为什么不能省:稿子是写的,播出版是他说的。 两者之间每一处差异,都是他用嘴投出来的一票 —— 那是这个系统里最诚实的反馈。
⚠️ 例外:差异表里「改措辞」那一栏不适用「默认他的更好」—— 口述比写作更容易临场钝化。凡 AI 版更锋利的,单独标出来问。
apply_script(preview:true) 当只读预览 —— 它会报错的同时部分提交结束前自查:
写入 {vault}/08-技能记忆/zmm-cut/,先查重。
不知道下一步 → 回 /zmm。